Local Process with Kubernetes (Preview) Coming Soon!

Local Process with Kubernetes (Preview)
Local Process with Kubernetes puts your development computer in the context of your Kubernetes cluster. Write, test, and debug your microservice code on your development workstation, while consuming dependencies from your cluster. Redirect traffic from the cluster to your development computer to effectively remote debug. Local Process with Kubernetes gives you the confidence of full end-to-end testing during development with the speed and flexibility of running code directly on your development computer.
Local Process with Kubernetes (Preview) will be available early June 2020 in both Visual Studio and Visual Studio Code.

This is provided the Kubernetes cluster that the development computer tries to connect is accessible from the public network?

Hi @anandthanu
In theory, if you are able to execute kubectl commands from the bastion host, Local Process with Kubernetes should work.
Local Process with Kubernetes is now publicly available and I'm interested in hearing how this goes for your scenario. Please keep me posted and/or feel free to reach out to me directly via email with any further questions.
<EMAIL_ADDRESS>

Hello,
This seems to look very promising since we were often having issues with quickly getting development up and running with DevSpaces.
However I have a few questions regarding working with multiple persons and their respective child spaces. How is traffic routed when we have different people redirecting traffic for multiple different services, because with the current DevSpace implementation everyone has their own child which inherits services from the parent-space. This made it so we aren't blocking each other.
I currently am unable to see parent-space services to redirect traffic from when selecting a child-space. Is there something missing or is this something that still needs to be considered?
Thanks in advance.

Hi @kenneth-trivec
It's a good question, and you're correct - in this preview Local Process with Kubernetes won't facilitate the creation of a child space and deploying your service to that new space.
Bringing routing to Local Process with Kubernetes is next on our list of priorities.
As a workaround; In your existing Dev Space enabled AKS cluster you can use Local Process with Kubernetes to work on an existing service deployed in a child namespace.

The link to "How to use Local Process with Kubernetes in Visual Studio 2019" is not working.
I think is should be redirected to
https://docs.microsoft.com/en-us/azure/dev-spaces/how-to/local-process-kubernetes-visual-studio
but right now it redirects to
https://docs.microsoft.com/en-us/azure/dev-spaces/how-to/local-process-kubernetes-visualstudio
Just heads up :)

Thanks for pointing it out.  I've fixed our short link to the page now.  https://aka.ms/localprocesswithk8s-vs

Is it possible to use local process in non-VS environments? In particular JetBrains Rider would be lovely, but I'm happy with running from terminal as well.

Hi @ahaeber - we're currently focussing on the two VS environments, but we have it on the backlog to start looking at other IDE's.
I've not used Rider before, so thanks for the suggestion.

Hi @ahaeber - we're currently focussing on the two VS environments, but we have it on the backlog to start looking at other IDE's.
I've not used Rider before, so thanks for the suggestion.

Hi @Gordonby , your answer include that is on the track to work on Linux/ VS Code?

Hi @luckyluc74
We are working through supporting non-AKS clusters in our new “Local Process with Kubernetes” experiences. We don't yet have dates for when this will be supported, but it’s at the top of our backlog. The emphasis of this work initially is to provide a seamless experience on local/on-prem clusters.

Hi @Gordonby
Thanks for your update. Looking forward to this new “Local Process with Kubernetes”  with support for non-AKS clusters. As a developer I mostly use my local (non-AKS) kubernetes cluster for developing and testing. And this feature would greatly enhance my productivity.

Great stuff:-). Looking forward to  the possibility to facilitate the creation of a child space as mentioned above.

Yes, the improved launch configuration is very nice - we would also need 1) linux support and 2) the equivalent of the 'clone' flow from the prior version of the VS Code extension/azds cli, to get parity with what our workflow looked like in the azds connect approach.
Although since we're also making use of Review Apps, we could always just start work on a branch by opening a PR to trigger a deploy of the relevant service to the PR (child) namespace, which would give us something to work with right away as a workaround. The 'clone' option was pretty slick though.
Thanks again

I have pods that make use of aad-pod-identity and a managed identity to access a keyvault for sensitive app configuration data on startup using the AddAzureKeyVault extension.  The non-sensitive config data are maintained in configmaps.

Am I right that LPK can only pass environment and file/volume data back to the local environment and so I'd have to supply override env data by using KubernetesLocalProcessConfig.yaml?
If, for example, I pass a SqlConnectionString via the override yaml and it still specifies it's using a managed identity rather than credentials, is the connection to SQL Database proxy'ed via the remote container and will it continue to use the same managed identity?

Hi @markphillips100

Yes, you would use the KubernetesLocalProcessConfig.yaml to override any existing environment variables that were pulled back to the local environment from the pod.
Managed Identity isn't a supported configuration at the moment.  We've investigated it, and whilst it is possible to get to the IMDS, it does introduce a security concern. It's still in the backlog, and we will continue to investigate the best way to offer support Pod Identity.

Thanks @Gordonby.  I'll try the yaml override and see how I go.  Firstly though, can you explain how I might use the file in my situation (let me know if separate issues should be created in regards to LPK please).
TL;DR
I'd like to tell LPK (via perhaps the KubernetesLocalProcessConfig.yaml) the relative path of a local file to use for environment variables.  Can this be done using the config yaml file or in some other way?  Also, where is the config yaml supposed to be located?  At solution level, in the project, or is it configurable via launch.json perhaps?
My Inner-Loop...
I develop Pulumi code in my repos to facilitate the infrastructure requirements for the application code being developed in the same repo.  Infrastructure and app code commits are kept together basically.
I supply a Pulumi config property to the Pulumi code to change the behaviour of the infrastructure deployment slightly.  Instead of deploying HELM charts like in a CI/CD stage, the code creates Pulumi "chart" Outputs (variables accessible via Pulumi CLI tool) containing the data that would normally be passed to the HELM chart.  The values.yaml essentially, albeit in json format so I have a ps1 script that can convert back to yaml.
I use devspace.sh to build and deploy my inner-loop images to my dev cluster in a developer-specific k8 namespace.  The "deployment" configuration in devspace.yaml directly references the previous yaml values file with no developer changes required.  So essentially I can execute devspace run stack-up to build my developer-specific infrastructure, and then execute devspace dev and I'll get developer-specific images built and deployed with their stdout piped to the terminal.
I imagine I'd still use this inner-loop process but debugging (via attaching in VSCode) is troublesome, especially as SourceLink support to private repos is lacking.  I'd like to use VS2019 to debug if possible, and the F5 approach LPK offers is very compelling, considering it should also allow for sourcelink to work.
So my goal is to build upon the scripts that I already have and just produce LPK supporting environment yaml files (with development-specific modification to bypass the managed identity issue) as part of the devspace run stack-up step.  If a specific project's LPK configuration can be set to point at this relative-path environment variables yaml then all should be good.

Hey @markphillips100,
It might be good to create this issue properly over to our new LPK repo to keep the discussion tight.
All this talk of devspace.sh (whatever that is 😕) , and LPK in the Azure Dev Spaces repo is going to get confusing.
I've dropped an example of the file in our sample app : https://github.com/microsoft/mindaro/blob/master/samples/BikeSharingApp/ReservationEngine/KubernetesLocalProcessConfig.yaml
It's to be located in the root of the project, hopefully the example above illustrates this.
We currently only look in the yaml file (from your local machine).

@Gordonby yep no problem.  Sorry to confuse.  I'll just generate your specific yaml files as required.
I did log a separate issue (#341) related to using the extension.  Unfortunately it prevents me using it as it breaks my other kubectl workflows.  I'll log it in the other repo too.

Hi.
I am getting an error now. It worked OK before summer.
I am using exact same settings then and now.
Excerpts from log (lpk-library-2020-08-12-12-41-45-9672):
Logging handled exception: Microsoft.DevSpaces.Common.Exceptions.UserVisibleException: {"Request":null,"Response":null,"RequestId":null,"ClientRequestId":null,"CorrelationRequestId":null,"Format":"Failed to deploy remote restore job for pod deployment 'test/xxx' with error: Operation returned an invalid status code 'UnprocessableEntity'","Args":[],"StackTrace":"
at Microsoft.DevSpaces.Library.Connect.KubernetesRemoteEnvironmentManager.StartRemoteAgentAsync(RemoteContainerConnectionDetails remoteContainerConnectionDetails,
etc

Hi @kanonkanin,
Thank you for reporting this issue. We are aware of it, and we'll release a fix in the coming weeks.
This issue is due to one of the jobs we're trying to create that has a name too long. This job's name is a concatenation of your isolateAs header (if you're using isolation), the name of the service you debug and random characters. This would look like:
kanonkan-my-looooong-service-name-restore-1234
If this name is longer than 63 characters, then we get this UnprocessableEntity error.
Are you working on VS Code and using the isolation feature? If yes, please consider updating your isolateAs field in tasks.json to have a shorter length while we're working on the fix.
On a side note, if you have other issues related to Local Process with Kubernetes, could you please open them in https://github.com/Microsoft/mindaro ? This is where we're tracking such issues now.

I have tried to use local process but cant get it to list namespaces, i can list them in kubectl but in visual studio it gives me a permissions error.
not sure where to ask about this so if anyone can point me in the right direction.
i get the error below
{
  "timestamp": "2020-09-07 13-44-39.302",
  "message": "Refresh the list of namespaces displayed for the selected cluster",
  "subscriptionId": "[REDACTED]",
  "exception": {
    "ClassName": "Microsoft.VisualStudio.Kubernetes.Debugging.Core.Errors.ContainerToolsException",
    "Message": "An error occurred during the activation of a particular registration. See the inner exception for details. Registration: Activator = KubernetesClient (DelegateActivator), Services = [Microsoft.DevSpaces.Common.Kubernetes.IKubernetesClient], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = ExternallyOwned ---> An error occurred during the activation of a particular registration. See the inner exception for details. Registration: Activator = KubernetesClient (ReflectionActivator), Services = [Microsoft.DevSpaces.Common.Kubernetes.IKubernetesClient], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope ---> An exception was thrown while invoking the constructor 'Void .ctor(Microsoft.DevSpaces.Common.Kubernetes.IK8sClientFactory, k8s.KubeConfigModels.K8SConfiguration, Microsoft.DevSpaces.Common.IO.IFileSystem, Microsoft.DevSpaces.Common.IO.IPlatform, Microsoft.DevSpaces.Common.IEnvironmentVariables, Microsoft.DevSpaces.Common.Logging.ILog)' on type 'KubernetesClient'. ---> User: [REDACTED] does not have appropriate auth credentials in kubeconfig (See inner exception for details.) (See inner exception for details.) (See inner exception for details.)",
    "Data": null,
    "InnerException": {
      "ClassName": "StreamJsonRpc.RemoteInvocationException",
      "Message": "An error occurred during the activation of a particular registration. See the inner exception for details. Registration: Activator = KubernetesClient (DelegateActivator), Services = [Microsoft.DevSpaces.Common.Kubernetes.IKubernetesClient], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = ExternallyOwned ---> An error occurred during the activation of a particular registration. See the inner exception for details. Registration: Activator = KubernetesClient (ReflectionActivator), Services = [Microsoft.DevSpaces.Common.Kubernetes.IKubernetesClient], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope ---> An exception was thrown while invoking the constructor 'Void .ctor(Microsoft.DevSpaces.Common.Kubernetes.IK8sClientFactory, k8s.KubeConfigModels.K8SConfiguration, Microsoft.DevSpaces.Common.IO.IFileSystem, Microsoft.DevSpaces.Common.IO.IPlatform, Microsoft.DevSpaces.Common.IEnvironmentVariables, Microsoft.DevSpaces.Common.Logging.ILog)' on type 'KubernetesClient'. ---> User: [REDACTED] does not have appropriate auth credentials in kubeconfig (See inner exception for details.) (See inner exception for details.) (See inner exception for details.)",
      "Data": null,
      "InnerException": null,
      "HelpURL": null,
      "StackTraceString": "   at StreamJsonRpc.JsonRpc.<InvokeCoreAsync>d__118`1.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at Microsoft.VisualStudio.Kubernetes.Debugging.Core.LaunchProfiles.ConfigurationDialog.ConfigurationDialogCallbacks.<>c__DisplayClass14_0.<<RefreshNamespacesAsync>b__1>d.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at Microsoft.VisualStudio.Kubernetes.Debugging.Core.Services.ServiceHub.KubernetesManagementServiceBrokerClient.<ExecuteWithServiceAsync>d__4`1.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at Microsoft.VisualStudio.Kubernetes.Debugging.Core.LaunchProfiles.ConfigurationDialog.ConfigurationDialogCallbacks.<>c__DisplayClass14_0.<<RefreshNamespacesAsync>b__0>d.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at Microsoft.VisualStudio.Kubernetes.Debugging.Core.Services.Logging.PerfLoggerExtensions.<ExecuteOperationAsync>d__3`1.MoveNext()",
      "RemoteStackTraceString": null,
      "RemoteStackIndex": 0,
      "ExceptionMethod": "8\nMoveNext\nStreamJsonRpc, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\nStreamJsonRpc.JsonRpc+<InvokeCoreAsync>d__118`1\nVoid MoveNext()",
      "HResult": -2146233088,
      "Source": "StreamJsonRpc",
      "WatsonBuckets": null,
      "ErrorCode": -32000
    },
    "HelpURL": null,
    "StackTraceString": null,
    "RemoteStackTraceString": null,
    "RemoteStackIndex": 0,
    "ExceptionMethod": null,
    "HResult": -2146233088,
    "Source": null,
    "WatsonBuckets": null
  },

Hi @rmcfarlane82,
This looks a lot like an issue we fixed recently, and for which the fix should be released in the coming days. I'm syncing with the team member who worked on this and I'll get back to you.

@rmcfarlane82 > Unfortunately, this seems to be a different issue compared to the one I was mentioning above. In order to track this properly, I created this new issue in our Local Process with Kubernetes repository: https://github.com/microsoft/mindaro/issues/26
I also added the results of our investigation so far, as well as a potential workaround (using VS Code). Could you please have a look at this and let us know if anything seems to be missing there?


Close 2 file descriptors opened from serveFile - avoid crash

Fixes #229, previously caused crash after ~500 files served with serveFile because of 2 open file descriptors.
FileBuffer was missing a destructor to RAII-style close the fd_ that the constructor opened. For consistency to make sure FileBuffer always manages a Fd, I deleted the default constructor as well. _fd is initialized to -1 to make sure that only valid file descriptors are closed in the destructor.
The other one was a fd opened for a call to ::fstat(fd, &sb); inside serveFile, so I closed it as soon as it's finished being used.
The before and after behavior can be examined from the examples/http_server.cc program, with the open file descriptors viewable in Linux from $ ls /proc/`pgrep run_http_server`/fd after using the /static url.

Hold on this - apparently this has a rough time with serving large files. I'm still working on it though.

A different pull request #39 is relevant, and appears to fix the same issue - I haven't test it, but I'm concerned over if it would work for large files (> 10k or so)

I can confirm the problem exists.  Thank you very much for a concise repro.  I am evaluating your patch now.

I have confirmed your fix (with several concurrent HTTP clients pounding on it, observing the http_server w/ strace and ls -l /proc/$pid/fd.  Nice work!

Thanks for merging, and I'm glad it could help!


A basic student attendance system made with Solidity.

Please assign this to me  ,Sir!
In this  i am making  a basic student attendance system made with Solidity.
more function will be adedd and the  owner will be taken   care  .
Folder structure  : Level1/Attendence.sol

Great idea ,start implementing this @test-account09


First draft of ISCR 17th Annual Conference 2024 blog

Hi @bms63 - I think the links for some of the references in rounding.qmd is not working leading to failure of this check. Please suggest if its okay to update it?

All good on that rounding link.  Not sure what is happening with that one.
Fantastic post!!  The LinkIn links to the different authors is a really nice touch.  Maybe something we should include in future posts going forward.
I didn't spot any issues after my read through.  @pharmaverse/admiral_comm anyone else have a few minutes to review!?!
If not, we can move this out the door in a couple of days

All good on that rounding link. Not sure what is happening with that one.
Fantastic post!! The LinkIn links to the different authors is a really nice touch. Maybe something we should include in future posts going forward.
I didn't spot any issues after my read through. @pharmaverse/admiral_comm anyone else have a few minutes to review!?!
If not, we can move this out the door in a couple of days

Thank you so much @bms63 ! :) the first link is not working for me - It says "Page not found". Second one is working fine.


Add angular material

Waiting on https://github.com/angular/angular/pull/26837/files and https://github.com/angular/material2/pull/13836 to land

Right on time! Awesome sauce 👍

Running out of memory in the build on the default CircleCI 4GB machine. No variation of tweaking Bazel memory usage resolves it. We'll have to move to a larger CircleCI machine for this to go green.


Added run_exports to pin major package releasesa

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

This pull request adds run_exports to the build to pin major package releases.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

Rhys, can you just add a comment with a little explaination of what the added statement will actually do? Thanks!

After our discussion this mechanism is more clear to me. Fine to merge


Third Contribution By Ogbonna Queeneth

Here is a link to a sample of my writing skill: https://medium.com/@nneomatech/lets-be-real-we-ve-all-been-down-the-rabbit-hole-of-twitter-scrolling-through-endless-tweets-and-442a70f27aea
An additional write-up: https://medium.com/p/1b2f736a2516

@arliss-NF Thank you!

@kwin-eth - thanks for sharing your writings.  They were both a fun read.  I really like your style of writing.  Storytelling with data and visualizations is very important in data analysis these days, and you are doing great.  Keep up the good work.


Rs fmt specification

Description
Add new customization points in RendererServices for reporting errors, warnings, printf, and fprintf.
These customization points accept a fmtlib style format specifier (vs. printf style) whose argument types are represented as EncodedTypes (encodedtypes.h) and can be subsequently decoded via a utility function.
Removes dependence on ShadingContext and OSL::ErrorHandler for logging error, warning, printf, and fprintf calls
for use on CPU and device during Shader execution.  ShadingContext and OSL::ErrorHandler remain utilized during shader compilation/JIT.
Journal Buffer approach:  each thread gets its own chain of pages within the shared journal buffer for recording errors, warnings, etc.  By maintaining a separate chain per thread we can record errors (etc.) in a non-blocking fashion. Shade index is recorded for use by error reporter to sort messages but it is not used at present.
Using a Journal buffer is up to a Renderer.  The Renderer use the new customization points (rs_errorfmt, rs_filefmt, rs_printfmt, rs_warningfmt or their virtual function equivalents) to interact with a journal::Writer and journal buffer owned by its RenderState.  The Renderer would of have to allocate and initialized the journal buffer with the requested page size and number of threads before executing a shader. After a shader is done executing, the contents of the journal buffer can be transfered back to the host and processed with a journal::Reader, which reports them through a journal::Reporter's virtual interface. Intent is for Renderers's to use the Journal buffer and provide their own overriden version of the journal::Reporter.  Testshade provides example usage.  For legacy purposes, the default virtual RendererServices will route errors to ShadingSystem's OSL::ErrorHandler, but intent is for Renderer's to switch over to using a Journal buffer or their own custom logging.
NOTE:  OSL library functions as well use Renderer Service free functions can directly call OSL::filefmt, OSL::printfmt, OSL::errorfmt, OSL::warningfmt which wrappers to the underlying free functions (who may record the messages into a journal buffer).
Added a new hashcode datatype in typespec.cpp; represented as "h" in function arguments in builtindecl.
To print closures added a new OSL function osl_closure_to_ustringhash to return a ustringhash_pod value directly.
Shader execute functions now require a zero-based thread_index to identify the calling thread; used for journalling.
RendererServices::get_texture_info parameter ShadingContext * changed to ShaderGlobals * (aka ExecutionContext).
ShaderGlobals now tracks both shade_index and thread_index.
As we look to hide/remove ShaderGlobals in the future, we still need a context object to replace the role the ShaderGlobals struct is currently serving (just minus the actual shader global variables).  As a first step towards this goal, we introduce the concept of an ExecutionContext and OpaqueExecutionContext.  These just alias to ShaderGlobals currently, but start to establish the idea of hiding its contents.  Instead of direct memory access to the ExecutionContext/ShaderGlobals new getter functions have been added that accept an OpaqueExecutionContext and provide the requested data.  When inlined there should be no performance penalty, and reliance on the ShaderGlobals implementation detail will be reduced.  IE:
inline const Vec3 & get_P(OpaqueExecContextPtr oec);
template RenderStateT* get_rs(OpaqueExecContextPtr oec);
inline int get_raytype(OpaqueExecContextPtr oec);
Updated free function renderer services and opcolor to use the ExecContext, but left the rest alone to minimize size of this PR.
We introduce opfmt.cpp that provides shim function for llvm_gen to call, where the shim adapts datatypes from llvm to c++ forwarding calls to the free function renderer service error, warning, print, fileprint functions.
Split llvm_gen_printf into llvm_gen_printf_legacy, for string format calls or when using optix, and the new llvm_gen_print_fmt which will convert the printf style specifier to the fmtlib format that the Renderer Service customization points are expecting.
fprintf by default no longer writes out to a file, is routed to journal::Reporter::report_file_print which could be overriden (example in TestShade to maintain existing behavior).  However for security reasons, we do not recommend allowing OSL shader's direct file system but instead just an annotated log entry.
To maintain existing behavior of disallowing output of repeated errors/warnings over a history window, we have provided 2 classes that could be used during reporting: TrackRecentlyReported and Report2ErrorHandler.  TrackRecentlyReported can turn on/off limitting errors and warnings and control the history capacity.  Report2ErrorHandler simply reports errors to an existing OSL::ErrorHandler to allow for easy integration.  However we expect Renderers to not use Report2ErrorHandler and provide their own to directly interact with their logging systems.
Tests
All existing unit tests that generate errors, warnings and use printfand/or fileprintf will exercise our new code path
Added rs_bitcode testing pass that duplicates existing tests with --use_rs_bitcode enabled.
Added additional tests to check errorfmt in opnoise, opmatrix, opcolor
Added tests to cover mapping of printf flags to those of fmtlib.
Checklist:

[x] I have read the contribution guidelines.
[x] I have previously submitted a Contributor License Agreement.
[x] I have updated the documentation, if applicable.
[x] I have ensured that the change is tested somewhere in the testsuite (adding new test cases if necessary).
[x] My code follows the prevailing code style of this project.

All CI builds that last passed are passing for this PR. Please review. Thanks!

I'm ok with the design and code, but in just verifying that it all works and won't break anybody, for me all the OptiX tests are failing. I think they are all getting tripped up on the assertion at llvm_util.cpp:3655, something function has not been defined on the GPU side. If you don't have a configuration in which you can actually test that, Steena, I can try to figure out how to fix it on my end.
The other thing I'd like to recommend is that as part of this patch you bump the version number in the top level CMakeLists.txt from 1.13.4.x to <IP_ADDRESS> to reflect that there is an ABI break introduced with this patch.

OK, here is where we stand with this:

As submitted, this PR fails all the OptiX tests when compiled in OptiX mode. (I don't expect Steena and Alex to have known this or have a good way to test it, and unfortunately our CI currently does not run OptiX tests, we're still working out how to do that.)

I tracked down the problem and it's that the patch was a bit too aggressive about removing things no longer needed. The intent was that even if you don't use the new journaling, nothing should break. But it does for OptiX, and I have a patch on top of this that restores some of the things Steena removed (like the implementation of osl_printf) and some other necessary stubs.

This takes us from failing all ~150 OptiX oriented tests to failing only 4, which I believe are unrelated to Steena's changes here and are merely revealed by them. I will fix those in a separate PR.

My intent was to just push my changes here on top of Steena's, do the merge so she can move on to her next set of PRs, and meanwhile I would finish tracking down the remaining issue and submit a separate PR for it. However, there's a problem -- I see the "Maintainers are allowed to edit this pull request" message on the right panel of this PR, but despite the fact that I believe I'm a maintainer (I can do merges and administer the repo?), it's just not letting me do that push. I'll try to track that down separately, but let's not let that hold us up, either.

So I think what I'll do is merge this as-is, knowing that it is BROKEN for OptiX, totally broken. Then immediately post my PR which almost completely fixes the OptiX functionality, except for those remaining cases. Then I will complete work on that and submit its fix separately.

I just tried one more thing -- rebased this on top of the current main. Oddly, it let me do that, which ALSO involves altering Steena's branch. I don't get why it will let me do that but not to push another fix atop her changes. So I'll stick to my plan as outlined above.


Dark start window

At the start of the Visual Code Studio (1.47.3), the window is white color effect, but the theme is dark.
It's a little disappointing.
Version: 1.47.3
Commit: 91899dcef7b8110878ea59626991a18c8a6a1b3e
Date: 2020-07-23T15:51:39.791Z
Electron: 7.3.2
Chrome: 78.0.3904.130
Node.js: 12.8.1
V8: 7.8.279.23-electron.0
OS: Linux x64 5.7.0-3-arch

Can you explain more, maybe a screenshot/cast?

@aeschli https://i.imgur.com/j7GrihQ.mp4

When VSCode is closed, we remember the background color and use that the next time for the initial window color.
Because I don't see what you are seeing (Ubuntu 18.04 in my case)

@aeschli I've never used white themes, xfce4 has a dark theme, too.
https://aur.archlinux.org/packages/visual-studio-code-bin
PKGBUILD https://aur.archlinux.org/cgit/aur.git/tree/?h=visual-studio-code-bin


Add unity chat dialog tables to the menu.

Re-posting original comment by @hinbe:

Unity chat:
English .DAT is ROM/337/68.DAT
Japanese .DAT is ROM/337/67.DAT

Added in #35


References to my projects yellow-triangled after adding COMReference

Working on windows 7 x64 in VS 15.3.1 with installed Core 2.0.0, I have project:
<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>net461</TargetFramework>
    <RuntimeIdentifier>win7-x64</RuntimeIdentifier>
    <NoWarn>$(NoWarn);1591;1573</NoWarn>
    <AssemblyName>MyService</AssemblyName>
    <OutputType>Exe</OutputType>
  </PropertyGroup>

  <ItemGroup>
    <Compile Remove="wwwroot\**\*;node_modules\**\*" />
    <ProjectReference Include="..\MyProj\MyProj.csproj" />
  </ItemGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore" Version="2.0.0" />
    <PackageReference Include="SoapCore" Version="0.7.0" />
  </ItemGroup>

  <PropertyGroup>
    <ServerGarbageCollection>true</ServerGarbageCollection>
    <ConcurrentGarbageCollection>true</ConcurrentGarbageCollection>
  </PropertyGroup>

  <ItemGroup Condition=" '$(TargetFramework)' == 'net461' ">
    <Reference Include="System" />
    <Reference Include="Microsoft.CSharp" />
  </ItemGroup>
</Project>

Compiles, runs.
Then I add (via Add Reference... dialog):
  <ItemGroup>
    <COMReference Include="QBFC13Lib.dll">
      <Guid>0cb030a6-7b72-42ce-b92a-849b4a4a2cfb</Guid>
      <VersionMajor>1</VersionMajor>
      <VersionMinor>0</VersionMinor>
      <WrapperTool>tlbimp</WrapperTool>
      <Lcid>0</Lcid>
      <Isolated>false</Isolated>
    </COMReference>
  </ItemGroup>

Right after that, "Dependencies>Projects" in Solution explorer disappeares. After reloading solution, it appreas, but all my projects (simple net461 dlls) has yellow triangle, code not compiles, VS says that there is no reference to my projects.
After I remove COMReference, everything instantly become fixed (except that I need to reference that COM library).

https://developercommunity.visualstudio.com is a better place for issues with the Visual Studio and the project system.

Isn't this is about failing build when using core? I'm porting project from WCF, where everything works.

If I build with msbuild I got same error as in VS
error CS0246: The type or namespace name 'DAL' could not be found (are you missing a using directive or an assembly reference?)
like references to project was not added.

This may be related: COM dll is x86, but core project was <RuntimeIdentifier>win7-x64</RuntimeIdentifier>


Added metadata support to Spotify, apple

Added meta data support to all source

Otherwise all is perfect

What kind of metadata?

What kind of metadata?

Spotify, SoundCloud ,apple music, etc


Uncaught SyntaxError: Unexpected token }

Hi, very often after application does stateful reload I get error Uncaught SyntaxError: Unexpected token }
Afterwards, the only way to get rid of this error is to delete the cache and rebuild.
This is in the source:
FuseBox.import("fusebox-hot-reload").connect(5680, "")

FuseBox.import("default/client/modules/_stories/stories.jsx");
FuseBox.main("default/client/modules/_stories/stories.jsx");
})
... // FB stuff
//# sourceMappingURL=/libs/luis/luis.js.map

FuseBox.import("default/client/modules/_stories/stories.jsx");
FuseBox.main("default/client/modules/_stories/stories.jsx");
}) // this is where error is
.. // FB Stuff
//# sourceMappingURL=/libs/luis/luis.js.map

It seems that it is imported somehow twice.

Are you using the latest version?

And another question, how many bundles are doing at the same time? Do they share the same code?

@nchanged I am creating 2 bundles (vendor.js and app.js), they share only +pretty-format +fuse-box.

@tomitrescak can we have a repository that could reproduce this bug? I know it might happen, it's related to caching. It's a very important thing to resolve.
Thanks!

@nchanged unfortunately the one I use is private, but am starting a new OSS project with FuseBox so as soon as the error appears there I'd let you know.

Guys, It happened in this repo as well: https://github.com/tomitrescak/luis-app
After I worked with it a bit (added / removed files, added removed CSS references) I got the very same error.

Hm.. so a way to reproduce it would be?

Add file
Remove
Add again

?

Try removing reference in ts file .. adding reference ...
then you can try adding and removing file ...
IO am getiing it now quite often.

Ok just CSS - is fine.

Can you install<EMAIL_ADDRESS>please?
require("fsbx")

That's the latest in the pipeline.

Try full page reload afterwards. that's when it explodes.

Nope, it does not =)
Can you try the latest preview?

Did you try it with that repo I provided? On a simple app it obviously works well. Even with a preview it is still bringing up the error ;(

Can't seem to launch it .. I guess you are missing index.html in your build.
It says Cannot Get /

Can you try again, users reported that everything works fine. In my project it's geting increasingly bad. Now I get the error every 3rd - 4th HMR ;( And I'm not doing anything fancy.

Guys .. I can confirm that ERROR no longer appears in 1.3.123 !!
BUT
I had to downgrade back to 1.2.122 as 1.3.123 breaks the bundle after HMR.
When I do full page relaod after HMR, I get following error:
process is not defined

It seems that rebuilt bundle does not execute something that needs to be executed. The only way to make the bundle work again is to delete the .fusebox directory and rebuild.

@tomitrescak gotha. Something i've been "fixing" 2 times already... Will check it again ;-) Thanks

I'd like to add that I'm also experiencing this issue occasionally with the SSR demo I'm working on.
https://github.com/mattoni/fusemob-ssr
(Also getting this: DevTools failed to parse SourceMap: http://localhost:3000/index.js.map)
To reproduce, go into the components/Header and change the BG color, then do a hard refresh. I think there's a mismatch or something that's coming from the server. If I kill it and recompile after receiving the syntax error, I get this:
Uncaught TypeError: Cannot read property 'render' of undefined

as it looks like now ReactDOM isn't bundled anymore. Only way to fix is to delete .fusebox folder and recompile.
Hopefully this gives you another thing to test with and help. Let me know if I can provide any more information.

@mattoni are you a windows user?
What I get at max is:

I am on OSX, and that happens because I'm not restarting the server when I make a change to the bundle, so it's serving the old React (trying to figure out a workaround to that). If I restart the server on every change, everything falls apart (to see what I mean, change the watch tree syntax in fuse.ts to watch ./src instead of ./src/server).
Let me see if I can get some repeatable steps for you.

So, from a fresh cold start (deleting .fusebox folder), things work. Then I change a color or some style in a component. It does the HMR just fine, but the console shows this:

Then, I do a hard refresh and get the same error you do (because the server is not sending the right information).
I change the colors once more, and do a hard refresh. Now the syntax error shows up.

From here, even killing and rebuilding wont work, since react dom doesnt get included.

Only way to continue is to delete .fusebox folder and rebuild.

this might be related to cache bug we are investigating, we get same thing on windows, it seems a race condition where file is not written correctly.

Quite interesting, it says that's it's not found, however i see it in the `bundle.js` But not when inspecting the page and viewing the source...

I see the problem.. It your drop the cache, you will see
FuseBox.pkg("react-dom", {}, function(___scope___){
___scope___.file("index.js", function(exports, require, module, __filename, __dirname){

'use strict';

module.exports = require('./lib/ReactDOM');

});

Which is react for browser, but next time it's the screenshot above!!

Hmm, does that mean it's a problem having two FuseBox builds using the same cache?

That's the thing .. it should not happen, but they overlap for some reason.

Let me know if you need anything else to test it effectively. I unfortunately won't have time to dive down into this for a couple days since I'm not familiar with the fusebox code base yet, but I'd be glad to help out this weekend.
I'm looking to build quite a bit of my company's front end with this repo I'm working on, so let me know as soon as there's a fix available :) I don't want to switch back to webpack.

I hope I will fix it tomorrow as it's a very dangerous bug. Will keep you posted.

I think this bug is related to the broken Sass build... will get on it very soon.

Please feel free to check the latest bleeding edge version<EMAIL_ADDRESS>and documentation for it http://fuse-box.org:3333 ;-)

this is supposed to be fixed in version 2.0
we will close this for now, but feel free to open it otherwise :)


Translation issue with message Wikimedia:Commons-android-strings-description/nl

Looking at the 'live' app, the word Description is used as the field to describe the title of the work. However, description often does not refer to 'Title' but to describe the depiction in the image. Can it be made more explicit which strings are used as 'Title" and therefore as title of the filepage as uploaded on Commons?
Message URL: https://translatewiki.net/w/i.php?title=Special:Translate&showMessage=commons-android-strings-description&group=commons-android-strings&language=nl

Looking at the 'live' app, the word Description is used as the field to describe the title of the work.

AFAIK, We actually use the Caption as the title for the work. We don't use the description as the title.

However, description often does not refer to 'Title' but to describe the depiction in the image. Can it be made more explicit which strings are used as 'Title" and therefore as title of the filepage as uploaded on Commons?

I suppose I'm not understanding your query properly. Could you elaborate a bit for better understanding?

Hi Sivaraam, sure, thanks for your response!
I am trying to untangle a miss in the Dutch translation, so that's an additional layer of complexity, haha. Maybe you can just direct me to the right string in Translatewiki to correct the translation.
I am a beta-tester btw, but I assume new translations go live in the Beta app as well?
'Bijschrift' = caption, but in the Dutch translation is used where it should say 'Title'.

@CiellB Thank you for translating, for beta-testing, and for your questions!

I totally agree with you that we must document the strings, since translatewiki provides such a feature.
New translations do not go live in the Production nor Beta apps immediately, we have to test and release before, so it typically takes a few months unfortunately.
Smartphones are a great tool for taking geolocalized+timely pictures, but they are a very bad tool for typing, so we had to make hard choices to reduce typing. Thus we only ask for two fields: caption and description. Then we reuse the caption as a title (filename), automatically adding a suffix if necessary for uniqueness.

If anything is unclear, please do not hesitate to ask. :-)

I added documentation to the strings.
If you notice any other ambiguous string, please let me know! :-)


Allow ability to mount additional devices

@deniseschannon  now I am studying rancheros，I can make iso myself, but I want to know how rancheros manage system service ,and What work has been done for this,can you help me?  thank you very much

Hello @zhaohb,
that should help:
http://docs.rancher.com/os/configuration/system-services/
I created a first convoy plugin system service for testing:
https://github.com/rancher/os/issues/706

@pwFoo thank you for you letter, http://docs.rancher.com/os/configuration/system-services/ I had already seen, but what I want to know is that the deeper level of knowledge, for example system-docker is how to manage and start udev and NTP services, and the relationship between a variety of services is how to solve

@pwFoo for example a services rely on the Lib Library in the B service，how to solve ,thank you very much

@deniseschannon  @pwFoo
Can you give me some advice？ thank you very much!

Confirmed with rancher/os:v0.5.0-rc2


change whale-api dexPrices to return error details instead of generic 500

What would you like to be added:
For invalid queries (e.g. https://ocean.defichain.com/v0/mainnet/poolpairs/dexprices?denomination=NOSUCHTOKEN), return error details - something akin to /poolpair error response:
{
  "error": {
    "code": 404,
    "type": "NotFound",
    "at":<PHONE_NUMBER>477,
    "message": "Unable to find poolpair",
    "url": "/v0/mainnet/poolpairs/1000"
  }
}

Why is this needed:
Error details useful for debugging

/area apps


Add testing infrastructure

This should at a minimum check that specific examples produce the exact same results for both llvm-ar and ar_archive_writer.

https://github.com/rust-lang/ar_archive_writer/pull/11 added some more tests.


Being able to use sniHosts directive with ingress gateway and TLS termination

Describe the feature request
Hi,
I would like to be able to route multiple TCP services while exposing a single port on the ingress gateway. The goal is to achieve something similar to the feature described here (HAProxy project documentation), but it looks like this use case is not currently supported by Istio. It would be very useful in an hybrid infrastructure context.
Describe alternatives you've considered
Exposing each TCP service on a dedicated port of the ingress gateway.

Below is an example of configuration that I would like to use, but which does not work.
Istio internal ingress gateway:
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: istio-ilbgateway
  namespace: istio-system
spec:
  selector:
    istio: ilbgateway
  servers:
  - hosts:
    - '*.l4.sandbox.gke'
    port:
      name: http
      number: 80
      protocol: HTTP
  - hosts:
    - '*.l4.sandbox.gke'
    port:
      name: tls
      number: 443
      protocol: TLS
    tls:
      mode: SIMPLE
      privateKey: /etc/istio/istio-ilbgateway-certs/tls.key
      serverCertificate: /etc/istio/istio-ilbgateway-certs/tls.crt

And the associated virtual services:
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: tcp-server-1
  namespace: istio-system
spec:
  gateways:
  - istio-ilbgateway
  hosts:
  - tcp-server-1.l4.sandbox.gke
  tls:
  - match:
    - port: 443
      sniHosts:
      - tcp-server-1.l4.sandbox.gke
    route:
    - destination:
        host: tcp-server-1.default
        port:
          number: 3333

apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: tcp-server-2
  namespace: istio-system
spec:
  gateways:
  - istio-ilbgateway
  hosts:
  - tcp-server-2.l4.sandbox.gke
  tls:
  - match:
    - port: 443
      sniHosts:
      - tcp-server-2.l4.sandbox.gke
    route:
    - destination:
        host: tcp-server-2.default
        port:
          number: 3333

When applying this configuration, the following error occurs:
2019-03-06T09:10:23.935344Z     info    1 error occurred:

* gateway omitting listener "<IP_ADDRESS>_443" due to: must have more than 0 chains in listener: &v2.Listener{Name:"<IP_ADDRESS>_443", Address:core.Address{Address:(*core.Address_SocketAddress)(0xc4201f3b68)}, FilterChains:[]listener.FilterChain{}, UseOriginalDst:nil, PerConnectionBufferLimitBytes:nil, Metadata:(*core.Metadata)(nil), DeprecatedV1:(*v2.Listener_DeprecatedV1)(nil), DrainType:0, ListenerFilters:[]listener.ListenerFilter(nil), Transparent:nil, Freebind:nil, SocketOptions:[]*core.SocketOption(nil), TcpFastOpenQueueLength:nil}
2019-03-06T09:10:23.935549Z     info    ads     LDS: PUSH for node:istio-ilbgateway-58c794fb4b-nxzn6.istio-system addr:"<IP_ADDRESS>:48194" listeners:1 2290
2019-03-06T09:10:23.935594Z     info    ads     Push finished: 10.275332ms {
    "ProxyStatus": {},
    "Start": "2019-03-06T09:10:23.92531494Z",
    "End": "2019-03-06T09:10:23.935567394Z"
}

The HTTP listener is created as expected though:
$ istioctl proxy-config listeners -n istio-system istio-ilbgateway-58c794fb4b-nxzn6
ADDRESS     PORT     TYPE
<IP_ADDRESS>     80       HTTP

I believe the relevant code is in the file pilot/pkg/networking/core/v1alpha3/gateway.go. The way I see it, the problem is related to the fact that the function invoked to build listeners when TLS mode is SIMPLE is buildGatewayNetworkFiltersFromTCPRoutes, whereas we would need buildGatewayNetworkFiltersFromTLSRoutes, which is only invoked when TLS mode is PASSTHROUGH.
But I might have missed something obviously.
Do you think this feature could be implemented in the future?
Kind regards,
Yann

https://github.com/istio/istio/blob/master/pilot/pkg/networking/core/v1alpha3/gateway.go#L489 processes non passthrough TLS ports.. can you try this on istio-ingressgateway? (not ilbgateway)

Thanks for your answer. Is it supposed to work considering the default 443 port of the ingressgateway is named https? Or should I also declare a custom connector for pure TLS traffic?

Hello,
I have just made a test by applying the above configuration on the ingressgateway with istio 1.1.0-rc.6, as per your instructions.
I get more or less the same error from pilot:
2019-03-19T13:38:55.774444Z     info    1 error occurred:

* gateway omitting listener "<IP_ADDRESS>_443" due to: must have more than 0 chains in listener: &v2.Listener{Name:"<IP_ADDRESS>_443", Address:core.Address{Address:(*core.Address_SocketAddress)(0xc4200c6b18), XXX_NoUnkeye
dLiteral:struct {}{}, XXX_unrecognized:[]uint8(nil), XXX_sizecache:0}, FilterChains:[]listener.FilterChain{}, UseOriginalDst:nil, PerConnectionBufferLimitBytes:nil, Metadata:(*core.Metadata)(nil), DeprecatedV1:(
*v2.Listener_DeprecatedV1)(nil), DrainType:0, ListenerFilters:[]listener.ListenerFilter(nil), ListenerFiltersTimeout:(*time.Duration)(nil), Transparent:nil, Freebind:nil, SocketOptions:[]*core.SocketOption(nil),
 TcpFastOpenQueueLength:nil, XXX_NoUnkeyedLiteral:struct {}{}, XXX_unrecognized:[]uint8(nil), XXX_sizecache:0}

Same behavior with Istio 1.1. I created resources in the following order:

certificate
virtual services
gateway

I'm having the same issue. Could you reopen this?

I also have the same problems. according the code, seems it is not supported tls termianation for tcp over tls connections. will this function will be supported in future version?


clean up code design

I am working on cleaning up the code design in general.
constants.py got a major re-write
dust.py also needed a major revisit
I will be testing this to make sure nothing breaks

See branch: cleanup


link to github pages docs website in readme

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
2424

Relevant Lines:
2732

💛  - Coveralls


[Enhancement] Add PushDownTopNBelowUnionRule to support push down topn below union all  (#31475)

…n below union all  (#31475)
Fixes #issue
What type of PR is this:

[ ] BugFix
[x] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Does this PR entail a change in behavior?

[ ] Yes, this PR will result in a change in behavior.
[x] No, this PR will not result in a change in behavior.

If yes, please specify the type of change:

[ ] Interface/UI changes: syntax, type conversion, expression evaluation, display information
[ ] Parameter changes: default values, similar parameters but with different default values
[ ] Policy changes: use new policy to replace old one, functionality automatically enabled
[ ] Feature removed
[ ] Miscellaneous: upgrade & downgrade compatibility, etc.

Checklist:

[x] I have added test cases for my bug fix or my new feature
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[x] I have checked the version labels which the pr will be auto-backported to the target branch

[ ] 3.2
[ ] 3.1
[ ] 3.0
[ ] 2.5

[BE Incremental Coverage Report]
:heart_eyes: pass : 0 / 0 (0%)

[BE Incremental Coverage Report]
:heart_eyes: pass : 0 / 0 (0%)

[FE Incremental Coverage Report]
:heart_eyes: pass : 67 / 72 (93.06%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/qe/SessionVariable.java
2
4
50.00%
[1117, 1118]

:large_blue_circle:
com/starrocks/sql/optimizer/rule/transformation/PushDownTopNBelowUnionRule.java
62
65
95.38%
[59, 66, 71]

:large_blue_circle:
com/starrocks/sql/optimizer/Optimizer.java
1
1
100.00%
[]

:large_blue_circle:
com/starrocks/sql/optimizer/operator/logical/LogicalTopNOperator.java
1
1
100.00%
[]

:large_blue_circle:
com/starrocks/sql/optimizer/rule/RuleType.java
1
1
100.00%
[]

[BE Incremental Coverage Report]
:heart_eyes: pass : 0 / 0 (0%)


Typing ct into a query term value edit box opens a dialog

The term edit field is not consuming the key events so certain key binds/sequences are also being picked up by KeyBinding.

Fixed in >7.4-beta.12


do not install a global 'tests' package

setuptools.find_packages() finds all valid packages by default that
incidentally includes the test directory that gets installed as global
'tests'.  Add an explicit exclude to avoid that.

Coverage remained the same at 100.0% when pulling d433290bfb9583619448ca94195fa607412807d7 on mgorny:setup.py-tests into f65dd4b86c8fb7575e8b52855139d883baffcd89 on WoLpH:develop.

Coverage remained the same at 100.0% when pulling d433290bfb9583619448ca94195fa607412807d7 on mgorny:setup.py-tests into f65dd4b86c8fb7575e8b52855139d883baffcd89 on WoLpH:develop.

Thank you for the fix :)
I've got similar fixes for many of my other packages but I forgot to do the same for this one.

Thank you for the fix :)
I've got similar fixes for many of my other packages but I forgot to do the same for this one.


Update siren_pytorch.py

Hi,
From what I understood from your paper, only W0_initial is 30, and for the rest of the layers, W0 should be 1.

:pray:

:pray:


Deduplicate soc2 controls.

@rhoboat Thanks for using Steampipe 👍  Glad to see that you are working through the SOC2 controls.
We will definitely look into this PR and provide you with the feedback 👍

@misraved Hi there! I made this PR as a test locally for deduplicating controls across benchmarks. I definitely do not think this is the way to do it, and do not want feedback on this particular PR, so I've converted it to a draft.
Do you think there's any merit in creating a deduper at the steampipe-repo level? If so I'll open an issue there to discuss design/pro/cons.
Some initial rough thoughts:
Benefits:

run each control only once, might be somewhat more performant even though the checks are pretty quick
show the results for alarms/errors only once for each failure. currently it can look like you have multiple failures when it's the same control run and failing multiple times.
easier to remediate when going through results because of no duplication

Questions:

how should the results be grouped? currently they're grouped under benchmark/standard. but if a standard no longer does a check because it was a duplicate, how do we show results?
should there be a special flag for deduplicating the results, once we figure out how to group/organize them?
ather than in this mod, that can run each control only once, and then group the results by standard? I'll have to think about the UX of this, but something like:

@rhoboat appreciate your thoughts around this, I guess this is a broader perspective discussion, which requires other experts from our team to participate. With my basic understanding from your note, just wanted to clarify, so that we can route other persons
I am just giving an example below to be specific, pls correct me if, I am wrong -- this may help others to understand and feedback
When you mean  deduplicating controls across benchmarks, does this mean if we have used e.g.  control.ec2_instance_in_vpc (EC2 instances should be in a VPC) in multiple controls in the same benchmark? to be more specific
HIPAA >
Benchmark: 164.308 Administrative Safeguards  >>  uses control.ec2_instance_in_vpc in

164.308(a)(1)(ii)(B) Risk Management
164.308(a)(3)(i) Workforce security

** Benchmark: 164.312 Technical Safeguards**  >>

164.312(e)(1) Transmission security
164.312(a)(1) Access control

if all the above is true, then you are suggesting to have an approach, where we can leverage the benefits section mentioned by you?
Yes, we have observed the same while developing the controls for different benchmarks. This is definitely something we can discuss internally/community to gather feedback.
Initially, when we started developing mods, particularly with AWS, we found AWS implements a similar approach to use the same control across multiple benchmarks or within the benchmark.
The reason can be, end-user may want to build a full compliance report for a specific benchmark or can be specific sections of the benchmark independently by executing controls.
Similarly, in steampipe we can execute
steampipe check aws_compliance.benchmark.hipaa_164_312 or
steampipe check aws_compliance.benchmark.hipaa_164_308_a_1_ii_b
This may provide flexibility and an established pattern to start with. Additionally, steampipe uses caching for better performance of the query, when re-used, refer to Better concurrency and caching
But it's fair to think if we can be smart enough to address the deduplicating controls across benchmarks and some of the points you have mentioned. Will tie up a few others to provide their feedback and take it forward. Happy to see your further response on it as well.

Hey @rhoboat , thanks for the PR and start of the discussion!
As @rajlearner17 had mentioned, Steampipe does leverage caching (unless explicitly disabled), so even if multiple controls/queries are run multiple times in a single steampipe check run, the results are cached, so performance wise re-running controls shouldn't majorly impact performance.
For the SOC2 benchmark, and others, we chose to re-use controls across multiple benchmarks and controls when the source material (in this case, AWS) has them mapped this way to provide a complete set of controls. For instance, if we remove benchmark.soc_2_cc_3_4, and a user runs the full SOC2 report, they may notice that CC3.4 is missing and think that the benchmark is incomplete.
When you run the SOC2 benchmark and any others, how do you use the results from Steampipe? Are you verifying that each section is present and passing? Or do you just check that the full report (no matter what sections there are) are all passing? And in regards to duplicates, do they diminish the value of the report for you in any way based on how you use or export the results?

Thanks for engaging on this discussion!
With the added knowledge that steampipe leverages caching unless disabled, I think the benefits of deduplicating controls across benchmarks is significantly reduced. It would come down to only:

show the results for alarms/errors only once for each failure. currently it can look like you have multiple failures when it's the same control run and failing multiple times.

And based on that, I don't think it's worth doing this work.
To elaborate on why: We use the results in order to put remediation in place to address the failing steampipe checks. So, typically we write the results out to html for easier reading in a browser, then make a spreadsheet/list of issues based on the failures; then we create GitHub issues for each of those. So the particular benchmark number that we're targetting is no longer really a concern once we start the remediation. It's still essential / useful as a report for us, to make sure all the checks are run in the overall report, and all the benchmark standards are covered.
Seeing the duplicate errors does not diminish the value of the report--which is a good point.

Thanks for the explanation of your use case @rhoboat , it's always helpful for us to understand how people are using our plugins and mods.
Also, as a possible alternative, if there are specific queries that are only used in a subset of the SOC2 controls, or are outside of the scope of SOC2, you can add new benchmarks and controls either in this mod (in a fork), or in another mod, that leverages the queries in this mod.
I'll be closing this PR based on your comments above, but please let us know if you have any other questions!


Remove default ports from issuer url

I use IdentityServer4 with an ASP.NET Core API, both hosted in the same API and IdentityServer4.AccessTokenValidation as and authentication scheme.
It works great so far but an user of mine uses an external tool to request tokens and has not full control over each http request.
This tool request the token from https://domain:443/identity-server/... but all other clients do not include the default port.
I inspected the JWT token and it includes the url with port as an issuer.
The request fails then with: Bearer was not authenticated. Failure message: IDX10205: Issuer validation failed.
I checked the code and the issuer is created from the http context. But the host contain the port: https://docs.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.http.httprequest.host?view=aspnetcore-2.2
I think it would be great to remove the default ports (80, 443) from the host when creating the issuer url.
I can probably write a middleware for that as an alternative.

I'd prefer they change the request on their side and IdentityServer infer issuer based on the HTTP request.
If they can't change anything on their side, you could always manually set the IssuerUri in your IdentityServerOptions.

I told them the same but it was not possible for my customers.
I have solved it with a middleware: https://github.com/Squidex/squidex/blob/master/src/Squidex/Pipeline/CleanupHostMiddleware.cs
But I think it should be the default behavior.

I don't see us doing this, but since you have a workaround I'll close this.


Make UI components modular for different viewing and labeling scenarios

https://github.com/darkecology/roostui/issues/23

https://github.com/UMassCDS/roostui/issues/7


Version bump to v0.12.0

Description
Bump to 0.12.0 now that<EMAIL_ADDRESS>has added light support
License Acceptance

[x] This repository is Apache version 2.0 licensed and by making this PR, I am contributing my changes to the repository under the terms of the Apache 2 license.

Type of changes

[ ] Add/update a helper script
[ ] Add/update link to an external resource like a blog post or video
[ ] Bug fix
[ ] New feature
[ ] Test updates
[ ] Text cleanups/updates
[x] New release

Checklist

[x] I have read the CONTRIBUTING document.
[x] All new and existing tests pass.
[ ] Any scripts added use #!/usr/bin/env interpreter instead of potentially platform-specific direct paths (#!/bin/sh is an allowed exception)
[ ] Scripts added/updated in this PR are all marked executable.
[ ] Scripts added/updated in this PR do not have a language file extension unless they are meant to be sourced and not run standalone. No one should have to know if a script was written in bash, python, ruby or whatever. Not including file extensions makes it easier to rewrite the script in another language later without having to change every reference to the previous version.
[ ] I have confirmed that any links added or updated in my PR are valid.

🦙 MegaLinter status: ✅ SUCCESS

Descriptor
Linter
Files
Fixed
Errors
Elapsed time

✅ COPYPASTE
jscpd
yes

no
1.9s

✅ EDITORCONFIG
editorconfig-checker
1

0
0.0s

✅ REPOSITORY
gitleaks
yes

no
0.39s

✅ REPOSITORY
git_diff
yes

no
0.01s

✅ REPOSITORY
grype
yes

no
8.67s

✅ REPOSITORY
secretlint
yes

no
0.77s

✅ REPOSITORY
trivy
yes

no
5.16s

✅ REPOSITORY
trivy-sbom
yes

no
3.78s

✅ REPOSITORY
trufflehog
yes

no
2.57s

See detailed report in MegaLinter reports
Set VALIDATE_ALL_CODEBASE: true in mega-linter.yml to validate all sources, not only the diff
MegaLinter is graciously provided by


404 error for snakemake azure tutorial

Looks like the following link is now broken
https://snakemake.readthedocs.io/en/stable/executing/cloud.html#executing-a-snakemake-workflow-via-azure-batch

Hey there,
I use Snakemake a ton and would really love to keep using it as I move to using Azure Batch.  I have been looking around and am stuggling to find any current documentation or tutorials that describe if/how Snakemake supports Azure Batch.  I tried an old tutorial but the flags don't exist in the newest version of Snakemake.  So I suppose my first question is, Does Snakemake support Azure Batch?  If so, can you point me to current docs that describe how to do this?
Thanks!

@jakevc @johanneskoester would it be possible to get your thoughts on the above? Is there currently support for Azure Batch, and if so, where is the most up-to-date documentation? Thanks!


freeze_lanenet_model

Key lanenet_model/bisenetv2_backend/instance_seg/pix_bn/beta not found in checkpoint

@git-chenjiqing Paste the command you used here:)

I'm trying:
Freeze your tensorflow ckpt model weights file
python mnn_project/freeze_lanenet_model.py -w lanenet.ckpt -s lanenet.pb

I tried to freeze the tensorflow CKPT model weight file

I used a new lanenet model based on bisenetv2 training

@git-chenjiqing The code in mnn_project/freeze_lanenet_model.py was written for old code which is not match with new repo. You need to modified that code.

@git-chenjiqing 这个问题已经修复了 重新更新下代码就好了:)

好的，谢谢


Floating Action Button Icon is not Rotating for Bottom Sheet

Bottom sheet icon is not Rotating Based on Bottom sheet state & sheet is not closing in Previews intractive mode.

Fixed in #31


[Feature]: Enhanced Context Menu for Knowledge Sources

Is your feature request related to a problem? Please describe.
No

Describe the solution you'd like
Use hierarchical menu instead of flat menu. Example structure:

Details
File

Preview
Open in...

Default
Finder | File Explorer
Choose...

Move to...

Web

Preview
Open in...

Default
Safari | Chrome | Firefox
Choose...

Copy

Path | Link
File
Metadata

Go to Project
Move to Project...
Remove

Notes: See ks-context-menu-service. This should be as easy as adding/moving/removing existing flat menu items.
More advanced functionality could be built in to detect what the default application is but not necessary.
The Move to... functionality is not built.

Closing as not planned.


Added supplemental text

Closing as obsolete. An array of supplimental text was replaced by an array of descriptions.


No fixed number of selection of images from gallery there

If i want to restrict user to select a fixed number of images from gallery. i cant do that. please provide any specific solution for picking up fixed number of images selection from gallery

I agree with this +1.


fixes #5291 on 3.3.x

Forward port of #5292

Coverage remained the same at 88.134% when pulling 0e8e3503623079839b9d0ff88e384467303a0ef1 on czpython:fixes/3.3.x/issue-5291 into 35d4461424b272230d52b6d19e11f319497f91e4 on divio:develop.


Fix UI Header Response to Browser and Crossfeed Logo Routing

🗣 Description

Fixed an issue preventing responsiveness from the UI header.
Adjusted NavLink styling.
Corrected Crossfeed logo routing incorrectly.

💭 Motivation and context
Closes issues 16 & 17.

🧪 Testing
Sign in as different user types and see if the header is correctly displayed and responsive.

📷 Screenshots
Full screen design

Small screen design

✅ Pre-approval checklist

[x] This PR has an informative and human-readable title.
[x] Changes are limited to a single goal - eschew scope creep!
[x] All future TODOs are captured in issues, which are referenced
in code comments.
[x] All relevant type-of-change labels have been added.
[x] I have read the CONTRIBUTING document.
[x] These code changes follow cisagov code standards.
[x] All relevant repo and/or project documentation has been updated
to reflect the changes in this PR.
[ ] Tests have been added and/or modified to cover the changes in this PR.
[ ] All new and existing tests pass.

✅ Pre-merge checklist

[ ] Revert dependencies to default branches.
[ ] Finalize version.

✅ Post-merge checklist

[ ] Create a release.

Tested in both Safari and Chrome.
Chrome:

Safari:

All tested and works as expected.


Krhubert/cli

@mesg-foundation/core a modification should be test or done on: (see comment of this PR)
https://github.com/mesg-foundation/core/blob/dev/scripts/build-cli.sh#L7

Closing this PR in favor of https://github.com/mesg-foundation/core/pull/343/files


Create admin-only page to view all users and roles

 Issue by vantuyls
Thursday Sep 01, 2016 at 21:53 GMT
Originally opened as https://github.com/projecthydra/sufia/issues/2609

Create route, view, and controller that only an admin can view that displays a list of all users.

[ ] Create route that routes to an admin only controller
[ ] Controller that grabs all users and sends them to view
[ ] View which displays all users and roles associated with user.

Decomposition of #2421

 Comment by mjgiarlo
Friday Oct 28, 2016 at 23:12 GMT

There is a similar user/role management view in Lerna that we should extract and use for this in Sufia.
Out of scope for current mediated deposit sprints.

 Comment by vantuyls
Monday Oct 17, 2016 at 16:51 GMT

Mockup here:
https://wiki.duraspace.org/display/hydra/List+Admin+Set+Roles+-+Manage+Users%2C+Groups%2C+Roles+Mockups
but it may be dated...

Decomposed into #247, #248, #249, #250. Close? @vantuyls


Solver might be assuming full food benefits

Solver output
Ariyala for comparison
Ariyala is saying it has 4 less accuracy than the solver which makes me suspect that the solver assuming it's getting the full 24 accuracy from the omelet but it should only be getting 20.

Can you post me the CLI

`C:\Users\Slice\Desktop\FFXIVBisSolverCLI>FFXIVBisSolverCLI.exe -p "C:\Program Fi
les (x86)\Steam\SteamApps\common\FINAL FANTASY XIV - A Realm Reborn" BRD
GLPK Simplex Optimizer, v4.61
1272 rows, 4110 columns, 6790 non-zeros
0: obj =  -0.000000000e+00 inf =   2.278e+03 (6)
162: obj =  -0.000000000e+00 inf =   0.000e+00 (0)

500: obj =   3.576316000e+03 inf =   1.776e-15 (257) 1
1000: obj =   3.667686000e+03 inf =   1.915e-15 (41) 2
1135: obj =   3.667686000e+03 inf =   0.000e+00 (0) 2
OPTIMAL LP SOLUTION FOUND
GLPK Integer Optimizer, v4.61
1272 rows, 4110 columns, 6790 non-zeros
4110 integer variables, 346 of which are binary
Integer optimization begins...

1135: mip =     not found yet <=              +inf        (1; 0)
1135: >>>>>   3.667686000e+03 <=   3.667686000e+03   0.0% (1; 0)
1135: mip =   3.667686000e+03 <=     tree is empty   0.0% (0; 1)
INTEGER OPTIMAL SOLUTION FOUND
Gear:
Terpander Lux
Alexandrian Circlet of Aiming
Augmented Shire Conservator's Coat
Augmented Shire Conservator's Gloves
Alexandrian Gaskins of Aiming
Augmented Shire Conservator's Thighboots
Alexandrian Belt of Aiming
Proto Ultima Earrings of Aiming
Alexandrian Neckband of Aiming
Augmented Shire Conservator's Bracelet
Augmented Shire Conservator's Ring
Proto Ultima Ring of Aiming
Materia:
(Head, Alexandrian Circlet of Aiming, Quickarm Materia V, 2)
(Body, Augmented Shire Conservator's Coat, Quickarm Materia V, 2)
(Hands, Augmented Shire Conservator's Gloves, Savage Aim Materia V, 2)
(Legs, Alexandrian Gaskins of Aiming, Savage Aim Materia V, 2)
(Feet, Augmented Shire Conservator's Thighboots, Savage Aim Materia V, 2)
(Waist, Alexandrian Belt of Aiming, Heavens' Eye Materia V, 1)
(Ears, Proto Ultima Earrings of Aiming, Heavens' Eye Materia V, 1)
(Neck, Alexandrian Neckband of Aiming, Heavens' Eye Materia V, 1)
(Wrists, Augmented Shire Conservator's Bracelet, Savage Aim Materia V, 1)
(Right Ring, Proto Ultima Ring of Aiming, Savage Aim Materia V, 1)
(Left Ring, Augmented Shire Conservator's Ring, Heavens' Eye Materia V, 1)
Relic stats:
(Main Hand, Skill Speed, 91)
(Main Hand, Critical Hit Rate, 142)
(Main Hand, Accuracy, 51)
Food:
Priestly Omelette
Result stats with food:
[Physical Damage, 77]
[Dexterity, 1606]
[Skill Speed, 815]
[Determination, 437]
[Critical Hit Rate, 1318]
[Accuracy, 699]
Result stat weight: 3667.686`

Is this what you're looking for?

Thanks.

Found the problem.

Fixed in 1b45b29255f757ca24e9ae043a7e75e863e27b09

I'm not entirely sure if it was completely resolved, for instance i just gave it a go with NIN and it yielded me with these results:
Food:
Priestly Omelette
Result stats with food:
[Physical Damage, 85]
[Dexterity, 1593]
[Critical Hit Rate, 1308]
[Determination, 715]
[Skill Speed, 503]
[Accuracy, 699]
Result stat weight: 3474.504
However according to Ariyala for comparison, there is a significant gap in the Accuracy gained by Priestly Omelette, without food you'd be at 694 and with food you'd end up with 714
For reference here's what i ran:
FFXIVBisSolverCLI.exe -p "E:\SteamLibrary\SteamApps\common\FINAL FANTASY XIV - A Realm Reborn" -X 16055 NIN

It's a known issue that I haven't solved yet. Stat caps that don't have weights aren't maximized.
Actually, that's a different bug and I have a solution idea. Gimme a few.

Ah that makes sense. One slight thing i noticed when i took a peek at the config.yml to see if maybe i derped it when changing the values to Xaela i noticed that Dexterity had a rather weird number by default (298 to be precise, which is higher than what you can have from any race right now)

It's Raen Au Ra + 35 stat from allocation

I think when i took a peek at that (i have a Raen alt) all of the attributes were slightly inflated compared to the actual base stats, even considering the +35 per class/job
Are you also including the bonus stats from the job crystals?


[WIP] copypasta x11 support use xcb

Should add an x11 feature to support non-Linux OS(like freebsd) ?
Should support Windows?
Should add Clear trait?

Is there any advantage to using libxcb versus normal X APIs? xclip is obviously not ideal, but is xcb the right way to do this?

1

Yes, but it would need testing

2

Yes, but not a priority right now

3

Doesn't seem important, but correct me if I'm wrong.

@jwilm Qt uses xcb to implement the clipboard on x11, which I think is right.

3
It may not be important for the terminal emulator, but it should not be missing as a complete clipboard library.

I see somebody proposing to use copypasta on servo.

Qt uses xcb to implement the clipboard on x11, which I think is right.

Good enough for me

It may not be important for the terminal emulator, but it should not be missing as a complete clipboard library.

Makes sense. I'd rather not have features that nobody uses--someone has to maintain the code. If it's simple, then sure it seems fine.

I found an interesting library. when I'm ready, I will open a new PR.


sqlite_table_entry.cpp:56:42: error: cannot convert ‘duckdb::optional_idx’ to ‘duckdb::idx_t&’ {aka ‘long unsigned int&’}

What happens?
[ 59%] Built target sqlite_ext_library
[ 59%] Building CXX object test/api/CMakeFiles/test_api.dir/test_custom_allocator.cpp.o
[ 59%] Building CXX object extension/jemalloc/jemalloc/CMakeFiles/jemalloc.dir/src/prof_log.cpp.o
[ 59%] Building CXX object extension/jemalloc/jemalloc/CMakeFiles/jemalloc.dir/src/prof_recent.cpp.o
/…/sqlite_scanner/src/storage/sqlite_table_entry.cpp: In member function ‘virtual duckdb::TableStorageInfo duckdb::SQLiteTableEntry::GetStorageInfo(duckdb::ClientContext&)’:
/…/sqlite_scanner/src/storage/sqlite_table_entry.cpp:56:42: error: cannot convert ‘duckdb::optional_idx’ to ‘duckdb::idx_t&’ {aka ‘long unsigned int&’}
   56 |         if (!db.GetMaxRowId(name, result.cardinality)) {
      |                                   ~~~~~~~^~~~~~~~~~~
      |                                          |
      |                                          duckdb::optional_idx
In file included from /…/sqlite_scanner/src/include/storage/sqlite_catalog.hpp:13,
                 from /…/sqlite_scanner/src/storage/sqlite_table_entry.cpp:1:
/…/sqlite_scanner/src/include/sqlite_db.hpp:48:59: note:   initializing argument 2 of ‘bool duckdb::SQLiteDB::GetMaxRowId(const std::string&, duckdb::idx_t&)’
   48 |         bool GetMaxRowId(const string &table_name, idx_t &row_id);
      |                                                    ~~~~~~~^~~~~~
[ 60%] Building CXX object tools/shell/linenoise/CMakeFiles/duckdb_linenoise.dir/terminal.cpp.o

To Reproduce
Compile duckdb version ba2b8a318d6b151e24094f9ac848aab37a7fea39 with:
env BUILD_PYTHON=1 BUILD_ODBC=1 BUILD_HTTPFS=1 BUILD_AUTOCOMPLETE=1 BUILD_ICU=1 BUILD_FTS=1 BUILD_JSON=1 GEN=ninja make -j8

Clone sqlite_scanner version 70a4c411434290b4af704940987a324d84af0024, symlink to the previous duckdb repository then compile with:
env BUILD_PYTHON=1 BUILD_ODBC=1 BUILD_HTTPFS=1 BUILD_AUTOCOMPLETE=1 BUILD_ICU=1 BUILD_FTS=1 BUILD_JSON=1 make -j8

I'm using gcc-c++-14.0.1-0.13.fc40.x86_64
OS:
Linux (Fedora 40)
SQLite Version:
3.45.1-2.fc40.x86_64
DuckDB Version:
ba2b8a318d6b151e24094f9ac848aab37a7fea39
DuckDB Client:
ba2b8a318d6b151e24094f9ac848aab37a7fea39
Full Name:

Affiliation:

Have you tried this on the latest main branch?

[X] I agree

Have you tried the steps to reproduce? Do they include all relevant data and configuration? Does the issue you report still appear there?

[X] I agree

It seems to be fixed in duckdb version 50580b2456
and sqlite_scanner version 091197e

I think this is solved on v0.10.2 + sqlite_scanner at 091197efb34579c7195afa43dfb5925023c915c0, that is the version declared in https://github.com/duckdb/duckdb/blob/main/.github/config/out_of_tree_extensions.cmake#L92.


refactor modeldstate

extract out the duplicate code into functions.make the code easy to read.

We're still working on tests for modeld, will merge it in after those tests work and this PR passes them

Continued in #2720.


[10.x] Configure validation in Generator Command

I've got some exciting updates to share regarding the configuration of our commands! I've taken steps to make them even more useful by adding a validation feature.

If you check out my command built with the GeneratorCommand, you'll see how this validation works.

I understand that @jessarcher has also done some great work before, but my focus has been on this validation aspect, which I believe could be a valuable addition.

I'm eager to know what you think about this. Your feedback is super important as it will help make this command even better!

Thanks.

Hey @utsavsomaiya,
Thanks for the PR. I'm a bit worried about the tuple getting out of control.
It's already possible to add validation by using a closure instead of the tuple, where you can return any prompt you like.
To use your example, it would look something like this:
return [
    'name' => fn () => text(
        label: 'What should the Enum be named?',
        placeholder: 'E.g. JsonEnum',
        required: true,
        validate: fn (string $value) => match (true) {
            ! Str::of($value)->endsWith('Enum') => 'The name must have suffix "Enum".',
        }
    ),
];

Yeah, it works. Thanks.
I understand the concern about things getting out of control due to users overriding the methods provided by traits. While I know that not everyone can work with this, there are times when it can indeed spiral out of control. Also, after the release of the new version of PhpStorm, some developers are not using the make:... command. I must admit, I'm quite fond of it myself.
Why not consider adding the required validation in Laravel? Other validations could be left for people to manage as they see fit. If you're comfortable with this idea, we could explore implementing it. Just letting you know that I really appreciate it.

Even we also override this method also.. But I don't know it's good.
After you approve I will make it for the livewire. Otherwise it's okay with your solutions.

The out of control part is happening because we first had symfony's prompts, then we had termwind, and now we have laravel prompts. Nice additions, but it feels like Laravel becoming one big experiment. Like with the custom rule objects ,which had invokable a standard for a very short time before settling (I hope) for the ValidationRule interface.

Thanks for your pull request to Laravel!
Unfortunately, I'm going to delay merging this code for now. To preserve our ability to adequately maintain the framework, we need to be very careful regarding the amount of code we include.
If possible, please consider releasing your code as a package so that the community can still take advantage of your contributions!
If you feel absolutely certain that this code corrects a bug in the framework, please "@" mention me in a follow-up comment with further explanation so that GitHub will send me a notification of your response.


Development workflow enhancements

The following things should be addressed to improve the development workflow and to streamline the contribution process:

enable DCO bot usage (https://github.com/probot/dco)
make sure YAML files are properly detected as such via corresponding .gitattributes settings

Fixed by #8


Consider a prelude?

This is a great project - I apologize if this is not a wanted issue type, please delete if so. I noticed that many of the examples use a lot of imports to the point of being >10 lines. Would you consider creating a prelude such as bevy's prelude to export all useful types?

I apologize if this is not a wanted issue type, please delete if so.

No no no, this is a good idea. I will add that in the next version.
Your ideas (issues/prs/or even just messages you send on discord) to improve the project, no matter whose, will always be appreciated. So please feel free to make suggestions! There doesn't exist any reason for you to apologize.

Added in 0.2.5


Solaris: fixes build and tests, adds CI

Disables some tests for Solaris.
test/test_sendfile.rs:
Solaris, sendfilev() doesn't support AF_UNIX sockets. Instead, it expects an AF_INET or AF_INET6 sockets.

BTW, looks like x86_64-sun-solaris was renamed to x86_64-pc-solaris, so this PR can close #935?

Hurd CI failure seems to be related to rust-lang/libc#3785.

Right, std is broken due to that PR

I just disabled the Hurd CI, you can rebase your branch to fix the issue:)


The steps to run kube_setup.sh are inaccurate

go over Getting Cloweder (at REDME.adoc) step by step:
the part of installtion Clowder with latest release:
'Clowder can then be installed by visiting the latest release page, copying the link to the manifest, and running something similar to that shown below:'
should locate before running the kube_setup.sh script
the script exist in clowder folder, so you have to install it before

I'm sorry it's taken so long to get back on this one - can you see if the README better represents what you need now?


New Piskel button

Can be integrated with the piskelapp.com with an extra init data parameter.
Will push a PR at the website repo to be in sync when this one gets merged.
Solving this issue: https://github.com/juliandescottes/piskel/issues/526

This change is

Didn't try the PR yet, but I'm not a big fan of having a direct action coming from a button in the right sidebar. All buttons in this area should open the right panel/drawer.
In earlier versions of Piskel, I had action buttons mixed in there.  It was a pain to use. You never remember which button will open the drawer, which button will trigger an action. And one of the two implies a bigger commitment from the user. After some time you find yourself always pausing before clicking to make sure you're not going to misclick and trigger some action. But if all buttons open the drawer, you don't care, if it was the wrong one you can just switch.
Long story short, if we want to integrate a "new piskel" button in the editor UI, it has to go somewhere else. It can still be on the right side, but it has to be clearly separated from the other buttons.

I think the 'new piskel' button for the desktop app should be located where the 'create piskel' is located on the web app.  I agree that the sidebar probably is not the best place.  Is there any update on this, it seems to have been forgotten?

@fafafrei this feature was not necessarily about the desktop applications I think. But it's true having a "new piskel" button there would be nice.
I am not sure how it will work in the desktop app though. The current PR works using the assumption that creating a new piskel can be done by doing a window.open to a given link (which works fine for piskelapp.com where you can just window.open('http://piskelapp.com/p/create').
Looking at the nwjs documentation I guess we can use a similar approach with http://docs.nwjs.io/en/latest/References/Window/#windowopenurl-options-callback ? If someone wants to give it a shot and confirm this works we can repurpose this issue to add the new button in the desktop apps.


fix(koa-rest-api): Use per Gantry environment concurrency group in dev

Matches the production concurrency group configuration.

I believe we should use this now Gantry uses it's own lock anyway we can't get around it.


How can i disable and create new monitoring rule and alert

I am trying to configure custom alert such “Two Cas pods should not run on same worker node”.  Using below step to complete the same but unable to configure new alert rule :
1)- Created new alter rule :
additionalPrometheusRules:   ----- ####i have tried with to add and remove this line

name: CustomeRules
groups:

name: CAS-Alert-Rule
rules:

alert: CASPodsNode
expr: topk(1,sort_desc((count (kube_pod_info{created_by_kind="CASDeployment"}) by (node)))) == 1
for: 5m
labels:
severity: critical
annotations:
summary: "More than One CAS Node Are running on Same Node: (instance {{ $labels.node }})"
description: "Two CAS pods got Assgined to Same node. Could be cause Perfomeance Issue"

2)- Add line in rules in user-values-prom-operator.yaml pormetheus section
3)- Run monitoring/bin/deploy_monitoring_cluster.sh Script to apply the changes .
Unfortunately,  not working for me. Would be helpful if you could provide any assistance in this.

A better approach may be to create a standalone PrometheusRule yaml file.
I didn't configure my environment to actually trigger the alert, but I got the alert defined with this yaml:
`
apiVersion: monitoring.coreos.com/v1
kind: PrometheusRule
metadata:
name: cas-rules
spec:
groups:

name: cas-rules-group
rules:

alert: multiple-cas-workers-on-node
expr: count(kube_pod_info{created_by_kind="CASDeployment"}) by (node) > 1
for: 5m
labels:
severity: critical
annotations:
summary: "More than one CAS pod is running on the same node: (instance {{ $labels.node }})"
message: "More than one CAS pod is assgined to a single node. This could cause performance issues."
`

All I did was kubectl apply -n monitoring -f [path/to/theFile.yaml]
You can then see the rule in Status->Rules in the Prometheus UI

Thanks for help. I am able to add new alert.
Can we disable the default existing alert ?

What existing alert are you looking to disable?

name: KubeControllerManagerDown
expr: absent(up{job="kube-controller-manager"} == 1)
for: 15m
labels:
severity: critical
annotations:
description: KubeControllerManager has disappeared from Prometheus target discovery.
runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubecontrollermanagerdown
summary: Target disappeared from Prometheus target discovery.

Fortunately, that rule is the only one in the monitoring/v4m-kubernetes-system-controller-manager Prometheusrule custom resource.


Add App Extension API Only Framework

With the latest master SDWebImage, WebImage iOS 8 Framework, you can not use this in Extension targets. There should be also be an app extension safe version.

@bassrock what's the problem with App Extensions? Could we only have 1 framework target that works all round instead of 2 targets?

@flovilmart There are about 4 places where SDWebImage calls sharedApplication for background tasks. sharedApplication can not be used in app extensions, like today views, watch extensions, or other frameworks.
I made it a seperate target because I did not know of any other way to do this properly.

Ok, that make sense.
We should check at runtime for sharedApplication so we have a single framework that work in every case
On Fri, Mar 20, 2015 at 1:54 PM, bassrock<EMAIL_ADDRESS>wrote:

@flovilmart There are about 4 places where SDWebImage calls sharedApplication for background tasks. sharedApplication can not be used in app extensions, like today views, watch extensions, or other frameworks.
I made it a seperate target because I did not know of any other way to do this properly.
Reply to this email directly or view it on GitHub:
https://github.com/rs/SDWebImage/issues/1082#issuecomment-84087560

Will that work for Carthage still?

@bassrock that should not interfere with Carthage as the only thing Carthage needs to build the framework is the shared scheme.
I'd rather to keep everything under one roof instead of having multiple targets if that makes sense for you.
@bpoplauschi what do you think?

Instead of adding the flag we could check for:
Class UIApplicationClass = NSClassFromString(@"UIApplication");
if(!UIApplicationClass || ![UIApplicationClass respondsToSelector:@selector(sharedApplication)]) {
    return;
}

Check it out there: flovilmart/SDWebImage/tree/AppExtensionSafe

@flovilmart so that won't work, when you check the app extension safe box in Xcode for the framework a build will complain because it checks at compile time.

I don't see the issue here
On Fri, Mar 20, 2015 at 4:36 PM, bassrock<EMAIL_ADDRESS>wrote:

@flovilmart so that won't work, when you check the app extension safe box in Xcode for the framework a build will complain because it checks at compile time.
Reply to this email directly or view it on GitHub:
https://github.com/rs/SDWebImage/issues/1082#issuecomment-84138081

@bassrock with carthage the frameworks are built with the carthage tool so your project doesn't build the frameworks itself. In that case, Xcode can't complaint because it actually never builds the framework.

While true you still get a warning about linking dylib unless the App Extension was checked on the framework and my understanding is that if we were to go with your proposed solution the framework won't build with that checked, and its possible you can get a rejection. I could be totally wrong

The solution I propose check at runtime the availability of UIApplication and sharedApplication, that can't lead to a rejection. And that disables the UIApplication related features, the same way your compile time flag does.

@flovilmart I just downloaded your branch and tried to build it with the "Allow App extension API only" checked. And get a build failure.

Ok that makes sense, Do you have treat warnings as error and “Require Only App-Extension-Safe API” build setting to Yes?
I,ve set the Require Only App-Extension-Safe API to NO and it runs properly
as you can see there:

Yes it does run properly when you disable that checkbox. However you still get a linking against dylib is unsafe when that is unchecked, which could still trigger a rejection.
"To configure an app extension target to use an embedded framework, set the target’s “Require Only App-Extension-Safe API” build setting to Yes. If you don’t, Xcode reminds you to do so by displaying the warning “linking against dylib not safe for use in application extensions”. "
https://developer.apple.com/library/prerelease/ios/documentation/General/Conceptual/ExtensibilityPG/ExtensionScenarios.html

However based on that and not having tried submitting an app with that warning I am unsure if it actually will trigger a rejection. But I do not doubt it.

I've updated my branch with performSelector:@selector(sharedApplication) and the warning goes away, as well as the warning at link time with Require Only App-Extension-Safe-API =  YES

Ok that sounds better then! Sweet! Now my question would be why did AFNetworking do the compile flags vs. this way. More so curiosity/specific reason for submission or something.

I really dunno you should ask them :)
The performSelector method is kinda dirty as it’s runtime manipulation
On Fri, Mar 20, 2015 at 6:49 PM, bassrock<EMAIL_ADDRESS>wrote:

Ok that sounds better then! Sweet! Now my question would be why did AFNetworking do the compile flags vs. this way. More so curiosity/specific reason for submission or something.
Reply to this email directly or view it on GitHub:
https://github.com/rs/SDWebImage/issues/1082#issuecomment-84174214

@flovilmart The method that you suggested is not correct, since the class UIApplication is available in App Extension and it responds to the method sharedApplication. But we have no right to use it because Apple will reject an application that will use this method.
To resolve this problem, you can use my category and simple condition:
UIApplication *application = [UIApplication rsk_sharedApplication];
if (application) {
    // call any method of the app instance
}

Did you got real life approved apps with that strategy? I don't mind which one we use.
On Sat, Mar 28, 2015 at 3:20 PM, Ruslan Skorb<EMAIL_ADDRESS>wrote:

@flovilmart The method that you suggested is not correct, since the class UIApplication is available in App Extension and it responds to the method sharedApplication. But we have no right to use it because Apple will reject an application that will use this method.
To resolve this problem, you can use my category and simple condition:
UIApplication *application = [UIApplication rsk_sharedApplication];
if (application) {
    // call any method of the app instance
}

Reply to this email directly or view it on GitHub:
https://github.com/rs/SDWebImage/issues/1082#issuecomment-87287646

@flovilmart Not yet, but I don't see any reason that could cause rejection.

In both cases it's tomatos and tomatos.
Both check for availability of selector at runtime. Your implementation is pretty much the same in the end as the repondsToSelector calls the runtime underneath.
On Sat, Mar 28, 2015 at 3:20 PM, Ruslan Skorb<EMAIL_ADDRESS>wrote:

@flovilmart The method that you suggested is not correct, since the class UIApplication is available in App Extension and it responds to the method sharedApplication. But we have no right to use it because Apple will reject an application that will use this method.
To resolve this problem, you can use my category and simple condition:
UIApplication *application = [UIApplication rsk_sharedApplication];
if (application) {
    // call any method of the app instance
}

Reply to this email directly or view it on GitHub:
https://github.com/rs/SDWebImage/issues/1082#issuecomment-87287646

I will be trying with @flovilmart's method to submit an app within the next few days with WatchKit and TodayView support. So far it works with Apple's TestFlight so we will see if it can make it past a real review.

You,re taking a bullet for the team!
I believe the restriction is meant to prevent any calls to sharedApplication from watch kit as it may crash the glance or the extension.
I don’t think having the code there would actually lead to a rejection, still I may be wrong  :)
On another note, the check is kinda messy and may be wrapped into a [UIApplication safeSharedApplication]
On Tue, Mar 31, 2015 at 3:07 PM, bassrock<EMAIL_ADDRESS>wrote:

I will be trying with @flovilmart's method to submit an app within the next few days with WatchKit and TodayView support. So far it works with Apple's TestFlight so we will see if it can make it past a real review.
Reply to this email directly or view it on GitHub:
https://github.com/rs/SDWebImage/issues/1082#issuecomment-88211229

@flovilmart yea we will see. With the floodgates opened this morning it's now just deciding if it is ready.

@flovilmart well my app went into review this morning using this patch. We should have an answer soon.

Awesome!
On Wed, Apr 8, 2015 at 5:12 PM, bassrock<EMAIL_ADDRESS>wrote:

@flovilmart well my app went into review this morning using this patch. We should have an answer soon.
Reply to this email directly or view it on GitHub:
https://github.com/rs/SDWebImage/issues/1082#issuecomment-91038323

@bassrock @flovilmart Any update on this? Was your app accepted?

@justinschier yes it was. I thought i replied to this but it looks like my reply got deleted.

Hi @justinschier , it's been a while... We met at Gamification Conference at SF back 3 years ago!

Hello, I am wrestling with this issue as well. I'm curious what the implications are of skipping the backgroundCleanDisk calls; does this mean that the cache just grows forever, or is there something that extension code must do manually to trim the cache?

@bassrock It's nice that your app is accepted. I can use this library again, hahh~
@flovilmart what's the meaning of "xxx that disables the UIApplication related features"? Can you tell me something about the related features? THX a lot...

@cwhstcnn basically when in app extensions, Apple forbids calling to [UIApplication sharedApplication] as it doesn't really make sense. The [UIApplication sharedApplication] is the host app, and an extension can't really call any methods on it as it's likely not being in the same memory space.
So what I did was make sure that features relying on UIApplication were properly not called at runtime but adding the runtime checks. Mostly it removes the backgroundTask management provided by the application when using SDWebImage into an app extension.
@gwk I believe Applications and their extensions share the same folders (tmp, documents etc...) (a per documentation) so in all logic, they should share the same cache; therefore, the backgroundCleanDisk won't be skipped by the main application and cache will be properly cleaned. (Still I haven't checked)

@flovilmart thanks; that was what we settled on as well.

@flovilmart  THX,,,it really helps me a lot

Fixed with #1085. @flovilmart @bassrock @auibrian @mythodeia many thanks for working on this. For 4.0, we will take a deeper look at #1182 and see if we can switch to that.


user can access version metadata of a received share before accepting it

upload a file curl -v -k -u richard:superfluidity -X PUT https://localhost:9200/remote.php/dav/files/richard/file.txt -d "123"
save the fileid from Oc-Fileid header
share the file curl -v -k -u richard:superfluidity -X POST https://localhost:9200/ocs/v2.php/apps/files_sharing/api/v1/shares -d 'permissions=1&path=%2Ffile.txt&shareType=0&shareWith=einstein' -H "Content-Type: application/x-www-form-urlencoded"
as receiver access the versions information of the file curl -k -u einstein:relativity -X PROPFIND https://localhost:9200/remote.php/dav/meta/<<FILEID>>/v

in oc10 this is not possible before accepting the share

trying to reproduce but I cannot manage to see the Oc-Fileid header on any requests, in fact, I see no Oc-* headers. Perhaps a bit more context / reproducible steps for future us?

trying to reproduce but I cannot manage to see the Oc-Fileid header on any requests, in fact, I see no Oc-* headers. Perhaps a bit more context / reproducible steps for future us?

@refs the first request (upload) curl -v -k -u richard:superfluidity -X PUT https://localhost:9200/remote.php/dav/files/richard/file.txt -d "123" returns me an Oc-Fileid header

It does not do that for you?

@refs the first request (upload) curl -v -k -u richard:superfluidity -X PUT https://localhost:9200/remote.php/dav/files/richard/file.txt -d "123" returns me an Oc-Fileid header

It does not do that for you?

@individual-it aaah, sorry, got it. Can confirm I was able to reproduce it 👍

@individual-it aaah, sorry, got it. Can confirm I was able to reproduce it 👍

re-tested with local server oCIS version 1.11.0
it reproduces

is not possible yet fixed #5531