YouTube search and automatic karaoke mix creation

I went a little nuts the past few months and added the ability to search for songs on YouTube. You can search for pre-made karaoke mixes 🥱💤, but the really crazy part... you can search for normal songs or music videos and have them automatically turned into karaoke mixes in the background while other songs are being sang 🤯
Here's a video demonstrating the new features...
https://youtu.be/zWa8k6degVs
I understand if you don't want to merge this in. It's a lot of new code to maintain, and it maybe might possibly potentially draw some... unwanted attention. It also might run slightly contrary to some of your stated project goals (like easy setup and not requiring an Internet connection). But, it's also really easy to disable (it is by default), and probably easy enough to completely strip out if necessary.
Hope you give it a look and consideration!

This is truly awesome, and the effort to integrate it so seamlessly has not gone unnoticed! 🤯
For historical reference, there used to be YouTube support where you could add known-good karaoke channels, it would pull their songs' meta into the library and the player streamed the videos. During development one of the channels suddenly disallowed playback in 3rd party players (presumably because they don't show ads) so I ended up ripping out that code in e7308c9293ba7f3a7a562395bdbb6f2f14d49688, keeping everything file-based for stability.
That doesn't mean we can't use this though! Would you be willing to hop on the Discord? I have some ideas and there are a few others that might have input too.

I did not know that! Omw to the discord.

@gazugafan it looks like we've been on a similar wavelength! I just did some related YouTube work recently: https://github.com/bhj/karaoke-forever/pull/35
I haven't checked out your implementation yet but I'm very interested to see what you've done and possibly incorporate it into my project.

Hey, nice! I just took a look at your screenshots. Looks like one of the big differences is that you have people perform the search externally on YouTube and then copy/paste the link back in KF. I used https://github.com/TimeForANinja/node-ytsr to do the YouTube search from the KF server and return the results back to the KF client directly.

Yes, I saw your video and it's very impressive! I wanted to do the YT search within the app but I didn't get around to it yet. You have gone above and beyond with your solution in many ways, particularly with the auto creation of karaoke videos! I'm curious if you ran into some of the same name collision issues I did with having variations of the same song in the library (kind of an edge case). I think I'll probably just drop most of my YT changes and merge in yours instead. Very nicely integrated into the UI for a good user experience! Thank you for your work. I wish I'd known about it a few ago haha.

Also, something I noticed about my solution is that the app was unable to determine the duration of some YT video files. I think this may be due to the download library I'm using getting the wrong file format in some cases (like maybe getting a format that didn't have audio in it, for example). I wonder if you ran into this issue.

Glad you're liking how I did things!!!

I'm curious if you ran into some of the same name collision issues I did with having variations of the same song in the library (kind of an edge case)

I don't think I ran into this. YouTube videos are handled a little differently in the queue with the way I did it, and they don't reference the local song library. So I don't think a name conflict would cause a problem.

Also, something I noticed about my solution is that the app was unable to determine the duration of some YT video files

The library I'm using for the download is https://github.com/fent/node-ytdl-core, but if I remember right I'm getting the duration straight from the search results--not the download. You do need to be a little careful with how this library downloads things. I had to set it to download specifically audio/video separately. Otherwise it'll occasionally download both in one container, which could lead to problems if you're not expecting that. Here's the relevant bit...
ytdl(video.url, { quality: 'highestaudio', filter:'audioonly' })
ytdl(video.url, { quality: 'highestvideo', filter:'videoonly' })

... and then I use FFMPEG to combine the two.


Crashes on Opening a File (Aarch64)

When selecting an nmoney file to open, the application crashes. If a new one is created, the application would still crash. This is only happening on my Aarch64 device. On x86_64 everything runs as it should. I tried switching to the beta branch but the error was still there.
Denaro is installed from Flathub and the device is running PostmarketOS.

Can you run the app via the terminal, flatpak run org.nickvision.money, and see if you get any error message?

(NickvisionMoney.GNOME:2): Gtk-CRITICAL **: 19:49:53.307: gtk_widget_get_parent: assertion 'GTK_IS_WIDGET (widget)' failed

(NickvisionMoney.GNOME:2): Gtk-CRITICAL **: 19:49:53.307: gtk_widget_add_css_class: assertion 'GTK_IS_WIDGET (widget)' failed
Unhandled exception. System.ArgumentException: There is no region associated with the Invariant Culture (Culture ID: 0x7F). (Parameter 'name')
   at System.Globalization.RegionInfo..ctor(String name)
   at NickvisionMoney.Shared.Controllers.AccountViewController.get_CultureForNumberString() in /run/build/org.nickvision.money/NickvisionMoney.Shared/Controllers/AccountViewController.cs:line 203
   at NickvisionMoney.GNOME.Views.AccountView.CreateGroupRow(Group group, Nullable`1 index) in /run/build/org.nickvision.money/NickvisionMoney.GNOME/Views/AccountView.cs:line 362
   at NickvisionMoney.Shared.Controllers.AccountViewController.StartupAsync() in /run/build/org.nickvision.money/NickvisionMoney.Shared/Controllers/AccountViewController.cs:line 477
   at NickvisionMoney.GNOME.Views.AccountView.StartupAsync() in /run/build/org.nickvision.money/NickvisionMoney.GNOME/Views/AccountView.cs:line 540
   at NickvisionMoney.GNOME.Views.MainWindow.AccountAdded(Object sender, EventArgs e) in /run/build/org.nickvision.money/NickvisionMoney.GNOME/Views/MainWindow.cs:line 295
   at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__128_1(Object state)
   at System.Threading.ThreadPoolWorkQueue.Dispatch()
   at System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart()

Ah looks like an issue with your locale settings on your system.
If you go into the terminal and type locale what does it print?

locale: not found
Is this one of Alpine's particularities?

Sounds like it.
Maybe this can help: https://github.com/gliderlabs/docker-alpine/issues/144
On Denaro's side we can maybe use en-US as default region if there is no culture on the system, to prevent the crash.

https://github.com/NickvisionApps/Denaro/releases/tag/2023.5.0-rc1


HMR not working with copy file

I am using a nodejs script to write source code files in "src" folder. Unfortunatelly HMR doesn't work very well with those files, sometime it detect the change, sometime not.
For that I am using copy from fs-extra. I tried as well with readFile and outputFile. What would be the right way to write in the src folder with nodejs and to get properly detected by HMR?
(I wonder if this would not be related to the "safe write" issue)

It looks like you just deleted our lovely crafted issue template. It was there for good reasons. Please help us solving your issue by answering the questions asked in this template. I'm closing this. Please either update the issue with the template and reopen, or open a new issue.
hmr use memory and you can't use fs, please use stackoverflow or gitter for questions


Fix #3502 by using email.utils.formatdate's usegmt argument.

This fixes issue #3502 by using the usegmt argument for email.utils.formatdate.
https://docs.python.org/3/library/email.utils.html#email.utils.formatdate
https://docs.python.org/2/library/email.utils.html#email.utils.formatdate

Optional usegmt is a flag that when True, outputs a date string with the timezone as an ascii string GMT, rather than a numeric -0000. This is needed for some protocols (such as HTTP). This only applies when localtime is False. The default is False.

Awesome, thanks! 🍰 🎉


Conflict with installed WP CLI

I've installed wp cli separately but when I enable timber I get the following error:
PHP Fatal error:  Cannot redeclare cli\render() (previously declared in phar:///usr/local/bin/wp/vendor/wp-cli/php-cli-tools/lib/cli/cli.php:26) in /app/wp-content/plugins/timber/vendor/wp-cli/php-cli-tools/lib/cli/cli.php on line 28
Fatal error: Cannot redeclare cli\render() (previously declared in phar:///usr/local/bin/wp/vendor/wp-cli/php-cli-tools/lib/cli/cli.php:26) in /app/wp-content/plugins/timber/vendor/wp-cli/php-cli-tools/lib/cli/cli.php on line 28

Looks like there's a conflict with the version that composer installed and the version that I would normally have on my system anyway.

I don't know if it will bring more problems than solutions, but try to remove "wp-cli/wp-cli": "*", line from composer.json in timber folder. Since it's just a require-dev package, it shouldn't bother in production environment.
IMO this is a wp-cli problem, at php-cli-tools package... (https://github.com/wp-cli/php-cli-tools/).

The problem is that WP-CLI has already loaded php-cli-tools, and then Timber tries to load it again via Composer autoload.
WP-CLI can't do anything different because it needs php-cli-tools available at runtime. I'm not sure why Timber is loading WP-CLI again with Composer.

WP-CLI was added as a dependency in c85b643d7c3e2ae98a68b188fbae316073014110 To me, the commit message doesn't explain why.

Could this just be avoided by doing something like composer install --no-dev

My solution to this has been to skip the Timber plugin in my wp-cli.yml file:
skip-plugins:
  - timber

I was able to install timber by removing wp-cli from composer.json, removing composer.lock, and running composer update.

@jarednova - are you able to shed any light on this? Thanks

It makes no sense to me to require wp-cli in project. Developers relying on it have it installed system-wide already. Also, wp-cli as the name implies is a command line tool. It has no purpose in an application.

Thanks @andrejcremoznik @connorjburton @kevin-coyle @danielbachhuber @hurrycaner — this is now closed in #1047


feat: Add Branches to Docker Build File

Description

Fixes failing Docker build in GHA

Type of change

CI fix

Checklist:

[ x ] My code follows the style guidelines of this project (You can use the linters)
[ x ] I have performed a self-review of my own code
[ x ] I have commented my code, particularly in hard-to-understand areas and hacks
[ x ] I have made corresponding changes to the documentation
[ x ] I have added tests to verify my fix or my feature
[ x ] New and existing unit tests pass locally with my changes
[ x ] I have added the relevant labels to my PR in so that relevant reviewers are notified

LGTM.


switched on duck typing

With this one tweak to the standard rules, one can seamlessly make containers or supporters that work like devices by adding the switched on property. Most of the SR work that way already, checking for the property instead of checking "is of kind device"; this changes the sole exception.

I should note that while this leaves the rule's name less apt, I didn't want to change that in order to not break any existing code out there that might override that rule.

"Switched on duck typing" sounds like the caption to quite an unlikely photograph, but anyway, this change doesn't upset the test suite and does seem coherent with what we're doing elsewhere, so let's go for it.


auto merge release update script python fix

Isnt it be much suitable to use setup-python@v4 in github actions to fix python version problems
I mean adding these lines : ```
  - uses: actions/checkout@v3
    name: Clone self repository
    with:
      ref: ${{ github.head_ref }}
      submodules: true
  - uses: actions/setup-python@v4
    with:
      python-version: '3.9'
  - name: Run our python script
    run: |
      pip install -r requirements.txt
      ls -lah _data/release-data
      python _auto/latest.py

Sure i just gived 3.9 as an example we can change that part
@captn3m0

@captn3m0

The Python version problems were on our Netlify pipeline, that uses the .python-version file already. Unless there were some more that I missed?
We definitely can add this as well to be more explicit in our CI.


Gen 2 DX for per-resolver caching

Describe the feature you'd like to request
Today, in Amplify Gen 2, enabling AppSync per-resolver caching is possible under limited circumstances. The specific use case I'm trying to accomplish is per-resolver caching for a pipeline resolver that fetches a secret from Secrets Manager and then calls an external API using that secret, which I have implemented as a pipeline HTTP resolver with two AppSync JavaScript functions--but as shown below, the limitations are broader than just that use case. I think the developer experience can be improved.
To enable this behavior, one must first define a cache resource for the AppSync API in backend.ts:
new CfnApiCache(backend.data, 'AmplifyGqlApiCache', {
  apiId: backend.data.apiId,
  apiCachingBehavior: 'PER_RESOLVER_CACHING',
  ttl: 60,
  type: 'SMALL',
})

Then per-resolver caching can be defined in one of three ways:
If using a.model
Assuming type MyModel: a.model({ myField: a.string() }) in data/resource.ts, one can enable caching for that field from backend.ts with the following:
backend.data.resources.cfnResources.cfnResolvers['MyModel.myField'].cachingConfig = { ttl: 60 }

By using a.model, one is limited in what kind of resolver is possible for that type. It cannot, for example, be an HTTP resolver or a pipeline resolver, as my use case entails.
If using a.customType
Assuming MyCustomType: a.customType({ myField: a.string() }), example backend.ts code necessary for a pipeline HTTP resolver that retrieves a secret from Secrets Manager and then does something with that secret:
const fetchSecretFunction = backend.data.addFunction('FetchSecretFunction', {
  name: 'fetchSecretFunction',
  dataSource: secretsManagerHttpDataSourceDefinedSeparately,
  code: Code.fromAsset('./fetch-secret.js'),
  runtime: FunctionRuntime.JS_1_0_0
})
const doSomethingFunction = backend.data.addFunction('DoSomethingFunction', {
  name: 'doSomethingFunction',
  dataSource: doSomethingHttpDataSourceDefinedSeparately,
  code: Code.fromAsset('./do-something.js'),
  runtime: FunctionRuntime.JS_1_0_0
})
const myResolver = backend.data.addResolver('MyResolver', {
  typeName: 'MyCustomType',
  fieldName: 'myField',
  pipelineConfig: [fetchSecretFunction, doSomethingFunction],
  code: Code.fromInline(`
    export const request = (ctx) => { return {} }
    export const response = (ctx) => { return ctx.prev.result }
  `),
  runtime: FunctionRuntime.JS_1_0_0,
  cachingConfig: {
    ttl: Duration.minutes(1)
  }
})

In my opinion, this is too verbose. By bringing the entire resolver definition into backend.ts, it also establishes an additional place that a developer must look to find the definitions of the GraphQL types.
If using a.handler.custom
Per-resolver caching appears not to be possible here. But this is where I'd like it to be.
Describe the solution you'd like
First preference
Allow a way to configure per-resolver caching within data/resource.ts for custom types and custom handlers, e.g.:
const schema = a.schema({
  doSomething: a.query().returns(a.string()).handler([
    a.handler.custom({
      dataSource: 'SecretsManagerHttpDataSource',
      entry: '../fetch-secret.js'
    }),
    a.handler.custom({
      dataSource: 'DoSomethingHttpDataSource',
      entry: '../do-something.js'
    })
  ]).cachingConfig({ ttl: 60 })
}).authorization((allow) => [allow.authenticated()])

(cachingConfig being the key part of the above example)
Second preference
Allow a way to reference, from within backend.ts, the resolvers that have been defined in data/resource.ts with either a.handler.custom() or a.customType() notation. Using the same example as above, one might define the caching this way in backend.ts:
backend.data.resources.cfnResources.cfnResolvers['Query.doSomething'].cachingConfig = { ttl: 60 }

Describe alternatives you've considered
Intuitively, one might assume that in the "Second preference" example above, my custom type and/or custom handler would already be present in the backend.data.resources.cfnResources.cfnResolvers object; however, empirically, cfnResovers seems to contain only "models" from the data construct. The way I verified this was by adding an example model, custom type, and custom handler to data/resource.ts (see the examples above) and then adding the keys of cfnResolvers to amplify-outputs.json (the below would be in backend.ts):
backend.addOutput({
  custom: {
    resolvers: Object.keys(backend.data.resources.cfnResources.cfnResolvers)
  }
})

Additional context
No response
Is this something that you'd be interested in working on?

[ ] 👋 I may be able to implement this feature request

Would this feature include a breaking change?

[ ] ⚠ This feature might incur a breaking change

Hey @schisne ,Thanks for raising this. We are marking this as a feature request for the team to evaluate further.

The option you outlined using backend.data.resources.cfnResources is the intended use case for configurations not directly exposed through Amplify. We can keep this issue as a feature request to provide more direct access to the caching config through the data schema builder, but for the time being please use the backend.data.resources.cfnResources method.

The option you outlined using backend.data.resources.cfnResources is the intended use case for configurations not directly exposed through Amplify. We can keep this issue as a feature request to provide more direct access to the caching config through the data schema builder, but for the time being please use the backend.data.resources.cfnResources method.

As mentioned above in "Describe alternatives you've considered," cfnResources does not expose all resolvers--it seems to contain only models, not custom queries nor custom handlers. If I could use cfnResources for this, then my "Second preference" section would already be met, and I could just set the caching config in backend.ts for resolvers I define in the schema. That would be good enough.
As it is, I need to define the entire resolver along with all AppSync functions it uses in backend.ts, totally separate from the schema file, in order to use per-resolver caching for that resolver. That's why I say it's not a great developer experience today.

Hey @dpilch reading your answer,
How is the way/solution using backend.data.resources.cfnResources ?
I have the same issue has @schisne, trying the following didn't work:
const resolverToCache =
  backend.data.resources.cfnResources.cfnResolvers['Query.getQuery];

resolverToCache.addPropertyOverride('caching', {
  ttl: 3600, // Cache TTL in seconds (e.g., 1 hour)
  cachingKeys: [
    '$context.arguments.restaurantId',
    '$context.arguments.region',
    '$context.arguments.serviceMode',
  ],
});

May you know how to set it?


Mono IDE not detecting EditorPlugin class

Godot version:
c3ea4ea
OS/device including version:
Linux Mint 19.2
Issue description:
When creating a class that inherits from EditorPlugin, the ide is not detecting the class and gives the error The type or namespace name 'EditorPlugin' could not be found (are you missing a using directive or an assembly reference?). I've tested this on Monodevelop, vscode, and rider.
Compiling the plugin on godot works, but when invoking msbuild manually the error persists.
Steps to reproduce:
Create a class in C# that inherits EditorPlugin

The workflow for editor scripting is not the ideal right now. Basically, the editor API is only referenced when building with Configuration=Tools which is what the editor and editor player use.
In MonoDevelop, changing the configuration to Tools should allow it to resolve these. I haven't tried this with Rider yet but it should work as well. VS Code on the other hand may be more complicated.

I've just changed the config to Tools and it worked as expected.

I'm developing a plugin in C# with Visual Studio Code, and I was having the same problem.
For VS Code it was as simple as changing the .csproj file.
I changed the this line near the top.
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
to
<Configuration Condition=" '$(Configuration)' == '' ">Tools</Configuration>
This instantly enabled all of the Editor API such as EditorPlugin and EditorInspector in VS Code.
This information could be useful to have in the docs.


Make rpID required when generating authentication options

Describe the issue
I'm going to make the rpID argument required when calling generateAuthenticationOptions(), for consistency with generateRegistrationOptions(). There's no point in letting it be optional during auth when one has already been chosen for registration. RP ID scoping is also easy to mess up, so let's encourage devs to move towards the safer solution of explicitly defining an RP ID for both ceremonies.

This change is now available in the recently-published<EMAIL_ADDRESS>✌


No tf-nightly pip packages for MacOS available after 2021/09/22

System information

OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Mac OS 11.7
TensorFlow version: tf-nightly
Python version: 3.9.4
Installed using virtualenv? pip? conda?: pip

Describe the problem
tf-nightly pip packages seem to be missing MacOS builds after 2021/09/22. Trying pip install --upgrade tf-nightly installs version 2.7.0.dev20210922.
Trying to explicitly install a more recent version with pip install --upgrade tf-nightly==2.8.0.dev20211019 fails as follows:
ERROR: Could not find a version that satisfies the requirement tf-nightly==2.8.0.dev20211019 (from versions: 2.6.0.dev20210611, 2.6.0.dev20210612, 2.6.0.dev20210613, 2.6.0.dev20210614, 2.6.0.dev20210615, 2.6.0.dev20210616, 2.6.0.dev20210617, 2.6.0.dev20210618, 2.6.0.dev20210619, 2.6.0.dev20210622, 2.6.0.dev20210623, 2.6.0.dev20210624, 2.6.0.dev20210625, 2.7.0.dev20210626, 2.7.0.dev20210627, 2.7.0.dev20210628, 2.7.0.dev20210629, 2.7.0.dev20210630, 2.7.0.dev20210701, 2.7.0.dev20210702, 2.7.0.dev20210703, 2.7.0.dev20210704, 2.7.0.dev20210705, 2.7.0.dev20210706, 2.7.0.dev20210707, 2.7.0.dev20210708, 2.7.0.dev20210709, 2.7.0.dev20210710, 2.7.0.dev20210711, 2.7.0.dev20210712, 2.7.0.dev20210713, 2.7.0.dev20210714, 2.7.0.dev20210715, 2.7.0.dev20210716, 2.7.0.dev20210717, 2.7.0.dev20210718, 2.7.0.dev20210719, 2.7.0.dev20210720, 2.7.0.dev20210721, 2.7.0.dev20210722, 2.7.0.dev20210723, 2.7.0.dev20210724, 2.7.0.dev20210725, 2.7.0.dev20210726, 2.7.0.dev20210727, 2.7.0.dev20210728, 2.7.0.dev20210729, 2.7.0.dev20210730, 2.7.0.dev20210731, 2.7.0.dev20210801, 2.7.0.dev20210802, 2.7.0.dev20210803, 2.7.0.dev20210804, 2.7.0.dev20210805, 2.7.0.dev20210806, 2.7.0.dev20210819, 2.7.0.dev20210820, 2.7.0.dev20210821, 2.7.0.dev20210822, 2.7.0.dev20210823, 2.7.0.dev20210824, 2.7.0.dev20210825, 2.7.0.dev20210827, 2.7.0.dev20210828, 2.7.0.dev20210829, 2.7.0.dev20210830, 2.7.0.dev20210831, 2.7.0.dev20210901, 2.7.0.dev20210902, 2.7.0.dev20210903, 2.7.0.dev20210904, 2.7.0.dev20210905, 2.7.0.dev20210906, 2.7.0.dev20210907, 2.7.0.dev20210908, 2.7.0.dev20210909, 2.7.0.dev20210910, 2.7.0.dev20210911, 2.7.0.dev20210912, 2.7.0.dev20210913, 2.7.0.dev20210914, 2.7.0.dev20210915, 2.7.0.dev20210916, 2.7.0.dev20210917, 2.7.0.dev20210918, 2.7.0.dev20210920, 2.7.0.dev20210921, 2.7.0.dev20210922)
ERROR: No matching distribution found for tf-nightly==2.8.0.dev20211019

Any other info / logs
Manually checking the tf-nightly release files for 2021/09/22 does show a MacOSX build that is missing on the 23rd and onwards.

Hi @leandro-gracia-gil ! Did you try with below command .
pip install tf-nightly

Hi @sachinprasadhs ! Could you look at this issue!

We can close this https://pypi.org/project/tf-nightly/#files

I can confirm I was able to get the latest version now from pip. Thanks!


Disable-Mailbox -PermanentlyDisable doesn't seem match the documentation

Steps:

Remove user's license
Run Disable-Mailbox -PermanentlyDisable
Add back user's license

My expectation is that, since -PermanentlyDisable was used, the user will get a new mailbox. Instead, the user gets the same mailbox that was "permanently" disabled.

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

ID: cb358499-22a0-fa5c-c577-540de0049ddc
Version Independent ID: 1c7960eb-3661-e96c-a9d7-18218256d6a1
Content: Disable-Mailbox (exchange)
Content Source: exchange/exchange-ps/exchange/Disable-Mailbox.md
Service: exchange-powershell
GitHub Login: @chrisda
Microsoft Alias: chrisda

@officedocsbot assign @yogkumgit

Hi @chscott, thank you for your feedback and help us to improve docs.microsoft.com.
I cannot reproduce this issue. If I remove the Exchange license (or all licenses) and then I try to run Disable-Mailbox I get:

Looks like the mailbox is hard-deleted, not soft-deleted. There is more information about this behaviour here:
https://support.microsoft.com/help/3158794/no-soft-deleted-mailbox-after-license-removal-in-office-365
I think this parameter is useful when you are running a hybrid environment and you have a 30 days period grace to enable an Exchange license before the mailbox is deleted. In this case, if you need to remove the mailbox before the period grace, you can use this parameter to remove it permanently.
More information about mailbox recovery:
https://support.microsoft.com/help/20804/mailbox-recovery-in-exchange-online

@dariomws  Thank you very much for the contribution and sharing this explanation. @chscott
Hope this comment is helpful for you. If you see a documentation update is required, please feel free to open an issue for the same. We proceed here to close it. Thanks for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.


⚠ Jenkins Plugins Artifactory has degraded performance

In 65ee980, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 1216 ms

Resolved: Jenkins Plugins Artifactory performance has improved in 4313e2a after 17 minutes.


Bhawna

#hacktoberfest

@mitchell-frost thnx for contributing.

@mitchell-frost thnx for contributing.

Pleasure's mine and thanks for the opportunity!


[Bug]:

What happened?
composer req  qruto/laravel-flora
Problem 1
- Root composer.json requires qruto/laravel-flora ^1.1 -> satisfiable by qruto/laravel-flora[1.1.0].
- qruto/laravel-flora 1.1.0 requires illuminate/bus ^10.0 -> found illuminate/bus[v10.0.0, ..., 10.x-dev] but these were not loaded, likely because it conflicts with another
require.
You can also try re-running composer require with an explicit version constraint, e.g. "composer require qruto/laravel-flora:*" to figure out if any version is installable, or "composer require qruto/laravel-flora:^2.1" if you know which you need.
How to reproduce the bug
execute composer req
Package Version
latest
PHP Version
v8.1.10
Laravel Version
9.52.15
Which operating systems does with happen with?
Windows
Notes
No response

Flora requires Laravel 10


[Bug]: Replace static references to "time" for the time dimension name with self._dim in TemporalAccessor

What happened?
The TemporalAccessor class has static references to "time" as the name of the time dimension. However, datasets can use different names for a time dimension, such as "time_centered", "T", "time_counter",
Original source:
In looking at Test 3, I see another issue here. The time axis needed for temporal operations is not actually assigned as a dimension. I thought this could be fixed by dropping time_counter and just using time_centered: this would get rid of the multiple time axes which is the issue for Test 1 and 2 and would also be the appropriate coordinate for temporal operations:
import numpy as np, xarray as xr, xcdat as xc
TS_File ='https://thredds-su.ipsl.fr/thredds/dodsC/ipsl_thredds/omamce/TestCases/XCDAT/thetao_CF_1.nc'
ds = xr.open_dataset(TS_File, decode_times=False)
ds['time_counter'] = ds['time_centered']
ds = ds.drop_vars('time_centered')
ds = ds.rename({'time_counter': 'time_centered'})
ds.to_netcdf('test.nc', 'w', 'NETCDF3_CLASSIC')

ds = xc.open_dataset('test.nc')
ds.temporal.group_average('thetao', freq='year', weighted=True)

But this yields a different error:

AttributeError: 'DataArray' object has no attribute 'time'

@tomvothecoder - do you think this is a separate issue in the temporal averaging logic?
Originally posted by @pochedls in https://github.com/xCDAT/xcdat/issues/285#issuecomment-1209799854
What did you expect to happen?
Temporal averaging should work regardless of the name of the time dimension.
Minimal Complete Verifiable Example
import numpy as np, xarray as xr, xcdat as xc
TS_File ='https://thredds-su.ipsl.fr/thredds/dodsC/ipsl_thredds/omamce/TestCases/XCDAT/thetao_CF_1.nc'
ds = xr.open_dataset(TS_File, decode_times=False)
ds['time_counter'] = ds['time_centered']
ds = ds.drop_vars('time_centered')
ds = ds.rename({'time_counter': 'time_centered'})
ds.to_netcdf('test.nc', 'w', 'NETCDF3_CLASSIC')

ds = xc.open_dataset('test.nc')
ds.temporal.group_average('thetao', freq='year', weighted=True)

Relevant log output
No response
Anything else we need to know?
This is a simple fix that involves updating "time" references to self._dim.
https://github.com/xCDAT/xcdat/blob/4c51879a65992e08b29eabd2d31f7332aca78e61/xcdat/temporal.py#L149
Environment
xcdat = v0.3.0

@tomvothecoder are you detailing somewhere (maybe some place easy to find in the documentation) what will be recognized as a time axis (you mention abov such as "time_centered", "T", "time_counter")?
I'm assuming you don't make a difference between upper and lowercase, but maybe you can have a look at what cdms2 considered a time axis. There is an isTime() Axis method on page 48 of cdms5.pdf (on of the documents I provided in https://github.com/xCDAT/xcdat/discussions/170) that says:
isTime()
Returns true iff the axis is a time axis. ax is a longitude axis if:
• ax.axis==’T’, or
• ax.id[0:4]==’time’, or
• ax.id is in cdms2.axis.time_aliases

Note that page 47 also describes isLevel(), isLatitude() and isLongitude()

Note: see example usage of isTime() in https://github.com/xCDAT/xcdat/issues/310#issuecomment-1212866276

@tomvothecoder are you detailing somewhere (maybe some place easy to find in the documentation) what will be recognized as a time axis (you mention above such as "time_centered", "T", "time_counter")?

We mention how we map to coordinates in the Planned Features section, under "Things we are striving for".

https://xcdat.readthedocs.io/en/latest/index.html#planned-features

Robust handling of coordinates and its associated bounds

Coordinate variables are retrieved with cf_xarray using either the "axis", "standard_name", or dimension name attribute
Bounds are retrieved with cf_xarray using the "bounds" attr
Ability to operate on both longitudinal axis orientations, [0, 360) and [-180, 180)

The related function is called .get_axis_coord() that is used internally and also available as a public function.
Here is the function (with the docstring) and the related API documentation.

API Source Code: https://github.com/xCDAT/xcdat/blob/4c51879a65992e08b29eabd2d31f7332aca78e61/xcdat/axis.py#L28-L87
API Documentation (using docstring): https://xcdat.readthedocs.io/en/latest/_modules/xcdat/axis.html#get_axis_coord
Intro to cf_xarray: https://cf-xarray.readthedocs.io/en/latest/howtouse.html
cf_xarray mapping table for "axis" and "standard_name" attrs: https://cf-xarray.readthedocs.io/en/latest/coord_axes.html


slickNext() and slickPrev() not behaving correctly when initialSlide is > 0 and infinite is false

Basically, as the title says, if you create a slider with the following options:
var settings = {
  infinite: false,
  initialSlide: 2  // any value that is not 0 will still cause this problem
};

The slider correctly displays the slide at index 2, but the first call to slickNext() (either through the arrows or via code) will show slide 1 and the first call to slickPrev() will show slide 0. It looks like internally the slider object still thinks it's displaying index 0 even though initialSlide is set to a different value. This is supported by the fact that calling slickGoTo(2) once after page render completely solves the issue (that is, subsequent calls to slickNext() and slickPrev() behave as they should).
CodeSandbox: https://codesandbox.io/s/initial-slide-issue-qjhzxd?file=/index.js

I just found this issue: #1946, so I will close mine as it's an exact duplicate.


improve zipper tests

Resolves #838

@SleeplessByte Like this?

Yeah, this looks fine. Maybe also add the README change through a hint!

I'm not sure exactly what you want it to say, but you're welcome to edit it and add whatever.

It's in https://github.com/exercism/javascript/issues/838#issuecomment-596106538 . Basically explain the JS implementation (tree) yadayada

/format


Add alternative storage for relatively large data objects

Add alternative storage for relatively large data objects:
KeyVault can only store secrets of 25k bytes max.
If a user would like to store larger objects, safeexchange need to encrypt it with KeyVault and save as file in azure storage or somewhere similar.
Then on retrieval it needs to be read from storage and decrypted respectively.

Done


[Offline base maps] Tweak select areas UI

Add solid/translucent system header and footer to make it clearer this is a "special" selection mode. "DOWNLOAD" action should be in header instead of floating fab.

@vittorino Let's discuss?

Already done.


added large number of profanity words, to get started by default

added large number of profanity words, to get started by default
added early break to avoid extra loop cycles

thanks!


support for Firefox 6 native websocket

Sorry - I haven't verified the issue yet - but the source does not appear to have MozWebSocket
https://github.com/search?type=Code&language=JavaScript&q=MozWebSocket+web-socket-js&repo=&langOverride=&x=23&y=21&start_value=1
Hacker News - http://news.ycombinator.com/item?id=2891489
"Mozilla is supporting a new version of websockets (https://bugzilla.mozilla.org/show_bug.cgi?id=640003) that as of a week ago did not work with a lot of popular libraries yet (socket.io). Its awesome to see better security features in place and I hope that library distributors are fast to follow up with changes in their library."
"For what it’s worth, you have to update your client code to instantiate a MozWebSocket and update your server to support the latest protocol. I know, because I’ve done this today :) We’re using the em-websocket gem though which has been updated recently so it really wasn’t that difficult."
Sorry, I haven't tested if this is a valid issue.

Done.

thanks!


FR: Ability to add layout handles to page types

Currently you are able to define a single template to render the content and fields added by TypeCMS.
There may be some instances in which you require more control over the layout of a specific page type. E.g. you may want to force the template to 2column-left view and add a submenu in the left column for all pages with that type.
To do this the page would require a layout handle adding then using Magento's layout XML in a theme you can manipulate the page layout as a whole.
The only alternative is to create page layouts in an additional module config.xml like so:
    <global>
        <page>
            <layouts>
                <custom_layout translate="label">
                    <label>Custom Layout Label</label>
                    <template>page/1column.phtml</template>
                    <layout_handle>custom_layout_handle</layout_handle>
                </custom_layout>
            </layouts>
        </page>
    </global>

Great idea @adamj88! I will review your PR soon, it's been a bit chaotic for me this week.

@adamj88 I have pushed a new tag: 3.1.0


Tests directory name gets autocompleted

My project has a directory tests containing the unit tests I want to run with pytests. It also has a directory tests_functional, which I don't want to run continuously.
py.test tests/

will run only my unit tests, while
ptw tests/

will also run everything in tests_functional, even so:
ptw --ignore ./tests_functional ./tests

I don't see any way to run only what is in the tests folder. Moreover, I would expect a pytest extension to gather tests the same way pytest (and pytest-xdist) does.

Ok, so it turns out this worked as implemented. But since the CLI is misleading about what --ignore does, and that running ptw --ignore tests_functional -- --ignore tests_functional is way too verbose, I'm looking into improving this.
In the next release, you should be able to do what you did an expect it to ignore tests_functional in both the pytest-watch observer and in py.test.
Thanks for pointing out this awkward design!

Just published v4.0, which forwards all --ignore arguments to pytest.
After running pip install --upgrade pytest-watch, you should be able to run
$ ptw --ignore ./tests_functional

and have it work as expected (ptw doesn't watch that directory and pytest doesn't collect tests from it either). Thanks again!

It works perfectly now, thanks!


Update third AGM information option as current option is incorrect

The third AGM option is inaccurate and is high priority to update. In Janis' absence, Mags is meeting with Andy to strategize wording on July 31 at 9:45 am.
From Policy (Amber):
Based on the screenshots I received, there is an issue with the wording on the filing options regarding the holding of the AGM, specifically the third option. If this wording has been updated since these screenshots were current, then please let me know!

Under the BCA it is not the board who is entitled to resolve whether an AGM will be held or not; it is the shareholders who are entitled to vote who will determine whether the unanimous resolution can be passed to do anything other than holding the AGM. The board of directors are not always shareholders, and if they are shareholders then they may not be a class of shareholders entitled to conduct voting. Either way, the wording on this option is incorrect and I suggest changing it. Furthermore, the BCA provides several options for resolution surrounding the AGM, not just the option to waive the meeting. The options are to unanimously defer, to consent to the business that is required to be conducted at the AGM, or to waive the holding of the AGM (this third option may also be retroactive to previous AGMs).
To avoid issues around misinforming companies, I suggest the wording be changed as soon as possible to something along the lines of “the shareholders entitled to vote at an annual general meeting have passed a unanimous resolution to either defer the AGM, waive the AGM, or consent to all of the business required to be transacted at the AGM”. Please note that simply stating “shareholders” will not be sufficient as there are many classes of shareholders of which only few may be those entitled to vote.

The original text on the Annual Report form is "Waived, deemed to have been held"

Just adding my two cents...i don't even think we need to specify 'who' as it makes it over complicates this and there's information about referring to the Act for more information.
The original text on the AR form is simple and clear.

"Our 2022 AGM is deferred, waived, or deemed to have been held."
Something like that?

"Waived, deemed to have been held" was approved by legal, before Colin time

In response to Policy, I will share the below mock-up that uses the replaced option that Thor mentioned was approved by legal. As Policy's concern is misinforming companies, I recommend that we have the approved compliance warning disclaimer (ticket #258) show up not only for the 2nd option but also for this 3rd one. This way the user is informed to ensure they are compliant with what is stated about AGMs in section 182 without us listing all the details.
I'll be sending this to Amber shortly & getting a PR ready - unless anyone has any burning objections


[stable/fluentd] Minor typo in README.md

Signed-off-by: David Calvert<EMAIL_ADDRESS>
Is this a new chart

NOTE: We're experiencing a high volume of PRs to this repo and reviews will be delayed. Please host your own chart repository and submit your repository to the Helm Hub instead of this repo to make them discoverable to the community. Here is how to submit new chart repositories to the Helm Hub.

What this PR does / why we need it:
Which issue this PR fixes
(optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged)

fixes #

Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md
[x] Title of the PR starts with chart name (e.g. [stable/mychartname])

Hi, here's a PR for a minor typo in the README.md of stable/fluentd.
I'm not sure if the chart version should be bumped so I left the checkbox unchecked.
Let me know if this PR is valid.
/assign @miouge1

You will need to bump the chart version

Please, bump the chart version

Done!

Is there anything else needed for the merge?

/ok-to-test

/lgtm


Resolving tenant based on Origin or Referrer headers

Hey thanks for this excellent package, it saved me a lot of time!
I tried using it with host strategy but as you note in the docs, it makes local development hard (actually kinda impossible with our vue2 client app cause of the proxy package issue) so we figured what if we used either Origin or Referrer header instead ? Neither can be set programmatically (https://developer.mozilla.org/en-US/docs/Glossary/Forbidden_header_name) so that should be safe ? Would love to hear your thoughts on this and if you think it would be beneficial to add it as a strategy, thanks
Edit: just realized origin wont be set for same domain GET requests :/

Hello, I think it could definitely work and no red flags come to mind. You could also use the host strategy and programmatically set the host header on your client request (I know curl can do this) for testing purposes.
Probably simpler to use origin or referrer for development environment and host for production.


Add revert action in diff preview when opened from sync data view

Extracted from https://github.com/microsoft/vscode/issues/98820
Add revert action in diff preview when opened from sync data view

We closed this issue because we don't plan to address it in the foreseeable future. If you disagree and feel that this issue is crucial: we are happy to listen and to reconsider.
If you wonder what we are up to, please see our roadmap and issue reporting guidelines.
Thanks for your understanding, and happy coding!


Execute SQL Operation now sends notification

Closes #339.
@nikitin-da PTAL

retest this please

My stable test =(

retest this please

Probably, it's my fault, but locally tests pass normally. Uh, flaky tests…

Damn, I figured out the problem of this test (probably, other tests can be broken too):

Fill db with some data
Perform Get Operation and observe results
Delete some data (here is the problem)
Check that first result of Get Operation was ["full dataset"], then ["dataset - deletion1"], ["dataset - deletion1 - deletion2", …]

Problem Get Operation is asynchronous and it can be executed AFTER deletion, so you won't see ["full dataset"]!
Also possible situation:

Fill db with some data
Perform Get Operation and observe results
Delete some data (okay for first emission, but Get Operation is async and it can skip some states between deletions)

Solution: wait for first emission before deletions, wait for emission after each deletion.

I filed #355 for that, @nikitin-da can you PTAL and merge this PR if everything is okay except flaky tests?

Yes, of cause

Typo in "of cause" :)

ヽ(ﾟ〇ﾟ)ﾉ

Of course I meant "of course"

Of course :)
2 июня 2015 г. 12:11 AM пользователь "Dmitrii Nikitin" <
<EMAIL_ADDRESS>написал:

Of course I meant "of course"
—
Reply to this email directly or view it on GitHub
https://github.com/pushtorefresh/storio/pull/354#issuecomment-107713620.


Compatibility with babel-preset-es2015

System.config({
  babelOptions: {
    "presets": [
        "babel-preset-es2015"
    ]
  }
});

causes require is not a function

Presets in the plugin reference modules to load the presets from with SystemJS (System.import('babel-preset-es2015')). By default the plugin comes with the es2015 preset, you don't need to provide it at all.

Yes, I'm aware that it comes by default with es2015 and stage3 but that's not the issue here.
Trying to load those presets shouldn't cause the whole thing to break. (At least put a visible warning somewhere if that can't be fixed?)


Convert register data to string based on data type.

In the current version, after modbus collects data, it is reported to the cloud without data conversion.

new pull request!


OSC doesn't support sendList

OSC parsing fail on pd side when send list. Same parameters with sendMessage method (adding a leading string) works.

this is related to JavaOSC bug that is fixed in latest version (0.4).
unfortunately this version is not available on maven central yet, see hoijui/JavaOSC#30

temporarily workaround is using jitpack to get version 0.4


Stock Mgmt - Infrastructure [10h]

Issue
Users will be able to enter into the stock mgmt feature through the home screen on the app. Since we have moved to icons on the homescreen when we did resilience messaging, there will be an icon and the words Stock Managment under it added to the end of the existing icons.
For now, we will re-use the current FBF icon

Issue

Add icon to the homescreen

@adamhstewart
As we diescussed, we'll need to come up with requirements of privileges for access here.
Should we allow access to any nurse, or introduce new role?

@adamhstewart Another CT will be required for signiture, which will be refferenced from Stock Update CT.

Should we allow access to any nurse, or introduce new role?

All nurses will handle stick management

@isapisa @adamhstewart
@anvmn wrote to me that this feature is not ready for QA


fix(derive): allow derive(Arbitrary) for struct Option

Use the full path to core::option::Option and core::default::Default in the generated code. This allows derive(Arbitrary) on structs named Option or Default.
This allows me to derive Arbitrary on prost_types::Option.

Looks like this needs a cargo fmt

Looks like this needs a cargo fmt

Oops. I didn't run that locally, but fortunately CI caught it :-)

@fitzgen I would like to see this feature released. Can I help you to prepare for a release?

I've been on vacation, will cut a release today, or maybe tomorrow at the latest.

Published 1.4.0, sorry for the delay

Thank you for the release


Add CI to project

Describe the solution you'd like
I'd like to get CI added to do a release build for all pull requests. Preferably this should also generate an entware package to help make sure that whole flow works before a release is created.

Also, maybe add https://github.com/marketplace/actions/nightfall-dlp-action to the CI

@siraben poke


Add promises/await/async support

Any attempted usage of these causes an instant crash. I tried the example on this page...
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/async_function
Obviously I used window.SetTimeout.
Incidentally, I have a separate repo setup containing my samples all updated to use let/const/arrow functions etc. I'll try and modernise more as I learn.
https://github.com/marc2k3/smp_2003
I will provide working versions of those JS Smooth scripts at some point but they won't be getting the same treatment. I'm having issues with their image caching behaviour going all weird - no script errors so it's very hard to debug - it's just the end results are all wrong.

I will test it out, thanks!

I have a separate repo setup containing my samples

Haha, actually I wanted to suggest that (i.e. to make a separate repo for your scripts, where you could commit without the need of PRs) =)

I'm having issues with their image caching behaviour going all weird

I'm not sure if it is related, but currently JS errors that occur in ActiveX context might be silently supressed, e.g.:
xmlhttp.onreadystatechange = function () {
    undefined_func.fail(); ///< throws JS error inside
} ///< does not throw JS error

I'm still looking for ways, to workaround that.

I'm not sure if it is related, but currently JS errors that occur in ActiveX context might be silently supressed,

That's good to know - I thought I was going mad fixing up my own scripts. I was using WshShell.popup inside onreadstatechange which was silently failing and I had no idea why. Of course when I tried it standalone, I realised the Popup should begin with capital P.

Sorry for that =) Will be added to the docs somewhere

It seems that async and friend are not supported by default, I have to implement some things manually.

No problemo. You can't miss what you've never had.

Note: my current async implementation is a bit lacking - async tasks will only be invoked when some callback is invoked (e.g. on_paint), so no callback invocations equals to no async invocations.

OK, thanks for that. :+1:

Re-implemented async handling (corresponding commit: https://github.com/TheQwertiest/foo_spider_monkey_panel/commit/ed5434274f6752bf00d830968ca4152204760ddf) - now it should work properly.

Nice.


how to chang color of date

i  do not know how to chang textcolor of date.who can tell me?

duplicate with #471, ForegroundColorSpan does the trick, there's also code snippet at #450

public class Decorator implements DayViewDecorator {

        private final Calendar calendar = Calendar.getInstance();
        private final Drawable highlightDrawable;
        private final int color = Color.parseColor("#228BC34A");
        private CalendarDay date;
        Drawable drawable = getResources().getDrawable(R.drawable.calender_calendarday);

        public HighlightWeekendsDecorator() {
            highlightDrawable = new ColorDrawable(color);
            date = CalendarDay.today();
        }

        @Override
        public boolean shouldDecorate(CalendarDay day) {
            day.copyTo(calendar);
            int weekDay = calendar.get(Calendar.DAY_OF_WEEK);
            return date != null && day.equals(date);
        }

        @Override
        public void decorate(DayViewFacade view) {
            view.setBackgroundDrawable(drawable);
        }


Add snapcraft build

Go releaser supports snapcraft builds, so why not do that?

Allright, I'll document this for my own sake here.
Snapcraft is not a good idea, since ain uses your system curl or http binary. Snapcraft and it's security model does not allow a snap-binary to access the host-system (except for bind-mounts which are flakey, the curl and httpi-binary can be located on many paths on different archs).
So, why not just package ain with curl and http as stage-snaps then? Because the version packaged with ain is frozen in time. So while your system-version of curl and or httpie updates the one in ain stays the same. So this results in having to update the snap only to update the shipped curl and http snaps.
And there's a possibility that a [BackendOption] flag might work on your system-install version, but not in the ain snapped version (because of the manual update needed). Not to mention of the stage-snap vesion is lagging in the snap-store.
It's just not worht it, and it's not how ain is supposed to work. It's supposed to be a front-end for your system binary and this is just not how snaps are meant to operate.
If this really takes of and everyone is screaming for a snap, the --classic flag would be a way to go. But the process seems involved: https://snapcraft.io/docs/reviewing-classic-confinement-snaps


Upgrading material-ui causes blank screen !!

make a debug/dev build or a dev-server build and look at the chrome console.
newer versions of meterial-ui are never compatible with older code.
so you will have to adapt or just not update the material ui


Describe new delegation strategy

Objective

The strategy for delegation has changed!
Figuring out exactly where the "controversial" line is can be challenging

Solution

Update the CONTRIBUTING.md
Specify rough guidelines for what makes a PR controversial.
BONUS: yeet references to old roadmap.

bors r+

bors retry

bors r+


integer dict keys

If the dict containing all the fitting params, which is passed to ace_fit.jl, is stored in a JSON, dict keys are all strings, and it appears that integer keys, which can be needed in Dd, for example, are not interpreted properly.  I haven't gone into the code, but from the resulting basis size it appears that they are simply ignored: I tried to do a 4,8 + 3,16 basis fit, and it was a really big basis, so I think it ended up doing 4,16 and ignored the limit indicated by 4: 8 dict entry.
I worked around it by saving the dict as YAML rather than JSON, and that worked fine, but since the code already finds tuples that are encoded as strings and converts them to tuples, perhaps dict keys that can be interpreted as integers should be converted to integers?  I guess that would require deciding that there's never a real reason to have a string key that contains only an integer.
Also, it would be nice if there was an error, rather than (apparently) silently ignoring the dict key.

latest interface (0.8) doesn't need integer keys. It should be possible to avoid those entirely. We are anyhow trying to increasingly simplify the user model specification. But if this or related issues arise we can look at it again.


KAFKA-14538 Metadata transactions in MetadataLoader

This PR contains three main changes:

Support for transactions in MetadataLoader
Abort in-progress transaction during controller failover
Utilize transactions for ZK to KRaft migration

A new MetadataBatchLoader class is added to decouple the loading of record batches from the publishing of metadata in MetadataLoader. Since a transaction can span across multiple batches (or multiple transactions could exist within one batch), some buffering of metadata updates was needed before publishing out to the MetadataPublishers. MetadataBatchLoader accumulates changes into a MetadataDelta, and uses a callback to publish to the publishers when needed.
One small oddity with this approach is that since we can "splitting" batches in some cases, the number of bytes returned in the LogDeltaManifest has new semantics. The number of bytes included in a batch is now only included in the last metadata update that is published as a result of a batch.

Thanks for the PR, @mumrah . I think at some point we'll need to add begin/end transactions to the set of things we "fuzz". Basically have a test that just makes sure that the MetadataLoader does the right thing no matter how many transaction markers are where. That doesn't need to be in this PR though
Thanks also for the fix to QC

Migration system tests all pass
================================================================================
SESSION REPORT (ALL TESTS)
ducktape version: 0.11.3
session_id:       2023-08-16--003
run time:         8 minutes 31.684 seconds
tests run:        5
passed:           5
flaky:            0
failed:           0
ignored:          0
================================================================================
test_id:    kafkatest.tests.core.zookeeper_migration_test.TestMigration.test_online_migration.roll_controller=False
status:     PASS
run time:   2 minutes 50.879 seconds
--------------------------------------------------------------------------------
test_id:    kafkatest.tests.core.zookeeper_migration_test.TestMigration.test_online_migration.roll_controller=True
status:     PASS
run time:   2 minutes 52.739 seconds
--------------------------------------------------------------------------------
test_id:    kafkatest.tests.core.zookeeper_migration_test.TestMigration.test_pre_migration_mode_3_4.metadata_quorum=ISOLATED_KRAFT
status:     PASS
run time:   42.137 seconds
--------------------------------------------------------------------------------
test_id:    kafkatest.tests.core.zookeeper_migration_test.TestMigration.test_reconcile_kraft_to_zk
status:     PASS
run time:   1 minute 21.760 seconds
--------------------------------------------------------------------------------
test_id:    kafkatest.tests.core.zookeeper_migration_test.TestMigration.test_upgrade_after_3_4_migration
status:     PASS
run time:   43.643 seconds
--------------------------------------------------------------------------------


With django-apscheduler, some jobs are never executed due to connection timeout

I find that if I keep Apscheduler busy, i.e., keep adding jobs to it, it will stay happy and active. But, if I leave it without job for a time, say, 12 hours or more, and add job again, even it is running (scheduler.state returns 1, which is RUNNING, when I consult with a web service), it accepts job, but does not execute it, when the run_date arrives. I have configured django-apscheduler as the jobstore.
I am using APScheduler along with Apache and Django.
Apache/2.4.6 (CentOS) PHP/5.4.16 mod_wsgi/3.4 Python/2.7.5
APScheduler (3.4.0)
django-apscheduler (0.2.3)

Yesterday, at 10:00 AM, I plannified three jobs, job A at 23:30 yesterday, job B at 09:00 today, and job C 09:50 today, and after that, I left the server there, no more jobs from yesterday from 1000 to 2330.
Checking the logs of yesterday, at 2330, this error happened:
[Wed Jan 31 23:30:00.010202 2018] [:error] [pid 17924] DEBUG:apscheduler.scheduler:Looking for jobs to run
[Wed Jan 31 23:30:00.019000 2018] [:error] [pid 17924] ERROR:root:
[Wed Jan 31 23:30:00.019013 2018] [:error] [pid 17924] Traceback (most recent call last):
[Wed Jan 31 23:30:00.019031 2018] [:error] [pid 17924]   File "/usr/lib/python2.7/site-packages/django_apscheduler/jobstores.py", line 40, in get_due_jobs
[Wed Jan 31 23:30:00.019034 2018] [:error] [pid 17924]     return self._get_jobs(next_run_time__lte=serialize_dt(now))
[Wed Jan 31 23:30:00.019036 2018] [:error] [pid 17924]   File "/usr/lib/python2.7/site-packages/django_apscheduler/jobstores.py", line 100, in _get_jobs
[Wed Jan 31 23:30:00.019038 2018] [:error] [pid 17924]     for job_id, job_state in job_states:
[Wed Jan 31 23:30:00.019040 2018] [:error] [pid 17924]   File "/usr/lib64/python2.7/site-packages/django/db/models/query.py", line 250, in __iter__
[Wed Jan 31 23:30:00.019042 2018] [:error] [pid 17924]     self._fetch_all()
[Wed Jan 31 23:30:00.019044 2018] [:error] [pid 17924]   File "/usr/lib64/python2.7/site-packages/django/db/models/query.py", line 1118, in _fetch_all
[Wed Jan 31 23:30:00.019046 2018] [:error] [pid 17924]     self._result_cache = list(self._iterable_class(self))
[Wed Jan 31 23:30:00.019048 2018] [:error] [pid 17924]   File "/usr/lib64/python2.7/site-packages/django/db/models/query.py", line 122, in __iter__
[Wed Jan 31 23:30:00.019050 2018] [:error] [pid 17924]     for row in compiler.results_iter():
[Wed Jan 31 23:30:00.019052 2018] [:error] [pid 17924]   File "/usr/lib64/python2.7/site-packages/django/db/models/sql/compiler.py", line 828, in results_iter
[Wed Jan 31 23:30:00.019054 2018] [:error] [pid 17924]     results = self.execute_sql(MULTI)
[Wed Jan 31 23:30:00.019056 2018] [:error] [pid 17924]   File "/usr/lib64/python2.7/site-packages/django/db/models/sql/compiler.py", line 886, in execute_sql
[Wed Jan 31 23:30:00.019058 2018] [:error] [pid 17924]     raise original_exception
[Wed Jan 31 23:30:00.019060 2018] [:error] [pid 17924] OperationalError: (2006, 'MySQL server has gone away')
[Wed Jan 31 23:30:00.020039 2018] [:error] [pid 17924] Exception in thread APScheduler:
[Wed Jan 31 23:30:00.020050 2018] [:error] [pid 17924] Traceback (most recent call last):
[Wed Jan 31 23:30:00.020053 2018] [:error] [pid 17924]   File "/usr/lib64/python2.7/threading.py", line 811, in __bootstrap_inner
[Wed Jan 31 23:30:00.020055 2018] [:error] [pid 17924]     self.run()
[Wed Jan 31 23:30:00.020057 2018] [:error] [pid 17924]   File "/usr/lib64/python2.7/threading.py", line 764, in run
[Wed Jan 31 23:30:00.020059 2018] [:error] [pid 17924]     self.__target(*self.__args, **self.__kwargs)
[Wed Jan 31 23:30:00.020061 2018] [:error] [pid 17924]   File "/usr/lib64/python2.7/site-packages/apscheduler/schedulers/blocking.py", line 30, in _main_loop
[Wed Jan 31 23:30:00.020063 2018] [:error] [pid 17924]     wait_seconds = self._process_jobs()
[Wed Jan 31 23:30:00.020065 2018] [:error] [pid 17924]   File "/usr/lib64/python2.7/site-packages/apscheduler/schedulers/base.py", line 943, in _process_jobs
[Wed Jan 31 23:30:00.020067 2018] [:error] [pid 17924]     for job in due_jobs:
[Wed Jan 31 23:30:00.020069 2018] [:error] [pid 17924] TypeError: 'NoneType' object is not iterable
[Wed Jan 31 23:30:00.020071 2018] [:error] [pid 17924]

And then, at 0900 and 0950, this error does not appear in log, and jobs not executed.
I think django-apscheduler should wake the connection to DB before it is going to execute the job, because at that moment, we cannot be sure if the connection is alive or not.

Thanks for very detail explanation. I sure problem is about Mysql connection handling. Mysql closes connection which sleeps for a long time. I'll take a look today/tomorrow and try to solve it

Fixed, release 0.2.5 available on Pypi: https://github.com/jarekwg/django-apscheduler/releases/tag/0.2.5
Please, check and if everything is ok I'm close the issue

I've just added "mysql gone away" exception handling, please update to 0.2.5 and check whether exception gone or not. And please, give feedback to me in order to close the issue.

Wow, fixed! What did you added in the code? I see try-catch but did you reconnect DB in catch?
You can close the issue. Thanks!

It is a bit tricky solution: on every access to DjangoJob queryset I try to ping database (https://github.com/jarekwg/django-apscheduler/blob/master/django_apscheduler/models.py#L17). If ping fails I perform reconnect.
Unfortunately, this method works only for DjangoJob queries. I don't know elegant way in Django to beat "Mysql has gone away" error for long-running scripts, only hand-written try-except blocks with reconnect. It is my pain in Django, because mostly I use mysql.
Anyway, I glad exception dissapeared. Feel free to contact me with any other problems.

Yeah.... I see your pain.. That is I think what is bad in python: it is useful for scripting, but if you want to use a script, it is your obligation to manage all the import and so on.
Fortunately, Django manages the connection very well. I now import Django and do django.setup() every time when I want to execute the job. See the related bug in APScheduler for details.
I didn't expect your reply to be so quick, Thanks again! The code of reconnection is imprescindible for solving this.

hello, I have the same problem.
APScheduler==3.5.3
django-apscheduler==0.2.13
OperationalError: (2006, 'MySQL server has gone away')

hi @sallyruthstruik   you can write a decorator like below to handle the problem("mysql has gone away"):
from functools import wraps
from django.db import connection

def db_auto_reconnect(func):
    """Auto reconnect db when mysql has gone away."""
    @wraps(func)
    def wrapper(*args, **kwagrs):
        try:
            connection.connection.ping()
        except Exception:
            connection.close()
        return func(*args, **kwagrs)
    return wrapper

and use this decorator like below:
@db_auto_reconnect
def _process_submission_event(self, event):
    .....

@db_auto_reconnect
def _process_execution_event(self, event):
    .....

I think it is a elegant way!

I think the _ping_interval = 30 is unreliable.


[ERROR] Evaluation failed. No available key left!

Following #115,  we have tried to submit several times, but it doesn't work for us and this error persists. it's still caused by HF server?

Please re-submit and see if the error still exists.

I have tried again, but it still failed.

I have tried again, but it still failed.


Updated release notes for cab_package resource and provider

Signed-off-by: Vasu1105<EMAIL_ADDRESS>

We need to nuke out the old notes that are from 12.14


Update to tokio 1.0.

Also updates hyper to 0.14 in dev-dependencies. Disables the 'routerify' example, presumably temporarily, as it is not compatible with tokio 1.0 or hyper 0.14.

@SergioBenitez, as we use develop branch for development purpose, can you please send the PR to develop branch?

@SergioBenitez, as we use develop branch for development purpose, can you please send the PR to develop branch?

Hey @SergioBenitez, I want you to be an active maintainer for this repo as I don't get enough time to maintain it properly. I invited you on Github to be a collaborator. Let me know your response.

Hey @SergioBenitez, I want you to be an active maintainer for this repo as I don't get enough time to maintain it properly. I invited you on Github to be a collaborator. Let me know your response.

Sounds good. Happy to help. Will let you know if this changes.

Sounds good. Happy to help. Will let you know if this changes.

@rousan Would you mind publishing a new release with the tokio v1 support? Thank you!

@rousan Would you mind publishing a new release with the tokio v1 support? Thank you!

Okay, I will make a new minor release today.

Okay, I will make a new minor release today.

Thanks @rousan and @SergioBenitez for working on this!

Thanks @rousan and @SergioBenitez for working on this!

@SergioBenitez, I couldn't get time to release the major version, do let me know if the master branch has the stable code, so that I can release with latest version of Tokio and Hyper.

@SergioBenitez, I couldn't get time to release the major version, do let me know if the master branch has the stable code, so that I can release with latest version of Tokio and Hyper.

@rousan I have been using the code on master successfully with tokio v1 and hyper v0.14

@rousan I have been using the code on master successfully with tokio v1 and hyper v0.14

@rousan Yes, it's stable. I was hoping to review and merge at least #29 before the new release, but that should be semver compatible at should the rest of the PRs.

@rousan Yes, it's stable. I was hoping to review and merge at least #29 before the new release, but that should be semver compatible at should the rest of the PRs.

Okay, then we will release after merging that PR.

Okay, then we will release after merging that PR.

Now that #29 has merged, are there any other blockers to releasing a version that supports tokio v1?


SUBMARINE-1173. Transfer description.json to config.pbtxt via protobuf API

What is this PR for?
Serving a Pytorch model requires the config,pbtxt file which is generated by the protobuf. (reference: https://github.com/triton-inference-server/server/blob/main/docs/model_configuration.md)
Copy the model_config.proto to submarine and generate the API. With this API, we can transfer our description file into its format.
What type of PR is it?
[Feature]
Todos
What is the Jira issue?
https://issues.apache.org/jira/browse/SUBMARINE-1173
How should this be tested?
The test will be covered by the e2e test which will be provided in another PR.
Screenshots (if appropriate)
https://user-images.githubusercontent.com/38066413/148966412-0afcef60-94c0-40e4-8dd5-9ff81c82dfc0.mp4
Questions:

Do the license files need updating? No
Are there breaking changes for older versions? No
Does this need new documentation? No

@pingsutw @jeff-901 Help me review the PR. Thanks!
I have disabled the check style in the generated file and I am not sure that is the Licence in the model-config.proto file is appropriate?


Fix: Dev dependencies are installed by default

This PR

[x] removes the --dev option when installing dependencies with Composer, as this is the default anyway

Thanks!


Keras saved model gives different accuracy compared to the original model

Please make sure that this is a bug. As per our
GitHub Policy,
we only address code/doc bugs, performance issues, feature requests and
build/installation issues on GitHub. tag:bug_template
System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): Yes
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Ubuntu 20.04
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device:
TensorFlow installed from (source or binary): binary
TensorFlow version (use command below): 2.3.0
Python version: 3.8.2
Bazel version (if compiling from source): N/A
GCC/Compiler version (if compiling from source): N/A
CUDA/cuDNN version: NVidia driver v450.66 CUDA 11.0
GPU model and memory: 2080ti 11GB

You can collect some of this information using our environment capture
script
You can also obtain the TensorFlow version with:

TF 1.0: python -c "import tensorflow as tf; print(tf.GIT_VERSION, tf.VERSION)"
TF 2.0: python -c "import tensorflow as tf; print(tf.version.GIT_VERSION, tf.version.VERSION)"

Describe the current behavior
Describe the expected behavior
The following code is supposed to output the same accuracy from model and loaded_model, but somehow they're different.
If I run model.predict instead, they're consistent though.
import tensorflow as tf
import numpy as np
from sklearn.model_selection import train_test_split

x = np.random.rand(10000, 10)
y = np.random.choice([0, 1], (10000, ))

x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.3)

model = tf.keras.Sequential([
    tf.keras.layers.Dense(128, activation='relu'),
    tf.keras.layers.Dense(64, activation='relu'),
    tf.keras.layers.Dense(32, activation='relu'),
    tf.keras.layers.Dense(10, activation='softmax')
])

model.compile(loss=tf.keras.losses.SparseCategoricalCrossentropy(), metrics=['accuracy'])

model.fit(x_train, y_train, epochs=10)

model.save('./test_model/')

loaded_model = tf.keras.models.load_model('./test_model/')

print(model.evaluate(x_test, y_test))
print(loaded_model.evaluate(x_test, y_test))

Standalone code to reproduce the issue
Provide a reproducible test case that is the bare minimum necessary to generate
the problem. If possible, please share a link to Colab/Jupyter/any notebook.
Other info / logs Include any logs or source code that would be helpful to
diagnose the problem. If including tracebacks, please include the full
traceback. Large logs and files should be attached.

@peidaqi
I have tried in colab with TF nightly version and i am not seeing any issue.Please, find the gist here..Please, verify once and close the issue. Thanks!

Ok - so this seems like a bug in TF 2.3.0 (and below) and is fixed in the new nightly build.


Switching between front and back camera whilst recording.

Hi,
When I try to switch between front and back camera whilst recording, cameraManager.stopRecordingVideo({ (videoURL, error) -> Void in }) is never called.
Any ideas why?
Thanks

Hi @hassanmah,
are you using the example app included?
Thanks

Hi @torrao,
Yes I am, any idea why it's not being called?
Thanks

I think it's because  didFinishRecordingToOutputFileAt delegate method is being called when you switch the camera. Do any of you know a way around this?

Closing this since there has not been any recent activity and newer versions have been released.
Please open a new issue if the problem persists.


Search for configs in all locations

The current configuration retrieval assumes that when HADOOP_HOME is set, then it always contains config files. However, I run into a scenario when HADOOP_HOME is set, but config files are located somewhere else, i.e. in /etc/hadoop/..., in which case get_external_config isn't able to retrieve configuration.
I think it would be more flexible if we add HADOOP_HOME locations to core_try_paths and hdfs_try_paths in a way that they are checked first, but other locations are also tried in case no proper configuration was found.

@jkukul thanks for PR. I restarted Travis job (failed due to 50 min build time exceeded).
I added my comment to discussion.

The recommended way is to use HADOOP_CONFIG_DIR as HADOOP_HOME is deprecated.
See: http://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.2.0/HDP_Man_Install_v22/index.html#Item1.1

@ravwojdyla I squashed the adjustments. I also addressed @aht's comment in a separate commit.

@jkukul looks great to me - there' one more minor comment - it's not crucial to have it tho :)

I added a fixup(s), because in the meantime I realised it's HADOOP_CONF_DIR not HADOOP_CONFIG_DIR as mentioned in @aht's comment. I will squash them a bit later.

Very cool @jkukul !


Adds standard commit template

Why is this change necessary ?
Because we are trying to normalize our commit message styles.

How does this change address the issue ?
It suggests a uniform commit message template for future commits.

fix: #289
Size/S

How to verify this change ?
A git commit will open your choice of editor set as core.editor.

What side effects does this change have ?
None.

Fixes #289

Adding Fixes: #some_issue_number will automatically close the respective issue if the PR is merged.

Hi @vharsh Can you go through https://chris.beams.io/posts/git-commit/ once? It explains why it matters and how to adopt good practice! Also, we're having this template because we want users to follow good practice.
Thanks!

@AmitKumarDas

Where should I keep sample commit messages? Is contribute/process/pr-workflow-developer-doc.md good ?
I'd like to have the link shared by satyamz there too.
Do we need to add/remove the questions to be answered ?
Should very small changes (like fixing typos, links) also follow the commit template ?


Settings: Enable ROM registration of handlers

Add the possibility to register static handlers (in ROM) using a new macro
SETTINGS_STATIC_HANDLER_DEFINE(hname, name, get, set, commit, export) an example for settings stored under ps/data is:
SETTINGS_STATIC_HANDLER_DEFINE(ps_data_handler, "ps/data", NULL, ps_set, ps_commit, NULL)
To maintain support for dynamic handlers
CONFIG_SETTINGS_RAM_HANDLERSmust be enabled, which is by default.
When using static handlers there is no check if this handler has
been registered earlier, the latest registered static handler will be
considered valid for any set/get routine, while the commit and export
routines will be executed for both registered handlers.
When a dynamic handler is registered a check is done to see if there was
an earlier registration of the name in all static and dynamic handlers, if there was the
registration will fail.
To get to the lowest possible RAM usage it is advised to set
CONFIG_SETTINGS_DYNAMIC_HANDLERS=n.

We can do even better and declare the variable within the macro, see how Ive done that in GATT:
https://github.com/zephyrproject-rtos/zephyr/blob/master/include/bluetooth/gatt.h#L432

I was trying to get the api for ROM handlers to closely match the RAM part. What I was thinking to make it completely the same is to register a pointer to the handler in ROM instead of the handler, however my understanding of the Z_STRUCT_ITERABLE is very limited.

Also the kernel usually refer to static vs dynamic declaration so we might as well stick to that terminology instead of using RAM/ROM.

Yes, I will change all RAM into dynamic and ROM into static.

Ooops, @Laczen seems we deleted your branch in this repo and this caused this PR to be closed, sorry about that! Can you please create a new one from your fork?

I am not sure what is going on here, this PR is against an unofficial branch on the zephyr main tree on GH, why are you doing that? All your branches need to be on a fork, not on the main tree. Please recreate this PR on a fork.
I did not notice this dependency chain, the PR was closed automatically by GH once the invalid branch was removed.

I am not sure what is going on here, this PR is against an unofficial branch on the zephyr main tree on GH, why are you doing that? All your branches need to be on a fork, not on the main tree. Please recreate this PR on a fork.
I did not notice this dependency chain, the PR was closed automatically by GH once the invalid branch was removed.

I fixed it now by retargeting the PR against master. That said, the first 2 commits need to be deleted from the forked branch.

I am not sure what is going on here, this PR is against an unofficial branch on the zephyr main tree on GH, why are you doing that? All your branches need to be on a fork, not on the main tree. Please recreate this PR on a fork.
I did not notice this dependency chain, the PR was closed automatically by GH once the invalid branch was removed.

Sorry for this, I didn't even know that I did this.

We can do even better and declare the variable within the macro, see how Ive done that in GATT:
https://github.com/zephyrproject-rtos/zephyr/blob/master/include/bluetooth/gatt.h#L432

@Vudentz, I was afraid that in case of a static handler it would occupy two regions in ROM, once as a const and once in the handlers list, however after studying the rom report I can only find it in the handlers list. So I think the proposed solution is good and I don't know if it's possible to do it better (unless I completely misunderstood what you meant).

We can do even better and declare the variable within the macro, see how Ive done that in GATT:
https://github.com/zephyrproject-rtos/zephyr/blob/master/include/bluetooth/gatt.h#L432

@Vudentz, I was afraid that in case of a static handler it would occupy two regions in ROM, once as a const and once in the handlers list, however after studying the rom report I can only find it in the handlers list. So I think the proposed solution is good and I don't know if it's possible to do it better (unless I completely misunderstood what you meant).

If you take the structs we use in GATT:
/** @brief GATT Service structure /
struct bt_gatt_service_static {
/* Service Attributes /
const struct bt_gatt_attr attrs;
/ Service Attribute count */
size_t			attr_count;
};
/** @brief GATT Service structure /
struct bt_gatt_service {
/* Service Attributes /
struct bt_gatt_attr	attrs;
/ Service Attribute count */
size_t			attr_count;
sys_snode_t		node;
};
We use the first one as the in_section format so we save 4 bytes per service, with that one can just cast to the later if we have to, though there are no casts since we have dedicated code for iterating these in bt_gatt_foreach_attr_type.
That said maybe if we don't have too many handlers then saving 4 bytes of the node might not make sense, actually it may not save 4 bytes depending if your struct will require paddings for aligment.

We can do even better and declare the variable within the macro, see how Ive done that in GATT:
https://github.com/zephyrproject-rtos/zephyr/blob/master/include/bluetooth/gatt.h#L432

@Vudentz, I was afraid that in case of a static handler it would occupy two regions in ROM, once as a const and once in the handlers list, however after studying the rom report I can only find it in the handlers list. So I think the proposed solution is good and I don't know if it's possible to do it better (unless I completely misunderstood what you meant).

If you take the structs we use in GATT:
/** @brief GATT Service structure / struct bt_gatt_service_static { /* Service Attributes / const struct bt_gatt_attr attrs; / Service Attribute count */
size_t	attr_count;
};
/** @brief GATT Service structure / struct bt_gatt_service { /* Service Attributes / struct bt_gatt_attr	attrs; / Service Attribute count */
size_t	attr_count;
sys_snode_t	node;
};
We use the first one as the in_section format so we save 4 bytes per service, with that one can just cast to the later if we have to, though there are no casts since we have dedicated code for iterating these in bt_gatt_foreach_attr_type.
That said maybe if we don't have too many handlers then saving 4 bytes of the node might not make sense, actually it may not save 4 bytes depending if your struct will require paddings for aligment.

Thanks for elaborating, I have updated the PR to include this proposal. At the same time I have changed the settings_parse_and_lookup to return the handler without the node information. The only thing left is to create a helper iterator but I would keep this for future improvement.

@Vudentz, @jhedberg, if you are happy with the applied change requests could you approve the PR. If you would like someone else to have a look before merging I will add the DNM property.

@Vudentz, I have simplified the name generation for the variable, just put settings_handler_ before the name. This is simple and gives direct access to the variable name.

@jhedberg @nvlsianpu can you take another look please?


Categories icons/#522/makeev

The categories icons have been added to the project, enum and match the appropriate category id with the icon have been created.

Replace please this icon with mat-icon

Apply please this one instead


When removing project contributors, notify user that removed contributors with access to components will retain that access

Story: I have a contributor to a project with all (or some) of this project's components.  When I remove this user from the project, they retain permissions to components, which is not expected behavior for most users.    Possible solutions:

Fastest and Easiest: Simply display a warning to the user letting them know which components (if any) that the user(s) they are attempting to remove will retain access to.

Moderate: We not only display the components which the user(s) still have access to, but provide a link that opens in a new tab to the sharing page for that component, allowing the admin to then remove anybody they need.

Best and most thorough solution: provide a checklist displaying the components that each contributor has access to (or some sort of similar interface).  This would enable the admin to quickly change permissions for all of the affected components.

One excellent point that @caneruguz brought up in a discussion about this is that the user should be able to exit this at any time in the process, in the case that it's intended behavior to remove the user's/users' access from the top level only.  Also if there are no components or no components which this user has access to, then of course there's no problem and none of these steps are necessary.

Marking this as "Hold" as per discussion in #3004

:+1:


runtime: respect memory ulimit more precisely

The new mheap allocation takes 256 MB of virtual memory and the ulimit-respecting code
does not deal with that so programs running under ulimits fail. More generally, the
ulimit is used to size the heap, but we have significant memory resources outside the
heap - like goroutine stacks! - that must fall under the limit too.

https://golang.org/cl/7672044 has an attempt at this. It mostly works, but it
fails with SIGBUS on OS X in the net/http short test. I have not yet tried it on Linux -
perhaps a gdb will be more helpful there.

Timed out.

Incredible timing for that "time out." We just found this issue because we're hitting this exact problem with our services running in Marathon. What can be done to help get this prioritized and fixed? I imagine this is a problem for anyone running Golang apps in an environment such as Marathon or Kubernetes - those environments are only getting more common.

@mihasya, we're just merging multiple issues into a more focused one. This is still a problem, but we're tracking in #16843 now.

👍 👏


Performance vs. msgpack-lite?

Hi, I was wondering about what the performance was like vs. msgpack-lite?
https://github.com/kawanet/msgpack-lite

Hi @Zentendo,
to be honest, I've not tested the performance of this library, but I guess it is not as fast as msgpack-lite. It was not written with performance in mind, but should fit the needs of mprot. This means, it should be fairly small and should provide a good level of type safety.


Frontend Save Draft

Implement the frontend save draft flow:

[ ] Create payload
[ ] API client call to send payload to backend
[ ] Receive response and update frontend accordingly

superseded by #209


Theme freifunk: refresh by rebasing on OpenWrt2020-theme

This renews the broken Freifunk-theme (https://github.com/freifunk/openwrt-packages/issues/24) by replacing it with the OpenWrt-2020 theme and backports some ideas from the old one.
I tested it some time locally and would like to merge soon.

merged in order to fix Issue #24

@pmelange in https://github.com/freifunk-berlin/firmware/pull/792#issuecomment-621157891 you mentioned a SVG version of the favicon. Where can it be found?

http://download-master.berlin.freifunk.net/logo/

Seems not the correct source, as the linked files contian the "freifunk.net" text-footer. But seems that the already included "logo.svg" is the correct one.


Unexpected behavior when creating a branch that a pipeline subcribes to

Steps to reproduce:

Create an input repo
Create some commits on the same branch (but not master)
Create a pipeline that processes master from the input repo
Tag the branch as master

What happens:
Only the head gets processed.
What do you expect to happen:
The entire branch gets processed.

stale


Adding Documentation to PolyVIs and a more intuitive icon for Create Global MetaData Channel

[x] This contribution adheres to CONTRIBUTING.md.

TODO: Check the above box with an 'x' indicating you've read and followed CONTRIBUTING.md.
What does this Pull Request accomplish?
Added Documentation to PolyVIs and a more intuitive icon for Create Global MetaData Channel
Why should this Pull Request be merged?
Lacking documentation and confusing Icon as described in Bug 1154133 and 1154100
What testing has been done?
Built and copied fiels to new VM and checked the VIs and palette has the updated changes.

Context Help:

For Create Global MetaData Channel:

For Protocol Factory:

For Configure Response:

For Create Message:

Global MetaData Channel Icon:


Same data replicated.

"Configure Azure Backup to quickly and easily back up Windows Server" is articulated twice in the single page.

Hi @kraghu306, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

In order for us to evaluate and accept your PR, we ask that you sign a contribution license agreement. It's all electronic and will take just minutes. I promise there's no faxing. https://cla.azure.com.

TTYL, AZPRBOT;

@kraghu306, Thanks for signing the contribution license agreement so quickly! Actual humans will now validate the agreement and then evaluate the PR.
Thanks, AZPRBOT;

@kraghu306 - thanks for pointing this out. I've asked the author to address this directly.


eq-3 comments entry

Changes

added character limit to textarea (hardcoded to 2000) enforced by javascript

Testing

npm run test to compile assets and run unit test
try to enter more than 2000 characters in the comments box

LGTM :+1:


Write a Java program to find the sum of all numbers in an array

Description
Write a Java program to find the sum of all numbers in an array
Input  : [1, 2, 3, 4, 5]
Output : 15

How to contribute

Save the solution in program/FindTheSumOfAllNumbersInAnArray.java file
Add FindTheSumOfAllNumbersInAnArray.java file in find-the-sum-of-all-numbers-in-an-array folder

@harshraj8843 Sir,I would like to work on this,could you assign this to me?

!assign

Hey @Debarpan08
You can comment !assign on any good first issue you want to contribute to, to be auto-assigned
!assign

!assign

Hey @Debarpan08, this issue is already assigned to @Shivaraj21 !!!
Please choose another issue.
Thanks for your interest in contributing to this project.


Add support for parquet and orc file into spark load. issue(#13099)

Proposed changes
Issue Number: #13099
Problem summary
Add spark load format support for parquet and orc
Checklist(Required)

Does it affect the original behavior:
No
Has unit tests been added:
No Need
Has document been added or modified:
No Need
Does it need to update dependencies:
No
Are there any changes that cannot be rolled back:
No

Don't merge This PR，because has some problems,  I'll deal with it tomorrow morning if allowed

Related to #13438


[Bug] A bit distorted showing of image when pulled to the left

Describe the bug
When I zoom on the image and when I pull the image to the left with my finger, I can see these stripes on the right of the image. It does not do this when I pull image to the right.

How to Reproduce
Open image, zoom and pull image to the left
Expected behavior
I should not be there
Environment
- DDG App Version: 5.197.1
- Device: Pixel 6a
- OS: Android 14 (AP1A.240405.002)

Tested this on Poco m2 pro with version 5.197.1 and haven't got the buggy behaviour as stated here.

Tested on my side and I can't repro. However, another member of our team was able to reproduce it with different browsers, so there are to possible factors here: webview version, or device specific issue. Both are external to our app and we can't fix it from our app.


Sass: Add Option like $enable-grid-classes for All Utility Classes

At the moment, it is only possible to disable generation of grid classes and makee use of @include make-grid/row/col() instead.
It would dramatically reduce the compiled size if we could also disable generation of utility classes. This could be achieved by using placeholders (%) instead of classes (.) for each or at least some utility helper if it is disabled.

We could then @extend %utility; instead. That way we could only render classes that are really needed.

Keep in mind the file size gzipped is way smaller.
We will have a Utility API to control all utilities in v5, with this you can add, but also remove all utilities. There's not a single variable to disable this though, but I assume it won't be that hard to implement on our side.

Closing as a won't fix given low priority and interest. If there's a PR for something around here, we'd happily review and reconsider though. Thanks!

Closing as a won't fix given low priority and interest. If there's a PR for something around here, we'd happily review and reconsider though. Thanks!


Build the router container with production-like flags, such as the various flavors of -fstack-protector and with -D_FORTIFY_SOURCE=2

This gets done for the RPM, but it is not done for the container image. Hardening GCC flags should be used everywhere.

https://developers.redhat.com/blog/2018/03/21/compiler-and-linker-flags-gcc


Unnecessary home page access while user is logged in.

When user is logged in dashboard page is enough for user to perform all actions, while home page might confuse user that they are logged off.
I can fix this issue by modifing the auth middleware in clerk.
Please assign me this task.

Sure @PrayanshParmar Assigning it to you


Local Storage Security Considerations

I had a discussion about the security of storing session information in local storage recently. The concern is that if there is an XSS vulnerability in the app the session information can be read by an attacker quite easily.
Or as OWASP put it:

Do not store session identifiers in local storage as the data is always accesible [sic] by JavaScript. Cookies can mitigate this risk using the httpOnly flag.

From https://www.owasp.org/index.php/HTML5_Security_Cheat_Sheet#Local_Storage
We use ember-simple-auth in combination with OAuth and I was wondering if there is anything that could be done to address that problem?

That's a good point. I'd say this is mainly a matter of documentation as there's nothing that I'm aware of that could be done to somehow secure the localStorage store. The solution of course would be to use the cookie store instead.
Maybe the default store should be changed to be the cookie store actually...

I thought about this again and actually there's nothing that could be done about this. Because Ember.js applications are JS apps and Ember Simple Auth is a JS library of course any store that's used to store the session in has to be accessible by JS anyway so even switching to the cookie store doesn't help here as the cookies has to be accessible by JS as well :smirk:.
So while I think the documentation should probably mention that you have to make sure the app isn't vulnerable to XSS, there's nothing that could be done about this.

Closing this as there's no fix actually.

@marcoow why does the cookie have to be accessible from JS? why can't ESA call an API to check whether the user is logged in or not (and that api call can also return the user's details)?

ESA supports building something like this. The easiest way for doing so is to use cookie based authorization (as opposed to token based) where the API sets a cookie in the response if authentication was successful. That token would not be accessible by JS though but as the response was successful ESA would assume it to be present. ESA would still store its own authentication state (the fact whether the session is authenticated or not and if so which authenticator was used) in its own cookie or localStorage but that internal state would not contain any sensitive data.


[BUG] create order request always failed with 400 but without a response body when passing buyerId={{buyerId}}

Describe the bug
create order request always failed with 400 without a response body when passing buyerId={{buyerId}}
To Reproduce
Steps to reproduce the behavior:

trigger create UNI add order with {{host}}/mefApi/sonata/productOrderingManagement/v10/productOrder?buyerId={{buyerId}}

please take note that buyerId parameter's value is {{buyerId}}
actual result

request failed with 400 but without a response body
this request is not captured in api activity log

expected result

return response body withe real failed reason
the request should be captured by api activity log

@cheng0504

close it as such request is blocked before it is reaching BE.


create domain using a compact topology profile

Is there a way to create a domain using the Compact topology profile so that only 1 weblogic server is created when creating a domain using the "Oracle Service Bus" extension template?  This is for generating domains on development machines.
Using wlst previously I would call setTopologyProfile('Compact') to create a compact OSB domain consisting of a single server.  I haven't yet found a way to do the same using the createDomain.sh script with a model file and custom typedef.
My typedef currently looks like this...
{
    "name": "OSB",
    "description": "OSB type domain definitions",
    "versions": {
        "<IP_ADDRESS>": "OSB_12CR2",
        "14.1":     "NOT_SUPPORTED"
    },
    "definitions": {
        "OSB_12CR2": {
            "baseTemplate": "Basic WebLogic Server Domain",
            "extensionTemplates": [
                "Oracle Service Bus",
		"Oracle Enterprise Scheduler Service Basic",
                "Oracle Enterprise Manager Plugin for ESS"
            ],
            "customExtensionTemplates": [ ],
            "serverGroupsToTarget": [ "JRF-MAN-SVR", "WSMPM-MAN-SVR", "OSB-MGD-SVRS-COMBINED", "ESS-MGD-SVRS"],
            "rcuSchemas": [ "WLS", "MDS", "IAU", "IAU_VIEWER", "IAU_APPEND", "OPSS", "UCSUMS", "SOAINFRA", "ESS" ]
        }
    }
}

My model_file is as follows
domainInfo:
    AdminPassword: welcome1
    ServerStartMode: dev
    RCUDbInfo:
        rcu_prefix: OSB
        rcu_db_conn_string: 'localhost:1521/XE'
        rcu_db_user: sys
    ServerGroupTargetingLimits:
        'OSB-MGD-SVRS-COMBINED': [DefaultServer]
        'ESS-MGD-SVRS': [DefaultServer]
        'JRF-MAN-SVR': [DefaultServer]
        'WSMPM-MAN-SVR': [DefaultServer]
topology:
    Name: DefaultDomain
    AdminServerName: DefaultServer
    ProductionModeEnabled: false
    Server:
        DefaultServer:
            ListenAddress: localhost
            SSL:
                HostnameVerificationIgnored: true
                TwoWaySSLEnabled: true
                Enabled: true

When I generate the domain, I end up with 3 servers; the DefaultServer as expected and an osb_server1 and ess_server1 that I don't want.   How do I prevent creation of osb_server1 and ess_server1?  I thought ServerGroupTargetingLimits might do it but it doesn't.

Use the model statement for delete of these servers. These are added by the OSB template and we have no control of the addition.
Server:
!ess_server1
!osb_server1

Would it be possible to enhance the typedef with a topologyProfile attribute?  For example...
{
    "name": "COMPACT_OSB",
    "description": "OSB type domain definitions",
   "topologyProfile": "Compact"
    "versions": {
        "<IP_ADDRESS>": "OSB_12CR2",
        "14.1":     "NOT_SUPPORTED"
    },
    "definitions": {
        "OSB_12CR2": {
            "baseTemplate": "Basic WebLogic Server Domain",
            "extensionTemplates": [
                "Oracle Service Bus",
		"Oracle Enterprise Scheduler Service Basic",
                "Oracle Enterprise Manager Plugin for ESS"
            ]
        }
    }
}

Added in the upcoming WDT 2.0 release