14 days grace period reset in Identity Protection

Hi,
Is it possible to reset the 14 days grace period in Identity Protection MFA registration policy? We have an organization who had the policy enabled but now the grace period is ended for much users. Is there a way to reset the days to 14 for all users?
Thanks for your reply.
Hafid el Addouti

@hafideladdouti -
Thank you for your question.
Can you please share with us the URL of the document that you are having issues with?
Please note that we scope issues on this repo to feedback related to the docs. If you have a product question, please post it on Microsoft QnA or Stack Overflow. Thank you for your understanding.

https://docs.microsoft.com/nl-nl/azure/active-directory/identity-protection/howto-identity-protection-configure-mfa-policy

It's about the user experience part in Identity protection. We have enabled the mfa registration policy but unfortunately the grace period is expired. I forgot to disable the policy and instead of disabling it.. I have assigned the policy to another group. Now we can not deploy the 14 days grace period for a lot of users, except new accounts after to enroll for MFA.

@hafideladdouti - I have reached out to the product team and confirmed that its not possible to reset right now. You have to disable the policy.
I hope this helps.
At this moment, Since there is no doc update required, We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


Creating a suite and automating scale testing

What type of PR is this?

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #
Requirements:

[ ] uses conventional commit messages

[ ] includes documentation
[ ] adds unit tests
[ ] tested upgrade from previous version

Special notes for your reviewer:
Release note:
none

The scale test package should really be a peer of e2e rather than a child.


Need to handle flagging bought items cause they aren't bring flagged

The previous method of performing this was to delay flagging with a scheduler being provided the type and quantity of items being bought. This would then identify the specified quantity of items in the player's inventory to be flagged and then perform the flagging on them. It wasn't a perfect solution but worked in previous testing. However, it's not a robust solution, and with the introduction of the listener on inventory close, it's even less reliable. I'm open to suggestions or thoughts on the best solution here.

fixed in version 1.0.3


We don't know when workers have previewed tasks.

Can we add another status event that lets us know when a particular task has been previewed and no further action has been taken?
One way to do this would just be to add a preview status when the preview loads and then add the in-progress status if they accept the task. This seems nice for analysis, but might be annoying from other perspectives.
Another option might be to do something with analytics tools but I'm less sure if that will give us granular insights.

you preview a project rather than a task (i.e the task is a sample task)
we can't add a status, but we can log that data per project


Icon theme: hidesExplorerArrows is not applied to all trees

Steps to Reproduce:

have an icon theme that sets hidesExplorerArrows: true
run a search

=> notice how the search uses twistie while the explorer does not
Not sure about custom views (cc @sandy081)

This is not applied to custom views.

IMO, hiding twisties in Problems view does not look good because Problems view has most of the times only one level of children. Hence I would prefer not to opt in there and leave this option only for explorer trees.
Assigning others who own respective areas.

Since custom tree views often have elements that don't have icons, this should continue to not be applied to custom tree views.

Search follows whatever SCM does with hidesExplorerArrows. It ignores it in list view (since most entries should be files, which require some visual cue to show collapse/expand state). In the tree view, it removes the arrow from the folders (https://github.com/microsoft/vscode/issues/163822).


Roll Flutter Engine from 718af87632ad to e0fdf5af268a (2 revisions)

https://github.com/flutter/engine/compare/718af87632ad...e0fdf5af268a
2023-03-22<EMAIL_ADDRESS>Give ComputeSubgroupTest unique name to avoid running tests twice (flutter/engine#40516)
2023-03-22<EMAIL_ADDRESS>[Impeller] Take subgroup size into account when prefix summing (flutter/engine#40509)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC bdero@google.com,rmistry<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


docs(runner): move docs for functions added by runner

This will make them present in the generated doc website.

Merged in at e996a90


feat(kit): support capture in input files

PR Checklist
Please check if your PR fulfills the following requirements:

[x] The commit message follows Conventional Commits
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[ ] Bugfix
[x] Feature
[ ] Refactoring
[ ] Code style update
[ ] Build or CI related changes
[ ] Documentation content changes

What is the current behavior?
Closes #3063
https://user-images.githubusercontent.com/12021443/201700387-295560e2-8eb3-4544-9deb-043ff151dff9.MOV
What is the new behavior?
https://user-images.githubusercontent.com/12021443/201700825-a0f5d4a4-047d-4f97-8524-ba3d547bc67e.MOV
Does this PR introduce a breaking change?

[ ] Yes
[x] No

@waterplea We already have 3 attributes that we just pass through to the native file. I wonder if it makes sense to expose native tag instead
we can implement as a feature in separate PR

@waterplea We already have 3 attributes that we just pass through to the native file. I wonder if it makes sense to expose native tag instead
we can implement as a feature in separate PR

Sure. Will you file an issue?

@waterplea fixed


Add ...rest solution to spreading-props-dom anti-pattern

This is the approach mentioned in the official docs here: https://reactjs.org/warnings/unknown-prop.html. Which is not to say that it's better than what's currently in this repo, but it can't help to list a couple of ways to solve the problem :)

Actually the whole page is kinda opinable... People shouldn't pass "random" props to the child components and hope that the child component doesn't apply them to the underlying HTML tags.
The right approach is to make all the properties get redirected/applied to the underlying HTML tags and apply to the component only the properties that are supposed to be there.
Just my 2 cents obviously

I agree with @FezVrasta that passing random props using spread operator might not be the cleanest way to handle them (especially when it is applied to DOM elements). However, it helps at times when applying to Components and might give an idea for users on its usage. Thanks :)

@vasanthk I was speaking in favor of this PR and against the rest of the existing page 🙃


[Conv2D] Rework conv2d layer for various scenario

[Conv2D] Rework conv2d layer

This patch contains major rework of conv2d layer to cope with
padded, strided configuration

**Major changes proposed in this PR**
- Rework conv2d::calcDerivative by
  - Add and exploit col2im method
- Rework conv2d::calcGradient by
  - Add dilation arugment to im2col

**Minor changes proposed in this PR:**
- Delete obsolete profiler

**Effect on performance**
- strip_pad has been removed, thus less memcpy, allocation

**Major restriction**
This patch mainly refactors the flow of how conv2d backpropagates.
There were some delegate issues still left to be handled. Those issue
can be handled on top of this patch.

- if calculated output is not an integer either on forward / backward
this will be hard error for now.
- same padding can only be applicable when kernel size is odd.

**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped

Signed-off-by: Jihoon Lee<EMAIL_ADDRESS>

[Test] Add conv various situation test

Convolutional layer when variable stride is given case was missing from
the test, the patch adds it

- basic conv for reference
- conv with same padding
- conv with multi strides
- conv with multi strides + same padding

**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped

Signed-off-by: Jihoon Lee<EMAIL_ADDRESS>
resolves #921

:memo: TAOS-CI Version: 1.4.20191203. Thank you for submitting PR #955. Please a submit 1commit/1PR (one commit per one PR) policy to get comments quickly from reviewers. Your PR must pass all verificiation processes of cibot before starting a review process from reviewers. If you are new member to join this project, please read manuals in documentation folder and wiki page. In order to monitor a progress status of your PR in more detail, visit http://nnsuite.mooo.com/.

:octocat: cibot: @zhoonit, A builder checker could not be completed because one of the checkers is not completed. In order to find out a reason, please go to http://nnsuite.mooo.com/nntrainer/ci/repo-workers/pr-checker/955-202102221605090.11938691139221-985507f940e653405e8adc1268708dd2e9816b99/.

:octocat: cibot: @zhoonit, One of the module of prebuild group is failed. If you want to get a hint to fix this issue, please go to https://github.com/nnstreamer/nntrainer/wiki/.

:octocat: cibot: @zhoonit, One of the module of prebuild group is failed. If you want to get a hint to fix this issue, please go to https://github.com/nnstreamer/nntrainer/wiki/.

Retry DeepCode

:octocat: cibot: @zhoonit, One of the module of prebuild group is failed. If you want to get a hint to fix this issue, please go to https://github.com/nnstreamer/nntrainer/wiki/.


Network connection can be scrolled in the pop up

Current version of wallet doesn't have such problems. Feel free to reopen this issue, if it will pop up again.


Add chrome in Travis ("Next Up" No.2 of TODO.md)

Hi, @luke-hill.
I have implemented the following tasks of TODO list.
2) Travis:
  - Add in Chrome
  - Update Driver/Browser

Change point

.travis.yml

Added chrome and its driver.
Update geckodriver to latest version.

features/support/env.rb

Make profile according to browser.

TODO.md

Deleted items implemented by this Pullrequest.

Ref

Setting up Google Chrome with travis

https://docs.travis-ci.com/user/chrome

Latest geckodriver

https://github.com/mozilla/geckodriver/releases/

I'll cherry-pick some of your commits and rebuild the PR sometime on Friday.

Closing in favour of #217 - Which enhances this functionality slightly with fewer commits.

Thank you for improvement. @luke-hill
Supporting local execution environments is good.
I learned a lot.
I would like to continue contributing to solving some issues in "TODO.md".

That's great to here. Thanks again for your help. This will hit 2.12 You will be credited as the primary author, with myself as a secondary author


Enable PR build to run on new winuibuildagents build pool

TL;DR
The short version: we now have faster build machines that we can use for running the Pipelines. They aren't currently able to build arm/arm64, so for now only the PR build uses them since the CI build includes arm/arm64. Once this issue is resolved we should enable the new build pool for CI also.
Long Version
I set up a agent pool of more powerful build machines. These are D8s_v3 machines (8 cores) instead of the standard DS2_v2 machines (2 cores) that are in the regular Microsoft-Hosted build pool that comes with Azure DevOps. The more powerful build machines are able to complete the build much faster.
Azure Scale Sets
This is created using Azure virtual machine scale set agents. This allows you to use an Azure Scale Set to manage the build pool instead of having to individually manage a set of build machines which can be a headache. The other big advantage is that the number of build agents can be scaled up and down based on demand.
VM image
One downside to creating a custom build pool is that you cannot re-use the same image that is used for the standard build agents. That disk image is not made available for general use for licensing reasons.
The new winuibuildagents pool is using the Azure Marketplace image Visual Studio 2019 on Windows Server (vs-2019-ent-latest-ws2019) image which includes Visual Studio, but does not include all the rest of the software included in the standard build agents image.
Our PR Pipeline works well with this new winuibuildagents build pool. The build for Debug_x86 is down from 1 hr 22 mins to a much reasonable 32 mins. A big part of this boost is due to the fact that we can turn muti-proc building back on which we previously had to disable due to hitting out-of-memory issues on the lower spec build machines.
The PR Pipeline works well. Unfortunately the CI Pipeline does not . The CI Pipeline builds arm and arm64 which fail when run on this new build pool. The VS install on the image is missing some components that we depend on.
Since I would like to get this new build pool up and running, I am turning it on for the PR builds, but the CI builds will continue to use the Microsoft-Hosted agents. Once we sort out the arm/arm64 issue we can enable it for the CI build also.
Clean build machines
The build pool is set up to re-image the machine after every job. This ensure that one build cannot leave the machine in a bad state and cause problems with another build. The re-imaging only takes a few minutes, so it is not a high price to pay. We can make this re-imaging more efficient by re-creating the build pool to use Ephemeral OS disks. We should enable this when we get a chance.
Building arm and arm64
We are failing to build on arm and arm64 which is required by the CI build. I spent some time investigating this. The issue is that the VS install on the machine image that we are using is missing the following components:

Microsoft.VisualStudio.Component.VC.Tools.ARM64
Microsoft.VisualStudio.Component.UWP.VC.ARM64
Microsoft.VisualStudio.Component.VC.Tools.ARM

We install the required Windows SDK as part of the build pipeline (using build\Install-WindowsSdkISO.ps1) which only adds a minute or so to the build time. So in theory we could do the same with these VS component. The command to run to install them would be something like:
"C:\Program Files (x86)\Microsoft Visual Studio\Installer\vs_installer.exe" modify --installPath "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise" --add Microsoft.VisualStudio.Component.VC.Tools.ARM64 Microsoft.VisualStudio.Component.UWP.VC.ARM64  Microsoft.VisualStudio.Component.VC.Tools.ARM --passive
Unfortunately, this causes VS to install not just the specific components that you specify, it also causes it to update a bunch of other components that it has determined should be updated. Not a huge problem, but it takes a LONG time. One of the components that it updates is the Unity game engine which takes forever to download and install. So this makes this solution not practical to run for every build (remember. every build gets a fresh build machine, so it would not be a once-off thing).
I had hoped to be able to use one of the marketplace images for the build machine, but this is demonstrating the limits of that approach. It looks like we will have to use custom images that we create that includes all the dependencies that we need. Not a huge problem. We will just need to determine how we want to manage such images.
Changes in this PR
I fixed some bugs in Install-WindowsSdkISO.ps1. How it was detecting installed components was incorrect. It was also not unmounting the iso when it was done.
Install OptionId.WindowsDesktopDebuggers from Windows SDK. This is required by IndexPdbs.ps1. Previously the debugging tools were pre-installed on the image.
Enabled MultiProcessorCompilation in the lab on the new build machines. The lower-spec machines will continue to run with it disabled.
Added .vsconfig. This allows someone to easily import the required VS configuration so that VS will install any missing components. I have not verified that we need only and all of what is in that file, but I think it is a good start. We can update it over time as needed.

That is awesome!
Side question: Does this help/change the topic of moving away from TAEF (#340)?

That is awesome!
Side question: Does this help/change the topic of moving away from TAEF (#340)?

This change does not really factor in to the TAEF/MSTest question. This only changes how we run the build, it does not impact the test execution.
We are fairly unlikely to ever move away from TAEF. It would be more likely that we would consolidate on TAEF (after getting them to work from within VS) and get rid of MSTest. One reason for this is that WinUI3 has thousands of tests, all written in TAEF and it would not be feasible to port them to MSTest.

Oh I see, we will get rid of MSTest as soon as TAEF can be run from within VS? Are there currently any plans for this, or is this rather a nice to have?
Should #340 be closed then, given that switching the WinUI 3 code base, which will be merged in this repository at some point, would require to much work to migrate onto MSTest?

Oh I see, we will get rid of MSTest as soon as TAEF can be run from within VS? Are there currently any plans for this, or is this rather a nice to have?
Should #340 be closed then, given that switching the WinUI 3 code base, which will be merged in this repository at some point, would require to much work to migrate onto MSTest?

I have updated the title of #340 to "Consolidate tests on either MSTest or TAEF instead of cross-compiling for both", to leave it open as to which we will finally end up with. Personally, I am leaning towards TAEF for the reasons I stated. But MSTest has the advantage of being a more popular test framework than TAEF.

I have updated the title of #340 to "Consolidate tests on either MSTest or TAEF instead of cross-compiling for both", to leave it open as to which we will finally end up with. Personally, I am leaning towards TAEF for the reasons I stated. But MSTest has the advantage of being a more popular test framework than TAEF.

Alright, thanks for the update and informations!


Handle onclick event for all links in a page

I am trying to do a simple task. But It looks very difficult to me.

I want to make a list of all href's which contain onclick event like,
Hiroshima
Here is an url.
https://map.yoshinoya.com/p/shopmap/
You can see around 50 hrefs contain onclick attribute. I want to click every one.

Then, run a loop for each a tag, load every next page by clicking onclick. I need the next page url and html content. This is very easy in selenium. But splash looks very difficult.
I tried with this lua script. But It dose not work. it is returning the same page.

treat = require("treat")
function main(splash)
  local url = splash.args.url
  assert(splash:go(url))
  local links = splash:select_all('a[onclick]')
  count = 0
  local results = {}
  for i, v in ipairs( links ) do
    obj = {}
    count = count + 1
    v:click()
    obj["html"] = splash:html()
    obj["url"] = splash:evaljs("window.location.href")
    results[#results+1] = obj
  end
  return {
    html = splash:html(),
    results = treat.as_array(results),
    count = count
  }
end

element:click() is asynchronous, so you may need to wait until new page is loaded, e.g. by adding splash:wait after v:click, or by writing a loop which checks that URL changes and wait for a small amount of time if URL has not changed.

Hi kmike,
Thanks for your quick answer. I tried with that. I am getting this error.
{
    "error": 400,
    "type": "ScriptError",
    "description": "Error happened while executing Lua script",
    "info": {
        "message": "Lua error: [string \"treat = require(\"treat\")\r...\"]:11: JsError({'message': 'JS error: \\'TypeError: undefined is not an object (evaluating \\\\\\'window[\"43bfe4e2-6d98-11e7-8921-0242ac130021\"][\"43c03c94-6d98-11e7-8921-0242ac130021\"]\\\\\\')\\'', 'js_error': 'TypeError: undefined is not an object (evaluating \\'window[\"43bfe4e2-6d98-11e7-8921-0242ac130021\"][\"43c03c94-6d98-11e7-8921-0242ac130021\"]\\')', 'js_error_message': 'undefined is not an object (evaluating \\'window[\"43bfe4e2-6d98-11e7-8921-0242ac130021\"][\"43c03c94-6d98-11e7-8921-0242ac130021\"]\\')', 'type': 'JS_ERROR', 'js_error_type': 'TypeError'},)",
        "source": "[string \"treat = require(\"treat\")\r...\"]",
        "type": "LUA_ERROR",
        "line_number": 11,
        "error": "JsError({'message': 'JS error: \\'TypeError: undefined is not an object (evaluating \\\\\\'window[\"43bfe4e2-6d98-11e7-8921-0242ac130021\"][\"43c03c94-6d98-11e7-8921-0242ac130021\"]\\\\\\')\\'', 'js_error': 'TypeError: undefined is not an object (evaluating \\'window[\"43bfe4e2-6d98-11e7-8921-0242ac130021\"][\"43c03c94-6d98-11e7-8921-0242ac130021\"]\\')', 'js_error_message': 'undefined is not an object (evaluating \\'window[\"43bfe4e2-6d98-11e7-8921-0242ac130021\"][\"43c03c94-6d98-11e7-8921-0242ac130021\"]\\')', 'type': 'JS_ERROR', 'js_error_type': 'TypeError'},)"
    }
}

Aha, this happens because you moved to another page, so old page is no longer loaded, and you can't click on a link from that page. So you need to go back inside the loop, after processing the target page. You may also have to select the element again, as reference is no longer valid. Currently Splash doesn't support several "browser tabs" in a single script, so it must go back and forth in such cases.
I can see a few other issues with a script: Count is not defined (Lua is case-sensitive, so it should be count); splash:runjs("window.location.href") returns nil (you likely wanted splash:evaljs; there is also splash:url()).

Can you give en example of going back and forth inside loop. I edited my code. Thanks.

Hm, if onclick executes arbitrary JavaScript then you can't revert to a previous state; it doesn't matter if you use multiple tabs or not. So there is no a general way to "go back". It seems the best you can do it to re-load the original page by calling splash:go again.
Likely you will also have to call splash:select again, as elements would be destroyed. You can check if an element still existis in DOM by calling elem:exists().

Thank you very much.

Is it possible to collect only the urls i've clicked instead of open them in same splash instance and return them as an array? That would it make easier to process this pages?

@wpxgit You have to wait little bit for every click. In fact, it will not work. Because there is a time out issue in splash. If you run splash instance remotely, you can't change the global time out limit. If you have 200 onclick urls in a page, then you have to wait for every clicks of these urls. So, it is not the suggested way.
I did the task with a simple hack. Here is my working code snippet.
Scrapy Code:
def parse(self, response):
        response = HtmlResponse(url=self.shops_root_url, body=response.body)
        all_links = response.xpath('*//a/@href').extract()
        link_index = 0
        for link in all_links:
          link_index = link_index + 1
          yield SplashRequest(url=self.shops_root_url, callback=self.parse_via_pages, endpoint='execute', args={'lua_source': script,'link_index':link_index})

Here I am getting all href's and running a loop. Actually I am sending the index of the loop to lua script as an argument.
Here is the Lua script.
treat = require("treat")
function main(splash)
  local url = splash.args.url
  local link_index = splash.args.link_index
  assert(splash:go(url))
  splash:wait(3)
  local links = splash:select_all('a')
  local results = {}
  for i, v in ipairs( links ) do
    if i == link_index then
        obj = {}
        links[link_index]:click()
        splash:wait(5)
        obj["html"] = splash:html()
        obj["url"] = splash:evaljs("window.location.href")
        obj["title"] = splash:evaljs("document.title")
        results[#results+1] = obj
    end
  end
  return {
    results = treat.as_array(results)
  }
end

You can see that I am getting all href's  here and running the same loop, but getting the only element I passed as a link_index. I hope, It will help you.

Hi ijhar,
thanks for the answer. It helps a little bit. But it's hard to use for my case because i need to filter the duplicates of new urls (doning it at the moment with scrapy dedupe filter). Don't want to write own deupe filter for lua o_O
Michael


Add css for redlinks

Currently if a page is redlinked in the wiki it shows up as a normal link in the UI. e.g. Conjecture here

What is the desired style, actually red color or something different?

Yes, the same red as in-wiki redlinks: https://stampy.ai/wiki/What_training_programs_and_courses_are_available_for_AGI_safety%3F

wouldn't it maybe be better to simply remove unresolving links from the UI?

@Aprillion What do you mean by

the page from first comment in gdocs

But, there won't be redlinks, no, so closing this.

@plexish I was trying to ask whether https://ui.stampy.ai/?state=8264_ has been migrated from https://stampy.ai/wiki/Plex's_Answer_to_What_training_programs_and_courses_are_available_for_AGI_safety%3F to GDocs yet...
It's not in Coda yet, so either not migrated to GDocs yet or else there was a problem fetching it from GDocs to Coda that might be worth reporting to Chris (or else it's a known issue one way or another and I will find our how the new version without "redlink" will look like at some later time, after someone fixes something somewhere).

Huh, it looks like it is in coda?

Not sure why that query isn't finding it

oh, right, I was searching for title "Answer to ..." copy&pasted from wiki of the answer page instead of the question title 🤦♂
currently [https://stampy-ui.aprillion.workers.dev/?state=8264_] is without formatting


Incorrect comment on the headerProtocolVersion field

https://github.com/input-output-hk/cardano-ledger/blob/172b49ff1b6456851f10ae18f920fbfa733be0b0/cardano-ledger/src/Cardano/Chain/Block/Header.hs#L145-L146
That comment is incorrect. The field is only used to endorse parameter update proposals, not to document how the current block was forged.
(I'm not sure if the corresponding headerSoftwareVersion comment is also incorrect; I'm looking into that now.)

This is kind of a matter of perspective. I have always thought that one endorses a proposal by forging a block with the correct protocol version. E.g. "endorsement" is simply a measure of how many nodes are using that version. So from that perspective the comment is correct. However, we could perhaps elaborate this.

with the correct protocol version

using that version

@nc6  By "with/use", do you mean that the nodes have started to use the new proposed protocol parameter values even though the ledger rules have not yet adopted those values? I think this is impossible in general. Consider an update proposal that increases ppMaxBlockSize. If a node has adopted the new value prematurely, it might create a block that the ledger rules' currently-adopted protocol parameter values judge to be invalid.

Ah, I see. Yes, when you think of protocol parameters, I agree this is incorrect


Providing argument to service dependency at resolution

I have a dependency on a third party service that uses a factory to open a session to a device. The API for this service is distributed by a standards committee as Ivi.Visa.dll and various sources provide their own implementation.
In order not to have a dependency on a specific implementation, I only reference Ivi.Visa.dll in my project. I then want to be able to a provide a key at resolution to specify which implementation to try to resolve.
In my code below, I have a RegisterNiVisa method where I try to see if the NI assembly exists and to register the IResourceManager type if found. In the future, I could add more methods like this for assemblies distributed by other sources.
A second thing that I need to provide at resolution is the string address for
IMessageBasedSession IResourceManager.Open(string address) so I can resolve the session.
My goal here for me is to be able to resolve IStationController and provide

a key to resolve IResourceManager
the string address for the factory method.

Is it possible for me to do that by just calling c.Resolve<IStationController>(provide args for 1 and 2)?
internal static class ContainerFactory
{
    public static IContainer Configure()
    {
        var c = new Container();

        RegisterNiVisa(c);

        // Use same instance of IMessageBasedSession to create all dependencies in SwitchAdapter
        c.Register<IMessageBasedSession>(
            made: Made.Of(
                r => ServiceInfo.Of<IResourceManager>(),
                f => f.Open(Arg.Of<string>())),
            reuse: Reuse.ScopedTo<ISwitchAdapter>());

        c.Register<ISwitchAdapter, SwitchAdapter>(setup: Setup.With(openResolutionScope: true));

        // SwitchAdapter Dependencies
        c.Register<ISwitchQueueAdapter, SwitchQueueAdapter>();
        c.Register<IPickeringAdapter, PickeringAdapter>();
        c.Register<IMuxAdapter, MuxAdapter>();

        c.Register<StationAdapter>();

        c.Register<IRelayController, RelayController>(
            Reuse.ScopedTo(
                ResolutionScopeName.Of<ILinearityActivity>(),
                ResolutionScopeName.Of<IStationController>()));
        c.Register<ILinearityActivity, LinearityActivity>(setup: Setup.With(openResolutionScope: true));
        c.Register<ICalsoftActivities, CalsoftActivities>();
        c.Register<IStationController, StationController>(setup: Setup.With(openResolutionScope: true));

        return c;
    }

    private static void RegisterNiVisa(IContainer c)
    {
        var a = Assembly.ReflectionOnlyLoad(
            "NationalInstruments.Visa, Version=<IP_ADDRESS>152, Culture=neutral, PublicKeyToken=2eaa5af0834e221d");
        c.RegisterMany(new []{a},
            serviceTypeCondition: t => t == typeof(IResourceManager),
            serviceKey: "NI");
    }

Aha, found ya. I mean we had a conversation in Gitter but I somehow overlooked this issue.
Here is my answer:
Just register an adapter static method from IVisaSession to IMessageBasedSession.
https://dotnetfiddle.net/KqNWDH
Here is the full code, I have removed all not relevant things:
Thanks. Updated DryIoc.Wcf already. Was easier than expected :)
Cool, I was trying to minimize changes in API surface
Some minor changes were necessary because I had to mock some of the stuff that gets called by the various extension methods, but it was all manageable within an hour or two.
What about all the extensions (WebApi, Owin, MVC etc.)? Do you need help adapting them to 3.0 or is it just a matter of changing the dependency version and rereleasing them? The respective Nuget packages appear to require DryIoc < 3.0.
Hopefully, I need only to update nuspecs, and do release. I will do it soonish.
@dadhi Using DryIoc in a ASP.NET Core Web API. Looking to reuse an instance of a class per web request. How do I go about that? Looks like Reuse.InWebRequest is obsolete. When I tried to use Reuse.InCurrentScope like the NetCore example app, but I'me getting the error: "ContainerException: Dependency <type> ReturnDefault} as parameter 'correlationScope' reuse CurrentScopeReuse {Lifespan=100} lifespan shorter than its parent"
Found the problem, dependent types were missing Reuse.Transient at registration.
Use Reuse.ScopedOrSingleton if you nee to inject dependecy both in singleton or scoped (per-request) service. Or register dependency twice, one time with Reuse.Scoped and another one with Reuse.Singleton.
@dadhi Im not sure that this is the place to ask for help so I'll give it a try before running off to StackOverflow. I have an issue with a RegisterMany call that seems to conflict with my HTTP Client Factory registration.
// Interface is in project A, implementation in project B.
services.AddHttpClient<IFooHttpClient, TypedFooHttpClient>(cfg => ConfigureClient(cfg));

// Automatic service registration for project B.
// I excluded interfaces in Microsoft namespaces to solve another issue with the IoC container registering a bit too much.
services.RegisterMany(new[] { typeof(ClassInProjectB).Assembly },
               serviceTypeCondition: type => !type.FullName.Contains("Microsoft") && type.IsInterface());
The TypedFooHttpClient cannot be resolved when I have the RegisterMany call. When I comment it out its fine. I can work arount the issue but im curious what is causing it.
What are
TypedFooHttpClientdependencies?
Btw , are you using MS.DI extension?
yeah using the extension. the TypedFooHttpClient dependencies include the MS HttpClient and an IMapper (automapper).
I played a bit with the registrations and apparently if I dont exclude the typed HttpClient classes from the RegisterMany registrations they seem to overwrite the HttpClient Factory registration on the IServiceCollection
I am not sure though. In the end I fixed the problem by registering like this:
serviceTypeCondition: type => type.Namespace.StartsWith("ProjectName.Core.Abstractions") so I only register specific interface implementations and not everything the container finds.
Yep, it is good choice to not mixing up your services with infrastructure.
As I remember
you may specify ifAlreadyRegistered optional argument in RegisterMany as IfAlreadyRegistered.Keep, to prevent registration override.
You also may specify it in Rules per Container.
yeah i also do that now
had some other issues with multiple registrations so setting these two values helped.
i have a weird problem with a RegisterMany trying to register an automapper profile method returning an IEnumerable<Foo>. I dont know whats causing it, it works fine in the live application but fails in the tests.
Message: DryIoc.ContainerException : Registered Disposable Transient service IEnumerable<Namespace.Redacted.Core.Entities.Foo> with key {no key} registered as {ID=134, ImplType=Namespace.Redacted.Web.MappingProfiles.FooDtoProfile.<FlattenFooEntity>d__1} won't be disposed by container.
The registration in question:

services.RegisterMany(new[] { typeof(CompositionRoot).Assembly }, Registrator.Interfaces, ifAlreadyRegistered: IfAlreadyRegistered.Keep);
The offending Automapper profile is a plain implementation of Profile (Automapper) with only one private method.

When I comment out the method or the registration it works fine. I dont know why IEnumerable<T> is being considered as a service whose implementation is a method (the aforementioned FooDtoProfile.<FlattenFooEntity>d__1)
@BMarinov Yes, seems strange. What is the DryIoc version?
Btw, you may suppress this exception / warning via rule new Container(rules => rules.WithTrackingTransientDisposables())
Or you may discard the interface from registration by replacing Registrator.Interfaces with custom condition.
@dadhi
DryIoC.Microsoft.DependencyInjection v2.1.0 (which has a dependency on DryIoC 3.0.2)
Should I try to make a repro and post on GitHub? It seems like something that should not be happening (or its something else causing it). The reason why its working with the aspnetcore application is that the MS namespaces are filtered (IIRC) by one of the extension methods (cant remember what exactly does that, maybe WithDependencyInjectionAdapter or ConfigureServiceProvider)
But I would definitely expect dryioc not to try to register something like this :?
It seems that I have already fixed the problem two month ago. The fix is now available in the preview version.
good to know, also too bad (missed opportunity for some GitHub fame :D )
How far is the preview from release? We have a workaround, so we have time but still curious :)
No problem.. you may open an issue, then I will close it and mention in the Release Notes ;)
haha
Regarding the release, it is hard to tell, cause I am now in the rabbit hole, trying to pull some additional performance improvements for the upcoming release.
And I have a limited time - so I work on whatever I like the most at the moment :)
Ah yeah, I saw the performance discussion on GitHub. Best of luck
Thanks!
@dadhi Hi! Any chance you saw my question in the issues page??
I've been doing some reading and it appears that my issue suggests a design problem
in my code, that is
What is the issue you refer to?
The issue I have is when a sub dependency needs some kind of resolve time context.. So in my current project, I am trying to resolve type IStationController, which is a complex object graph.. near the root of this graph is a type IMessageBasedSession that comes from a third party library.. This library provides it through IVisaSession IResourceManager.Open(string address)
What I have deduced thus far is that I need to probably resolve Func<string,IVisaSession> so that I can create the session and then cast it to IMessageBasedSession. I tried to do Register.Mapping<IMessageBasedSession,IVisaSession> but it threw an error and it looks like because the former is not assignable to the later
I think I need to then resolve Func<IMessageBasedSession,IStationController> and feed it the IMessageBasedSession that I got from the first Func after casting?
This is what I have so far: https://gist.github.com/LGreenberger/da82cae93a4969fccf66f60766925f77
I hhink
I tbink
I think it is fine to do, maybe there is a simplier way. Will check when I have time.
Hi @LGreenberger . Here is the more simple way. Just register an adapter static method from IVisaSession to IMessageBasedSession.

https://dotnetfiddle.net/KqNWDH

Here is the full code, I have removed all not relevant things:

```cs
using System;
using DryIoc;

public class Program
{
    public static void Main()
    {
        var c = new Container();

        c.Register<IResourceManager, ResourceManager>(serviceKey: "NI");

        c.Register<IVisaSession>(
                made: Made.Of(
                    r => ServiceInfo.Of<IResourceManager>(serviceKey: "NI"),
                    f => f.Open(Arg.Of<string>())));

        c.Register(Made.Of(() => VisaToMessageBasedSession(Arg.Of<IVisaSession>())));

        c.Register<IStationController, StationController>();

        var x = c.Resolve<IStationController>(args: new[] { "x" });

        Console.WriteLine(x);
    }

    public static IMessageBasedSession VisaToMessageBasedSession(IVisaSession session) { return (IMessageBasedSession)session; }
}

public interface IResourceManager
{
    IVisaSession Open(string s);
}

public class ResourceManager : IResourceManager
{
    public IVisaSession Open(string s) { return new MySession(); }
}

public interface IMessageBasedSession {}
public interface IVisaSession {}

public class MySession : IVisaSession, IMessageBasedSession {}

public interface IStationController {}
public class StationController : IStationController
{
    public StationController(IMessageBasedSession session) {}
}


Removed version condition for djangorestframework

Since distutils requires param doesn't support setuptools version lookups

Should be rewritten with setuptools, but yea, at least now it is possible to install this


Getting [object, object] after selecting an option

Trying to use a custom component as a template. This is what I have:
Multiselect
<multiselect v-model="value" :options="options3" field-label="Test Test Test" helptipBody="This is a helptip, letting you know what to do." required >
  <template slot="option" slot-scope="props">
    <dawn-select-options>

{{ props.option.title }} ({{ props.option.number }})

{{ props.option.tags }}

    </dawn-select-options>
  </template>
</multiselect>

The custom template is this component:

                  <slot name="image"></slot>

                  <slot name="row1"></slot>
                  <slot name="row2"></slot>
                  <slot name="row3"></slot>
                  <slot name="row4"></slot>
                  <slot name="row5"></slot>
                  <slot name="row6"></slot>

And while it renders correctly on load, if I select an option, the select option in the field is [object, object].
~Not only that, it renders every other instance of multiselect on the page to have [object, object] selected as well.~
Update: Every instance on the page was updating because they were all sharing a v-model (oops). But it seems that every template with slot="option" slot-scope="props" is returning [object,object]

Seems like I was missing label and track-by. But it's strange because I am 99% sure it was working the past few days without those options.

Hey! There’s no field-label prop. Please use the label prop as well as track-by field for objects.
As for the slots, I’m pretty sure you don’t need to pass the slot-scope="image" as you’re not using the image variable anywhere.
Other than that, it should be working properly.

Thanks! field-label is a prop I added that puts a field label on top of the field, unrelated to the objects. Just like helpTipBody is another one I added.


add Indonesian Locale to jspm-packages?

I found no indonesian locale in jspm-packages
<EMAIL_ADDRESS>could we add it?

if you all want to use locale and import map you could do this instead
import the file use unpkg because its more complete than an the jspm counterpart
<EMAIL_ADDRESS>for indonesianthe syntax is
bin/importmap pin<EMAIL_ADDRESS>--from unpkg

and then in ur javascript files add import "flatpickr/dist/l10n/id.js"
then you could do it like in the docs
here is my final stimulus controller files
import { Controller } from "@hotwired/stimulus"
import flatpickr from 'flatpickr';
import confirmDatePlugin from "flatpickr/dist/plugins/confirmDate/confirmDate"
import "flatpickr/dist/l10n/id.js"

export default class extends Controller {
  connect() {
    flatpickr(this.element, {
      "plugins": [new confirmDatePlugin({
        confirmText: "OK",
        showAlways: false,
        theme: "light"
      })],
      locale: "id",
      altInput: true,
      altFormat: "l, j F Y H:i",
      dateFormat: "Z",
      enableTime: true,
      time_24hr: true
    });
  }
}


Running Executables: error while loading shared libraries: libffmpeg.so: cannot open shared object file: No such file or directory

Pre-flight checklist

[X] I have read the contribution documentation for this project.
[X] I agree to follow the code of conduct that this project uses.
[X] I have searched the issue tracker for a bug that matches the one I want to file, without success.

Electron Forge version
6.2.1
Electron version
v25.2.0
Operating system
Windows 10 WSL with Ubuntu 22.04.2
Last known working Electron Forge version
None
Expected behavior
Successfully run ./out/<name>-linux-64 file from npm run package.
Actual behavior
Getting ./out/window-linux-x64/window: error while loading shared libraries: libffmpeg.so: cannot open shared object file: No such file or directory when running the following:
./out/window-linux-x64/window

Steps to reproduce
Running with Node 18.16.1, and NPM 9.5.1:
# Use electron-webpack-typescript template
npm install

# Install packages for X Server
apt update
apt install libgconf-2-4 libatk1.0-0 libatk-bridge2.0-0 \
libgdk-pixbuf2.0-0  libgtk-3-0 libgbm-dev libnss3-dev libxss-dev libasound2 \
x11-xserver-utils

# Setup bus
export DISPLAY=$(grep -m 1 nameserver /etc/resolv.conf | awk '{print $2}'):0.0
xhost +
service dbus start
export XDG_RUNTIME_DIR=/run/user/$(id -u)
if [ -d "$XDG_RUNTIME_DIR" ]; then
    echo "$XDG_RUNTIME_DIR already exists."
else
    mkdir $XDG_RUNTIME_DIR
fi
chmod 700 $XDG_RUNTIME_DIR
chown $(id -un):$(id -gn) -R $XDG_RUNTIME_DIR
export DBUS_SESSION_BUS_ADDRESS=unix:path=$XDG_RUNTIME_DIR/bus
dbus-daemon --session --address=$DBUS_SESSION_BUS_ADDRESS --nofork --nopidfile --syslog-only &

# Have VcsXsrv, a WSL X Server, running

apt install rpm --yes
npm run package
# Switch to a non-root user to avoid getting Running as root without -no-sandbox is not supported error
chmod -R 777 ./out/
sudo adduser guest
su guest
./out/window-linux-x64/window

Additional information
I have tried to install the following:
apt install chromium-codecs-ffmpeg ffmpeg

But no luck. I get usr/bin/ffmpeg when I run which ffmpeg, and I am sure libffmpeg.so is under my bundled app folder. The following is what I get when I run ls -al ./out/window-linux-x64:
drwxrwxrwx 4 root root      4096 Jul 12 10:37 .
drwxrwxrwx 4 root root      4096 Jul 12 10:37 ..
-rwxrwxrwx 1 root root      1096 Jul 12 10:37 LICENSE
-rwxrwxrwx 1 root root   8247912 Jul 12 10:37 LICENSES.chromium.html
-rwxrwxrwx 1 root root     53840 Jul 12 10:37 chrome-sandbox
-rwxrwxrwx 1 root root    136579 Jul 12 10:37 chrome_100_percent.pak
-rwxrwxrwx 1 root root    197691 Jul 12 10:37 chrome_200_percent.pak
-rwxrwxrwx 1 root root   1246464 Jul 12 10:37 chrome_crashpad_handler
-rwxrwxrwx 1 root root  10544880 Jul 12 10:37 icudtl.dat
-rwxrwxrwx 1 root root    251064 Jul 12 10:37 libEGL.so
-rwxrwxrwx 1 root root   6435400 Jul 12 10:37 libGLESv2.so
-rwxrwxrwx 1 root root   2877488 Jul 12 10:37 libffmpeg.so
-rwxrwxrwx 1 root root   4565640 Jul 12 10:37 libvk_swiftshader.so
-rwxrwxrwx 1 root root   6396248 Jul 12 10:37 libvulkan.so.1
drwxrwxrwx 2 root root      4096 Jul 12 10:37 locales
drwxrwxrwx 2 root root      4096 Jul 12 10:37 resources
-rwxrwxrwx 1 root root   5214565 Jul 12 10:37 resources.pak
-rwxrwxrwx 1 root root    259202 Jul 12 10:37 snapshot_blob.bin
-rwxrwxrwx 1 root root    578034 Jul 12 10:37 v8_context_snapshot.bin
-rwxrwxrwx 1 root root         6 Jul 12 10:37 version
-rwxrwxrwx 1 root root       107 Jul 12 10:37 vk_swiftshader_icd.json
-rwxrwxrwx 1 root root 166316624 Jul 12 10:37 window

window is the executable. I define the name in forge.config.ts:
import type { ForgeConfig } from "@electron-forge/shared-types";
import { MakerSquirrel } from "@electron-forge/maker-squirrel";
import { MakerZIP } from "@electron-forge/maker-zip";
import { MakerDeb } from "@electron-forge/maker-deb";
import { MakerRpm } from "@electron-forge/maker-rpm";
import { AutoUnpackNativesPlugin } from "@electron-forge/plugin-auto-unpack-natives";
import { WebpackPlugin } from "@electron-forge/plugin-webpack";

import { mainConfig } from "./webpack/main";
import { rendererConfig } from "./webpack/renderer";

const config: ForgeConfig = {
  packagerConfig: {
    asar: true,
  },
  rebuildConfig: {},
  makers: [
    new MakerSquirrel({}),
    new MakerZIP({}, ["darwin"]),
    new MakerRpm({}),
    new MakerDeb({}),
  ],
  plugins: [
    new AutoUnpackNativesPlugin({}),
    new WebpackPlugin({
      mainConfig,
      renderer: {
        config: rendererConfig,
        entryPoints: [
          {
            html: "./source/asset/index.html",
            js: "./source/renderer.ts",
            name: "window",
            preload: {
              js: "./source/preload.ts",
            },
          },
        ],
      },
    }),
  ],
};

export default config;

My package.json:
"dependencies": {
    "electron-squirrel-startup": "1.0.0"
  },
  "devDependencies": {
    "@electron-forge/cli": "6.2.1",
    "@electron-forge/maker-deb": "6.2.1",
    "@electron-forge/maker-rpm": "6.2.1",
    "@electron-forge/maker-squirrel": "6.2.1",
    "@electron-forge/maker-zip": "6.2.1",
    "@electron-forge/plugin-auto-unpack-natives": "6.2.1",
    "@electron-forge/plugin-webpack": "6.2.1",
    "@types/jest": "29.5.3",
    "@types/node": "20.4.1",
    "@typescript-eslint/eslint-plugin": "5.62.0",
    "@typescript-eslint/parser": "5.62.0",
    "@vercel/webpack-asset-relocator-loader": "1.7.3",
    "css-loader": "6.8.1",
    "dotenv": "16.3.1",
    "electron": "25.2.0",
    "electron-store": "8.1.0",
    "fork-ts-checker-webpack-plugin": "7.3.0",
    "husky": "8.0.3",
    "jest": "29.6.1",
    "jest-environment-node": "29.6.1",
    "jest-junit": "16.0.0",
    "lint-staged": "13.2.3",
    "node-loader": "2.0.0",
    "prettier": "3.0.0",
    "style-loader": "3.3.3",
    "ts-jest": "29.1.1",
    "ts-loader": "9.4.4",
    "ts-node": "10.9.1",
    "typescript": "5.1.6"
  },

Are you able to run Electron without Forge involved in your WSL environment?
I've seen similar issues for Linux users in the Electron Quick Start repo: https://github.com/electron/electron-quick-start/issues/486


please mark future alphas as pre-release and not release

the title describes the request. please don't mark alphas as release versions.

Hello,
Thanks for the heads up, as it looks like prusa3d began using the flag for 2.6.0. Those and future releases will be updated to indicate it.


Error while setting up platform alexa_media

The same issue. This is the log:
Traceback (most recent call last):
  File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/helpers/entity_platform.py", line 126, in _async_setup_platform
    SLOW_SETUP_MAX_WAIT)
  File "/usr/lib/python3.5/asyncio/tasks.py", line 400, in wait_for
    return fut.result()
  File "/usr/lib/python3.5/asyncio/futures.py", line 293, in result
    raise self._exception
  File "/usr/lib/python3.5/concurrent/futures/thread.py", line 55, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/home/homeassistant/.homeassistant/custom_components/alexa_media/alarm_control_panel.py", line 34, in setup_platform
    hass)  \
  File "/home/homeassistant/.homeassistant/custom_components/alexa_media/alarm_control_panel.py", line 71, in __init__
    ['locationDetails']['Default_Location']
KeyError: 'Default_Location'

Please ensure you're on 1.3.1.

The same issue And I also confirm that the version is correct.
ps: echo dot is not available
Tnx and good work

Please ensure you're on 1.3.1.

I updated manually to 1.3.1, the problem is gone. But I was not able to update 1.3.0 by custom updater component. Just nothing was changing if I press 'Update all' button.

@ElPotton I don't understand. Did you resolve it or are you seeing the issue still with 1.3.1? If you see the issue, I'll need debugging logs to review.
@Spirituss Custom_updater is deprecated. Use HACS instead.

@alandtse Thanks for the support! I changed custom_updater to HACS, works well.

@alandtse
Tnx for the help, i hope this is what you ment.
2019-07-02 09:43:24 ERROR (MainThread) [homeassistant.helpers.entity] Update for media_player.danieledi_fire_tv_stick fails
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 220, in async_update_ha_state
await self.async_device_update()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 377, in async_device_update
await self.hass.async_add_executor_job(self.update)
File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
result = self.fn(*self.args, **self.kwargs)
File "/config/custom_components/alexa_media/media_player.py", line 428, in update
no_throttle=True)
File "/usr/src/homeassistant/homeassistant/util/init.py", line 224, in wrapper
result = method(*args, **kwargs)
File "/usr/src/homeassistant/homeassistant/util/init.py", line 224, in wrapper
result = method(*args, **kwargs)
File "/config/custom_components/alexa_media/media_player.py", line 256, in refresh
self._last_called = self._get_last_called()
File "/config/custom_components/alexa_media/media_player.py", line 357, in _get_last_called
['serialNumber']))
TypeError: 'NoneType' object is not subscriptable
2019-07-02 09:43:24 ERROR (MainThread) [homeassistant.helpers.entity] Update for media_player.this_device fails
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 220, in async_update_ha_state
await self.async_device_update()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 377, in async_device_update
await self.hass.async_add_executor_job(self.update)
File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
result = self.fn(*self.args, **self.kwargs)
File "/config/custom_components/alexa_media/media_player.py", line 428, in update
no_throttle=True)
File "/usr/src/homeassistant/homeassistant/util/init.py", line 224, in wrapper
result = method(*args, **kwargs)
File "/usr/src/homeassistant/homeassistant/util/init.py", line 224, in wrapper
result = method(*args, **kwargs)
File "/config/custom_components/alexa_media/media_player.py", line 256, in refresh
self._last_called = self._get_last_called()
File "/config/custom_components/alexa_media/media_player.py", line 357, in _get_last_called

Thanks. @ElPotton Can you please try deleting your cookie file and relogging in? The error you're getting happens if we're not logging in correctly. If other devices are working, is that echo shared between other accounts?

@alandtse
Tnx for the help.
I tried your solution but the situation didn’t change.
My echo isn’t shared with the other accounts.
In standby state there are only ‘firetv’ and ‘this_device’ whereas ‘echo_dot’ and ‘alexa_app’ are unavailable.
What am i doing wrong

What region are you in and what domain have you set up in your configuration.yaml? The error you're describing happens if you're logging into Amazon from the wrong region from where your devices are setup.  For example, if your devices are setup in Germany and you login through amazon.com.

My region is Italy, i’m logged in with amazon.com
Do I have to try with amazon.co.it?

@ElPotton Yes, use amazon.it

@alandtse
fantastic, it works now
tnx a lot

Closing since other haven't reported more details. Please feel free to reopen if you have an issue for us to debug.

I seem to be having a slight issue with my Alexa_media Also. Seems to be other than location error too.


Greyno made it through the Ray Wenderlich Beginning Git course

Completed the challenges and the videos associated with the RW Beginning GI course.

Learned a lot in this course!

Congratulations @Greyno on completing the Beginning Git video course—nice work on completing all the challenges.
I'm glad you found the course useful—if you weren't already using git for your code, hopefully this has inspired you to do so. Given that we've now launched the next series "Mastering Git", you'll be able to get started straight away!
You can now wear this #GitWarrior badge with pride—and Tweet your historic victory!

sam


Change failure of MFA from redirect to error message

When putting in a MFA code, if it fails, it kicks you back to login in again, instead of asking you to try again.

I believe this is because https://github.com/enwikipedia-acc/waca/blob/cf679d0eb7c5491580df9b8f931c4d063760f38b/includes/Pages/UserAuth/Login/LoginCredentialPageBase.php#L85 just throws an exception which then gets caught with a redirect to login at L104. Not sure if there is a way of changing the action based on it being MFA

Does it matter if we only allow a retry of an MFA? I'm fairly sure we can permit a retry of a password too?
I have no idea if this would work, but perhaps we could change:
https://github.com/enwikipedia-acc/waca/blob/cf679d0eb7c5491580df9b8f931c4d063760f38b/includes/Pages/UserAuth/Login/LoginCredentialPageBase.php#L101-L104

remove L101 so we don't reset the session on auth failure
change the redirect on L104 to redirect to the current page (convert POST to GET; can't remember if a plain ->redirect() goes to the current page or to the home page)

If we take this approach, I'd quite like to have a "cancel auth" or "logout" button if the auth is beyond the first stage to keep current functionality


Introducing GPSPoint Validator

In this PR i want to introduce a new Validator, which validates GPS Coordinates. The requirements to the Validator are:

Validate Decimal Degree Coordinates
Validate Degree Minutes Second (DMS) Coordinates
Validate minimum and maximum Values for feasible coordinates

Basic Unit Tests are included.
Please Review the code and  let me know your opinion.

With my commits, the Code Coverage decreased. Is there a way i can also cover the private Methods to increase the CC?

In regard of naming conventions this should be renamed to GpsPointValidator

I think the suffix validator is needless because the word is already in the Namespace. Also all other Validators did not have this suffix.
The CamelCase is acceptable.

@zf2timo Sorry, I meant GpsPoint only.

Merged to develop for release with 2.6.0


Added settings manager

Addresses some of the comments in #1559
Highlighting relevant pieces:
Two relevant configuration settings:

enableConfigChanges: on/off for the whole dynamic settings piece, default off
lockDefinedSettings: on/off for locking config specified settings, default on.

Settings Manager
settings / cache / db management
Parse Server Constructor:

db settings pulled
cached settings updated if necessary
cached settings pushed to db
ParseServer.config.settingsInitialized promise to track state (code smell, but needs a more significant api change otherwise)

SettingsRouter:

All ops require master key
POST

return error if enableConfigChanges is not true
updates values & persists IFF current & update are different
returns object with only values which were updated

GET

returns all unlocked settings
if a setting is undefined in server configuration, it will appear as null

middlewares.handleParseHeaders:

fetches database configuration & updates cache once per request IFF enableConfigChanges true

A few suggestions but generally this looks good.

@mamaso updated the pull request.

[Current coverage][cc-pull] is 92.18%

Merging [#1645][cc-pull] into [settings-endpoint][cc-base-branch] will increase coverage by -0.62%

@@           settings-endpoint      #1645   diff @@
===================================================
  Files                     87         88      +1
  Lines                   5455       6102    +647
  Methods                    0       1080   +1080
  Branches                1005       1211    +206
===================================================
+ Hits                    5063       5625    +562
- Misses                   382        477     +95
+ Partials                  10          0     -10

9 files (not in diff) in src/authDataManager were modified. more

Misses +11
Hits +14

16 files (not in diff) in src/Routers were modified. more

Misses +35
Hits +96

10 files (not in diff) in src/LiveQuery were modified. more

Misses +7
Hits +44

8 files (not in diff) in src/Controllers were modified. more

Misses +1
Hits +75

3 files (not in diff) in ...apters/Storage/Mongo were modified. more

Misses +1
Hits +28

2 files (not in diff) in src/Adapters/Logger were modified. more

Misses +7
Hits +2

2 files (not in diff) in src/Adapters/Files were modified. more

Misses +4
Hits +12

2 files (not in diff) in src/Adapters were modified. more

Misses +3

14 files (not in diff) in src were modified. more

Misses +17
Partials -9
Hits +183

3 files in src were modified. more

Misses +2
Partials -1
Hits +14

[][cc-pull]

Powered by Codecov. Last updated by 4586849
[cc-base-branch]: https://codecov.io/gh/ParsePlatform/parse-server/branch/settings-endpoint?src=pr
[cc-pull]: https://codecov.io/gh/ParsePlatform/parse-server/pull/1645?src=pr

Cool, starting to look quite good. We usually use () for anonymous functions that take no arguments instead of _, _ is actually a valid variable name in JavaScript so using _ could be a little more confusing and potentially abused later. No need to change it in this PR (unless you feel like it) but in future ones could you use that style?

Yeah, that makes a lot of sense why one might avoid _, I'll add in that change as I'm making some anyway.
A question for you: do you have any ideas for how to make hidden/locked settings easier to manage?  I considered going with a convention based approach where if a new setting was added to the cache that had a name containing 'manager' or 'controller' we would treat it as hidden.  Ideally this settings piece would automatically work for new settings without any code changes.

I think the safest option for now would be to have a whitelist of settings that appear. That way we can avoid any unintentional effects, and as we see how people use this in practice and how the dashboard uses the settings, we can get a better feel for the problem and what might make sense for future default behaviour. I'm also beginning to wonder if it might actually be better to see if we can simplify the 2 additional settings into 1 or even 0 additional settings for now, so that we can what problems have been solved and what problems aren't yet solved before adding more complexity.
If you haven't looked at the /serverInfo endpoint yet, I'd suggest you check that out as well, it's used extensively by the dashboard and might be relevant here.

@mamaso updated the pull request.

@mamaso updated the pull request.

The CI errors seem to be inconsistent timeout issues with various tests, don't think that there's anything significant there

@mamaso updated the pull request.

I think this looks solid, but since it introduces a major new public API I'd like to get a couple more people to look at it.
(sorry for the delay, I've been on vacation)

No problem, I can agree with that!

Pinging @davimacedo who is building Parse Server hosting so probably would be using this API extensively.

Looks great! 👍

@drew-gross It's really a great work of @mamaso and for sure it will help Parse Hosting solutions and also future community contributions regarding ideas on https://github.com/ParsePlatform/parse-dashboard/issues/188
My unique suggestion for future contributions is to add more tests: for each setting we could update it and verify the expected behaviors.

@mamaso updated the pull request.

@mamaso updated the pull request.

@mamaso updated the pull request.

@mamaso updated the pull request.

Awesome! Will merge assuming tests pass. Docs can go in the README. Feel free to make that a separate PR.

Just a heads up, this pr is against the ParsePlatform:settings-endpoint branch so there are likely some merge issues.  Want me to point it at master instead?

I just merged it. We can do a new PR against master after rebasing.

Guys, any progress here? I've deployed Parse Dashboard and still can't see AppSetting tab there =(

Unfortunately my focus has shifted elsewhere and this didn't make it out of the feature branch :/  happy for someone else to pick it up if they like

@mamaso what remains to be done, and where's the branch? :)

Any news on this?


Permission denied writing to volume when using CentOS 7 as host

When using CentOS 7 as a host, with only the domain changed in the init-letsencrypt.sh script, the following happens:
$ ./init-letsencrypt.sh
++ command -v docker-compose
+ '[' -x /bin/docker-compose ']'
+ domains=(domain.com)
+ rsa_key_size=4096
+ data_path=./data/certbot
+ email=
+ staging=0
+ '[' -d ./data/certbot ']'
+ read -p 'Existing data found for domain.com. Continue and replace existing certificate? (y/N) ' decision
Existing data found for domain.com. Continue and replace existing certificate? (y/N) y
+ '[' y '!=' Y ']'
+ '[' y '!=' y ']'
+ '[' '!' -e ./data/certbot/conf/options-ssl-nginx.conf ']'
+ '[' '!' -e ./data/certbot/conf/ssl-dhparams.pem ']'
+ echo '### Creating dummy certificate for domain.com ...'
### Creating dummy certificate for domain.com ...
+ path=/etc/letsencrypt/live/domain.com
+ mkdir -p ./data/certbot/conf/live/domain.com
+ docker-compose run --rm --entrypoint '  openssl req -x509 -nodes -newkey rsa:1024 -days 1    -keyout '\''/etc/letsencrypt/live/domain.com/privkey.pem'\''     -out '\''/etc/letsencrypt/live/domain.com/fullchain.pem'\''     -subj '\''/CN=localhost'\''' certbot
Generating a RSA private key
...+++++
.....................+++++
writing new private key to '/etc/letsencrypt/live/domain.com/privkey.pem'
req: Can't open "/etc/letsencrypt/live/domain.com/privkey.pem" for writing, Permission denied

Changing the Docker Compose volumes to named volumes, instead of shared directories, fixes the problem for /etc/letsencrypt, but still has Permission denied errors when creating directories in /var/www/certbot, which makes absolutely no sense to me.
This seems to be an issue with the certbot Docker image, or with the way Docker volumes works with the latest Docker build.

Works fine with the default Ubuntu 18.04 LTS version in Amazon's list of AMIs.

Glad to hear it’s working on Ubuntu now! :+1:
If you find out why it failed on CentOS, please feel free to reopen the issue and suggest a solution


Adding documentation and Test for PUT request

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 100.0%

Totals

Change from base Build 995047778:
0.0%

Covered Lines:
275

Relevant Lines:
275

💛  - Coveralls


No information if post was already voted

There should be an information if delegator has already voted for post from link. This could happen after url paste or after validate.

This should be listed as bug. With 2nd/3rd etc. vote you can change height of previous upvotes:

Voting AGAIN should be possible only with bigger vote power and still there should be information after validate like this post was already voted by voter X with Y% of delegate Z.

@lukmarcus Does re-vote consume voting power? I'm sure it cancels curation reward tho, so it's not good for delegator.
I'm not sure if this is frontend issue at all, maybe this problem should be fixed in the core library?
On the other hand, the voter might want to downvote a post that has already been upvoted by a delegator, because he/she found the post a plagiarism or something.
I can work on this issue.

@jakipatryk

Does re-vote consume voting power?

Lower vote didn't consume power. I didn't check it for higher vote - but it looked like only percent difference was taken from account.

the voter might want to downvote a post

It's not as easy as it sounds because it works two ways - you can flag a vote or vote a flag. I forgot about that. So... Can voter change vote power? If yes, we must answer some questions:

Can voter change a vote/flag from delegator?
Can vote/flag be changed up, down or both?
Can vote be changed into flag and the other way?

Maybe there should be something like hierarchy of voters? So one voter can only change something from below and not above?

I think a hierarchy of voters might be a bit too complicated at this point. IMO overwriting a vote should be disabled by default, but there should be a rule (or rules?) to let delegator enable doing it for certain voters, example rule could look like this:
{
    "rule": "overwrite_vote",
    "mode": "decrease_vote_weight", // or "increase_vote_weight", or "both", determines whether voter can increase a vote weight, decrease, or do both
    "when": "is_downvote" // or "is_upvote", or "is_any", determines when voter can overwrite a vote (when it's upvote, when it's downvote, or when it's either of them
    "times": "once" // or "twice", or "any", determines how many times a voter can overwrite a vote on one single post, I'm not sure if it's needed tho
}

What do you think? @lukmarcus

It's a nice solution. I like it.
But still going back to first problem - there should be an information that post was already voted by delegator.


Not back arrow when push page

i'm testing the example and event if I push a new page, the back arrow is not showing

If you want to have the back arrow on the pages that you push with the navbar, you need to give every single screen a scaffold with an AppBar. Then you should also remove the scaffold around your PersistentTabView if there is one.
So to make that work in the example, you need to remove the scaffold in the build method of the ProvidedStyleExample and add an AppBar to MainScreen and MainScreen2 for example.
Does that solve your issue?


improve channels

improve channels to give individuals socket self information

Socket Assigns
Similar to connection structs, %Plug.Conn{}, it is possible to assign values to a channel socket. Phoenix.Socket.assign/3 is conveniently imported into a channel module as assign/3:

socket = assign(socket, :user, msg["user"])
Sockets store assigned values as a map in socket.assigns.


[explorer] Redesigns Object Results following Figma

This implements a redesign of the Object Results page following Figma.
List of Changes

Restructuring the Object Results code to simplify the process for changing how info on packages and tokens are presented
Adding a 'Go Back' Button
Redesigning the header of the Object Results Page
Creating separate Description and Details sections for Token and Package Pages respectively
Redesign of the Properties section
Shrinking the Image Box
Changing how JSON is presented to match how modules are presented
Implementing a 'Broken Image' icon

Screenshots
Desktop Views
Package

Token

Mobile Views (Galaxy Fold)
Package

Token
https://user-images.githubusercontent.com/11377188/182158626-c0f1a479-7a68-4ea9-9543-b222e96eadfe.mp4
Broken Image

Comments
Please add any feedback on the look of the image to PR https://github.com/MystenLabs/sui/pull/3291. The Image Pop-Out PR will be updated both to incorporate the added feedback and to add the 'Preview Media' button.

Thank you @Jordan-Mysten and @Jibz1 for all of the feedback. This has greatly helped with refactoring the code and in explaining the new structure for the Object Results code.


Vue + Babel: "Unexpected Situation Arose"

#302 appears to be similar to what I am experiencing, but the patron of that issue didn't really share how it was resolved.
Steps to reproduce:

Clone the rollup branch of https://github.com/girder/girder_web_components/tree/rollup
yarn
yarn rollup

Please note that I am attempting to convert a large webpack project to rollup, so I don't expect that, if this issue is fixed, the build will succeed.  It's a slog.
I've tried switching node versions with n.  Nothing I have in the 8-12 range made a difference.
Important files

import vue from 'rollup-plugin-vue';
import replace from 'rollup-plugin-replace';
import resolve from 'rollup-plugin-node-resolve';
import babel from 'rollup-plugin-babel';
import scss from 'rollup-plugin-scss';
import stylus from 'rollup-plugin-stylus-compiler';
import commonjs from 'rollup-plugin-commonjs';
// import postcss from 'rollup-plugin-postcss';

const plugins = [
  stylus(),
  scss(),
  commonjs(),
  vue({ css: false }),
  replace({
    'process.env.NODE_ENV': JSON.stringify('production')
  }),
  resolve(),
  babel({
    exclude: 'node_modules/**',
  }),
];

const config = {
  input: 'src/index.js',
  output: {
    file: 'dist/gwc.js',
    format: 'esm',
    sourcemap: false,
  },
  plugins,
};

export default config;

Dependencies:
  "dependencies": {
    "@mdi/font": "^3.5.95",
    "axios": "^0.18.0",
    "js-cookie": "^2.2.0",
    "markdown-it": "^8.4.2",
    "moment": "^2.24.0",
    "qs": "^6.5.2",
    "vue": "^2.5.21",
    "vue-async-computed": "^3.4.1",
    "vue-cli-plugin-vuetify": "^0.5.0",
    "vuetify": "^1.3.15",
    "vuetify-loader": "^1.2.1"
  },
  "devDependencies": {
    "@babel/core": "^7.5.4",
    "@vue/cli-plugin-babel": "^3.0.0",
    "@vue/cli-plugin-eslint": "^3.0.0",
    "@vue/cli-plugin-unit-jest": "^3.0.3",
    "@vue/cli-service": "^3.0.0",
    "@vue/eslint-config-airbnb": "^3.0.0",
    "@vue/test-utils": "^1.0.0-beta.20",
    "axios-mock-adapter": "^1.15.0",
    "babel-core": "7.0.0-bridge.0",
    "babel-jest": "^23.6.0",
    "node-sass": "^4.9.0",
    "pug-lint-vue": "^0.1.3",
    "rollup": "^1.16.7",
    "rollup-plugin-babel": "^4.3.3",
    "rollup-plugin-commonjs": "^10.0.1",
    "rollup-plugin-css-only": "^1.0.0",
    "rollup-plugin-node-resolve": "^5.2.0",
    "rollup-plugin-postcss": "^2.0.3",
    "rollup-plugin-replace": "^2.2.0",
    "rollup-plugin-scss": "^1.0.1",
    "rollup-plugin-stylus-compiler": "^1.0.1",
    "rollup-plugin-vue": "^5.0.1",
    "sass-loader": "^7.0.1",
    "stylelint": "^9.6.0",
    "stylelint-config-standard": "^18.2.0",
    "stylus": "^0.54.5",
    "stylus-loader": "^3.0.2",
    "vue-cli-plugin-pug": "^1.0.7",
    "vue-template-compiler": "^2.5.16",
}

Full error

src/index.js → dist/gwc.js...
[!] (plugin babel) Error: An unexpected situation arose. Please raise an issue at https://github.com/rollup/rollup-plugin-babel/issues. Thanks!
src/index.js
Error: An unexpected situation arose. Please raise an issue at https://github.com/rollup/rollup-plugin-babel/issues. Thanks!
    at error (/home/brandon/kitware/github.com/girder_web_components/node_modules/rollup/dist/rollup.js:9402:30)
    at Object.error (/home/brandon/kitware/github.com/girder_web_components/node_modules/rollup/dist/rollup.js:15643:24)
    at Object.error (/home/brandon/kitware/github.com/girder_web_components/node_modules/rollup/dist/rollup.js:16083:38)
    at /home/brandon/kitware/github.com/girder_web_components/node_modules/rollup-plugin-babel/src/preflightCheck.js:58:9
    at /home/brandon/kitware/github.com/girder_web_components/node_modules/rollup-plugin-babel/src/index.js:95:22

error An unexpected error occurred: "Command failed.
Exit code: 1
Command: sh
Arguments: -c rollup -c
Directory: /home/brandon/kitware/github.com/girder_web_components
Output:
".
info If you think this is a bug, please open a bug report with the information provided in "/home/brandon/kitware/github.com/girder_web_components/yarn-error.log".
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

System
            .-/+oossssoo+/-.
        `:+ssssssssssssssssss+:`           ---------------------
      -+ssssssssssssssssssyyssss+-         OS: Ubuntu 18.04.2 LTS x86_64
    .ossssssssssssssssssdMMMNysssso.       Host: XPS 13 9360
   /ssssssssssshdmmNNmmyNMMMMhssssss/      Kernel: 4.15.0-52-generic
  +ssssssssshmydMMMMMMMNddddyssssssss+     Uptime: 21 hours, 6 mins
 /sssssssshNMMMyhhyyyyhmNMMMNhssssssss/    Packages: 2788
.ssssssssdMMMNhsssssssssshNMMMdssssssss.   Shell: bash 4.4.19
+sssshhhyNMMNyssssssssssssyNMMMysssssss+   Resolution: 3200x1800
ossyNMMMNyMMhsssssssssssssshmmmhssssssso   DE: i3-with-shmlog
ossyNMMMNyMMhsssssssssssssshmmmhssssssso   WM: i3
+sssshhhyNMMNyssssssssssssyNMMMysssssss+   Theme: Breeze [GTK2/3]
.ssssssssdMMMNhsssssssssshNMMMdssssssss.   Icons: Breeze [GTK2/3]
 /sssssssshNMMMyhhyyyyhdNMMMNhssssssss/    Terminal: x-terminal-emul
  +sssssssssdmydMMMMMMMMddddyssssssss+     CPU: Intel i7-7500U (4) @ 3.500GHz
   /ssssssssssshdmNNNNmyNMMMMhssssss/      GPU: Intel HD Graphics 620
    .ossssssssssssssssssdMMMNysssso.       Memory: 4502MiB / 7618MiB
      -+sssssssssssssssssyyyssss+-
        `:+ssssssssssssssssss+:`
            .-/+oossssoo+/-.

node 12.6.0 (and many others)
yarn 1.5.1
yarn error log attached.
yarn-error.log
Thanks in advance.

You have removed the branch containing a repro case so I can't quite take a look at this now. Going to close this issue as I'm not sure if you are still interested in this, bit if you are - then feel free to reopen with the repro case and I'll get back to you (and I promise it will be way sooner than the last time).


The file name is too long

Summary
Trying to duplicate the ipconfig.c  using rust, see the source code here
however, though the original c file runing successfully, the rust version fails with
Error: The file name is too long. (0x8007006F)

Crate manifest
[package]
name = "windows-dns-api"
version = "0.1.0"
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
anyhow = "1.0.79"
windows = { version = "0.52.0", features = ["Win32_NetworkManagement_IpHelper", "Win32_Foundation", "System", "Win32_System_Memory", "Win32", "Win32_System"] }

Crate code
fn main() -> anyhow::Result<()> {
    unsafe {
        // First call to GetNetworkParams to get the required buffer size
        let mut buffer_size = 0;
        GetNetworkParams(None, &mut buffer_size)?;
        dbg!(buffer_size);
        // Allocate buffer for the FIXED_INFO structure
        let fixed_info_buffer = Memory::GlobalAlloc(windows::Win32::System::Memory::GPTR, buffer_size as _)?;
        dbg!(fixed_info_buffer);
        }
  }

please let me know what other infomrations you need to resolve this issue

The problem is with the call to GetNetworkParams. buffer_size is passed with a value of 0, and it returns ERROR_BUFFER_OVERFLOW (as expected), but the function returns immediately on error because of the ? operator.
You should check the result of the call similarly to the C version:
let mut buffer_size = 0;
if let Err(error) = GetNetworkParams(None, &mut buffer_size)
{
    if error.code() != ERROR_BUFFER_OVERFLOW.into()
    {
        return Err(error);
    }
}

For general programming questions please consider https://stackoverflow.com/search?q=windows-rs


Use interface to create logger

By using the FieldLogger interface the logger supports both new logrus loggers and existing field loggers such as an entry. This is useful if the enduser uses an existing logrus logger with default fields.
An example of how an existing logger would look like:
logger := logrus.New().WithField(logrus.Fields{
    "service_name": "my-logging-service",
})

r.Use(ginlogrus.Logger(logger), gin.Recovery())

Thanks ;)

And thank you for this nice package and the merge! 👍


⚠ Bofrost.fr has degraded performance

In 08a3713, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1004 ms

Resolved: Bofrost.fr performance has improved in 9b0f063 after 14 minutes.


setup command looking for bin/bootstrap

The setup command is looking for bin/bootstrap should this be changed to bin/setup? ditto for .before and .after

looking into this further it looks like the version of rails that I'm using has a default setup script in bin/setup which may not be what we intend to execute as default behavior
@johnallen3d thoughts?
#!/usr/bin/env ruby
require 'pathname'
require 'fileutils'
include FileUtils

# path to your application root.
APP_ROOT = Pathname.new File.expand_path('../../', __FILE__)

def system!(*args)
  system(*args) || abort("\n== Command #{args} failed ==")
end

chdir APP_ROOT do
  # This script is a starting point to setup your application.
  # Add necessary setup steps to this file.

  puts '== Installing dependencies =='
  system! 'gem install bundler --conservative'
  system('bundle check') or system!('bundle install')

  # puts "\n== Copying sample files =="
  # unless File.exist?('config/database.yml')
  #   cp 'config/database.yml.sample', 'config/database.yml'
  # end

  puts "\n== Preparing database =="
  system! 'bin/rails db:setup'

  puts "\n== Removing old logs and tempfiles =="
  system! 'bin/rails log:clear tmp:clear'

  puts "\n== Restarting application server =="
  system! 'bin/rails restart'
end

Ugh, re: still looking for ./bin/bootstrap{.before,.after}! That's a hotfix in the making!
Regarding the Rails default, I think that's pretty reasonable. What about it is not working for you?

It doesn't seem to setup the test db? I could be missing something

Looks like it's a baseline that you are intended modify.

This script is a starting point to setup your application.
Add necessary setup steps to this file.

I see! thanks 👍


Reset cuda runtime error

Fix #1574
Thrust uses cudaGetLastError. This PR resets it.

jekins, test this please.

Jenkins CI test (for commit 944b68d3f2bebe8073bd320924b498aee5a949a0, target branch master) succeeded!

LGTM!


Add Mimic Matter ability

Description
Need to create an Ability def for Mimic Matter. This should be usable by any pawn, and be functionally similar to the current Mimic ability in Version 2.
We'll need to patch any hostility checks to not see hidden pawns, and give it to
Art Needed
Will need ability icon art, that's all! There's likely flecks that are usable for casting.
Sound Needed
Probably none, I can't imagine hearing a sound for this a ton would be any good.

I'm not super happy with either of these, but one of them should work at least for a placeholder graphic

Yeah this is tricky. I feel like the prey icon for it is like a mug which probably isn't immediately recognizable either. Do you happen to have the background graphic you're using there on its own? Maybe I can attempt throwing something together for it or others.

here you go

This is what the original Mimic Matter icons look like:

However I was think of what could be done to make them look more RimWorldy as mugs do not exist, so I thought of what was the prop I most associated with RimWorld and I thought of the good old 1x2 table, but I am not an artist and have no idea how this could be pulled off successfully. So I will just keep collecting reference images.

I considered the table to but the biggest thing I'm having things able to mimic are 1x1 tiles which makes things tricky. My next thought was a chair or a boulder, but boulder makes life a little more difficult due to item copying problems. Chair might work though.
This is for sure gonna be the trickiest one.


MCR - added conceptual view of integration with Azure

Added conceptual view
Updated docs and directory structure

This PR fixes

Closing this PR. Will submit a new PR with latest content /structure. Thanks.


build issues with stylesheets

when started data-library I found it was an opportunity to be more strict on the advances we've made to stick to a css styleguide, pityfully it involved more work than I originally scoped so I'm created this separate issue to keep track of those issues.

the first thing I'd set to discuss is the build task for the css. It differs from the common pattern of building css frameworks from modules (see examples [1] [2] [3]). We are currently not taking advantage of the @import, but creating the css for every scss module then concat.

so, for every css we are doing the import of the non-rendering css (sizes, colors, ...) instead of having an entry scss, with the non-rendering css on top and the rest of the modules below
let's see this with an example, i.e. dashboard:
current:
stylesheets/dashboard/.css.scss => stylesheets/dashboard/.css
stylesheets/dashboard/datasets/.css.scss => stylesheets/dashboard/datasets/.css
stylesheets/dashboard/maps/.css.scss => stylesheets/dashboard/maps/.css
with
@import "../variables/mixins";
@import "../variables/colors";
@import "../variables/sizes";

at the top of every file, then concat to:
stylesheets/dashboard.css
proposed:
stylesheets/dashboard.css.scss with:
// Non-rendering scss
@import "../_variables";
@import "../_mixins";

// Components
@import "../_components";

// Layout
@import "_base";

explicitely importing every file, instead of using gobbling ** and grouping them if necessary (i.e. components)
finally, all non entry scss should be prefixed by underscore _

This point is quite more harder but we should move away from Compass, together with code B.S. (before styleguide) it's penalizing a lot on build times. Furthermore, instead of relying on Compass mixins (preprocess time) a good alternative would be Autoprefixer (postprocess time) to keep css as lean as possible.

Don't mix nest and concat for classes in the CSS, we should stick to one style (I did nest before, but +1 to concat) i.e:

.button {
  &:hover { }
}

.button {}
.button:hover {}

I'll expand the issue as I find more
[1] http://thesassway.com/beginner/how-to-structure-a-sass-project
[2] http://pivotallabs.com/structure-your-sass-files-with-import/
[3] https://github.com/ubuntudesign/vanilla-framework

also, the long-running issue with compiled css being checked in
vendor/assets/javascripts/cartodb.uncompressed.js
vendor/assets/stylesheets/cartodb.css

the build is not convenient for debugging, we could have an expanded view where points to the specific file and line instead of the next

Sounds good to me, especially (1) if it can cut down the build time significantly.
re: (1b), (the autoprefixing) I'm all for it but there are a lot of custom mixins that are not related to compass that do their own vendor-prefixing, AFAIK @xavijam is probably the best one to reply if it's feasible to get rid of them then.

I don't have a strong opinion, apart that we decide on one way, document it in the styleguide and stick to it.

re:  the other things you commented on:

also, the long-running issue with compiled css being checked in

I think this is worthy an issue in itself since it's not related to the CSS per-se, but more on how we want to integrate other libs (even if we own them ourselves).

the build is not convenient for debugging, we could have an expanded view where points to the specific file and line instead of the next

not sure I follow, can you clarify what your proposal is to fix this?
Btw, if you want to get this done should probably prioritize it (i.e. assign some milestone) and owner…

autoprefixing:

i'm aware of the custom mixins (flex) but I prefer to use a vendor solution that we don't have to maintain, plus the less precompile we have the better

scss output for debugging (I'll explain with website example):

having the config I proposed above, here's the config, when executing sass task for development and production:

    sass: {
      dist: {
        options: {
          outputStyle: 'compressed',
          sourceMap: true
        },
        files: [{
        }]
      },
      server: {
        options: {
          outputStyle: 'expanded',
          sourceComments: true
        },
        files: [{
        }]
      },

from the documentation http://sass-lang.com/documentation/file.SASS_REFERENCE.html#output_style, here are the different outputs that config process:
expanded, source comments
https://gist.github.com/matallo/8e32cc2ae595ff1646f1
compressed
https://gist.github.com/matallo/c9323f10025e1dc288f2
this way, when in development using the dev tools it can point me to the specific file and line despite there's only one css generated (also in production with the source map)
prioritizing:
I'm already not doing this if I want to get to the milestone, so I can't commit to it, but indeed there's some thorough work to be done in this area

another thing I don't want to lose track is after rebuilding the icon_fonts it's needed a whole grunt && gunt dev
it shouldn't really bee needed

more inconsistencies I found that makes the markup not so intuitive:

in public dashboard we load the js assets in the layout (that's how we should follow) https://github.com/CartoDB/cartodb/blob/master/app/views/layouts/public_dashboard.html.erb#L113
in public dataset we add it in the js include https://github.com/CartoDB/cartodb/blob/master/app/views/admin/visualizations/public_table.html.erb#L20

There has been no activity on this issue for more several months. We are closing it. If you think this still needs to be addressed please open a new issue.


Option to disable table of contents

Hey :), thanks for building this!
My use case is to convert single web pages into and epub file so the ToC usually only contains one entry which makes it a bit pointless. I'd like to see an option that disables the ToC completely. Is that something you think would be feasible to implement? If so, I'll be happy to contribute that feature.

Hey.
I don't mind adding an option to do that but the generated file won't be valid anymore.
If I understand the EPUB specification, the file has to contain a navigation element.
2.1   Package Conformance

If we do this I think it will be nice to name this option like generateInvalidEpubWithoutToc (or something similar) to avoid confusion.

Good to know! After your comment I did some research. Apparently to achieve what I'd like to have, all that is necessary is to remove the ToC entry from the spine object in the content.opf file.
This way the ToC is still part of the ebook and you can still access it using your reader's ToC feature, but it won't be visible simply when scrolling through the book.
My suggestion would be to introduce two new options, something like hideCover and hideToc, which allow to exclude the cover and the ToC from the spine but still include them in the ebook archive.
Let me know what you think. Here's an example ebook where I commented out the cover and ToC entries in the spines which produces the desired outcome.

I need that too, created a script that automatic sends newsletters every mornings to my kindle. I'll appreciate if the brenner's suggestion could be implemented, the hideCover will work well for me.

Hey. I just published a new version. 🙂
You can now hide the ToC by setting the hideToc option to true.
If you want to hide the cover you can just unset the cover option.

@e-adrien Awesome, thank you! Will give it a try and provide an update. :+1:

@e-adrien Works flawlessly! From my point of view this issue can be closed.

Thank you for the issue and the feedback. 🙂


#59 Support smart count / value pairs for pluralize

Implemented support for smart_count objects with count/value pairs
Updated unit tests to check the new feature
Updated the documentation to reflect the new feature

Hey guys,
This PR is related to this issue:
https://github.com/airbnb/polyglot.js/issues/59

Epiphany moment... this change makes absolutely no sense since you can do
polyglot.extend({   "num_cars": "%{count} car |||| %{count} cars", });
And then
`polyglot.t("num_cars", {smart_count: 0, count: 'Zero'});
=> "Zero cars"
polyglot.t("num_cars", {smart_count: 1, count: 'One'});
=> "One car"
polyglot.t("num_cars", {smart_count: 2, count: 'Two'});
=> "Two cars"`
Nowhere does the plugin enforce using smart_count for interpolation as well...


Provide a shields.io badge

Describe the feature you would like
It would be nice to offer a shields.io badge for Foundry, which would contain the logo currently found in the README:

This would make it easier for devoted users to signal their allegiance to Foundry in their project READMEs.

https://github.com/sambacha/foundry-badge - can submit the badge to simpleicons repo  and have the foundry logo embedded similar to ethereum/solidity logo. however it may have too much detail and not downsize appropriately
Here are some examples
The use template button when clicked will take you to generating a new repo from the template repo
Unfortunately TOML isn't a format that shields offers parsing abilities for, only yaml / json and ... xml.
Dash badge

Query parameter badge

Dash badge

Query parameter badge

Social buttons

Repo metadata

Call-to-Action buttons

Social buttons

Repo metadata

Call-to-Action buttons

License
Released under (Apache-2.0 OR MIT) by @foundry-rs.

Obviously, a coverage badge would be great fit :)

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
I am a blockchain and DeFi developer . I am having experience of 8 months . I am currently working in a DeFi startup . Also I have developed algorithmic stablecoin that is pegged to INR . My experience in Web developement will help me to solve this issue .
How I plan on tackling this issue
I am gonna take  the API from shields.io . Then I will download foundry logo and convert it to Base64 format .By using the API of shield.io , I am gonna host that logo as badge .


Register jsr:@lambdalisue/vim-fall for third-party plugins

Once Denops v7 become ready...

https://jsr.io/@lambdalisue/vim-fall


Cleanup LICENSE and README files

The LICENSE and README files are kept from before the repository merge. I think the LICENCE files can be removed, as there is one in the root folder.
The README.md should be updated to describe the component briefly and link to relevant documentation. Any links to old travis  jobs etc. should be removed.

Done


nebula: 1.9.3 -> 1.9.4

Description of changes
https://github.com/slackhq/nebula/releases/tag/v1.9.4

Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[x] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

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

Added backport label because it appears that this change fixes a crash.


Feat: I would like to add codeforces contest schedule and data

Describe the feature
Right now, the existing codeforces folder only has user.py which gives user data. However most people would prefer to know contest data: upcoming, live or past. While a few have raised issues regarding codechef or gfg, no one has raised this about codeforces. I have worked on a similar feature and I can implement it under gssoc'24.
Thanks
Add ScreenShots

Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSoC'24 contributor
[X] I want to work on this issue

@nikhil25803 could you please assign the issue to me

Go ahead @kart2004
Note

Please create a separate module for this, as in the folder and project structure (if it is already created, just add your features as functions in the same module).
Do not use the `selenium web driver as it is incompatible with all devices and cloud platforms.
Before making any changes, please check whether the module you want to add exists. If yes, then you can add your functionality as a method only make a separate module and class for it.

All the best 👨💻


phase2: update the kubeadm config to version v1alpha2

Refs kubernetes/kubernetes#66338
kubeadm 1.11 needs v1alpha2, thus we should use config migrate
to update the configration file. this should also work for future
versions, as long as config migrate works.
kubeadm 1.10.x would not trow an error.
https://storage.googleapis.com/kubernetes-jenkins/logs/ci-kubernetes-e2e-kubeadm-gce-selfhosting/537/artifacts/e2e-537-f2b95-master/serial-1.log
Jul 19 19:33:35 e2e-537-f2b95-master startup-script: INFO startup-script: your configuration file uses an old API spec: "kubeadm.k8s.io/v1alpha1". Please use kubeadm v1.11 instead and run 'kubeadm config migrate --old-config old.yaml --new-config new.yaml', which will write the new, similar spec using a newer API version.
Jul 19 19:33:35 e2e-537-f2b95-master startup-script: INFO startup-script: Return code 1.

@timothysc @dims @BenTheElder

updated, after the suggestion to use config migrate by @dims

@luxas that was the first version of this patch, but then both @dims and @BenTheElder said that kubernetes-everywhere can be used by people with k8s <1.11 versions and v1alpha1 support still has to be there.
thoughts on that?

(Preferably also branched per version as @bentheelder said)

Because kubeadm at HEAD can't upgrade v1alpha1 configs at all.

ok, i can make the change.
BTW, i tested it last night, for the sake of it with HEAD, and migrate did work on this simple v1alpha1 that's inlined in the .sh. script. that's because of the v1alpha1 leftovers, i assume.

Quick check on my way out says it looks good to me, one nit. We'll need to update the kubeadm image in test-infra to consume this ref once it's merged.

@BenTheElder patch updated.

We'll need to update the kubeadm image in test-infra to consume this ref once it's merged.

let me know if i can help there, preferably a small guide would help me - e.g. which file, and what has to be changed. thanks.

@neolit123 thanks! the image obtains kubernetes-anywhere here https://github.com/kubernetes/test-infra/blob/0e4d5ea4ff95460f5aa08baea6d17af377d7a68a/images/kubeadm/runner#L29
This might not be the best way, but that's how it works currently. I'm not sure who maintains it these days..

@BenTheElder
got it! will update the SHA, once the current PR is approved.

patch updated. moved to using --cloud-provider from apiServerExtraArgs for both config variants.

updated.

/lgtm


ci(release): release per platform

Description:
Only build and publish the electron packages for the current build environment.
Motivation and Context:
Speed up builds.
How Has This Been Tested?
Delete all published artefacts from draft release and run a new build on the master branch.
Types of changes:
CI Improvements
Checklist:

[x] My code follows the code style of this project.
[x] I have reviewed and updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[x] I have added tests to cover my changes where needed.
[ ] All new and existing tests passed.
[x] My commits have been squashed into a concise set of changes.

Coverage remained the same at 16.201% when pulling 64041be6f0c2dbd911443f81c27b0dd882764a3a on mrfelton:ci/release-per-platform into 5927552a2cff36ea52bad03aa93da904d87db568 on LN-Zap:master.

Coverage remained the same at 16.201% when pulling 64041be6f0c2dbd911443f81c27b0dd882764a3a on mrfelton:ci/release-per-platform into 5927552a2cff36ea52bad03aa93da904d87db568 on LN-Zap:master.


junit: Disable hooks in non-fuzz tests during regression testing

This makes it possible to run fuzz tests alongside unit tests without having the instrumentation applied by the agent interfere with unit tests, e.g. by throwing unexpected exceptions.

@kyakdan I pulled out some of the only mildly related changes to https://github.com/CodeIntelligenceTesting/jazzer/pull/576.


Fix mkdir when storage account has hierarchical namespace enabled

When storage accounts have hierarchical namespace enabled, the paths returned have a trailing / in them
Ex. ls("") on the storage account will return
["abc/", "abc2/"]

So the condition on the ls fails in that case

Thanks!


jltest. Change default behavior of find_tests().

Support two modes: skip runtests.jl and include runtests.jl.
Decide which one makes more sense as the default.
Add option to select non-default mode to CLI.

Added exclude_runtests keyword argument to jltest.find_tests(). Default=true.
Added unit test.


[FIXED JENKINS-28953] - Print image summaries on the build action page

https://issues.jenkins-ci.org/browse/JENKINS-28953

@reviewbybees

@reviewbybees @kohsuke up ^^^

:+1:

:bee: :+1:

This pull request originates from a CloudBees employee. At CloudBees, we require that all pull requests be
reviewed by other CloudBees employees before we seek to have the change accepted. If you want to find out
more about our process please see this note