Improves Controller and Adapter relationship

Controllers that have adapters are AdaptableControllers
AdaptableController is validating the Adapter type dynamically
AdapterLoader is responsible for loading the adapter based on mixed params and a defaultAdapter (if provided)

@nlutsenko a small refactoring for the Controller / Adapters relationship so we maximise reusabliliy.
Adapters can now be specified in the 'options' as string (to load the module), function to instantiate, or the instantiated object directly.

I'd like to end up in a situation where external people can implement adapters without having the parse-server package as a dependency (ideally without having anything at all as a dependency). While this change doesn't prevent that from happening, it doesn't really encourage it either, as our internal adapters now depend on the some abstract base layer and don't provide a good reference for how to implement external adapters without that abstract base layer. I'd actually like to even move the default/internal adapters into their own package and have parse-server depend on them (and them not depend on parse-server) I'm in the middle of implementing mail adapters using this strategy, so I'll have a demo fairly soon.
I'm open to other architectures though. Thoughts?

I'm removing the dependency on BaseAdapter, and make a check on the options.constructor !== Object.
and that will help support this transition as fileAdapter: "parse-server-azure-adapter" will be taken care of :)

@drew-gross so that's refactored without the BaseAdapter. There is no need of dependency anymore between adapter and parse-server.
Only the PushAdapter provides super class implementation, to remove code duplication internally.
parse-server should still be a 'dev dependency' and we should be able to run the according tests with 3rd party adapters, this is something that I would have liked to have with the parse-server-urban-airship to ensure the adapter is working correctly as the test suite is exactly the same as the core one.
For the mail adapter, I believe we'll have a MailController, with the same adapter interface,
MailController should conform to AdaptableController, to benefit the common module loading/options mechanics. This way in index.js we'll have a simple pattern:
let mailController = new MailController(mailOptions, DefaultMailAdapter);

So thanks to ES6 and classes, we have a proper static setDefaultAdapter() on the AdaptableController.
The adapter can be className, object, function, string etc... That's great for supporting 3rd party adapters really, they can be configured from a configuration JSON even with:
{
  push: {
    adapter: "parse-server-urban-airship",
    optionA: "value",
    optionB: "value",
  }
}

That will be the same for mail, and that could even be like:
{
  mail: {
    adapter: {
       send: function(from, to, text, html) {
          // do your mail sending externally.
       }
    }
  }
}

This looks promising, here are my thoughts:

There is hidden complexity in default adapters if they are designed this way.
I would personally create a function that can load an adapter from module/function/instance, and pass that at the moment of constructing the controller, which sort of eliminates the whole need for huge portion of AdaptableController class.
But the most important thing - it doesn't separate out the adapters logic into default/non-default, since we are required to have an adapter at construction time of a controller, which has a guarantee that this thing won't go wrong, and it's easier to track down what is the adapter when we are constructing it.

Type safety is important. Doing a single AdaptiveController superclass that is responsible for creating/loading/storing an adapter is not type-safe, since adapters have different types, so I would actually recommend against that.

The next huge piece that looks important to decouple/structure is ClassesController aka what we have right now in rest.js. That baby would actually need FilesController and probably more pieces, so one size fits all won't quite fit.

Modules for all the things - yes, please. Not feeling strongly whether we should split them into separate packages at this moment, per se, but that we are headed in this direction - absolutely!

So, the only actionable piece here would actually be - restricting the fancy new DefaultAdapter piece into say AdapterLoader.js with functions to purely load the adapter if it doesn't exist and return it of a specific type.
Let me know what you think, I am happy to discuss, improve and restructure this as we go.
I am thinking here in ObjC/Swift flow/structure, since those are my mother-languages and this overall design might feel weird in the world of crazy JavaScript, but I really really hope that the world is moving to this direction, and we can see that with ES6 classes and Flow for type safety.

@nlustenko we could enforce type safe adapters, but that would mean that external adapters have to import the base adapter from parse-server to extend it OR that we compare prototypes with the base adapter. I can do the latter to enforce implementation of required methods.
I can move the adapter loading out of AdapableController into AdapterLoader.
Move the setDefaultAdapert into a setDefaultAdapterForController in AdapterLoader.
AdapterLoader would expose the different loading mechanisms, for all supported types. But still expose a load(options).
The ClassesController decoupling is quite a big thing, would not touch that yet, but focus on the 3 we have decoupled to start having more external contributions for push, files and logs.

@flovilmart

@nlustenko we could enforce type safe adapters, but that would mean that external adapters have to import the base adapter from parse-server to extend it OR that we compare prototypes with the base adapter

What if the base file adapter itself is made into a different repo, and all other file adapters just import that? Something like:
import { FilesAdapter } from 'parse-base-file-adapter';

export class AzureBlobStorageAdapter extends FilesAdapter {
.
.

This could solve the problem of type safety. Any new filesasapter would not need to have the entire parse-server as a dependency, just this. Also, i guess this would require minimal changes to other code. What do you think?

That would be ideal for sure.  I'm implementing type-like safety, making sure the adapter has the right methods implemented as well as harder enforcement on loading a controller without an adapter.

@nlutsenko The inherent problem with JS compared to Swift is that we're talking 2 completely opposite paradigms: JS prototype based, functional, loosely typed, dynamic language to OO strongly typed static language :) We could, in a near future, type the controllers constructors with Flow, but we have to decide whether we want external adapters to require parse-server or not.

The reason I'm against having external adapters that depend on parse-server is due to versions. I don't want to put people into a situation where they want to update their server, but they are using an adapter that depends on an older version of parse-server. Putting the base adapters into a separate repo doesn't really solve that problem. (I know it's possible to have different dependencies of your own depend on different versions of the same package, but it's not ideal)
My opinion is that aiming for type safety in adapters is "working against the grain of the language" and is not something we should attempt. Rather, at server construction time, we should check the adapters for compliance to the interface. This also allows for easy forward compatibility as we can have optional features in adapters, where you can have the server turn different features on and off based on the functions in the adapter. Scheduled push would be a prime example of this.

OK, so as you can see here I'm checking the interface of the adapter: https://github.com/ParsePlatform/parse-server/pull/549/files#diff-51ac4c2ee846910ae669884b9bdc1234R37
A controller has an expectedAdapterType() and we match this type to the passed adapter. This way, optional methods are supported.

Agreed with "working against the grain of the language", that's why I referenced ObjC/Swift, because it felt the same way to me.
Looks like this is now inline with our approach towards:

Don't require parse-server for adapters
Adapters could be loaded from module/function/class
Validation happens on the interface of the adapters

Only a single nit in the code, but otherwise LGTM.
@drew-gross, what do you think?

@nlutsenko I've hardened the AdaptableController, marked the _adapter private, force the validation upon setter and added a few more tests.

Lovely! LGTM, merging now.

Dang, I had some thoughts but I guess github lost them.
Depending on parse-server is still required for push adapters because there is still a base push adapter.
Having a class with a static function is not really javascript style (for AdapterLoader and load) it's more typical to just have a function (maybe loadAdapter)

@flovilmart @nlutsenko

Dang...
@drew-gross I initially made it as a class so it' modularized, and maybe we'll want to add more methods there at a point in the future, but I agree that it could be a function.
For the push adapter, it is not required per-se, but I removed some code duplication in our code base. Which is what was intended. Should we move the common logic to the controller?

If it can be different for each provider then it should probably be part of the adapter interface, and we should document that it is available/required for implementers to supply it. (and maybe supply a default as a parameter or a separate npm package or something to make life easier for implementers)

Ok, so I'll remove the common implementation from the PushAdapter in a separate PR.


Resolve security vulnerabilities / fix build

This issue is imported from pivotal - Originaly created at Mar 15, 2021 by Thijs Kinkhorst

Fixed by Koen in: https://github.com/OpenConext/OpenConext-engineblock/pull/1094 (Michiel Kodde - Mar 24, 2021)


entgql: no way to Skip() all fields by default and Include() the needed ones when using WithWhereFilters()

Currently when instantiating entgql with WithWhereFilters(true) option, a bunch of GraphQL [...]WhereInput input objects are generated that expose all the internal DB fields.
The only way is to avoid that is to manually annotate each field with entgql.Skip() annotation.
Being a black-list approach, this has a disadvantage of being tediuous (some users have more hidden fields than public ones) and error-prone (forgetting to set a entgql.Skip() on a new field).
It would be nice if one could set a global Skip() annotation when instantiating codegen, and then Include() fields that are needed.

Hey @edigaryev 👋
This makes sense. The whole GraphQL API requires a major improvement, and it's one of our commitments in the project roadmap (not so far from now).
For now, I'll suggest workaround this by using something like the mixin field annotator:
func (User) Fields() []ent.Field {
    // SkipExcept gets a []ent.Field and attaches an entgql.Skip
    // annotation for all fields except for "name", "age", "address".
    return pkg.SkipExcept(fields, "name", "age", "address")
}

@a8m undeclared name: pkg, would you provide a clear example

Hey @syssam, I think SkipExcept can be implemented like this, can you give it a try?
// SkipExcept gets a []ent.Field and attaches an entgql.Skip
func SkipExcept(fields []ent.Field, excepts ...string) []ent.Field {
	exceptsMap := make(map[string]struct{})
	for _, name := range excepts {
		exceptsMap[name] = struct{}{}
	}

	for _, f := range fields {
		desc := f.Descriptor()
		if _, ok := exceptsMap[desc.Name]; ok {
			continue
		}

		desc.Annotations = append(desc.Annotations, entgql.Skip())
	}

	return fields
}

Excellent @giautm,
Closing this issue since it will be tracked at  #2351.

@giautm get it. thanks


Update ammonite-compiler_2.12.15, ... to 3.0.0-M0-67-b3fea31f

About this PR
📦 Updates

com.lihaoyi:ammonite-compiler_2.12.15
com.lihaoyi:ammonite-compiler_2.12.16
com.lihaoyi:ammonite-compiler_2.12.17
com.lihaoyi:ammonite-compiler_2.12.18
com.lihaoyi:ammonite-compiler_2.13.10
com.lihaoyi:ammonite-compiler_2.13.11
com.lihaoyi:ammonite-compiler_2.13.12
com.lihaoyi:ammonite-compiler_2.13.9
com.lihaoyi:ammonite-compiler_3.3.0
com.lihaoyi:ammonite-compiler_3.3.1
com.lihaoyi:ammonite-repl-api_2.12.15
com.lihaoyi:ammonite-repl-api_2.12.16
com.lihaoyi:ammonite-repl-api_2.12.17
com.lihaoyi:ammonite-repl-api_2.12.18
com.lihaoyi:ammonite-repl-api_2.13.10
com.lihaoyi:ammonite-repl-api_2.13.11
com.lihaoyi:ammonite-repl-api_2.13.12
com.lihaoyi:ammonite-repl-api_2.13.9
com.lihaoyi:ammonite-repl_2.12.15
com.lihaoyi:ammonite-repl_2.12.16
com.lihaoyi:ammonite-repl_2.12.17
com.lihaoyi:ammonite-repl_2.12.18
com.lihaoyi:ammonite-repl_2.13.10
com.lihaoyi:ammonite-repl_2.13.11
com.lihaoyi:ammonite-repl_2.13.12
com.lihaoyi:ammonite-repl_2.13.9

from 3.0.0-M0-56-1bcbe7f6 to 3.0.0-M0-67-b3fea31f
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.lihaoyi" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "com.lihaoyi" }
}]

labels: library-update, early-semver-pre-release, semver-spec-pre-release, commit-count:1

Superseded by #1327.


Schema files from the classpath

Runtime and code gen time allow schema files to be loaded from the classpath including jars.  Can the plugin do this as well so that we can still get completion etc.

@markwimpory TBH, it's possible to work around this (I'm using this ATM in my repos), but it's tricky:

create a Gradle task that will extract the schemas from the artifacts you need (I use custom Configuration for that), into some reasonable location (build dir subdir e.g.)
use graphql.config.yaml or equivalent to provide path to that location with additional schema(s) to the plugin

First-class support would be obviously a lot better here, since adding custom build jobs just to satisfy plugin requirements is somewhat unappealing. (in my case, it's to help front-end devs as well, so I'm kinda OK with it, but I wouldn't do that otherwise probably)

@markwimpory @FyiurAmron hi! I'm working on that now. Could you provide examples of how these libraries are structured in your project? If they are available in Maven, it would be even better if you could provide their IDs for testing purposes.

@vepanimas the structure needed to replicate this is the most bare-bones one ever:

create a project with an example graphqls in its resources. Nothing more, just build a JAR out of it, e.g. (courtesy of ):

interface Character {
  id: ID!
}

create a project which consumes the above JAR, e.g. via Gradle implementation(files()) or any other mechanism, and has a second, extending graphqls, e.g.

type Human implements Character {
  id: ID!
  name: String!
}

; observe that it breaks the plugin's parsing due to not scanning the classpath for the dependency graphqls providing the base definitions.
Basically, those two projects with those two files by themselves would be enough to replicate the core of the issue IMVHO.

Fixed, should be available in the next 2024.1 EAP. Please feel free to reach out if you have any questions or feedback.


Fixed Attacking while Holding a Shield which is not Possible in Vanilla

Fixed Attacking while Holding a Shield which is not Possible in Vanilla
Summary

Implemented a Fix to the KillAura Class that should Stop it from Doing an Impossible Action by only Shielding when they are really close to you can not attacking when you are currently blocking
Information

[x] This PR fixes an issue.
[ ] This PR adds something new (e.g. new method or parameters).
[ ] This PR is a breaking change (e.g. methods or parameters removed/renamed).
[ ] This PR is not a code change (e.g. documentation, README, examples, ...).

Checklist

[x] I have searched the open pull requests for duplicates.
[x] If code changes were made then they have been tested.

Would Suggest adding a Setting to change the Shielding Distance from an Entity


Fitness-website

Please consider my contribution for Hactoberfest.

Congratulation your pr is successfully merged make sure to star the repo
kindly help me by registering yourself in mood indigo
Link : https://my.moodi.org/
referal code : CCP62216
make sure to share with freinds as well
comment after registering
@Tanishka-22


French translations gone from skills and limit burst files

Hi aEnigma,
I can see that you removed the strings from skills and limit bursts files. I'm using your data mining as a data source for my french website, and these are now missing for proper pages display.
It is possible to revert this change from your file structure ? Or maybe publish these in specific files ?
Would be awesome if you can (otherwise I'll find other solution, but have yet to figure out what).
Thanks in advance for your answer,
Best regards,
Wis

Hey,
they are still available from the strings repo, which is updated at the same time as this one.

Okaaay, did not note this repository (not highlighted in your personal profile, need to search specifically for it).
Fair enough, i'll update my scripts accordingly.
Cheers once more for your work !


fix modeling low zero

#1607
To fill GPU 0 , I think the remaining should be allocated as max(gpu:0 , remaining model memory) [L636 modeling.py]. (Since gpu:0 was initialized as 0, if we use min(), it will always be 0.). I am thinking this should resolve but want an expert opinion.
@sgugger  @muellerzr  need your review .

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.

I see, in that case, "max" should pick up the maximum value to be fit under (min_zero,rem model size) ,no? Is there any alternative to the issue 1607?

Actually after re-reading I think the right fix is to put max_memory[0] at line 648 when initializing and keep that min.

Are you suggesting like this L648?
max_memory[i] = min(0 if low_zero and i == 0 else per_gpu, max_memory[0])

No
max_memory[i] = min(max_memory[0] if low_zero and i == 0 else per_gpu, max_memory[i])

or just ignore i == 0 in the loop if low_zero is True.

Thanks, this makes more sense now. The max_memory[0] was initializing as 0 which was forcing the issue.


Make it so being in the working directory doesn't leave the directory open

Summary of the new feature/enhancement
Windows can't delete or move folders that are currently part of the path of the working directory in any command shell in Windows Terminal. This is because Windows believes it is "open in another program". This is a pain, as one has to seek out and close any Terminal windows accessing the folder in order to perform basic filesystem operations on it.

What it would solve
Fixing this would make it possible to delete or move the directory (folder) while it is open in Windows Terminal.This is how it already works in macOS and Ubuntu.
Proposed technical implementation details
Don't actually leave open the folder constantly open when the working directory is changed with cd or chdir. Only show that it's open visually within Terminal. Open and close the directory as needed (e.g. any time a command is executed within the working directory).
Deleting the directory in the path of working directory would change the working directory to temp/garbage folder or just reset it to one of the defaults. This is how Unix-based operating systems / terminal emulators handle it. (1903 breaks VirtualBox, so I can't screenshot it right now.)
Hopefully, this is actually an issue with Command Prompt that can be resolved with Windows Terminal, and not an issue that requires a change in the shell or Windows. I assume this because the issue currently happens with every shell.

I think the terminal does not actually open any folder though, the shell programs do.  The reason why you can delete a folder while opening in macOS/Linux is I believe those OS don't actually delete the folder until the last handle is closed and not because of terminal handle folder in a different way.

Yea this is just how cmd.exe works unfortunately. Exactly 0% chance this can get changed.


Derrick mei

I finished the project, but I wasn't able to complete one of the requirements.  I believe the instructions asked us to have the listener complete all the items on the secret queue first and then cities1 and then cities2, but I was not able to make it single threaded.


Word and character count

I've been using the editor for an hour or so most evenings to document another Open Source project I'm working on for around 6-8 weeks now and that I routinely:

Copy lines of code from preformatted blocks to check the character length.
Copy entire regions to check the word count.

To improve on this workflow I'm going to look at adding:

A word count for all regions to the inspector bar far right.
A character count for the current line either to the inspector bar when a preformatted block is selected or to the preformatted block itself (similar to how images have a dimension).

This is now in develop branch.

@etlel can you provide steps to reproduce please - not quite sure what a blank edit it?

@etlel no worries have spotted, if I just keep saving without making any changes the count goes up by 1,000 for me, will review.

This issue is actually a more serious issue in that ordered regions aren't being reset on init - will push a fix in the next hour.

OK this issue is now fixed on master will assign to next release (so part of the release cycle next week).


add weldx tests to downstream.yml

add downstream test against weldx master to as mentioned #946
Resolves #946

matrix looking good, thanks for the test run !
We will probably have to set the default branch to asdf_2.8 for the time beeing

I am so sorry, no idea why my indentation keeps failing...

What do you think of this?
https://github.com/asdf-format/asdf/compare/test_weldx_downstream
I added a test_command variable so that matrix jobs can customize the pytest command.

What do you think of this?
https://github.com/asdf-format/asdf/compare/test_weldx_downstream
I added a test_command variable so that matrix jobs can customize the pytest command.

that looks very nice 👍
Just need to set the default ref to asdf_2.8 instead of master for weldx

Hooray, success!
https://github.com/asdf-format/asdf/runs/2230976642?check_suite_focus=true
I'll change the branch on this PR to the other one.

Oops, I can't do that, so here's a new PR: https://github.com/asdf-format/asdf/pull/961


Fix for CocoaPods 1.10.0

When updating to Cocoapods 1.10.0, building errors began to appear:
Multiple commands produce:
That command depends on command in Target: script phase “[CP] Copy dSYMs”

and
Multiple commands produce:
That command depends on command in Target: script phase “[CP] Copy XCFrameworks”

As I understand it, there are problems with the subspecs. This request solves these problems.

i use your for I've been using your branch for a while and noticed that when I update a pod, there is no replacement in prebuild (look at the modification time).
Currently I can only use it by removing before updating.


Brackets on sourceamp

Enabling the filter include_js_source_maps the source maps generated has brakets at the start of the file (example: )]}' ) Is there a way to erase them?
https://www.modpagespeed.com/doc/filter-source-maps-include

this sounds like a bug, I do not think there is a way to remove these brackets. Do you get them consistently any input?

Yes, I get them consistently..
The odd thing is that parentheses are also present in the example shown on their page...
https://www.modpagespeed.com/doc/filter-source-maps-include do you think that it will be fixed?

@Faycal79
Here is the list of priorities: https://github.com/pagespeed/mod_pagespeed/wiki/Work-Prioritization.
If this issue sees a lot of activity / lots of people join in and want to see this fixed, that increases chances of it getting added to the list above.
Having said that, contributions are welcome! I haven't looked into this yet, but I suspect that this won't be rocket science to fix.


icomoon.woff2 font download redirect and 404

Do we need to whitelist "woff2" in our server config?
Console error:
downloadable font: download failed (font-family: "icomoon" style:normal weight:400 stretch:100 src index:1): status=2147746065 source: https://docs.influxdata.com/fonts/icomoon.woff2
The woff2 referenced in our _icon.scss:
https://docs.influxdata.com/fonts/icomoon.woff2
always redirects to
https://docs.influxdata.com/fonts/icomoon.woff2/
which returns a 404.
Relevant URLs
All https://docs.influxdata.com/ URLs

Yeah, we do. I'll add it really quick.


Where? Can I upgrade to Windows 10 with BitLocker enabled?

I'm looking to upgrade my Windows 10 to a have access ti the Bitlocker feature.
I found this page through google and it answered my question, but it doesn't say how or where!
Now I have to google more just to find out how to buy a product from you?
--- you say : ---
Can I upgrade to Windows 10 with BitLocker enabled?
Yes.
I will find my way, just wanted to give you my experience.

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

ID: 06b660d4-be4e-c039-0edb-f08d7944add7
Version Independent ID: 99c3bac3-6bd0-6b7a-e709-4a1924180cf3
Content: BitLocker Upgrading FAQ (Windows 10)
Content Source: windows/security/information-protection/bitlocker/bitlocker-upgrading-faq.md
Product: w10
GitHub Login: @brianlic-msft
Microsoft Alias: justinha

Hi matiyin. If you are using Windows 10 Home edition they you need to purchase an upgrade to Windows 10 Pro, apply the upgrade and then you should be able to activate BitLocker. This does assume that the computer you are using has the required hardware to support BitLocker.
This article refers to a different issue: If I already have BitLocker enabled, can I upgrade to Windows 10.
I hope this helps.

I forgot to add that this page will show you the differences in major features between Windows 10 Home and Windows 10 Pro: https://www.microsoft.com/windows/compare

@officedocsbot assign @e0i

@matiyin. You need buy windows 10 pro edition, to use BitLocker features.

@matiyin
It seems that your question has already been answered and thus we are marking this issue as resolved.
Thank you for providing feedback.

@officedocsbot close


Support for Windows Server 2019 and 2022

For adding device tags by setting a registry key value, is there a plan to add support for Windows Server 2019 and 2022? And is there any other way to set the tag for these devices without having to do it manually?

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

ID: 51c29286-b601-4dad-0e65-227c8d045ee4
Version Independent ID: 2af4acf9-4089-5dff-d628-16b8425e0a57
Content: Create and manage device tags
Content Source: microsoft-365/security/defender-endpoint/machine-tags.md
Product: m365-security
Technology: mde
GitHub Login: @mjcaparas
Microsoft Alias: macapara

@nbsol1 Thank you for your feedback.
You can add device tags using API -https://docs.microsoft.com/en-us/microsoft-365/security/defender-endpoint/add-or-remove-machine-tags?view=o365-worldwide
I don't see the plan to add support for Windows Server 2019 and 2022 in the roadmap. I'd recommend you post this question in our main feedback portal - https://feedbackportal.microsoft.com , So that our Dev or product group engineer will be able to respond.
Hope this helps!
Thanks
Sri

@nbsol1 Thank you very much for your kind feedback. Considering your valuable feedback, please log this issue as advised. Here we are limited to documentation fixes and improvements only. Concerning team will evaluate and take the appropriate action, as per their schedule. We proceed here to close it. Thanks again for taking out some time and sharing your feedback.


Incompatibility of runtime features

First of all, thanks for this useful crate! I ran into a problem when trying to use both runtime features in a workspace.
Cargo features are additive, i.e. when crates depend on the same crate with different features enabled, Cargo will compile the crate with all these features enabled. However, runtime-tokio and runtime-agnostic are incompatible.
I have a workspace where a crate A requires runtime-tokio and a crate B requires runtime-agnostic and both of these crates depend on a crate C which contains my lsp server implementation. Basically, A exposes the lsp server from C  natively, and B on the web.
Is there a way to make this work? I tried working around this by specifying tower-lsp twice and exposing it via C:
tower-lsp-agnostic = { package = "tower-lsp", version = "0.17", default-features = false, features = ["runtime-agnostic"], optional = true }
tower-lsp-tokio = { package = "tower-lsp", version = "0.17", default-features = false, features = ["runtime-tokio"], optional = true }

However, this is also not supported by Cargo:
error: the crate `C` depends on crate `tower-lsp v0.17.0` multiple times with different names

Now, I can trick Cargo by specifying it once using the git tag v0.17.0 and once with the corresponding commit hash. However, this does not solve the problem at all, but rather moves it to the C crate. There I have to do something like
#[cfg(feature = "runtime-tokio")]
pub use tower_lsp_tokio as tower_lsp;
#[cfg(feature = "runtime-agnostic")]
pub use tower_lsp_agnostic as tower_lsp;

But now, since C is compiled only once, A and B together enable both of these features, meaning tower_lsp would be defined twice. The only solution I can think of is moving C out of the workspace and tricking Cargo into instantiating two copies of it.
I really hope there's a better solution! Any help or suggestions are highly appreciated!

I have worked around the issue by adjusting A to work with runtime-agnostic.

Hey there, @timsueberkrueb! Sorry for the lack of response at the time this ticket was written; I'm back at the helm of this project for the time being, as of the last few months.
Indeed, the current feature flag setup is hardly ideal (and yes, I'm painfully aware that Cargo features are additive and not mutually exclusive). If it were possible, I'd prefer to instead expose only a single tokio (or runtime-tokio) feature that is enabled by default, and have users not using tokio opt-out by specifying default-features = false on the tower-lsp dependency spec in their Cargo manifest. However, I also need to activate the async-codec-lite dependency if tokio is disabled and deactivate it if tokio is enabled, and this is unfortunately not possible at all in Cargo currently, AFAIK. As much as I hate to say it, this arrangement of mutually exclusive features is the closest we can get to the desired behavior.
However, even if we were to switch to the aforementioned additive-only feature set, I still don't think that would resolve the issue you had encountered. We still run into the exact same issue because, as you mentioned, Cargo unifies the feature flag set for a dependency across the entire project's dependency tree (source), so if even one crate depending on tower-lsp enables the tokio feature (or non-tokio, if we chose to model the feature flag the other way around), it gets enabled everywhere. And so, we're back to square one, sadly.
I don't think there is an easy solution to this problem except to wait for Rust's async ecosystem to coalesce and for common async I/O traits (specifically AsyncRead/AsyncWrite, which is the only runtime-specific item tower-lsp requires currently) to land in some standard form in std. Once adopted across the board by all major async runtimes, we can safely drop the hard requirement for tokio-util (for tokio) and async-codec-lite (for async-std et al.) and also these conditional features from tower-lsp. Users would be able to select any runtime they wish (or mix and match within a particular project) without issue.
In the meantime, I'm happy you were able to identify a workaround that suited your use case! Sorry you had run into trouble.


Possible issue with NFS watching

See: https://github.com/substack/watchify/issues/120
Looks like the only related change from Watchify 2.1.1 (works) to 2.2.1 (Doesn't work) was this commit: https://github.com/substack/watchify/commit/dea0171335ca8ff2915c67f9527dbc404c51be7f

Just for the record: this helped me to fix a bug in 2020 :3


[top] Update test count comparison

Previously, the test looked for an exact match on accmumulated count. This would occassionally break because the triggered alert could have been fatal.  Fatal alerts continuously send alerts and thus can cause the count to be bigger than expected.
Relax the check to be less than or equal.
Signed-off-by: Timothy Chen<EMAIL_ADDRESS>

This should address #15896.


UBTT_PlayAnimMontage bug fix

Excluding the need to create a new object every time a node is executed
The montage works without ending after the node is interrupted
Code optimization

I think this is the best version currently available

Sry a I'm busy will check on saturday (10% chance - tomorrow 🙃)

Testing on Plugins/UnrealHelperLibrary/Content/Gyms/Gym_PlayAnimMontage_StressTest.umap
Don't know why but only last character continue to play montages others stops after one montage


Adds more error output to failed checkouts.

Fixes #1142
Looks like this:

Absolutely.
On that, I was also thinking we could try to automate some of this, but I don't know how hard that would be. It would involve creating a ~/.netrc file, which the IDE might not have access to, and adding the output of the identifier creation to it, which is not trivial.

Our implementation uses a git credential helper and not .netrc. I think
that .netrc is an old gerrit way of doing things that may be obsolete at
this point.
On Wed, Dec 14, 2016 at 3:50 PM, João Martins<EMAIL_ADDRESS>wrote:

Absolutely.
On that, I was also thinking we could try to automate some of this, but I
don't know how hard that would be. It would involve creating a ~/.netrc
file, which the IDE might not have access to, and adding the output of the
identifier creation to it, which is not trivial.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/GoogleCloudPlatform/google-cloud-intellij/pull/1175#issuecomment-267152663,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHf5HUMnc9XuEkyPq5d4PHhpRuVJddtxks5rIFavgaJpZM4LNVwS
.

The web page users are directed to explicitly mentions a .netrc file.
I was using credential.helper gcloud.sh and could reproduce the bug.

lgtm assuming that regex is good

Regex was tested and works. I got it from SO :X


Update semgrep.yml

Updating semgrep docker image for the exising semgrep workflow.

Seems like we've had a merge conflict between https://github.com/cloudflare/workerd/pull/2775 and the ruff formatter, not your fault, I'll open a fix PR, you can rebase after that's merged and the build will pass.

Seems like we've had a merge conflict between #2775 and the ruff formatter, not your fault, I'll open a fix PR, you can rebase after that's merged and the build will pass.

@hrushikeshdeshpande try rebasing now.


⚠ Samsung has degraded performance

In 56d751b, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 6865 ms

Resolved: Samsung performance has improved in 384e66b.


Camera below the terrain surface

When rotating with the middle button, the camera can be moved below the terrain surface. It seems that the position of the camera is only adjusted after it finishes loading the terrain.
Cesium 1.45
Web browser: Chrome 66.0.3359.139

Thanks @fgamezc, this is a known issue.  I've added a comment to #5837 so we can notify you when the issue is fixed.  Thanks!


leading or trailing _ breaks chaise/search

The chaise search version of ermrest.js:2639 does a split on _ and assumes that there will not be an empty '' string for any part produced by the split.

@jrchudy I fixed this chaise/search bug. It should not have any effect on the newer parts of chaise but could you please verify that.


The 'request' argument must be string. Received type undefined

Hi,
When enabling autofix, I get this error:
The 'request' argument must be string. Received type undefined.
    buildModules: [
        '@nuxtjs/eslint-module',
        {
            fix: true,
        },
    ],

If i remove the config object, the problem disapear

I think I understood, if I am using Nuxt < 2.9.0, I can't define inline option and must use eslint object ?

@mrleblanc101 Your configuration is wrong, try this:
buildModules: [
  ['@nuxtjs/eslint-module', { fix: true }],
],

You are right 😅


8.6 Cycle closure errors

A subsection on discussing how to deal with cycle closures.

First pass done, considering adding a diagram

Thank you!


--tree is crashing

lsd --tree is failing on my linux.
Linux my-pc 4.20.10-1-MANJARO #1 SMP PREEMPT Fri Feb 15 21:46:13 UTC 2019 x86_64 GNU/Linux

LSD version
[101] % lsd --version
lsd 0.12.0

Actual behavior
% RUST_BACKTRACE=1 lsd --tree
thread 'main' panicked at 'failed to convert modified time to timestamp: SystemTimeError(21600s)', src/libcore/result.rs:1009:5
stack backtrace:
   0: <unknown>
   1: <unknown>
   2: <unknown>
   3: <unknown>
   4: <unknown>
   5: <unknown>
   6: <unknown>
   7: <unknown>
   8: <unknown>
   9: <unknown>
  10: <unknown>
  11: <unknown>
  12: <unknown>
  13: <unknown>
  14: <unknown>
  15: <unknown>
  16: <unknown>
  17: <unknown>
  18: <unknown>
  19: <unknown>
  20: __libc_start_main
  21: <unknown>

Hi @munim ,
Thanks for the report. It seems there is an issue with one of you file creation time and we probably handle it quite abruptly. We can probably replace the imparsable date field by some ????????.

Hi @Peltoche,
Thanks for the response. Is there any debug log I can look into that for which file it is failing?

I was experiencing the same issue running lsd (no extra args) on my home directory:
$ RUST_BACKTRACE=1 lsd ~
thread 'main' panicked at 'failed to convert modified time to timestamp: SystemTimeError(1977666108s)', src/libcore/result.rs:1009:5
stack backtrace:
   0: <unknown>
   1: <unknown>
   2: <unknown>
   3: <unknown>
   4: <unknown>
   5: <unknown>
   6: <unknown>
   7: <unknown>
   8: <unknown>
   9: <unknown>
  10: <unknown>
  11: <unknown>
  12: <unknown>
  13: <unknown>
  14: <unknown>
  15: <unknown>
  16: <unknown>
  17: <unknown>
  18: <unknown>
  19: __libc_start_main
  20: <unknown>

Worked fine with ls and exa though. Then I searched for a file with an odd timestamp:
$ for f in *; do echo $f; lsd $f 1>/dev/null; done
Desktop
Documents
Downloads
[ ... some other files ... ]
logoint.jpg
thread 'main' panicked at 'failed to convert modified time to timestamp: SystemTimeError(1977666108s)', src/libcore/result.rs:1009:5
note: Run with `RUST_BACKTRACE=1` for a backtrace.
Music
[... some other files ... ]

Yep, ~/logoint.jpg is the one:
$ /bin/ls -la ~/logoint.jpg
-rw-r--r-- 1 me me 8016 May  2  1907 logoint.jpg

This is a file I extracted a while ago from a ISO of an old game, but I hadn't realized the timestamp until now... But then again, KDE's file manager (Dolphin), ls and exa are all able to display the date.

Thanks for the response. Is there any debug log I can look into that for which file it is failing?

Nop, there is nothing at the moment...

This is a file I extracted a while ago from an ISO of an old game (no, it's not from 1907), but I hadn't realized the timestamp until now... But then again, KDE's file manager (Dolphin), ls and exa are all able to display the date.

By curiousity, would it be possible to have the output of exa for this file?

$ exa -la ~/logoint.jpg
.rw-r--r-- 8.0k me  2 May  1907 /home/me/logoint.jpg

With lsd 0.14.0 the crash is gone, but the file date differs from exa/ls/dolphin:
$ lsd -l ~/logoint.jpg
.rw-r--r--  me  me  7.8 KB  Wed Dec 31 21:00:00 1969    logoint.jpg

Please ignore if this is intentional though...

With lsd 0.14.0 the crash is gone, but the file date differs from exa/ls/dolphin:

I just fallback to a timestamp 0 for now but there is probably a better solution. I you think of something please, make an issue to propose an improvement.


Explicit cipher close

Since some re-factory have been done at https://github.com/intel-hadoop/chimera/pull/20, the pull request is based on the commits of  https://github.com/intel-hadoop/chimera/pull/20.
The commit Explicit close() on Cipher  e5f74cf is real pull request

+1

Thank @jerrychenhf for your review, merged to master


Allow Ethereum Benchmarking With Multiple Address

Context
Currently, the Ethereum benchmark configuration only allow to send transactions from 1 single address (fromAddress) and all workers using this same address to send transactions
Proposed Enhancement
Allow to add multiple addreses for Ethereum benchmark  that run in multiple workers. A sample configuration is as below
{
    "caliper": {
        "blockchain": "ethereum"
    },
    "ethereum": {
        ...
        "fromAddress": "{fromAddress1},{fromAddress2},{fromAddress3}",
        "fromAddressPrivateKey": "{fromAddressPrivateKey1},{fromAddressPrivateKey2},{fromAddressPrivateKey3}"
        "fromAddressPassword": "{fromAddressPassword1},{fromAddressPassword2},{fromAddressPassword3}"
        ...
    }
}

fromAddress is allowed to have comma separator beside single address string format
fromAddressPrivateKey and fromAddressPassword also changed accordingly, validation will ensure numbers of addressed and its private keys / passwords are same
This is not broken changes, existing configuration with single address should be working fine

How To Assign Parallel Addresses To Workers
If numbers of workers LESS than the number of addresses

Each worker is assigned to address that has same index sequence. The un-assigned addresses will be ignored
For example: If nums of workers = 2 and nums of addresses = 3 then we assign worker 1,2 to address 1,2 accordingly and ignore address 3

If numbers of workers MORE than the number of addresses

Each worker is assigned to address that has same index sequence. The un-assigned workers with take a random address from the list
For example: If nums of workers = 3 and nums of addresses = 2 then we assign worker 1,2 to address 1,2 accordingly and worker 3 will take a random one (either address 1 or address 2)

P/S: If this proposal is accepted, I would like to send a pull request as I alrd prepared code changes from my side

+1

+1

Does this work? May I apply your proposal as I am using caliper 0.4.2?

I have already applied the idea with an easy way. All you need is to edit the network configuration file by setting fromAddress key with a table of addresses. Then, in EthereumConnector, in getContext() method, access to address using "this.ethereumConfig.fromAddress[this.workerIndex]" instead of "this.ethereumConfig.fromAddress;"


Option to test a local BouncyCastle jar

Resolves Github issue #4
This is a bit of a hack. I can't find a way to supply the jar directly
from the command line to the 'deps' or 'srcs' of a rule, so we create
an intermediate symlink.
Also, we need to define a separate build target. It'd be nicer to use
config_setting to switch between local and remote jars - but macros
don't support command-line flags, which makes this awkward.

Closing in favour of https://github.com/google/wycheproof/pull/16


iOS 18 - OpenURL doesn't work as expected

Description
The provided openURL() is not functioning on iOS 18, as in the App never receives the deep link via the AppDelegate or openURL.
Same code that was functioning on iOS 17 is not working on iOS 18.
  case let .tappedButton(url):
      return .run { _ in
          await openURL(url)
      }

Checklist

[X] I have determined whether this bug is also reproducible in a vanilla SwiftUI project.
[x] If possible, I've reproduced the issue using the main branch of this package.
[X] This issue hasn't been addressed in an existing GitHub issue or discussion.

Expected behavior
I expect the URL to attempt to open.
Actual behavior
the URL does not attempt to open.
Steps to reproduce

With openURL
set breakpoint when receiving URL
no URL is hit

OpenURLExample.zip
Dependencies version information
1.3.0
Destination operating system
iOS 18
Xcode version information
Version 16.0 beta (16A5171c)
Swift Compiler version information
swift-driver version: <IP_ADDRESS> Apple Swift version 5.10 (swiftlang-<IP_ADDRESS> clang-15<IP_ADDRESS>)
Target: arm64-apple-macosx14.0

Hi @djpearce, have you confirmed that openURL still works in a vanilla SwiftUI? Since iOS 18 is only in its first beta release it could be an issue with the beta.

Hi @djpearce, sorry I didn't see the project attached. I do see the problem.
There may be a chance that what we are doing here is not legit:
https://github.com/pointfreeco/swift-dependencies/blob/76b98dea40d2b13ace67216cbb100cef673e8267/Sources/Dependencies/DependencyValues/OpenURL.swift#L23
It's just kind of a hack we tried out to get a consistent openURL API across all platforms. Or this could just an issue with betas that will start working again at some point. Hard to say really.

@mbrandonw, yeah sounds good, just raising it so it's on y'all radar and for anyone else who may be seeing it. I'll keep an eye on it as well and report back as well.

We originally called to the non-EnvironmentValues APIs, but decided to leverage EnvironmentValues here in order to work around an issue with Tuist and app extensions: https://github.com/pointfreeco/swift-composable-architecture/pull/1714
While in hindsight we think the workaround is probably not a legit thing to do, we'd like to consider what the best path forward is.
@tgrapperon I know it's been awhile but you spent some time noodling over the problem. Do you remember any potential alternative fixes?

(Adding the "apple bug" label since this regression is due to a change in Apple's SDKs.)

UIApplication
Resolved Issues
Fixed: Applications built with iOS 18.0, iPadOS 18.0, Mac Catalyst 18.0, or tvOS 18.0 SDKs will call to the deprecated method UIApplication.openURL(_:). The specified URL will not open and will always return false. (125695759)

UIApplication
Resolved Issues
Fixed: Applications built with iOS 18.0, iPadOS 18.0, Mac Catalyst 18.0, or tvOS 18.0 SDKs will call to the deprecated method UIApplication.openURL(_:). The specified URL will not open and will always return false. (125695759)

Great find!
Waiting to see it working on the new beta version and will report back and close.

I may be misunderstanding the tech note, but that seems to imply that the deprecated UIApplication.openURL(_:) is now expected to not work. They are turning it off completely, which isn't surprising because it has been deprecated for a very long time. Instead you are expected to call this API instead.
So I don't think that tech note really has any bearing on the issue here. I think what we are going to have to do is stop using EnvironmentValues entirely and just use a platform specific openURL, which might also mean losing openURL on some platforms.

@djpearce Thanks for offering to help move things forward!
I think reverting is the way to go, but we should try to avoid breaking things for Tuist users. @tgrapperon suggested using @available(iOSApplicationExtension, unavailable) as an alternative to the current EnvironmentValues solution. Want to explore that against the Tuist example and if everything looks good we can merge?

Want to explore that against the Tuist example and if everything looks good we can merge?

Yes, I'll give it a shot here and see what I come up with. I haven't used Tuist before, but have been meaning to run a project for it locally anyway

@mbrandonw @stephencelis Good news! After spending the night exploring Tuist and various solutions, I realized I hadn't yet updated to iOS 18 Beta 5. Just downloaded the new Xcode and simulator runtimes and everything is working as expected with no changes.
Going to close this bug as Beta 5 solves this.

Hi @djpearce, I'm not able to confirm this. You are saying that @Dependency(\.openURL) now works in beta 5? It doesn't seem to work for me.

Hi @djpearce, I'm not able to confirm this. You are saying that @Dependency(\.openURL) now works in beta 5? It doesn't seem to work for me.

In our app (built against iOS 17.x SDK) the open URL effect had stopped working but that seems to have been restored from my testing in dev betas 5 and 6
I also see this code working as expected on and iOS 18 and 17.5 sims built from Xcode 16.0 beta 5 (16A5221g)
@Reducer
struct ContentFeature {
    typealias State = Void
    typealias Action = Void

    @Dependency(\.openURL) var openURL

    var body: some ReducerOf<Self> {
        Reduce { _, _ in .run { _ in await openURL(URL(string: "https://pointfree.co")!) } }
    }
}

struct ContentView: View {
    let store: StoreOf<ContentFeature> = .init(initialState: (), reducer: ContentFeature.init)

    var body: some View {
        Button("Open URL") { store.send(()) }
    }
}

In my demo app, it still doesn’t work on Xcode beta6 and iOS Beta.Is any one succeed?

Actually this does seem to work for me now. @jaychen04, can you provide a repro project of the problem?

@mbrandonw Thank you！Could tell me which version of iOS and XCode you are using？

@jaychen04, I am using Xcode 16 beta 5 and iOS 18.

i'm experiencing an issue on ios 18.0.1 I have a link that first goes in Safari and then it should open the app. Since I have upgraded to the latest ios version, the the app doesn't open and Safari gives me a message: "the site is repeatedly trying to open another application". Do you know the reason? is it an ios 18.0.1 bug? never had this issue before


traitors should not be activated on terminal

for example a latejoin engineer gets traitor role, then they can freely choose their equip on terminal without being caught
or even go outside and but syndi bundle, and nobody will notice this

So essentially late joining via terminal should prevent rolling traitor?

Prevent rolling till they get on station map.
Spawning surplus on terminal for example is bwoinkable and possible at same time, if WEWLAD waited till you warp to station, syndies would be unable to do that.

Don't change anything with the traitor roll, but simply start the wewlad notification delay timer when arriving at the station instead of spawn.


Handle conversion of boolean query parameters with a value of "false"

@smarterclayton ptal

updated and added more tests

LGTM, travis flake rerunning


Suggestion: Basic Armory equipment costs

Hello!
I wonder if it would be possible to add some simple/basic cost for equipping at the armory? Maybe as parameter toggle?
Something like basic costs in supplies and weapons for swapping rifles, launchers and armor. And some extra costs for high-tier stuff, like missiles, statics, drones and snipers.
Would be a nice addition when using the non-restricted armory.

Possible of course.
But not with a "let's quickly implement it". And as 0.97 is aiming to refactor the whole code and internal mechanics of the framework there won't be any further (optional) features until 0.97 is finished, which will still take a while.


customized colors for names and hashtags (fixes #51)

I feel the following problems are there in this patch:

keys must be a Symbol and case-sensitive
cannot use combined color (ex. [36, 4] like :url)

I'd be happy if it was a plugin.
（標準機能として入れるべきか悩ましいですねぇ）

I see. I'll try.

Making it as a plugin, and closing this pull request at this time.
https://gist.github.com/1652872
Enjoy!

cool!


Needs general solution for adding other datasets

The current solution is a prefiltered dataset, done by me in the past, but these should exists a function that prefilters new datasets to fit the this project.

Resolved


Tests are failed

Probably because of breaking changes of dependencies.
https://travis-ci.org/falsandtru/power-assert/jobs/193616863
https://travis-ci.org/twada/power-assert-keeper/jobs/193616232

@falsandtru Fixed. Thanks!


Due to problem 925 test case change, so solution should modify

Codecov Report

Merging #67 into master will decrease coverage by 0.00%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master      #67      +/-   ##
==========================================
- Coverage   73.05%   73.04%   -0.01%
==========================================
  Files         521      521
  Lines       11820    11818       -2
==========================================
- Hits         8635     8633       -2
  Misses       2924     2924
  Partials      261      261

Impacted Files
Coverage Δ

...e/0925.Long-Pressed-Name/925. Long Pressed Name.go
73.33% <100.00%> (-3.14%)
:arrow_down:

Continue to review full report at Codecov.

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


pull request for e2e test at 01/30/2017 10:15:11

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Squashing "INFO: uncertainty should have attribute uncertainty_type." messages

Using read_iris_spectrograph_level2_fits() throws many
INFO: uncertainty should have attribute uncertainty_type. [astropy.nddata.nddata]

messages. This makes it inconvenient to see other outputs of my program. Is there an efficient way to squash this message or fix the uncertainty parameter so astropy doesn't complain?

This may help you to suppress the warnings so they are not printed to your screen: https://stackoverflow.com/questions/14463277/how-to-disable-python-warnings


crash when video is selected on emulator and device (Android)

Bug
app is crashing when trying to select the video from the gallery on the emulator. but worked if i record a video instead of browsing.
on a real device, it nither works for browsing and recording.
my code :
const options = {       title: "Video Picker",        takePhotoButtonTitle: "Take Video...",       mediaType: "video"     };     // @ts-ignore     try {       ImagePicker.showImagePicker(options, response => {         if (response.uri) {           this.setState({             videoUrl: response.uri           });         }       });     } catch (error) {       console.log(error)     }
even try-catch not helped
i tried with try-catch but i didn't goes to the catch block.
Carsholytics

Failure delivering result ResultInfo{who=null, request=13003, result=-1, data=Intent { dat=content://com.google.android.apps.photos.contentprovider/-1/2/content://media/external/video/media/27/ORIGINAL/NONE/1581774611 flg=0x1 clip={text/uri-list U:content://com.google.android.apps.photos.contentprovider/-1/2/content%3A%2F%2Fmedia%2Fexternal%2Fvideo%2Fmedia%2F27/ORIGINAL/NONE/1581774611} }} to activity {com.yapstars/com.yapstars.MainActivity}: java.lang.IllegalArgumentException: Invalid column latitude

same error

same error

try on real device. and android >7
might help

same error

same error here, for Android Q and it's due to the new way it handles files

same problem on Android 10

Same problem on Android 10

Same error and Android 10 emulator


Please add semver tagged releases

This is required for Cocoapods and Carthage support. Thank you!

Done.


ZSTD_ERROR: Unspecified error code, error code: -2 while decompressing

Hi, I sometimes get the error ZSTD_ERROR: Unspecified error code, error code: -2 while decompressing using Google Chrome, on both the asm.js and wasm versions of the library

Hi,
Could you send a test file for the reproduction?

Hi, Could you send a test file for the reproduction?

This happens for me when using the decompress multiple times.
var DATA = "KLUv/WAPAO0FAFJMJx5wWQfcVVVV9ZIfT5ENWpNclPIt9A6Lv2aI16rvrwknvjBWwe0+21sz7vLmNXs9e0OYr2682O190OHFXfIGuXsZ8pytOTcWw5u19gZrZ94QfgSt3UzrutWsxWypHxEURYulTFJ1fDHudzd+bO65wzp2ePOdB7UBtAYQICfAaDsMb/biaHrDIIwHhXGQfG7vm8y5PtduvNa2xfuPvFgLAEMJ6UES42umtPESnwXlbq9Q/yRDBQtCcHW4ew==";
function b64touint8arr(data) {
  var raw = window.atob(data);
  var array = new Uint8Array(new ArrayBuffer(raw.length));
  for(i = 0; i < raw.length; i++) {array[i] = raw.charCodeAt(i);}
  return array;
}
function uint8arrtotext(uint8array) { return new TextDecoder().decode(uint8array) }

/* it makes no sense to use this code every time something has to be decompressed */
zstdCodec.ZstdInit().then(codec => {
    var arr1 = codec.ZstdSimple.decompress(b64touint8arr(DATA));
    console.log(uint8arrtotext(arr1));
})
zstdCodec.ZstdInit().then(codec => {
    var arr1 = codec.ZstdSimple.decompress(b64touint8arr(DATA));
    console.log(uint8arrtotext(arr1));
})
zstdCodec.ZstdInit().then(codec => {
    var arr1 = codec.ZstdSimple.decompress(b64touint8arr(DATA));
    console.log(uint8arrtotext(arr1));
})```
![image](https://github.com/OneIdentity/zstd-js/assets/65848142/f3211c71-67a2-4021-b870-9709790008fe)

I would like to know how should one initialize it and have it available globally afterwards, it looks very useful but unfortunately I cannot even use it properly

Same problem occured in index.umd.ts. After several attempts and break points, I noticed that a ZSTD_CONTENTSIZE_ERROR (which is -2) was returned from the ZstdSimpleDec.zstdGetFrameContentSize (or the ZSTD_getFrameContentSize in the zstd 1.5.1 Manual) function in the zstd-simple-dec.ts. Neither workaround nor solution is present yet, but I guess that switch to ZstdStream may help.


Panning and Zooming is very slow on Android

First of all I would like to thank you for making such an awesome plugin. Its been really helpful for panning and zooming SVG.
I have been having some issues with my SVG file on Android devices. Whenever I try to use pinch gesture to zoom in or zoom out, or try to pan my SVG, it's very very slow. It works much better on iOS devices. I have also noticed that if I do not include the plugin, then zoom in, and zoom out is much more faster then when I include pan zoom library. I am not sure what am I done wrong, or if there is something wrong with my SVG file. I will really appreciate if you can provide me any pointers regarding same.
Following is the URL to see the SVG performance issue
http://salesarchitect-build.bhitest.com/sitemappreview?siteid=70&communityid=709&ios=1
I am using following code to setup pan and zoom to my SVG
function setUpPanAndZoom() {
var section = $('#canvas');
section.find('svg').panzoom({
increment: 0.3,
minScale: 1.0,
maxScale: 9.0,
rangeStep: 0.05
});
            section.find('path').each(function () {
                $(this).on('mousedown touchstart', function (e) {
                    e.stopImmediatePropagation();
                });
            });
        }

Hi @deznuios, did you ever find a solution to this performance issue?
Thanks


Can't echo array params in a task

Expected Behavior
I expect to be able to run this yaml file and have it echo the array values.
apiVersion: tekton.dev/v1beta1
kind: Task
metadata:
  name: mytask
spec:
  params:
    - name: TEST
      type: array
  steps:
    - name: echo
      image: alpine
      script: |
        echo "$(params.TEST[*])"
---
apiVersion: tekton.dev/v1beta1
kind: PipelineRun
metadata:
  generateName: test-pr
spec:
  serviceAccountName: "default"
  pipelineSpec:
    tasks:
      - name: task
        taskRef:
          name: mytask
          kind: Task
        params:
          - name: TEST
            value:
              - a
              - b
              - c

Actual Behavior
Instead I get this error message: Error from server (BadRequest): error when creating "test.yaml": admission webhook "validation.webhook.pipeline.tekton.dev" denied the request: validation failed: variable type invalid in "echo \"$(params.TEST[*])\"\n": spec.steps[0].script
As a workaround, you can use environment variables like so, but this doesn't always work because I sometimes get this error:  env: can't execute 'bash': No such file or directory
apiVersion: tekton.dev/v1beta1
kind: Task
metadata:
  name: mytask
spec:
  params:
    - name: TEST
      type: array
  steps:
    - name: use-environments
      image: bash:latest
      args: ["$(params.TEST[*])"]
      script: |
        for arg in "$@"; do
          echo "Arg: $arg"
        done

Steps to Reproduce the Problem

Run the examples provided

Additional Info

Kubernetes version:
Output of kubectl version:

Client Version: version.Info{Major:"1", Minor:"25", GitVersion:"v1.25.4", GitCommit:"872a965c6c6526caa949f0c6ac028ef7aff3fb78", GitTreeState:"clean", BuildDate:"2022-11-09T13:36:36Z", GoVersion:"go1.19.3", Compiler:"gc", Platform:"darwin/arm64"}
Kustomize Version: v4.5.7
Server Version: version.Info{Major:"1", Minor:"26", GitVersion:"v1.26.3", GitCommit:"9e644106593f3f4aa98f8a84b23db5fa378900bd", GitTreeState:"clean", BuildDate:"2023-03-15T13:33:12Z", GoVersion:"go1.19.7", Compiler:"gc", Platform:"linux/arm64"}

Tekton Pipeline version:
Output of tkn version or kubectl get pods -n tekton-pipelines -l app=tekton-pipelines-controller -o=jsonpath='{.items[0].metadata.labels.version}'

Client version: 0.31.1
Pipeline version: devel

given that the same issue has come up again, can we please document this as a known limitation? 🙏🏾

Indeed, this was never supported, as it is not obvious what the representation of the array should be, especially since it's now known in which environment it will be used.
We do support indexing in arrays now, which is a step forward.
If we supported something like $(#params.TEST[*]) to read the length of the array, it would be possible for scripts to iterate on element arrays.

If users want to iterate the array params in script, this can do this:
      taskSpec:
        params:
          - name: environments
            type: array
        steps:
          - name: use-environments
            image: bash:latest
            args: [
              "$(params.environments[*])",
            ]
            script: |
              for arg in "$@"; do
                echo "Arg: $arg"
              done


Recommend pytest in developer guide

🚀 Pull Request
Description

This is the culmination of my cunning plan from #4199!
Removes the instructions for using the deprecated python setup.py test, and instead gives instructions for pytest.
I have retained the instructions for running a module directly with e.g. python my/test/file.py, because I have not found a way to use our extra options (e.g. -d for displaying figures) under pytest.
Also added a little about the pros and cons of testing in your own iris-dev environment vs using nox, thanks to @bsherratt's suggestion at https://github.com/SciTools/iris/discussions/4199#discussioncomment-1447095.
See here for how this page renders:
https://www-hc/~hadru/iris-dev/developers_guide/contributing_running_tests.html

Consult Iris pull request check list

Thanks @lbdreyer 😊


Upload fixed build to hackage

The version currently on hackage (10.0.0) does not currently build.
The fixed version should be uploaded (presumably under 10.0.1)
I have no experience with hackage but would be willing to do this task if I had the rights for it.
@joachifm (if you don't have time currently, don't feel pressured to do anything immediately)

The version currently on hackage (10.0.0) does not currently build. The fixed version should be uploaded (presumably under 10.0.1)
I have no experience with hackage but would be willing to do this task if I had the rights for it.

I can add your Hackage user to the list of package maintainers

My hackage username is Jade512

My hackage username is Jade512

I have added you to the list of package maintainers

Might make sense to look into using something like https://github.com/haskell-actions/hackage-publish to automate this.  More convenient and also more transparent than uploading random builds from someone's workspace.

@joachifm cabal check is complaining about the -Wall and -Werror not being portable cpp-options.
Is there a specific rationale for passing them or can I safely remove them? I'm not really sure what warnings you'd get from the C-compiler anyways.

If I remember correctly, we rely on the C pre-processor to conditionally expose some internals when building the test-suite.
I don't know why -Wall and -Werror flags were added to cpp-options, but I expect that removing them should be okay.

libmpd <IP_ADDRESS> has been released


proposal: Go 2: Array or variadic destructuring to discrete variables

Author background

Would you consider yourself a novice, intermediate, or experienced Go programmer?
I consider myself as novice to intermediate Go programmer.  I have no extensive experience of looking at established Go code under the hood.
What other languages do you have experience with?
I have VB, C# and PHP experience before becoming interested in Go.

Related proposals

Has this idea, or one like it, been proposed before?
I'm not sure. I searched the proposals and I can't find a proposal that discussed the same.

Does this affect error handling?. I'm not sure.

Is this about generics? No.

Proposal

What is the proposed change?

I would like to suggest a language change that can execute dynamic assignments to a list of discrete variables.
I have the following code:
 // Process options
if len(opts) == 1 {
  switch t := opts[0].(type) {
  case string:
	  if size64, err := strconv.ParseInt(t, 10, 32); err == nil {
		  size = int(size64)
	  }
  case int:
	  size = t
  default:
	  size = -1
  }
}

if len(opts) == 2 {
  switch t := opts[1].(type) {
  case string:
	  if size64, err := strconv.ParseInt(t, 10, 32); err == nil {
		  scale = uint8(size64)
	  }
  case int:
	  scale = uint8(t)
  case uint8:
	  scale = t
  default:
	  scale = 0
  }
}

if len(opts) == 3 {
  switch t := opts[2].(type) {
  case string:
	  if size64, err := strconv.ParseInt(t, 10, 32); err == nil {
		  prec = uint8(size64)
	  }
  case int:
	  prec = uint8(t)
  case uint8:
	  prec = t
  default:
	  scale = 0
  }
}

The opts variable is a variadic parameter in a function:
func NewExtParam(value interface{}, opts ...interface{}) ExtParam {
}

In order to check if one or more of the values have been set, I need to check the length of the opts variable in order to enter and process the value further. As you have noticed, there is no null checking yet.
It would be nice if we can destructure an array or a variadic variable like the one below:
sz, sc, pr := opts...

And then we can write the following check if the value is null or not.
if sz != nil {
  // process further
}
if sc!= nil {
  // process further
}
if pr != nil {
  // process further
}

Who does this proposal help, and why?

It can help developers to simplify their code

Please describe as precisely as possible the change to the language.

What would change in the language spec?

Please also describe the change informally, as in a class teaching Go.
The mechanics can be as follows:

It will only set the values specified in left-to-right order. Meaning, if there is no third (3) variable in the set, the assignment would not be prompted. A similar feature of this is the assertion operator or the map's second result.
A null value would be read if the destination is more than the length of the variadic or array input

Is this change backward compatible?

Show example code before and after the change.
Before
After

Orthogonality: how does this change interact or overlap with existing features?

Is the goal of this change a performance improvement?

If so, what quantifiable improvement should we expect?
How would we measure it?

Costs

Would this change make Go easier or harder to learn, and why?

I think it will contribute to a more idiomatic Go concept. Instead of manually checking the length and indexing an array like the code I gave above, a quick and easy assignment like this would lessen the clutter.
PHP has the list function. It made the values retrieval easy to code and understand.

What is the cost of this proposal? (Every language change has a cost).
How many tools (such as vet, gopls, gofmt, goimports, etc.) would be affected?
What is the compile time cost?
What is the run time cost?
Can you describe a possible implementation?
Do you have a prototype? (This is not required.)

For the particular use case you mentioned, why would you not just use a struct instead of variadic parameters?
type ExtParam struct {
    Size uint8
    Scale uint8
    Prec uint8
}

This has the side benefit of improving clarity on the caller side, as people don't have to figure out which parameter is which anymore.

This has the side benefit of improving clarity on the caller side, as people don't have to figure out which parameter is which anymore.

It also allows them to be different types and have clearly defined definitions for one being unset.

For the particular use case you mentioned, why would you not just use a struct instead of variadic parameters?
type ExtParam struct {
    Size uint8
    Scale uint8
    Prec uint8
}

This has the side benefit of improving clarity on the caller side, as people don't have to figure out which parameter is which anymore.

You're right, it could be coded like that by adding a nullable struct next to the value argument. But then I needed the NewExtParam function to be called by just the value argument. It's a sort of a habit coming from VB and C# languages that allows an optional argument with a default value if omitted.
The idea of the proposal came as I tried to handle the omitted arguments. I just thought it would be great if we have a PHP-styled deconstruction list() function made into the language itself.

I feel like your new code looks so much shorter than your old code because you left out a bunch of lines that would have been repeated.
Also your new code implies that the values are being set to a pointer type, as you are comparing them to nil.  Are they type *uint8?

But then I needed the NewExtParam function to be called by just the value argument.

I'm not clear what specifically NewExtParam is returning in your original snippet, but another common pattern I've seen is this:
type ExtParam struct {
    value interface{}
    size uint8
    scale uint8
    prec uint8
}

type ExtParamOption func(*ExtParam)

func WithSize(size uint8) ExtParamOption {
    return func(p *ExtParam) { p.size = size }
}

...

func NewExtParam(value interface{}, opts ...ExtParamOption) ExtParam {
    extParam := ExtParam{value: value}
    for _, opt := range opts {
        opt(&extParam)
    }
    return extParam
}

Then the caller looks like:
NewExtParam(value, WithSize(1), WithScale(2), WithPrec(3))

All of that aside, I would think your original proposal can be satisfied with a simple helper function like so.
func getOrDefault[T any](x []T, i int, d T) T {
	if i >= len(x) {
		return d
	}
	return x[i]
}

And then in your code sample it would be:
size := getOrDefault(opts, 0, nil)
scale := getOrDefault(opts, 1, nil)
prec := getOrDefault(opts, 2, nil)

I feel like your new code looks so much shorter than your old code because you left out a bunch of lines that would have been repeated.

The new code would not be checking for the range of the array, but on the value itself:
if pr != nil {
  switch t := pr.(type) {
  case string:
	  if size64, err := strconv.ParseInt(t, 10, 32); err == nil {
		  prec = uint8(size64)
	  }
  case int:
	  prec = uint8(t)
  case uint8:
	  prec = t
  default:
	  prec= 0
  }
}

Also your new code implies that the values are being set to a pointer type, as you are comparing them to nil. Are they type *uint8?

I was assuming the pr variable would be nil if not passed, or a deliberate nil would be supplied by the user so I had to check nullity.

Then the caller looks like:
NewExtParam(value, WithSize(1), WithScale(2), WithPrec(3))

This technique is awesome! I will definitely use it in my succeeding projects.
The ExtParam returns just as your defined struct type with a little difference:
type ExtParam struct {
	Value interface{}
	Size  int
	Scale uint8
	Prec  uint8
}

I intend to use this a new data type for SQL query parameters, so I didn't think of having helper functions to sanitize user data. I only thought of a constructor for readability and ease of use.

All of that aside, I would think your original proposal can be satisfied with a simple helper function like so.
func getOrDefault[T any](x []T, i int, d T) T {
	if i >= len(x) {
		return d
	}
	return x[i]
}

And then in your code sample it would be:
size := getOrDefault(opts, 0, nil)
scale := getOrDefault(opts, 1, nil)
prec := getOrDefault(opts, 2, nil)

This is definitely helpful. About the proposal, this is my only use case yet.

Besides the discussion above, there seems to be an ambiguity here: if you have a slice of any, then it will be impossible to tell whether the value was present and nil, or whether the value was not present at all.
In general there are other ways to do this, and based on emoji voting there doesn't seem to be much enthusiasm for this approach.  Therefore, this is a likely decline.  Leaving open for four weeks for final comments.

No further comments.


taiHEN user plugin - sceCtrlPeekBufferPositive lead to Vita reboot

Code is this one: http://pastebin.com/jVJVFMtW
When I attach it to any app - it leads to immediate reboot, probably kernel crash.
This is the modification of user.c in henkaku user plugin, no other modifications were made: https://github.com/henkaku/henkaku/tree/master/plugin
So basically to reproduce you can just replace user.c with mine.

It might be this https://github.com/yifanlu/taiHEN/issues/12
Test the workaround and let me know.

Did this way: http://pastebin.com/esD5p8GX
Still reboots.


Fix syslog_sd parsing

Fixes #176 by fixing the syslog_sd_raw field capture name. Sorry for the two direct commits; I have admin rights in cf-community and thought I was pushing to my fork. I reverted my change because I wanted to get this reviewed.

Thank you @jghiloni !


Helm lint fails

What happened?
helm lint ./chart || exit 1 fails as follows:
[ERROR] templates/: template: tobs/templates/NOTES.txt:117:12: executing "tobs/templates/NOTES.txt" at <{{template "clusterName" $tsEnv}}>: template "clusterName" not defined
Did you expect to see something different?
helm lint ./chart || exit 1 to exit with status 0.
How to reproduce it (as minimally and precisely as possible):
Clone latest code as of commit 084c98b387e444e4221f48a8fb11f507409b804d and run helm lint.

You need to run helm dep up before running linter.

Steps taken to reproduce:
$ git rev-parse HEAD
084c98b387e444e4221f48a8fb11f507409b804d

$ cd chart

$ helm version
version.BuildInfo{Version:"v3.7.1", GitCommit:"1d11fcb5d3f3bf00dbe6fe31b8412839a96b3dc4", GitTreeState:"clean", GoVersion:"go1.16.9"}

$ helm lint .
==> Linting .
[INFO] Chart.yaml: icon is recommended
[ERROR] templates/: template: tobs/templates/NOTES.txt:117:12: executing "tobs/templates/NOTES.txt" at <{{template "clusterName" $tsEnv}}>: template "clusterName" not defined
[WARNING] /home/paulfantom/Projects/src/github.com/timescale/tobs/chart: chart directory is missing these dependencies: timescaledb-single,promscale,kube-prometheus-stack,opentelemetry-operator

Error: 1 chart(s) linted, 1 chart(s) failed

$ helm dep up
Getting updates for unmanaged Helm repositories...
...Successfully got an update from the "https://open-telemetry.github.io/opentelemetry-helm-charts" chart repository
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "harbor" chart repository
...Successfully got an update from the "grafana" chart repository
...Successfully got an update from the "timescale" chart repository
...Successfully got an update from the "prometheus-community" chart repository
...Successfully got an update from the "k8s-at-home" chart repository
Update Complete. ⎈Happy Helming!⎈
Saving 4 charts
Downloading timescaledb-single from repo https://charts.timescale.com
Downloading promscale from repo https://charts.timescale.com
Downloading kube-prometheus-stack from repo https://prometheus-community.github.io/helm-charts
Downloading opentelemetry-operator from repo https://open-telemetry.github.io/opentelemetry-helm-charts
Deleting outdated charts

$ helm lint
==> Linting .
[INFO] Chart.yaml: icon is recommended

1 chart(s) linted, 0 chart(s) failed


Work around common WinRM issue in Vagrant

Often, Windows systems will fail to shutdown or reboot cleanly when
using WinRM as a communications protocol.
After taking a look at the approach taken by Packer and Chef, it looks
like a simple retry system is the best mechanism for working around the
issue.
This patch retries up to 6 times with a 10 second delay between each in
the case of a WinRM error and just raises the traditional exception
otherwise.
A small amount of unnecessary code was removed.

Jenkins, test this please

@kevpl Tests seem to be OK now!


Move contributing info to CONTRIBUTING

The README is long and doesn't immediately indicate that there is a procedure to follow for pull requests. Moving it out to CONTRIBUTING (where most projects put "how to contribute" information) makes it easier to find. Github also puts up a banner when making pull requests when there is a contributing file that hasn't been read.
I also updated the coding style link and added the blurb about "pull requests are okay however please email rt@" which was missing from the section.

+1

+1
merged and pushed


Cython fails to import utility code on cython.view cimport

Consider
from cython cimport view

def get_data():
    cdef view.array my_array = view.array(shape=(10, 2), itemsize=sizeof(int), format="i")
    return my_array

Seems to have been introduced at https://github.com/cython/cython/commit/1d7072f17e00147e9929175d12b9c4ccf8ae90aa
If the features of cython.view.array are used, the code gets cimported as expected.


Add basic authenticator and file based userstore API

Purpose

Provides a way to secure Services with basic authentication, with a simple file based userstore.

Approach

The API provided has two methods to authenticate and authorize the user. Currently, the Service developer needs to engage the security manually by calling the methods, as shown in the sample. The userstore is a file based one, which uses the ballerina.conf file format to store users, password hashes, scopes, groups and the mapping between these entities.

Samples

https://github.com/isurulucky/Ballerina-Secure-Helloworld

New PR: https://github.com/ballerina-lang/ballerina/pull/4802


Sg/area dist

Update and fully test the area and distance function.

Tests look great.
There are a lot of separate docs... I find it easier to read one doc string on a stub function covering all the methods of the function, rather than many separate per-method docs.

Okay! I combined all of the docs into the stub function and then organized the others with comments. Let me know if that is easier to read.

Also, the code that was originally in the file had the signed_distance from a point to a multipolygon as the maximum minimum distance from a point to an element of the multipolygon. But based on LibGEOS behavior (as shown in tests) and this description of Shapely behavior, I think it should be the minimum minimum distance from the point to an element of the multipolygon. But let me know what you think.

@asinghvi17 what do you think? I have no knowledge of signed distance algs to really comment on that

The minimum minimum does seem correct to me too, based on not very much

I feel good about merging it if you do @rafaqz. If someone disagrees with the algorithm we can always fix it later.


Cannot Post Job Data

The Json i tried:
{
"repo_token": "NWUxS2tnbDVVTVlxcE1PV2pVWkFuMDdUdnBwclM0d0U0b0VSclFqeA==",
"source_files": [{
"name": "lib/example.rb",
"source_digest": "1eb14b3a053f951ca925f2fd4d633eeb",
"coverage": [null, 1, 1, 0]
}]
}
curl --form<EMAIL_ADDRESS>http://localhost:4000/api/v1/jobs
And i'm getting "Server internal error"

Getting response code 422.

It seems the coveralls API uses "source_digest" as the key for the md5 of the file, while OpenCov requires it to be "source". Is this a bug?

https://github.com/scoverage/sbt-coveralls/pull/119


Things about simulation and real time experiments

From youtube  i found that there is a biped robot Bolt can walk and reject disturb.
The cool things is that they make the mechanics and electronics  of Bolt totally open-sourced on github.
What i am not sure is that if i build  a Bolt,how i can control it walking like the[video] (https://www.youtube.com/watch?v=x2jYQdjT_es&t=176s)
I found that this repo can do simulation for Bolt.
So i wonder is this repo can control walking in the real world?

Generally, it is the same repo used for the video you mentioned.
You need to make sure you can estimate the CoM position and base orientation of the robot in the real world. In the simulation, these data are given by the simulator to the code. In the real world, you can use external estimation (like Vicon) or internal estimation (like IMU) to get these inputs to the algorithm, which are not provided in this repository.

i got it


Spark 3.0.0 operator

Would like to know when the helm operator for Spark 3.0.0 will be released ?

You meant the Helm chart? We already have a new operator image based on Spark 3.0.0 at gcr.io/spark-operator/spark-operator:v1beta2-1.1.2-3.0.0. You can use this image by adding the following to your helm install command:
--set operatorVersion=v1beta2-1.1.2-3.0.0

@liyinan926 does the image support Hadoop 3 binaries?

No, the base Spark 3.0.0 image used is pre-built with Hadoop 2.7.

is it possible to have one with hadoop 3 as well?

You meant the Helm chart? We already have a new operator image based on Spark 3.0.0 at gcr.io/spark-operator/spark-operator:v1beta2-1.1.2-3.0.0. You can use this image by adding the following to your helm install command:
--set operatorVersion=v1beta2-1.1.2-3.0.0

I wonder how can I combine this chart with zeppelin? I would like zeppelin notebooks pyspark paragraphs to use spark operator.
Do you know if it is possible?

is private registry supposed to be working with --set operatorVersion=v1beta2-1.1.2-3.0.0?

@polyzos  Another option would be to build a spark image by yourself from source, then push it to your registry:
http://spark.apache.org/downloads.html.  Then call it in your sparkApplication Deployment (you won't have gcs/prometheus connectors but you can add them and build your own image). I am interested to your feedback to know if everything runs fine.

@scottydelta you can use a private registry by setting --set operatorImageName=<private registry URL of the image excluding the image tag>.
As @AliGouta said, you can always build your own custom Spark image using a pre-built package you can download from the Spark site. Once you have a custom Spark image, you can simply build a custom operator image based on the custom Spark image.
@polyzos  I have built and pushed the following Spark images based on Hadoop 3:
gcr.io/spark-operator/spark:v3.0.0-hadoop3
gcr.io/spark-operator/spark-py:v3.0.0-hadoop3

@AliGouta watching the spark summit i  came across this
https://github.com/TomLous/medium-spark-k8s/blob/master/docker/spark-runner/Dockerfile
so today i think im gonna try use this with spark3 image @liyinan926 created and see if it's gonna work.
Do you see any potential bottlenecks with this approach? my goal is to use spark3 in order to connect to gen2 azure datalake

currently i see
operatorImageName: gcr.io/spark-operator/spark-operator
operatorVersion: v1beta2-1.1.2-2.4.5
imagePullPolicy: IfNotPresent

Is there any config related to feature included in this spark version? Or everything is in spark image.?

@AliGouta watching the spark summit i came across this
https://github.com/TomLous/medium-spark-k8s/blob/master/docker/spark-runner/Dockerfile
so alterativaly i was thinking of trying to use this with spark3 image @liyinan926 created, but i saw he build it with hadoop3 as well.
Do you see any potential bottlenecks with the above approach? my goal is to use spark3 in order to connect to gen2 azure datalake

That's what we use, as an approach as well, it works just fine.
We derived from gcr.io/spark-operator/spark, but you could just look at : https://github.com/apache/spark/blob/master/resource-managers/kubernetes/docker/src/main/dockerfiles/spark/Dockerfile

Closing this, and will continue to use #702 to track any remaining work to support Spark 3.0.0.

@WaterKnight1998 able to get this to work with Zepplin notebooks?

@scottydelta you can use a private registry by setting --set operatorImageName=<private registry URL of the image excluding the image tag>. Check out the options available in https://github.com/helm/charts/blob/master/incubator/sparkoperator/values.yaml.
As @AliGouta said, you can always build your own custom Spark image using a pre-built package you can download from the Spark site. Once you have a custom Spark image, you can simply build a custom operator image based on the custom Spark image.
@polyzos I have built and pushed the following Spark images based on Hadoop 3:
gcr.io/spark-operator/spark:v3.0.0-hadoop3
gcr.io/spark-operator/spark-py:v3.0.0-hadoop3

@liyinan926 , could you please share the docker file for gcr.io/spark-operator/spark:v3.0.0-hadoop3?


feat(component): dialog

add dialog component.

Sorry, I would like to design this component first.

Sorry, I would like to design this component first.

I agree, I think we should finish the design as soon as possible and commission the author of this pr to make changes.


Failure to build with ACLOCAL_PATH

On Windows, using approximately the instructions from http://neilmitchell.blogspot.co.uk/2016/03/compiling-ghc-on-windows.html, I just got:
C:\Neil\ghc\feb2018\ghc>stack exec -- hadrian\build.bat -j --configure
| Checking for Windows tarballs...
| Running boot...
Traceback (most recent call last):
  File "boot", line 196, in <module>
    autoreconf()
  File "boot", line 154, in autoreconf
    ac_local = os.environ['ACLOCAL_PATH']
  File "C:/Users/ndmit_000/AppData/Local/Programs/stack/x86_64-windows/msys2-20150512/mingw64/lib/python3.6\os.py", line 669, in __getitem__
    raise KeyError(key) from None
KeyError: 'ACLOCAL_PATH'

I am not sure what Hadrian version I am using (I just did a git clone from the root of GHC), so instructions to refresh Hadrian are welcome.

I'm not sure this is related, but some time ago I dropped a hack for ACLOCAL_PATH, see this commit: https://github.com/snowleopard/hadrian/commit/830567e388a89b90a80c0140379c983de3cec8aa.
@ndmitchell Can you retry with this hack returned? If it works, we can just revert the above commit.

It looks like this may actually require some extra work, see https://github.com/snowleopard/hadrian/issues/314#issuecomment-334129053.

set ACLOCAL_PATH=. beforehand seems to have fixed it. Should boot on line 154 perhaps be conditionally getting aclocal if the environment variable is set, and not blowing up otherwise?

@ndmitchell Yep, sounds like the right approach!
@bgamari What do you think about this? We need to make this line in boot more robust:
https://github.com/ghc/ghc/blob/master/boot#L154

I just stumbled across this problem again, and then manually derived the same solution. If a fix isn't going to go upstream (which I think it should @bgamari) then having a local hack in Hadrian will reduce the number of times I have to re-solve this.

Patched in https://github.com/ghc/ghc/pull/164.

Fixed upstream!

:tada: Thanks Neil!


[CARBONDATA-3161]Pipe dilimiter is not working for streaming table

Be sure to do all of the following checklist to help us incorporate
your contribution quickly and easily:
[Issue]: During data load in streaming scenario the delimiter was taking from CSVInputformat but it was not set in CarbonAppendableStreamSink Class.
[Solution]: Set parameters like Delimiters, Escape char, Max columns in CSVInputFormat for streaming also

[No] Any interfaces changed?

[No] Any backward compatibility impacted?

[No ] Document update required?

[Yes] Testing done
Please provide details on
- Whether new unit test cases have been added or why no new tests are required?
- How it is tested? Please attach test report.
- Is it a performance related change? Please attach the performance test report.
- Any additional information to help reviewers in testing this change.

[No] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA.

Build Success with Spark 2.3.2, Please check CI http://<IP_ADDRESS>:8080/job/carbondataprbuilder2.3/10082/

Build Success with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/2035/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder2.1/1827/

LGTM