Support for LAPI High availability

Add "lapi.replicas" in values and deployment templates
Add "lapi.affinity" in values.yaml, as it was missing, and thus not included in the the documentation
Add "lapi.topologySpreadConstraints" in values and deployment template.
Add a configuration override, to be able to configure and external DB (among other things, as described here). It creates a "config.yaml.local" file in the crowdsec config directory, so default config values are kept.
Add "lapi.secrets.csLapiSecret" in values, create a secret and define it as env vars for deployment. This is required because it must be identical for every lapi pods. It will be generated automatically if not specified by the user.
Add "lapi.extraSecrets" to allow users to specify any extra secrets for lapi. They can then be used as env vars (needed to pass the external DB password for example)
Document HA in Chart.yaml.

Also, there is a bug in loading value in config so it wont work in version v.1.5.2, we need to update to v1.5.2.
docker_start.sh loads values directly from config.yaml skipping config.yaml.local in v1.5.3 it is fixed.

Hi @erwanval,
For information, here is the draft PR (https://github.com/crowdsecurity/crowdsec/pull/2506) that improves the HA handling in crowdsec.
I propose to merge this when the next stable will be available.

Hi @erwanval,
the PR on crowdsec is merged.
Let's now wait for the release to bump here the docker image and merge this PR.
And sorry again for the delay.

Hi @erwanval,
We released new rc and here is the docker image.
Do you think you can try using this image and see if it's working as you expected with this PR ?

Hi @he2ss,
Sorry for the delay, I tested using the v1.6.1-rc1 image, and everything works as expected on my side.
I have seen v1.6.1-rc2 has been released since, but there is no docker image for it, so I haven't tested that one.
Also, I resolved the conflict

Yes, thank you !


Convert WANTED items to github issues.

What are 'WANTED' items?

https://github.com/perl6/doc/blob/master/WANTED

Done, I think. Please review https://github.com/perl6/doc/commit/30f81a50c015946c1ffdb060afc16bb1805c3de7 and close if there are no problems.
But what is this?
Functions:
    * use [probably really important...]

@AlexDaniel use is doc'd on the modules page.

Ah, use! I thought it was about probably, really and important… lol…

Ah, this can be closed now.


feat(button): add in tertiary button for use with danger primary

Adds Tertiary Button
Closes https://github.ibm.com/Bluemix/carbon-issues/issues/541
Added

Tertiary Button

This button should only be used with a primary Danger button

We can merge this in for the interim, but keep in mind the colors for ui-05 and the red support color are changing to meet the new WCAG guidelines.
Respective issues for each can be found here:

ui-05 new color
danger button new color

CC: @tay-aitken

We are updating the colors for this right now. The update should be coming next sprint (or later this sprint). The new color change will take care of this accessibility issue.


doesn't support v-html property

Description
I couldn't decide whether this is a bug report or a feature request, but he Gridsome documentation states that g-link is a wrapper for router-link so I'm leaning towards the former. I'm using g-link in combination with some records retrieved via GraphQL, so the link label comes from an external datasource. Wrapping the label in the g-link tag has the effect of escaping any special characters as per standard Vue behaviour. I'd like to leverage the v-html property which is possible when using router-link, but not with g-link.
Steps to reproduce
Retrieve some data from an external API with special characters. Display them in a component with the v-html property set (this doesn't work and there's no error output on the console):

            <g-link :to="node.path" v-html="node.title"></g-link>

Expected result
The output of the unescaped title.
Actual result
The link text doesn't render.
Environment
System:
OS: macOS 10.15.5
CPU: (4) x64 Intel(R) Core(TM) i5-7267U CPU @ 3.10GHz
Binaries:
Node: 14.4.0 - /usr/local/bin/node
Yarn: 1.22.4 - /usr/local/bin/yarn
npm: 6.14.4 - /usr/local/bin/npm
Browsers:
Chrome: 83.0.4103.116
Firefox: 77.0.1
Safari: 13.1.1

@mensch Don't think it is a bug exactly - both g-link and router-link have a slot where you should put content. So you can do something like this for example:
<g-link :to="node.path">

</g-link>

Right, I was overthinking it. So I added a span wrapped by g-link. Still, minor issue, but router-link does seem to support v-html directly without the need for wrapping the link text inside another element.

but router-link does seem to support v-html directly

Yeh, okay - I guess as g-link wraps it, it doesn't pass that binding down.

Description
I couldn't decide whether this is a bug report or a feature request, but he Gridsome documentation states that g-link is a wrapper for router-link so I'm leaning towards the former. I'm using g-link in combination with some records retrieved via GraphQL, so the link label comes from an external datasource. Wrapping the label in the g-link tag has the effect of escaping any special characters as per standard Vue behaviour. I'd like to leverage the v-html property which is possible when using router-link, but not with g-link.
Steps to reproduce
Retrieve some data from an external API with special characters. Display them in a component with the v-html property set (this doesn't work and there's no error output on the console):

            <g-link :to="node.path" v-html="node.title"></g-link>

Expected result
The output of the unescaped title.
Actual result
The link text doesn't render.
Environment
System:
OS: macOS 10.15.5
CPU: (4) x64 Intel(R) Core(TM) i5-7267U CPU @ 3.10GHz
Binaries:
Node: 14.4.0 - /usr/local/bin/node
Yarn: 1.22.4 - /usr/local/bin/yarn
npm: 6.14.4 - /usr/local/bin/npm
Browsers:
Chrome: 83.0.4103.116
Firefox: 77.0.1
Safari: 13.1.1

The easiest way as it is is to just do this:
<g-link to="/foo/">{{ fooText }}</g-link>

Using curly brackets will cause any HTML to be escaped, which is why you'd normally use v-html. So the span is needed in this case as far as I'm aware, when v-html isn't available.

Addressed by #1373


usage with wizard scenes

Please tell me how to use the stage. If I use return await ctx.wizard.next() , then the next scene starts with the ${callback-data}-next callback. If you remove ctx.wizard.next() at all, then the next scene simply does not start
const { Telegraf, Composer, Scenes, session, Markup } = require("telegraf");
const bot = new Telegraf(process.env.BOT_TOKEN);
const { Pagination } =  require('telegraf-pagination');

const startWizard = new Composer();
startWizard.on("text", async (ctx) => {
  const trackerMessage = `some text`;
  await ctx.reply(trackerMessage);
  return ctx.wizard.next();
});

const searchTorrent = new Composer();
searchTorrent.on("text", async (ctx) => {
   arrayRes = [
{title: 'fist', id: 1},
{title: 'second', id: 2},
{title: 'third', id: 3},
{title: 'fourth', id: 4},
{title: 'fifth', id: 5},
{title: 'sixth', id: 6},
{title: 'seventh', id: 7},
{title: 'eighth', id: 8},
{title: 'ninth', id: 9},
{title: 'tenth', id: 10},
{title: 'eleventh', id: 11},
{title: 'twelfth', id: 12},
{title: 'thirteenth', id: 13}
]
    const pagination = new Pagination({
      data: arrayRes,
      //some options
    });

    pagination.handleActions(searchTorrent);

    let text = await pagination.text();
    let keyboard = await pagination.keyboard();
    await ctx.replyWithHTML(text, keyboard);

    return await ctx.wizard.next()
  }

});

const searchTorrentAction = new Composer();
searchTorrentAction.action(/.+/, async (ctx) => {
  await ctx.deleteMessage();
  console.log(ctx, 'CONTEXT');
  return ctx.scene.leave();
});

/* Scenes declare */
const menuScene = new Scenes.WizardScene(
  "sceneWizard",
  searchTorrent,
  searchTorrentAction,
);
const stage = new Scenes.Stage([menuScene]);

/* middleware to scenes */
bot.use(session());
bot.use(stage.middleware());

bot.on("text", (ctx) => ctx.scene.enter("sceneWizard"));

Hi there!
I assume that you are giving Composer instance for pagination.handleActions() function. So the handler middlewares of pagination are registered for that Composer instance. I suggest you use to use WizardScene instance instead of Composer instance as a parameter for pagination.handleActions() function.
Also note that you don't need to handle callback_data manually. You can just use onSelect option, there you will have item, index and ctx (Context instance, that was not mentioned in Readme, my bad...).
Thank you for reaching me out for that particular problem.

I used pagination.handleActions(menuScene) instead pagination.handleActions(searchTorrent) on your advice and it worked. Thank you!


WARNING vim.lsp.get_active_clients() is deprecated.

Hey,
So, the plugin currently uses vim.lsp.get_active_clients(), which was deprecated, in favor of vim.lsp.get_clients(). Should be a simple change, I could make a PR

prs are appreciated, thank you for your time and contribution to the project!


Update README section about customising location of Clang

Current README mentions following lines in config.cake:
  # If you have built your own version of Clang, you can modify
  # this variable to point to the CMAKE_INSTALL_PREFIX for
  # where you have installed your clang/libcxx build.
  clangInstallPrefix = '/usr'

and
  # Set this to the install-prefix of where libc++ is installed.
  # You only need to set this if it is not installed at the same
  # location as clangInstallPrefix.
  libCxxInstallPrefix = None # '/path/to/install'

but these lines are not preset there, at least not verbatim, this may be a bit confusing

Ah. My apologies for the confusion.
I updated the build system to allow specifying these paths as command-line args some time ago and must have missed updating the README.
You can now specify these paths with following arguments to cake:
--clang-executable=clang-8
--clang-install-prefix=/my/clang/install
--libcxx-install-prefix=/my/libcxx/install

I'll update the README to reflect these changes.


async find

hi @David-Desmaisons
was looking to use vue.js multiselect with async find, wonder if this would be a use case with neutronium. so like this?
asyncFind (query) {
      this.isLoading = true
      ajaxFindCountry(query).then(response => {
        this.countries = response
        this.isLoading = false
      })
    },

you can for example, issue a command and then update the view from the cs side, but this is a bit more concise way
regards

@jmecosta , you have a way to adress this kind of scenario using Neutronium: using IResultCommand instead of ICommand. I just added documentation here.
In your case you substitute the call to the ajax by the following:
import {toPromise} from 'neutronium-vue-resultcommand-topromise'

asyncFind (query) {
      this.isLoading = true
      toPromise(viewModel.CountryFinder, query).then(response => {
        this.countries = response
        this.isLoading = false
      })
    },

with:

public IResultCommand CountryFinder {get;}

Well that's nice. Thanks
On Sat, 25 Nov 2017, 02:55 David Desmaisons<EMAIL_ADDRESS>wrote:

@jmecosta https://github.com/jmecosta , you have a way to adress this
kind of scenario using Neutronium: using IResultCommand instead of
ICommand. I just added documentation here
https://github.com/NeutroniumCore/Neutronium/blob/master/Documentation/Content/Vue_Binding.md#advanced-iresultcommand-support
.
In your case you substitute the call to the ajax by the following:
import {toPromise} from 'neutronium-vue-resultcommand-topromise'
asyncFind (query) {
this.isLoading = true
toPromise(viewModel.CountryFinder, query).then(response => {
this.countries = response
this.isLoading = false
})
},
with:
public IResultCommand CountryFinder {get;}
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/NeutroniumCore/Neutronium/issues/44#issuecomment-346910163,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA_jyDGBkS8W6vim6VUZDvuSlOL75iNHks5s52V1gaJpZM4QpdNN
.

@David-Desmaisons i was able to get the async working. like this
this.RunMacroAsync = RelayResultCommand.Create<string, Task<bool>>(this.OnRunMacroAsync);

it all works, apart from a small glitch. During the sending of the command all wpf ui is actually locked. but the html side is not.
So if the command is a long running command, users might be starting to jump to another tab, and they will not be able to.
thanks

actually also non async command lock the wpf part, and its a bit hard since im launching new process with output redirect and all the application just locks after i start using Application.Current.Dispatcher.Invoke when updating either the log in the html or wpf side

it all works, apart from a small glitch. During the sending of the command all wpf ui is actually locked. but the html side is not.
This is how promise works and how it is designed. If you need to limit the number of call, you can use a flag isrunning on on Js side to prvenet various call to run at the same time.

async command lock the wpf part,
Well this is also be design as command trigerred by WPF events. Of course you can use task to dispatch long working compoutation without locking the UI thread:

    private async ExececuteCommand()
    {
        await Task.Run(DoheavyComputation);
    }

thanks, i tried that and it still does not do what i want. but likely has more to do how i do the task synchronization than anything. if i use normal commands it works just fine. so i will stick to this for now. thanks


[INFRA-24015] Update for Scorecards 2

Similar to https://github.com/apache/commons-csv/commit/cafb4d2f43105cfc2322760e17aeb340ac4a6086

Codecov Report

Merging #254 (98eb300) into master (2a718e6) will decrease coverage by 0.02%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master     #254      +/-   ##
============================================
- Coverage     89.05%   89.03%   -0.03%
+ Complexity     3534     3533       -1
============================================
  Files           183      183
  Lines          9649     9649
  Branches       1196     1196
============================================
- Hits           8593     8591       -2
  Misses          776      776
- Partials        280      282       +2

Impacted Files
Coverage Δ

...commons/configuration2/tree/InMemoryNodeModel.java
96.88% <0.00%> (-0.39%)
:arrow_down:

.../apache/commons/configuration2/io/FileHandler.java
93.54% <0.00%> (-0.33%)
:arrow_down:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

TY @raboof !


Hello

Do you want to add them in my original repo? I would appreciate it :)

Sure, expect it to be done this week (as the code structure needs to be organized)

Thanks 🙏I appreciate your effort! When you finished open a pull request and I will review it next week! ❤ if you have twitter add me and ping me there to talk about the tool more privately! Twitter: @nickvourd

I'm currently unable to send direct messages on Twitter. However, you can reach me there by following this link: https://twitter.com/y2qaq. Please feel free to let me know your thoughts on the tool. Thank you!


Blocking updating in SceneTreeEditor when an item was selected

Fixes #44163
The problem is SceneTreeEditor will update itself when warnings had changed. It also will clean itself. So the editing action gets ignored because the selected TreeItem will get cleaned too.

I see how this would prevent the issue, but doesn't it cause other issues? If you edit properties of a selected node in a way that make its configuration invalid, this would cause that the warnings will not appear until you de-select the node/select another one, no?

I see how this would prevent the issue, but doesn't it cause other issues? If you edit properties of a selected node in a way that make its configuration invalid, this would cause that the warnings will not appear until you de-select the node/select another one, no?

Oh, I see it. That will cause another problem too. Let me modify it.

Oh, I see it. That will cause another problem too. Let me modify it.

Thanks!

Cherry-picked for 3.4.

Undid cherry-pick for now as the code for Tree changed since 3.x and the is_editing() implementation doesn't compile. Not sure what to replace it with given that 3.x has text_editor, value_editor and popup_menu.


Prevent crash if sync_dist=True on CPU

What does this PR do?
As discussed in the PL slack, if sync_dist=True on CPU the code currently crashes. This regresses behaviour before the latest horovod changes and breaks lots of functionality when sync_dist=True needs to cover all accelerator cases, including CPU.
PR review
Anyone in the community is free to review the PR once the tests have passed.
Before you start reviewing make sure you have read Review guidelines. In in short, see following bullet-list:

[ ] Is this pull request ready for review? (if not, please submit in draft mode)
[ ] Check that all items from Before submitting are resolved
[ ] Make sure the title is self explanatory and the description concisely explains the PR
[ ] Add labels and milestones (and optionally projects) to the PR so it can be classified; Bugfixes should be including in bug-fix release milestones (m.f.X) and features should be included in (m.X.b) releases.

Did you have fun?
Make sure you had fun coding 🙃

Hello @SeanNaren! Thanks for opening this PR.

In the file tests/trainer/logging_tests/test_train_loop_logging_1_0.py:

Line 717:56: W292 no newline at end of file

Do see the Hitchhiker's guide to code style

cc @ananthsub @carmocca

I've decided to take @awaelchli advice and enforce the check across the accelerators, keeping the base class as is. Less liability of running into issues in the future imo. I'll give some time for people to re-review :) cc @tchaton @ananthsub @rohitgr7


Add ASCIIMath generation

Add ASCIIMath as a braille format similar to LaTeX braille.

Finished with https://github.com/NSoiffer/MathCAT/commit/78dd6093275151677bfc2f23e9db44e6a647fafd


C#: Using dynamic object resolving results in CSC : warning AD0001: Analyzer 'Godot.SourceGenerators.MustBeVariantAnalyzer'

Tested versions
<Project Sdk="Godot.NET.Sdk/4.2.2">
It occurs also on latest dev
   > Godot.SourceGenerators      4.3.0-dev.5   4.3.0-dev.5
   > GodotSharp                  4.3.0-dev.5   4.3.0-dev.5
   > GodotSharpEditor            4.3.0-dev.5   4.3.0-dev.5

System information
Windows 11, ubuntu
Issue description
I build my own C# unit test framework and have an issue with using dynamic object resolving.
When using dynamic e.g. public static dynamic AssertThat<TValue>(TValue? current) in combination with typed methods, it shows a warning.
CSC: warning AD0001: Analyzer 'Godot.SourceGenerators.MustBeVariantAnalyzer' threw an exception of type 'System.NullReferenceException' with message 'Object reference not set to an instance of an object.'. [D:\development\workspace\gdUnit4Net\example\exampleProject.csproj::TargetFramework = net8.0]
This is a problem when other developers use my API and this type of warning is displayed very often.
As workaround, we can disable the warning in your project, but this should not be the standard.
<NoWarn>$(NoWarn);AD0001</NoWarn>
Steps to reproduce
Download the example project and build.
Minimal reproduction project (MRP)
AD001.zip

@raulsntos It still occurs on 4.3.0-dev.6, it which version is the fix included?

It's in beta1, you can check the interactive changelog.

It's in beta1, you can check the interactive changelog.
I can confirm that the warnings have disappeared 👍


showAchievements() does not work

GooglePlayGamesPlugin.showAchievements(); doesn't do anything.

@krmax44 please provide more information.  Are you seeing anything in Logcat?  Which device/OS are you testing on.

It works now, the package name has been wrong delivered in Google Play.


🌱 Set Application Name in hcloud-go client

What this PR does / why we need it:
Setting the "Application" in the hcloud-go client adds that information to the "User-Agent" of all outgoing http requests to the Hetzner Cloud API. This data helps Hetzner Cloud find potentially misbehaving API clients.
I saw that you have a script to include version information in the built binaries, but I could not find the referenced go package, and left the version parameter empty.
Which issue(s) this PR fixes:
/
Special notes for your reviewer:
TODOs:

[x] squashed commits
[ ] includes documentation
[ ] adds unit tests

Hello :wave: Bumping this PR. We (Hetzner Cloud) recently received a support ticket from a user of CAPH who ran into issue with the API rate limit being used up. It would be awesome to get this merged so we (Hetzner Cloud) can understand the request patterns of CAPH better and find spots where we can optimize the requests being made.

the mentioned script adds only ldflags to the binary. See: https://github.com/syself/cluster-api-provider-hetzner/blob/main/hack/version.sh#L84-L89
You can then use the ldflags to use the provided version information.

I think the CI failure is a flake, as its in the Baremetal test and this PR only touches on hcloud code.


Option to only use sauce connect

I'd like to use the connect part only (as we have custom reporting).
I was thinking an additional option in the config, sauceReport. sauce-service.js would check in onPrepare like
if (typeof config.sauceReport !== 'undefined' && config.sauceReport) {
 this.enabled = false;
}

A problem might be the fact that onPrepare is run on a different process than the rest of them. Thoughts?

Why don't you want to update your test name and add context to your tests?

We already have our own reporter. And we have to report in that format for compatibility reasons.

We already have our own reporter.

How does that have to do with report?

It updates the saucelabs job with custom title and tags.

My point really is, this project is really doing two things:

fire up sauce-connect
report test results to saucelabs

We already have our own solution for part 2 (using wdio hooks). So we would like to only use part 1. So my options are to:

Roll our own sauce-connect thing.
Add the option to opt out of reporting in this project.

I didn't want to start work on a PR if you don't like the idea, or if you have a better solution that could be of help to us.

Roll our own sauce-connect thing.

I think this is the best solution. If you already update the job status by yourself, you should either consider to let this be the job of this service or also implement your own SC integration (using a package like https://www.npmjs.com/package/sauce-connect-launcher).


Maximum parallel database requests should be based on connection pool size

The current implementation chunks the database queries and parallelizes the requests to the database depending on the number of packages:
https://github.com/oss-review-toolkit/ort/blob/9c0a1f506a2c8f2b190e33dec701ed0245abb295/scanner/src/main/kotlin/storages/PostgresStorage.kt#L194-L204
This causes issues when the number of requests is significantly higher than the configured connection pool.
The timeout for new connection pools in hikari is configured to 30000ms.
When all connections are busy and do not finish within 30s, no new connections can be created and this timeout is hit.
This was introduced and discussed in this PR: https://github.com/oss-review-toolkit/ort/pull/3704/files#r587191416
From my point of view the number of maximum parallel database requests should be based on the connection pool size which itself should be configurable.

I am currently rewriting the PostgresStorage for #2668, I will implement it in such a way that the number of parallel requests is limited to the connection pool size. Therefore I would suggest to implement a quick fix for now, for example to limit the number of chunks to the currently hard coded connection pool size.

I also believe that we should generally, not just as a quick fix, not calculate the chunk size based on the number of packages. Because if we do, the chuck size might become arbitrarily large, which could also result in a timeout even for a single request.

I also believe that we should generally, not just as a quick fix, not calculate the chunk size based on the number of packages. Because if we do, the chuck size might become arbitrarily large, which could also result in a timeout even for a single request.

AFAIK there is no default query timeout in PostgreSQL or JDBC, so this should not be an issue.

@MarcelBochtler I have decided to implement a very simple quick fix, could you please verify if that fixes the issue for you?


[#40] Previews

Solves #40
Copied implementation from Action Mailer previews
Added a preview class
Preview classes are associated to a layout in order to properly render the component examples
Preview classes uses test/components/previews/layouts/application as the default layout
Added a railtie class
The railties define three new routes for the components previewing
The route /rails/components/example/*path renders the component using the layout associated to that preview class
The route /rails/components/*path either renders the examples of a component or a specific example depending on the path
When the route /rails/components/*path matches an actual preview example, it renders the component in an iframe having the source to the /rails/components/example/*path route
Added a components controller
Added some examples in the test app

Hey @joelhawksley, do you think this can work as a base branch for the previewing feature?
I basically copied the implementation from Action Mailer previews, but removed some stuff that we might not need, like interceptors and observers.

Thank you @juanmanuelramallo for working on this :raised_hands:
One thing that I love about the gov.uk example that @tijmenb shared is all the details you can get inside a component's page, you don't have to browse between pages to see different statuses and how they look or work.
Do you think it'd be possible to achieve such a page?
Maybe by having some methods/conventions that could be used (from the page title component):
class PageTitleComponentPreview < ActionView::Component::Preview
  def self.summary
    'A page title with optional context label'
  end

  def main
    {
      description: "
This contains an optional parameter for average title length. The two valid values for this parameter are ‘medium’ or ‘long’. Medium titles are titles where the average is around 30 characters or less. Long titles would have an average length of nearer 50 characters or more.

On average the titles on government bits of content are 50 characters. The average for bits of general guidance are nearer 27 characters long.
",
      props: { title: "My page title" },
      accessibility_acceptance_criteria: "some html code with <uo> lists"
    }
  end

  def with_context
    {
      props: { context: "Publication", title: "My page title" }
    }
  end

  def with_context_language_labelled
    {
      props: { context: "Publication", context_locale: "en", title: "My page title" },
      description: "
Sometimes this component appears on a page that has been translated. The title will naturally be supplied in the required language but the context string may fall back to the default. In these instances we need to label the language so the page remains semantic and screenreaders can handle the switch.

The lang attribute must be set to a valid BCP47 string. A valid code can be the two or three letter language code - for example, English is en or eng, Korean is ko or kor - but if in doubt please check.
"
    }
  end
end

The conventions would be:

a class method summary to show the summary/short description in the components list
a hash with a props (or params, data or something else) key in each method

This way there would be 1 single page for each component, which would load all public methods and hashes and use their data to render them (by using the data in the props).
Any extra key (eg. description, accessibility_acceptance_criteria, etc) would be rendered on the page as text, keeping the order from the hash.
The result from the above would be something like:
Page Title
Summary
Main
Description
Example
Example Code
Accessibility acceptance criteria
With context
Example
Example Code
With context language labelled
Example
Example Code
Description

@cover Hey thanks for the comment!

One thing that I love about the gov.uk example that @tijmenb shared is all the details you can get inside a component's page, you don't have to browse between pages to see different statuses and how they look or work.
Do you think it'd be possible to achieve such a page?

Definitely, fairly simple change I think. I can update this PR to have that.
Though I would like to double check with @joelhawksley about it. Since current behaviour is just a copy from action mailer previews.

a class method summary to show the summary/short description in the components list

I'd rather use here a class method like the set_layout one. So that end users can set the summary by calling set_summary in their previews.

accessibility_acceptance_criteria

What's the accessibility_acceptance_criteria for?

description

IMHO writing HTML in a string inside a hash inside these example methods, seems a bit too much for a convention to me. Though I like the idea of optionally providing some explanation about the example.
But what do you think if instead of having this description attribute per example we just use the method name of the example?

example code

I like it. Maybe we can include it as a subsequent PR. So that we don't make this PR bigger than it already is (?) What do you think?

I'd rather use here a class method like the set_layout one. So that end users can set the summary by calling set_summary in their previews.

set_summary sounds great :raised_hands:

What's the accessibility_acceptance_criteria for?

It was just a straight up example from the gov.uk page. On their page title component page they have this "Accessibility acceptance criteria" section. I'd expect that each company would like to have their own custom list or content to put on their component page (text, links, lists, images, etc).
So the idea, also related to the description key, is to just require a props key (or with a different name) to be present in the hash, and all other keys/values would be treated as section titles/section contents. This way adding a description key with some content as value would render a "Description" section with its content on the page, adding a important_notes key would add a "Important notes" section, and so on.
The content itself could be a plain string (eg. a simple text description) or a more complex html structure, based on the need of the developers and the information that they want to display.
I'd expect that for many people/teams just the name of the method would be enough to understand what the variant is about. At the same time it'd be nice to provide enough flexibility to add any extra content for those teams that require it :thinking:

It was just a straight up example from the gov.uk page. On their page title component page they have this "Accessibility acceptance criteria" section. I'd expect that each company would like to have their own custom list or content to put on their component page (text, links, lists, images, etc).

@cover I love this idea! However, I want to be cautious with adding functionality that doesn't exist in ActionMailer::Preview, at least in this PR.
As mentioned in the project README, our goal with this gem is to stick as closely to existing Rails behavior as possible.
That all being said, I think this idea has potential. I'm wondering if it might make sense to start with a PR to Rails that adds this kind of annotation functionality to ActionMailer:Preview?

Hey @joelhawksley, I think all comments have been addressed now.
Though I have one question, we have something slightly different from how ActionMailer::Preview s work. We display all the examples from a component preview in one template. On the opposite, ActionMailer displays the emails from one mailer one per page.
Do you think we should also mimic that, and display only one preview of a component in one page?

Do you think we should also mimic that, and display only one preview of a component in one page?

I think that for now it would probably be best to do what ActionMailer::Preview does, which is one per page. We can always deviate from the established convention later 😄

Do you think we should also mimic that, and display only one preview of a component in one page?

I think that for now it would probably be best to do what ActionMailer::Preview does, which is one per page. We can always deviate from the established convention later 😄

Got it! Will update

Looking good. All I think that's left is to add some sort of tests. How do you think we might test this?

I didn't add any tests for these since it's an internal tool, the testing would be actually going to the rails/components path and checking that the rendering occurs as expected.
Also I couldn't find any tests for ActionMailer::Preview.
But anyways we could add some tests if you think we need them; I'm not sure how we would do it, but definitely something we can add.

@juanmanuelramallo let's just merge this ❤


Unable to run example audio-video.html locally

Description
I am trying to run the audio-video.html on my local macbook. I get the following error:
Not allowed to load local resource: blob:null/87fe6221-142a-4f82-af80-b97a8a44839b video.min.js:20 VIDEOJS: ERROR: (CODE:4 MEDIA_ERR_SRC_NOT_SUPPORTED) The media could not be loaded, either because the server or network failed or because the format is not supported. i {code: 4, message: "The media could not be loaded, either because the …rk failed or because the format is not supported."}e @ video.min.js:20h.error @ video.min.js:20b.error @ video.min.js:17b.handleTechError_ @ video.min.js:17e @ video.min.js:20e @ video.min.js:20d.dispatcher.d.dispatcher @ video.min.js:20
Steps to reproduce
Cloned the videojs-record
used bower to resolve all dependencies
fixed the js/css references in the audio-video.html file
Load the html file in the browser
Results
Expected
Expected the audio-video.html file to work as the actual hosted example (which works fine!).
Actual.
As reported above
Error output
As reported above

Additional Information
Please include any additional information necessary here. Including the following:
versions
videojs 5.13.0
browsers - Chrome Version 52.0.2743.116 (64-bit)
OSes
what platforms (operating systems and devices) are affected?
OSX 10.11.6

Few ideas. Try to set breakpoint on player.on('finishRecord', function() and check what does player.recordedData return. Also do you have access to PC? Could you try to do same setup?
Btw is deployed version working fine for you?

getUserMedia stuff needs to be run from a webserver. Please reopen if you can reproduce this with a RecordRTC example.


Consume languageServiceEnabled Events from TS

fixes #15208
Bug
We currently use our own logic to determine if a TS project contains too many files. The actual TS server may use different criteria for determining this.
Fix
For TS 2.1.3+, listen for languageServiceEnabled events from the TS server instead.

@jrieken as written the code initially. Any comments. The change looks fine to me.

lgtm


Infinite scroll content-shrink on mobile

The full page demo will suddenly shrink the content (change zoom level maybe?) on mobile safari when scrolling down. I suspect it happens when 3d - Holograms gets loaded but isn't yet in the viewport because the video width is wider than the rest. It's not necessarily a bad thing but is unexpected and jarring.

Test case: https://infinite-scroll.com/demo/full-page/

Thanks for reporting this issue. Looks to be a CSS bug in the demo. I'll follow up once its resolved.


[BEAM-6233]: Add initial user timer support in Dataflow for batch pipelines

Adds initial user timer support in Dataflow for batch pipelines.
There are still some TODOs in the remote operation that might be able to be fixed in this PR.
Testing still needs to be done for streaming pipelines. Specifically testing needs to be done to ensure that the StateNamespace for the timer internals are Windmill-OK.

Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[x] If this contribution is large, please file an Apache Individual Contributor License Agreement.

It will help us expedite review of your Pull Request if you tag someone (e.g. @username) to look at it.
 I paused when I saw Robert reviewing, figuring he is a bit closer to this than I am lately.

Run Java PreCommit

LGTM. Merging...

Please squash the fixup like commits based on the thread<EMAIL_ADDRESS>


tz_offset_ not working on sunrise

I tested the tz_offset_ parameter, but changing it, doesn't make any change on output.

Hi Mario, could  you provide a bit more context, what are the inputs you are trying, what is the seen output and what is the expected output?
It's been quite long time since I worked on this project, but I think timezone is just representational. It is just for being able to make the output more readable. It doesn't actually change the sunrise time in an absolute sense. The main factor is instead the location given by latitude and longitude. I hope that might possibly answer your question, if I understand you correctly.

Sunclock::Sunclock(double const &latitude_, double const &longitude_, double const &tz_offset_)
I mean, using tz_offset_, there is no effect on
time_t Sunclock::sunrise(time_t date) {
if that is UTC+0 it will be ok all the time.

I don't remember it clearly, but if I am not wrong, both input and ouput of sunrise are in UTC.
tz_offset only comes into picture when deciding the date at given location. Here's how I remember it works:

We take input in UTC
We use tz_offset to know the date and time at the interested location (note: date can change here compared to UTC)
We calculate sunrise time for that date and location
We convert  sunrise time back to UTC (again, using tz_offset) and return it


Refractor to use a single Selenium instance per download loop / version checking loop

Currently Underwolf starts a new driver (or is written to, I'm digging into Selenium) for each download call. That's not performant. We should be able to use a single visible instance (for downloading addons) and a single headless instance (for version checking) for both parts of the flow - version checking and downloading.
This is poor original code on my part, so we're going to clean it up! Help is welcome 💯

@RafaFuentesdev this looks good - I'll give it a good old test when I'm back in front of my machine. I never considered the use of globals for the browser instances -- good thinking.

closed by #34


Consider nullability when casting between structs

Which issue does this PR close?

Closes #.
Rationale for this change

Different to casting from primitive types, casting between structs needs to consider nullability as the fields of structs have nullability properties. Query engines e.g., Spark usually use field nullability to do query optimization so it is necessary to make sure content nullability is consistent with metadata nullability.
What changes are included in this PR?

Are there any user-facing changes?

Perhaps we could use StructArray::try_new which will validate nullability and return an error, if we aren't already. I think this would still preserve the invariant that nullable columns don't obtain nulls?

Perhaps we could use StructArray::try_new which will validate nullability and return an error, if we aren't already. I think this would still preserve the invariant that nullable columns don't obtain nulls?
Or to phrase it differently, the array constructors already verify this, so perhaps this is sufficient??

Ah, that's good to know StructArray already does the check. But currently the cast kernel doesn't use try_new but new. Let me update it and add corresponding test.
Thanks.

Thank you @tustvold


Fix: always pull to the active branch

It may be confusing to pull to a branch other than the active branch
https://github.com/divmain/GitSavvy/issues/729#issuecomment-322219945
close #729

The maintainers of this repo require that all pull request submitters agree and adhere to the following:

[x] I have read and agree to the contribution guidelines.
(required)
[x] All related documentation has been updated to reflect the changes made. (required)
[x] My commit messages are cleaned up and ready to merge. (required)

The maintainers of this repository require you to select the semantic version type that
the changes in this pull request represent.  Please select one of the following:

[ ]  major
[ ]  minor
[x]  patch
[ ]  documentation only

I will address 87-90 in #713


re-styled share button icons

Hello PA @Manaregr8
Issue resolved - #321
https://github.com/ChromeGaming/Community-Page/assets/85826117/f5931d97-322e-4177-8e26-adbbc0576cfb

@Manaregr8  Kindly add labels

Hi @Ridhima10,
Thanks for letting me know

Similar functions added before and got level 3 so downgrading one of the PR


Suggestion: Allow time spinner to wrap-around

It would be nice to let the hour/minute spinners wrap around. For example, if time is currently 13:59 and the user wants to use the spinner to get to "00" minute, he currently can't click up once.

I'd second this. Main place I notice it is when the picker first opens, the default time is 12:00PM, would make sense to be able to click up by 1 on the hour interface to get to 1pm.

Got back from vacation and downloaded new bits. Thanks for this!


Add "search episodes by person"

Added the call for "search episodes by person".

Nice! Thanks for adding the endpoint :)

Released a new version! Thanks for your contribution. I'll add a "Contributors" section in the README soon and give you credit.
https://pypi.org/project/python-podcastindex/#history


Docker uses nginx

Have you worked with the Docker container which is using nginx? Any guidance on install for that scenario? Looks like I need to define the correct path to the .conf or html and that should be it?

I can't say I have worked with Docker, but I feel there's only one thing you'd need to consider for it to work with Nginx:
Pi-hole uses the Lighttpd variable server.error-handler-404 to make the block page work. Since you can't directly override that variable without Lighttpd failing to start (and I won't modify /etc/lighttpd/lighttpd.conf to achieve this), I use url.rewrite-once = ( "pihole/index.php" => "/index.php" ) instead.
If you know of a way to replicate either of these with the Nginx config, then you're golden.
Hope this helps!


[4pt]  - Display number of likes for each item on the Homepage - Student A

When the page loads, the webapp the Involvement API to show the item likes and combines them with the data from the base API.
Remember that your page should make only 2 requests:

one to the base API
and one to the Involvement API.

This task does not include displaying the likes button (heart icon on the wireframe) for each item.

The url to my pull request for review is; https://github.com/LeslieAine/tv-webapp/pull/21


github action end 2 end test

resolve https://github.com/konveyor/tackle-operator/issues/34
This Pr is auto-testable, checking that in github works.
Also has a copy of the workflow in a shell script in src/test/resources/test-minikube.sh that will execute all the steps .

follow up in https://github.com/konveyor/tackle-operator/pull/66


Histo range

For review.
Added a small paragraph about histo range.
Fix for #144

looks good to me


Upgrade the docs to camel-quarkus-last-release: 0.2.0

This step should be performed with the release and is documented in RELEASING.adoc.

You're always really nice with the rest of the community. Thanks for pointing that this is in releasing.adoc. You know, I were trying to release 0.2.0 just 4 times. You could forgive this little thingy.

Forgiving :-)

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/camel-quarkus-pr/171/


Sequence not working as expected

Is there a way to understand what conditions would cause Sequence not to work as expected? I tried this in a test:
factories.py
class Event(mongoengine.Document):
    name = mongoengine.StringField(required=True)
class EventFactory(factory.mongoengine.MongoEngineFactory):
    class Meta:
        model = Event
    name = factory.Sequence(lambda n: 'event_%d' % n)

testcases_spec.py:
        it('should correctly generate sequences via Factory'):
            e0 = factory.build(dict, FACTORY_CLASS=EventFactory)
            e1 = factory.build(dict, FACTORY_CLASS=EventFactory)

            (e0['name']).should.equal('event_0')
            (e1['name']).should.equal('event_1')

the first 'should' passes (name is 'event_0', as expected), yet the second one fails (name is 'event_0', rather than the expected 'event_1')
any pointers?
(python 2.7, factory_boy 2.6.x, uptodate MongoDB, though as you can see from the above that's not even touched in the test.

You should be using EventFactory.build().
When you call factory.build(dict, FACTORY_CLASS=EventFactory) twice, this is equivalent to doing:
class E0Factory(EventFactory):
    class Meta:
        model = dict
e0 = E0Factory.build()

class E1Factory(EventFactory):
    class Meta:
        model = dict
e1 = E1Factory.build()

Thus, both instances are actually built from different factory classes, each having its sequence starting back to zero.

Then I guess I'm having confusion understanding how to use both the MongoEngine section of https://factoryboy.readthedocs.org/en/latest/orms.html   combined with the converting of a factory's output to a dict of http://factoryboy.readthedocs.org/en/latest/recipes.html
If I follow precisely what you wrote, then my code (from above) looks like:
testcases_spec.py:
it('should correctly generate sequences via Factory'):
e0 = EventFactory.build()
e1 = EventFactory.build()

which results in:
Failure/Error: spec/pychronicle_spec.py e0 = EventFactory.build()
KeyError: '_cls'
(sounds like an error related to setting the Sequence?)
SO I understand when you describe the WHY behind different factory classes, each having its own sequence. But I'm not understanding HOW you're intending we should implement this  to both build, and then later, convert to a dict

Continuing to try to isolate the problem. The following works, as expected and document:
`
class Cat:
def init(self, eyes='green', toys=0):
self._eyes = eyes
self._toys = toys
@property
def eyes(self):
    return self._eyes

@eyes.setter
def eyes(self, e):
    self._eyes = e

@property
def toys(self):
    return self._toys

@toys.setter
def toys(self, t):
    self._toys = t

class CatFactory(factory.Factory):
class Meta:
model = Cat
eyes = "blue"
toys = factory.Sequence(lambda n: n)

`
thus:
from factories import *
cato = CatFactory()
print cato.eyes, cato.toys

gives
blue 0
and
cato_green = CatFactory(eyes = 'green')
print cato_green.eyes, cato_green.toys

gives
green 1
but when I use the format the docs suggest for working with ORM , it does not:
`
class Event(mongoengine.Document):
name = mongoengine.StringField(required=True)
event_id = mongoengine.StringField(required=True)
timestamp = mongoengine.ComplexDateTimeField(required=False)
payload = mongoengine.GenericEmbeddedDocumentField(required=False)
class EventFactory(factory.mongoengine.MongoEngineFactory):
class Meta:
model = Event
# @factory.sequence
# def name(n):
#     return 'event_%d' % n
name = factory.Sequence(lambda n: 'event_%d' % n)
event_id = factory.Faker('uuid4')
timestamp = datetime.datetime.now()
payload = {}

`

I'm reopening, since @jcquarto is actively looking into this. I don't use the MongoEngine stuffy myself, so unclear if this is a code bug, a docs bug, or works-as-intended. I suspect a docs bug myself, as the recipe for converting to a dict only recently got added.

I noticed over the weekend that if I replace the name of the class "Event" in my example , then the code works.  I haven't been able to track down why this is some sort of reserved word; it might be useful to add to the documentation what words, if any, are similarly reserved (or problematic if used).
At the risk of re-stating some earlier commentary, this also means this has nothing to do with mongoengine. I re-worked my Cat example (above) with Event, no change other than the class name,  and had the same issue. There's something about the word Event (and possibly other words), that causes Sequence to work incorrectly when the class name is "Event".
Perhaps this is related somehow to Python treating local and global scope somewhat differently than other languages, and something is slipping through?
I hope that helps. If someone wants to dig deeper I'd be happy to assist but I don't know enough about this library to lead the effort

I'm currently at a loss. The answer that @rbarrois gave looked correct as per the docs, but doesn't work when I code it that way. I was hoping the error message mentioned above ("KeyError: '_cls' ") would spark some insight

when I don't use mongoengine, the factory works as expected. however, dict does not
My solution is not to use mongoengine anymore, and install use a snippet I found on StackOverflow for converting an object instance to a dict:
import inspect

def props(obj):
    pr = {}
    for name in dir(obj):
        value = getattr(obj, name)
        if not name.startswith('__') and not inspect.ismethod(value):
            pr[name] = value
    return pr

thus now I do:
e0 = EventFactory.build()
e1 = EventFactory.build()

which gets me the build() as per @rbarrois  and then I do
q0 = props(e0)
q1 = props(e1)

to convert them into dicts. This bypasses the not-working-with-mongoengine approach of
q0 = factory.build(dict, FACTORY_CLASS=EventFactory)
q1 = factory.build(dict, FACTORY_CLASS=EventFactory)

I hope that's a useful enough of a hint that any readers can either use it or track down where in the code dict doesn't play nice with  mongoengine

@jcquarto in your stack trace, where does the error appear (with _cls)?
This could be a bug in factory_boy, so I'd like to fix it.
If you have a working factory for MongoEngine and want to extract it as a dict, you may also do the following:
class EventFactory(factory.mongoengine.MongoEngineFactory):
    # Your code here

class EventAsDictFactory(EventFactory):
    class Meta:
        model = dict

EventAsDictFactory.build()

@jcquarto in your stack trace, where does the error appear (with _cls)?
This could be a bug in factory_boy, so I'd like to fix it.
If you have a working factory for MongoEngine and want to extract it as a dict, you may also do the following:
class EventFactory(factory.mongoengine.MongoEngineFactory):
    # Your code here

class EventAsDictFactory(EventFactory):
    class Meta:
        model = dict

EventAsDictFactory.build()

here's the stack trace from the last time I ran the tests before I scooted around the problem by by-passing the use of Sequence with mongoengine.
  1) pychronicle: CRUD behavior: it should correctly generate sequences via Factory
     Failure/Error: spec/pychronicle_spec.py e0 = BaseEventFactory()
         KeyError: '_cls'

     File "/Users/john/anaconda/lib/python2.7/site-packages/mongoengine/fields.py", line 591, in to_python
         doc_cls = get_document(value['_cls'])
     File "/Users/john/anaconda/lib/python2.7/site-packages/mongoengine/base/document.py", line 118, in __init__
         value = field.to_python(value)
     File "/Users/john/anaconda/lib/python2.7/site-packages/factory/mongoengine.py", line 45, in _create
         instance = model_class(*args, **kwargs)
     File "/Users/john/anaconda/lib/python2.7/site-packages/factory/base.py", line 467, in _prepare
         return cls._create(model_class, *args, **kwargs)
     File "/Users/john/anaconda/lib/python2.7/site-packages/factory/base.py", line 492, in _generate
         obj = cls._prepare(create, **attrs)
     File "/Users/john/anaconda/lib/python2.7/site-packages/factory/base.py", line 567, in create
         return cls._generate(True, attrs)
     File "/Users/john/anaconda/lib/python2.7/site-packages/factory/base.py", line 81, in __call__
         return cls.create(**kwargs)
     File "spec/pychronicle_spec.py", line 105, in 00000007__it should correctly generate sequences via Factory
         e0 = BaseEventFactory()

the only difference from the very top of this thread is that the last thing I tried was to re-name the class name from Event to BaseEvent (ditto with the factory) in the nominal hope that "Event" was some sort of reserved word.


Environment realm instance is different from the one initially injected

How frequently does the bug occur?
Always
Description
Since 10.39.0, SwiftUI Environment realm instance is different from the one that was initially injected into environment.
When app starts, I open the realm and query a User object which maps to current logged in user. Then later, on ContentView the realm and user are injected into the environment:
.environment(\.appUser, user)
.environment(\.realm, realm)

Then in my SwiftUI views:
@Environment(\.realm) var realm
@Environment(\.appUser) var appUser

When objects are retrieved from realm and queried against user properties, the app crashes with error:
Object must be from the Realm being queried

Printing realm and user.realm retrieved from environment confirms that they are different instances.
Last working version: 10.38.0.
Stacktrace & log output
No response
Can you reproduce the bug?
Always
Reproduction Steps
Open realm:
let realmUser = /*get app.currentUser or authenticate it.*/
let realm = try await Realm(configuration: realmUser.flexibleConfiguration, downloadBeforeOpen: downloadMode)

Getting User.object
let user = realm.objects(User.self).first(where: { $0._id == realmUser.id })

Injecting both into environment:
MainContentView()
.environment(\.appUser, user)
.environment(\.realm, realm)

Child SwiftUI view:
@Environment(\.realm) var realm
@Environment(\.appUser) var appUser

let results = realm.objects(SomeObject.self).where({ $0.someProperty == appUser.someProperty })

And then it crashes with:
Object must be from the Realm being queried

Version
10.39.0
What Atlas Services are you using?
Both Atlas Device Sync and Atlas App Services
Are you using encryption?
Yes
Platform OS and version(s)
macOS 13.3.1, iOS 16.4.1
Build environment
Xcode version: 14.3

@horatiu1921 Do you see the problem if you inject just the realm, then access app.currentUser within the child view? Do you have multiple users and realms in this app? Do you have any more reproduction steps or a sample reproduction proj?

@ericjordanmossman The user I mentioned is not a RealmUser but a custom User realm object created by an Atlas function when someone creates an account on my app. After the realm is open, I check if this user object exists and then the realm and user are injected into environment.
let realm = try await Realm(configuration: realmUser.flexibleConfiguration, downloadBeforeOpen: downloadMode)
let user = realm.objects(User.self).first(where: { $0._id == realmUser.id })

MainContentView()
.environment(\.appUser, user)
.environment(\.realm, realm)

Then, from a SwiftUI view, using @Environment(\.realm) var realm fetch some objects and try to filter them let results = realm.objects(SomeObject.self).where({ $0.someProperty == user.someProperty }), the app crashes.
I have a single realm and a single app user in the app.
What happens in my case is that this realm
let realm = try await Realm(configuration: realmUser.flexibleConfiguration, downloadBeforeOpen: downloadMode)

injected into environment
MainContentView()
.environment(\.realm, realm)

and then get back @Environment(\.realm) var realm are different instances. Which was not happening on Realm 10.38.0.

@horatiu1921 every time you access a view and use @Environment(\.realm) var realm a new instance of the realm is created, this doesn't mean that this realm has different configuration or is associated to a different realm file, it's just initialised on every screen. This is because we don't actually store the realm instance but the realm configuration when you use .environment(\.realm, realm).
In the other hand, from the error Object must be from the Realm being queried, it seems like the schema for the realm you are using to query the User object does not include the property you are querying, I would suggest.

To verify that the configuration from the realm is the same one that you injected.
Verify that the schema associated to the realm includes the User object and the _id property.

@dianaafanador3 thank you for the update! I will investigate further to see what is happening but the thing is the same code works just fine on Realm 10.38.0 and it crashes on v 10.39.1.

Hi @horatiu1921 did you manage to solve your issue?

Hi @leemaguire,
No, the original issue is still there. What I did, as a workaround, is to get the user from @Environment(\.realm) var realm and further inject it into environment .environment(\.user, user).
I guess we can close this issue even if I still don't know what is causing it. It worked just fine on Realm 10.38.0.


Adding TLS to server REST API

Adding TLS and fixing small glitch in comm.httptransport.go
Signed-off-by: Gennady Laventman<EMAIL_ADDRESS>

scripts/tlsGen.sh Is an empty file


I am a beginner. Can you help me?

I have solved this question, use A virtual environment using python3.7.But I have another problem.

An LTO version error occurred. Add -fno-lto to the makefile

how to solve this problem?

please explain it in detail about how to import that cpp module.Thank you!

如何解决这个问题
use make order in the file jpegpy

Thanks


results: Display due date and submission time

Motivation and Context

An instructor requested that we display the due date and submission time when grading (to help apply manual late penalties on a case-by-case basis).
Your Changes

Description: Display due date and submission time under "Submission Info" tab.
Type of change (select all that apply):

[x] New feature (non-breaking change which adds functionality)

Testing

Tested manually in UI.
Questions and Comments (if applicable)

Checklist

[x] I have performed a self-review of my own code.
[ ] I have verified that the pre-commit.ci checks have passed.
[ ] I have verified that the CI tests have passed.
[ ] I have reviewed the test coverage changes reported on Coveralls.
[x] I have updated the Changelog.md file.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 91.852%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
37920

Relevant Lines:
40743

💛  - Coveralls


TrusPUSiteList=True not functionning in ACDC assignment

https://cmsweb.cern.ch/couchdb/workqueue/_design/WorkQueue/_rewrite/elementsInfo?request=prozober_ACDC_EXO-RunIISpring16DR80-03702_00622_v0__160901_084155_3027
was assigned with TrustPUSitelist=True and yet the WQE has "NoPileupUpdate":false and does not want to move on to acquired because of the PU location.
no DR80 ACDC is getting to run now because of this.

We definitely need to improve these issues reports if you want us to work efficiently on them...

how was the acdc created? which script?
how was it assigned? which script? any chances you still have the command line in your terminal?

makeACDC as usual
assign.py --secondary_xrootd

both used to function but as you can see, despite the spec having the correct values, the WQE does not.

@prozober please create the ACDC for pdmvserv_EXO-RunIISpring16DR80-04266_00626_v0__160826_164045_3022 and assign with assign.py using the --secondary_xrootd option as usual

Use --verbose please and report it back here the output of:
https://github.com/CMSCompOps/WmAgentScripts/blob/master/assign.py#L91

https://github.com/CMSCompOps/WmAgentScripts/blob/master/resubmit.py you have blacklisted the TrustPUSitelists and https://github.com/CMSCompOps/WmAgentScripts/blob/master/assign.py sets it alright

Alan, I am attaching the output of the assignment process.
output.txt

yup https://cmsweb.cern.ch/couchdb/workqueue/_design/WorkQueue/_rewrite/element/b90d2fc74a48d0181e255dd8f811be6c
"NoPileupUpdate":false

one more piece of info : existing ACDC that made it through all seem to have an intersection with the PU location, so the issue might have been there since day one.

BTW, does it happen only for ACDCs?
I'll investigate it in the coming days.

Only ACDC as far I can tell, as all premix backfill tests were assigned this way.

N.B. this is a show-stopper to making recoveries on the on-going DR80 campaign with premix.

Then I'm working on it. Thanks!

Fix will be available only in the next production deployment (Sept 13th)

We'll clone DR80 instead of ACDC untill then


Update DG

Codecov Report

Merging #215 into master will increase coverage by 0.05%.
The diff coverage is 100.00%.

@@             Coverage Diff              @@
##             master     #215      +/-   ##
============================================
+ Coverage     68.62%   68.67%   +0.05%
- Complexity      541      542       +1
============================================
  Files            91       91
  Lines          1836     1839       +3
  Branches        197      197
============================================
+ Hits           1260     1263       +3
  Misses          502      502
  Partials         74       74

Impacted Files
Coverage Δ
Complexity Δ

...u/forgetfulnus/logic/parser/EditCommandParser.java
93.93% <ø> (ø)
11.00 <0.00> (ø)

...du/forgetfulnus/logic/parser/AddCommandParser.java
86.20% <100.00%> (+1.59%)
8.00 <1.00> (+1.00)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 6bf37d0...d09ea60. Read the comment docs.


fix: Restoring previously-saved credentials from secret-box-service [DEV-1898]

Task linked: DEV-1898 Fix issues with restoring wallet from secret box service


⚠ Bofrost.at has degraded performance

In f001f29, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1950 ms

Resolved: Bofrost.at performance has improved in 07f071d.


Adding doc reference snippets to sample code

@tyle8552 Can you look this over?
The developers dev site is now referencing snippet code from samples instead of hard coding them on the site. Any sample code I couldn't find I added a file to resources/docref to reference that code till a sample comes along and shows that functionality.
Issue: https://devtopia.esri.com/runtime/java-se-sdk/issues/817

@john0005 Sorry I didn't see this earlier. I'm going to try to setup a meeting to discuss this. We need to make sure we do this right. The text files in docref doesn't look like the right approach to me.

@tyle8552 Sounds good just let me know when.

Closing this as we have a new plan.


Update README.md

just a simple misspelled.

build.example had actually existed before (https://github.com/tetratelabs/proxy-wasm-go-sdk/blob/4e9b9116c8a617570a4976c1f6822c8fefc5cae4/Makefile#L4-L8) but accidentally deleted in https://github.com/tetratelabs/proxy-wasm-go-sdk/commit/3851b164108c97390e03c4e314ddbd97b509272e#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52. Could you rescue build.example rather than fix typo?

makes sense. this is a new PR

fyi you don't need to close the PR - you can repurpose it and that's really normal thing on GitHub


Unable to run helm upgrade due to immutable pvc volume name in rekor chart

Description
The volume name for the trillian server pvc is not currently a configurable value in the chart. Because of this, the volume name is generated during the initial deployment. During subsequent deployments (when using helm upgrade --force), an error is returned because the pvc is immutable for bound claims.
Error: UPGRADE FAILED: failed to replace object: PersistentVolumeClaim "rekor-server" is invalid: spec: Forbidden: spec is immutable after creation except resources.requests for bound claims
  core.PersistentVolumeClaimSpec{
  	AccessModes:      {"ReadWriteOnce"},
  	Selector:         nil,
  	Resources:        {Requests: {s"storage": {i: {...}, s: "5Gi", Format: "BinarySI"}}},
- 	VolumeName:       "pvc-f671a0c6-9943-4971-a714-3650700e5d50",
+ 	VolumeName:       "",
  	StorageClassName: &"gp2",
  	VolumeMode:       &"Filesystem",
  	... // 2 identical fields
  }

If the volume name is made configurable (similar to storage class name), then this problem can be avoided.

Well.... I ran into other problems manually creating the persistent volume in order to pass in a volume name. I'm going to go ahead and abandon the PR and issue in favor of not using the --force flag. That seems to be a better approach.


Add s3:PutObjectAcl to write policies

This came up here:

https://github.com/simonw/public-notes/issues/9#issuecomment-1328567164

It turned out django-storages nees a write policy that includes s3:PutObjectAcl: https://django-storages.readthedocs.io/en/latest/backends/amazon-S3.html#iam-policy
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:GetObjectAcl",
                "s3:GetObject",
                "s3:ListBucket",
                "s3:DeleteObject",
                "s3:PutObjectAcl"
            ],
            "Principal": {
                "AWS": "arn:aws:iam::example-AWS-account-ID:user/example-user-name"
            },
            "Resource": [
                "arn:aws:s3:::example-bucket-name/*",
                "arn:aws:s3:::example-bucket-name"
            ]
        }
    ]
}

Looks like I should add s3:GetObjectAcl to the default read policies too.

Should I add s3:PutObjectTagging too? Worth reviewing these in full.
From the Wagtail docs at https://docs.wagtail.org/en/stable/advanced_topics/deploying.html#cloud-storage I found a link to this documentation about S3 ACLs: https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#permissions
It looks like ACLs are no longer recommended (I think IAM came later) but that document DOES include a useful mapping of the old read/write ACLs to their modern permissions:

Here's a full list of 36 Put permissions:
https://iam-definitions.vercel.app/iam/privileges?_sort=rowid&_facet=service&privilege__startswith=Put&service__exact=s3
And 50 Get permissions:
https://iam-definitions.vercel.app/iam/privileges?_sort=rowid&_facet=service&privilege__startswith=Get&service__exact=s3

7 for PutObject https://iam-definitions.vercel.app/iam/privileges?_nocol=resource_types&_facet=service&_sort=rowid&privilege__startswith=PutObject&service__exact=s3


Put an intermission at the halfway point

2 hours of continuous busting with no breaks can wear on our stamina. Busty should calculate the halfway point of the bust and put a 10 minute or so intermission in there.

I suggest we have a setting max_contiguous_time or something and make #intermissions=floor(total_time/max_contiguous_time)
place each intermission at the closest break to where they would be if they were evenly distributed.
there is technically an edge case where for really long songs the nearest break can be the same for multiple intermissions, i say in this case we just "merge" the two and have less intermissions. this is unlikely to happen in an actual bust with reasonable parameters however.

I suggest for a roughly 2 hour bust length we have no more than 2 intermissions. They can break up the flow of the evening and extend the total length (and thus the time people need to carve out for the evening).
Also how about 5 minute breaks over 10? I mostly need it for getting water and a snack + pee break.
Finally, it'd be nice to calculate these during a !list, and then insert them into the !list output so that it's clear when an intermission will happen.

I can work on this one. Have an implementation mocked up, will test it and submit a PR.

Related: #107


[ImgBot] Optimize images

Beep boop.
Your image file size has been reduced!

Details

File
Before
After
Percent reduction

/src/images/jason-lengstorf.jpg
77.36kb
70.77kb
8.53%

/static/images/jason-lengstorf.jpg
55.80kb
54.18kb
2.91%

/static/downloads/when-things-go-wrong-survival-checklist.jpg
889.73kb
876.55kb
1.48%

/static/safari-pinned-tab.svg
4.80kb
4.79kb
0.28%

Total :
1,027.69kb
1,006.28kb
2.08%

📝docs | :octocat: repo | 🙋issues | 🏅swag | 🏪marketplace

If you want, you can install https://imgbot.net in this repo (or on all repos in your account).
It will automatically send PRs for image optimization 🙂

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[New architecture] Upgrade react-native-document-picker

We need to upgrade react-native-document-picker in order to use the new architecture in the App.
More context: https://expensify.slack.com/archives/C01GTK53T8Q/p1707293299589539
Discussion here: https://expensify.slack.com/archives/C01GTK53T8Q/p1707293474881669

Just an upgrade, not a new lib. Recategorizing...

Hey! I’m Wojtek from Software Mansion, an expert agency, and I’d like to work this issue.

Of course!

Adding BZ for C+ payment

C+ payment should be issued at standard rate of $500 assuming no regressions

@hoangzinh thank you! I think the only payment due here is for C+ (@yuwenmemon or @hoangzinh let me know if I'm missing something)
Offer sent to you @hoangzinh

contract ended and payment remitted - thanks @hoangzinh!


➕ [RESOURCE] - Add AVL Trees to DSA

Idea Contribution

[X] I have read all the resource request issues.
[X] I'm interested in working on this issue
[X] I'm part of GSSOC organization

Where do you want to add the resource? Specify the category and section.
Description: A self-balancing binary search tree where the difference between heights of left and right subtrees cannot be more than one.
Use Cases: Implementing balanced search trees, ensuring O(log n) time complexity for insertion, deletion, and lookup.
@jfmartinz, assign me this issue under GSSOC'24
Provide the URLs of the resources you are adding
No response
Any alternative approaches/features
No response
Additional Context
No response
Code of Conduct

[X] I follow the CONTRIBUTING GUIDELINE of this project.

@jfmartinz, could you please assign me this issue under GSSOC'24

@jfmartinz, could you please assign me this issue under GSSOC'24

@jfmartinz, could you please assign me this issue under GSSOC'24


Feature request: Interactively select which package to update

Thanks for the great tool 🎉
One feature request. I'd like to interactively select which packages to update so that I can manually omit updates on some particular packages like https://github.com/dylang/npm-check

That's actually one of features I've been thinking of, but I'm unlikely to add any interactivity to the CLI in the near future as I don't feel very comfortable with developing or testing it. The history is that the CLI had some interactivity in the first place, where you could choose write or commit for updated dependencies, but I removed it for the sake of simplicity.
But I'll definitely add some improvements to the workflow with the CLI based on #144 in the near future.
I didn't know npm-check but it may be a good reference for the UI. Thanks for the information.


[FEATURE REQUEST] In "Installed Packages" view, add ability to sort by date of installation, date of last update

Please confirm these before moving forward

[X] I have searched for my feature proposal and not found a work-in-progress/duplicate/resolved/discarded issue.
[X] This proposal is a completely new feature. If you want to suggest an improvement or an enhancement, please use this template

Describe the new feature
Self explanatory
In this view

How to determine when each package was first installed, last updated ?
Describe how this new feature could help users.
Sometimes when investigating issues, it helps to review software by order it was last updated or the recently installed software

Hello,
This is not possible since not all Package Managers offer this information


Copy all headers, not only selected ones

gpg.rb:103ff defines and uses a list of "standard" and "more" headers that are to be copied from the cleartext email to the new wrapper email. That list is not sufficient, there's a lot more headers in legitimate use. Personally I'd like to use the List-*-headers.
Is there any reason to exclude them from the list of allowed headers? They're even standardized in own RFCs  (e.g. List-Id, from RFC 2919).
[Edit: I see List-Id has been added to the list. Still missing are List-Post, List-Help and others.]
Beyond that I'm wondering what the motivation for this list is. Why not just copy all headers except those that need to change? If I want to include a header of my choice (standardized or not) I should be able to do so, no?

Thanks for merging!
I'd still be interested in your motivation to filter the headers, though: Is it to keep people from passing on too much potentially sensitive information?
Thanks again!

On 02/20, Fup Duck wrote:

Thanks for merging!

Well, sorry it happened so late ;)

I'd still be interested in your motivation to filter the headers, though: Is
it to keep people from passing on too much potentially sensitive information?

Yes, something in the line of this. But I agree that we might be doing too much
here and this could be an optional feature.
Cheers,
Jens
--
Jens Krämer
https://jkraemer.net/

This is a great gem, thank you for writing and maintaining it!
I do agree that the selective copying of headers is undesirable. It seems orthogonal to what this gem does -- encrypt and decrypt mail bodies/attachments. The ideal/expected solution would be to simply encrypt or decrypt those bits and leave the rest of the mail alone.
In my case I was missing Return-Path and Received headers after decrypt.
But I don't think the right approach is to add these to some whitelist of headers. Filtering headers seems outside the scope of this module. I would go so far as to say it is unexpected behavior.
If there are some headers the break due to encryption or decryption (like DKIM-Signature) it makes sense to have an optional blacklist for those, perhaps, and filter them out. But it hardly makes sense to delete unknown email headers by default (even if they don't have an X-), particularly given you can't be expected to have too much knowledge of what headers are in the wild.
Side note, for myself, for now, I fixed this by doing the following:
mail = Mail.new mail_text
if mail.encrypted?
  decrypted_mail = mail.decrypt
  decrypted_mail.header = mail.header.to_s

Is there a reason why decrypt_pgp_mime() doesn't use STANDARD_HEADERS but a slightly shorter list (stripped by return_path and message_id) at line 139?

please check out 0.3.0, this should fix this issue.


Include snippets of PropertyGroup (or other) Xml tags

In other Xml dialects, it is possible to include snippets of common, boilerplate code from another file. Given the migration of bits from areas such as AssemblyInfo, where this was possible before, it would be great if we could do that in the CSPROJ format as well. Or, if it is already, I'm not aware how to do it.

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

ID: aa26a042-4407-51d2-7df9-f045aaef2a3d
Version Independent ID: 57f71dc5-34b2-6431-c4a4-c308e48adf0b
Content: PropertyGroup Element (MSBuild) - Visual Studio
Content Source: docs/msbuild/propertygroup-element-msbuild.md
Service: visual-studio-dev15
GitHub Login: @Mikejo5000
Microsoft Alias: mikejo

@mwpowellhtx Thanks for your feedback; we appreciate it. To make sure that this is logged in the right place, please use the Report a Problem tool to report the issue. When you do this, your report becomes part of the work items that are listed in the in the Visual Studio Developer Community, which allows you to engage directly with the engineering team while they address and fix the problem.


Compiling with new GCC as used by IDF v5 gdma_ll.h and lcd_ll.h fails (IDFGH-9418)

Answers checklist.

[X] I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
[X] I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
[X] I have searched the issue tracker for a similar issue and not found a similar issue.

IDF version.
v5.0.1-3-g886e98a2c1
Operating System used.
Linux
How did you build your project?
Command line with idf.py
If you are using Windows, please specify command line type.
None
What is the expected behavior?
Clean compile
What is the actual behavior?
Compile error.
Steps to reproduce.
Add any *.c file including gdma_ll.h or lcd_ll.h e.g. components/LovyanGFX/src/lgfx/v1/platforms/esp32s3/Bus_RGB.cpp
Build or installation Logs.
../libs/esp-idf/components/hal/esp32s3/include/hal/gdma_ll.h: In function 'void gdma_ll_rx_enable_interrupt(gdma_dev_t*, uint32_t, uint32_t, bool)':
../libs/esp-idf/components/hal/esp32s3/include/hal/gdma_ll.h:89:46: error: compound assignment with 'volatile'-qualified left operand is deprecated [-Werror=volatile]
   89 |         dev->channel[channel].in.int_ena.val |= mask;
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
../libs/esp-idf/components/hal/esp32s3/include/hal/gdma_ll.h:91:46: error: compound assignment with 'volatile'-qualified left operand is deprecated [-Werror=volatile]
   91 |         dev->channel[channel].in.int_ena.val &= ~mask;
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
../libs/esp-idf/components/hal/esp32s3/include/hal/gdma_ll.h: In function 'void gdma_ll_tx_enable_interrupt(gdma_dev_t*, uint32_t, uint32_t, bool)':
../libs/esp-idf/components/hal/esp32s3/include/hal/gdma_ll.h:327:47: error: compound assignment with 'volatile'-qualified left operand is deprecated [-Werror=volatile]
  327 |         dev->channel[channel].out.int_ena.val |= mask;
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
../libs/esp-idf/components/hal/esp32s3/include/hal/gdma_ll.h:329:47: error: compound assignment with 'volatile'-qualified left operand is deprecated [-Werror=volatile]
  329 |         dev->channel[channel].out.int_ena.val &= ~mask;
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
In file included from ../components/LovyanGFX/src/lgfx/v1/platforms/esp32s3/Bus_RGB.cpp:32:
../libs/esp-idf/components/hal/esp32s3/include/hal/lcd_ll.h: In function 'void lcd_ll_enable_interrupt(lcd_cam_dev_t*, uint32_t, bool)':
../libs/esp-idf/components/hal/esp32s3/include/hal/lcd_ll.h:557:33: error: compound assignment with 'volatile'-qualified left operand is deprecated [-Werror=volatile]
  557 |         dev->lc_dma_int_ena.val |= mask & 0x03;
      |         ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
../libs/esp-idf/components/hal/esp32s3/include/hal/lcd_ll.h:559:33: error: compound assignment with 'volatile'-qualified left operand is deprecated [-Werror=volatile]
  559 |         dev->lc_dma_int_ena.val &= ~(mask & 0x03);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
cc1plus: all warnings being treated as errors

More Information.
Similar to #9170 but concerning different header.
Can be fixed by:
diff --git a/components/hal/esp32s3/include/hal/gdma_ll.h b/components/hal/esp32s3/include/hal/gdma_ll.h
index de8337468d..2440c33975 100644
--- a/components/hal/esp32s3/include/hal/gdma_ll.h
+++ b/components/hal/esp32s3/include/hal/gdma_ll.h
@@ -86,9 +86,9 @@ static inline uint32_t gdma_ll_rx_get_interrupt_status(gdma_dev_t *dev, uint32_t
 static inline void gdma_ll_rx_enable_interrupt(gdma_dev_t *dev, uint32_t channel, uint32_t mask, bool enable)
 {
     if (enable) {
-        dev->channel[channel].in.int_ena.val |= mask;
+        dev->channel[channel].in.int_ena.val = dev->channel[channel].in.int_ena.val | mask;
     } else {
-        dev->channel[channel].in.int_ena.val &= ~mask;
+        dev->channel[channel].in.int_ena.val = dev->channel[channel].in.int_ena.val & ~mask;
     }
 }

@@ -324,9 +324,9 @@ static inline uint32_t gdma_ll_tx_get_interrupt_status(gdma_dev_t *dev, uint32_t
 static inline void gdma_ll_tx_enable_interrupt(gdma_dev_t *dev, uint32_t channel, uint32_t mask, bool enable)
 {
     if (enable) {
-        dev->channel[channel].out.int_ena.val |= mask;
+        dev->channel[channel].out.int_ena.val = dev->channel[channel].out.int_ena.val | mask;
     } else {
-        dev->channel[channel].out.int_ena.val &= ~mask;
+        dev->channel[channel].out.int_ena.val = dev->channel[channel].out.int_ena.val & ~mask;
     }
 }

diff --git a/components/hal/esp32s3/include/hal/lcd_ll.h b/components/hal/esp32s3/include/hal/lcd_ll.h
index f2cc1487be..5dcd536c27 100644
--- a/components/hal/esp32s3/include/hal/lcd_ll.h
+++ b/components/hal/esp32s3/include/hal/lcd_ll.h
@@ -554,9 +554,9 @@ static inline void lcd_ll_set_data_delay_ticks(lcd_cam_dev_t *dev, uint32_t dela
 static inline void lcd_ll_enable_interrupt(lcd_cam_dev_t *dev, uint32_t mask, bool en)
 {
     if (en) {
-        dev->lc_dma_int_ena.val |= mask & 0x03;
+        dev->lc_dma_int_ena.val = dev->lc_dma_int_ena.val | (mask & 0x03);
     } else {
-        dev->lc_dma_int_ena.val &= ~(mask & 0x03);
+        dev->lc_dma_int_ena.val = dev->lc_dma_int_ena.val & ~(mask & 0x03);
     }
 }

A workaround for now could be to use a pragma to disable this warning around the inclusion of the LL files:
#pragma GCC diagnostic ignored "-Wvolatile"
#include "hal/gdma_ll.h"
#pragma GCC pop

This needs to be done in all files including that header, even for external components. Wouldn't it be better to solve that problem inside the causing header?


Teku logs show message about missing LevelDB library

On Windows 10, with a clean install, Teku shows a log message about a missing library related to LevelDB:
main | INFO  | DatabaseVersion | LevelDB not supported on this system: Could not load library. Reasons: [no leveldbjni64-1.8 in java.library.path: [...]

This is with Teku 22.7.0 and Eclipse Adoptium Temurin-17.0.4+8

Depends on https://github.com/ConsenSys/teku/issues/6004

RocksDB fallback should be good. We can ignore this message.


Add validatedExcept on FormRequest

Adding this method will help us to get only required attributes after validated request.
Example we submit to create a product which is required to have an image, but products table has no image column in table because we want to store elsewhere.
class ProductStoreRequest extends FormRequest
{
    public function rules()
    {
        return [
            'name'        => 'required|unique:products|max:255',
            'description' => 'string|nullable',
            'group_id'    => 'required',
            'images'      => 'required',
            'images.*'    => 'image|mimes:jpeg,png,jpg,webp',
            'price'       => 'nullable',
        ];
    }
}

In controller:
    public function store(ProductStoreRequest $request)
    {
        $product = Product::create( $request->validatedExcept('images') );
        $request->file('image')->storeAs(...);
        return route('products.show', $product);
    }

So in this case we need to set rules for image to be required but we don't need to get on the array for creating the product

You can use Illuminate\Support\Arr::except


perf(select): perf improvements for select and sub elements

None of these should affect the user hence no changelog.
Basically cleaned up some of the render cycle and deleted code that has been lying around a bit.
No real big changes: about a 2.5% perf improvement
NOTE: Merge AFTER #969 as it is based off of that PR
Before:

After

This element is notably hammered by non-rendered ripples

@e111077 any update on this

uhhh it was submitted internally. I don't know why it's not here

looks like it was merged but this wasnt closed?
https://github.com/material-components/material-components-web-components/commit/075747099b98401488699f20b70478b118072010#diff-a4a38bf3242846302626889cbc49b15e


Add support for parsing INLINE_ORIGIN and INLINE.

This parses the new format but produces the same output as before.
So with this patch alone, we will not get any inline information in the
output.
But this patch allows us to switch to the new sym format without
breaking anything (hopefully).
In fill_symbol we now call get_outermost_source_location, which has
to look at the inline information, because just by looking at the lines
you would not get the same output as before with the new sym files.
That's because, when inline information is present in sym files, the
line records now describe the lines at the deepest level of inlining.
In sym files without inline information, the line records describe the
lines at the outermost level.

I'm leaving the PR in draft state just because I want to write more tests. But it's already ready for review.


--rm and -d concurrent support

Hi - I'd like to submit containers that have a specific purpose across my cluster nodes with affinity set so that only one container runs per node for an HPC workload; I'd like them to remove on task completion, freeing up the node for another container. --rm and -d supported simultaneously seems like it would help me out, otherwise I get a flood of output to where I launched my docker run commands. Is this a bad idea?

Hi!
If you are reporting a new issue, PLEASE make sure that does not have any duplicates already open.
We would like to take this time to remind you of the information we need to debug the problem you are seeing. This is an automated response so if this ticket is not about a bug, do not fret.
If you fail to provide this information within 7 days, we will close this because we cannot debug your issue. We can reopen whenever the information is provided.
Thank you.
Please see:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#reporting-other-issues
Description of problem:

`docker version`:

`docker info`:

`uname -a`:

Environment details (AWS, VirtualBox, physical, etc.):

How reproducible:

Steps to Reproduce:
1.
2.
3.

Actual Results:

Expected Results:

Additional info:

#ENEEDMOREINFO

Thanks for reporting this, but I think this is a duplicate of https://github.com/docker/docker/issues/10545. Also look at this comment: https://github.com/docker/docker/issues/10545#issuecomment-73827389 which explains the situation a bit more in depth.
I'm going to close this issue because it's a duplicate of https://github.com/docker/docker/issues/10545, please continue the discussion on that issue.


Appreciation for k8s.io/docs/reference/kubectl/cheatsheet/

Hello.
I'm a student, currently 21. I was finishing up on a project for the past couple of days, but I was stuck, to say the least. The project involves making and deploying a simple CI platform. The internet has so much buffer content and "well actually" articles that would be enough to frustrate even the best of us. I do not know who came up with the idea of a Kubernetes cheatsheet, I do not know who were the folks behind this.
What I do know is that you all have the best concentration of resources out there, and are the best people ever.
Sorry if this bummed your issue tracker or workflow, just know that I was too hyped at this moment to stop myself from writing this.
THANK YOU!

/triage praise
:wink:

I went and looked it up: the following contributors got the cheat sheet to where it is today:
- @ahmadbanijamali
- @anapsix
- @andjelx
- @apelisse
- @bgrant0607
- @Bradamant3
- @ccxex29
- @chendotjs
- @cloudmelon
- @devasat
- @dpandhi-git
- @gosoon
- @ialidzhikov
- @ismailyenigul
- @jimangel
- @KabirKwatra
- @laidan6000
- @lyveng
- @nashasha1
- @oke-py
- @pawelprazak
- @Pc6
- @petermikitsh
- @pierwill
- @prasadph
- @praveen-kg
- @rajeshdeshpande02
- @sftim
- @steveperry-53
- @sunlintong
- @tengqm
- @thecrudge
- @w3aman
- @wibobm
- @zacharysarah
- @zhouya0

@rexagod Thank you so much for the feedback! 💛  I'm so glad you found what you needed. Thanks for letting us know! 🙇

As lovely as this issue is, there's nothing actionable here (except to keep on doing what we're doing!), so--
/close


[Arbimon Legacy] Remove code related to project_imported_models table

Related files

app/model/projects.js
db/init/000-base-tables.sql

close since still using


Provide proper toString for packets

It would be useful for debugging to have proper toStrings for the packet classes.
I can think of two simple approaches to this:

use lombok (would also allow equals/hashcode)
use some kind of reflective toString builder and call it from the implementations (probably relatively slow but shouldn't matter for toString)

Generating the toStrings is of course also possible but quite a lot of boilerplate.
I could implement any of these approaches if one can be decided on.

The main reason this hasn't been done yet is due to the sheer time it would take, so a generation approach would be favorable. I'd rather not be depending on Lombok though, so option 2 sounds more preferable.