Rustfmt deletes multiline comment in struct definition

before:
struct Foo {
	a: i32,
/*
asd
*/
	// sdf
	b: i32,
}

after:
struct Foo {
	a: i32,
	b: i32,
}

Please fix this! I lost some comments from this after running rustfmt on my whole workspace, and only noticed this behavior now, many commits later!
It seems to happen if a single-line comment after the multi-line comment is present.

I'll take a look into this one

Believe I've found the problem, will open a PR with a fix later tonight or tomorrow


"Remember Me" not work on Chrome

Cookie exists but not logged on when restart Chrome

Same issue on IE


Deployment Groups - Cannot Add Agent To Multiple Deployment Groups

I'm working through configuring agents on our various servers and adding them to deployment groups. I noticed as I was going through configuration that you cannot add an agent to multiple deployment groups.  It seems that if you want to have a machine to be part of multiple deployment groups, you have to install multiple agents on the server.
This doesn't necessarily scale very well as that's more resource being taken away from the machine and more agents to maintain/upgrade.
There are cases where a server may be part of multiple application groups, and those application groups may contain multiple servers that aren't in the same "family". You can technically accomplish these deployments by adding multiple deployment group phases in the release, but this can get messy and hard to maintain over time.
I think it should be possible to add an agent to multiple deployment groups, to get around these issues of scaling and maintainability.

If you are interested in sharing the agent across multiple DGs, you can follow the guidance here. https://blogs.msdn.microsoft.com/devops/2018/01/11/sharing-of-deployment-groups-across-projects/

Thanks for getting back to me! I don't think this is quite what I'm looking for unfortunately. I actually don't even have the options listed there. To be clear, we are using on-prem TFS and not VSTS.
Our setup currently uses one big team project for most items. What I want to accomplish is while using one team project, being able to associate one agent on a server to multiple deployment groups, and not having to install an agent on the server for each deployment group that I want that server to be part of.
Let me know if you need any more information on my setup or what I'm looking for.

@alpacamybags118 we currently dont support the agent sharing with DG's in same project.

@chshrikh Can you suggest a workaround? My use case: I have a deployment group with a set of VMs in it. When I bring up a new VM, I want to deploy to just the new one. One way I thought to do this was to have it be part of two deployment groups: the All VMs group and another group containing just the single VM itself.
I tried filtering the deployment group by machine tag, but couldn't get that working. All examples show machine tags like "web" and "db". But machine tags are of the form name:value, not just name.

@eanders-MS I think this should help you.
You can deploy the latest deployment on newly added targets with same tag in DG.

Oh nice! That should do the trick. Thanks.


VR Motion Controllers can't go back a page.

When using the Vive you can't go back a page as there's no visible button. (And I would assume Oculus players have the same issue)
It would be nice to maybe see a home button on the tablet?
This is why all of the vanilla menus have a back button because VR players need a button to press.
Also would be nice to see the tablet get a bit bigger in VR mode to help with seeing, as texts gets blurry in VR.

Fixed in c13635e26b6be090781dc2b4c61c6c7ca90a6a8a


The change of the version of StyleCop.Analyzers.dll assembly in beta12 forces to recomple dependent code

The commit https://github.com/DotNetAnalyzers/StyleCopAnalyzers/commit/7228989026b4ecffde725e2ea1ca1edec06caa75 changed the version of StyleCop.Analyzers.dll from <IP_ADDRESS> to <IP_ADDRESS>. This breaks our custom analyzers which reference StyleCop.Analyzers.dll (we use the helper method StyleCop.Analyzers.AnalyzerExtensions.RegisterSyntaxTreeActionHonorExclusions to exclude generated files from analysis).
The error message is The User Diagnostic Analyzer 'xxxxx' threw an exception of type 'System.IO.FileNotFoundException' with message 'Could not load file or assembly 'StyleCop.Analyzers, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=97d9e3aa481481c8' or one of its dependencies. The system cannot find the file specified.'.
It's no problem to recompile our assembly once to reference the new assembly version but we would like to avoid doing it for each update of StyleCop.Analyzers (which are rather frequent).

@alxyr There are no compatibility guarantees between preview releases. While I have not decided on a final breaking changes model for stable releases, it is likely to focus on other aspects such as stability of the stylecop.json format.
Based on the way we have to place Newtonsoft.Json.dll in the same folder as StyleCop.Analyzers.dll, it seems if another analyzer uses our code then the user no longer has control over which version of this project is used by a project. In the distribution of your custom analyzers, are you including StyleCop.Analyzers.dll in the NuGet package or are you simply declaring a dependency in the .nuspec file?

@sharwell We just put all analyzer dlls in one folder (StyleCop.Analyzer.dll, Newtonsoft.Json.dll, OurOwnAnalyzer.dll) and reference them from  elements in csproj files. We don't use NuGet and simply replace 2 dlls in the analyzers' folder when need to upgrade StyleCop.Analyzers to a newer version (we have a really big number of csproj files and don't want them all to be modified by NuGet each time we upgrade the analyzers).
All worked perfectly while StyleCop.Analyzer.dll had fixed version number in all betas (<IP_ADDRESS>). Now we have to rebuild OurOwnAnalyzer.dll specifically for beta12 (<IP_ADDRESS>). If beta13 will change its version to <IP_ADDRESS>, we will have to rebuild OurOwnAnalyzer.dll again.
I'm wondering if there's a way to somehow configure binding redirection in this case.

@alxyr You're going to need to take additional steps when you update to Beta 13 as a result of #1502. However, this will be a one-time change as opposed to breaking with each update.

@sharwell Does it mean (#1502) that won't be able to use 'StyleCop.Analyzers.AnalyzerExtensions.RegisterSyntaxTreeActionHonorExclusions' anymore?

You will be able to, but you'll need to copy the source files which provide that feature into your own project as opposed to just referencing the compiled assembly from this project. This particular functionality should be fairly easy to incorporate. :smile:

So no direct use. I would prefer rebuilding a dll than duplicate code :)
Anyway, thanks for answering.


License?

Can you please specify the license?

Thanks for the notice, I just forgot. It is licensed under Apache 2.0, added in fb58307.


CI should send email to donejs team when there is a failure

Running the guide test.

Assigning to you @m-mujica , would want to add: justin, david, myself.  Send email when the status changes (like when it goes from passing to failing or failing to passing).

Would prefer this to only happen when in the master branch, but that might not be possible.


spec: panicking corner-case semantics

A few corner-cases regarding panicking that I noticed in the Go spec:
1) What happens if a panic occurs while a goroutine is already panicking?
Gc/gccgo seem to allow recursive panicking and recovering: http://play.golang.org/p/tBkwgyzmuT
But if a deferred function panics without any recovery, then the original panic is lost: http://play.golang.org/p/KqwGiWGMAx
2) The Go spec says "The return value of recover is nil if any of the following conditions holds: [...] recover was not called directly by a deferred function."
Gc/gccgo though seem to also have recover return nil in deferred functions if they were executed because of normal (i.e., non-panicking) function return: http://play.golang.org/p/a-fl_9Gga0
3) The Go spec says "Suppose a function G defers a function D that calls recover and a panic occurs in a function on the same goroutine in which G is executing. [...] If D returns normally, without starting a new panic, the panicking sequence stops."
Nit: I think the intention here is understood, but the wording could probably be improved somewhat.  As quoted in item 2 above, the spec later explicitly refers to deferred functions that "directly" call recover.  Omitting "directly" here suggests that indirect calls to recover should still stop the panicking sequence, but they'll return nil instead of the panic value.

Unfortunately I don't understand what you are suggesting.  To me the spec seems accurate and complete.
You seem to suggest that we should omit "directly," but that would be a clear change in behaviour.  Indirect calls to recover do not stop the panicking sequence.  They simply return nil and the panic continues.

@ianlancetaylor Are you referring to just item 3, or you think the spec is accurate and complete for the first two items I listed too?
Rephrasing my concern about the wording in item 3, currently the spec seems to admit this behavior for recover:
func recover() interface{} {
    // 1. Apply the "stop panicking" logic from the "The recover function allows a program [...]" paragraph.
    if ("called by function D [possibly indirectly?], which was deferred by panicking function G") {
        stopPanicking()
    }

    // 2. Apply the "return nil" logic from the next paragraph.
    if ("goroutine is not panicking" || "not *directly* called by a deferred function") {
        return nil
    }

    // 3. Continue with the previous paragraph and return the value from panicking.
    return valueFromPanicking()
}

The nit I see is the stop-panicking logic and the what-value-is-returned logic are separately described with slightly different wording.
I think by reorganizing the section a bit, it could be clearer that the correct behavior is something like:
func recover() interface{} {
    // 1. This case always return nil without doing anything.
    // (Note: No need to test for "not panicking", because that's just a special case.)
    if ("not *directly* called by a function D, deferred by a panicking function G") {
        return nil
    }

    // 2. Stop panicking and return the panic value.
    stopPanicking()
    return valueFromPanicking()
}

Thanks, I think I see what you mean now.  We should clarify that we only stop panicking for the cases where recover returns non-nil.


BLM - Convert RotationWatchdog to use RestartWindow

If we actually had buff statuses still, I probably would've done this a while ago... Moved RotationWatchdog from being a bespoke Analyser to extending the RestartWindow class, so we're more consistent with other UI and take better advantage of shared code.
All rotation analysis and suggestion generation is moved into evaluator classes, and made a few minor adjustments to the core ActionWindow and ExpectedActionsEvaluator modules to preserve some of the display behavior already present in RotationWatchdog (ie. filtering out of the table the rotations without errors, and showing which actions were procs). While I was testing, I also found and fixed bug with the expected despair count where it would claim a missing despair even if the entire fire phase of a rotation took place during extended downtime (such as if the player generates 3 Hearts via Umbral Soul, then Transposes to Fire and back to Ice to generate a Paradox marker for when the boss is targetable again). That's really the only notable change for end users so that's all I mentioned in the changelog...

Changed to draft because I want to update some of these evaluators based on changes I was making in #1832

If I can figure out how to squash the revision history on this monstrosity, I will, but it's ready for review now that the PR it was built on top of has been merged in.


Instances of 'req' in reference to Promise results changed to 'res'.

The title sums it up.

LGTM

Thanks @benwiley4000 !!


websocket client socket types difference

I am referring to example/websocket/client/sync and example/websocket/client/async.
The sync example uses websocket::stream<tcp::socket>.
The async example uses websocket::stream<beast::tcp_stream>.
I would like to understand the difference and especially why then can't both operate on the same type (eg. boost::beast::tcp_stream.
beast::tcp_stream is defined as:
using tcp_stream = basic_stream<
    net::ip::tcp,
    net::any_io_executor,
    unlimited_rate_policy>;

In order to understand this better I attempted to modify the sync client example to use beast::tcp_stream but then the endpoint look-up doesn't compile:
auto ep = net::connect(ws.next_layer(), results);

Questions:

Why are the websocket types different between the sync and async client examples?
Is there a way to make the sync client example work with websocket::stream<beast::tcp_stream>?

The beast::tcp_stream adds a rate-limit and in-built timeouts on reads and writes on top of the functionality of the underlying socket type. These extra functions are only available when the stream's asynchronous functions are used.

Yes, it will work, but you realise no benefit from the tcp_stream since it's using the synchronous functions. The synchronous functions are simple pass-throughs.

Thank you for the clarification.


"CalEnviroScreen for the US" example score

Implementing "CalEnviroScreen for the US" as an example score methodology.
Unsurprisingly, running the comparison tool on these data inputs versus the "actual" CalEnviroScreen 4.0 data produces a remarkably similar result. The small difference remaining is due to a few California-specific variables that aren't available nationally and thus aren't included here.

I have a few weird conventions in this PR that I'm not sure really stand up as thoughtful engineering best practices (e.g., at times I declare variables as GLOBAL_CONSTANTS, at times I just reference other fields using strings). I'm open to all feedback to improving code readability and re-usability.
Also, I decide to switch from snake_case_variable_names to Sentence case variable names, to improve readability. But I'm very open to the idea that we should switch back.
Full verbal description of methodology
Geographic unit:

Census block group

Data sets used in score:
[Existing data sets from June 18th]

Poverty (Less than 200% of federal poverty line)
Less than high-school education

[New data sets, all sourced from EJSCREEN]

Air Toxics Cancer Risk
Respiratory Hazard Index
Diesel PM
Particulate Matter (PM2.5)
Ozone
Traffic Proximity and Volume
Proximity to RMP Sites
Proximity to TSDF Sites
Proximity to NPL Sites
Wastewater Discharge
Lead Paint
Linguistic Isolation
Individuals under 5 years old
Individuals over 64 years old

Data sets needed but not used in score:
[Existing data sets from June 18th]

Population of the census block group

Normalization:

Each variable should be converted from raw values into percentiles for the entire country.

Buckets:

Exposures:

Air Toxics Cancer Risk
Respiratory Hazard Index
Diesel PM
Particulate Matter (PM2.5)
Ozone
Traffic Proximity and Volume

Environmental effects:

Proximity to RMP Sites
Proximity to TSDF Sites
Proximity to NPL Sites
Wastewater Discharge
Lead Paint

Sensitive populations:

Individuals under 5 years old
Individuals over 64 years old

Socioeconomic factors:

Linguistic Isolation
Poverty (Less than 200% of federal poverty line)
Less than high-school education

Aggregation (this follows the CalEnviroScreen methodology):

Average all the percentile values in each bucket into a single score for each of the three buckets.
Combine the score from the two Exposures and Environmental Effects buckets into a single score called "Pollution Burden". The math for this score is: (1.0 * Exposures Score + 0.5 * Environment Effects score) / 1.5.
Average the score from the two Sensitive populations and Socioeconomic factors buckets into a single score called "Population Characteristics".
Multiply the "Pollution Burden" score and the "Population Characteristics" together to produce the cumulative impact score.

This can be represented as the CalEnviroScreen methodology, except that there is no need to multiply by 10.

@lucasmbrown-usds do you mind if we rename the score_calc file to 0.2?

@lucasmbrown-usds just fixed some merge conflicts with the score_0.1 ipynb. I've seen this in the past, so we need to be careful about the changes when they're run, because the content generated might surface conflicts

🍏


Use OIC Data Models [v2]

With this PR a few data models are ignored due to JSON errors.
Later I'll try to create some samples using new models so
we may check if auto generated code behaves as expected.

lgtm, but I have some points, that needs to be addressed later:

we could use _ as word separator for port names (json spec is using camelcase and we are just converting them to uppercase)
we don't have the interfaces implemented by each resource. This information is in raml files. Current code is using a hard coded interface
remove core.light and use oic.r.light.brigthness in soletta oic samples

ok, I'll create tickets for each suggestion and merge this PR.
Thanks


fix(v2): windows compatibility

Motivation
Fix #1350
The problem
import XXXXX from '@generated\this-is\my\path' is incorrect
import XXXXX from '@generated/this-is/my/path' is correct

We need to escape backslashes for windows path.
Have you read the Contributing Guidelines on pull requests?
Yes
Test Plan
Before

After
Windows

Linux

V1 once faced these issues but I've mostly fixed that 😄
I use Ubuntu on Windows so sometimes I forget that I can actually use the native 'command prompt' to test out Window bugs


Test CI

Test commit for Sprint Demo

Codecov Report

Merging #24 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff           @@
##           master     #24   +/-   ##
======================================
  Coverage    48.8%   48.8%
======================================
  Files          35      35
  Lines        2512    2512
======================================
  Hits         1226    1226
  Misses       1085    1085
  Partials      201     201

Impacted Files
Coverage Δ

pdp/yast_target.go
56.75% <100%> (ø)
:arrow_up:

pdp/domain_tree.go
100% <100%> (ø)
:arrow_up:

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 544afbf...273ba7a. Read the comment docs.

DO NOT MERGE


Make it possible to specify the meshing precision when generating drawing elements.

This is a design problem. For resolving, we have to separate InstanceDescriptor into ShapeInstanceDescriptor and PolygonInstanceDescriptor.

We created PolygonInstanceDescriptor and ShapeInstanceDescriptor, and renamed the existing InstanceDescriptor to InstanceState. All the changes are merged to master. I close this issue.


WIP: Add an overload for the 'time' option of Timex.set/2 that accepts a Time struct

Summary of changes
I wanted to be able to use the Time struct instead of the h/m/s tuple for Timex.set when modifying a DateTime:
iex> to_change = Timex.to_datetime({{2017, 7, 21}, {1, 2, 3}})
iex> changed = Timex.set(to_change, [time: ~T[09:52:33.000]])
#<DateTime(2017-07-21T09:52:33Z Etc/UTC)>

As discussed in #368, this is nice to have for consistency as it's something I had been missing from Timex when I first used it.
There should probably be an equivalent option for date but I wanted to get early feedback on this change first to make sure that I am doing things "the right way" before getting too deep into it.
Open questions:

Should the tests really have gone in the parse_default_test file? I didn't see a set of tests dedicated solely to set/2 so was unsure where to put them.
How should I handle possibly obliterating the validate option when I call Timex.set after converting the struct into a tuple? (datetime.ex:198)

Checklist

[x] New functions have typespecs, changed functions were updated
[x] Same for documentation, including moduledocs
[x] Tests were added or updated to cover changes
[x] Commits were squashed into a single coherent commit

Coverage increased (+0.05%) to 67.987% when pulling b02dc49b9868f3d99bb29a5ad034127fa1eac160 on barbeque:master into 85ee14feed16ac7ce7827ac6bbdb10471c107141 on bitwalker:master.

Looks good! Thanks!


Makefile for use with docker

Description
I use Makefile with docker to make it simpler call the frequent actions used in daily django development.
I've added the most frequent one. Hope it helps.
Rationale
It's not really needed but i think it saves time and remembering large commands.
Use case(s) / visualization(s)
write "make build" to set up the docker container
write "make up" to start container
write "make manage COMMAND" to call to any django command

This is a great addition. Is there a particular reason why is only for local? I would also find this useful in production.

Maybe a better alternative would be fabric instead? Similar idea/interface as Make, but in Python, so easier to maintain IMO.

Would help if we want to enable more advanced things like #1133

You can grab some commands from here if you like:
PROJECT_NAME=your_project
export COMPOSE_FILE=local.yml

.PHONY: up down stop prune ps shell logs

default: up

## help	:	Print commands help.
help : Makefile
	@sed -n 's/^##//p' $<

## up	:	Start up containers.
up:
	@echo "Starting up containers for for $(PROJECT_NAME)..."
	# @see:https://github.com/docker/compose/issues/6464
	#docker-compose pull
	docker-compose build
	docker-compose up -d --remove-orphans

## build	:	Build python image.
build:
	@echo "Building python image for for $(PROJECT_NAME)..."
	docker-compose build

## down	:	Stop containers.
down: stop

## start	:	Start containers without updating.
start:
	@echo "Starting containers for $(PROJECT_NAME) from where you left off..."
	@docker-compose start

## stop	:	Stop containers.
stop:
	@echo "Stopping containers for $(PROJECT_NAME)..."
	@docker-compose stop

## prune	:	Remove containers and their volumes.
##		You can optionally pass an argument with the service name to prune single container
##		prune mariadb	: Prune `mariadb` container and remove its volumes.
##		prune mariadb solr	: Prune `mariadb` and `solr` containers and remove their volumes.
prune:
	@echo "Removing containers for $(PROJECT_NAME)..."
	@docker-compose down -v $(filter-out $@,$(MAKECMDGOALS))

## ps	:	List running containers.
ps:
	@docker ps --filter name='$(PROJECT_NAME)*'

## manage   :	Executes `manage.ph` command.
##		To use "--flag" arguments include them in quotation marks.
##		For example: make manage "foo --type=cron"
.PHONY: manage
manage:
	docker exec $(shell docker ps --filter name='^/$(PROJECT_NAME)_django' --format "{{ .ID }}") python manage.py $(filter-out $@,$(MAKECMDGOALS))

## shell	:	Access `python` container via shell.
shell:
	docker exec -ti -e COLUMNS=$(shell tput cols) -e LINES=$(shell tput lines) $(shell docker ps --filter name='$(PROJECT_NAME)_django' --format "{{ .ID }}") sh

## logs	:	View containers logs.
##		You can optionally pass an argument with the service name to limit logs
##		logs python	: View `python` container logs.
##		logs nginx python	: View `nginx` and `python` containers logs.
logs:
	@docker-compose logs -f $(filter-out $@,$(MAKECMDGOALS))

# https://stackoverflow.com/a/6273809/1826109
%:
	@:

@browniebroke I've updated my code comment (manage action had a bug)

I personally like @pySilver offered option, it's a nice addition.
Maybe we should open a new PR, except if the author can follow-up

I personally like @pySilver offered option, it's a nice addition.
Maybe we should open a new PR, except if the author can follow-up

@areski I'm using this for a long time and it is really helpful

@areski I'm using this for a long time and it is really helpful

This PR seems abandonded, but if someone can put together a new one based on enhancements, I'll look at it.

You can grab some commands from here if you like:
PROJECT_NAME=your_project
export COMPOSE_FILE=local.yml

.PHONY: up down stop prune ps shell logs

default: up

## help	:	Print commands help.
help : Makefile
	@sed -n 's/^##//p' $<

## up	:	Start up containers.
up:
	@echo "Starting up containers for for $(PROJECT_NAME)..."
	# @see:https://github.com/docker/compose/issues/6464
	#docker-compose pull
	docker-compose build
	docker-compose up -d --remove-orphans

## build	:	Build python image.
build:
	@echo "Building python image for for $(PROJECT_NAME)..."
	docker-compose build

## down	:	Stop containers.
down: stop

## start	:	Start containers without updating.
start:
	@echo "Starting containers for $(PROJECT_NAME) from where you left off..."
	@docker-compose start

## stop	:	Stop containers.
stop:
	@echo "Stopping containers for $(PROJECT_NAME)..."
	@docker-compose stop

## prune	:	Remove containers and their volumes.
##		You can optionally pass an argument with the service name to prune single container
##		prune mariadb	: Prune `mariadb` container and remove its volumes.
##		prune mariadb solr	: Prune `mariadb` and `solr` containers and remove their volumes.
prune:
	@echo "Removing containers for $(PROJECT_NAME)..."
	@docker-compose down -v $(filter-out $@,$(MAKECMDGOALS))

## ps	:	List running containers.
ps:
	@docker ps --filter name='$(PROJECT_NAME)*'

## manage	:	Executes `manage.py` command.
##		To use "--flag" arguments include them in quotation marks.
##		For example: make manage "makemessages --locale=pl"
.PHONY: manage
manage:
	docker-compose -f $(COMPOSE_FILE) exec django python manage.py $(filter-out $@,$(MAKECMDGOALS)) $(subst \,,$(MAKEFLAGS))

## shell	:	Access `python` container via shell.
shell:
	docker exec -ti -e COLUMNS=$(shell tput cols) -e LINES=$(shell tput lines) $(shell docker ps --filter name='$(PROJECT_NAME)_django' --format "{{ .ID }}") bash

## logs	:	View containers logs.
##		You can optionally pass an argument with the service name to limit logs
##		logs python	: View `python` container logs.
##		logs nginx python	: View `nginx` and `python` containers logs.
logs:
	@docker-compose logs -f $(filter-out $@,$(MAKECMDGOALS))

# https://stackoverflow.com/a/6273809/1826109
%:
	@:

Credits: https://github.com/wodby/docker4python

i find this useful! thanks

Was looking into just and found out it can be installed through pypi. Has make that capability? If that ins't the case I would favor just over make.

Was looking into just and found out it can be installed through pypi. Has make that capability? If that ins't the case I would favor just over make.

Yes I agree. Another benefit would be to have a more cross-platform tool, I don't think that make is widely available on Windows...


Review the current color limit for the Palette

At the moment we do not allow more than 100 colors in the color palette.
I believe this was motivated by the "current colors" palette, which is updated via a webworker, which could get really slow on complex sprites. We should try to see if we can increase the number of colors in the application for all palettes. The current colors worker could still be limited to a 100 colors to avoid the problem mentioned earlier.

Bumped to 256


No //fix command visible

Describe the bug
When i type //fix in the chat no command suggestion pops up nor does it work if i type //fix
To Reproduce
Steps to reproduce the behavior:

Open chat
click on the chat box
type //fix and press enter.
See error

Expected behavior
Seeing the //fix command suggestion and response when i type //fix
Screenshots

System information (please complete the following information):

OS: Windows 11 Pro
php version 8.1.0
BuilderTools Version 2.0.0-beta1

Additional context
N/A

Hello, referring to https://github.com/CzechPMDevs/BuilderTools/commit/92a3848987833d392571906a798ccd9295c07e89, the fix command has been removed with the java-bedrock world convert system.


Allow full install for n || N || 2

Allow full install for n || N || 2, anything else triggers a minimal install
It turns out mistakes can be made here (capslock, thinking the second answer can be chosen with 2). Those answers are now valid as well.
closes #94

I suggest making it more straightforward:

y|Y - minimal install
n|N - full install
everything else - error message

@mtymek Makes sense. Using a loop now until a valid answer is given, just like in the other questions.

Thanks, @xtreamwayz


Rename CONTRIBUTING.md to CONTRIBUTING.mdAspNetCore.Docs

@Mohammed-Alanazisa what's the intention of this rename?

CONTRIBUTING.md is the common name for that file.
So renaming it must have a good reasoning.


Issue: attributes that passed into custom components are dahes-trimmed

When passing attributes into the custom component, all dashes are trimmed like this:
[views/home.php]
<x-alert :data-id-user="5">
  Message
</x-alert>

This outputs:

  Message

Okay I've solved this issue and did essential change in parsing attributes behavior: dashed attributes are no longer parsed to camelCase for using data-* attributes as well.
// [views/home.php]
@php
  $x = 5;
@endphp
<x-alert
  :data-id-user="$x"
>
  Message
</x-alert>

This will output:

  Message


Radio buttons are misaligned (French)

Home page > Click on French > Radio buttons are misaligned (patient, age, sex options)

@akanshaagnihotri please check if it is a duplicate of #238 , if yes then it can be closed


Added Showwcase icon after resolving conflicts.

This PR is a continuation of #1593 . I shall inform everyone in this PR when Font-Awesome merges my PR to include showwcase icon in React icons. Then, this PR will be ready to be merged.

Fontawesome PR has been closed https://github.com/FortAwesome/Font-Awesome/pull/19268
So I will close this PR for now as it is dependent on that PR being merged

ok @eddiejaoude


SONAR-12445 improve doc for folders binding, first install, upgrade

Hello,
I initially looked for doc changes in the README.md of the branch of this PR and I realized my mistake.
However, I noticed that the content of README.md is now inconsistent with content.md.
Do you plan on updating README.md?

Hello,
I initially looked for doc changes in the README.md of the branch of this PR and I realized my mistake.
However, I noticed that the content of README.md is now inconsistent with content.md.
Do you plan on updating README.md?

README.md is updated from a script when the PR get accepted on the official repo. See that all commits are from a bot on the README.md : https://github.com/SonarSource/sonarqube-docker-docs/commits/master/sonarqube/README.md


Interactivity rebase

git hates me, feeling is mutual
implements #39
hopefully the last interactivity branch before it can be merged

okay, functionality is back to where it was before...can click on single contour and change color
should now be ready to finish interactivity

update: about to start working on line collection but made the changes you suggested to base and line graphics
line graphic is single graphic so it normally wouldn't have indices, but I made sure that it would work if slice, int, etc. is passed into set_feature just in the event that it would happen


Visualizing profiling results for multi-GPUs

I'm interested in visualizing profiling results for multi-GPU runs with MPI and check how kernels running in different GPUs line up. However, it seems that perfetto supports loading only one trace file at a time. Are there any recommendations for visualizing multiple trace files in the same window? Thank you!

Hi @victorapm, in the past cat *.proto > combined.pftrace worked, and then it stopped working, and then recently, it started working again. I am unsure if the lack of support at times is due to an issue in the visualization or the file format but it is worth a shot. Alternatively, you will want to configure omnitrace’s perfetto backend in “system mode” and start up a perfetto daemon; the instructions can be found here

@jrmadsen thanks for the reply!
The first idea didn't work. I will check with my system's admin about the second idea as it requires installing perfetto.
I was reading omnitrace's documentation and found:
https://github.com/ROCm/omnitrace/blob/6bcd1d36cc0b8ee8b38154ccc8c67fd42da9a664/source/docs/installation.md?plain=1#L235-L238
So, if I build omnitrace with OMNITRACE_USE_MPI=ON and set OMNITRACE_PERFETTO_COMBINE_TRACES, would this be a third option to get the MPI tracing to work without having to build perfetto?

I will check with my system's admin about the second idea as it requires installing perfetto.

in the section I sent you, it notes that Omnitrace release installed from the STGZ provides the perfetto installation with the command line tools (traced -> omnitrace-perfetto-traced, perfetto -> omnitrace-perfetto).

I was reading omnitrace's documentation and found

No this is effectively the same as the first option, it just automates it.

Sounds good! Thanks for the support!


Divide ViewKnot to ServiceKnot and HandlebarsRenderKnot

ViewKnot is responsible for sevices calls and handlebars template evaluation. We want to make for those actions two seperate Knots: ServiceKnot and HandlebarsRenderKnot.

Documentation in progress.
I hereby agree to the terms of the Knot.x Contributor License Agreement.

Fixed.


Move to a single npm package

The npm package in the juputerlab/ folder was adding complexity, disk space, and download time.

I'm okay with this as long as we still have a working example of a standalone JupyterLab package (so that people see how to easily customize JupyterLab by loading different plugins, etc.).

You mean examples/lab?

rebase, pls :)

You mean examples/lab?

Yes, exactly. Thanks.


Simplify script operation

The base code requires several steps to get the car driving;

Git pull the code
Install the repo into linux and create the link to console command via load_entry_point(), which simply calls donkeycar.management.base:execute_from_command_line.py
Create a car directory to copy the template using this entry point (donkey createcar ...), which just calls
Run ie "python manage.py ..." in the car directory

To simplify:

Git pull the code
Run a single main.py script

Created 'mule' folder to store this standalone main.py, which references the original base
e99e9f405bab41b89d01a97524cccf6cd07bc0b4


Add C# API to disable fail fast mode

As part of the 0.14 release, fail fast is now enabled by default.
In order to disable fail fast mode, a flag must be set on metadata requests.
https://github.com/grpc/grpc/blob/master/include/grpc/impl/codegen/grpc_types.h#L212
We need to ensure that there is some way a user can disable fail fast mode.

Thanks for filing this.

The parameter should be called wait_for_ready and default to false.

Is https://github.com/grpc/grpc/blob/405503be4322cb331c7ba300632a56c1f066281c/include/grpc/impl/codegen/grpc_types.h#L289
the right flag? The original link is out of date.
Is this a client-side only feature or should something be done on server-side as well?

Yes, that's the correct flag.  Its a client-side only feature.


maybe add an "initial angle" to the hinge, so that you can set what position it starts at?

It can lead to a lot of problems, actually the hinge still has a lot of issues.


[C++][Python] Add VariableShapeTensor implementation

Describe the enhancement requested
With VariableShapeTensor definition discussed in #24868, #37166, mailing list and approved on the mailing list we now want to add it's C++ implementation and a Python wrapper.
Component(s)
C++, Python

@rok I am planning to move this to 19.0.0 as I am going to do the feature freeze, is that ok?

This one still needs reviews


Fix indirect array access

fixes #69
fixes #61

Closes #69

Closes #61

Found some errors in testing.

Form state decoration did not work because it did not allow array access to private properties as expected by Drupal 7 modules. For that reason, it was necessary to replace FormState with ArrayAccessFormState at the point of creation.

@darrenoh thanks so much for working through this with me!


Can't run on CentOS 6.5

LightHouse won't run:
/lib64/libc.so.6: version GLIBC_2.15' not found /usr/lib64/libstdc++.so.6: version GLIBCXX_3.4.15' not found

I have a similar problem, even when I try a developer build it seems to be downloading ELF binaries.  The instructions suggest this has to do with avoiding building node-webkit from source, but it would be nice if LT had instructions for performing a full build.
Obviously, i could run a newer Linux, but this workstation matches our production environment.  I've really enjoyed using LT on Mac and would love to on this machine.

@bitmonk there may never be published instructions for a full build that includes node-webkit. We're still working on migrating to Atom (Electron). Try building from that branch (atom-shell). You will probably need to manually merge PR #1892 and #1899 to account for Atom being renamed to Electron.
@ionuthulub please feel free to re-open this if you're still having trouble running Light Table. If you are still having this issue, please confirm whether you tried installing the versions of libc that are supposedly missing.

!kenny-evitt FWIW, I think we're both trying to build the source, so while I'm happy to explore further experimental builds, the versions of libc that are supposedly missing are not available.  A source build shouldn't depend on a specific version of libc.

Atom/Electron requires the specific version of libc. And it just doesn't seem to work on CentOS versions prior to 7; one issue among several:

atom-shell not available on CentOS? · Issue #1172 · atom/electron

There seem to be lots of people struggling to build it on CentOS 6.x, to no obvious avail.
I don't think I, or anyone else, will be able to help you. Light Table is nearly moribund as-is. Migrating from node-webkit to Atom was a significant project aimed to address major issues for a large number of users. Migrating to another alternative is just not realistic anytime soon – unless you are willing to spearhead that effort yourself.

Thanks for the info.

Just Copy

libstdc++.so.6
ld-linux-x86-64.so.0
libc.so.6
libgtk-x11-2.0.so.0
under the path .....src/node_modules/electron/dist . You can get this from Centos 7 .
Then Download https://jlison.github.io/bin/centos6/soichih/mirror/gcc-4.7.2.tar.gz and extarct it to some folder and update LD_LIBRARY_PATH

glibpath=/opt/glib/  (path where you have extracted glib )
export LD_LIBRARY_PATH=$glibpath/glib-2.49.4-kgesagxmtbemim2denf65on4iixy3miy/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=$glibpath/libffi-3.2.1-wk2luzhfdpbievnqqtu24pi774esyqye/lib64:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=$glibpath/pcre-8.39-itdbuzevbtzqeqrvna47wstwczud67wx/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=$glibpath/gettext-<IP_ADDRESS>-aoweyaoufujdlobl7dphb2gdrhuhikil/lib:$LD_LIBRARY_PATH
I am able t o run electron on my centos 6.5 and nothing breaks !


PhantomJS crashes periodically (every 2 to 4 hours)

Hi,
I am running Phantomjs v2.0 on a Windows Server 2008 - 64 bits.
We are using it basically to render out html pages to the google crawler in the context of an SPA application.
Phantomjs is installed as a service and monitored to be restarted if it stops.
Turns out, it crashes every 2 to 4 hours depending on something....maybe the number of requests I don't know...I haven't yet to figure that one out.
I have copied below the way phantomjs is started and the snippet from the crash from the windows event viewer. I am aware that the attached dump might not be very helpful. I looked at your instructions to convert the crash dump in a stack trace, but I did not see a Windows version of it. Let me know how I can give you more info. Thank you.
This is how phantomjs is started:
phantomjs.exe --disk-cache=no --local-to-remote-url-access=true myfile.js 4444 http://myapp.com
This is a simplified version of myfile.js
var renderHtml = function(url, cb) {
var page = require('webpage').create();
page.settings.loadImages = false;
page.settings.localToRemoteUrlAccessEnabled = true;
page.onCallback = function(data) {
cb(page.content);
    page.close();
};

page.onInitialized = function() {
   page.evaluate(function() {
        setTimeout(function() {
            console.log('CONSOLE: onInitialized timeout');
        }, 45000);
    });
};

page.open(url);

};
server.listen(port, function (request, response) {
var url = computeTheRedirectingURL();
console.log('INCOMING      : ' + request.url);
console.log('REDIRECTED TO : ' + url);

renderHtml(url, function(html) {
    response.statusCode = 200;
    response.write(html);
    response.close();
});

});
crash dump - phantomjs 2 - windows:
(XXXX below are just placeholders that I replaced)

Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event"
System:

Provider Name="Application Error"
EventID Qualifiers="0" 1000
Level 2
Task 100
Keywords 0x80000000000000
TimeCreated SystemTime="2015-05-08T08:46:17.000000000Z"
EventRecordID 77170
Channel Application
Computer XXXXXXXX

EventData

Data phantomjs.exe
Data <IP_ADDRESS>
Data 54d21d63
Data phantomjs.exe
Data <IP_ADDRESS>
Data 54d21d63
Data c0000005
Data 00aee303
Data 17a0
Data 01d0893d24155ab0
Data XXXXX\phantomjs-2.0.0-windows\bin\phantomjs.exe
Data XXXXX\phantomjs-2.0.0-windows\bin\phantomjs.exe
Data b06a02d0-f55e-11e4-80f8-0af9c7eba8e4

Anyone else having the same issue?

Update:

When setting page.settings.loadImages to false (as above) --> Phantomjs crashes as explained above...Basically I noticed that the memory is up the roof rather quickly. It leaks badly and in 2-4 hours the phantom process reaches 1GB...then it simply crashes.

When I tried setting page.settings.loadImages to true --> Phantomjs does not crash anymore, and works fine anywhere between 24 to 48 hours. After this time, it simply does not respond anymore. It hangs. Running a netstat -aon | find /i "4444", I can see that there is still something listening on that port. But it just refuses to respond. The listener is in a 'dead' mode...

I also tried adding this property page.settings.clearMemoryCaches and setting it to true or false does not seem to significantly impact the behavior described above.
Here is a dmp file in the case of:
page.settings.loadImages = true
page.settings.clearMemoryCaches = false
https://www.dropbox.com/s/wqrbh9rp3k7vcab/phantomjs.exe_150526_163423.dmp?dl=0
I have read through the different posts and hanging/crashing does not seem to be that uncommon in phantomjs 2.0...unfortunately, I did not see any answer to the problem til now.
Any idea guys,

We also see issues like this downloading jillions of web pages in isp-data-pollution. We also set:
dcap['phantomjs.page.settings.loadImages'] = ( 'false' )
dcap['phantomjs.page.settings.clearMemoryCaches'] = ('true')

I've wrapped all the calls to phantomjs methods with timeouts that should return control to the script if phantomjs hangs, but there are remaining issues.
See https://github.com/essandess/isp-data-pollution/issues/26 .


Understanding suggested performance improvements

💬 Question
Hello,
I've read the guide describing how to improve the performance of the UI.
I didn't fully understand when it is needed.
Currently, I have an application with custom theming and fonts as described in branding. I don't have any custom mapping for the components.
Will the described metro config gives me better performance? Is theme/font mapping == custom mapping?
Should I apply the improvements when I don't feel that my app is performing badly (maybe I don't feel it because I'm running it on a high-end device)?
Thank you
UI Kitten and Eva version

Package
Version

@eva-design/eva
2

@ui-kitten/components
5

Hey! 👋
What is the target platform of your application? Is it Web or Mobile?

Will the described metro config gives me better performance?

Yes. In case it's a mobile application.

Is theme/font mapping == custom mapping?

No, it's not the same.

Should I apply the improvements when I don't feel that my app is performing badly

This guide only helps to avoid ~1-2sec application start delay.
You might be interested in this thread to know the details.

Hey! 👋
What is the target platform of your application? Is it Web or Mobile?

Will the described metro config gives me better performance?

Yes. In case it's a mobile application.

Is theme/font mapping == custom mapping?

No, it's not the same.

Should I apply the improvements when I don't feel that my app is performing badly

This guide only helps to avoid ~1-2sec application start delay.
You might be interested in this thread to know the details.

Thank you very much!
It is a mobile app (with future plans for web).
The guide is not detailed enough. What I understand from your answer:

Relevant only for mobile?
Theme/font mapping != custom mapping
This improves only app startup performance - didn't understand that way
Are there any side effects? What I understood from the thread - bigger app size?

I've read the linked thread a couple of times to try to understand it thoroughly. What happens is that the metro bundler compiles the base style with the custom mapping and generates a new mapping for the app to start with (this mapping is the generated.json file that they talked about as big) instead of doing so on every app startup.

Thank you very much!
It is a mobile app (with future plans for web).
The guide is not detailed enough. What I understand from your answer:

Relevant only for mobile?
Theme/font mapping != custom mapping
This improves only app startup performance - didn't understand that way
Are there any side effects? What I understood from the thread - bigger app size?

I've read the linked thread a couple of times to try to understand it thoroughly. What happens is that the metro bundler compiles the base style with the custom mapping and generates a new mapping for the app to start with (this mapping is the generated.json file that they talked about as big) instead of doing so on every app startup.

with future plans for web

I would highly recommend reading the thread posted above then :)

Relevant only for mobil?

Yes. Running a mapping processing task when Metro Bundler starts or reloads is what it does.

This improves only app startup performance - didn't understand that way

As already mentioned, it will process Eva JSON mappings during the build time and cache it inside generated.json for the future use instead of doing the same during the runtime and keeping styles in memory.

bigger app size?

Yes. But it doesn't affect UX at all. It's better to have 3mb larger bundle than performance issues IMO. Compared to the web, the mobile bundle will be downloaded once - when the user installs it from a delivery channel.

with future plans for web

I would highly recommend reading the thread posted above then :)

Relevant only for mobil?

Yes. Running a mapping processing task when Metro Bundler starts or reloads is what it does.

This improves only app startup performance - didn't understand that way

As already mentioned, it will process Eva JSON mappings during the build time and cache it inside generated.json for the future use instead of doing the same during the runtime and keeping styles in memory.

bigger app size?

Yes. But it doesn't affect UX at all. It's better to have 3mb larger bundle than performance issues IMO. Compared to the web, the mobile bundle will be downloaded once - when the user installs it from a delivery channel.

Okay, then I don't really need it now since I don't have any custom mappings. But when I need it I should, follow thread's instructions.
I didn't understand the first bullet:

Make sure you don't have ui-kitten bootstrap script called

Okay, then I don't really need it now since I don't have any custom mappings. But when I need it I should, follow thread's instructions.
I didn't understand the first bullet:

Make sure you don't have ui-kitten bootstrap script called

Even if you don't use custom mappings I would suggest using Improving Performance guide to process Eva mappings during the build time and reduce the application start time as a result.
It seems you don't have any scripts if you don't understand it :)

Even if you don't use custom mappings I would suggest using Improving Performance guide to process Eva mappings during the build time and reduce the application start time as a result.
It seems you don't have any scripts if you don't understand it :)


Reexamine everything around Drop as of PgTryBuilder

https://github.com/tcdi/pgx/pull/834 has landed and completely blows up previous assumptions regarding how PL/Rust has to work with respect to PGX (but in a good way, mostly???). But it means everything in postgrestd and PL/Rust has to reevaluate in light of this new information.

We decided that pallocator is no longer necessary.  Is there anything else we should be concerned about?

I don't believe there is.  Closing.


Stories and NDC Texts import from backend

This Pull Requests makes changes to the Admin side of Climate Watch to enable importing blog stories and NDC Full texts via the admin interface. This was not possible before, but now it is!
I've removed the file management from the NDC Texts interface because it was not working due to the size of the files, but WRI have access to S3, so they can upload it there and then run the importer here.
To test this you will need to run a few commands on your terminal:
bundle install
bundle exec rails db:admin_boilerplate:create

And then you should have these two pages available:

http://localhost:3000/admin/global_cw_platform_ndc_texts
http://localhost:3000/admin/global_cw_platform_blog_stories

And they should work! =)

Hey @Bluesmile82 can you have a look at this PR when you have the chance?


Add website pricing panel component

First attempt at taking a component from the website. Brings a "callout panel" we regularly use on the website into Origin.

Closing as covered in #22


Any way to know Broadcast video is running or not ?

Hello @Matrixbirds,
I want to know one thing.
Is there any way to know video is running or not ??
So that I can handle on which broadcast user can enter as an Audience.

We suggest to use web signal services, to broadcast the message from server side storage.


I want to work on this repo for hacktoberfest

Can you please assign me any beginner-friendly issue?

hey do u want to work on documentation ??

yes please assign documentation issues to me.


Upstream reth_primitives::{Chain,NamedChain} to Alloy

The NamedChain enum is not sustainable and requires too much maintenance for a single crate. We should be able to define a few core chains (like Eth mainnet and testnets), and let users define their own.
Current ideas:

Chain trait to integrate with a future Network alloy trait (?)
Chain struct with a global registry
...

See: https://github.com/alloy-rs/chains
cc @gakonst @Evalir @mattsse @prestwich

This has been temporarily mitigated by #4808, where we re-implemented a small fraction of the ethers_core::types::Chain methods and variants as reth_primitives::NamedChain.


Search in edge is giving wrong website

From edge if we are searching for pyansys , sometimes it is showing the old page

liking to the old repo because of the https://github.com/ansys/pyansys/tree/gh-pages/dev folder.  Remove the dev folder.

dev directory deleted. Should be solved now. Let's give some time to the crawlers


Update count_tokens.ts

Fixes: Failed to calculate number of tokens, falling back to approximate count
I assume we want this function to applied here as well, so we get a valid tiktoken model for the instruct and -16k models

Thank you! This should fix #2668


Fix mjpeg type 0 check

Type 0 corresponds to YUV 4:2:2. Since this header is passed directly to the JPEG header, no additional changes are necessary for support. See the type field here: https://datatracker.ietf.org/doc/html/rfc2435#section-4.1
I have a stream producing YUV 4:2:2 mjpeg over RTSP and have confirmed manually that piping this through ffmpeg as a jpeg decoder results in correct decoding.

Hello, i checked in other implementations and i found out that types 0-63 can be enabled without further changes, so i expanded the check in both the decoder and encoder. This has been merged, thanks!


Updating name dependencies for classically controlled operations

I believe there is one typo, and the namespace where classically controlled operations live has changed since this work started.

The code that defines the ApplyIf... operations lists the name for the built in operation as 'ApplyIfElseCA', without the 'R'. The namespace change can be addressed in the other PR.
This PR could probably be closed.

You are right - that looks like a typo on the runtime repo; let's fix it there, and then I'll close this PR.


Create anuj

File added

Hey @Anuj2000,
Thanks for your contribution. Can you please update the file to use the correct extension? It should be anuj.json.
Tag me here when it's done and I'll merge this for you :)


"Create All Members For Structure" overrides inherited fields

From another customer, via email.
Version and Platform (required):

Binary Ninja Version: 3.5.4409-dev Personal ( 4eafbd3)
OS: macOS Version 13.4.1 (c) (Build 22F770820d)

Bug Description:
Not sure if it's an expected behavior. See the screenshots.  Instead of only creating the fields for the __offset*, it also overrode the fields that already existed.
Screenshots:

test_inherited_struct.bndb.zip

I created a database that can be used to reproduce this issue. Press S on var_38 and we can see all of the fields get redefined, including those inherited from the base class.


new: added support for encoding.TextMarshaler and encoding.TextUnmarshaler interfaces

I have good and bad news. The bad news is that I decided against merging your changes mainly because it could break existing projects that depend on this library. The good news is that the capabilities you are looking for can be added on a per-project basis without modifying the source code of this library.
Below you can find an example that I copy-pasted from the documentation and tailored to our current situation with encoding.TextMarshaler and encoding.TextUnmarshaler. It's a sketch that I threw together hastily to demonstrate what I mean so it may be incomplete and incapable of handling every situation.
package main

import (
	"encoding"
	"fmt"
	"reflect"

	"github.com/pasztorpisti/qs"
)

func main() {
	// Creating a new marshaler that can recognise encoding.TextMarshaler.
	m := qs.NewMarshaler(&qs.MarshalOptions{
		MarshalerFactory: &marshalerFactory{qs.NewDefaultMarshalOptions().MarshalerFactory},
	})
	// You can set qs.DefaultMarshaler to this newly created marshaler if you
	// want to change the behaviour of the qs.Marshal library function globally.

	// Creating a new unmarshaler that can recognise encoding.TextUnmarshaler.
	um := qs.NewUnmarshaler(&qs.UnmarshalOptions{
		UnmarshalerFactory: &unmarshalerFactory{qs.NewDefaultUnmarshalOptions().UnmarshalerFactory},
	})
	// You can set qs.DefaultUnmarshaler to this newly created unmarshaler if you
	// want to change the behaviour of the qs.Unmarshal library function globally.

	queryStr, err := m.Marshal(&queryStruct{
		Key1: myType{
			Count: 42,
		},
		Key2: "woof",
	})
	fmt.Printf("Marshal-Result: %v %v\n", queryStr, err)

	var query queryStruct
	err = um.Unmarshal(&query, queryStr)
	fmt.Printf("Unmarshal-Result: %+v %v\n", &query, err)
}

// myType implements encoding.TextMarshaler and encoding.TextUnmarshaler.
type myType struct {
	Count int
}

const countFormat = "%04X"

func (o *myType) MarshalText() (text []byte, err error) {
	return []byte(fmt.Sprintf(countFormat, o.Count)), nil
}

func (o *myType) UnmarshalText(text []byte) error {
	n, err := fmt.Sscanf(string(text), countFormat, &o.Count)
	if n != 1 || err != nil {
		return fmt.Errorf("couldn't unmarshal the Count field: %v", err)
	}
	return nil
}

// queryStruct defines the structure of our test query string.
type queryStruct struct {
	Key1 myType
	Key2 string
}

type marshalerFactory struct {
	orig qs.MarshalerFactory
}

var textMarshalerInterfaceType = reflect.TypeOf((*encoding.TextMarshaler)(nil)).Elem()

func (f *marshalerFactory) Marshaler(t reflect.Type, opts *qs.MarshalOptions) (qs.Marshaler, error) {
	if reflect.PtrTo(t).Implements(textMarshalerInterfaceType) {
		return textInterfaceHandlerInstance, nil
	}
	return f.orig.Marshaler(t, opts)
}

var textUnmarshalerInterfaceType = reflect.TypeOf((*encoding.TextUnmarshaler)(nil)).Elem()

type unmarshalerFactory struct {
	orig qs.UnmarshalerFactory
}

func (f *unmarshalerFactory) Unmarshaler(t reflect.Type, opts *qs.UnmarshalOptions) (qs.Unmarshaler, error) {
	if reflect.PtrTo(t).Implements(textUnmarshalerInterfaceType) {
		return textInterfaceHandlerInstance, nil
	}
	return f.orig.Unmarshaler(t, opts)
}

var textInterfaceHandlerInstance = &textInterfaceHandler{}

// textInterfaceHandler implements the qs.Marshaler and qs.Unmarshaler interfaces
// to handle types that implement at least one of the encoding.TextMarshaler and
// encoding.TextUnmarshaler interfaces.
type textInterfaceHandler struct{}

func (o *textInterfaceHandler) Marshal(v reflect.Value, opts *qs.MarshalOptions) ([]string, error) {
	if !v.CanAddr() {
		return nil, fmt.Errorf("expected an addressable value, got %v", v)
	}
	marshaler, ok := v.Addr().Interface().(encoding.TextMarshaler)
	if !ok {
		return nil, fmt.Errorf("expected a type that implements encoding.TextMarshaler, got %v", v.Type())
	}
	text, err := marshaler.MarshalText()
	if err != nil {
		return nil, err
	}
	return []string{string(text)}, nil
}

func (o *textInterfaceHandler) Unmarshal(v reflect.Value, a []string, opts *qs.UnmarshalOptions) error {
	if !v.CanAddr() {
		return fmt.Errorf("expected an addressable value, got %v", v)
	}
	unmarshaler, ok := v.Addr().Interface().(encoding.TextUnmarshaler)
	if !ok {
		return fmt.Errorf("expected a type that implements encoding.TextUnmarshaler, got %v", v.Type())
	}
	text, err := opts.SliceToString(a)
	if err != nil {
		return err
	}
	return unmarshaler.UnmarshalText([]byte(text))
}

Thanks for your reply.
Yes, this workaround does work, but it is really inconvenient.
The encoding.TextMarshaler and encoding.TextUnmarshaler is a de facto standard way to marshal any type to any text format that should naturally be marshaled as text.
The UUID type from https://github.com/google/uuid is an example that is the most widely used, even in query strings.
And the need to write custom marshalers for standard and widely used types is at least odd.
To provide compatibility guarantees, it is recommended to use Semantic Versioning, there are strict rules there. If your module is major version 0, then there are no compatibility guarantees, and clients should respect that. If you think your module is stable enough, you can declare its major version to be 1, this would give them backwards compatibility guarantees, and if they should be broken, the major version should just be bumped to 2, so that no existing client code would break without explicitly upgrading the major version (and thus reading documentation about what might break during that upgrade).
And even with this approach, there may be exceptions; for example, the go version 1 compatibility guarantees for the go compiler are considered to be broken soon because the potential benefit of introducing a minor breaking change https://github.com/golang/go/wiki/LoopvarExperiment significantly outweighs the potential harm it may cause to users. Theoretically, they could raise the major version for this change, but raising the major version for such a large and widely used project is definitely not worth the effort, especially compared to a fairly small breaking change that almost no users will ever encounter.
But with this package, it looks like there are 86 open-source projects that use this package, and I don't think it will be a big deal for them to make such an upgrade to make sure their code doesn't break, as well as it will not be a big deal to create a new major version.
I hope you'll reconsider accepting this change, at least with a major version change.


Zowe V1 C1 Conformance Criteria Forms

Zowe Conformance Criteria Forms Uploaded:

Master XLS Spreadsheet:  Workbook contains 3 Criteria Evaluation Forms (1)Zowe CLI, (2)Zowe App Framework and (3)Zowe API-ML
A PDF version of each of the worksheets in the Master Spreadsheet
A .md  / document that references the PDF (viewable, printable) worksheets with relative references

Hey @RASakach - we need to make the changes to the original docs at https://github.com/openmainframeproject/foundation/tree/master/zowe_conformance instead of just uploading PDFs here so we can track changes. Sorry if that wasn't clear...


fix a performance issue with dependent params

Fixes https://github.com/ruby-grape/grape/issues/2100
The reason was in ActiveSupport::HashWithIndifferentAccess, it is super expensive.
When users use a Grape::Extensions::ActiveSupport::HashWithIndifferentAccess::ParamBuilder or Grape::Extensions::Hashie::Mash::ParamBuilder parameter builder there is no change. However, users who use Grape::Extensions::Hash::ParamBuilder must make sure a parameter to be dependent on must be a symbol.
given :matrix do
  # block here
end

Benchmark after this fix:
Warming up --------------------------------------
               Given     1.000  i/100ms
              Simple     1.000  i/100ms
Calculating -------------------------------------
               Given      0.804  (± 0.0%) i/s -     49.000  in  61.186831s
              Simple      0.855  (± 0.0%) i/s -     52.000  in  60.926097s

Comparison:
              Simple:        0.9 i/s
               Given:        0.8 i/s - 1.06x  slower

@dblock please, have a look again. thanks.


Generate OpenAPI specification in Gradle task

Given that all the processing of the annotations happens during compilation, would it be possible to directly generate and export a JSON file with all specifications using, for example, a Gradle task? Most of the relevant information is already in build/tmp/kapt3/classes/main/openapi-plugin/openapi-default.json (or whatever version information is used), but I don't understand enough about the process of how this is generated to see how the remaining information could be added there during the build process. Any suggestions on how this could be achieved?

For each version, there's a set of extra global properties configured through openapi plugin:
https://github.com/javalin/javalin-openapi/blob/dc33be56174a0c53cf28daafced6f0de64f35b8b/javalin-plugins/javalin-openapi-plugin/src/main/kotlin/io/javalin/openapi/plugin/OpenApiPlugin.kt#L46-L70
You'd need to somehow generate it in your Gradle task and combine it with the existing scheme 🤔


DM(syncer):  fix lost lost dml under special sharding ddls

What problem does this PR solve?

Issue Number: close #5002
What is changed and how it works?
Change the check method of whether sync dml to be active ddl >= dml.
Check List
Tests

Integration test

Release note
None

/cc @lance6716 @GMHDBJD

/run-all-tests

/run-all-tests

/run-all-tests

/run-all-tests

/run-all-tests

/merge


Resources calculation for quantum arithmetic functions

Hello!
I have set up and ran some basic resource estimations from the tutorial for the Apply Majority algorithm on Q# Jupyter notebooks using e.g.
// |x1 x2 x3>|y> -> |x1 x2 x3>|y + MAJ(x1, x2, x3)>
operation ApplyMajorityUsingCNOTTransformation(x1: Qubit, x2: Qubit, x3: Qubit, y: Qubit): Unit is Adj + Ctl {
    within {
        CNOT(x2, x1);
        CNOT(x2, x3);
    } apply {
        CCNOT(x1, x3, y);
        CNOT(x2, y);
    }
}

operation UsingCNOTTTransformation() : Unit {
    use (x1, x2, x3, y) = (Qubit(), Qubit(), Qubit(), Qubit()) {
        ApplyMajorityUsingCNOTTransformation(x1, x2, x3, y);
    }
}

%estimate UsingCNOTTTransformation
I was hoping to try out the same for some quantum arithmetic functions (e.g. AddFxp, some multiplication functions, etc.) but I’m having some trouble understanding how to implement them. Are there any good resources describing how to implement a simple fixed point addition function (and count the resources?)
Thank you!

Hi @rajkk1, thanks for your question. For AddFxP you could do the following in Jupyter notebooks
%package Microsoft.Quantum.Numerics

open Microsoft.Quantum.Arithmetic;

operation EstimateAddFxP() : Unit {
  use a = Qubit[6];
  use b = Qubit[6];

  // fixed point representation with 4 bits before and 2 bits after the period
  use fpA = FixedPoint(4, a);
  use fpB = FixedPoint(4, b);

  // Add fpA into fpB
  AddFxP(fpA, fpB);
}

%estimate EstimateAddFxP

You can also find a Resources Estimation notebook for arithmetic in the Numerics package in the index of https://aka.ms/try-qsharp. The underlying sample can be found in our Samples repository.
Let me know if you have further questions.

Thanks for the reply! When running %package Microsoft.Quantum.Metrics I obtain the output
Adding package Microsoft.Quantum.Numerics: done!
Microsoft.Quantum.Standard::0.20.2110171573
Microsoft.Quantum.Standard.Visualization::0.20.2110171573
Microsoft.Quantum.Numerics::0.20.2110171573

which seems reasonable. However when running the next block I get
C:\snippet_.qs(8,13): error QS3213: Invalid initializer expression. Possible initializers are "Qubit()", "Qubit[expr]", or tuples thereof.
C:\snippet_.qs(9,13): error QS3213: Invalid initializer expression. Possible initializers are "Qubit()", "Qubit[expr]", or tuples thereof.

Thanks for the help!

@rajkk1, I had a mistake in the example code which I now fixed and also tested. I have updated my initial answer (there were two use statements which need to be let statements).

Ah neat, thank you for the change and your timely help! Works great now :)


It is possible for extension to not be init by script init?

function init(self)
	msg.post(".", "acquire_input_focus")

	local info = openal.get_info()
	print('OpenAL info:')
	print('Vendor:', info.vendor)
	print('Version:', info.version)
	print('Renderer:', info.renderer)
	print('Extensions:', info.extensions)
	openal.speed_of_sound = 3300;
end

What's weird is that the example project does work

If I add the info to on update then it shows up

But it appears if I setup any listener / source on init on scripts before extension is fully setup audio doesn't work at all?

You have to interact with it first....

function init(self)
	msg.post(".", "acquire_input_focus")

	local res = resource.load('/assets/audio/cuties/chick/cat.wav')
	local pos = go.get_position()
	self.source = openal.new_source(res)

	local info = openal.get_info()
	print('OpenAL info:')
	print('Vendor:', info.vendor)
	print('Version:', info.version)
	print('Renderer:', info.renderer)
	print('Extensions:', info.extensions)
	openal.speed_of_sound = 3300;
end


Support for v3

I would be great to get pull-request that add support for the OpenAPI-v3-spec.
I would suggest to create helpers openapi-v2 and openapi-v3 so that the differing places can be handled smoothly:
{{#if (openapi-v2)}}
{{>swagger/definitions definitions=definitions}}
{{else if (openapi-v3)}}
{{>openapi/components components=components}}
{{/if}}

As an alternative, if there are converters, that support the fully-automatic conversion from openapi 2 to 3, we could also just use those as preprocessor.

If you do take a look at the preprocessor route, there is swagger2openapi https://github.com/mermade/swagger2openapi

This is the other way around, isn't it? I'd need a v3 to v2 converter...
But I'm actually at it already. bootprint-json-schema@next fully supports JSON-schema draft-05 which is the basis for v3. And I hope, that the next version of bootprint-openapi supports v2 and v3.
I'm going to work on it soon in the next-branch, but I don't know how long it will take. I hope to be able to set a basic structure soon. After that, all PRs will be very welcome.

Has there been any progress toward supporting OpenApi 3.0.0 YAML? Thanks for this excellent project!

I'm sorry, but I have other priorities at the moment.

Understood about priorities! We're lucky to have the work you were able to contribute.
I just forked so I can play around with the code myself. Do you know of an easy way to test local changes?
For example, would it be more practical to learn how to invoke Handlebars templates locally (http://handlebarsjs.com/installation.html)? Or can I build a local release of this project?
Any pointers will be much appreciated!
Peter

Hi Peter,
if you are planning to help developing this project, I will gladly give you push access to the repositories.
I think, despite priorities, I will still be able to release new versions, if needed.
As for local development... There are multiple ways. If you want to try changes to the templates, you should probably checkout all three bootprint-modules bootprint-openapi, bootprint-json-schema and bootprint-base. And link them together using npm link. You can then install bootprint globally and use the dev-mode to re-render the openapi-spec on-the-fly, once a template or stylesheet has changed.
I have written down the steps on https://gist.github.com/nknapp/02420131c1693db581788db18d925784
On the other hand, there are the test-cases in the test-directory. Each test consists of a openapi-spec and a mocha-testcase that compiles it and then inspects the generated output using cheerio.
The generated html will appear in the test-output directory, within the project-root.
Handlebars itself does not have a mechanism to invoke templates from the command line. That was one of the reasons for writing bootprint in the first place.
If you'd rather change templates and partials, without contributing them, you can also create your own bootprint-module. Have a look here.
Put your replacement templates in your modules partial-directory. If they are named like the original ones, it will override them.
If you want to contribute, I will help you as good as I can. Its just that I'm hardly using this module anymore, and if I am going to develop code for other people, at least I don't want to do it on my own.

Thanks for the information!
If I'm able to figure out how to work with the code, I'd be happy to help
maintain the project. At the moment, I'm using it heavily and I'd love to
add some customizations that would suit my workflow.
I think it would make most sense for me to follow your advice here and take
the next steps after that.
Thanks again!
Peter
On Thu, May 31, 2018 at 5:07 PM, Nils Knappmeier<EMAIL_ADDRESS>wrote:

Hi Peter,
if you are planning to help developing this project, I will gladly give
you push access to the repositories.
I think, despite priorities, I will still be able to release new versions,
if needed.
As for local development... There are multiple ways. If you want to try
changes to the templates, you should probably checkout all three
bootprint-modules bootprint-openapi, bootprint-json-schema and
bootprint-base. And link them together using npm link. You can then
install bootprint globally and use the dev-mode to re-render the
openapi-spec on-the-fly, once a template or stylesheet has changed.
I have written down the steps on https://gist.github.com/nknapp/
02420131c1693db581788db18d925784
On the other hand, there are the test-cases in the test-directory. Each
test consists of a openapi-spec and a mocha-testcase that compiles it and
then inspects the generated output using cheerio.
The generated html will appear in the test-output directory, within the
project-root.
Handlebars itself does not have a mechanism to invoke templates from the
command line. That was one of the reasons for writing bootprint in the
first place.
If you'd rather change templates and partials, without contributing them,
you can also create your own bootprint-module. Have a look here
https://github.com/bootprint/bootprint/blob/next/doc/modules.md.
Put your replacement templates in your modules partial-directory. If they
are named like the original ones, it will override them.
If you want to contribute, I will help you as good as I can. Its just that
I'm hardly using this module anymore, and if I am going to develop code for
other people, at least I don't want to do it on my own.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/bootprint/bootprint-openapi/issues/91#issuecomment-393680786,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGNY9xmQ9wcgHJw6yCRcp4qrlDJjS3vPks5t4FuhgaJpZM4MadL3
.


Camp leader don't have the 'suppliers' button

Some camp managers don't see the supplier tab and don't have the option to add a supplier.
For example<EMAIL_ADDRESS>from camp פיזדיץ.

Duplicates https://github.com/Midburn/spark/issues/925,
also done.


#3Task. dmitry.mukhliada

https://travis-ci.org/github/N0menIllisLegio/db-assignments/builds/714234184

Looks good, closing the PR as accepted


pod install 0.95.0 failed

Try to install realm with Cocoapods, I got the message below
Installing Realm (0.95.0)
[!] /bin/bash -c
set -e
sh build.sh cocoapods-setup

core is not a symlink. Deleting...
Downloading dependency: core <IP_ADDRESS>
Downloading core failed. Please try again once you have an Internet connection.

and pod version:
pod --version
0.38.2

Can you try again, ensuring that you have an active internet connection while installing?

Installing Realm (0.94.1)
[!] /bin/bash -c
set -e
sh build.sh cocoapods-setup
core is not a symlink. Deleting...
Downloading dependency: core <IP_ADDRESS>
Downloading core failed. Please try again once you have an Internet connection.

Installing Realm (0.95.0)
[!] /bin/bash -c
set -e
sh build.sh cocoapods-setup
core is not a symlink. Deleting...
Downloading dependency: core <IP_ADDRESS>
Downloading core failed. Please try again once you have an Internet connection.

I meet it, too

@jpsim is it possible your S3 configuration changes could've caused this?

I installing others is ok.
Downloading dependencies
Installing AFNetworking (2.5.4)
Installing ASProgressPopUpView (0.8)
Installing Base64nl (1.2)
Installing FCUUID (1.1.4)
Installing GZIP (1.0.3)
Installing IGDigest (1.1.2)
Installing Mantle (2.0.4)
Installing Realm (0.95.0)
[!] /bin/bash -c
set -e
sh build.sh cocoapods-setup
core is not a symlink. Deleting...
Downloading dependency: core <IP_ADDRESS>
Downloading core failed. Please try again once you have an Internet connection.

This is strange, since I'm not having any trouble downloading the core zip myself

@jpsim is it possible your S3 configuration changes could've caused this?

That's the most likely option I can think of too. @codesourse would it be possible for you to share your public IP address with us? You can email it to us privately to<EMAIL_ADDRESS>if you prefer. We recently had to implement some IP filtering to prevent Realm from being downloaded from countries that we aren't allowed to export to, and I get the feeling that this filtering is affecting you.

I can reproduce the error myself 9 times out of 10. Running the curl step manually, with arguments tweaked to get decent errors, I see that I'm getting HTTP/1.1 403 Forbidden.

@jpsim i sent your email.

We recently had to implement some IP filtering to prevent Realm from being downloaded from countries that we aren't allowed to export to, and I get the feeling that this filtering is affecting you.

That's the point ,  so I have to give it up (cocoapod)?  may be I should try the realm.framework again.

I have the exact same error with Realm 0.95, internet connection is active, cocoapods 0.38.2

Can confirm this (from Germany). Have been wondering why I'm getting a message such as Version <title>403 Forbidden</title>.... is now available .... and can't update now. Before looking deeper into this issue, I have followed another recommendation to delete a couple of folders (including Pods/RealmCocoa), so my current installation is gone now.
It's not this IP address alone, I've tried from work and from home and it's 403 Forbidden for both.

@Padarom  exactly, i'm trying from Berlin :) and my installation is gone as i deleted the Pods and xxxx.xcworkspace

Beacause of bad net env.
the prepare command Realm provide is sh build.sh cocoapod-setup,  mainly code is download realm-core, download realm-core if $TMPDIR/core_bin/core-${REALM_CORE_VERSION}.tar.bz2 file not exists. so if you downloads always failed, you can download realm-core directly, and then backup it, when you need pod install realm, you can mv it to $TMPDIR/core_bin/core-${REALM_CORE_VERSION}.tar.bz2.
${REALM_CORE_VERSION} is core version , such as <IP_ADDRESS>

No we can not. There's even a 403 Forbidden when manually going on static.realm.io (which is where it's hosted), no matter which file we try to access. So there's no chance manually downloading without using a VPN or something the like.

I put last realm-core <IP_ADDRESS> to my dropbox,
https://www.dropbox.com/s/r0w7u1ox5n4i3ms/core-<IP_ADDRESS>.tar.bz2?dl=0

great , Thank (Y)

i confirm it's working now after downloading the file from @MickeyHub 's dropbox and placing into $TMPDIR/core_bin/
thanks again

Worked like a charm, thanks :+1: At least I'm able to get working again for now :)
Though the issue should still be looked into for the future

almost always failed for China's net env.😂

Sorry about the trouble, we've disabled IP filtering on AWS S3 for the time being so you should now be able to download core (and other assets served from static.realm.io).

I am experiencing this exact issue right now targetting 0.95.0

@austinkettner we're experiencing issues with S3 since 9am Pacific Time this morning. I'll post again here once we've resolved the issues.

Thanks @jpsim, much appreciated!

Ok, now resolved. It may take a few minutes for these changes to propagate. Thanks for your patience.

Hi, I am experiencing the same issue from France trying to get the branch swift 2.0

@bnadim that sounds like a different issue, please open a new ticket at https://github.com/realm/realm-cocoa/issues/new

Still got following issue:
[!] /bin/bash -c
set -e
sh build.sh cocoapods-setup

core is not a symlink. Deleting...
Downloading dependency: core 0.92.2
Downloading core failed. Please try again once you have an Internet connection.

Looks like Realm's core binaries couldn't be downloaded, as the message indicates. If you generally have difficulty downloading large assets from AWS S3 hosted in the US, that could explain the issue. Only advice I can give is to try again.

Thanks @jpsim . And yes, the core has been download after 10+ times.

Oh,no. My attemps times has gt 10, result is the same as before.

@luohui8891 @MickeyHub would you please send me your contact info(email, wechat or qq) to<EMAIL_ADDRESS>I am in China now, maybe I can help to identify the problem.

My qq: 791331313 , verification-info:15651787836

@beeender email sent.

@MickeyHub hey guy, just FYI, I have tried again via US VPN, it works.

Same here, tried it several times. No success.
[!] /bin/bash -c
set -e
sh build.sh cocoapods-setup

core is not a symlink. Deleting...
Downloading dependency: core 0.94.0
Downloading core failed. Please try again once you have an Internet connection.

Is there any ip address or url I can verify with that this is in fact caused by aws s3?
Thanks!

thanks @MickeyHub , that worked! Although it's important to rename the downloaded file to "core-VERSION.tar.bz2".

@luohui8891  ,Thank you, I think it'll be OK.
@neugartf , I updated dropbox share link to latest realm-core(0.94.0, tag:v0.96.0)
download latest core file

I meet it, too
 > Running prepare command
   $ /bin/bash -c  set -e sh build.sh cocoapods-setup
   core is not a symlink. Deleting...
   Downloading dependency: core 0.94.0
   Downloading core failed. Please try again once you have an Internet connection.
[!] /bin/bash -c
set -e
sh build.sh cocoapods-setup

core is not a symlink. Deleting...
Downloading dependency: core 0.94.0
Downloading core failed. Please try again once you have an Internet connection.

@losingle What is the ISP you are using? China Telecom?

@beeender China Telecom over Japan VPN

@losingle What is yours VPN provider? Or we can discuss through email<EMAIL_ADDRESS>

ditto

directly download the latest version core-0.94.0.tar.bz2.
put it to the folder $TMPDIR/core_bin.

have the same issue here:
[!] /bin/bash -c
set -e
sh build.sh cocoapods-setup
core is not a symlink. Deleting...
Downloading dependency: core 0.95.5
Downloading core failed. Please try again once you have an Internet connection.
@jpsim ,does the team include Taiwan as one of countries that aren't allowed to export to? Thank you

@jpsim ,does Taiwan is one of countries that is affected by IP filtering? Thank you

No, only the countries listed as blocked in our README.

I have the same issue here from Holland. I'm trying to download realm core 0.95.5.

Having this issue from the US. Any progress been made on this?

We're tracking this issue now by #2713, please take a look at this proposed workaround there and whether your error matches the output shown there, when trying to download the latest version of Realm. If that shouldn't fix it, please open up a new issue instead.

@MickeyHub  You  are  right.I  meet  this  issue  frequently in China.

I had this problem today after updating Cocoapods from 0.39.0 to 1.0.1 then to 1.1.0.rc.2
prior to the 1.0.1 upgrade, pod install would properly install RealmSwift, but after, I got the error:
[!] /bin/bash -c
set -e
sh build.sh cocoapods-setup
I downgraded back to 0.39.0 and ran pod install again, and received the following (new) error:
xcrun: error: active developer path ("/Applications/Xcode-beta.app/Contents/Developer") does not exist, use sudo xcode-select --switch path/to/Xcode.app to specify the Xcode that you wish to use for command line developer tools (or see man xcode-select)
Downloading dependencies
I deleted Xcode-beta from my system a few days/weeks ago when GM8 hit, so running xcode-select -r to reset to the default command line tools path resolved that error on 0.39.0
on a whim, I re-upgraded to 1.0.1 and re-ran pod install.
This time, no issues, everything installed just fine.
Not sure if it's the same issue as what other (US) people have seen, but it might be worth looking in to if you're hitting this error.  (I did not add this to #2713 because I'm not in China ...)

@neugartf Yes！！！Thank you for your 'rename' !!!  lol


HADOOP-18788: Support lz4 highCompressor level.

Description of PR
The Hadoop's LZ4 compression codec now depends on lz4-java. There two type of compressor in lz4, fastCompressor and highCompressor. The default lz4 compressor in hadoop is fastCompressor, we also can use highCompressor by using config IO_COMPRESSION_CODEC_LZ4_USELZ4HC_DEFAULT
When we want to use highCompressor in hadoop, we only can use the default compression level, which is level 9. while highCompressor in lz4-java supports compression level from 1 to 17.
This PR add a configuration to let users to choose different compresssionLevel for lz4 highCompressor.
How was this patch tested?
UT
For code changes:

[x] Does the title or this PR starts with the corresponding JIRA issue id (e.g. 'HADOOP-17799. Your PR title ...')?
[ ] Object storage: have the integration tests been executed and the endpoint declared according to the connector-specific documentation?
[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
[ ] If applicable, have you updated the LICENSE, LICENSE-binary, NOTICE-binary files?

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
0m 54s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  0s

codespell was not available.

+0 :ok:
detsecrets
0m  0s

detect-secrets was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

-1 :x:
test4tests
0m  0s

The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
50m 54s

trunk passed

+1 :green_heart:
compile
18m 52s

trunk passed with JDK Ubuntu-11.0.19+7-post-Ubuntu-0ubuntu120.04.1

+1 :green_heart:
compile
17m 12s

trunk passed with JDK Private Build-1.8.0_362-8u372-ga~us1-0ubuntu1~20.04-b09

+1 :green_heart:
checkstyle
1m 16s

trunk passed

+1 :green_heart:
mvnsite
1m 42s

trunk passed

+1 :green_heart:
javadoc
1m 14s

trunk passed with JDK Ubuntu-11.0.19+7-post-Ubuntu-0ubuntu120.04.1

+1 :green_heart:
javadoc
0m 48s

trunk passed with JDK Private Build-1.8.0_362-8u372-ga~us1-0ubuntu1~20.04-b09

+1 :green_heart:
spotbugs
2m 37s

trunk passed

+1 :green_heart:
shadedclient
40m 26s

branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
0m 57s

the patch passed

+1 :green_heart:
compile
17m 38s

the patch passed with JDK Ubuntu-11.0.19+7-post-Ubuntu-0ubuntu120.04.1

+1 :green_heart:
javac
17m 38s

the patch passed

+1 :green_heart:
compile
17m  2s

the patch passed with JDK Private Build-1.8.0_362-8u372-ga~us1-0ubuntu1~20.04-b09

+1 :green_heart:
javac
17m  2s

the patch passed

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

-0 :warning:
checkstyle
1m 12s
/results-checkstyle-hadoop-common-project_hadoop-common.txt
hadoop-common-project/hadoop-common: The patch generated 2 new + 74 unchanged - 0 fixed = 76 total (was 74)

+1 :green_heart:
mvnsite
1m 38s

the patch passed

-1 :x:
javadoc
1m  7s
/results-javadoc-javadoc-hadoop-common-project_hadoop-common-jdkUbuntu-11.0.19+7-post-Ubuntu-0ubuntu120.04.1.txt
hadoop-common-project_hadoop-common-jdkUbuntu-11.0.19+7-post-Ubuntu-0ubuntu120.04.1 with JDK Ubuntu-11.0.19+7-post-Ubuntu-0ubuntu120.04.1 generated 1 new + 0 unchanged - 0 fixed = 1 total (was 0)

+1 :green_heart:
javadoc
0m 50s

the patch passed with JDK Private Build-1.8.0_362-8u372-ga~us1-0ubuntu1~20.04-b09

+1 :green_heart:
spotbugs
2m 44s

the patch passed

+1 :green_heart:
shadedclient
40m 32s

patch has no errors when building and testing our client artifacts.

_ Other Tests _

+1 :green_heart:
unit
18m 46s

hadoop-common in the patch passed.

+1 :green_heart:
asflicense
1m  0s

The patch does not generate ASF License warnings.

241m 52s

Subsystem
Report/Notes

Docker
ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5799/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/5799

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell detsecrets

uname
Linux ed97422a48ac 4.15.0-212-generic #223-Ubuntu SMP Tue May 23 13:09:22 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / 33328235f0ac4f086ae359aa45805ce19edc6686

Default Java
Private Build-1.8.0_362-8u372-ga~us1-0ubuntu1~20.04-b09

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.19+7-post-Ubuntu-0ubuntu120.04.1 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_362-8u372-ga~us1-0ubuntu1~20.04-b09

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5799/1/testReport/

Max. process+thread count
3137 (vs. ulimit of 5500)

modules
C: hadoop-common-project/hadoop-common U: hadoop-common-project/hadoop-common

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5799/1/console

versions
git=2.25.1 maven=3.6.3 spotbugs=4.2.2

Powered by
Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.


Add HttpRequestRewindExtensions

aspnet/Home#2684
makes the BufferingHelper methods used in MVC and WebHooks public

This PR replaces #986.
I addressed all comments in that PR and side conversations except those about aspnet/Hosting#1291. Reaction to that PR should include updates to BufferingHelper implementation and HttpRequestRewindExtensions doc comments. Do we need an issue to track that reaction?

:up::date:

7b9da556fb


docs: fix example in README.md. Encapsulate in async + other fixes

Description
This PR fixes the example in README.md by:

Encapsulate call to the generator in an async func.
Add console.log for all the generated models.
Show the real output of the example.

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1454

Relevant Lines:
1484

💛  - Coveralls

@all-contributors please add @smoya for doc and review

Don't need to no, go ahead! 🎉


Optimize interacts with input trait

Description
Optimize InteractsWithInput trait and remove code that is only used in one place of the system.

This is a breaking change for anyone who implements the InteractsWithInput trait themselves.


Ability to add custom init commands in the connect uri? (Or config)

I've gone on a bit of a mission to see if it is possible to use the QRP-Labs QDX with Winlink. As the QDX only supports single carrier modes, I'd like to be able to only enable FSK modes with ardopc.
I asked on the bpq32 mail list, and there is command to enable FSK only in ardopc already, "FSKONLY 1".
In the pactor modem, the ability to send init commands is available in this format:
pat connect "pactor:///HB9AK?init=PTCH%204"
So, going on the above example I would like to be able to run:
pat connect "ardop:///VK2IO?freq=7045&init=FSKONLY%201"
Or even just set a config option.
While I do understand some of the code here, I am by no means a Go programmer, or completely understand the codeflow for pat.

We could add custom initialization commands as a optional config option. Unless we implement some fancy scripting language, there will be no way of checking success/failure of each cmd, so you'll just have to trust that they are accepted by the modem.
Also, parameters applied to the connect uri should be scoped to the connection. Ideally the modem's state should remain unchanged after a connection has been completed, meaning we would need to be able to revert all changed done by the custom init commands. That's impossible to accomplish without understanding what these commands do.
I think it might be easier implementing support for this specific feature (FSKONLY). Can you explain the benefits of running ARDOP in FSKONLY mode?

Hey, thanks for considering. In the specific instance I have in mind is using Winlink with the QRP-Labs QDX transceiver. I don't know of other transceivers with a similar architecture.
The transceiver listens on the built in USB soundcard for tones, then, translates those tones to a clock source. If you have your frequency set to 7055kHz (USB) and it hears a tone at 1500Hz, it will add them, and set the source to 7056.5kHz. This generates a pure FSK signal and means there is no need for linearity in the transmitter, meaning lower power usage for same transmit power, and relatively simple transmit stages. With some changes to internal settings, it can switch fast enough for HF Packet, the issues mentioned appear to be now fixed.
The QDX itself is fairly simple and has: a USB port for CAT control & a sound card, power in and antenna output. It can output up to 5W on 80, 60, 40, 30 and 20m; or 20, 17, 15, 12 & 10m. The whole package weighs around 155g.
This means a HF Winlink station would weigh well under 1kg (phone/tablet, Raspberry Pi, QDX, EFHW, 3S1P lithium battery) and could be deployed very quickly. There is also a 50W amp that can be paired with the QDX, and may still be able to keep weight under 1kg, depending on the power source.

This sounds like a very interesting project! Thanks for the details 😄
Wouldn't this require the remote station (or RMS) running the same FSKONLY mode?
I'm thinking maybe we should add FSKONLY=1 as an experimental feature controlled by an environment variable. Would that work for you, just to test this some more and see where it goes?

Hi, thanks again.
From reading the protocol specs, there is a wide variety of frames (modes) the stations can talk in, 4FSK, 4PSK; 50, 100, 167 baud and so on. Both sides negotiate the best mode both can run, so in theory, FSKONLY=1 should still work with any RMS station running a modem (like ardopc) that is capable of 4FSK. Much like how SSL/TLS is negotiated if you are familiar with that.
Yeah, experimental is probably preferable for now. I can't imagine a lot of scope for it outside of a few edge cases. There are a few things in the protocol that do make me wonder if FSKONLY will work correctly. In the ARDOP (not ardopc) protocol docs CONREQ & CONACK packets appear to be sent in 4PSK, and 4FSK appears to be only short payloads; but ardopc is apparently working with fine BPQ32 to make connections.

I think I understand, yes 🙂
Ok, I'll include ARDOP_FSKONLY_EXPERIMENT in the next release (v0.15.0) so you can experiment with it. Let's keep this issue open to discuss this further.
If it turns out to be a success, I think we'll add it as a fsk_only boolean parameter inside the ardop object in Pat's config, and then it would be very nice to write a wiki page explaining how to use Winlink with the QDX.


Sharing files one-off via http

Hi y'all; brilliant work you're doing here! :wave:
I mentioned to @mafintosh on IRC that a common use case I have is to want to share a single file (or disparate set of files) with a friend. Sometimes that friend won't have dat installed, so it's nice when I can share it over HTTP. Here are two ways I go about doing this:
1. oldweb
ssh eight45.net 'mkdir /tmp/fun'
scp file1.png ~/dev/file2.js eight45.net:/tmp/fun
ssh eight45.net 'ecstatic /tmp/fun -p 9111`

From here I can tell my friend to go to http://eight45.net:9111/ to see the files I shared.
2. ipfs
ipfs add -w file1.png ~/dev/file2.js
added QmSJ1Upq9RXzi167LwVpTqdBwXoemf5YDv3XDARqbRLPKE file1.png
added QmcGA3wQ2uBMQcEK1ae7rfY1T62v35qVrHaGPTJUQbhyzD file2.js
added QmNyNKUsiGpHcXjRjQjE49nfN4ayMAqac7YwkHwCf8x5te

From here I can tell my friend to visit https://ipfs.io/ipfs/QmNyNKUsiGpHcXjRjQjE49nfN4ayMAqac7YwkHwCf8x5te and they can access the files.

Maybe there are already ways to do this with dat that I don't know about, but here are the challenges I see:

dat share foo.png will create a dat for everything in the current directory. Having some way to make a transparent, ephemeral .dat directory for sharing a few ad-hoc files would be useful.
Some way for others to access the dat over http. IPFS makes everything accessible through its gateway on ipfs.io. Hashbase looks promising -- maybe permit anonymous use for small files?

Hey @noffle! 👋
A free public gateway wouldn't be too hard to build. Dat provides filesizes in the metadata prior to downloading the content, so you can easily apply a size limit and give it a short-lived cache.
Maybe we should build one into hashbase?

The IPFS folks have been running a public gateway for years now, and it's been a huge asset to the community & I think contributed a lot to its growth. Would be very jazzed to see this in datland.

We already have this on datproject.org/ but there is an issue where NATs aren't able to connect through the docker container. @jhand was working on it yesterday and might know more...

I wrote a quick tool that two parts.
The server listens on a TCP port for clients to connect.  The protocol is simply the 32 byte key followed by hyperdrive replication protocol.
The server also has an HTTP server that handles requests on-demand from HTTP clients using @joehand's hyperdrive-http.
I want the server to create a sparse hyperdrive that replicates from the client over TCP on demand. When the client disconnects, I deregister the key from the http server.
The problem I'm getting is something is wrong with sparse mode and only the first file requested by a browser will download.
https://github.com/creationix/drop-dat/blob/master/drop-dat.js

@creationix that is excellent (drop-dat, I meant). That kind of simplicity is exactly what I was after, as I want to run that, without relying on third part servers. Would love to see some systemd init script, to run a server permanently!

I agree with @noffle that an ipfs.io-style public gateway would be a great asset for the community. datbase.org only seems to give you a preview, not the raw data.
What are the barriers to setting one up?

There are dat gateways on github. Just have to shoulder the cost. It also has problems with URLs not working right

On May 26, 2018, at 10:00 AM, Edward Silverton<EMAIL_ADDRESS>wrote:
I agree with @noffle that an ipfs.io-style public gateway would be a great asset for the community. datbase.org only seems to give you a preview, not the raw data.
What are the barriers to setting one up?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

What if there was a configurable size cap on the gateways? Most times I just want to share small files, not big datasets.

Could you use nginx rate-limiting too?
On Sat, 26 May 2018, 15:55 Stephen Whitmore<EMAIL_ADDRESS>wrote:

What if there was a configurable size cap on the gateways? Most times I
just want to share small files, not big datasets.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/datproject/dat/issues/871#issuecomment-392284537, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABRceRbJKreqgOSp_RO5vxe2b49ogfs3ks5t2bM5gaJpZM4PuVBe
.

It's up to whoever runs one. We decided to do the hashbase model where it's always connected to your personal resource usage, and that's how we manage it. (We should make it a little easier/faster to add dats on hashbase so that you could get the benefit of a gateway.)

I've been working with https://github.com/DaMaHub to try to get a gateway set up.
It works for a time, but then we get this error:

node: ../deps/uv/src/unix/udp.c:67: uv__udp_finish_close: Assertion `!uv__io_active(&handle->io_watcher, 0x001 | 0x004)' failed.
Aborted (core dumped)

We're running Ubuntu 16.04.4 LTS with node v8.11.1
Has anyone run into this before?

Sorry, should mention that we're using https://github.com/pfrazee/dat-gateway

@edsilv could be a node bug (here is the line that's throwing). I'd assume if it was a bug in how something is using node, it wouldn't core dump, it'd emit an 'error' event on the object or throw a JS exception. Perhaps not though, @mafintosh could that be an interaction with the utp lib?

Hey, just to let you know that updating to node v10.9.0 and rebooting seems to have fixed it.