Are the store-devtools delivered to production as well?

hi there,
silly question, but I couldn't find any information on the github page:

Is there any problem to deliver the store-devtools (activated) to the production app?
If it is dangerous to deliver the app with the store-devtools, is the exclusion of this library already implemented or do we have to take care of this by our own?
If dangerous and exclusion not implemented -> any guide to exclude it?

maybe it makes also sense to put these information somewhere in the info page
ps: yes i know, it is called *-devtools so these questions might be easy to answer.
thanks, cheers
emre

I asked this question too in the example-app repo but have yet to figure out a way to achieve this.

It depends on your comfort level. The devtools allow external users to look at and potentially manipulate the state of your application. On the the other hand, it allows you to look at the state of your app in production and take a snapshot of that data for debugging purposes.
Currently, you would have to take care of excluding this on your own in production. Its just a matter of removing the devtools module for production builds, which is something that can be done easily, but limits you if you're using AOT for production builds, which is the default as of the latest release.
Removing it could just require manually removing the module from your AppModule before building.

Hope this helps

I found a workaround, that is easy and works well with AOT (tested with @angular/cli: 1.0.0). Suppose you want to exclude dev tools from production builds, so you determine it by using environment.production variable.
import { NgModule } from '@angular/core';
import { StoreModule } from '@ngrx/store';
import { StoreDevtoolsModule } from '@ngrx/store-devtools';

import { environment } from '../environments/environment';

@NgModule({
  ...
  imports: [
    ...
    StoreModule.provideStore({...}),
    !environment.production ? StoreDevtoolsModule.instrumentOnlyWithExtension() : DummyModule,
    ...
  ],
  ...
})
export class AppModule {
}

So if we're not in production mode, then the StoreDevtoolsModule will be imported, otherwise some DummyModule will. And the DummyModule is just a simple module, that provides nothing.
import { NgModule } from '@angular/core';

@NgModule()
export class DummyModule {
}

@k10der Does the CLI resolve this at compile time ?

@fknop It looks like CLI resolves this. I've made 2 builds with sourcemaps. And according to source-map-explorer output devtools are excluded with DummyModule substitution. So the size difference is 10KB.
Here are the results of 2 builds
!environment.production ? StoreDevtoolsModule.instrumentOnlyWithExtension() : DummyModule,

environment.production ? StoreDevtoolsModule.instrumentOnlyWithExtension() : DummyModule,

You don't need to include a dummy module in place of the devtools. Just
provide an empty array as the alternative.
On Apr 13, 2017 7:09 AM, "Sergey Palikhov"<EMAIL_ADDRESS>wrote:

@fknop https://github.com/fknop It looks like CLI resolves this. I've
made 2 builds with sourcemaps. And according to source-map-explorer
https://github.com/danvk/source-map-explorer output devtools are
excluded with DummyModule substitution. So the size difference is 10KB.
Here are the results of 2 builds
!environment.production ? StoreDevtoolsModule.instrumentOnlyWithExtension()
: DummyModule,
[image: Without dev tools module]
https://cloud.githubusercontent.com/assets/6381515/25004020/dbdd897c-205a-11e7-93d7-c1e7e5ca6bcd.png
environment.production ? StoreDevtoolsModule.instrumentOnlyWithExtension()
: DummyModule,
[image: With dev tools module]
https://cloud.githubusercontent.com/assets/6381515/25004023/dfcb6a7c-205a-11e7-8871-ff2a788ac778.png
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/ngrx/store-devtools/issues/53#issuecomment-293875453,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AACk40mxoKzRL2DW17IYUg35Vn_Oq5N6ks5rvhBugaJpZM4LtQNv
.

@brandonroberts good point! Didn't know, that it's possible to add arrays to imports. Will modify my previous message now.

@brandonroberts That's even better, thanks.

@k10der How do you set the value for you environment variable? Do you still need to change it manually?

It seems like it doesn't work on AngularCLI6. StoreDevtoolsModule is still in the bundle.

I'm using webpack 4 and angular 6 with this condition:
imports: [
...,
  !production ? StoreDevtoolsModule.instrument() : []
]

dev tools are still included in the bundle and for some strange reason are still available on prod builds.


How to validate startDate < endDate in same a input?

Question
I can't find an example for this case
export interface IApp {
  startDate: Date;
  endDate: Date;
}

Do not support custom validation for specific class (object) case.
I think that the IApp case, you should make addtional function like below.
const assertApp = (app: IApp) => {
    typia.assert(app);
    if (startDate < endDate)
        throw typia.TypeGuardError({
            ...
        });
};

i got it.
assertApp will be called in the controller?

Do not support custom validation for specific class (object) case.
Will it be supported in the future?
@samchon

If want to earlier publish, can you suggest a good interface? The new suggestion should be compile time safe like current.

I'm sorry
I don't understand what you mean 🥲

I mean suggest me a way how to (interface level)

it will look like:
export interface IApp {
  startDate: Date;

  /**
     * @greaterOrEqualField startDate
     */
  endDate: Date;
}

@gte
@gt
@lt
@lte
@eq
These tags look like they could be very useful!
If you can, of course.
These are the tags that came to mind from trangianhuan's comment.


Investigate possible performance wins with TextEncoder#encodeInto

There's some discussion starting here about how we can probably improve the current logic of using encodeInto through some more clever usage and possibly some magic numbers. We should take a look into this! Ideally we'd also take a look at actual performance numbers when doing so.

I put a slightly polished restatement of my previous comment onto MDN.
It would be nice to copy and paste the code resulting from fixing this issue into the "Examples" section of the MDN article.

Oh thanks for the link @hsivonen!

Note that another alternative that might be worth considering and measuring is calculating UTF-8 byte length upfront.
I've already added usage of Buffer.byteLength(...) in #1391 for Node.js, but for other targets we can do something like:
let size = arg.length;
for (let i = 0; i < arg.length; i++) {
    let code = arg.charCodeAt(i);
    if (code > 0x7f) size++;
    if (code > 0x7ff) size++;
    if (code >= 0xD800 && code <= 0xDBFF) i++; // high surrogate
}

After that, we can allocate the right size right away.

Note that another alternative that might be worth considering and measuring is calculating UTF-8 byte length upfront.

Gecko used to do this for its internal UTF-16 to UTF-8 conversions, but doing imprecise allocations was better for performance. (With jemalloc, allocations are imprecise anyway. With a precise allocator, it might be more interesting to attempt to do precise allocations.)

With jemalloc, allocations are imprecise anyway.

Does WASM in Rust use jemalloc? AFAIK Rust switched from it to the system allocator by default, but now that I think about it, I'm not sure which allocator is considered "system" and included in the WASM target.
Although maybe most people use wee_alloc instead of the default one? Worth investigating.

The wasm target does not use jemalloc, it uses a port of dlmalloc.

Good to know. So, point stands - probably worth optimising for it and/or wee_alloc if we do try to take allocator characteristics into account.
Alternatively, I'd rely on bucket allocators to already round up any allocations to the bucket size and then realloc that stays within the bucket is essentially no-op, so we probably don't need to try and do that manually.

This was done originally in https://github.com/rustwasm/wasm-bindgen/pull/1414 and we can always follow up with further improvements if necessary!


Improve control over transform dialect mapping of foreach_thread to GPU

This revision takes advantage of the recently introduced thread_dim_mapping attribute to scf.foreach_thread.
We use it to rewrite the transform.iree.foreach_thread_to_gpu_and_translation_info transformation to take
the workgroup_size explicitly and operate at the level of a FuncOp.
All std.foreach_thread nested under the FuncOp are mapped to workgroup_size and predicated accordingly.
This revision also prefetches LLVM commits:

a786f30c5d2a05591ba355ce1ffc05cdfb5bcfef
ad8ae6ea170967c008a1e1c501cb8be2707a413c

Please wait till #9610 lands.

Ack


Add support to Team Foundation Server

https://www.visualstudio.com/en-us/products/tfs-overview-vs.aspx
:

I'll take a look as soon as I've submitted a few PRs I still need to push.

Bare with me with this one. I've tried once already to install this thing. What a beast.

We've moved over to a new system for notifications and we have an internal ticket for this. The good news is it shouldn't take us much longer to get this shipped so it should be coming soon!
Closing this issue as this repo is being retired.


ManyRelatedField support

Thanks for the package, although I've spent quite some time to make it work with ManyRelatedField, even though the solution was quite simple.
The reason I use ManyRelatedField is because ListField raises 'RelatedManager' is not iterable, which makes sense.
My solution is:
class RecursiveManyRelatedField(serializers.ManyRelatedField, serializers.BaseSerializer):
    pass

class CommentSerializer(serializers.ModelSerializer):
    children = RecursiveManyRelatedField(child_relation=RecursiveField(to='CommentSerializer', allow_null=True), read_only=True)

to avoid:
assert issubclass(parent_class, BaseSerializer)   #line 83 of fileds.py

Works like a charm, just thought it should be supported. Thank you.

What version of django-rest-framework are you using?
could you give me a snippet of what your model looks like?

False alarm
I forgot that I can set many=True, thus fixing my issue. Duh. Instead, I 'hacked' it with the following:
serializers.py
class RecursiveManyRelatedField(serializers.ManyRelatedField, serializers.BaseSerializer):
    """
    Workaround to avoid "assert issubclass(parent_class, BaseSerializer)"
    """
    pass

class NodeCommentSerializer(serializers.ModelSerializer):
    parent = serializers.PrimaryKeyRelatedField(queryset=NodeComment.objects.all(), allow_null=True)

    children = RecursiveManyRelatedField(child_relation=RecursiveField(to='NodeCommentSerializer', allow_null=True), read_only=True)

    # This is how it supposed to be:
    # children = RecursiveField(to='NodeCommentSerializer', many=True, read_only=True)

    class Meta:
        model = NodeComment

models.py
from django_comments.models import Comment, CommentManager

class NodeComment(Comment):
    title = models.TextField(_('Title'), blank=True)
    parent = models.ForeignKey('self', null=True, blank=True, default=None, related_name='children', verbose_name=_('Parent'))
    objects = CommentManager()

Anyway, thanks again for the package, you can close the issue.


Homepage

Hi, i am using your plugin and I have an issue.
Every time I open Obsidian, I'm presented with a new tab after entering my password. But I use the Homepage plugin to go to this homepage as soon as I open the application. But as soon as I close the new tab it opens another one without taking me to my homepage. It's annoying that the two plugins are competing with each other.

That's perfect, tank you !


AttributeError: 'Namespace' object has no attribute 'vae_dir'

This error prevents the extension from loading. Full log is:
Reloading extensions
Reloading custom scripts
Error loading script: toolkit_gui.py
Traceback (most recent call last):
  File "F:\stable-diffusion-webui\modules\scripts.py", line 195, in load_scripts
    module = script_loading.load_module(scriptfile.path)
  File "F:\stable-diffusion-webui\modules\script_loading.py", line 13, in load_module
    exec(compiled, module.__dict__)
  File "F:\stable-diffusion-webui\extensions\stable-diffusion-webui-model-toolkit\scripts\toolkit_gui.py", line 12, in <module>
    VAE_SAVE_PATH = shared.cmd_opts.vae_dir or os.path.join("models", "VAE")
AttributeError: 'Namespace' object has no attribute 'vae_dir'

Reloading modules: modules.ui
Refreshing Model List
Restarting Gradio
Running on local URL:  http://<IP_ADDRESS>:7860

My Stable Diffusion web UI installation has vae folders and such, so I don't know what is going on here.
Thank you for looking into this.

your webui needs to be updated, the vae dir arg was added a few days ago in https://github.com/AUTOMATIC1111/stable-diffusion-webui/commit/6e08da2c315c346225aa834017f4e32cfc0de200


[FEATURE REQUEST]: tiffdss Source Code Move

Feature Request Type

[x] Application Programming Interface (API)

Is your feature request related to a problem? Please describe.
Feature request is NOT related to a problem.
Describe the solution you'd like
Source code for tiffdss has been moved to its own GitHub repo here.  Proposing Cumulus-api: Packager remove tiffdss source code and have the packager dockerfile clone the new repo to build libtiffdss.so from source.

Hey, this looks great @jeffsuperglide! Onward - go for it!

When convenient, @jeffsuperglide, how's this going?  Any details on path forward that can be shared here?

HTTPS://GitHub.com/HydrologicEngineeringCenter/tiffdss repo setup.  Packager dockerfile just needs updating to clone, build and place shared object in /usr/lib.

Awesome @jeffsuperglide. Let's connect on this tomorrow.

HTTPS://GitHub.com/HydrologicEngineeringCenter/tiffdss repo setup. Packager dockerfile just needs updating to clone, build and place shared object in /usr/lib.

Above repo updated to accommodate cloning and building in packager.  Branch https://github.com/USACE/cumulus-api/tree/feature/tiffdss-src-removal has WIP for packager to clone and build from source.
cc @brettpalmberg, @adamscarberry

Awesome, thanks @jeffsuperglide. Will incorporate the branch cumulus-api referenced above and confirm everything is working.
Moving forward, we will now have source code at https://github.com/HydrologicEngineeringCenter/tiffdss as a dependency. We will also use the repository at https://github.com/HydrologicEngineeringCenter/tiffdss to open and track any dss specific issues and enhancement requests.

@brettpalmberg and @adamscarberry
Removing the submodule hec-dss is related to this issue.  The submodule is not needed after tiffdss source code moved out.

Confirmed. Removed .gitmodules and hec-dss in this commit: https://github.com/USACE/cumulus-api/commit/528a0407015461f1c5a99f031c5c0d715fa2fb6d.

@brettpalmberg can this be closed?

Hey @jeffsuperglide, is there any information we want to document for the future that's not already captured so we can search/find it later? If so, recommend we take the opportunity to document it here (and then close).  If not, please feel free to close this issue.

@brettpalmberg
@ktarbet and I discussed possibly making a shared object and executable artifacts available.  This could eliminate the need for cloning the repo and building.  Also, considering versioned packages.
May need to get versioning and publishing packages in GitHub help from @adamscarberry


unable to install on firefox from 1.1.1 zip file

hi!
when trying to install the latest version of IM++ (that being 1.1.1 at this time), firefox throws a generic "this addon seems to be corrupt" error. when testing the file in firefox's debugging tool, it states that the manifest is invalid.
could this be possibly fixed in the future?

OK, i think i fixed it. the zip contained the folder CONTAINING the extension itself, which firefox doesnt like ... i changed it, try re downloading the extension and let me know if it works

also, i think i need an id for the extension or something which ill add as soon as im able to

firefox won't let me install it normally, due to the id issue... but in debugging mode, it works after always allowing on imood! :D

ID has been added now, try redownloading it and let me know if it works
also im working on getting it on the firefox addons marketplace right now, review process seems to be a lot more intensive than chrome webstore so i cant guarantee itll pass first time

says that the addon unvalidated, and won't install because of it...

does it give any details?

not really... the only thing that pops up is this

with the following link: https://support.mozilla.org/en-US/kb/add-on-signing-in-firefox

i dont think i can fix this until its on the addons marketplace, on the bottom of the page there seems to be instructions on how to override it. try that

tried swapping the boolean, still no luck

damn... i dont reallyk now how to fix this, best bet is to wait til it pops up on the addons marketplace or to continue using the old copy you had that worked

ok... once it shows up on the marketplace, I'll tell you if it's working or not

ok how about it

works well, though i have to click on the extension each time i want to activate it by default :p

whaaaat. why the fuck is that a thinhg

strange


Doesn't install on Eclipse 3.5.2

RhoStudio installation fails on Eclipse 3.5.2
This is the error I get:
Cannot complete the install because one or more required items could not be found.
Software being installed: RhoStudio <IP_ADDRESS>104202053 (rhostudio_feature.feature.group <IP_ADDRESS>104202053)
Missing requirement: com.rhomobile.rhostudio <IP_ADDRESS>104202053 (com.rhomobile.rhostudio <IP_ADDRESS>104202053) requires 'bundle org.eclipse.ui.navigator 3.5.0' but it could not be found
Cannot satisfy dependency:
From: RhoStudio <IP_ADDRESS>104202053 (rhostudio_feature.feature.group <IP_ADDRESS>104202053)
To: com.rhomobile.rhostudio [<IP_ADDRESS>104202053]
I looked through the source and figured that probably it is because of the manifest file
https://github.com/rhomobile/rhostudio/blob/master/rhogen-wizard/META-INF/MANIFEST.MF
check line#17 - org.eclipse.ui.navigator;bundle-version="3.5.0"
Is there any way I can get around this issue and get RhoStudio to work on my eclipse?

This issue is still coming on 3.7.0


Fix RIO Connection Receives

Rebase of #1420
Fixes an issue with RioTcpConnections not flushing receives and adds a stress test for the RioTcpServer.
cc: @davidfowl @benaadams

Hm, looks like release build is hanging. I'll investigate locally.

Trying out an idea to fix the build hanging. If it works, I'll clean up then ping for review.

@ahsonkhan Could I please get a new build for this triggered? We should be able to tell within a few minutes if it's going to hang or not.

r? @davidfowl
Build is green, but I'm not totally confident about it. I think it needs a few more runs.

Build is green, but I'm not totally confident about it. I think it needs a few more runs.

@KodrAus, any updates to this PR?

@ahsonkhan I can't reproduce the flakiness locally so have put a Skip on the test, which I suspect is the issue anyways.
I still think it's worth a review because the code before simply didn't work. So assuming the rest is good I guess we can either:

Merge as-is with the Skip
Remove the test
Forget this code and work on porting the Kestrel transport instead

I'm happy with whatever approach.

I still think it's worth a review because the code before simply didn't work. So assuming the rest is good I guess we can either:
Merge as-is with the Skip
Remove the test
Forget this code and work on porting the Kestrel transport instead
I'm happy with whatever approach.

I will let @davidfowl. @pakrym comment on that.

@davidfowl Switched to socket client, which surfaced the many problems with my test. I've fixed those up.
I've made the RIO server a lot slower, but at least we know it works now.

@davidfowl, comments?

@davidfowl any more feedback?

Does it work now? @benaadams did you take a look?

Yep, it totally works now.

ping @benaadams
@davidfowl, @KodrAus, is this good to go?

@ahsonkhan It's just waiting on a review

@davidfowl, @benaadams - please take a look

@KodrAus, is this change still relevant? If so, can you please fix the merge conflict?
@davidfowl, @benaadams, @KrzysztofCwalina - are we taking this PR? If not, we should close it.

@ahsonkhan I haven't looked at this in a while. I'll take a look at the conflict, this might not be needed anymore.

Closing this PR. Please feel free to re-open if necessary.


Data privacy chapter - rough draft

Purpose/implementation Section
What changes are being implemented in this Pull Request?
Here's a start @carriewright11

The how to protect this info needs more work. I'm finding it hard to write this section given the wide variety of situations and data types and institutional policies that might be going into play.

Note I also wrote a brief What genomic data is protected? and I would like to add other sections that describe imaging or other types of data, but I don't know anything about these data types so I wasn't really able to figure out what to write for those.

I don't have any comics or visuals here yet.

Gonna merge this for now and create an issue so we fill it out more later.


Unable to set shareProcessNamespace Field in templates.

Pre-bug-report checklist
1. This bug can be reproduced using pure Argo YAML

[ ] Yes 👉 Please report a bug to the Argo Workflows GitHub 👈
[x] No

If yes, it is more likely to be an Argo bug unrelated to Hera. Please double check before submitting an issue to Hera.
2. This bug occurs in Hera when...

[x] exporting to YAML
[x] submitting to Argo
[x] running on Argo with the Hera runner
[ ] other:

Bug report
Describe the bug
A clear and concise description of what the bug is:
I don't see an api endpoint for setting the shareProcessNamespace field through Hera.
https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.26/#podspec-v1-core
Error log if applicable:
error: something broke!

To Reproduce
Full Hera code to reproduce the bug:
from hera.workflows import Workflow

with Workflow(name="my-workflow") as w:
    # Add your code here

Expected behavior
A clear and concise description of what you expected to happen:
set shareProcessNamespace field as boolean true/false
Environment

Hera Version: 5.16.0
Python Version: 3.9.X
Argo Version: 3.5.10

Additional context
Add any other context about the problem here.

We have a pod spec example here in the docs.


early fish completion file

Q
A

🐛 Bug fix?
no

🚀 New feature?
yes

⚠ Deprecations?
no

❌ BC Break
no

🔗 Related issues
#126

❓ Documentation
yes

Description
This is an initial fish autocompletion file for driftctl.

Could be generated automatically with https://github.com/spf13/cobra/blob/master/fish_completions.md

Could be generated automatically with https://github.com/spf13/cobra/blob/master/fish_completions.md

Replaced by https://github.com/cloudskiff/driftctl/issues/129

Replaced by https://github.com/cloudskiff/driftctl/issues/129


Update v8js

Build v8js

:beers: @BrewTestBot has triggered a merge.

:warning: @shivammathur bottle publish failed.

:beers: @BrewTestBot has triggered a merge.


remove unused wiki-images

There are no longer any wiki pages which refer to the repo for their images, so we can safely remove these.

:+1:


Integrate CLA-assistantwith GitHub.

Use CLAHub for licence management to keep track of contributors that have agreed to our licence.

CLA assistent is integrated with GitHub.
Checked with Kevin


Delete meetings

Allow users to delete meetings associated with a beneficiary

Requires a list of meetings to be shown, similar to #31 and #18

 Assessment management

Blocked by #108

This is no longer needed with impactasaurus/server#57

Users are asking for this capability

Expanded the scope of #141, so this is not needed


Provide a suggested gitignore

The setup instructions in the Help Document don't say anything about a .gitignore for the repo. When I look at what is being saved in the repo, I see 8 files besides the markdown file I created, plus the contents of a tmp directory. I suspect that most or all of these other files are automatically generated when I sync a note to Evernote, and so don't need to be saved in a repo. However, some of it may represent important state for the client, like when the note was last synced.
Therefore, instead of making up a gitignore on my own, I would like the developer to provide one, since he knows which files contain real information, and why are merely byproducts of the sync process.
I suggest this gitignore be referenced in the help document, and maintained either as part of the code of the Atom package or as a gist.

This is a very good idea. Thanks @fiapps. I'll get on it soon (hopefully!).


EntityEncoder and EntityDecoder: yea or nay

Pro:

We've had them since the beginning, and eliminating them would be a massive change
They're really pleasant where there is a canonical encoding to Stream[F, Byte].
They promote a DSL that is generally well liked: Ok(foo) and req.as[Foo].

Con:

Incoherence: there is no canonical encoding for many types.

JSON with or without spaces
JSON vs. other formats
InputStream chunk sizes

Calling with explicit instances is ugly in both principle and syntax

I'm finding them increasingly dubious as typeclasses, but have yet to see an ergonomic replacement for them.  Let's hear some alternatives and apologetics.

You mean you want to replace them, or perhaps completely remove them? I find it very handy not having to write my own Entity{E/D} for "obvious" types. Maybe offer them as a separated library?

I don't want to remove them without something that's clearly better, but I'm souring on the idea of codecs as typeclasses.  I'm hoping to discover a better idiom here.

I'm :+1: on their removal.
My idea is a tad more verbose I think. I think EntityEncoder ++ the dsl does quite a lot. It not only defines the common serialization you want,  but it also sets headers and the whatnot.
I.e, I wouldn't mind something like (note this could look different but bear with me)
object CirceEncoder {
 def embedJson(j: io.circe.Json, r: Response[IO]): Response[IO]
}

and calling Ok().map(embedJson(_, someJson))
You might get strong disagreements with this, but consider that EntityEncoder currently:

Is pure, or can be effecting? There's no single canonical answer here, we changed it but there's uses in both.
has a static headers field, which is annoying AF with multipart and any other body that requires headers set based on the entity instance itself (so RIP setting headers if you wanted to say, have a custom entity encoder for some coproduct type).
Content length debacle we talked about before

Similarly EntityDecoder:

is generic over requests and responses, but they're not exactly symmetric entities (esp w.r.t headers present)

(the entitydecoder stuff is off the top of my head).
Really, the biggest pain is the scalafix for users that wrote a lot of code in terms of the DSL, but if not for 0.19 then for 1.0 or 2.0, I don't think the way forward is what a typeclass used not unlike an implicit conversion, which is what we have now.
explicit serialization makes sense in many situations honestly, and calling a function isn't the worst thing in the world, people get used to it (i.e haskell calling show a for composing strings, I don't hear many complaints about it)

From chatting on gitter, my other proposal, assuming everyone finds the above a death sentence, is
EntityEncoder[F[_], A] {
  def encode(m: Message[F], a: A): F[Message[F]]
 //or Ross' alternative
 // def encode(m: Message[F], a: A): Message[F]
}

I haven't successfully eliminated these over a few attempts.  I think they're here to stay.


Unsigned indecies for getting a tile

Right now, I have to cast the coordinates during iteration over tiles:
fn iterate_over_tiles(layer: &FiniteTileLayer) {
    for y in 0..layer.height() {
        for x in 0..layer.width() {
            if let Some(tile) = layer.get_tile(x as i32, y as i32) {
                ...
            }
        }
    }
}

Looking around briefly, I see no apparent reason for this discrepancy. Does it make sense to switch to u32 in FiniteTileLayer::get_tile?

It's using i32 for consistency with infinite tile layers, which can have negative tile positions: https://docs.rs/tiled/latest/tiled/struct.InfiniteTileLayer.html
We could change it, but I don't think it's worth the correctness since it would be a breaking change (and it'd also be inconsistent)


Merge Visioneering into the Research Wing / Team of P - Society.

As discussed with ( I guess ) core members of P-Society, I'm creating an issue here to discuss the merging, new focus and power transfers.
Power Transfer
As discussed, I have made @hdidwania an admin for the Visioneering@IIITBH org, please proceed as required ( probably after a discussion )
New Focus
Those who haven't been notified of the breathtaking news, here's it in short, sweet one-liners, bolded for extra pleasure.

Visioneering Group is now maintained by p-society.
Rather than social, research projects, the team will now host weekly/monthly ( I don't know ) paper discussions on various topics picked by a visioneering member.
Whiteboard somewhere in the campus to write down anonymous ideas.
A Yearly or ( maybe monthly newspaper ), The Visioneering Times (change the name, as required, I don't give a "insert creative slang" )
A blog similar to gradient.pub or maybe 10% of distill.pub would be created for updates and clear expositions of papers discussed by each team, the best one in the year could become a submission for distill.pub's prize of $10k, go shoot for the stars, IIITians. ( subtle laughter while I write this )
I also hope, the institute's faculty might support this initiative later on, once it's at least half baked.

Jokes aside, good luck IIIT!
I genuinely hope something gonna be lit af.
Ankit.

Great @sudoankit  , we all are looking forward to promote research in the college. I guess ,@hdidwania will be forming a focused group for research oriented activities, that will include PWL. @hdidwania I suggest , lets name the research part as Visioneering (like PSoc,TARS)  keeping PWL as collaborating chapter, and lets plan for the events. :+1:

It is discussed and done. Visioneering is now a part of research wing of IIIT's tech society and will work to promote research culture among the students. We have some exciting plans related to Visioneering, which include formation of paper implementation group (as it started out earlier), and working on publishing group's results in a e-magazine. Visioneering along with PWL and other bodies will hopefully give a major boost to research scenario of the institute.
The issue can be closed now.


Weird "Invalid Date" return

I detected this issue trying to parse the following code:
moment('Tuesday, April 10 at 7:00 PM', 'dddd[,] MMMM DD [at] H:mm A').format('YYYY-MM-DD')
// "Invalid date"

moment('Monday, October 23 at 7:00 PM', 'dddd[,] MMMM DD [at] H:mm A').format('YYYY-MM-DD')
// "2017-10-23"

Chrome 61 on OSX
Sat Oct 21 2017 20:30:05 GMT-0200 (-02)
10/21/2017, 7:30:05 PM
120
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36
2.19.1

The dates your parsing don't specify a year, so moment is guessing you mean this year (2017)
April 10th 2017 was a Monday. So 'Tuesday, April 10' is invalid.

^^

For me, it is an issue @ashsearle, even if it's just a documentation gap. Anyway, @icambron already closed the PR without any reasonable justification (and workaround). Let move forward. Thanks.

I agree there's a missing entry somewhere here: http://momentjs.com/docs/#/parsing/is-valid/


envoy report request traffic confused when multi services with same port access to same group workloads

step1 : Create gray release, bind service1 at the same time (sidecar injected)
step2: Create destination rule and virtual service to related workloads according to policy
step3: access to service1, notice route traffic displayed in kiali
step4: create new service2 which is same port to service1, bind same workloads, destination rule and virtual service same to step2 result
step5: access to service2, notice route traffic in kiali; no data from service2 to workloads ,but with data from service1 to worklaods

I try to catch data from envoy, access to workload1 from service2, but its upstream_cluster is service1 instead.

I just wander if Istio version 1.9 has noticed this limitation or other further efforts?

This limitation is well known since 1.8. There will be efforts to address this, probably by piggybacking on the upstream cluster extension effort: https://github.com/istio/istio/issues/31444 cc @tbarrella @lambdai

Thanks.

I noticed this scenario : a pod with two containers exposing the two ports separately, 8080 and 8090; two services access to it with different port. Routes traffic in kiali are all displayed , upstream_cluster is accurate

Yeah this is expected, as long as port and service are 1:1 mapping, there will be no ambiguity in telemetry.

yes.

Yeah this is a known limitation. At inbound, if different services are defined at the same port, we cannot accurately identify the intended destination service. The intended destination service has to be forwarded from the client sidecar.

so only client sidecar knows the exact service. The routing is correct from the context. Is metadata exchange not running?

We don't forward destination service with metadata exchange, yet.


Skip commit pattern

To be able to skip e.g. auto generated / merge commits.

Closing as repo deprecated.


Groth16 import r1cs from LRO csv

Adds an adapter converting arkworks circuits (bls12-381) to lambdaworks QAP.
Adds tests that proves arkworks circuits using lambdaworks groth16 backend
Solves a small bug in QAP implementation (number of gates function)

Codecov Report
Attention: 3 lines in your changes are missing coverage. Please review.

Comparison is base (5233228) 96.16% compared to head (d4700e6) 96.65%.
Report is 1 commits behind head on main.

Files
Patch %
Lines

provers/groth16/src/qap.rs
97.19%
3 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #701      +/-   ##
==========================================
+ Coverage   96.16%   96.65%   +0.48%
==========================================
  Files         132      127       -5
  Lines       29904    29648     -256
==========================================
- Hits        28758    28656     -102
+ Misses       1146      992     -154

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

You have conflicts, but it can be merged


Add types to @stylex/nextjs-plugin package

What changed / motivation ?
Adds Flow and TS types to the NextJS plugin.
Linked PR/Issues
Fixes https://github.com/facebook/stylex/issues/325
Additional Context

Screenshots, Tests, Anything Else
Pre-flight checklist

[ ] I have read the contributing guidelines
Contribution Guidelines
[ ] Performed a self-review of my code

I would suggest not doing this as we will be rewriting the entire nextjs plugin soon.
It will most likely become a babel plugin + a postCSS/lightningCSS plugin instead.


/en-US/docs/Web/API/Intersection_Observer_API

Request type

[ ] Please close this issue, I accidentally submitted it without adding any details
[ ] New documentation
[x] Correction or update

Details
The following text is used to describe the isIntersecting property:

You can tell which direction the visibility changed in (that is, whether the element became more visible or less visible) by checking the value of the isIntersecting property on the IntersectionObserverEntry passed into the callback function at the time of the visibility change. If isIntersecting is true, the target element has become at least as visible as the threshold that was passed. If it's false, the target is no longer as visible as the given threshold.

However in reality and as stated by the w3c spec, isIntersecting merely indicates any intersection has occurred between the target and root elements regardless of the specified thresholds.
https://w3c.github.io/IntersectionObserver/#update-intersection-observations-algo

Let isIntersecting be true if targetRect and rootBounds intersect or are edge-adjacent, even if the intersection has zero area (because rootBounds or targetRect have zero area); otherwise, let isIntersecting be false.

Instead, the IntersectionRatio should be used to determine the visibility of the target element.

I'm unable to find the referenced text within the Intersection Observer docs - the page mentioned is https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API and I can't find it there or on any member pages.
Would someone be able to confirm the url of the page, or infact this issue has been resolved - thanks

Looks like that page got updated. It used to be part of the 'Thresholds' section.
Current version:

You can see if the target currently intersects the root by looking at the entry's  isIntersecting property; if its value is true, the target is at least partially intersecting the root element or document. This lets you determine whether the entry represents a transition from the elements intersecting to no longer intersecting or a transition from not intersecting to intersecting.

Brill thank you @choyg - I'll go ahead and close it 👍


Change min block size for speed 1 from 8x8 to 4x4

AWCY results showing the change from master at speed 1 coming soon

Coverage remained the same at 70.678% when pulling 1d93a9b6b8b719441168ab0c026afa4cc433536e on ycho:change_speed1_min_blk_size_to_4x4 into 2b20894dfda0cd5af6e00a40c142d9bd03a3afe9 on xiph:master.

I find the AWCY results very surprising. I wouldn't expect BD Rate decreases from enabling 4x4 under any ccircumstances.

I find the AWCY results very surprising. I wouldn't expect BD Rate decreases from enabling 4x4 under any circumstances.

Indeed, I've just seen that right before your message and was checking the bitstream locally and found that there is DCT tx only!

awcy at speed 1, psnr

PSNR
PSNR Cb
PSNR Cr
PSNR HVS
SSIM
MS SSIM
CIEDE 2000

-0.8631
0.8349
1.0557
-0.5717
-0.6378
-0.4993
-0.4373

As experiment to show that tx partitions of 4x4 (with min blk size = 8x8) lessens the effect of changing to min blk size 4x4, if tx size rdo is off, there is slightly more gain like 0.1%.
[awcy at speed 1, min blk size 8x8 -> 4x4, psnr, with tx size rdo off(https://beta.arewecompressedyet.com/?job=master-13222dd_off_tx_size_rdo_s1_psnr%402019-09-18T17%3A50%3A04.474Z&job=min_blk_size4x4_off_tx_size_rdo-s1%402019-09-18T17%3A46%3A39.593Z)

@tdaede, sorry- pressed the button by curiosity, and knew that it was for 're-request a review'!


ShapeInsights on Nominal Dimensions

Hello,
when I was trying to implement a new shape insight. When testing it, I noticed that this new Insight is often found on nominal data. From my understanding, shape insights shouldn't even be evaluated on nominal dimensions.
You can reproduce this behaviour in the car example by outcommenting all non-shape insighs and the temporal dimension.

Hi @Gregorsams.
Thank you for the feedback and your interest in this project!
You are correct. Since it is an early development state I made all checks on the level of the actual insight. The PointInsight, ShapeInsight, and CompoundInsight classes are currently empty shells. Later they should include these types of condition tests.
However, since this reduces the flexibility of the possible subclasses created, this must be carefully considered.
For now you can include
if extraction_result["sibling_group"] and \
    not extraction_result["sibling_group"].dividing_dimension.is_temporal:
    raise InsightError("YourInsight: dimension is not temporal")

in your YourInsight.calc_insight().
Same to check if the data is finite:
if not np.isfinite(data.values).all():
    raise InsightError("YourInsight: data not finite")

Thanks for your answer.
This snippets helps me to circumvent the problem.
A minor note on this: In my point of view, shape insights make also sense ordinal and cardinal data, not only on temporal dimensions.

You are welcome. May I ask what kind of insight you are trying to model?
Feel free to create a PR. Any contributions are welcome.
Of cause it could make sense to measure the dependency between two cardinal scales or a cardinal and an ordinal scale.
Trends are defined as continuous change over time. With the TrendInsight I recreated the implementation Microsoft introduced in QuickInsights. See https://www.microsoft.com/en-us/research/project/quickinsights/ -> Insight Types Specifications.
Thats why I made the check for the temporal scale on the TrendInsight level for more flexibility.
Be careful using the cardinal dimension. At the moment all data is converted to a discrete scale. Cardinal dimension data is grouped in (by default 10) bins. Same for the temporal scale as extended case of the cardinal scale.
One of the big open tasks is to create an in depth documentation describing these topics...


Support for Liberty Pool

Hello,
I'm the admin of Liberty Pool and I've just downloaded and tested your app. And I'm wondering if you would be able to get it to support our pool, at the moment I only see MoneroOcean and C3Pool, since we use the same codebase It is the same API interface. Our API is reachable in https://liberty-pool.com/api/
As soon our API is supported I would nicely recommend your app to our miners, since I think it is the best option to monitor the stats. I've tried using the button add pool but it seems unresponsive.

If you are using the same API endpoints as MO and C3, I see no reason why this should be a challenge. I'll set up a miner on your pool and test things to get it working with Liberty.
We would love to add support for as many Monero Pools as possible and greatly appreciate you reaching out to us for support.
Do you have an API reference such as a api.js file I can use as a guide or the like?
Also, yeah, the "Add Pool" menu option is null code atm.

Here you will find all the API endpoints

Support has been added and tested to work successfully.
See commit https://github.com/protomens/Monerado/commit/a1fcca12c6755f0050cd48e3ff08a1a768ed5ed1 https://github.com/protomens/Monerado/commit/d44f799a673a4ca6b558b4f0c4281a9d13a2ebea

Release Here: https://github.com/protomens/Monerado/releases/tag/v1.0.1
I'll add it to Google Play within a week or so. I just recently updated Google Play, so I need to let some time pass before making a new release.

Do you have any .svg logo of your app without the background circle? or .png?

Do you have any .svg logo of your app without the background circle? or .png?

Here you go: https://symplectic.cc/nextcloud/index.php/s/eJq2mgYrL56XnzQ
There is an option to download it in the upper right.

I plum forgot. I'm building the google play apk as we speak and I'll upload it to google. It'll take 24hrs or so to go live. I'll let you know when I get that notification.


feat(accessibility): enable storybook accessibility

Summary
Type

Enhancement

Summarise concisely:
What is expected?
To be able to see accessibility review of each components.
The following changes where made:

Enabled canvas view with accessibility only

Disabled all other features for the moment (background color, responsive, grid, etc.).

Would it be possible to only enable it in dev ?

@chambo-e I added production and development environment using storybook env variables, you can check on it if config seems fine to you


chore(android): upgrade dependencies / media3 1.4.1 / androidxCore to 1.13.1 / androidxActivity 1.8.2

Summary
Updated media3, core, and activity dependencies for AndroidX.
Motivation
Fix potential issues related to version compatibility.
Changes
Test plan
Test the sample app and build it in release mode.

I approuve, but I am afraid of compatibility with old react native versions. let see

I will test it with old version of react native.

I will test it with old version of react native.

The tvos sample uses old rn version! :)

@freeboub
I created a new app with version 0.69.0 and ran the app with these changes. Everything works correctly, and I also built the app in release mode.

@freeboub
I created a new app with version 0.69.0 and ran the app with these changes. Everything works correctly, and I also built the app in release mode.

Ok, thank you for the tests, let's go with this !


Could not initialize wallet: password did not pass validation (prysm-only)

I am trying to follow the prysm-only to create the node.
I am getting this error:
[root@master-0 ethereum2-docker-compose]# docker-compose -f create-account.yaml run validator-import-launchpad

Prysmatic Labs Terms of Use

By downloading, accessing or using the Prysm implementation (“Prysm”), you (referenced herein
as “you” or the “user”) certify that you have read and agreed to the terms and conditions below.

TERMS AND CONDITIONS: https://github.com/prysmaticlabs/prysm/blob/master/TERMS_OF_SERVICE.md

Type "accept" to accept this terms and conditions [accept/decline]: (default: decline):
accept
[2020-11-20 11:34:56]  WARN flags: Running on ETH2 Mainnet
[2020-11-20 11:34:56] FATAL accounts: Could not import accounts: could not initialize wallet: password did not pass validation: password must have at least 8 characters, at least 1 alphabetical character, 1 unicode symbol, and 1 number

I think that I followed the instructions correctly. I have the the wallet password file here:
[root@master-0 ethereum2-docker-compose]# ll data/prysm/validator/wallets/
total 4
-rw-r--r--. 1 root root 15 Nov 20 12:12 wallet-password
[root@master-0 ethereum2-docker-compose]# ll data/prysm/validator/passwords/
total 4
-rw-r--r--. 1 root root 15 Nov 20 12:34 wallet-password

(both are the same, and both are the same as was used during launchpad)
I already finished the launchpad process, so I paid my 32 GETH. Any suggestions?

I added a '@' in the wallet-password file, and now it works
This means my validator password and wallet password are not the same, but it seems to work nevertheless


Autoresize not working on Chrome but works on other browsers

Hi, I saw several other issues about this, but anyone of them helped me solve this issue.
The thing is that this feature worked in the past and recently I was reported that it stopped working on Chrome.
This is a link to the public website where the iframe is shown: http://www.cyzone.com/pe/maquillador-virtual
The code calling on that public site (from version 0.1.0 from 2013) is:
$(window).load(function(){
	$('#contentManicure').iFrameSizer({
		log: true,
		contentWindowBodyMargin:8,
		doHeight:true,
		doWidth:false,
		interval:250
	});
});

And the iframe origin has the iframeResizer.contentWindow.min.js script in version 2.8.9
I tried to work with both 2.8.9 but still, and also with latest version (not latest version of contentWIndows as I don't have access right now to that part) with this:
$(window).load(function(){
	$('#contentManicure').iFrameResize({
		log: true,
		interval:250,
		autoResize: true
	});
});

Also tried every heightCalculationMethod but nothing.
Any idea what could be happening?
Best regards

Hmm, seems like the latest Chrome version has a bug in it. Have you compared the log output of Chrome and Firefox?

Firefox doesn't show the error Chrome shows. I tested the same website with a 44 Chrome version and it works OK.
The error thrown by Chrome now is:

Uncaught SecurityError: Blocked a frame with origin "http://www.cyzone.com" from accessing a frame with origin "http://makeovr.com". Protocols, domains, and ports must match.

Does that error show in Chrome 44, you shoul be able to ignore it. Do you see log messages after it?
Chrome 50 seems to have a few bugs in it. I had recreate my user profile after the upgrade.

Can you please make a simple test of the parent page with the latest version.

That error doesn't show on Chrome 44 where it works. Just in the latest Chrome

I had recreate my user profile after the upgrade
What do you mean here?

Can you please make a simple test of the parent page with the latest version.
Sorry, I didn't understand. What do you want me to do?

Can you make a simple page that just has the iFrame on it.

Hi
I made a clean iframe for you here: http://cyzone.com/prueba-iframe.html

Ok thanks, does it still have the issue, I'm away sailing for the next week with just my iPad.

Not sure if this is related, but there's someone reporting a problem with postMessage in chrome 50 https://groups.google.com/a/chromium.org/forum/#!searchin/chromium-discuss/postMessage/chromium-discuss/RhgzRx7Dlu0/AtETniGqAgAJ

You page isn't using iFrame-Resizer! This is what is doing the resize and then falling over.
<script>
            function getDocHeight(doc) {
            doc = doc || document;
            var body = doc.body, html = doc.documentElement;
            var height = Math.max( body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight );
            return height;
            }
            function setIframeHeight(myiframeid) {
            var ifrm = document.getElementById(myiframeid);
            var doc = ifrm.contentDocument? ifrm.contentDocument: ifrm.contentWindow.document;
            ifrm.style.visibility = 'hidden';
            ifrm.style.height = "10px";
            ifrm.style.height = getDocHeight( doc ) + 5+"px";
            ifrm.style.visibility = 'visible';
            }
            </script>
            <script>(function(run){
            for (i=0;i<frames.length; i++) {
            var f1 = document.getElementsByTagName('contentManicure')[i];
            if(!f1 && window.addEventListener && !run){
            document.addEventListener('DOMContentLoaded', arguments.callee, false);
            return;
            }
            if(!f1){setTimeout(arguments.callee, 300); return;}
            f2 = f1.cloneNode(false);
            f1.src = 'about: blank';
            f2.frameBorder = '0';
            f2.allowTransparency = 'yes';
            f2.scrolling = 'no';
            f1.parentNode.replaceChild(f2, f1);
            }
            })();
</script>


About Line Notify (Notification)

plese help me T__T
I got Promblem i want to know how to Post data with Fuel (kotlin) to match Line Notify Request
https://notify-bot.line.me/doc/en/
POST : https://notify-api.line.me/api/notify

I think you should try to take a look at how Fuel does post request. https://github.com/kittinunf/Fuel#post


App crashes

Dev Home version
<IP_ADDRESS>
Windows build number
10.0.22621.1702
Other software
OS Build Version: 10.0.22621.1702.amd64fre.ni_release.220506-1250
.NET Version: .NET 6.0.16
Steps to reproduce the bug
Go to dashboard, add two or three new widget one after another and the app will crash.
Expected result
App should remain stable while adding a new widget.
Actual result
App crashes while adding dashboard widgets.
Included System Information
CPU: Intel(R) Core(TM) i5-9600K CPU @ 3.70GHz
Physical Memory: 31.94GB (22.1GB free)
Processor Architecture: x64
Included Extensions Information
Extensions:
Microsoft.Windows.DevHome_<IP_ADDRESS>_x64__8wekyb3d8bbwe
Microsoft.Windows.DevHomeGitHubExtension_<IP_ADDRESS>_x64__8wekyb3d8bbwe

@ashraf-kabir Would you be able to share your log files under C:\Users<you>\AppData\Local\Packages\Microsoft.Windows.DevHome_8wekyb3d8bbwe\TempState? You can share via a OneDrive link or open a Feedback Hub issue and attach a zip file there.

I have the same issue - the UI crashes. The process still seems to be there in the background - had to stop it to zip the files in TempState.
TempState.zip

/dup #745


Failure when adding or removing cold or frozen tiers

Readiness Checklist

[x] I am running the latest version
[x] I checked the documentation and found no answer
[x] I checked to make sure that this issue has not already been filed - possibly related to https://github.com/elastic/terraform-provider-ec/issues/336 and https://github.com/elastic/terraform-provider-ec/issues/343, @Kushmaro asked to file an issue
[x] I am reporting the issue to the correct repository (for multi-repository projects)

Expected Behavior
Add a cold or frozen tier to an existing deployment. Or removing from an existing one.
Current Behavior
We get the error:
│ Error: failed updating deployment: 3 errors occurred:
│       * api error: clusters.cluster_invalid_plan: Instance configuration [gcp.es.datacold.n2.68x10x190] does not allow usage of node types [master,ingest]. You must either change instance configuration or use only allowed node types [data]. (resources.elasticsearch[0].cluster_topology[2].instance_configuration_id)
│       * api error: deployments.elasticsearch.node_roles_error: Invalid node_roles configuration: The node_roles in the plan contains values not present in the template. [id = cold] (resources.elasticsearch[0])
│       * api error: deployments.elasticsearch.node_roles_error: Invalid node_roles configuration: The node_roles in the plan contains values not present in the template. [id = hot_content] (resources.elasticsearch[0])
│
│
│
│   with ec_deployment.multi_tier,
│   on deployment.tf line 17, in resource "ec_deployment" "multi_tier":
│   17: resource "ec_deployment" "multi_tier" {

Even if using alphabetical order when defining the resources.
Steps to Reproduce

Create a simple deployment using terraform with terraform apply -auto-approve (it requires previously setting the EC Ap key with  EC_API_KEY="<ESS_API_KEY>" and terraform init.

terraform {
  required_version = ">= 0.12.29"

  required_providers {
    ec = {
      source  = "elastic/ec"
      version = "0.4.0"
    }
  }
}

provider "ec" {}

# Create an Elastic Cloud deployment
resource "ec_deployment" "multi_tier" {
  name = "multi_tier"

  region                 = "gcp-europe-west3"
  version                = "7.17.1"
  deployment_template_id = "gcp-storage-optimized"

  elasticsearch {
    autoscale = "false"

    topology {
      id         = "hot_content"
      size       = "1g"
      zone_count = 1
    }
   topology {
      id         = "warm"
      zone_count = 1
      size       = "2g"
    }
  }

  kibana {
    topology {
      size               = "1g"
      zone_count         = 1
    }
  }
}

We have a correct terraform.state

                    "id": "hot_content",
                    "instance_configuration_id": "gcp.es.datahot.n2.68x10x45",
                    "node_roles": [
                      "data_content",
                      "data_hot",
                      "ingest",
                      "master",
                      "remote_cluster_client",
                      "transform"
                    ]
                ....

                    "id": "warm",
                    "instance_configuration_id": "gcp.es.datawarm.n2.68x10x190",
                    "node_roles": [
                      "data_warm",
                      "remote_cluster_client"
                    ]

Change the resources above to add a cold tier and apply again terraform apply -auto-approve

elasticsearch {
    autoscale = "false"

    topology {
      id         = "cold"
      size       = "4g"
      zone_count = 1
    }
   topology {
      id         = "hot_content"
      size       = "1g"
      zone_count = 1
    }
   topology {
      id         = "warm"
      zone_count = 1
      size       = "2g"
    }
  }

We'll get:

│ Error: failed updating deployment: 3 errors occurred:
│       * api error: clusters.cluster_invalid_plan: Instance configuration [gcp.es.datacold.n2.68x10x190] does not allow usage of node types [master,ingest]. You must either change instance configuration or use only allowed node types [data]. (resources.elasticsearch[0].cluster_topology[2].instance_configuration_id)
│       * api error: deployments.elasticsearch.node_roles_error: Invalid node_roles configuration: The node_roles in the plan contains values not present in the template. [id = cold] (resources.elasticsearch[0])
│       * api error: deployments.elasticsearch.node_roles_error: Invalid node_roles configuration: The node_roles in the plan contains values not present in the template. [id = hot_content] (resources.elasticsearch[0])
│
│
│
│   with ec_deployment.multi_tier,
│   on deployment.tf line 17, in resource "ec_deployment" "multi_tier":
│   17: resource "ec_deployment" "multi_tier" {

And in the terrafom.state we can see that it has mixed, the cold id has hot attributes (instance configuration, node roles not allowed incold like ingest or master). The hot_content has warm attributes. And the warm has emptry attributes.

                    "id": "cold",
                    "instance_configuration_id": "gcp.es.datahot.n2.68x10x45",
                    "node_roles": [
                      "data_content",
                      "data_hot",
                      "ingest",
                      "master",
                      "remote_cluster_client",
                      "transform"
                    ],

...

                    "id": "hot_content",
                    "instance_configuration_id": "gcp.es.datawarm.n2.68x10x190",
                    "node_roles": [
                      "data_warm",
                      "remote_cluster_client"
                    ],
                    "id": "warm",
                    "instance_configuration_id": "",

Context
Trying to add a cold tier to a deployment that already has a hot and warm. Several combinations lead to this same error.
Possible Solution
We have found no solution/workaround so far. Once this is hit, we have to use the cloud UI to add or remove tiers, and then terraform apply -refresh-only.
Your Environment

Version used: Terraform v1.1.7 on darwin_amd64 + provider registry.terraform.io/elastic/ec v0.4.0
Running against Elastic Cloud SaaS or Elastic Cloud Enterprise and version: ESS, stack version 7.17.1
Operating System and version: macOS Monterey 12.3.1

Hi guys, any updates on this issue?
It feels I'm being stuck with the same bug issue

@Kushmaro @jaggederest any ideas when and how it can be fixed?
It looks like a critical issue for me as it prevents using elastic major features.
Also, @immavalls, have you maybe found any solutions or workaround for this issue since the ticket was opened in April and there is no updates since?

@Kushmaro Thank you for the comment.
Can you maybe also confirm that issue affects only 'cold' and 'frozen' topologies usage?

I can't @AndriiLavrekha , this needs further investigation to confirm or deny it affects only a single type of tier.

I think this is due to https://github.com/elastic/terraform-provider-ec/issues/336.
Even if you specify the blocks in alphabetical order things don't always work.
In my case the order changes after running terraform refresh. I'm trying to find out where this happens, but had no luck so far.

The defect indeed is caused by the same logic and limitations that cause #336.
The possible workaround:
If autoscale disabled
Initial deployment creation
Topology elements (tiers) with non-zero sizes have to be listed in alphabetical order of their id fields.
Update - new tier adding

add new tier in the end of the tolology list (that is already sorted by alphabetical order)
run terraform apply
reorder the topology list in alphabetical order
check that there are no pending changes by terraform plan - it should output empty diff

Update - removing existing tier

set the tier's size to 0
run terraform apply
remove tier from the topology list
check that there are no pending changes - terraform plan should output empty diff

If autoscale enabled
The idea is the same but applies to all tiers that either have non-zero sizes or can be resized by auto scaling (it happens when a corresponding deployment template specifies non-zero autoscaling_max for the tier) - all these tiers should be listed in alphabetical order of their id fields, even if their blocks don't specify other fields beside id.
However, if the tier's size is zero and a corresponding deployment template doesn't specify autoscaling_max for the tier or its value is zero, the tier should be omitted from the topology list.
Also, make sure to ignore size attributes if you'd like to specify initial size - it can be changed later on by the autoscaler e.g.:
  lifecycle {
    ignore_changes = [
      elasticsearch[0].topology[2].size,
      elasticsearch[0].topology[4].size
    ]
  }

Closed by https://github.com/elastic/terraform-provider-ec/pull/567


Update .golangci.yml

It seems you are working with a configuration file for a linting or code quality tool (e.g., golangci-lint or a similar tool)

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Version 2.53.0 - It is removing the permissions granted by other resources to StateMachines

Since I have updated the dependencies in my project to v2.53.0 I am having issues when I use grant permissions.
Reproduction Steps
const definition = new sfnTasks.CallAwsService(this, 'Copy S3 object', {
  service: 's3',
  action: 'copyObject',
  iamResources: [
    this.sourceBucket.bucketArn,
    this.destinationBucket.bucketArn,
  ],
  parameters: {
    CopySource: sfn.JsonPath.format(
      '{}/{}',
      sfn.JsonPath.stringAt('$.sourceBucketName'),
      sfn.JsonPath.stringAt('$.sourceObjectKey')
    ),
    Bucket: this.destinationBucket.bucketName,
    Key: sfn.JsonPath.format(
      '{}/{}',
      sfn.JsonPath.stringAt('$.destinationFolder'),
      sfn.JsonPath.stringAt('$.sourceObjectKey')
    ),
  },
  resultPath: sfn.JsonPath.DISCARD,
});

const { stateMachine } = new S3ToStepfunctions(this, 'MockedMediaPipeline', {
  deployCloudTrail: false,
  createCloudWatchAlarms: false,
  stateMachineProps: {
    definition,
  },
  existingBucketObj: this.sourceBucket,
});

this.sourceBucket.grantRead(stateMachine);
this.destinationBucket.grantWrite(stateMachine);

Error Log
These are the differences, now my deployment is missing the policies on the right hand size of the screenshot

Environment

CDK CLI Version      : v2.128.0
CDK Framework Version: v2.128.0
AWS Solutions Constructs Version     : v2.53.0
OS                   : MacOS
Language             : Typescript

Other

This is :bug: Bug Report

We'll take a look. Can you tell me more about sourceBucket and originBucket? Are they created in this stack or imported?

Differences

Does the sample app perform correctly for Solutions Constructs 2.52.0? When I launch it, it doesn't appear to work. The eventBridgeEnabled property is not set on the source bucket, so the S3 events are not being sent to EventBridge which would prevent EventBridge from kicking off the state machine.

When I change the source bucket instantiation to this, the state machine executes:
    const sourceBucket = new s3.Bucket(this, 'SourceBucket', {
        eventBridgeEnabled: true
      });

(this is independent of the altered IAM policy, it's just something I found while digging deeply into the issue).

(sorry, shouldn't have closed - clicked the wrong button)

2.54.0 should fix the issue with the State Machine policy not accepting/retaining the bucket permissions.

When I change the source bucket instantiation to this, the state machine executes:
    const sourceBucket = new s3.Bucket(this, 'SourceBucket', {
        eventBridgeEnabled: true
      });

(this is independent of the altered IAM policy, it's just something I found while digging deeply into the issue).

I haven't been looking at this, sorry for the late response.
The point of this issue is IAM policies, not the entire thing working. I could have used any X to StepFunction construct, the point was the missing IAM Policies for the StepFunction instance to invoke other services.

2.54.0 should fix the issue with the State Machine policy not accepting/retaining the bucket permissions.

I'll take a look, thanks 😄


Attempt to fix broken absolute path imports (issue #1026)

Removing these lines resolves #1026 and tests pass but I'm not sure what implications there might be. Shall we give this a go? /cc @pedronasser
Will merge by default if no concerns in a day or two.

Hi @mholt , I just look through this part of code, I think it is used to handle the recursive import case which is useful. For issue #1026, I think the culprit is this line We should't join the path while the import file path is already absoluted.
So please hold on, I will give a pr later.


convert_model.py fails to convert model based on resent_50

protoc --version = libprotoc 3.3.0
Traceback (most recent call last):
File "/scratch/nihao/repo/mxnet-0.9.5/tools/caffe_converter/convert_model.py", line 177, in
main()
File "/scratch/nihao/repo/mxnet-0.9.5/tools/caffe_converter/convert_model.py", line 173, in main
convert_model(args.prototxt, args.caffemodel, args.save_model_name)
File "/scratch/nihao/repo/mxnet-0.9.5/tools/caffe_converter/convert_model.py", line 131, in convert_model
rescale_factor = 1 / rescale_factor
TypeError: unsupported operand type(s) for /: 'int' and 'google.protobuf.pyext._message.RepeatedScalarContainer'

The same problem here.

protoc --version = libprotoc 2.6.1

I believe that this is solved now (#6489)

This issue is closed due to lack of activity in the last 90 days. Feel free to ping me to reopen if this is still an active issue. Thanks!


OpenSSL 1.1.0 g compilation issue for ARM in VS2017

I am trying to compile OpenSSL 1.1.0g in windows using VS2017. Provided following to perl commands
perl Configure VC-WIN64A --prefix=C:\tools\openssl no-shared no-dso no-engine no-asm
The above command errors out saying following:
#error:  Compiling Desktop applications for the ARM platform is not supported.
After googling about this topic I provided following command  to perl
perl Configure VC-WIN32 --prefix=C:\tools\openssl no-shared no-dso no-engine no-asm  -D_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE
It compiles successfully, but while linking the lib with target application I get following error:
module machine type 'x64' conflicts with target machine type 'ARM64'
What is the correct perl command to compile Openssl in windows for ARM using VS2017
An early response is appreciated.
Thanks
Ghanashyam

What is the correct perl command to compile Openssl in windows for ARM using VS2017

There is none. Windows on ARM is not supported by 1.1.0. Support is being added to 1.1.1, so just use master branch or download pre-release tar-ball.

Oh! I failed to mention that Configurations/50-win-onecore.conf has some ARM-specific notes.

Still same issue I am facing. I used following command:
perl Configure VC-WIN64-ARM --prefix=C:\fold\tools\openssl no-shared no-dso no-engine no-asm -D_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE
OpenSSL compiled successfully. But while linking the lib with target application I get following error:
module machine type 'x64' conflicts with target machine type 'ARM64'

Well, what can I say? VC-WIN64-ARM works for me in sense that nmake succeeds and there 175 ARM64 .exe-s according to dumpbin /headers. The rest is really up to you to figure out.

Running dumpbin /headers on the generated openssl exe/lib I see following:
FILE HEADER VALUES
1C4 machine (ARM)
However if I compile any source in VS 2017 IDE targeting ARM64 I see following if I run through dumpbin /headers
FILE HEADER VALUES
AA64 machine (ARM64)
Any idea why the openssl binary/libs coming as  1C4 machine (ARM) ?

It seems to be a bug in Openssl for ARM compilation. Though target is defined as below in  Configurations/50-win-onecore.conf for VC-WIN64-ARM , it compiles to target: 1C4 machine (ARM)
"VC-WIN64-ARM" => {
inherit_from    => [ "VC-noCE-common" ],
defines         => add("_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE",
"OPENSSL_SYS_WIN_CORE"),
bn_ops          => "SIXTY_FOUR_BIT RC4_CHAR EXPORT_VAR_AS_FN",
lflags          => add("/NODEFAULTLIB:kernel32.lib"),
ex_libs         => "onecore.lib",
multilib        => "-arm64",
},

It seems ARM64 through cmdline is not getting effected in VS2017.  It errors out as below if amd64_arm64 is provided as command param to vcvarsall.bat.
amd64_arm is getting effected where target binary is ARM. So how did u generate ARM64 binary for OpenSSL in windows?
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC>vcvarsall.bat amd64_arm64
Error in script usage. The correct usage is:
vcvarsall.bat [option]
or
vcvarsall.bat [option] store
or
vcvarsall.bat [option] [version number]
or
vcvarsall.bat [option] store [version number]
where [option] is: x86 | amd64 | arm | x86_amd64 | x86_arm | amd64_x86 | amd64_arm
where [version number] is either the full Windows 10 SDK version number or "8.1" to use the windows 8.1 SDK
:
The store parameter sets environment variables to support
store (rather than desktop) development.
:
For example:
vcvarsall.bat x86_amd64
vcvarsall.bat x86_arm store
vcvarsall.bat x86_amd64 10.0.10240.0
vcvarsall.bat x86_arm store 10.0.10240.0
vcvarsall.bat x64 8.1
vcvarsall.bat x64 store 8.1
:
Please make sure either Visual Studio or C++ Build SKU is installed.

I have vcvarsamd64_arm64.bat and I just execute it [without ever looking what's inside]. After which cl represents itself as Microsoft (R) C/C++ Optimizing Compiler Version 19.14.26433 for ARM64.

Yeah it seems vcvarsamd64_arm64.bat is located under C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build, which i need to use to make ARM64 build.

Yes I could generate ARM64 build for OpenSSL 1.1.1 using C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvarsamd64_arm64.bat. And my application also compiles and links fine using the generated ARM64 lib of OpenSSL.
Thanks

всем привет.
делаюю файл сборки
perl Configure VC-WIN64A no-shared no-asm
создает пустой файл makefile.new
запускаю команду nmake получаю ошибку
NMAKE : fatal error U1064: MAKEFILE не найден и конечный файл не задан
Stop.


PROPOSAL: CORS

The Issue

The existing CORS procedure is a bit fiddly (requiring a user to manually register an upstream middleware, and a downstream corsify response-modifier).

The existing CORS procedure has a race-condition.  In order to mirror the origin in the allow-origin response (a good practice, and strictly required in some scenarios), we share a scoped global.  This can be polluted if many requests come in at once.

The Proposal
I'm proposing a potential rewrite of the process.  It should follow the following principles:

[ ] match as much of the existing spec/API as possible
[x] be able to mirror origins
[x] be able to NOT mirror origins (new)
[x] handle cookies (appears to be a problem mentioned in issues)
[x] NOT have a race condition

// BEFORE ===================================
import { router, createCors, text, error } from 'itty-router'

const router = Router()
const { preflight, corsify } = createCors()

router
  .all('*', preflight)
  .get('/', () => text('Hey!'))

export default {
  fetch: (request) => router
                        .fetch(request)
                        .catch(error)
                        .then(corsify)
}

// AFTER ====================================
???

I do understand the origin mirroring but why do we need globally allowOrigin?
We can just execute in per-request basis, hence, no race-condition.

We can just execute in per-request basis, hence, no race-condition.

Like this.
import { router, createCors, text, error } from 'itty-router'

const router = Router()
router
  .get('/', () => text('Hey!'))

export default {
  fetch: (request) => {
   const { preflight, corsify } = createCors()
	preflight(request)
    return router
        .fetch(request)
        .catch(error)
        .then(corsify)
  }
}

Executing on a per-request basis absolutely does solve the race condition (which exists for origin-mirroring in a scenario where corsify does not have access to the original request).
That said:

it's a bit less performant (less of an issue than the race-condition in the first place ofc)
it's a bit verbose (this is my bigger issue with it)

I'm about to start work on a revamp with the following plans:

corsify will default to not mirror domains - everyone has expressed this is not the expected default behavior anyway, and is really mostly there to serve an edge case (cross-domain cookies, and the high-security crowd).  This will allow us to only use the shared var (as a backup) in the case of mirroring, and only when the request was not provided to corsify... which leads me to:
corsify will be modified to accept (response, request).  This will allow us to either use it as a drop-in finally stage handler, or more easily handle the mirror edge-case without having to execute createCors on a per-request basis (which is a bit heavy).

Example with Upcoming v4.3 Router/AutoRouter stages
import { AutoRouter, createCors } from 'itty-router'

const { preflight, corsify } = createCors()

const router = AutoRouter({
  before: [preflight],
  finally: [corsify],
}).get('/', () => 'test')

export default router

Example without stages (using v4.3 IttyRouter)
import { Router, createCors, json, error } from 'itty-router'

const { preflight, corsify } = createCors()

const router = IttyRouter()
  .all('*', preflight)
  .get('/', () => 'test')

export default {
  fetch: (request, ...args) => router
    .fetch(request, ...args)
    .then(json)
    .catch(error)
    .then(response => corsify(response, request))
}

This is being closed as we believed it warranted a complete rewrite #226, and is thus forcing us to bump to a major release under v5.x.


Release tag?

@puikinsh: could you please make a release tag. So, I can request to add it in WebJars
Thanks,
Anand

@anand-singh
Thank you for pointing that out. I have now added release tag and for more info you can head to https://github.com/puikinsh/gentelella/releases

Here is the new WebJar: https://github.com/webjars/gentelella
This will be released shortly.
Thanks,
Anand

Awesome! Thank you!


Improve infinite scroll functionality

It resolves issues with transaction data not being fetch for a filter even when filter should have transaction.
It also resolves issues with dropdown not showing up due to changes introduced in this commit https://github.com/crypto-power/cryptopower/commit/63514a3decef5c940376bfd69ef105bbd4d86ded#diff-4a73650fb46ca5164bb0be75cb4d0dc715b0b4f8b9b3966c4df1ba043c55fa7bR162

if i time my scrolling well enough that the scroll bar start at the top on the next page, i'm unable to return to the previous page

i still have issues with the scrollbar
plus i think it's bad UX for the loader to show each time you are scrolling into a new item
Screencast from 2023-10-04 11.18.34.webm

on linux, the dropdown selector keeps increasing in width, until it takes full width

There is a follow up PR so this can be closed


refactor(theme-classic): move some logic of CodeBlock to theme-common

Motivation
To make the diff in #5783 less confusing. Moved all highlight-related code to theme-common.
Not sure if we should be less opinionated and pass the directives as params instead of hard-coded? Is there a customization need here?
Have you read the Contributing Guidelines on pull requests?
Yes
Test Plan
Preview; rendered result still the same.

Thanks 👍

Not sure if we should be less opinionated and pass the directives as params instead of hard-coded? Is there a customization need here?

We'll figure out if anyone complains and present a usecase ;)


Update documentation

Remove instructions for the old generator
Add documentation for the new generator
Add documentation for LibClang
Add instructions on common usages

The CI failure on macOS seems to be irrelevant to the changes in this PR.


Skip package

@jspricke this approach seems quite similar to the one described in https://github.com/jspricke/ros-deb-builder-action/issues/19#issuecomment-1461754224 , did the the one you wrote about (https://github.com/jspricke/ros-deb-builder-action/issues/19#issuecomment-1461703266 adding an extra file) not work?

@jspricke this approach seems quite similar to the one described in #19 (comment) , did the the one you wrote about (#19 (comment) adding an extra file) not work?

The extra file works as well, the question was always what is the better user facing interface.


Dropbox URL formats as shorthands/favorites passed as --link-* argument

Goal

Define certain Dropbox base URL formats (shorthands/favorites which include a certain form of: subdomain, domain, path, arguments) reflecting the officially supported Dropbox URL patterns which one can pass as script arguments.
That way one could create different keyboard shortcuts which point to different Automator scripts which call get_dropbox_link with different arguments.
Argument syntax would be --link-<shorthand> or --link=<shorthand>.
Then on top of that you can still modify the --query with optional #3.

Dropbox /s/ link formats
--link-preview
https://www.dropbox.com/s/<identifier>/filename.png
--link-download-argument
https://www.dropbox.com/s/<identifier>/filename.png?&dl=1
--link-download-subdomain
https://dl.dropbox.com/s/<identifier>/filename.png
--link-raw-redirect
https://www.dropbox.com/s/<identifier>/filename.png?&raw=1

HTTP 302

--link-raw-direct
https://dl.dropboxusercontent.com/s/<identifier>/filename.png>

HTTP 200

Dropbox /scl/ link formats
--link-scl-preview
https://www.dropbox.com/scl/fi/<identifier>/filename.png?rlkey=<content-key>&dl=0
--link-scl-download
https://www.dropbox.com/scl/fi/<identifier>/filename.png?rlkey=<content-key>&dl=1

Safari: Fails sometimes, cause yet unknown: Either too many redirects or browser caching issue.
wget <url> → Creates ugly filename (the last URL part as is).
wget -content-dispositon <url> → Creates intended filename (passed via HTTP Content-Disposition header)

--link-scl-raw-redirect
https://www.dropbox.com/scl/fi/<identifier>/filename.png?rlkey=<content-key>&raw=1

HTTP 302

--link-scl-raw-direct
https://dl.dropboxusercontent.com/scl/fi/<identifier>/filename.png?rlkey=<content-key>

HTTP 200

Totally agree it is premature to care about /scl/ links - Let's consider that only should they "re-surface again".
The proposal is not only about link aesthetics, but in one case also a real functional difference:

The HTTP 200 type links are not achievable via www.dropbox.com + arguments.
But only via dl.dropboxusercontent.com
And some forums restrict links and or embedding if that link redirects.
So maybe do you re-consider those formats?


box vector initialization for non-periodic systems

I am trying to simulate a system in implicit solvent.
When initializing the variables to be saved in the netCDF file, a variable
with shape (1,3,3) is created even for non-periodic systems.
The error is:
File "netCDF4/_netCDF4.pyx", line 4358, in netCDF4._netCDF4.Variable.__setitem__
ValueError: cannot reshape array of size 0 into shape (1,3,3)

The following script reproduces the issue.
The PDB is here: https://gist.github.com/ajsilveira/3c7b9171383de68e966d958a557fb215
import openpathsampling
import openpathsampling.engines.openmm as omm

template = omm.snapshot_from_pdb('porin-ligand.pdb', periodic=False)
storage = openpathsampling.Storage("myfile.nc", "w")
storage.snapshots.save(template)

Could you double-check the script you provide? I get that periodic is not a valid keyword for snapshot_from_pdb, which matches what I see in the code, and there are no recent changes to that function.
Are you perhaps actually using the periodic keyword for a snapshot_from_testsystem? As I recall, @jchodera has previously mocked a testsystem with a namedtuple (in code for the host-guest system, IIRC -- I'm hoping he can point you to it more easily that I can try to dig it up). That would provide a model that should create a minimal example.
I suspect that the underlying problem is an issue with how netcdfplus handles things when the box vector is None. @jhprinz, could you look into this? That's your code.

Yes. You are right. I had modified the code to include that option (periodic), because I was getting this error:
  File "/home/silveira/miniconda3/envs/myenv/lib/python3.6/site-packages/openpathsampling-0.9.6-py3.6.egg/openpathsampling/engines/openmm/tools.py", line 108, in snapshot_from_pdb
    box_vectors=u.Quantity(pdb.unitcell_vectors[0], u.nanometers)
TypeError: 'NoneType' object is not subscriptable

The snapshot_from_pdb code creates snapshots using a separate code base from everything else (the main code to build snapshots from MDTraj trajectories is and should be trajectory_from_mdtraj. I'll fix it so that it is based on that code. The entire function will probably just be to return ops_load_trajectory(pdb_file)[0], so you can just use ops_load_trajectory instead.
However, that still gives the reshaping error. To explain that error: if a system is non-periodic, OPS sets its box vectors to None. Somewhere in netcdfplus, which is @jhprinz's extension to netcdf, the box vectors are still expected to be a 3x3 matrix -- actually, a list of 1 3x3 matrix, i.e., shape (1, 3, 3). It looks like netcdf sees None as an empty numpy array, i.e., size 0, and tries to reshape it to the expected dimensionality.
Two variants of minimal example (one with the PDB in your gist; one with an OpenMMTools testsystem):
import openpathsampling as paths
from openpathsampling.engines.openmm.tools import ops_load_trajectory
template = ops_load_trajectory('porin-ligand.pdb')[0]
storage = paths.Storage("myfile.nc", "w")
storage.save(template)

import openpathsampling as paths
import openmmtools
testsystem = openmmtools.testsystems.AlanineDipeptideVacuum()
snap = paths.engines.openmm.snapshot_from_testsystem(testsystem, periodic=False)
storage = paths.Storage("test.nc", 'w')
storage.save(snap)

Both give errors ending with:
~/Dropbox/pysrc/openpathsampling/openpathsampling/engines/features/shared.py in _save(self, configuration, idx)
    133         # Store configuration.
    134         self.vars['coordinates'][idx] = configuration.coordinates
--> 135         self.vars['box_vectors'][idx] = configuration.box_vectors
    136
    137     def get(self, indices):

~/Dropbox/pysrc/openpathsampling/openpathsampling/netcdfplus/netcdfplus.py in __setitem__(self, key, value)
    106
    107         def __setitem__(self, key, value):
--> 108             self.variable[key] = self.setter(value)
    109
    110         def __getitem__(self, key):

netCDF4/_netCDF4.pyx in netCDF4._netCDF4.Variable.__setitem__()

ValueError: cannot reshape array of size 0 into shape (1,3,3)

I'm assigning this to @jhprinz, since this is a problem in netcdfplus and/or snapshot features, both of which were his contributions. However, he hasn't been active in development lately, so I may have to try to figure this out myself.

I think the problem is that the variable box_vector is initiated in shared.py if a .nc file is created regardless of the system.
Would it be a good idea to remove box_vector from shared.py and include is_periodic as a feature.statics? This way
box_vectors would be a netcdf variable only if is_peridic = True.

@ajsilveira : What you suggest would probably work, but I'm not entirely sure whether how it would affect backward compatibility. That would require input from @jhprinz.
I'm working on a major rewrite of storage, which includes late registration of snapshots with the backend, which should solve this problem (in that case, it will only determine the dimensions of a snapshot when it is about to store the first one, so it won't try to create a 3x3 matrix from None). As a fix for now, I'm trying out the idea of converting None box vectors to all zeros (which obviously aren't valid) when they go into the storage. It increases file size a little, but only by 9 floats per snapshot. This is in #835; please try that out and let me know if it fixes the problem for you, or if any other changes are needed!

@dwhswenson I think that worked!: I haven't analyzed the results yet, but it completed 200 MC cycles. I had to modify the engine module, as well. This is in https://github.com/dwhswenson/openpathsampling/pull/16 .


Feature: convert raw-record into replay-data-structure

Currently convert_webm tool only output into local webm file, instead of that we should output some files which allowed client replay:

mapping file: json file for summary the timeline of room: peer, session and track start stop time
each track is stored in separated file: webm(opus + vp8, vp9, av1), mp4 (h264, h265...)
upload direct to s3 instead of local

We should create a replay component inside SDK for easier integrating record into application UI

This is resolved with pr #351


Fix NCclosedir in dpathmgr.c

Fixes #1999

re: Issue https://github.com/Unidata/netcdf-c/issues/1999
NCclosedir code is incorrect. Fix.
Note that this issue crops up when using a non-VisualStudio windows build
such as Mingw because Mingw defines dirent.h, but Visual Studio does not.

Thank you for updating NCclosedir.
For your information, I get the following additional errors on x86_64-w64-mingw32:
In file included from zmapio.c:17:0:
../include/XGetopt.h:38:24: error: conflicting types for ‘getopt’
 GTOPT_EXTRA extern int getopt(int argc, TCHAR *argv[], TCHAR *optstring);
                        ^~~~~~
In file included from /usr/share/mingw-w64/include/unistd.h:12:0,
                 from zmapio.c:11:
/usr/share/mingw-w64/include/getopt.h:29:12: note: previous declaration of ‘getopt’ was here
 extern int getopt(int nargc, char * const *nargv, const char *options);
            ^~~~~~
In file included from ncdumpchunks.c:14:0:
../include/XGetopt.h:38:24: error: conflicting types for ‘getopt’
 GTOPT_EXTRA extern int getopt(int argc, TCHAR *argv[], TCHAR *optstring);
                        ^~~~~~
In file included from ncdumpchunks.c:10:0:
/usr/share/mingw-w64/include/getopt.h:29:12: note: previous declaration of ‘getopt’ was here
 extern int getopt(int nargc, char * const *nargv, const char *options);
            ^~~~~~
In file included from zmapio.c:21:0:
../include/ncpathmgr.h:122:39: warning: ‘struct stat’ declared inside parameter list will not be visible outside of this definition or declaration
 EXTERNL int NCstat(char* path, struct stat* buf);
                                       ^~~~
In file included from ncdumpchunks.c:18:0:
../include/ncpathmgr.h:122:39: warning: ‘struct stat’ declared inside parameter list will not be visible outside of this definition or declaration
 EXTERNL int NCstat(char* path, struct stat* buf);
                                       ^~~~
Makefile:936: recipe for target 'zmapio.o' failed
make[2]: *** [zmapio.o] Error 1
make[2]: *** Auf noch nicht beendete Prozesse wird gewartet …
Makefile:936: recipe for target 'ncdumpchunks.o' failed
make[2]: *** [ncdumpchunks.o] Error 1
In file included from zs3parse.c:15:0:
../include/XGetopt.h:38:24: error: conflicting types for ‘getopt’
 GTOPT_EXTRA extern int getopt(int argc, TCHAR *argv[], TCHAR *optstring);
                        ^~~~~~
In file included from /usr/share/mingw-w64/include/unistd.h:12:0,
                 from zs3parse.c:9:
/usr/share/mingw-w64/include/getopt.h:29:12: note: previous declaration of ‘getopt’ was here
 extern int getopt(int nargc, char * const *nargv, const char *options);
            ^~~~~~
In file included from zs3parse.c:19:0:
../include/ncpathmgr.h:122:39: warning: ‘struct stat’ declared inside parameter list will not be visible outside of this definition or declaration
 EXTERNL int NCstat(char* path, struct stat* buf);
                                       ^~~~
Makefile:936: recipe for target 'zs3parse.o' failed

These error are related to https://github.com/Unidata/netcdf-c/issues/1737.
The following patch solves this:
diff --git a/nczarr_test/ncdumpchunks.c b/nczarr_test/ncdumpchunks.c
index 2eecc425..b17461c4 100755
--- a/nczarr_test/ncdumpchunks.c
+++ b/nczarr_test/ncdumpchunks.c
@@ -10,7 +10,7 @@
 #include <getopt.h>
 #endif

-#ifdef _WIN32
+#ifdef _MSC_VER
 #include "XGetopt.h"
 #endif

diff --git a/nczarr_test/zmapio.c b/nczarr_test/zmapio.c
index 70f13ed0..35448e6a 100644
--- a/nczarr_test/zmapio.c
+++ b/nczarr_test/zmapio.c
@@ -13,7 +13,7 @@
 #ifdef HAVE_GETOPT_H
 #include <getopt.h>
 #endif
-#ifdef _WIN32
+#ifdef _MSC_VER
 #include "XGetopt.h"
 #endif

diff --git a/nczarr_test/zs3parse.c b/nczarr_test/zs3parse.c
index 9ec5476c..6ff97a40 100644
--- a/nczarr_test/zs3parse.c
+++ b/nczarr_test/zs3parse.c
@@ -11,7 +11,7 @@
 #ifdef HAVE_GETOPT_H
 #include <getopt.h>
 #endif
-#ifdef _WIN32
+#ifdef _MSC_VER
 #include "XGetopt.h"
 #endif

Ok, I have modified this PR to include above fixes plus fix the struct stat warning.
[Also merged current master to remove conflicts]

@DennisHeimbigner I'm going through the backlog. I don't want to jump the gun, however, are there more fixes to be made or is this one ready?

I think it is ready; it was a pretty ugly PR.

On current master (427166f02d3da6924d02a4713c1ffe50bb92a36c), the getopt issue seems to be re-surfaced in ncgen3:
x86_64-w64-mingw32-gcc -DHAVE_CONFIG_H -I. -I..  -I../include -I../include     -MT main.o -MD -MP -MF $depbase.Tpo -c -o main.o main.c &&\
mv -f $depbase.Tpo $depbase.Po
In file included from main.c:19:0:
../include/XGetopt.h:38:24: error: conflicting types for 'getopt'
 GTOPT_EXTRA extern int getopt(int argc, TCHAR *argv[], TCHAR *optstring);
                        ^~~~~~
In file included from /usr/share/mingw-w64/include/unistd.h:12:0,
                 from main.c:11:
/usr/share/mingw-w64/include/getopt.h:29:12: note: previous declaration of 'getopt' was here
 extern int getopt(int nargc, char * const *nargv, const char *options);
            ^~~~~~
Makefile:748: recipe for target 'main.o' failed
make[2]: *** [main.o] Error 1
make[2]: Leaving directory '/home/abarth/src/netcdf-c/ncgen3'

It can be reproduced on Linux with:
# sudo apt install gcc-mingw-w64-x86-64 # on Ubuntu 20.04
 ./configure CC=x86_64-w64-mingw32-gcc --disable-hdf5  --disable-dap  --host=x86_64-w64-mingw32  &&  make -j4

Let me know if this should rather be a separate issue. Sorry for all these troubles! Thanks for your help!

Odd; the #include <XGetopt.h> is encased in _WIN32 on my master. Is it the case
in ncgen3/main.c for you?

Look in your netcdf-c/config.h file and see if HAVE_GETOPT_H is turned on.
I notice that you are getting you getopt definition from unistd.h.

Yes, <XGetopt.h> is encased in _WIN32:
#ifdef _WIN32
#include "XGetopt.h"
#define snprintf _snprintf
#endif

In config.h, HAVE_GETOPT_H is indeed 1. I attach config.h and config.log in case it is helpful.
config.h.txt
config.log.txt

The compilation of ncgen3 succeeds with this change:
index 263bd699..ccb8acd5 100644
--- a/ncgen3/main.c
+++ b/ncgen3/main.c
@@ -13,10 +13,11 @@
 #include <string.h>
 #ifdef HAVE_GETOPT_H
 #include <getopt.h>
+#else
+#include "XGetopt.h"
 #endif

 #ifdef _WIN32
-#include "XGetopt.h"
 #define snprintf _snprintf
 #endif

(including XGetopt.h only if HAVE_GETOPT_H is not defined).
But I have similar issue in ncgen/main.c.

Ok, mingw headers appear to be very non-standard.
My guess is that you the use of mingw should be tested for explicitly.
Something like this:
#if defined _WIN32 && ! MINGW32

Here is an updated version of your suggestion that I tested:
index 263bd699..6f9c5f5d 100644
--- a/ncgen3/main.c
+++ b/ncgen3/main.c
@@ -15,7 +15,7 @@
 #include <getopt.h>
 #endif

-#ifdef _WIN32
+#if defined(_WIN32) && !defined(__MINGW32__)
 #include "XGetopt.h"
 #define snprintf _snprintf
 #endif

It would be really nice to have a CI testing of the mingw compiler (used by e.g. R, Octave and Julia on Windows).
On Ubuntu, cross-compiling can be done quite easily (disabling HDF5), using for example:
 ./configure CC=x86_64-w64-mingw32-gcc --disable-hdf5   --host=x86_64-w64-mingw32  && make

If it is helpful, I can try to find the equivalent command in CMake.

Did that change work? If so, then I need to propagate it to all uses of xgetopt.
I will talk to Ward about testing Mingw.

Yes, I tested it ncgen3 and it fixed the compiler error.
cd ~/src/netcdf-c/ncgen3
make
depbase=`echo main.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
x86_64-w64-mingw32-gcc -DHAVE_CONFIG_H -I. -I..  -I../include -I../include     -MT main.o -MD -MP -MF $depbase.Tpo -c -o main.o main.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo load.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
x86_64-w64-mingw32-gcc -DHAVE_CONFIG_H -I. -I..  -I../include -I../include     -MT load.o -MD -MP -MF $depbase.Tpo -c -o load.o load.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo escapes.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
x86_64-w64-mingw32-gcc -DHAVE_CONFIG_H -I. -I..  -I../include -I../include     -MT escapes.o -MD -MP -MF $depbase.Tpo -c -o escapes.o escapes.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo getfill.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
x86_64-w64-mingw32-gcc -DHAVE_CONFIG_H -I. -I..  -I../include -I../include     -MT getfill.o -MD -MP -MF $depbase.Tpo -c -o getfill.o getfill.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo init.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
x86_64-w64-mingw32-gcc -DHAVE_CONFIG_H -I. -I..  -I../include -I../include     -MT init.o -MD -MP -MF $depbase.Tpo -c -o init.o init.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo genlib.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
x86_64-w64-mingw32-gcc -DHAVE_CONFIG_H -I. -I..  -I../include -I../include     -MT genlib.o -MD -MP -MF $depbase.Tpo -c -o genlib.o genlib.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo ncgeny.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
x86_64-w64-mingw32-gcc -DHAVE_CONFIG_H -I. -I..  -I../include -I../include     -MT ncgeny.o -MD -MP -MF $depbase.Tpo -c -o ncgeny.o ncgeny.c &&\
mv -f $depbase.Tpo $depbase.Po
/bin/bash ../libtool  --tag=CC   --mode=link x86_64-w64-mingw32-gcc     -o ncgen3.exe main.o load.o escapes.o getfill.o init.o genlib.o ncgeny.o ../liblib/libnetcdf.la -lm
libtool: link: x86_64-w64-mingw32-gcc -o .libs/ncgen3.exe main.o load.o escapes.o getfill.o init.o genlib.o ncgeny.o  ../liblib/.libs/libnetcdf.a
abarth@work:~/src/netcdf-c/ncgen3 (master)
$ ls -l .libs/ncgen3.exe
-rwxrwxr-x 1 abarth abarth 1755014 Mai 26 15:04 .libs/ncgen3.exe

Thanks a lot! And also thank to speak to Ward about the CI testing of mingw. It would help a lot to give a more updated NetCDF version to Julia and R users (I think @mjwoods, author of RNetCDF, would agree).

Fixed by https://github.com/Unidata/netcdf-c/pull/2009


Access Denied with SPDesignerSettings

Using the ReverseDSC to generate a script from a Farm already installed and configured I get this resource configuration:
$SetupAccount = Get-Credential -UserName "CORP\sp.setup" -Message "Credentials for CORP\sp.setup"

    SPDesignerSettings SiteCollection84a91272-e1b1-4f80-a1d6-efcda54e81b6
    {
        Url = "http://mysites.corp.contoso.loc";
        PsDscRunAsCredential = $SetupAccount;
        AllowSharePointDesigner = $True;
        AllowDetachPagesFromDefinition = $False;
        SettingsScope = "SiteCollection";
        AllowCustomiseMasterPage = $False;
        AllowCreateDeclarativeWorkflow = $True;
        AllowSavePublishDeclarativeWorkflow = $True;
        AllowSaveDeclarativeWorkflowAsTemplate = $True;
        AllowManageSiteURLStructure = $False;
    }

But when I start the DSC Configuration it gives me the following error:
PowerShell DSC resource MSFT_SPDesignerSettings  failed to execute Set-TargetResource functionality with error message: Site collection not found. SharePoint Designer settings will not be applied
+ CategoryInfo          : InvalidOperation: (:) [], CimException
+ FullyQualifiedErrorId : ProviderOperationExecutionFailure
+ PSComputerName        : AZREPLICA01
Which is strange because the site collection exists. Looking at the ULS logs I can see that no User Identity is passed in the request:
SPRequest.OpenWeb: UserPrincipalName=, AppPrincipalName= ,bstrUrl=http://mysites.corp.contoso.loc
System.UnauthorizedAccessException: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
Versions used:
Operating System: Windows Server 2016 (Version 1607)
PowerShell:
PSVersion                      5.1.14393.206
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.14393.206
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
SharePointDSC: <IP_ADDRESS>
SharePoint 2016 (16.0.4456.1000)

Check if Setup account has access to root site collection. (because SettingsScope = "SiteCollection")
In mysite scenario is better to set SPD Settings on WebApplication scope.

Nope I see the issue here - if you go to line 304 of SPDesignerSettings you see instead of doing this:
Get-SPSite -Identity $params.Url

We have a Get-SPSite that uses a Where-Object to filter, which looking at it is totally the wrong approach. Firstly, the $Url variable won't exist in that scope (it should be $params.Url) and secondly when you have a large enough number of site collections Get-SPSite won't return them all (unless you have "-Limit All" on it) which means that our logic there won't pick up all sites to find them anyway, so realistically either of these issues could be causing your problem. The good news though is that this should be an easy bug fix.
@ykuijs Seeing as this should be a quick fix can you include this on your next roll up PR for me to review?

Done!

Fix included in PR 600