[Linux/Wine] Special effects (particles?) are visible only in a portion of the screen.

Hello, it's me again.
Don't mean to spam the bugtracker, just reporting bugs as I go (and this seems the place with any activity for T+).
This particular one is very frustrating...
I've found that various special effects (spells such as sleep/grease/MM/web/etc, chimney smoke, blood, will-o-wisps, bugs(?) around trees in Nulb, even flames in the main menu) are visible (get rendered?) only in a portion of the screen.
Now, I have a 4k monitor running at 3840x2160, and have render{width,height} set to eg 1280x720 fullscreen. And all the special FX would only show up in a small rectangle (or a square) in the lower right corner of the screen.
I think T+ doesn't change the physical resolution to render{width,height}, but rather scales to whatever the desktop res is? At least it is so with Wine. Probably a smart thing to do (however, the fonts get blurry, they have to be rendered at the actual resolution).
All three w-o-w's are visible:

After scrolling the screen, only one (the rightmost) is visible:

Scrolling the screen even further, none are visible:

Also notice the green glow from the Bless spell around the chars (not very pronounced on the screenshot) behaves the same.
If I set the resolution to say 1920x1080 this area gets bigger.
I've set debugPartSys=true, but all I see is that the blue rectangles with labels like sp_Bless (which is I presume for the green glow) or sp_Sleep (for the corresponding spell) are somewhere off-screen in a diagonally opposite corner to which has the effects actually visible:

Thanks again for helping to get T+ even working for me in Wine.

On larger maps like towns, the symptoms are different. In some parts of the map, particles render everywhere on the screen, on other parts it's as described.

On larger maps like towns, the symptoms are different. In some parts of the map, particles render everywhere on the screen, on other parts it's as described.

Is this actually a wine-only problem, by the way? It occurred to me that most people might just be running at their monitor's native resolution, in which case you'd never encounter this problem.

no idea since I only run Linux, but I positively have to set the resolution to that I run T+ in to avoid this.
anyway. what's the relationship between the res you run T+ in and the ToEE viewport? At 1600x900 it's already too zoomed out ('small') for my taste

Yeah, I'm unable to check for the same reason (and I also experience this bug). I brought it up since it occurred to me that it might be that no one on Windows is actually running the game in a way that they'd notice this. If they're using a 1920x1080 monitor, then 1600x900 covers most of the screen, and even 1280x720 covers the center, where you might be looking most of the time.
I also noticed that mirror images render normally all over the screen. TemplePlus seems to draw that itself, so maybe that's the reason. Maybe that could give some hint about why other particles don't work, though.

Ho, looks like you're right. I looked into this previously and didn't see anything of the sort, so I chalked it off as a Linux issue, but it must have been because I was running the game in windowed mode (since there the issue does not manifest itself).
@shartte

I usually run it scaled, because there's a limit to the resolution ToEE can render at (mostly due to the shitty fog of war implementation using a pre-determined fixed-size buffer that has to fit every rendered pixel).
We render to a texure of that size and then scale that to the actual window/screen size.
It's quite surprising that windowed vs. fullscreen makes any difference at all since we only support "borderless fullscreen" which isn't really fullscreen anyway.
Can you give me a simple step-by-step list on how to repro this?

For me, here are two ways to notice it:

Stand outside the Welcome Wench. Most particle effects will be invisible except on the bottom-right portion of the screen that (seemingly) physically has the resolution that Temple+ is set to run at. For 1280x720 on a 4K screen, that's pretty noticeable, but it'll be less so if the Temple+ resolution is closer to the resolution your monitor is running at.

On the title screen, the flames become invisible on a similar portion of the screen. However, around the point that the camera starts moving past the candles, this changes, and the larger flames stay visible across the entire screen.

Based on the second example, it seems like the camera's coordinates within the scene also have something to do with it. Maybe it's a translation problem rather than a scaling problem.
Also, it seems like the whole effect gets rendered or doesn't based on whether the center (the particle, I guess) is in the right area. It's not like the effect gets clipped to look rectangular at the edges.

I usually run it scaled, because there's a limit to the resolution ToEE can render at (mostly due to the shitty fog of war implementation using a pre-determined fixed-size buffer that has to fit every rendered pixel).
We render to a texure of that size and then scale that to the actual window/screen size.
It's quite surprising that windowed vs. fullscreen makes any difference at all since we only support "borderless fullscreen" which isn't really fullscreen anyway.
Can you give me a simple step-by-step list on how to repro this?

I think I've traced it to here:
https://github.com/GrognardsFromHell/TemplePlus/blob/master/TemplePlus/gamesystems/particlesystems.cpp#L398
Compare the result when running fullscreen vs windowed. Attached save with convenient single static particle system.
ParticleSystemDebug.zip
WorldToScreenUi seems to be ok.
BTW I saw the WorldCamera::mScale is always 1.0. Maybe that's why?

mScale is only used for the main menu (fuck that thing :D)
I'll take a look. I also think it sounds a lot like the culling using the wrong screen size.

Oh, I don't know if this helps any, but if you set the resolution to something more square (e.g. 1280x1024) on a widescreen monitor, then the area the effects are clipped to is still as if the 'physical' bounding box is placed at the lower right of the widescreen window. So the region where effects show up will be tall, because of the pillarboxing.

Working on a fix, this is a general issue that is a bit harder to fix "properly" than it initially seems.
Directly after rendering a frame, we switch back to "normal resolution", which also changes back the camera size to normal resolution until the next frame is rendered.
The problem in this issue comes from particle systems computing their own screen location while they're being simulated, which happens after rendering. This means they do this calculation using a camera that is at "native resolution" which is wrong.
I am changing this internally so we no longer mix the rendering device's camera with the camera we use for the game view, which is a bit more involved, but is cleaner anyway.


Image upload: Show progress feedback

When uploading an image, the upload might take several seconds or more, particularly if the image is large or the connection is slow.
We should give some visual feedback, like a progress bar, to indicate that the upload is happening.

I'll attempt to solve this, but not claiming since I'm not sure if I will get a solution up fast enough.

Showing a progress would be quite involved (and ideally a cancel 'X' button)
But we can improve upon the current state with a much smaller feature.
We can initially just show placeholder with an indefinite spinner inside.
Showing the actual progress involves this:

using some other lib to upload, since we are not getting any progress feedback from the basic fetch API
a way to track all active uploads
a custom way to send data about progress about these uploads to the web view

The message prerender happens in
https://github.com/kunall17/zulip-markdown-parser
which might also require changes.

Copying back here a comment I made last year on #3118:
I think an image-shaped and -sized placeholder with a spinner -- Zulip-green on neutral background, like most of our spinners -- would probably work well.
Experimenting with it now, we do have a spinner: the usual outbox spinner shows up there just fine. So I'm actually a little curious just how users respond to the current UI -- is that spinner just too subtle? (It is pretty small.) Or is there another issue?
Hmm, in fact: what we don't have a spinner for is downloading, and rendering, the image. Experimenting with this on [the #3118 branch], I still have the experience that it feels a bit stuck and I briefly wonder if it's making progress, because that part is slow and the message just looks blank. (In fact the green box [which the PR added while uploading] might barely make it on screen for a frame or two, then it's blank for hundreds of ms and then fills in gradually from the top over a second or so.)
I think one thing that would improve the situation is if we can get the image to show as a gray box or something when it isn't downloaded yet -- then at least it would have clearly-defined boundaries in its own shape, so it's clear there is supposed to be an image there and things aren't just weirdly all blank.

@timabbott ran into this issue today, and reported in chat:

Because the file was large (and thus took some time to upload) and we apparently don't local echo or provide any other feedback, it looked like the upload didn't work at all, which confused me into uploading duplicate copies. We should really do something, whether it be an upload progress bar (might be the best solution), loading spinner, local echo, or something. (Though my guess is we're not local echoing because we only send the message once it's been created, and that only happens when the upload finishes)

So if it is still the case (as I reported in the previous comment) that we show the outbox spinner while uploading, then it's also still the case that that's quite subtle and easy to miss.
The message consists entirely of a link, like [foo.jpg](/user_uploads/1/a/asdfqwer/foo.jpg). On the web these look like the link text, followed by the image... but I believe we render them as just the image. So one point is that the outbox message (as local-echoed) is probably completely blank before the image is uploaded... there's nothing there but the spinner. That likely contributes to making it feel like there's no feedback.

@gnprice said:

I think an image-shaped and -sized placeholder with a spinner -- Zulip-green on neutral background, like most of our spinners -- would probably work well.

Agreed. We'll need to use the image's dimensions to size the the placeholder; this should be fine.

One other possible direction is to do it the web app's way — nothing actually happens in the message list. The actual text in the compose box is replaced with something like [Uploading fileName.png...] during the upload, and a progress indicator (could just be a static spinner to start out with) appears above that.

This will be substantially helped by #4590.

I've just closed #4129 as likely to be superseded by #4590. If it eventually turns out that #4129 was the better direction to go, we should consider reopening it. 🙂

yes please.  i see many users accidentally uploading the same image multiple times because they think their upload did not work. before i knew this is by design, i did this, too.    some indication of upload progress would be very nice.

We've had another report of this: https://chat.zulip.org/#narrow/stream/48-mobile/topic/Bug.20reports/near/1292548


OP-14834: Added new filter to handle token expiring cases

https://devopsmx.atlassian.net/browse/OP-14834

This PR  triggered this build in this execution, please merge to v3.9 branch only if this succeeds:  https://spin.prod.opsmx.com/#/applications/isd39/executions/details/01G3QQV4V52P6HMRAYKP2AV7N6

This PR  triggered this build in this execution, please wait for it  and child pipelines to succeed before merging:  https://isd.prod.opsmx.net/deck/#/applications/gcp-gitprtrigger/executions/details/01G3QQTJ8E812NYX5TYJCJRRJH

This PR  triggered this build in this execution, please merge to v3.9 branch only if this succeeds:  https://spin.prod.opsmx.com/#/applications/isd39/executions/details/01G3R3PHWNJ2BHE9K6FQRGAG38


[WIP] Getting forks to build

While working on explore build I noticed inconsistencies between build and check.
Build was not triggering on my PR as it was a fork. This PR addresses that.
Forks had no builds because they had no access to secrets, hence the github actions did not run which identified the changed services. This PR does the same check in bash
Caveat: serverless/web changed triggered both serverless and serverless/api due to the check. I think this is an okay compromise.
This PR also contains some serverless changes as the auth changes broke it.
It was unnecessary stuff anyway.

One thing I have just realised that events and docker push should only happen on master branches.


node label is different than edge label in the original gspan algorithm

I wanted to bring to your attention a difference I observed between your implementation and the gSpan algorithm implemented in Java, which I have been using as an alternative. In the Java implementation (https://github.com/nphdang/gSpan/tree/master/Data), the treatment of node labels differs from that of edge labels. However, in your code, I noticed that the node label and the edge label are used interchangeably.
I appreciate your work and am reaching out to understand if there's a specific reason for this difference in label handling. Your insights on this matter would be valuable.
Thank you for your time and consideration.

To clarify with an example: If I get in the output


cherry-pick docs: add numbering to headers to help navigation and readability (#639)

docs: add numbering to headers to help navigation and readability, minor edits

docs: add line break to fix bullet list format on kuadrant docs site

Update doc/user-guides/secure-protect-connect-single-multi-cluster.md

going to squash and merge as this is just a cherry-pick of what was already reviewed against main


Make some chat shortcuts work even without input focus

In particular, ArrowUp and Esc would work differently depending on whether
the input was actually focused.

Noticed this when working on https://github.com/keybase/client/pull/15958 and split it off.


Should readme import statement say from "from gmplot import gmplot" instead of "import gmplot"

Please note that I am very new to programming and sorry if I am missing something obvious but I could not get the crash course script in the readme to work until changing the import statement from "import gmplot" to "from gmplot imort gmplot" then everything worked for me.

sorry if I am missing something obvious

Nope. Fixed now.


Jp1

@anfn101 is this still relevant or should I close ?

@kurisu1996 approving as we talked about it.


G5 installer no longer successfully installs driver

Hello,
I was using this script successfully earlier this year and it was really helpful!
Somewhere along the way though, something seems to have stopped working with it, despite following the same install process:

This is on a win 2019 server AWS G5.xlarge, 200GB SSD.
Any idea what could be going wrong or how I could fix it?
Thank you!

Same problem for me, Win 2022 server g5.xlarge.
Installing NVIDIA vGaming Drivers
Start-Process : This command cannot be run due to the error: The system cannot find the file specified.
At line:136 char:1
+ Start-Process "$InstallDir\NVDriver\Windows\*vgaming*.exe" -ArgumentL ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [Start-Process], InvalidOperationException
    + FullyQualifiedErrorId : InvalidOperationException,Microsoft.PowerShell.Commands.StartProcessCommand

Apologies, guys - I had no idea people even used this script anymore. Thanks!
I'm just about to push a fix which should bring back the driver install as normal.
Any problems, let me know :)

Closed with #2


Decorator-based subcommand API

Addresses #139

I think I resolved everything, thanks for your help + patient feedback @jedie!!


No selection for Startup project

Hi, I am using this plugin in rider of Mac.
There are two projects ZiyouServer and ZiyouServer.Base, the dbcontext class is in the ZiyouServer.Base project and the ZiyouServer is a web api project as startup project. However , I can not select the startup project.

Hi @spartajet, which target framework is specified in your expected startup project?

Hi @seclerp , many thanks for your quickly reply.
the framework is .net6.
and I have install two nuget packages；
Microsoft.EntityFrameworkCore.Design
Microsoft.EntityFrameworkCore.Tools
in both projects.

Could you share your .csproj files, please? Or maybe some simple repro.

Yeah, if you have an idea how to handle this strange behavior please go ahead, contributions are very welcome!

Hi, @seclerp , during my debugging this project, I found that
project.GetInstalledPackage(EfCoreRequiredPackages.EfCoreToolsNugetId) always reture null
that maybe jetbarins sdk changing.
So, we'd better remove this startup projects detection logic.

Hi, @seclerp , during my debugging this project, I found that
project.GetInstalledPackage(EfCoreRequiredPackages.EfCoreToolsNugetId) always reture null
that maybe jetbarins sdk changing.
So, we'd better remove this startup projects detection logic.

Hi @spartajet, could you maybe share some minimal repro repository with all environment info about your setup attached? It is still not reproducible from my side and we don't have enough concerns regarding the feature removal.


Switch to first come first served scheduled query executor

This change is mainly about switching to the scheduled query executor
to allow us to use custom query scheduling algorithms. Current implementation
will use FCFS as the only supported algorithm. This commit has following
important changes:

Switch to scheduled query executor that processes queries on different
executor service freeing up netty threads quickly. Freeing up netty is less beneficial
right now but we can potentially lower threads and support async queries from broker in future.

Query worker threads are moved from TableDataManager control to query scheduler. This
means we have single query worker pool instead of per table pool - much less threads -
which will impact existing multitenant clusters.

Number of threads in each thread pool are configurable.

Performance:
There is no performance impact across multiple use cases.

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@8763f8b). Click here to learn what that means.
The diff coverage is 87.5%.

@@            Coverage Diff            @@
##             master    #1072   +/-   ##
=========================================
  Coverage          ?   67.05%
=========================================
  Files             ?      747
  Lines             ?    35582
  Branches          ?     4524
=========================================
  Hits              ?    23858
  Misses            ?    10144
  Partials          ?     1580

Impacted Files
Coverage Δ

.../com/linkedin/pinot/common/query/QueryRequest.java
78.94% <ø> (ø)

...om/linkedin/pinot/transport/netty/NettyServer.java
83.78% <ø> (ø)

...re/data/manager/config/TableDataManagerConfig.java
86.36% <ø> (ø)

...data/manager/offline/AbstractTableDataManager.java
91.15% <ø> (ø)

...m/linkedin/pinot/server/starter/ServerBuilder.java
63.15% <100%> (ø)

...pinot/core/query/scheduler/FCFSQueryScheduler.java
100% <100%> (ø)

...core/query/executor/ServerQueryExecutorV1Impl.java
82.6% <66.66%> (ø)

...din/pinot/core/query/scheduler/QueryScheduler.java
92.3% <88.88%> (ø)

Continue to review full report at Codecov.

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

Addressed all comments


Move license to footer

Closes https://github.com/ProjectPythia/pythia-foundations/issues/397
Motivation: Tutorial documentation often introduces new concepts or processes, and users may already be grappling with understanding unfamiliar information. A clean UI reduces cognitive load by simplifying the visual presentation and reducing unnecessary complexity. By minimizing distractions and focusing on essential elements, a clean UI helps users better absorb the tutorial content and decreases mental strain.

Hey @ahuang11, thanks for this!
I agree that this cleans the UI a bit for this cookbook and I'd be happy to merge. But first, we should factor in consistency across cookbooks as reducing complexity.
Therefore, I think we should either file an upstream PR, or at least ask the Pythia folks to weigh in on minor cookbook-specific theme changes like this. Your call

Yes, I was thinking about these:

I wanted to first see if others accept this change before doing mass updates
I was wondering whether updates to the upstream template will propagate downstream

At the moment, I'm not convinced point 2 will be true because I don't see anything in https://github.com/ProjectPythia/cookbook-template/blob/main/environment.yml but I could be wrong.
If it's not implemented, I wonder if it's worthwhile to implement something to propagate these changes before more cookbooks are added. At Prefect, we used cruft to maintain consistency across multiple Collections, e.g. https://github.com/PrefectHQ/prefect-great-expectations/pull/30)

I think that's a great question/suggestion. I'd suggest starting that conversation on the cookbook template repo or on the Pythia discourse

Added a post here: https://discourse.pangeo.io/t/propagating-changes-in-cookbook-templates/3506


add --ipfs flag to 'graphman run' to control the IPFS URL

One can now run:
graphman --ipfs=localhost:5001 run {...}

or leave the default value https://api.thegraph.com/ipfs/

This should imo not have a default value, but I suppose we could mention the url to our gateway in the help string.

This should imo not have a default value, but I suppose we could mention the url to our gateway in the help string

I used the default value set by @mangas , my intention was to simplify the life of the developer trying to "run a subgraph locally for a test" or something similar.
I don't mind removing the default, but it does seem like making it harder for the dev to use the tool.

Ok I don't feel strongly.


Theme support for Notepad++

Here's Dracula theme for example: https://github.com/dracula/notepad-plus-plus/blob/master/Dracula.xml

Great suggestion @krisu5 , will put it on the backlog 👍🏻

I'd like to work on this if that's alright @mjswensen

That sounds great @jward8 , thank you!


TagBot trigger issue

This issue is used to trigger TagBot; feel free to unsubscribe.
If you haven't already, you should update your TagBot.yml to include issue comment triggers.
Please see this post on Discourse for instructions and more details.
If you'd like for me to do this for you, comment TagBot fix on this issue.
I'll open a PR within a few hours, please be patient!

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/35259

Triggering TagBot for merged registry pull request
This extra notification is being sent because I expected a tag to exist by now, but it doesn't.
You may want to check your TagBot configuration to ensure that it's running, and if it is, check the logs to make sure that there are no errors.

Triggering TagBot for merged registry pull request
This extra notification is being sent because I expected a tag to exist by now, but it doesn't.
You may want to check your TagBot configuration to ensure that it's running, and if it is, check the logs to make sure that there are no errors.

Triggering TagBot for merged registry pull request
This extra notification is being sent because I expected a tag to exist by now, but it doesn't.
You may want to check your TagBot configuration to ensure that it's running, and if it is, check the logs to make sure that there are no errors.

Triggering TagBot for merged registry pull request
This extra notification is being sent because I expected a tag to exist by now, but it doesn't.
You may want to check your TagBot configuration to ensure that it's running, and if it is, check the logs to make sure that there are no errors.

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/42930

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/46894

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/57849

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/103377

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/103454

Triggering TagBot for merged registry pull request
This extra notification is being sent because I expected a tag to exist by now, but it doesn't.
You may want to check your TagBot configuration to ensure that it's running, and if it is, check the logs to make sure that there are no errors.

Triggering TagBot for merged registry pull request
This extra notification is being sent because I expected a tag to exist by now, but it doesn't.
You may want to check your TagBot configuration to ensure that it's running, and if it is, check the logs to make sure that there are no errors.


[Feature Request] Add a hotkey to restart active console as administrator

Please add support for restarting the active console on behalf of the administrator, as this is implemented, for example, in ConEmu, that is, when you right-click on the tab console, you can restart it as an administrator, I would also like to have a hotkey for this action. Thank you.

If you right-click the tab, there's an option to duplicate it as administrator. I've renamed this issue to adda  hotkey.


Adds NullishOperator RFC

RFC for Nullish operator. Please discuss in associated issue.
rendered

This makes a lot of sense and it's great that it's explicit rather than having a defaulting behaviour.

The only thing that might be worth examining is the precedence of the full set of operators to understand how they all compose if parens are omitted.

+1 to this, i think this is probably a worthwhile thing to consider for whenever we add new operators with some fixity.

this seems relatively straightforward to me, and as with #29 we benefit from prior art within the JS ecosystem.

I really don't see any drawbacks with this proposal. The only thing that might be worth examining is the precedence of the full set of operators to understand how they all compose if parens are omitted.

I agree we need to make precedence more explicit. I think we can do that in a separate PR, what do you think?


Vector distance

Is there a way that the query could return the distance of the vectors from the search, maybe even a minimum threshhold?

Good idea, MRs welcome


Erizo Controller memory leak

As the image describes there is a noticeable increase in the memory usage by EC after 22 days running.

yes, that's definitively something that we should review, thanks for the heads up!


does different cpus prefer different loop unrolling group size

e.g. 8 works nicely on my pc, 4 less so, 16 very much less so

[ ] add macro which can set the unroll level to 2/4/8/16/32/64 (no need to go above 64 as we never do more iterations than that

yes it will be diff per cpu as the cache size varies, so the cache hits for different step sizes for unrolled loops are going to be different. Unroll too much and too many cpu instructions outweight the benefits, too few and you don't gain cache locality and branch overhead reduction


Type narrowing for fields

Hi!
Type narrowing is not working (not supported?) for fields (VS2013, TypeScript 1.4).
class O1Cls {
    x: any;
}

class O2Cls {
    y: any;
}

interface Options {
    opt: O1Cls|O2Cls;
}

class MyClass {
    constructor(options: Options) {
        if (options.opt instanceof O1Cls) {
            console.log(options.opt.x); // Error: Property 'x' does not exists on type 'O1Cls | O2Cls'
        }

        var opt = options.opt;
        if (opt instanceof O1Cls)
        {
            console.log(opt.x); // OK
        }
    }
}

Will it be supported or is this a "by design" behaviour?

Fields can have getters, so options.opt may return different things each time it is evaluated. Not sure if it can be statically checked.

@GuilhermeBernal: since i wrote this I've already noticed that. So probably it is not an issue.

See also #1706


elemental-ui modal demo not working

Uncaught Error: Invariant Violation: addComponentAsRefTo(...): Only a ReactOwner can have refs. You might be adding a ref to a component that was not created inside a component's render method, or you have multiple copies of React loaded (details: https://fb.me/react-refs-must-have-owner).
@rleibman  can you please look into this ..

ive noticed and fixed it locally, we just need to remove whatever refs is set in there and it works

Fixed in #49


Once Actor has been sent, turn Send2Actor button into a link to the already created Actor

Ideally, a back and forth update would be nice also (perhaps add a button to untie the two if its tied?).
For example:
GM updates the Character Sheet's Description, the contacts Description also gets updated.
This is probably very complex though... As global access to the contact isn't that easy in Foundry. Investigate whilst looking into this and raise a new issue if possible.


Catch attempts to import * as x from react-native

Motivation
Motivated by some very misleading redbox errors. When my IDE (Webstorm) slipped up auto-generating an import line, I ended up with this in my code:
import * as Platform from 'react-native'
The result:
Android (with remote debugging enabled)
Navigator is deprecated and has been removed
from this package. It can now be installed and
imported from `react-native-deprecated-custom-
components` instead of `react-native`. Learn about
alternative navigation solutions at http://facebook
.github.io/react-native/docs/navigation.html`

iOS
Native module cannot be null.

This is because import * ... triggers the getters in react-native-implementation.js, some of which throw errors for various reasons. These error messages had me chasing ghosts until I noticed my bad import line.
(NB: Android without remote debugging didn't throw any errors at all - I guess the getters are called lazily?)
Test Plan
The situation above now results in the following redbox on iOS and android:

Release Notes
[GENERAL] [ENHANCEMENT] [Libraries/react-native/react-native-implementation.js] - Better error reporting when attempting to import * from react-native

I don’t know who best to review a developer experience issue - maybe @hramos ?

Can you rebase?

What if these deprecated/erroring modules had the property descriptor enumerable: false, so you could still import * without calling those getters?
Here's a quick example against Babel's _interopRequireWildcard that works without throwing an error:
const fakeModule = { 'foo': 'bar' };

Object.defineProperty(fakeModule, 'invisible', {
  enumerable: false,
  get() {
    throw new Error('Bad getter called');
  }
});

function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }

const fakeImport = _interopRequireWildcard(fakeModule);

Seems like a much better solution to me

I took a stab at having deprecated exports (not just Navigator) be unenumerable, but I discovered a side-effect of how import is transpiled that makes that a bit more complicated
Say you wanted to use the wildcard import:
import * as ReactNative from 'react-native';

ReactNative.SomeApi.someThing();

Then in a later release SomeApi is deprecated. Since it's unenumerable, what I thought would be nice is have it so it could still be manually imported while you transition away:
import * as ReactNative from 'react-native';
import {SomeApi} from 'react-native';

SomeApi.someThing();

Babel 6 in this fiddler transpiles this to:
var _reactNative = require('react-native');

var ReactNative = _interopRequireWildcard(_reactNative);

// snipped helper definition

_reactNative.SomeApi.someThing();

But Babel 7 in Metro transpiles it to:
  var ReactNative = babelHelpers.interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0], "react-native"));
  ReactNative.SomeApi.someThing();

The big important difference here is in the first example, it's trying to get SomeApi right off of react native's export object, but in the second example if you try to wildcard import from the module then it will try to get SomeApi off of the wildcard export object. Since it was declared unenumerable, it won't be available.
I'm not sure if this is a babel 7 issue or a metro babel plugin issue. Will try and look into this later.

Actually - it appears as if this stuff isn't needed after all. _interopRequireWildcard was updated in Babel 7 so it will copy getter functions over without calling them! So import * as RN from 'react-native' will work without error in RN 0.57

Based on @empyrical's comment, I'll close this PR, as it seems like with babel7 this won't be necessary any longer. While I don't personally recommend using import *, that's a subjective thing and everyone should be able to use it as much as they'd like to :)


Files getting automatically deleted at the source location if the cache files are removed

Does this issue occur when all extensions are disabled?: Yes/No (Do not know)

Version: 1.77.3
Commit: 704ed70d4fd1c6bd6342c436f1ede30d1cff4710
Date: 2023-04-12T09:16:52.732Z
Electron: 19.1.11
Chromium: 102.0.5005.196
Node.js: 16.14.2
V8: <IP_ADDRESS>-electron.0
OS: Linux x64 5.4.0-146-generic snap
Sandboxed: Yes
For some reason, few files(in my case: .py and .xacro files) are stored as cache in /run/user/some_random_number/doc. If you open that python or xacro file from source location, it still opens from cache location. Hence, I tried to delete those files from cache location. However, I could not delete them. Suddenly, git says those files in the source location are deleted. Anyway, I was able to recover the files.
I do not know if this is an edge case, or a bug that exists in the new version.
Steps to Reproduce:

Since I do not know how the files ended up in cache location, unfortunately, I cannot reproduce this behavior. If someone could point me how to get the files into cache location, I will try to reproduce the behavior.

Merging to https://github.com/microsoft/vscode/issues/180004


[13pt] Leveed area is so large/long that it is masking too many branches

The leveed area at CAXM7 is masking all FIM products. The leveed area is so long that it is applied to a stream that is not supposed to be masked.
Please see this vlab ticket for details
https://vlab.noaa.gov/redmine/issues/124281

In the image below, the levee in red (other levees in black) is seen as protecting against multiple levelpaths, the mainstem (purple line) and a tributary (green line), so the levee-protected area (dotted area) behind the red levee is masked from those branches.

Closer inspection reveals that the green levelpath doesn't actually cross the red levee but flows around it. This allows for some additional logic to unmask levelpaths from being associated with a levee if they don't cross the levee but they do intersect the leveed area. The image below shows the effect of this change:

There is now inundation along the green levelpath that previously had no inundation (see initial issue):


Code eval tool: use toast upon deletion instead of alert

Closes https://github.com/microsoft/pxt-microbit/issues/5911
I found the alert experience to be really clunky, so, as per @eanders-ms's suggestion, I've changed it so when a user deletes a criteria, they can undo it via a toast that pops up.
As part of this change, I made it so deleting a criteria just performs a soft deletion so undoing a deletion was possible.

UPDATED, latest upload target (with export working correctly):  https://makecode.microbit.org/app/9b9448bb0aa4de66361394d15e8a90bb8c7b1ac5-d565522e6f--eval

When I delete a criteria, if that criteria was at max (and therefore not able to be added), it doesn't become available again. To repro:

Add "uses at least  variables" to your checklist
Once added, delete that criteria from your checklist
Try to add it back again

It shows as Max in the catalog, and cannot be added.

When I open the Add Criteria panel and add a singleton criteria (limited to a single instance), it correctly appears the catalog unselectable and tagged with "Max". But after deleting the criteria, it remains unselectable in the catalog until the Undo toast disappears. This behavior seems incorrect. The catalog entry should immediately become available to add again.

I think that soft deletion is complicating things here. Rather than soft delete, if the undo state were to hold onto the deleted criteria (alongside the toast id), it could simply re-add it at its original index when the user clicks Undo. Validation would need to run in the addCriteria transform to enforce constraints (Max instances, etc.). This is to handle the scenario where the user adds a new copy of the criteria before triggering Undo. Removing soft delete in favor of holding the deleted criteria in memory for a short time would simplify things a lot.


fixed issue 11927

Added "Report a bug" feature on the Help Menu.
Issue #11927
Also added support for most languages on brackets.

I have now submitted the contributor license agreement, could you try to run it again, please?
Thank you for your attention!

The travis-ci build failed and I don't understand why. Can someone explain what the error is?

Hi @luigicorreia,
Thank you very much for your contribution to brackets. The travis build uses the github api to get your username and checks whether the user has signed the CLA. But the api has a rate-limit and that is why it failed.


a11y: remove SemanticsSortOrder; sort locally only; semanticsOwner post-test check

This PR prepares us for the upcoming a11y traversal changes. Namely:

Remove SemanticsSortOrder - we now rely purely on SemanticsSortKey for sorting.
Sorting is done only locally; we do not sort across branches.
Add a post-test check that all SemanticsHandles are disposed of. This prevents cross-test contamination. Ever wondered why in some tests the id starts with 1 and in others it starts with 2? Now, if you use debugResetSemanticsIdCounter before your test, all ids are guaranteed to start with 1 (the root node id remains to be hard-coded to 0).

Breaking change announcement: https://groups.google.com/forum/#!topic/flutter-dev/iCoLnW31heE

Made the requested test framework updates. PTAL.

This looks really good, Yegor.  Thanks for all of your work here.


fix urls of images when using WPML with language in directory setting

Ticket: #
Reviewer: @
Issue
When using WPML with a custom wp content directory (bedrock), images URLs are being returned like https://example.org/us/app/uploads/sites/2/2017/06/599a117bad71440a5b4f98e3807afc70.jpg
Note the /us in the URL. The correct location is not to have the /us in the URL, like this:
https://example.org/app/uploads/sites/2/2017/06/599a117bad71440a5b4f98e3807afc70.jpg
Solution
I attempt to filter our the language code from the URL if it set in the function file_system_to_url
Impact
Should all tests pass, there should be no impact.
Usage
Usage should be transparent and backwards compatible.
Considerations
Testing
I noticed there is a test already for testWPMLurlRemote, and testWPMLurlLocal - perhaps these don't work? Or don't work for installs where wordpress is installed differently.

Coverage increased (+0.07%) to 93.379% when pulling ed8975f2e3dfcd77d8645576f853736837864741 on JuiceboxCreative:fix-wpml-urls into ddf0031fc99c8a48d601193cca0a7be17ae91320 on timber:master.

Coverage increased (+0.07%) to 93.379% when pulling ed8975f2e3dfcd77d8645576f853736837864741 on JuiceboxCreative:fix-wpml-urls into ddf0031fc99c8a48d601193cca0a7be17ae91320 on timber:master.

Coverage increased (+0.07%) to 93.379% when pulling ed8975f2e3dfcd77d8645576f853736837864741 on JuiceboxCreative:fix-wpml-urls into ddf0031fc99c8a48d601193cca0a7be17ae91320 on timber:master.

@nickbarrettjb — thanks so much! I took your inspiration and worked through a few more scenarios and found a more robust for that place to live. The results are in #1447


York House School

Thank you for adding our school.

@nathanstill First stage of verification passed, official domain is yorkhouse.ca as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

@nathanstill Pull request merged. Thank you!


ReadMe update changes

I had a number of problems getting the plugin to work.
Firstly the order as described by the readme is rebar3 compile then add the line to the rebar.config file. This was incorrect order.
Additionally you have to dig through the rebar.conf of this repo then go and find the rquired library to be installed for linux.
The directory for the rebar3 config was in a different place https://github.com/tsloughter/rebar3_auto/issues/8

Thanks!
I need to find a new maintainer for this plugin. If you or anyone you know might be interested let me know.


Rename Rustdocs

[x] Update all links to hard links (so they work when viewing locally)

[x] Update all rustdocs/master to appropriate palette and pallet links

LGTM :+1:


Removed xml printing from log to prevent log flooding.

Tested on GitLab CICD. Logs would exceed maximum size by printing an enormous xml file.
Now only the file name is printed.
Log:
 ---> 6e3baba0d2dc
Step 17/23 : COPY patch-broken-releases.py C:\patch-broken-releases.py
Error removing intermediate container 3c07de5ffa47: No such container: 3c07de5ffa4753f9d51b9ba39082368303ad0c1971474852e16c4de4fb4dbe11
 ---> 566c37109226
Step 18/23 : RUN python C:\patch-broken-releases.py C:\UnrealEngine && echo. && echo.RUN directive complete. Docker will now commit the filesystem layer to disk. && echo.Note that for large filesystem layers this can take quite some time. && echo.Performing filesystem layer commit... && echo.
 ---> Running in b83d0491d71f
PATCHED C:\UnrealEngine\Engine\Build\Commit.gitdeps.xml:

<?xml version="1.0" encoding="utf-8"?>
<DependencyManifest xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" BaseUrl="http://cdn.unrealengine.com/dependencies">
  <Files>
    <File Name=".tgitconfig" Hash="d3d7bbcf9b2fc8b6e4f2965354a5633c4f175589" />
    <File Name="cpp.hint" Hash="7d1daec3c6218ce9f49f9be0280091b98d7168d7" />
    <File Name="Engine/Binaries/DotNET/AgentInterface.dll" Hash="2a45d6cc11ec86fedec55ff7202470c93491d6df" />
    <File Name="Engine/Binaries/DotNET/CsvTools/CSVCollate.exe" Hash="7833fd434845bf2d95f14195d37902bdc59da1b5" />
    <File Name="Engine/Binaries/DotNET/CsvTools/CSVFilter.exe" Hash="7ad8cb92ce03b75f8a9786d63096654d1fbb5c13" />
    <File Name="Engine/Binaries/DotNET/CsvTools/csvinfo.exe" Hash="622eabedd545545c71ae137fa86f3faa27d3b1af" />
    <File Name="Engine/Binaries/DotNET/CsvTools/CSVSplit.exe" Hash="fee486b775c8100988c88317a074e0fcb19bed13" />
    <File Name="Engine/Binaries/DotNET/CsvTools/CsvStats.dll" Hash="d4b41df1b97209b2e5c890c25f65453765d5f361" />
    <File Name="Engine/Binaries/DotNET/CsvTools/CSVToSVG.exe" Hash="560069559b99fecd5a2becb8b3286010486d822b" />
    <File Name="Engine/Binaries/DotNET/CsvTools/PerfreportTool.exe" Hash="9f4b9465f6e51c5b9a3b7e04d71611f5667574a5" />
    <File Name="Engine/Binaries/DotNET/Ionic.Zip.Reduced.dll" Hash="a991703deda7721e68adfaded64291bbdda85a12" />
    <File Name="Engine/Binaries/DotNET/IOS/DeploymentInterface.dll" Hash="4928199bde8533bcbfa8d1f4a5810cf502e1c0ea" />
    <File Name="Engine/Binaries/DotNET/IOS/DeploymentServer.exe" Hash="a6d184384e85ba0e14643ac37c941ba84086d029" />
    <File Name="Engine/Binaries/DotNET/IOS/DeploymentServerLauncher.exe" Hash="d06a63d1056d837718461081f3bdbb3c1535d216" />
    <File Name="Engine/Binaries/DotNET/IOS/DotNETUtilities.dll" Hash="cc22b1b7f4ab6db3509de4d835bb08c8218481a0" />
    <File Name="Engine/Binaries/DotNET/IOS/IPhonePackager.exe" Hash="1d459627092a5b2f9e911565c9890c5e7ec7e266" />
    <File Name="Engine/Binaries/DotNET/IOS/MobileDeviceInterface.dll" Hash="9980cedbc9265c9a87b70b6eaadc852953afacff" />
    <File Name="Engine/Binaries/DotNET/IOS/openssl.exe" Hash="f4d2d872d8efc2662ff4785fb164f968ec8349c4" />
    <File Name="Engine/Binaries/DotNET/NetworkProfiler.exe" Hash="5ac22e93b6540b4e17e3cee5d41f69869d4ea222" IsExecutable="true" />
    <File Name="Engine/Binaries/DotNET/OneSky.dll" Hash="19bd773d37565a24b3cd18dd79c9c6c26bd26282" />
    <File Name="Engine/Binaries/DotNET/SwarmAgent.exe" Hash="8948511398e9614437ba1804c83ee22bee4c156a" IsExecutable="true" />
    <File Name="Engine/Binaries/DotNET/SwarmCommonUtils.dll" Hash="409ad72c5855ed088afef6d4ee0cd87c2684785b" />

... logging forever ...

That log output is important for debugging purposes when developing ue4-docker itself, so removing it completely isn't really a feasible option. That being said, I appreciate that it's basically just useless noise for users who aren't working on the ue4-docker codebase, so in commit eaf8a8c I've disabled it by default, with an optional --verbose flag to turn it back on for the developers who need it.

thanks!


Unexpected token delete with addon-actions

I'm using the alpha version.
import { action } from '@storybook/addon-actions';

// ...later, in some story...

action('delete');

This results in the following error:
SyntaxError: Unexpected token delete

      at action (node_modules/@storybook/addon-actions/dist/preview.js:59:42)
      at Object.<anonymous> (web/static/js/sidebar/document.stories.js:19:38)
      at node_modules/@storybook/addon-storyshots/dist/require_context.js:39:24
      at Array.forEach (native)
      at requireModules (node_modules/@storybook/addon-storyshots/dist/require_context.js:34:9)
      at node_modules/@storybook/addon-storyshots/dist/require_context.js:48:7
      at Array.forEach (native)
      at requireModules (node_modules/@storybook/addon-storyshots/dist/require_context.js:34:9)
      at Function.newRequire.context (node_modules/@storybook/addon-storyshots/dist/require_context.js:90:5)
      at evalmachine.<anonymous>:23:21
      at runWithRequireContext (node_modules/@storybook/addon-storyshots/dist/require_context.js:102:3)
      at testStorySnapshots (node_modules/@storybook/addon-storyshots/dist/index.js:94:35)
      at Object.<anonymous> (web/static/js/storyshots.test.js:5:31)

You cannot use reserved words are action names, sorry. If you use 'my_delete' it should be fine.
Still we could maybe come up with a way of actually supporting this..

Thanks! I have no problem changing this to a non-reserved word, it just took me a while to realize what's wrong, 😅 I wanted to create this issue so that other users figure this out more easily.
Thanks for all your hard work on Storybook! ❤ 🍻

I had the same issue, thanks for raising this and for the discussion ! 👍
I'll add that this is a new behaviour, as my stories with a delete action worked fine until recently.

Digging a bit, it comes from the eval here.
At this point I don't see why getting the proper (as in ES6-proper) function name is important here, I tried changing the code to an unnamed function and the action log worked fine with my delete action. Maybe I'm missing something ?
Alternatively, we could add a prefix to the action name, such as action_, so the reserved keywords wouldn't be a problem.

Did you change, transpile and then run the code?
Reading the comments it sounds like there was a problem with the transpiled code, and this was a hack to solve that issue.
Good find!

I wonder what babel does that the comment is referring to. When I put
x = { delete: function() {} }

in here: https://babeljs.io
it produces the sensible:
x = { delete: function _delete() {} }

@ndelangen no, I changed the transpiled code directly (in my node_modules folder) to experiment. I wanted to see if using a anonymous function would change anything to my actions logging in storybook - but it didn't.
@tmeasday I modified your sample to something slightly different and more similar to the code we run today:
const name = 'delete'
x = { [name]: function() {} }

The babel output then changes to something that uses Object.defineProperty, as in the code comments where I pointed previously.

Good point @gouegd!
After some hunting, I discovered the rationale: https://github.com/storybooks/storybook-addon-actions/pull/24

I would suggest the tradeoff isn't worth it here! But it's hard to go back..

In that case a prefix like _ could be a good middle-ground ?
The actions would still appear named in the debug tools (but with an extra prefix) and no crash would occur for names that are forbidden in the a function declaration (like delete).
Another solution I can think of is to put the eval in a try/catch, but that gets quite ugly.

The prefix seems like a good move to me. Maybe @gnarf could weigh in, just in case we missed something?

Maybe prefix it action_ ... The only reason to have this is for showing a reasonable name in the redux inspector

All suggested solutions sound great to me. Anyone want to pick this up and create a PR?

I think we can actually replace the eval with something like this:
Object.defineProperty(handler, 'name', { value: fnName });
return handler

https://media.giphy.com/media/JE6xHkcUPtYs0/giphy.gif

@Hypnosphi the eval was intentionally put there to avoid Object.defineProperty as you can see in the code comment. However I do not see the current workaround as particularly useful, as expressed here

Actually, the comment mentions a completely different defineProperty.
The author's idea was that when processing {[fnName]: function() {}}, JS engines automatically guess the function's "name" as the value of fnName:
const fnName = 'foo'
const obj = {[fnName]: function() {}}
console.log(obj[fnName].name) // logs "foo"

But babel transpiles it to following:
'use strict';

function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }

var fnName = 'foo';
var obj = _defineProperty({}, fnName, function () {});
console.log(obj[fnName].name); // logs "undefined"

Here, the fnName property is assigned after the object (the empty one) is created. That's why the function doesn't get any name.
You can see that defineProperty here assigns the obj[fnName] field, while my suggestion is to assign handler.name field, which cannot be changed with plain handler.name = fnName assignment, only with Object.defineProperty
As for the question, why the name is needed at all — the main benefit is that it's visible in stacktraces which simplifies debugging

Well, when I said it was "put there to avoid Object.defineProperty", I can hardly see it as a completely different thing than what the comment mentioned as "but babel transpiles to Object.defineProperty"
Anyway, good points otherwise 👍

My point is that the Object.defineProperty I introduced here is not the one that comment's author wanted to avoid

Fixed in 3.2.16


Added support for QRCodeScanner

Added support for a simple plugin QRCodeScanner

Thank you for doing this work; because there's a newer version of the build, please update, rebase, and re-issue this PR.


Append and prepend

Add methods to append or prepend items to an iterator.
Pipeline::with($items)
  ->append($extraItems);

The difficulty is with the keys. If you don't explicitly use values() before toArray(), the items are overwritten instead of appended.


Setup semantic-release

Refer to: https://github.com/search?q=org%3Ajcasbin+Setup+semantic-release&type=issues

@D1zzzY1


Sprint 2 - Change camera input and RTSP output stream for a custom application

DoD:

[x] Update config files to test out a camera and the RTSP sink.
[x] Create a scenario for final application, and define the boundaries for a security system which gives count of people in restricted area.

Blockers:
Need to check feasiblility of multiple streams to configure the count.
Need to test out the procured camera and check for its working.

Configuration files changed at deepstream_app_main.c


Created network representation learning section.

I added 5 aggregator/awesome repos of graph based deep learning papers, each has a different flavour. The first two include implementations. The last three reference and aggregate only the papers. Also updated the TOC.

Can you take a look at this @ujjwalkarn ?


More details in the training and evaluation fail

I am trying to train my own dataset in the format of Pascal VOC, so I am trying to use the function ssd_pascal_train with most of the options as they are in the code you provided (but with CPU only and the classes are different). I tried to run with the model vgg-vd-16-reduced. Everyting works fine until the variable all_losses receives the value of a cell of layers, this leads to the error that has been complicating my life in the last two weeks:
Warning: The model appears to be simplenn model. Using fromSimpleNN instead.

In dagnn.DagNN.loadobj (line 19)
In ssd_zoo (line 29)
In ssd_init (line 27)
In ssd_train (line 19)
In ssd_pascal_train (line 213)
Error using Layer.fromDagNN (line 65)
Input must be a DagNN or SimpleNN.

Error in Net (line 93)
objects = Layer.fromDagNN(objects{:}) ;
Error in ssd_init (line 185)
net = Net(all_losses) ;
Error in ssd_train (line 19)
net = opts.modelOpts.net_init(opts) ;
Error in ssd_pascal_train (line 213)
ssd_train(expDir, opts) ;
Can you please, please provide me some guidance, I don't really know what I can do to fix it.

Hi @yveah. As a sanity check, does the code work if you use the pascal dataset example?

No, the same error happens :/

Hi! I'm having the same issue while trying to run ssd_pascal_train on the Pascal VOC 2007 dataset, in Matlab 2018a, mex compiled with Visual Studio 2015 Community and matconvnet beta 25, CPU.
When the function tries to run the net=Net(all_losses) my all_losses variable is a cell array with a layer object inside, this layer has two other layers as input, is this correct? On the first instance the code goes through the Net function the input is automatically a DagNN, but not when it comes to losses.
@albanie what's your insight?

See issue 19

This should be fixed by https://github.com/albanie/mcnSSD/commit/f62199788c8c42ff3cc36af95beda367b2876033, but let me know it's still broken for you.


When setup returns a render function, is it possible to obtain the state of refs?

vue-devtools has had this issue for a long time devtools #1295. I want to know if this problem still exists in devtools-next? I just tested it in a project, and it seems that when returning JSX in setup, it's still not possible to get the state of refs.

https://github.com/vuejs/core/pull/5383
This PR presents a sensible solution for our current stage. We will consider integrating it into devtools-next once we have resolved some ongoing issues or identified other viable alternatives.


Allow overriding max parameter length from the default of 500

This allows overriding the maximum length of parameters that are logged from the default of 500.

Thought I'd try to share this back in case you find this useful.


Add init options for the accordion widget

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


file encoding changed from UTF-8 to UTF8-with-BOM

When i try to change an existing file with only UTF-8 encoding, after one or more changes, when i save the file that convert it with UTF8-with-BOM enconding. I tried to search for settings related to this topic, but I didn't find anything.
What can I do?
proc0020_cf_standalone_install.md

Thank you for your information, I'll investigate the problem, as soon as possible...


Cannot modify resource with id because the resource entity provisioning state is not terminal

Module: 00
Lab/Demo: 00
Task: 00
Step: 00
Description of issue
Repro steps:

Module: LAB_01L01_Prepare_for_deployment_of_AVD_AADDS.md
Lab/Demo: Excercise 1: task 2
Step 10:
After step 10 deployment is failed.
Details of the error
{
"code": "DeploymentFailed",
"message": "At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/DeployOperations for usage details.",
"details": [
{
"code": "RequestConflict",
"message": "Cannot modify resource with id '/subscriptions/1d0e8ca4-64d6-4ddb-9d45-63d1416f056c/resourceGroups/az140-11a-RG/providers/Microsoft.AAD/domainServices/adatum.com' because the resource entity provisioning state is not terminal. Please wait for the provisioning state to become terminal and then retry the request."
}
]
}
what am I doing wrong? Can anyone help me?

Is there any issue with resource group?

Unfortunately I'm not able to reproduce this issue. Did you retry the deployment? Are other students running into the same issue? If not, then pls reach out to your MCT regarding further assistance
rgds
Marcin


Generic Dictionary detected as Enumerable

I've stumped up on a bug with how Ditto is determining if a property is an Enumerable type.
If a property is using a generic Dictionary<T1, T2> type, Ditto will attempt to cast the value as Enumerable<T1>.
I've added a unit-test to verify this scenario, see EnumerableDetectionTests, I think it's easier to explain in code.
Here's an example of the exception thrown...
Test Name:	GenericDictionary_Property_Is_Detected_As_Enumerable
Test FullName:	Our.Umbraco.Ditto.Tests.EnumerableDetectionTests.GenericDictionary_Property_Is_Detected_As_Enumerable
Test Source:	x:\umbraco-ditto\tests\Our.Umbraco.Ditto.Tests\EnumerableDetectionTests.cs : line 41
Test Outcome:	Failed
Test Duration:	0:01:52.941

Result Message:	System.ArgumentException : Object of type 'System.Linq.Enumerable+<CastIterator>d__b1`1[System.String]' cannot be converted to type 'System.Collections.Generic.Dictionary`2[System.String,System.String]'.
Result StackTrace:
at System.RuntimeType.TryChangeType(Object value, Binder binder, CultureInfo culture, Boolean needsSpecialCast)
at System.RuntimeType.CheckValue(Object value, Binder binder, CultureInfo culture, BindingFlags invokeAttr)
at System.Reflection.MethodBase.CheckArguments(Object[] parameters, Binder binder, BindingFlags invokeAttr, CultureInfo culture, Signature sig)
at System.Reflection.RuntimeMethodInfo.InvokeArgumentsCheck(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.Reflection.RuntimePropertyInfo.SetValue(Object obj, Object value, BindingFlags invokeAttr, Binder binder, Object[] index, CultureInfo culture)
at System.Reflection.RuntimePropertyInfo.SetValue(Object obj, Object value, Object[] index)
at Our.Umbraco.Ditto.PublishedContentExtensions.ConvertContent(IPublishedContent content, Type type, CultureInfo culture, Object instance, IEnumerable`1 valueResolverContexts, Action`1 onConverting, Action`1 onConverted) in x:\umbraco-ditto\src\Our.Umbraco.Ditto\Extensions\PublishedContentExtensions.cs:line 383
at Our.Umbraco.Ditto.PublishedContentExtensions.As(IPublishedContent content, Type type, CultureInfo culture, Object instance, IEnumerable`1 valueResolverContexts, Action`1 onConverting, Action`1 onConverted) in x:\umbraco-ditto\src\Our.Umbraco.Ditto\Extensions\PublishedContentExtensions.cs:line 202
at Our.Umbraco.Ditto.PublishedContentExtensions.As[T](IPublishedContent content, CultureInfo culture, T instance, IEnumerable`1 valueResolverContexts, Action`1 onConverting, Action`1 onConverted) in x:\umbraco-ditto\src\Our.Umbraco.Ditto\Extensions\PublishedContentExtensions.cs:line 76
at Our.Umbraco.Ditto.Tests.EnumerableDetectionTests.GenericDictionary_Property_Is_Detected_As_Enumerable() in x:\umbraco-ditto\tests\Our.Umbraco.Ditto.Tests\EnumerableDetectionTests.cs:line 53

@JimBobSquarePants I've assigned it to you, as I think it is up your street.  Feel free to add to this bug/enumerable-detection branch with any fixes, etc.

A Dictionary is actually an Enumerable<KeyValuePair> so the detection is correct. I'll have a look at how the internal caster is handling it and work out a way to ensure we get the correct output.

Any luck with this @JimBobSquarePants?

Sorry @mattbrailsford  ... Not had the chance. I'll try and have a look in the next couple of hours.

@leekelleher @mattbrailsford That should be it fixed now guys.

Awesome, thanks @JimBobSquarePants - I'll give it a spin! :+1:

@leekelleher No problemo :sunglasses:

Coolio! :metal:


House race missing filings

http://realtime.influenceexplorer.com/race/2016/H/MN/08/

Do you know which ones are missing? Without knowing the race it's hard to tell...

 This is fine.

ok, no worries. Closing.


Add logging

Code Coverage

File
Coverage [0.00%]
:x:

composeApp/src/androidMain/kotlin/com/ultraviolince/mykitchen/MyKitchenApplication.kt
0.00%
:x:

Total Project Coverage
0.00%
:x:


kmsg Request/Response kind output

Have a case where I would like to log the message kind of the request/response in a generic way. I could use reflect but this has a performance hit.
The issue now is request and response have stable apis so maybe we need a extra interface like Stringify but this seems overkill.

a message key enum thing could also work

kmsg.Key.Name exists for exactly your purpose -- you can do kmsg.Key(resp.Key()).Name


Incorrect Header Check since 6.15

I have been running this on my RPi3 for about a week with no issues (MCH IS HAPPY!) but this afternoon when I went to login following the 6.15 patch, it wouldn't load. I set my PS4 back to normal networking and it works fine. Here is the output from the script via journalctl
pi@pihole:~ $ sudo systemctl status xivalex
* xivalex.service - XIV Alexander Daemon
     Loaded: loaded (/etc/systemd/system/xivalex.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2022-06-07 16:24:54 EDT; 1min 57s ago
   Main PID: 4606 (XIVAlexanderMIT)
      Tasks: 4 (limit: 2060)
     Memory: 11.9M
        CPU: 871ms
     CGroup: /system.slice/xivalex.service
             |-4606 /bin/bash - /usr/local/bin/XIVAlexanderMITM.sh
             |-4608 /usr/bin/python3 /usr/local/bin/XIVAlexanderMITM.py
             |-4783 /usr/bin/python3 /usr/local/bin/XIVAlexanderMITM.py
             `-4784 /usr/bin/python3 /usr/local/bin/XIVAlexanderMITM.py

Jun 07 16:26:42 pihole XIVAlexanderMITM.sh[4784]:     bundle_data = bytearray(zlib.decompress(bundle_data))
Jun 07 16:26:42 pihole XIVAlexanderMITM.sh[4784]: zlib.error: Error -3 while decompressing data: incorrect header check
Jun 07 16:26:42 pihole XIVAlexanderMITM.sh[4784]: 2022-06-07 16:26:42,913        4784        INFO        D->U discarded 00
Jun 07 16:26:43 pihole XIVAlexanderMITM.sh[4608]: 2022-06-07 16:26:43,022        4608(main)        INFO        [4732  ] has exit with status code 0.
Jun 07 16:26:43 pihole XIVAlexanderMITM.sh[4783]: 2022-06-07 16:26:43,288        4783        ERROR        Unknown error occurred while trying to parse bundle
Jun 07 16:26:43 pihole XIVAlexanderMITM.sh[4783]: Traceback (most recent call last):
Jun 07 16:26:43 pihole XIVAlexanderMITM.sh[4783]:   File "/usr/local/bin/XIVAlexanderMITM.py", line 452, in find
Jun 07 16:26:43 pihole XIVAlexanderMITM.sh[4783]:     bundle_data = bytearray(zlib.decompress(bundle_data))
Jun 07 16:26:43 pihole XIVAlexanderMITM.sh[4783]: zlib.error: Error -3 while decompressing data: incorrect header check
Jun 07 16:26:43 pihole XIVAlexanderMITM.sh[4783]: 2022-06-07 16:26:43,293        4783        INFO        D->U discarded 00

Hi. I'm having this exact same issue. It began to happen today.

Any updates on this issue?

I also have the same problem. I think 6.15 breaks XivMitmLatencyMitigator even with updated Opcode. Thank you dev in advance for the fix he's working on now.

Today early

At the moment

Today early

At the moment
Well... Thanks SE

@RayLynx Doesn't look like a problem with the script, you just can't hit github. Have you verified network connectivity? (ie, can you hit sites like Google)

It should work now, but you need to copy ffxiv.exe from Windows/Mac installation into the linux machine, and the machine must be running under x86 or x86_64. For support for other platforms, I'm accepting contributions. This script is pretty lightweight though, so if you run a rpi or something, a small x86 vm under qemu might work.

Question, I see in the commit that you reference the HFS file server. Is that just to get the ffxiv.exe from your Windows/Mac machine to the VM/Linux box?

Yeah, if you know how to use scp, then you're good to go!

Any idea how to fix this?

Try -o instead. I keep confusing between small o and big o there

That  started to work, however now it appears to not actually be downloading anything:

That would mean that it can't connect to HFS. Is that IP visible to the VM? You may have to pick different local IP.

It should work now, but you need to copy ffxiv.exe from Windows/Mac installation into the linux machine, and the machine must be running under x86 or x86_64. For support for other platforms, I'm accepting contributions. This script is pretty lightweight though, so if you run a rpi or something, a small x86 vm under qemu might work.

Got it working now. Thank you very much. Do I need to copy update ffxiv.exe to the VM after new patch? My guess is yes. But that's not a problem :)

Ok, changing the of HFS worked, and I was able to get the file into hyper-v.
However, after trying to run the mitigate.py, I get this:

Thanks for all your help, im pretty tech illiterate

Ok, changing the of HFS worked, and I was able to get the file into hyper-v.
However, after trying to run the mitigate.py, I get this:

Thanks for all your help, im pretty tech illiterate

For Ubuntu I fixed with this command.
sudo apt install g++ gcc-multilib g++-multilib

@bankjaneo You probably won't have to do that; in fact, this code only works with 6.15 ffxiv.exe at the moment.
@aurilain Try typing pacman -S gcc and after it's done, try it again.

I tried this series of commands:

Do i need to change some settings to have actual disk space in the VM?

That looks like archiso's default ramdisk does not have enough space to accommodate those installs.
This may work mount -o remount,size=4G tmpfs / , but if it doesn't, I'll have to think of something else.

Sadly, that didn't do anything. I'll troubleshoot this more later, thanks for all your help again

Hi, im having the exact samee problems as @aurilain, is installing the vm the only way to make it work?

Quick update, I had to install an ubuntu and run sudo apt install g++ gcc-multilib g++-multilib, its working now

Similar issue, had to actually install the vm. Now I get this, what am I doing wrong?

@brwjon Did you install gcc yet?
Ubuntu
sudo apt install g++ g++-multilib

Arch
pacman -S gcc

@bankjaneo Yes I did

when do pacman -S gcc get this error

@RayLynx Can you try pacman -Sy gcc

Not enough free disk space

Edited: Change pacman parameter to -Sy

@bankjaneo yep, gcc installed, even tried reinstalling it. still getting the same error when running mitigate.py

@RayLynx Try check disk space by df -h If it's not enough then you need to increase it first.
@brwjon Then I guess, from your picture, there should be something wrong with permission. If you are on Arch, I think you might need to wait for someone who can get it run on Arch to guide you. Personally, I'm on Ubuntu 22.04 and it's working fine now.

So I put mitigate.py on my VM, set permissions to full, and I'm now getting a "failed to compile helper" error

i think i will have to install OS, tried change the hyper v virtual disk space but did not work

Tried an installation of Arch Linux and Ubuntu, but getting the same error in both installations that @brwjon had.

@Mayushii-chan @brwjon Out of curiosity, the ffxiv.exe file that you are using is the original one or modified one with XivAlexander?

@bankjaneo  you re running ubuntu on VM??

@RayLynx Yes, I'm running Ubuntu 22.04 on VM. However, the version shouldn't matter.

@bankjaneo  what VM you re running it? you think if i install ubuntu system on my pc can make it works?

@bankjaneo The .exe that I patched with Alexander is the dx11 one, and I have the dx9 one in my VM so I don't think it changes much
@Mayushii-chan I figured it out, got it working. I downloaded mitigate.py and copied it into my VM, then set permissions to read write & execute for the file and the folder it's in. That gets past the "permission denied" error. The other problem I had was a mismatch of gcc libraries, but while installing gcc there is a little bit of text that mentions the optional 32 bit libraries that can be downloaded. That fixed that problem. It's working fine now o7

@RayLynx Actually I'm utilizing my VPS that hosted on Amazon EC2 to act as both VPN and XivMitmLatencyMitigator. Technically, it's just another VM that hosted outside my home.
If you want to run this at home, any Linux VM running on QEMU, VirtualBox or Hyper-V should be fine as long as you are not running it on the same pc that you are using to play FFXIV.
What is your current setup anyway?
@brwjon Congratz. And you are right, ffxiv.exe (dx9) didn't get patched. It should be fine.

windows 10
8gb ram i5
820m

@bankjaneo A friend sent it to me, so I can only assume it's original. Definitely not modified by XivAlexander, though.
@brwjon Thank you! I was actually able to get around it by running "sudo su" before the mitigate.py command. Probably a far worse and less elegant solution to it than yours, but at least it is working.

With ubuntu

 With ubuntu

Do `sudo apt install g++ gcc-multilib g++-multilib
U need to import the ffxiv.exe into your vm too, use HFS to do it, the link and a quick tutorial is on readme.

ohhhh i thought i just need throw the ffxiv.exe on VM directory

I set up the disk with UEFI, then section 4 and 5. Just basically to get it to a bootable state.
for the gcc stuff:
pacman -S gcc
After that, you need to install the 32bit libraries, when installing, there's a bit of text that says you can optionally install them. just use the same command with that, instead of gcc

@brwjon from the video you sent me, what steps did you take to install the OS? Do you have a command to install the specifically needed gcc file?

I set up the disk with UEFI, then section 4 and 5. Just basically to get it to a bootable state.
for the gcc stuff:
pacman -S gcc
After that, you need to install the 32bit libraries, when installing, there's a bit of text that says you can optionally install them. just use the same command with that, instead of gcc

Hi. I'm having troubles with the step 7, I'm not sure how to continue since I wrote the same ip from HFS, but somehow doesn't work. Sorry if the answer is too obvious, I don't have experience on these programs.

@DiegoSalazar231  in HFS, go to menu -> IP address, and pick another one of those, it should give you a new link that won't time out

@brwjon Thanks. I picked a new one, and it doesn't time out, but I didn't have to wait a single second, is that ok? I still can't download the ffxiv.exe and only says this :c

I stood up a Debian VM on my Synology NAS and reinstalled the script there and it works perfectly :)  Thanks much!
I did make a systemd unit file and startup/cleanup scripts to go with it if you want them

@brwjon from the video you sent me, what steps did you take to install the OS?
Do you have a command to install the specifically needed gcc file?

You do not have to install Arch Linux to increase disk space! I got all of this to work on the simple ISO VM today.
Just hit Tab when you are booting up your VM. It's going to bring up a line of options on the bottom. Just add cow_spacesize=1G at the end of the line then continue the VM launch as usual. This gave me enough disk space to install gcc and its 32-bit lib.
I would also recommend using python3's httpserver command to copy ffxiv.exe onto the VM. I could not get HFS to run on OSX Catalina as it only exists as a .exe. I regret spending hours on trying to get Wine to work on Catalina while I could have just used python...

Hi guys.
I did all the mentioned steps, even increased / space with cow_spacesize=1G, but when I tried to run the program is giving me this error. I think it might have to do something with the gcc libraries.

Thanks in advance.

syntax errors, permission denied, and now g++ isnt taking the Soreepeong curl ...  Tried 4 linux distributions, fully installed. Nothing works.


ENH: Addition/multiplication operators for StateSpace systems

This PR adds addition and multiplication operators for StateSpace systems, see also #2973. This allows for things like
s1 = StateSpace(1, 1, 1, 0)
s2 = SateSpace(2, 2, 2, 0)
new = s1 + s2
new = s1 - s2
new = s1 * s2
new = 2 * s2

These operations have a frequency-domain interpretation, where adding means the systems operate in parallel and their output is added, while multiplying s1 * s2 means that the output of s2 is applied as the input to system s1.

Looks like a good idea. What did you decide on for the minimal realisations you suggested in https://github.com/scipy/scipy/issues/2973#issuecomment-100357691?

I wouldn't automatically minreal it. There are many cases where people won't minreal things until the very end such as model reduction and also FEM based modeling. It should at least have an option to not to minreal it .

So I'm not doing anything in terms of minimal realisations. This seemed like the best approach - especially for a function that will typically not be called directly.

I've removed some functionality, such as __radd__ because it could lead to extremely weird behavior when dealing with numpy arrays and using __radd__ and __add__ is equivalent.
I've kept __rmul__ around because it is useful, but it does allow for things like this
from scipy import signal
sys = signal.StateSpace(1, 1, 1, 1)
np.array([1, 2]) * sys
Out[6]:
array([ StateSpaceContinuous(
array([[1]]),
array([[1]]),
array([[1]]),
array([[1]]),
dt: None
),
       StateSpaceContinuous(
array([[1]]),
array([[1]]),
array([[2]]),
array([[2]]),
dt: None
)], dtype=object)

So you get back an object array with a system for each entry in the array. Maybe the best would be to strictly only allow multiplication of two StateSpace systems for now.
Down the road one could introduce a convenient classmethod for static systems. Then one could achieve the desired behavior with something like StateSpace.static(2) * sys.
Thoughts?

Oh you are opening a can of worms 😃

@befelix you need to set __array_priority__ to take precedence over numpy arrays in binary operations.

Some comments: the class should set __array_priority__ = some_large_value and __array_ufunc__ = None to avoid binary op issues caused by Numpy.
Also, the binary operations should be written in a way that they (i) check if they can deal with type(other) input type and return NotImplemented if not, and (ii) if the input is not handled for some other reason, raise an error.
Made those changes in 520b5cd (and pushed to contributor branch). Was there something else that's still needed for this?

Updated with added __truediv__ (only for scalars). There's no need for __rtruediv__, as the default error messages seem fine.

other comments? merge?

Nothing from me, let's merge Tuesday if nobody else wants to take a look.


Need to address csi-sanity tests failure

Describe the bug
Need to address csi-sanity tests failure
To Reproduce
Steps to reproduce the behavior:
Command for running csi-sanity tests:
csi-sanity --csi.endpoint=/var/lib/kubelet/plugins/spectrumscale.csi.ibm.com/csi.sock -csi.mountdir=/ibm/fs1/sanity-2 -csi.testvolumeparameters parameter.yaml
failure Summary
[91m[1mSummarizing 23 Failures:[0m

[91m[1m[Fail] [0m[90mController Service [Controller Server] [0m[91m[1m[AfterEach] CreateVolume [0m[90mshould return appropriate values SingleNodeWriter NoCapacity [0m
[37m/root/csi-test/vendor/github.com/onsi/ginkgo/internal/leafnodes/runner.go:113[0m

[91m[1m[Fail] [0m[90mController Service [Controller Server] [0m[91m[1m[AfterEach] CreateVolume [0m[90mshould return appropriate values SingleNodeWriter WithCapacity 1Gi [0m
[37m/root/csi-test/vendor/github.com/onsi/ginkgo/internal/leafnodes/runner.go:113[0m

[91m[1m[Fail] [0m[90mController Service [Controller Server] [0m[91m[1m[AfterEach] CreateVolume [0m[90mshould not fail when requesting to create a volume with already existing name and same capacity [0m
[37m/root/csi-test/vendor/github.com/onsi/ginkgo/internal/leafnodes/runner.go:113[0m

[91m[1m[Fail] [0m[90mController Service [Controller Server] [0m[0mCreateVolume [0m[91m[1m[It] should fail when requesting to create a volume with already existing name and different capacity [0m
[37m/root/csi-test/pkg/sanity/controller.go:542[0m

[91m[1m[Fail] [0m[90mController Service [Controller Server] [0m[91m[1m[AfterEach] CreateVolume [0m[90mshould not fail when creating volume with maximum-length name [0m
[37m/root/csi-test/vendor/github.com/onsi/ginkgo/internal/leafnodes/runner.go:113[0m

[91m[1m[Fail] [0m[90mController Service [Controller Server] [0m[91m[1m[AfterEach] CreateVolume [0m[90mshould create volume from an existing source snapshot [0m
[37m/root/csi-test/vendor/github.com/onsi/ginkgo/internal/leafnodes/runner.go:113[0m

[91m[1m[Fail] [0m[90mController Service [Controller Server] [0m[0mCreateVolume [0m[91m[1m[It] should fail when the volume source snapshot is not found [0m
[37m/root/csi-test/pkg/sanity/controller.go:614[0m

[91m[1m[Fail] [0m[90mController Service [Controller Server] [0m[0mDeleteVolume [0m[91m[1m[It] should succeed when an invalid volume id is used [0m
[37m/root/csi-test/pkg/sanity/controller.go:695[0m

[91m[1m[Fail] [0m[90mController Service [Controller Server] [0m[91m[1m[AfterEach] ValidateVolumeCapabilities [0m[90mshould fail when no volume capabilities are provided [0m
[37m/root/csi-test/vendor/github.com/onsi/ginkgo/internal/leafnodes/runner.go:113[0m

[91m[1m[Fail] [0m[90mController Service [Controller Server] [0m[91m[1m[AfterEach] ValidateVolumeCapabilities [0m[90mshould return appropriate values (no optional values added) [0m
[37m/root/csi-test/vendor/github.com/onsi/ginkgo/internal/leafnodes/runner.go:113[0m

[91m[1m[Fail] [0m[90mController Service [Controller Server] [0m[0mValidateVolumeCapabilities [0m[91m[1m[It] should fail when the requested volume does not exist [0m
[37m/root/csi-test/pkg/sanity/controller.go:837[0m

[91m[1m[Fail] [0m[90mController Service [Controller Server] [0m[0mControllerPublishVolume [0m[91m[1m[It] should fail when no volume capability is provided [0m
[37m/root/csi-test/pkg/sanity/controller.go:897[0m

[91m[1m[Fail] [0m[90mController Service [Controller Server] [0m[0mControllerPublishVolume [0m[91m[1m[It] should fail when the node does not exist [0m
[37m/root/csi-test/pkg/sanity/controller.go:998[0m

[91m[1m[Fail] [0m[90mController Service [Controller Server] [0m[91m[1m[AfterEach] volume lifecycle [0m[90mshould work [0m
[37m/root/csi-test/vendor/github.com/onsi/ginkgo/internal/leafnodes/runner.go:113[0m

[91m[1m[Fail] [0m[90mController Service [Controller Server] [0m[91m[1m[AfterEach] volume lifecycle [0m[90mshould be idempotent [0m
[37m/root/csi-test/vendor/github.com/onsi/ginkgo/internal/leafnodes/runner.go:113[0m

[91m[1m[Fail] [0m[90mDeleteSnapshot [Controller Server] [0m[91m[1m[It] should succeed when an invalid snapshot id is used [0m
[37m/root/csi-test/pkg/sanity/controller.go:1348[0m

[91m[1m[Fail] [0m[90mDeleteSnapshot [Controller Server] [0m[91m[1m[AfterEach] should return appropriate values (no optional values added) [0m
[37m/root/csi-test/vendor/github.com/onsi/ginkgo/internal/leafnodes/runner.go:113[0m

[91m[1m[Fail] [0m[90mNode Service [0m[0mNodeUnpublishVolume [0m[91m[1m[It] should remove target path [0m
[37m/root/csi-test/pkg/sanity/node.go:280[0m

[91m[1m[Fail] [0m[90mNode Service [0m[91m[1m[It] should work [0m
[37m/root/csi-test/pkg/sanity/node.go:163[0m

[91m[1m[Fail] [0m[90mNode Service [0m[91m[1m[It] should be idempotent [0m
[37m/root/csi-test/pkg/sanity/node.go:163[0m

[91m[1m[Fail] [0m[90mCreateSnapshot [Controller Server] [0m[91m[1m[AfterEach] should succeed when requesting to create a snapshot with already existing name and same source volume ID [0m
[37m/root/csi-test/vendor/github.com/onsi/ginkgo/internal/leafnodes/runner.go:113[0m

[91m[1m[Fail] [0m[90mCreateSnapshot [Controller Server] [0m[91m[1m[It] should fail when requesting to create a snapshot with already existing name and different source volume ID [0m
[37m/root/csi-test/pkg/sanity/controller.go:1445[0m

[91m[1m[Fail] [0m[90mCreateSnapshot [Controller Server] [0m[91m[1m[AfterEach] should succeed when creating snapshot with maximum-length name [0m
[37m/root/csi-test/vendor/github.com/onsi/ginkgo/internal/leafnodes/runner.go:113[0m

[1m[91mRan 46 of 78 Specs in 576.321 seconds[0m
[1m[91mFAIL![0m -- [32m[1m23 Passed[0m | [91m[1m23 Failed[0m | [33m[1m1 Pending[0m | [36m[1m31 Skipped[0m

Note : results has been attached for closer look
Expected behavior
csi-sanity tests should pass

resuts209.txt

latest run on CSI 2.6.0 :
Summarizing 25 Failures:

[Fail] CreateSnapshot [Controller Server] [AfterEach] should succeed when requesting to create a snapshot with already existing name and same source volume ID
/root/csi-test/vendor/github.com/onsi/ginkgo/internal/leafnodes/runner.go:113

[Fail] CreateSnapshot [Controller Server] [It] should fail when requesting to create a snapshot with already existing name and different source volume ID
/root/csi-test/pkg/sanity/controller.go:1483

[Fail] CreateSnapshot [Controller Server] [AfterEach] should succeed when creating snapshot with maximum-length name
/root/csi-test/vendor/github.com/onsi/ginkgo/internal/leafnodes/runner.go:113

[Fail] Node Service NodeUnpublishVolume [It] should remove target path
/root/csi-test/pkg/sanity/node.go:280

[Fail] Node Service [It] should work
/root/csi-test/pkg/sanity/node.go:163

[Fail] Node Service [It] should be idempotent
/root/csi-test/pkg/sanity/node.go:163

[Fail] Controller Service [Controller Server] [AfterEach] CreateVolume should return appropriate values SingleNodeWriter NoCapacity
/root/csi-test/vendor/github.com/onsi/ginkgo/internal/leafnodes/runner.go:113

[Fail] Controller Service [Controller Server] [AfterEach] CreateVolume should return appropriate values SingleNodeWriter WithCapacity 1Gi
/root/csi-test/vendor/github.com/onsi/ginkgo/internal/leafnodes/runner.go:113

[Fail] Controller Service [Controller Server] [AfterEach] CreateVolume should not fail when requesting to create a volume with already existing name and same capacity
/root/csi-test/vendor/github.com/onsi/ginkgo/internal/leafnodes/runner.go:113

[Fail] Controller Service [Controller Server] CreateVolume [It] should fail when requesting to create a volume with already existing name and different capacity
/root/csi-test/pkg/sanity/controller.go:542

[Fail] Controller Service [Controller Server] [AfterEach] CreateVolume should not fail when creating volume with maximum-length name
/root/csi-test/vendor/github.com/onsi/ginkgo/internal/leafnodes/runner.go:113

[Fail] Controller Service [Controller Server] [AfterEach] CreateVolume should create volume from an existing source snapshot
/root/csi-test/vendor/github.com/onsi/ginkgo/internal/leafnodes/runner.go:113

[Fail] Controller Service [Controller Server] CreateVolume [It] should fail when the volume source snapshot is not found
/root/csi-test/pkg/sanity/controller.go:614

[Fail] Controller Service [Controller Server] [AfterEach] CreateVolume should create volume from an existing source volume
/root/csi-test/vendor/github.com/onsi/ginkgo/internal/leafnodes/runner.go:113

[Fail] Controller Service [Controller Server] CreateVolume [It] should fail when the volume source volume is not found
/root/csi-test/pkg/sanity/controller.go:660

[Fail] Controller Service [Controller Server] DeleteVolume [It] should succeed when an invalid volume id is used
/root/csi-test/pkg/sanity/controller.go:695

[Fail] Controller Service [Controller Server] [AfterEach] ValidateVolumeCapabilities should fail when no volume capabilities are provided
/root/csi-test/vendor/github.com/onsi/ginkgo/internal/leafnodes/runner.go:113

[Fail] Controller Service [Controller Server] [AfterEach] ValidateVolumeCapabilities should return appropriate values (no optional values added)
/root/csi-test/vendor/github.com/onsi/ginkgo/internal/leafnodes/runner.go:113

[Fail] Controller Service [Controller Server] ValidateVolumeCapabilities [It] should fail when the requested volume does not exist
/root/csi-test/pkg/sanity/controller.go:837

[Fail] Controller Service [Controller Server] ControllerPublishVolume [It] should fail when the volume does not exist
/root/csi-test/pkg/sanity/controller.go:959

[Fail] Controller Service [Controller Server] ControllerPublishVolume [It] should fail when the node does not exist
/root/csi-test/pkg/sanity/controller.go:998

[Fail] Controller Service [Controller Server] [AfterEach] volume lifecycle should work
/root/csi-test/vendor/github.com/onsi/ginkgo/internal/leafnodes/runner.go:113

[Fail] Controller Service [Controller Server] [AfterEach] volume lifecycle should be idempotent
/root/csi-test/vendor/github.com/onsi/ginkgo/internal/leafnodes/runner.go:113

[Fail] DeleteSnapshot [Controller Server] [It] should succeed when an invalid snapshot id is used
/root/csi-test/pkg/sanity/controller.go:1386

[Fail] DeleteSnapshot [Controller Server] [AfterEach] should return appropriate values (no optional values added)
/root/csi-test/vendor/github.com/onsi/ginkgo/internal/leafnodes/runner.go:113

Ran 51 of 78 Specs in 1117.153 seconds
FAIL! -- 26 Passed | 25 Failed | 1 Pending | 26 Skipped

You're using deprecated Ginkgo functionality:
=============================================
Ginkgo 2.0 is under active development and will introduce several new features, improvements, and a small handful of breaking changes.
A release candidate for 2.0 is now available and 2.0 should GA in Fall 2021.  Please give the RC a try and send us feedback!
  - To learn more, view the migration guide at https://github.com/onsi/ginkgo/blob/ver2/docs/MIGRATING_TO_V2.md
  - For instructions on using the Release Candidate visit https://github.com/onsi/ginkgo/blob/ver2/docs/MIGRATING_TO_V2.md#using-the-beta
  - To comment, chime in at https://github.com/onsi/ginkgo/issues/711

  You are using a custom reporter.  Support for custom reporters will likely be removed in V2.  Most users were using them to generate junit or teamcity reports and this functionality will be merged into the core reporter.  In addition, Ginkgo 2.0 will support emitting a JSON-formatted report that users can then manipulate to generate custom reports.

  If this change will be impactful to you please leave a comment on https://github.com/onsi/ginkgo/issues/711
  Learn more at: https://github.com/onsi/ginkgo/blob/ver2/docs/MIGRATING_TO_V2.md#removed-custom-reporters

To silence deprecations that can be silenced set the following environment variable:
  ACK_GINKGO_DEPRECATIONS=1.16.5

[root@chetan-csi-worker-1 2021_09_15-01:11:27 csi-sanity]$ cat prameter.yaml
volBackendFs: "fs1"
clusterId: "8809226123290901444"


Functions throw and not return Exceptions

The library functions, like get, has the information, that they return array or an Exception. Exceptions are not returned but thrown.
It would be nice if the PhpDoc says
@throws \GuzzleHttp\Exception\BadResponseException

It has been fixed


Pre-parse push commit refs so they're not re-interpreted once on the backport branch

Today we can't reference to-backport commits using HEAD-based syntaxes, as they will only get interpreted as-is once on the backport branch. We need to parse them pre-checkout and use SHAs instead.

BTW, not pre-parsing to SHA will create problems in the latest-sync config entry, too, as it won't be invariant. This bug is urgent to fix!


Change to be usable as a library

I was wondering what you would think about factoring out the main functionality into a library (sub package) that could be used without the need of flags to configure it. I was thinking that perhaps you could use a config struct to configure the sub package with the config that is currently coming from the flags. You could then still have the auto run on import package work the way it does with the flags feeding the config struct and calling the sub package.
Is there any interest in doing this? This code looks really useful, but most of the code that I work on doesn't use flags for configuration so it would be hard to integrate the package as is, and if possible I'd prefer to not copy it all somewhere else for my particular use. If this is something that would be acceptable I could code up a pull request.

That'd be great!

On Aug 21, 2015, at 1:48 AM, cgilling<EMAIL_ADDRESS>wrote:
I was wondering what you would think about factoring out the main functionality into a library (sub package) that could be used without the need of flags to configure it. I was thinking that perhaps you could use a config struct to configure the sub package with the config that is currently coming from the flags. You could then still have the auto run on import package work the way it does with the flags feeding the config struct and calling the sub package.
Is there any interest in doing this? This code looks really useful, but most of the code that I work on doesn't use flags for configuration so it would be hard to integrate the package as is, and if possible I'd prefer to not copy it all somewhere else for my particular use. If this is something that would be acceptable I could code up a pull request.
—
Reply to this email directly or view it on GitHub.

One more question: Is there a particular reason you're using your fork rather than the original of g2s?

Only one reason: the original g2s does not support sub-millisecond precision.

On Aug 21, 2015, at 1:42 PM, cgilling<EMAIL_ADDRESS>wrote:
One more question: Is there a particular reason you're using your fork rather than the original of g2s?
—
Reply to this email directly or view it on GitHub.

Are you using a locally modified one that hasn't been pushed up to your fork? According to github your fork doesn't have any changes on it

Ah, dang. It appears you're right. We have an internal fork, where I must have made the patch. Not sure how I failed to push it to my personal fork. Will do now.

Okay, use the https://github.com/bmhatfield/g2s/tree/sub-millisecond-precision branch.

Doesn't look like this repo needs any of those updates. From what I see on that branch the updates affect counters and timing, but the current implementation of this repo is using gauges. Am I missing something? If not, is there still a preference to stay with your fork of the g2s library. Seems like it would be a good idea to stay with the main one (peterbourgon/g2s) and get rid of Godeps since it would no longer be necessary.
Lemme know what you think

W/R/T the fork vs staying on upstream: How embarrassing - you're totally right. I was on near-complete autopilot when making those changes. My apologies, and thank you for your polite approach to letting me know :-) I agree with your move to aim back at the upstream given that the fork is unnecessary.
As far as my opinion on #5 vs #6 - I think that I like the "feel" of the instantiation posed in #5 - Setting the configuration options feels more direct and like the intent of the struct. Now that you've had a weekend to digest on this, are you feeling more strongly about one or the other?

Having thought about it more what I like is something somewhat in the middle:
type GaugeFunc func(key string, val uint64)

type Collector struct {
	PauseDur   time.Duration
	DisableCPU bool
	DisableMem bool
	DisableGC  bool
	Done       <-chan struct{}

	gaugeFunc  GaugeFunc
}

func New(gaugeFunc) *Collector {
	return &Collector{
		PauseDur: 10*time.Second,
		EnableCPU: true,
		EnableMem: true,
		EnableGC: true,
		gaugeFunc: gaugeFunc,
	}
}

This allows a few things that I like:

simple New func
bring your own statsd client, anyone using this library is probably already using statsd and has a client and a prefix already defined. If people don't there is a nice example of using one in the parent package.
sets defaults to sensible values but allows you to change them before calling Run, if you want to (I would image >90% people not touching the defaults)

Any thoughts on that interface? If that okay, I can go ahead and code that up with some nice comments, and then close out the other pull requests and do a new one with this approach

Yeah! I like this. Apologies for the delay. My only request beyond what you've mentioned is that the parent package maintains the import side-effect feature for folks who are just interested in getting some metrics out to statsd :-)
Thanks for all the energy you've put into this, it's great stuff.

No problem, thanks for being as responsive as you have been. I updated #6 to match the approach in my most described most recently.

Fixed by #6


feat(node): implement node.AuthVerify and node.AuthNew

Implements node.AuthVerify and node.AuthNew.
Removes the jwt.Signer from the Node struct and replaces it with the nodebuilder.Node module, along with the other services.
Includes a minor version bump to the API.

Codecov Report

Merging #2370 (2de376d) into main (d0e4353) will decrease coverage by 0.26%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main    #2370      +/-   ##
==========================================
- Coverage   50.80%   50.54%   -0.26%
==========================================
  Files         155      155
  Lines        9766     9826      +60
==========================================
+ Hits         4962     4967       +5
- Misses       4369     4426      +57
+ Partials      435      433       -2

Impacted Files
Coverage Δ

nodebuilder/node.go
58.57% <ø> (ø)

... and 10 files with indirect coverage changes


Redirects not working in Modules

I am using a module currently to version off endpoints. I have a couple of redirects, for access denied, token expiration, etc. Currently revel is not redirecting properly.
This was working as of 0.20. When I updated to 0.21 this is when this error started happening
Revel Version
0.21
Code
return c.Redirect(routes.App.TokenExpired())

Observed Results
Status Code: 302
Result Body: Empty
Expected Results
Status Code: 498
Result Body: JSON {Message: "Your Token has expired"}

thanks for starting this issue. Can we add some steps to reproduce this issue starting with revel new testapp?

Sure
Step 1
Create a project
Step 2
Create a Module (I use mine to separate versions i.e v3, v4)
Step 3
Add a Redirect to an endpoint with a different status code and response

Quick workaround was this:
return AccessDenied(c)

func AccessDenied(c *revel.Controller) revel.Result {
	c.Response.Status = http.StatusForbidden
	return c.RenderJSON(getErrorMessage("Access denied"))
}

@Fyb3roptik thanks for the detailed reporting here and the workaround. Do you feel like there's anything we should do to change Revel for this issue or is the workaround sufficient?

I think this workaround is sufficient honestly. But I wont stop you from fixing the redirect lol. I know you guys probably have a lot more important things to tackle