FormRequest throws HttpResponseException on Validation errors

The Validation via trait throws a ValidationException, but when you go the complex route via the FormRequest class, you still get a HttpResponseException instead.
To me this looks like an oversight and the FormRequest class should throw a ValidationException as well if validation fails.

Can you post some code?
I believe they both actually are throwing the ValidationException.
One thing to keep in mind is that a FormRequest (and using $this->validate()) both automatically handle redirection after a failed validation, which may be the reason you're seeing an HttpResponseException instead of a ValidationExeption. See below:
 /**
     * Create the response for when a request fails validation.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  array  $errors
     * @return \Illuminate\Http\Response
     */
    protected function buildFailedValidationResponse(Request $request, array $errors)
    {
        if (($request->ajax() && ! $request->pjax()) || $request->wantsJson()) {
            return new JsonResponse($errors, 422);
        }
        return redirect()->to($this->getRedirectUrl())
                        ->withInput($request->input())
                        ->withErrors($errors, $this->errorBag());
    }

So if something is wrong with that redirect, you could get another exception.
I believe the HttpResponseException may also get thrown if the authorize() method does not return true for the FormRequest, but I'm not 100% sure about that.

I am seeing this as well.
My call stack points to Illuminate\Foundation\Http\FormRequest::failedValidation as the thrower of the exception. And looking at that method:
protected function failedValidation(Validator $validator)
{
    throw new HttpResponseException($this->response(
        $this->formatErrors($validator)
    ));
}

It clearly throws a HttpResponseException. failedValidation is called by trait ValidatesWhenResolvedTrait:
public function validate()
{
    $instance = $this->getValidatorInstance();
    if (! $this->passesAuthorization()) {
        $this->failedAuthorization();
    } elseif (! $instance->passes()) {
        $this->failedValidation($instance);
    }
}

I am using the FormRequest, am I missing something?

Yeah it looks like you're right:
Illuminate\Foundation\Http\FormRequest:
/**
     * Handle a failed validation attempt.
     *
     * @param  \Illuminate\Contracts\Validation\Validator  $validator
     * @return mixed
     */
    protected function failedValidation(Validator $validator)
    {
        throw new HttpResponseException($this->response(
            $this->formatErrors($validator)
        ));
    }

Illuminate\Validation\ValidatesWhenResolvedTrait:
/**
     * Handle a failed validation attempt.
     *
     * @param  \Illuminate\Validation\Validator  $validator
     * @return mixed
     */
    protected function failedValidation(Validator $validator)
    {
        throw new ValidationException($validator);
    }

Guess I'm a little late to this one, but in the spirt of sharing and trying to help, here goes!
I'm not sure if it's intended or not, but I've worked around it for building out APIs. I basically made a class called "ApiRequest", which extends the App\Http\Requests\Request, and added a function like such:
    /**
     * Throws an exception when validation fails.
     *
     * @see \Illuminate\Validation\ValidatesWhenResolvedTrait for more info.
     * @param Validator $validator
     * @throws ValidationException
     */
    protected function failedValidation(Validator $validator)
    {
        throw new ValidationException($validator);
    }

Agree with @mastacheata. I'm not sure what all HttpResponseException is used for, but it sounds generic. Whatever implementation is used for a validation check should receive the same exception, unless maybe a more specific one would be useful to throw.
In my case, I don't want an exception rendered back for an ajax request, so I'm checking the type of exception, and sending back a custom response object in the case of validation.

Why was this closed without any word about reasoning?
Is it fixed in a future version?
Do you think this is just a documentation problem? => In that case say so and I'll gladly file a bug against the documentation.
Returning a ValidationException for one kind of Validation and an HttpResponseException for another makes no sense at all to me, but maybe there were side effects we didn't notice that require it to return this Exception at the moment.
I long ago settled to check for an HttpResponseException when Validation fails, but I would argue it's always better to fix the root cause.
Or was it just closed as noone said anything for 2 months?
While I wasn't responding to the initial question, it seems like @HebronNor jumped in and explained the situation quite good. Also with 3 more people being able to confirm the problem I don't know what else is there to add to this issue for making it more relevant?

Having this problem today with HttpResponseException exception showing up in bugsnag, when it shouldn't be. Someone recommend adding to the ExceptionHandler, to not report on: HttpResponseException, but I don't know if it'll miss other exceptions that we'd want to see.
    protected $dontReport = [
        AuthorizationException::class,
        HttpException::class,
        ModelNotFoundException::class,
        ValidationException::class,
    ];

@GrahamCampbell any insight on why you closed this without any notice at all?

I decided to stop using the FormRequest class and just did validations within the controller to make sure ValidationException was being thrown properly.

@GrahamCampbell why u closed this topic without any answer or solution? why validations/authorizations via FormRequest class should throw a different exception

Feel free to send a PR if you want something changed.

I submitted a PR to the master branch, but I'm not sure if that is correct.
This is a backwards incompatible change due to the very nature of the problem.
However you might as well consider this a bugfix because one would probably expect a ValidationException as that is what the "simple" validation via trait throws.

Should be to 5.3, since 5.3 is not ready for release yet. We were just a little early in splitting off 5.4.

Resubmitted to 5.3 branch, I'll close that misguided PR then.

I was encountered the same thing. And I think it's misleading that a validation failure causes a HttpResponseException to be thrown.
I used @trevorgehman's solution to throw the correct Exception(ValidationException), and that works well for me. So I can handle the thrown ValidationException in the render method of App\Exceptions\Handler and return a JSON response(I am building an API) containing the validation messages instead of the default action of returning a stack trace(which does not make sense for a validation exception).

Hi guys,
I think the most appropriate  way is to setup a custom forbidden view as the validation and authorization are different logic. So unauthorized request for a user should thrown UnAuthorizedException not ValidationException.

Hi Why This Problem Not Fixed Yet?

@ikosar It was fixed 2 years ago in 5.3 and from the way the code looks it's still the same in 5.7.
If you're still running Laravel 5.2, you've got other problems than getting a wrong Exception.

@mastacheata
Sorry,i made a mistake :(
This a reminder of the past :)

@mastacheata
My mistake is for a problem in docs
in "Form Request" not explain How To Handle Error Response messages
it's redirect to 'Welcome View' directly in validations error

Handle Validation errors?
You should probably display them to the user in human readable form.
If this is in response to the user filling out a form, a typical way would be marking the fields that contained errors with a red border.
But that is something that has to happen in your Frontend logic.
Check the Working with Error messages section

No, in the docs not point to the "failedValidation" mehod In the "Form Request"!
It's defaultly redirect to another view!
In the validator::make all thing is good and work. But in "Form Request" validation errors not shown and not handling error messages

Can you show the code in the framework that defaults to the welcome view on failed validation? Form request redirect on validation error works as expected for me.

@devcircus
Check the failedValidation
https://github.com/laravel/framework/blob/5.7/src/Illuminate/Foundation/Http/FormRequest.php

failedValidation throws a ValidationFailedException, which will redirect you back to where you came from and include an ErrorBag (unless you explicitly override that redirect using one of the three redirect properties)
I don't see where this would redirect you to the Welcome View (unless of course that's where you filled the form)

@ikosar
Which is exactly what it is supposed to be.
A FormRequest works like this:

Render a form
Use fills out form and submits it
POST request sent to success page
success page checks if form is valid via FormRequest
If FormRequest detects validation problems don't show the success page, but return to the form and include errors in session storage
If FormRequest doesn't detect validation problems, it will display the success page

If you want this to behave differently, you can override the validationFailed method in your own FormRequest child class and return a different Response instead.


Remove duplicated function declaration

Hello there,
Just a small clean up PR.
void _glfwRequestWindowAttentionNull(_GLFWwindow window);* was duplicated.
Cheers,
Scr3am

Thanks! Please let me know if you want your credit line changed to something else.


More go-to buttons

Player Overview => Start Page AND Task Overview
Task Overview => Start Page AND Player Overview
Start Page => Player Overview AND Task Overview

Tested with Browsers: Firefox, Brave
Tested on: Smartphone (Android 14, Google Pixel), Laptop (Ubuntu 22.04-Derivative)
Buttons "Player Overview" and "Task Overview" is not shown on Start-Page.
Maybe because the entered username is not saved, because the Task-Overview probably needs a state or username to work with?


[tests] build with clang/clang++ in CI tests

clang/clang++ applies stricter error/warning check. Use clang for CI builds so that there is less chance that we will miss issues like https://github.com/openthread/openthread/pull/6560.

Replaced by https://github.com/openthread/openthread/pull/6570.


Fix stack slot kind for ByReference.get_Value in CppCodegen

This should be tracked as a ByRef.
This was the reason why the compiler was considering MemoryMarshal.GetNonNullPinnableReference invalid IL and we were generating a throwing body for it while compiling Hello World.

Looks like it needs extra cast


Is this still being worked on?

A lot of the newer Discord features like friends don't seem to have a hook in this framework. Is this project dead?

yes it's dead


update install notes

the current install instructions result in a broken deployment due to SciPy backward incompatible change:
ImportError: cannot import name 'PearsonRConstantInputWarning' from 'scipy.stats' (/Users/gregcaporaso/miniconda3/envs/q2-fmt-t1/lib/python3.8/site-packages/scipy/stats/__init__.py)

Looks like there is an issue with frictionless that's causing these test failures - since we are using semantic types from q2-stats that have a TabularDataResourceDirFmt as the associated format. This PR (still in progress) addresses these failures, and once that's merged, this should work as expected.


How can it be in a page of a selected page initially, but not in the first date page??

Hi, I came across this amazing lib. I saved me a lot of time and designing.
But one question about it?
How can it be set in a page of a specified date initially, but not in the first date page??

@StevenWung
Read PDTSimpleCalendarViewController.h, then you'll see the method 'selectedDate' and 'scrollToSelectedDate' will solve your problem.
The comments are quite helpful!


Icon for Man Pages Not Shown in Bufferline

I like to use nvim as my manpager via the environment variable
export MANPAGER="nvim +Man! -c ':set signcolumn=auto'"
and in my devicons config I have
...
   override = {
      man = {
         icon = " ",
         color = "#ffffff",
      },
...

I've tried a few different icons and colors but always get the default icon. The man filetype can be verified while viewing a man page with
:echo &ft
Is it possible to override the default icon in this case?
Great job on this plugin!
nvim --version
NVIM v0.8.3

You can override an individual icon via API: https://github.com/nvim-tree/nvim-web-devicons#set-an-icon

That's what I tried first, but the result of that was no icon at all. My full config at that time was
local status, devicons = pcall(require, "nvim-web-devicons")
if not status then
   return
end

devicons.setup({
   color_icons = true,
   default = true,

   override = {
      r   = { icon="ﳒ", color=Green, name="R" },
      py  = { icon="", color=Yellow, name="Python" },
   },
})

devicons.set_icon {
   man = { icon="", color="#428850", cterm_color=65, name="Man" },
}

I also tried recalling this from my color scheme as suggested in the readme, but I still get nothing for the man icon.

Is this an nvim-web-devicons issue or a bufferline issue?
Please try:
:lua print(vim.inspect(require("nvim-web-devicons").get_icon("something.c")))
then try man

The inspect command returns the correct icon for c (""), man page still not showing any icon with the config above.
Other icons work for bufferline, so I think this might be an nvim-web-devicons issue. I thought it might have been related to using the man command with the MANPAGER environment variable as described in the original post, but I get the same result if I run :Man <...> from within nvim. I hope this helps.

I tried with your configuration above:
---
print("c   " .. vim.inspect(require("nvim-web-devicons").get_icon("something.c")))
print("man " .. vim.inspect(require("nvim-web-devicons").get_icon("something.man")))
print("man " .. vim.inspect(require("nvim-web-devicons").get_icon("man")))

I don't know what to say; it looks to be working as intended.

The inspect command returns the correct icon for c ("")

Did it work for man?

Yes, those commands work with man as intended for me as well. This must be something weird happening with bufferline then. Strange that it doesn't work only for the man file type. I will continue trying to debug with the bufferline author. Thanks for your help!

It might be an ordering issue between bufferline and webdevicons, or bufferline caching.


Card Columns is badly structured

In the Documentation / Components / Cards > Card columns section, there is a duplicate section in the second column and in the third column the card title box is in the wrong position. It should be connected to the image like the two previous columns.

I thought the example was designed intentionally like that to show how different size and style cards can work together in columns.
As it mentions in the introduction - it allows for Masonry-like columns. See the site for examples: https://masonry.desandro.com/

As you can see the card column that has the black outline is a duplicate of the card column above and the red column is the one that had to be placed into the card body like the 2 sections before it.


connectors/package-lock.json  was not properly updated when updating types/package.json

Description
New description
The main goal of this PR is to fix connectors/ in the CI to be able to land another PR that is going to fix a Datadog monitor.
Some changes in types/ were not properly CI checked and broke connectors.
Fixing connectors actually involves reverting some changes in types/, and not fixing connectors.
Initial description
Updating connectors/package.json.
When updating types/package-lock.json, we need to run npm install in connectors/, otherwise this leads to inconsistency.
This PR fixes an inconsistency added by this PR, which added moment-timezone to types/

Risk

Deploy Plan

@flvndvd you are not required to review anymore, but I can't review you since you already approved.


chore(build): ensure that version pattern is matched accordingly

I assume this fixes a bug with the g3 sync?

@matsko - I think this is now out of date right?


Break many functions out of services.ts and into their own modules.

Redo of #10729.
Here are the updated changes:
allocators.ts: 634 lines
Exports: getServicesObjectAllocator, a new function I made so that this module would need only 1 export.
classifier.ts: 982 lines
Exports: createClassifier, getSemanticClassifications, getEncodedSemanticClassifications, getSyntacticClassifications, getEncodedSyntacticClassifications
New parameters:

checkForClassificationCancellation: cancellationToken
getSemanticClassifications: typeChecker, cancellationToken, sourceFile, classifiableNames
getEncodedSemanticClassifications: typeChecker, cancellationToken, sourceFile, classifiableNames
getSyntacticClassifications: cancellationToken, sourceFile
getEncodedSyntacticClassifications: cancellationToken, sourceFile

completions.ts: 1648 lines
Exports: getCompletionsAtPosition, getCompletionEntryDetails
New parameters:

getCompletionsAtPosition: host, typeChecker, log, compilerOptions, sourceFile
getCompletionEntryDetails: typeChecker, log, compilerOptions, sourceFile
getCompletionData: typeChecker, log, sourceFile
getCompletionEntryDisplayNameForSymbol: typeChecker

documentHighlights.ts: 639 lines
Exports: getDocumentHighlights
New parameters:

getDocumentHighlights: typeChecker, cancellationToken, sourceFile

findAllReferences.ts: 1126 lines
Exports: findReferencedSymbols, getReferencedSymbolsForNode, convertReferences
New parameters:

findReferencedSymbols: typeChecker, cancellationToken, sourceFiles, sourceFile
getReferencedSymbolsForNode: typeChecker, cancellationToken

goToDefinition.ts: 257 lines
Exports: getDefinitionAtPosition, getTypeDefinitionAtPosition
New parameters:

`getDefinitionAtPosition: program, sourcefile (I didn't want to pass in the whole program, but tryResolveScriptReference requires it and I don't want to do any refactoring in this commit.)
createDefinitionFromSignatureDeclaration: typeChecker
getDefinitionFromSymbol: typeChecker
getTypeDefinitionAtPosition: typeChecker, sourceFile
createDefinitionFromSignatureDeclaration: typeChecker

jsDoc.ts: 546 lines
Exports: getJsDocCommentsFromDeclarations, getAllJsDocCompletionEntries, getDocCommentTemplateAtPosition
New parameters:

getDocCommentTemplateAtPosition: sourceFile, newLine

meaning.ts: 161 lines
Exports: SemanticMeaning, getMeaningFromDeclaration, getMeaningFromLocation
preProcess.ts: 361 lines
Exports: preProcessFile
rename.ts: 99 lines
Exports: getRenameInfo
New parameters:
getRenameInfo: typeChecker, defaultLibFileName, getCanonicalFileName, sourceFile
symbolDisplay.ts: 524 lines
Exports: getSymbolKind, getSymbolModifiers, getSymbolDisplayPartsDocumentationAndSymbolKind
New parameters:

getSymbolDisplayPartsDocumentationAndSymbolKind: typeChecker
getSymbolKindOfConstructorPropertyMethodAccessorFunctionOrVar: typeChecker
getSymbolKind: typeChecker

utilities.ts
Everything above line 228 is new.
Breaking the now 1198 lines of utilities apart into logical categories will be a job for another PR.

Re: https://github.com/Microsoft/TypeScript/pull/10729#issuecomment-245123605
Every individual function in services.ts is now too small to really justify its own module (and the new PR now gives getRenameInfo its own module), and if a group of them were taken out there would still have to be stub functions left behind that close over program and delegate to the module's function.
So, there would be more sophisticated refactoring involved with any changes made to simplify services now. Trying to keep this PR restricted to just moving code and adding parameters to functions taken out of closures.

👍  @mhegazy may want to have a look.

i would keep allocator.ts in services.ts, move meaning.ts to utilities.ts and move transpile/transpileModule/transpileOptions to a different file

otherwise looks good.

This change breaks gulp-tsb, which used ts.preProcessFile as it was part of the public API.


Warn against children function not accepting arguments

Check func.length.

Low pri, use types please!


Send Money - "Delete comment" appears instead of sent $ money in LHN after refresh the page

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Launch the app
Log in with any account
Tap on Fub menu and Request Money from any user.
On the same user tap on Plus button and select Send money.
Select "I'll settle up elsewhere" on drop down menu.
Go back to LHN and refresh the page

Expected Result:
Message displayed in LHN - "Sent $amount elsewhere
Actual Result:
"Delete comment" appears instead of sent $ money in LHN after refresh the page
Workaround:
Unknown
Platform:

Where is this issue occurring?

Web
iOS
Android
Desktop App
Mobile Web

Version Number: 1.1.39-1
Reproducible in staging?: Yes
Reproducible in production?: Yes
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://user-images.githubusercontent.com/93399543/154279390-fb422fd9-cec0-4073-a016-c55e039251a9.mp4
https://user-images.githubusercontent.com/93399543/154279484-ba3a5f08-2731-43eb-b78c-f9b678d550a3.mp4
https://user-images.githubusercontent.com/93399543/154279505-6f23d8af-dc7b-4602-bf53-d115394ea380.mp4
Expensify/Expensify Issue URL:
Issue reported by: Applause
Slack conversation:
Issue was found when executing: https://github.com/Expensify/App/pull/7552
View all open jobs on GitHub

Triggered auto assignment to @aldo-expensify (Engineering), see https://stackoverflow.com/c/expensify/questions/4319 for more details.

The report prop had the following value in my case:
{.  // report
    "hasIOUAction": true,
    "isPinned": false,
    "lastActionActorEmail"<EMAIL_ADDRESS>    "lastActionCreated": "2022-02-16 23:58:32",
    "lastActionMessage": {
        "IOUDetails": {
            "amount": 12300,
            "comment": "",
            "currency": "CAD"
        },
        "IOUReportID": 9090,
        "paymentType": "Elsewhere",
        "type": "pay"
    },
    "lastActionType": "IOU",
    ...
}

Since there is no report.lastActionMessage.html, the variable lastActionMessage gets initialized to '' here, then here, lastMessageText gets assigned [${Localize.translateLocal('common.deletedCommentMessage')}]

Updated instructions with simpler steps

Oh, it broke because of change in Web-E

Triggered auto assignment to @jliexpensify (Internal) because issue was reported by a contributor who needs to be compensated if this issue is fixed

was it reported by a contributor?

@aldo-expensify NOT reported by a Contributor. Our team noticed it and @joekaufmanexpensify raised it as well in Slack

@aldo-expensify - no need to create a job in Upworks right? Is this being handled internally?

@jliexpensify nop, no need to create job in Upworks.

Cheers Aldo, going to unassign myself!

No overdue, PR merged, but not deployed yet

No overdue, PR will be tested in Production

This was fixed in this PR, but a similar issue remains...
The last message [Comment deleted] only goes away after refresh, which is somewhat inconsistent.
https://user-images.githubusercontent.com/87341702/156693504-ccd3066c-f21d-4910-872e-9f8b4a343189.mov
Created new GH issue for it: https://github.com/Expensify/App/issues/8001


New contributivity method : 'federated step-by-step increments'

Main idea : measure the performance increments on the global validation dataset after every minibatch training.
When the whole federated training is done, average for every node the performance increments, this should give an estimate on how the model improved on every node, and thus might be an estimate of the contributivity of every node/dataset !
Some technical considerations:

Increments from the first minibatches might be huge and not really relevant --> we should discard the X first increment. Or another option would be to only use the performance increments when the model has a performance of a least 50% (50 is an example).
Increments from the last minibatches (just before the earlystopping) might be very noisy and therefore not relevant --> we could discard the X last increments.
This approach might not be feasible when doing sequential FL --> For instance, if we train node_1, then node_2, then node_3, it might be easier for node_1 to have a big increment because it starts first compared to node 3.

Note this approach can also be a cheap baseline for more advanced contributivity methods, in order to sample/discard specific nodes.

In federated averaging computation:
For each computation round:

Performance of newly fit partner model on global test dataset is computed and stored for each partner
Performance of aggregated model on global dataset is computed and stored

At the end of computation, matrix of performance is stored with C rows (C = number of computation rounds) and N+1 columns (N = number of partners)
New matrix of performance increase is computed: For each computation round, increase in performance is calculated between newly fit model for each partner and previous aggregated model
Contributivity of partner is a function of the matrix of performance increase:
Contributivity funtion can be:

Average of increase of performance
Weighted average of increase of performance (increasing weights with increasing number of computation rounds)

Contributivity function takes 3 parameters:

X the proportion of first computation rounds that are discarded due to high and uneven performance increase
Y the proportion of last computation rounds that are discarded due to noise

Further considerations
Performance is set to be accuracy but can be changed to another metric (if we choose the metric to be loss, we need to change calculation to adapt to the loss decrease instead of performance increase)

I think we have some of what we need to move forward on this now that we merged PR #141.
At the end of a multi-partner computation, we have:

score_matrix_per_partner for the individual partner's models, with the perf. on validation data for each epoch > each mini-batch > each partner. In the above schema this corresponds to P(k, 1), P(k, 2), P(k, 3)
score_matrix_collective_models for the collective models, with the perf. on validation data for each epoch > each mini-batch. In the above schema this corresponds to P(k)

So we can easily process the differences P(k) - P(k, <partner_id>).
For the X and Y proportions above I haven't thought about it yet. What do you think @jeromechambost @RomainGoussault @Thomas-Galtier?

Until now we had implicitly assumed that at each computation round, at least one model trained independently on one partner data had a validation score that increased compared to the collective model of the previous round.
In reality this is not necessarily true. We find situations (for examples when partners all have exclusive data targets) where for each computation round, the individual performance of each partner is lower than the performance of the collective model from the previous round - despite the collective model performance continuously increasing
We need to find a general way of regularizing the contributivities to adapt to the situations where they can take negative or positive values.
Two possibilities are considered:

standard regularization:
At each computation round, the minimum contributivity value is retrieved
This regularization gives accurate results in most situations. In some cases, it leads to one partner contributivity to 0 (one partner always has the lowest global validation score on the newly trained model, and this score is lower than the global validation score from the previous collective model)

Relative regularization
At each computation round, the contributivity for each partner is calculated as the ratio between the validation score of the newly trained model for each partner and the validation score from the previously trained collective model
This regularization apparently gives accurate results in all situations


Fix: Flags reported as falsy despite being set by the user when invoking a connector

when passing values throught the CLI, the connector will report that no value was passed, example:
baton-ldap --user-dn "CN=admin,DC=example,DC=org" --base-dn "dc=example,dc=org" --domain localhost --password admin
at least one field was expected, any of: ('domain' and 'url')

Please note that --domain was set with localhost
This PR fixes that. Proof with baton-ldap:
[nix-shell:~/code/work/baton-ldap]$ ./dist/linux_amd64/baton-ldap --user-dn "CN=admin,DC=example,DC=org" --base-dn "dc=example,dc=org" --domain localhost --password admin
{"level":"info","ts":1727827677.0156295,"caller":"grpclog/component.go:36","msg":"[core][Server #1]Server created","system":"grpc","grpc_log":true}
{"level":"info","ts":1727827677.0157099,"caller":"grpclog/component.go:36","msg":"[core][Server #1 ListenSocket #2]ListenSocket created","system":"grpc","grpc_log":true}
{"level":"info","ts":1727827677.023758,"caller":"sync/syncer.go:346","msg":"Syncing resource types..."}
{"level":"info","ts":1727827677.0251496,"caller":"sync/syncer.go:410","msg":"Syncing resources..."}
{"level":"info","ts":1727827677.0282617,"caller":"sync/syncer.go:576","msg":"Syncing entitlements..."}
{"level":"info","ts":1727827677.0285046,"caller":"sync/syncer.go:936","msg":"Syncing grants..."}
{"level":"info","ts":1727827677.028829,"caller":"sync/syncer.go:291","msg":"Sync complete."}
{"level":"info","ts":1727827677.0289242,"caller":"dotc1z/sync_runs.go:435","msg":"Cleaning up old sync data..."}
{"level":"info","ts":1727827677.0293791,"caller":"dotc1z/sync_runs.go:441","msg":"Removed old sync data.","sync_date":"2024-09-20T16:02:08Z","sync_id":"2mLxbT8oeMbFr5T4kA2fC3LCmgk"}

[nix-shell:~/code/work/baton-ldap]$

Summary by CodeRabbit

New Features

Enhanced command-line interface with improved clarity in command handling.
Simplified flag binding process, ensuring better integration with configuration settings.

Bug Fixes

Resolved potential errors related to missing flags when values are passed through environment variables.

Documentation

Updated comments for better understanding of the new flag binding logic.

It'd be nice to have a test case that fails if we somehow get this behavior again, but this is definitely better than what's in master.

that's the thing, I think internal/tests/passingvalues_test.go covers that, and regardless of the issue the tests were passing 😆 that's why I was freaked out by this bug haha.

Actually, it looks like if I use this branch with baton-ldap, global options like --log-level=debug don't get applied. Config options specified in the connector (like --base-dn and --password) do work correctly now though.

huh


Show alert when user clicks on application edit page's preview window

See: https://demo.casdoor.com/applications/app-built-in

@halozhy


Layout/ClassStructure doesn't work when constants use the initializer

Not sure if this is even fixable or not!
Right now, Layout/ClassStructure wants all constants higher in the file than the initializer.  However, sometimes constants use the initializer, and if they're defined above it, they don't use it and throw an ArgumentError: wrong number of arguments (given X, expected 0) because they're still trying to use the default object initializer.
Consider:
class PageSize
  def initialize(width, height)
    @width = width
    @height = height
  end

  A4 = new(8.26, 11.69)
  LETTER = new(8.50, 11.00)

  def ratio
    @width / @height
  end
end

Rubocop fails this with:
app/models/page_size.rb:7:3: C: Layout/ClassStructure: constants is supposed to appear before initializer.
  A4 = new(8.26, 11.69)
  ^^^^^^^^^^^^^^^^^^^^^

Moving the constants before the initializer passes Layout/ClassStructure, but then PageSize::A4 throws ArgumentError: wrong number of arguments (given 2, expected 0)

Expected behavior
Honestly, I don't know!  Let constants-with-new be below the initializer?
Actual behavior
See above.
Steps to reproduce the problem
See above.
RuboCop version
1.40.0 (using Parser <IP_ADDRESS>, rubocop-ast 1.24.0, running on ruby 3.0.4) [x86_64-darwin21]

that seems like an edge case; I'd just disable the cop for that one line
A4 = new(8.26, 11.69) # rubocop:disable Layout/ClassStructure

Agree.  The Layout/ClassStructure defined as "GOOD" should remain as is, and edge cases should be designated as such by disabling the cop locally.


Draft: testing aggregation function auto-fill

Signed-off-by: Alejandro Vilches<EMAIL_ADDRESS>
Fixes #1126

FYI (as far as I can tell, your work causes no conflicts / required changes -- just pointing out since it's related):
Here's where the rst documentation gets the aggregation type from these json files.
https://github.com/geopm/geopm/blob/561c59c7698b640c1d929fe53c09eabf57618032/service/docs/source/_ext/geopm_rst_extensions.py#L133-L138
You could optionally add something like below if you want to ensure future modifiers of these json files fail the documentation build if they forget to add an aggregation type:
try:
    aggregation_type = msr_field_data['aggregation']
except KeyError:
    aggregation_type = 'select_first'
    logger.error('Missing an aggregation function for %s in %s',
                 geopm_msr_name,
                 json_path)
...
description_items = [
                    ('Aggregation', aggregation_type),
                    ...

I think this is a great idea and we should incorporate it as part of this PR. I have this implemented locally and tested it out. I can add it to the PR once we transition it from draft.
However, I'm trying to think if there's a more opportune place where we should make the build fail if one of these MSR JSON files is misconfigured. Besides checking for missing fields, I'd like to validate the file against the schema. I'll think about this for a bit...

To correct my previous comment: all agg functions do appear to be present.


we should use higher number than status=5 if file not found

the reason being that our testing scripts include the following:
    s, o = commands.getstatusoutput(cmd)
    status += s
    output += o

if we test 5 times and we have 5 crashes, status will be 5.
So let's put a very high number, e.g., status=200

It's changed in branch issue_506.


chore(sinks): rename sinks._SourceOfCallable class

Rename the private sghi.etl.commons.sinks._SourceOfCallable class to sghi.etl.commons.sinks._SinkOfCallable.

:tada: This PR is included in version 1.0.0-rc.1 :tada:
The release is available on:

v1.0.0-rc.1
GitHub release

Your semantic-release bot :package::rocket:

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

v1.0.0
GitHub release

Your semantic-release bot :package::rocket:


Update classifiers in setup.py

The classifiers in setup.py still list python 3.5 on master, while 3.8 and 3.9 are not mentioned at all:
https://github.com/inmanta/inmanta-core/blob/b364df85f4e90b5fde983c1721f02205e7090edb/setup.py#L65

Hey team! Please add your planning poker estimate with ZenHub @arnaudsjs @bartv @FloLey @Hugo-Inmanta @sanderr


Release 0.1.4 version of microcks-testcontainers-java

Tag on GitHub and push the Jar on Maven Central.

Also review the License/Copyright notice on files header that should be adapted since we joined the CNCF.

Now released! Should be available on Maven Central in a few minutes/hours.


Better support for CentOS 7 on Azure

This PR adds 3 things which I needed on Azure and CentOS

Disable fastestmirror yum plugin. This plugin is know to actually slow down yum on CentOS/RedHat when used from Ansible
Add ability to grow the root partition to the actual block device size. This probably only affects CentOS on Azure. I know from other Cloud Providers (e.g. AWS) that they do the growing automatically (at least on debian/ubuntu). The implementation currently only handles XFS, as it is the default FS on CentOS. If other FS types are needed, this can be added later.
Remove requiretty from sudoers file. As no one else had problems with pipelining before, I'd suspect that this is again Azure specific. On other systems, this should be a noop.

@mattymo Thanks for the review and comments. Do you prefer new commits on top or amended commits?

@codablock Either way, but we merge only squashed commits.

Updated the PR and also rebased on master

I added a commit that makes growpart only run on Azure. This was needed due to the rpm conflict on GCE.

Good job! Let's run CI for this

Any chance to retrigger CI for this one?

I'll do it


Add kkumail.com

add kkumail.com of Khon Kaen University

@chatchai-kku I am sorry, the domain kkumail.com is removed from our trusted domains list because it was abused in the past. If you are the student of this school, please enroll to GitHub Student Developer Program. Then apply for JetBrains educational subscription with your GitHub account (GitHub tab at https://www.jetbrains.com/shop/eform/students).


Crash when receiving update in a SwiftUI app

We are --trying to-- implement Apptentive in a swift + SwiftUI based app. As a host viewcontroller for Apptentive we are using a UITabBarController. The app can succesfully send engage(event:) messages, but when a notification from apptentive arrives the app crashes in @main.
Is there a recommended way to use apptentive-ios with SwiftUI based applications?
Apptentive 5.3.3

Hi @axello. Sorry that you're seeing issues. I'll look into this with my team and get back to you as soon as possible.

Circling back @axello. Thanks again for the report. This is not a known issue and we'll need a bit more information to understand what's going on.
Could you send verbose logs from app launch until the crash?
Also, if you could share the name of the app you're working on, we could take a look at our backend to know more. If you'd rather, you can send that to me at<EMAIL_ADDRESS>and I'll help from there.
Thanks!

Hi, I'm on holidays. I've asked a colleague of mine to pick this up.

Thanks! Let us know if there's any way we can help get logs. If it's easier and we can repro the issue, you could also send us a dev build.
Whatever is easiest.

Hi there. We'll still need more information, but I was able to get a sanity check from our iOS team.
Unfortunately, we don’t yet support SwiftUI with our SDKs. But we would love to know more about exactly what you're looking for so we can share it with our Product team.  What type of notification are you looking to use? For example, push notification, NSNotificationCenter notification, or something else?
Also, what error message are you getting when your app crashes?

We tested with our latest build and now it works without problems. Don't know what the reason was for the crashes, but you can close this ticket. Thanks.

We tested with our latest build and now it works without problems. Don't know what the reason was for the crashes, but you can close this ticket. Thanks.

Sry, we notice the issue only happened on real device but not on simulator
And when I dump the device log, I see this error


Add in flow ownership when deleting flows

In order to get the benefits of pacing in flow manager, when deleting flows, the request to delete the flow must include the owner. Currently telemetry_int doesn't send this with its requests.

Fixed with #127


Remove dependency on find_cuda_helper

To reduce dependencies

is it really necessary? isn't the dep small anyway?

It's a small one, but every dependency adds up. We can see how much time it actually saves by removing it.
I'd also like to fix and issue that I have every time I use GPUs on cloud.lambdalabs, which is I need to run
sudo ln -s /usr/lib/cuda /usr/local/cuda

for find_cuda_helper to find it.

Ah ok, makes sense. Didn't know that such a small dependency adds that much
compile time 😅
On Tue, Mar 7, 2023, 15:16 Corey Lowman @.***> wrote:

It's a small one, but every dependency adds up. We can see how much time
it actually saves by removing it.
I'd also like to fix and issue that I have every time I use GPUs on
cloud.lambdalabs, which is I need to run
sudo ln -s /usr/lib/cuda /usr/local/cuda
for find_cuda_helper to find it.
—
Reply to this email directly, view it on GitHub
https://github.com/coreylowman/cudarc/issues/91#issuecomment-1458251886,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AV27QUO7L6JM6LZEPNTGXL3W247NFANCNFSM6AAAAAAVSQPXYE
.
You are receiving this because you commented.Message ID:
@.***>

I believe I ran into the same issue with find_cuda_helper as well on a Pop!_OS installation (basically Ubuntu) regarding the cuda path not being one of the defaults in that crate anyway, which took a bit minute to track down.


draft: jpg_loader: introduced jpg decode using jpeg-compressor by richgel999

This patch introduces an alternative jpg loader using jpeg-compressor by richgel999.
note: jpgd.cpp is modified version (changed decompress_jpeg_image_from_stream) for returning BGRA.

I appreciate you and your team took the time to do both implementations.
This will make Godot Engine's undecided switch to jpeg-turbo separate from the merge of thorvg as the svg viewer.

we can revise this to support both version (libjpeg-turbo and this) later.

Did you mark what was changed in the jpg code?

@fire uploaded the patch. I encapsulated the changed code of jpgd.cpp (decompress_jpeg_image_from_stream) in #if 1 to mark the change

https://github.com/Samsung/thorvg/issues/594

Wondering richgel999's jpeg decoder is the best for us? there may be better github project source code we might able to apply ... Need to figure out further.

@mmaciola I think soon we might need to revise this patch and apply to thorvg master properly... (choose either way static/dynamic linking from the meson)


Added to conda-forge

Hi, this is more of an FYI than an issue but I just wanted to let the maintainers here know that I added huggingface_hub to conda-forge. Repo: https://github.com/conda-forge/huggingface_hub-feedstock
I think you're already pushing to your own Anaconda channel but let me know if you'd like to be maintainers there (or take over completely) as well. Otherwise, feel free to just close the issue.
Thanks!

Thanks for the note – pinging @LysandreJik as he's the author of our conda integration.

We'll continue maintaining the package on our own Anaconda channel, but happy to also be available on conda-forge! Let us know if you run into any issues maintaining it down the road and we'll look into it.

Thank you, sounds good!


Getting ERROR: Partition "file" does not exist in the specified PIT on samsung galaxy s3 (I747)

Trying to reinstall stock firmware from cyanogenmod so I can network unlock my phone, but im getting this error
Heimdall v1.4.1

Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna
http://www.glassechidna.com.au/

This software is provided free of charge. Copying and redistribution is
encouraged.

If you appreciate this software and you would like to support future
development please consider donating:
http://www.glassechidna.com.au/donate/

Initialising connection...
Detecting device...
Claiming interface...
Setting up interface...

Initialising protocol...
Protocol initialisation successful.

Beginning session...

Some devices may take up to 2 minutes to respond.
Please be patient!

Session begun.

Downloading device's PIT file...
PIT file download successful.

ERROR: Partition "file" does not exist in the specified PIT.
Ending session...
Rebooting device...
Releasing device interface...

Using this command
heimdall flash --FILE I747UCDLK3_I747ATTDLK3_I747UCDLK3_HOME.tar.md5

Figured it out, i had the syntax wrong. Im assuming if im replacing the firmware, i write over the SYSTEM partition?

Extract the tar file, there you will find various .img files. To install a new rom you will need somethng like this:
heimdall flash --BOOT boot.img  --no-reboot
heimdall flash --SYSTEM system.img

I have a similar problem when I go to flash a boot image on Samsung using heimdall and error partition boot does not exist in the specified pit


Running Scons not possible on non-English Windows platforms

This issue was originally created at: 2008-03-31 15:14:48.
This issue was reported by: miohtama.
miohtama said at 2008-03-31 15:14:48

Scons does not understand non-ASCII characters in the environment variables. It
makes scons to die on default tool setup if environment varibles contain
international characters (example Finnish Windows XP).
Because set-uping tool (MSVC) cannot be disabled, it is impossible to run Scons.
C:\Symbian\Carbide\workspace\uikludges20>c:\python25\python
c:\Python25\Scripts\scons SConstruct.py
scons: Reading SConscript files ...
USERPROFILE C:\Documents and Settings\Jõrjestelmõnvalvoja
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe4 in position 27: ordinal
not in range(128):
File "C:\Symbian\Carbide\workspace\uikludges20\SConstruct", line 14:
Export('env')
File "C:\Python25\scons-0.97\SCons\Script\SConscript.py", line 581:
env = self.factory()
File "C:\Python25\scons-0.97\SCons\Script\SConscript.py", line 561:
default_env = SCons.Defaults.DefaultEnvironment()
File "C:\Python25\scons-0.97\SCons\Defaults.py", line 66:
default_env = apply(SCons.Environment.Environment, args, kw)
File "C:\Python25\scons-0.97\SCons\Environment.py", line 794:
apply_tools(self, tools, toolpath)
File "C:\Python25\scons-0.97\SCons\Environment.py", line 137:
env.Tool(tool)
File "C:\Python25\scons-0.97\SCons\Environment.py", line 1340:
tool(self)
File "C:\Python25\scons-0.97\SCons\Tool_init.py", line 157:
apply(self.generate, ( env, ) + args, kw)
File "C:\Python25\scons-0.97\SCons\Tool\default.py", line 41:
SCons.Tool.Tool(t)(env)
File "C:\Python25\scons-0.97\SCons\Tool_init_.py", line 157:
apply(self.generate, ( env, ) + args, kw)
File "C:\Python25\scons-0.97\SCons\Tool\mslink.py", line 200:
include_path, lib_path, exe_path = SCons.Tool.msvc.get_msvc_paths(env,version)
File "c:\python25\scons-0.97\SCons\Tool\msvc.py", line 565:
include_path = get_msvc_path(env, "include", version)
File "c:\python25\scons-0.97\SCons\Tool\msvc.py", line 350:
return _get_msvc8_path(path, str(version_num), platform, suite)
File "c:\python25\scons-0.97\SCons\Tool\msvc.py", line 292:
dirs = _parse_msvc8_overrides(version, platform, suite)
File "c:\python25\scons-0.97\SCons\Tool\msvc.py", line 195:
settings_path = settings_path.replace(r'%' + env_var + r'%', env_vars[env_var])
Due to shortcomings in Scons design, looks like default tool is run always and
one cannot disable individual tools. Thus, it is impossible to get Scons running.
I tried to hack my way over MSVC, but more and more errors kept coming and I
just lost all my faith.

gregnoel said at 2008-04-02 11:41:37

Needs features not available in Python 1.5.2; release team triage to 2.x

stevenknight said at 2009-11-10 18:00:19

stevenknight => issues@scons

We seem to have good UTF-8 support these days. I suggest closing this as cannot reproduce.

Closing. py3.5 should resolve this issue. No useful test.


Work with Terraform 0.12 at present

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: yussufsh
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

config/jobs/ocp-automation/OWNERS [yussufsh]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

/lgtm

Not sure why tide is taking more time to merge meanwhile lemme merge manually because its urgent.

@yussufsh: Updated the job-config configmap in namespace prow at cluster default using the following files:

key ocp4-upi-powervs-presubmit.yaml using file config/jobs/ocp-automation/ocp4-upi-powervs/ocp4-upi-powervs-presubmit.yaml

In response to this:

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.


Attempting to Catch Kernel Response for Further JavaScript Processing

Following up here on benrussert's Slack invitation to open an issue here:
I'm making a Hydrogen plugin that needs to (1) run Python to write a file to a temporary directory, (2) return the path to that file, and then (3) pass the file path to some existing JavaScript code (an Atom plugin that will render the file as a .pdf for display in Atom).
While the plugin example showed me clearly how to consume Hydrogen via the Services API, and existing plugins (especially hydrogen-python) showed clearly how I can alter Python code before execution, I'd like to see a minimal example of how I might catch the kernel's response -- the path returned by a Python function, in my case -- in a variable and do something further with it in my Hydrogen plugin code.

You may want to look at the "Variable Explorer" feature of hydrogen-python, which displays values of current Python variables every time code is run.
Code links:

https://github.com/nikitakit/hydrogen-python/blob/master/lib/main.js#L169
https://github.com/nikitakit/hydrogen-python/blob/master/lib/main.js#L128
https://github.com/nikitakit/hydrogen-python/blob/master/py/install_kernel_plugin.py#L30

Thank you for this recommendation. This is a  useful example, but quite a bit more complex than what I'm trying to do. I really just need to run Python code in a locally running  kernel and have that code return a string (a path) back to my JavaScript code in my hydrogen plugin, so that my hydrogen plugin can use the path to open a .pdf file in a new Atom pane. Perhaps there is a more minimal example I can refer to?

I made a minimal kernel middleware plugin based on a discussion with @jefftrevino on slack. Check out this branch for the package and this commit for the middleware specific part.
You might want to check out the type definitions here for additional comments on kernel middleware.


PHP client websocket

Is this library able to connect using web socket ?

Hi @prakashgt! This is actually a very low-level network socket library and websockts could be implemented on top of this.
However, I would suggest using one of the existing projects such as http://socketo.me/.
I hope this helps :+1:


[RESTEASY-1201]block close in part writer

add a unit test to produce the RESTEASY-1201 and fix RESTEASY-1201

previous pr is #715

Thanks for the new PR including tests. I've merged it, considering Ron agreed with the proposed solution in the former PR.


UI bug expanding aliases in firewall rules

Important notices
Before you add a new report, we ask you kindly to acknowledge the following:

[x ] I have read the contributing guide lines at https://github.com/opnsense/core/blob/master/CONTRIBUTING.md
[x ] I am convinced that my issue is new after having checked both open and closed issues at https://github.com/opnsense/core/issues?q=is%3Aissue

Describe the bug
In firewall rules, when hovering over an alias to inspect it - the UI only shows 10 entries even if there are more, with no indication that there are more. This is confusing.
I would expect there to be a ... or similar to indicate that there are more entries in the alias.
To Reproduce
Steps to reproduce the behavior:

Go to Firewall => Aliases
Add an alias with more than 10 hosts/ips
Apply
Go to firewall => rules => floating (for example)
Add a firewall rule using your big alias
Hover over the alias in the rule list
See that the alias tooltip only lists 10 items, with no indication that there are more

Expected behavior
I would expect an indication that there are more than 10 entries in the alias, for example an ellipsis (...)
Describe alternatives you considered
Listing all entries in the tooltip may be unmanageable for big aliases.
Screenshots

Environment
OPNsense 21.7.1

Not a bug, its hardcoded to the first 10 for safety reason

As I wrote, I understand that, but then you need to indicate that there are more entries that are not shown.

@knan-md can you try this patch?
# opnsense-patch 35ec0ae

Cheers,
Franco

Looks good to me! Tested on our firewall with no issues.

@knan-md great, thanks for the report!


[CLOUD-2593] Deprecation of amq62

Remove amq62 application templates.
Signed-off-by: Howard Gao<EMAIL_ADDRESS>

Can anyone review this pls? Thanks

@gaohoward could you pls resolve the conflicts. @rcernich fyi I've qe-approved label in Jira, imho it's good to go since the image is deprecated in catalogue already.

ok I'll solve the conflicts.


[5.4] Soft deleted models should still existing

Hi guys :)
When a model is soft deleted, its "exists" property should keep equals true. It was not completely removed and technically still existing.
This minor change wil allow deleting and immediately forceDelete.
Example:
function someExample(Model $instance)
{
   //Independently of it uses SoftDeletes we can call delete()
   $instance->delete();

    if (someConditionToForceDeleteNow) {
        $instance->forceDelete();
    }
    return $instance;
}

If the instance was force deleted or not, equally the deleted_at attributes has been set and can be returned in the response.
Without this change, the instance will never be force deleted, and if we do not call the delete() before we will never have the deteleted_at date updated/set.

I think that I made a mess here. How can I resolve the conflicts from my side? I tried merging but did not work.
Sorry.

Try rebasing.

This would be a breaking change now since we didn't have time to get to this before 5.4 release. Sorry :/ ... it could be considered possibly for 5.5.

Ok, I understand. Thanks for the excellent job. 5.4 has been a fantastic release as always.
I'll send it to the dev branch


Videos with "strange" characters freeze the download

Episodes that cause trouble:
Season 0: episode 8 (verfified)
Season 1: episode 235, episode 7 (suspected)
The issue may be due to windows not allowing the "|" (vertical bar, pipe) character in a file name.
I suggest filtering out that character by replacing it with something else like whitespace or maybe "-" (hypen, minus sign)

Some characters that cause the issue:
? |  /

Committed a fix but people say it still gets stuck on s01.e038

I am not an expert on regex and didnt even clone the repo to test this but i asked chatgpt for explanation on the regex used to filter out the problematic characters and it explained the following:
"In JavaScript, fileName.replace(/[^A-Za-z0-9.-\40]/, '') replaces the first non-alphanumeric character (including anything other than letters, numbers, periods, underscores, hyphens, or spaces) in fileName with an underscore (). To replace every such character in fileName, use the global flag g in the regex: /[^A-Za-z0-9.-\40]/g. This modification ensures all non-matching characters are replaced, not just the first occurrence."
As i said i dont know much about regex but the /g flag is commonly used in tools like sed and vim for global replacement, might also apply to JavaScript regex. In sed and vim, it replaces all occurrences in the text, not just the first. This concept could logically extend to JavaScript regex as well.

Well now i actually took  the time to clone the repo and test this and it seems like the /g flag is the fix

Could you add a pull request with the fix and ill be able to mess with it in a couple hours

Done


Fix Windows portability problem in dtypes_test.py

@jakevdp I will submit this without waiting for your review, but one to look at when you are around.


Fix issue with order by expressions for non root paths

based on https://github.com/querydsl/querydsl/pull/1276
backport https://github.com/querydsl/querydsl/pull/1278

Well, in my opinion it looks straightforward, I finished reviewing.
The only thing we could enhance is using UnderscoreTemplates, instead of oldPath.toString().replace('.', '_').

This master PR just needs to be rebased, but in my opinion they can be merged.


Unknown prop warning

The module is setting props on the div, causing warnings in React 15.2.0:
https://gist.github.com/jimfb/d99e0678e9da715ccf6454961ef04d1b

See: https://github.com/dogfessional/react-swipeable/pull/43

+1

solved with #44


Make threadpools marked as mutable resizeable

Closes #2272

I found one other property that had the same issue


Couldn't add a point until zoom level 24

At
https://www.openstreetmap.org/edit#map=24/24.16047/120.69161
I had to zoom in all the way to level 24, before I was able to add a point.
Else I couldn't pick Mobile Phone Mast from the menus, because "points are disabled" "zoom in more first".
In fact the user has to zoom in level by level, to see what it the right level where they are finally allowed to add points.
Maybe have a button that will zoom to the level that the message is talking about.
Yes, I was editing in a city, but still there were no points on my screen at that level, so perhaps the limit of zoom >= 24 is being enforced across the entire town.

Noteably, there are many (ie. 27) bus routes, each with many (100+) members on every major road.
Combined with road network relations, address import and the fact it is (major) city.

address import

The problem is likely that. Having 100+ address nodes per single apartment building is likely not the best idea.


Adding CI line which runs the breaking change tool.

For now, it will print to the log whether or not it found any, but its
exit code is ignored. Later, the mask will be flipped. This could make
it harder temporarily to collect vetting information around the success
or failure of the breaking change tool. However, publishing status to an
EventGrid topic could allow us to stow results in a DB then report on it
and create alerting rules.

I dug into what's going on with the default job, and I've attempted to reconfigured Jenkins to not add this commit status in the future.

🐑 it!


Remove --experimental flag from commands

Purpose

$Title

Fixes https://github.com/ballerina-platform/ballerina-lang/issues/34776

Approach

Describe how you are implementing the solutions along with the design details.

Samples

Provide high-level details about the samples related to this feature.

Remarks

List any other known issues, related PRs, TODO items, or any other notes related to the PR.

Check List

[ ] Read the Contributing Guide
[ ] Updated Change Log
[ ] Checked Tooling Support (#)
[ ] Added necessary tests

[ ] Unit Tests
[ ] Spec Conformance Tests
[ ] Integration Tests
[ ] Ballerina By Example Tests

[ ] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

There can be jballerina-unit/jballerina-integration tests using the experimental feature. Please check and update these as well.

Remove experimental tag usages in jballerina unit & intg tests

Removed via https://github.com/ballerina-platform/ballerina-lang/pull/35835/commits/8d2bfe71cd671b0d8847d9b3752e433e1281b641

Removed experimental usages in

[ ] Distribution via https://github.com/ballerina-platform/ballerina-distribution/pull/2692


add Math polyfill

IE doesn't support Math.log2. A math.js file has been added with a polyfill for this method.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.


Drop --validator-indexes flag

It not needed anymore because we fetch the validator public key from the proposer duties, and then we check if we have the private key corresponding it (or delegated) to sign commitments with

Duplicate of #361


Expose InstanceId in ClientConnectionContext

Summary of the changes

Expose InstanceId in ClientConnectionContext (Core SignalR)
method GetInstanceId is copied from ServiceConnection
InstanceId is already exposed in SignalR.AspNet.ClientConnectionContext

Shall we also respect the instanceId in ClientConnectionContext and could remove the cache in ServiceConnection(https://github.com/Azure/azure-signalr/blob/dev/src/Microsoft.Azure.SignalR/ServerConnections/ServiceConnection.cs#L379)?


Users/alkerezs/implement column descriptors

Pull Request
🤨 Rationale
To have a more versatile naming strategy for the columns that allow replacing IDs with actual entity aliases, it is necessary to have a column descriptor defined on the FieldDTO for the Calibration Forecast.
👩💻 Implementation

Added column descriptor on the Calibration Forecast Column response model.
Implemented dynamic naming strategy for the column

🧪 Testing

Unit tests
Manual tests

✅ Checklist

[ ] This PR has a title that follows the commit message format.

@kkerezsi FYI this PR's title did not follow the format and therefore did not generate a new release

@mure I missed this. My bad . Will pay more attention to this on the next PRs

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

v3.14.1
GitHub release

Your semantic-release bot :package::rocket:


Class as xml externalization

Many thanks for your contribution, we truly appreciate it. We will appreciate it even more, if you make sure that you can say "YES" to each point in this short checklist:

You made a small amount of changes (less than 100 lines, less than 10 files)
You made changes related to only one bug (create separate PRs for separate problems, or leave puzzles)
You are ready to defend your changes (there will be a code review)
You don't touch what you don't understand
You ran the build locally and it passed
Title begins with the issue's number, then a short title
Description begins with the issue's number, then enumerates the changes - summarized - in bulletpoints
Description does not contain GitHub keywords (https://help.github.com/articles/closing-issues-using-keywords/).

This article will help you understand what we are looking for: https://www.yegor256.com/2015/02/09/serious-code-reviewer.html
Thank you for your contribution!

Job #366 is now in scope, role is REV

This pull request #366 is assigned to @fabriciofx/z, here is why; the budget is 15 minutes, see §4; please, read §27 and when you decide to accept the changes, inform @paulodamaso/z (the architect) right in this ticket; if you decide that this PR should not be accepted ever, also inform the architect; this blog post will help you understand what is expected from a code reviewer; there will be no monetary reward for this job

Seems test org.jpeek.web.ReportsTest is unstable
https://travis-ci.org/yegor256/jpeek/builds/632328904#L1574

Will need to remove added pazzler as issue was created for it.

Job #366 is already in the agenda of @fabriciofx/z

The job #366 is now out of scope

Pull request #366 was not merged, no payment for ARC, see §28


Troubles reproducing the results

Hi, folks!
Thank you very much for the hard work (^^)
I have a question on how to reproduce the results -- not that I am aiming to spot the differences, just making sure that I am running the code correctly.
I use the run_run_unsup_example.sh script to train the unsupervised SimCSE. At the end of the training procedure, I run evaluation as follows: time CUDA_VISIBLE_DEVICES=0 python evaluation.py --model_name_or_path result/my-unsup-simcse-bert-base-uncased --pooler cls --task_set sts --mode test. The results table I am getting is:
------ test ------
+-------+-------+-------+-------+-------+--------------+-----------------+-------+
| STS12 | STS13 | STS14 | STS15 | STS16 | STSBenchmark | SICKRelatedness |  Avg. |
+-------+-------+-------+-------+-------+--------------+-----------------+-------+
| 46.88 | 56.47 | 58.33 | 65.43 | 58.92 |    56.71     |      55.36      | 56.87 |
+-------+-------+-------+-------+-------+--------------+-----------------+-------+

I believe the table i should be comparing to is Table 5 from the paper, the relevant row shows:
∗SimCSE-BERTbase | 68.40 | 82.41 | 74.38 | 80.91 | 78.56 | 76.85 | 72.23 | 76.25|

Which is far better than what i get. Can you maybe help me understand if I am doing smth wrong? I follow the main README.md file, the content of the run_run_unsup_example.sh script is:
python train.py \
    --model_name_or_path bert-base-uncased \
    --train_file data/wiki1m_for_simcse.txt \
    --output_dir result/my-unsup-simcse-bert-base-uncased \
    --num_train_epochs 1 \
    --per_device_train_batch_size 64 \
    --learning_rate 3e-5 \
    --max_seq_length 32 \
    --evaluation_strategy steps \
    --metric_for_best_model stsb_spearman \
    --load_best_model_at_end \
    --eval_steps 125 \
    --pooler_type cls \
    --mlp_only_train \
    --overwrite_output_dir \
    --temp 0.05 \
    --do_train \
    --do_eval \
    --fp16 \
    "$@"

After reading the closed issues, I tried converting the weights to the HF checkpoint. Got slightly better results, but by not much:
------ test ------
+-------+-------+-------+-------+-------+--------------+-----------------+-------+
| STS12 | STS13 | STS14 | STS15 | STS16 | STSBenchmark | SICKRelatedness |  Avg. |
+-------+-------+-------+-------+-------+--------------+-----------------+-------+
| 50.92 | 55.15 | 57.24 | 67.02 | 60.67 |    58.67     |      55.69      | 57.91 |
+-------+-------+-------+-------+-------+--------------+-----------------+-------+

I saw the issue #38 which suggests disabling the --fp16 option. Will retrain the model and report back later.

Reporting back:

trained using the run_run_unsup_example.sh script, but without the --fp16 flag
converted the checkpoint using the simcse_to_huggingface.py script
ran evaluation using the default flags

------ test ------
+-------+-------+-------+-------+-------+--------------+-----------------+-------+
| STS12 | STS13 | STS14 | STS15 | STS16 | STSBenchmark | SICKRelatedness |  Avg. |
+-------+-------+-------+-------+-------+--------------+-----------------+-------+
| 50.06 | 55.05 | 57.67 | 67.48 | 60.69 |    57.63     |      56.02      | 57.80 |
+-------+-------+-------+-------+-------+--------------+-----------------+-------+

Results with the --pooler cls_before_pooler flag:
------ test ------
+-------+-------+-------+-------+-------+--------------+-----------------+-------+
| STS12 | STS13 | STS14 | STS15 | STS16 | STSBenchmark | SICKRelatedness |  Avg. |
+-------+-------+-------+-------+-------+--------------+-----------------+-------+
| 49.49 | 55.75 | 58.12 | 66.50 | 60.36 |    57.28     |      56.59      | 57.73 |
+-------+-------+-------+-------+-------+--------------+-----------------+-------+

Environment:

CUDA Version: 11.0
GPU: Tesla V100
PyTorch version: torch==1.7.1+cu110

Hi, you should use the cls_before_pooler for evaluation (and that is where most not-reproducible cases come from). But since you also tried that, I suggest you to evaluate our pre-trained checkpoints first (to make sure nothing goes wrong with the evaluation). You can also check the log for training, where validation results are printed.

Hi!
Running python evaluation.py --model_name_or_path princeton-nlp/sup-simcse-bert-base-uncased --pooler cls --task_set sts --mode test gives me the following results:
------ test ------
+-------+-------+-------+-------+-------+--------------+-----------------+-------+
| STS12 | STS13 | STS14 | STS15 | STS16 | STSBenchmark | SICKRelatedness |  Avg. |
+-------+-------+-------+-------+-------+--------------+-----------------+-------+
| 75.30 | 84.67 | 80.19 | 85.40 | 80.82 |    84.26     |      80.39      | 81.58 |
+-------+-------+-------+-------+-------+--------------+-----------------+-------+

That matches the expected result :)
By the way, running the same command, but w/ the cls_before_pooler option gives:
------ test ------
+-------+-------+-------+-------+-------+--------------+-----------------+-------+
| STS12 | STS13 | STS14 | STS15 | STS16 | STSBenchmark | SICKRelatedness |  Avg. |
+-------+-------+-------+-------+-------+--------------+-----------------+-------+
| 77.75 | 81.43 | 79.53 | 85.59 | 81.98 |    83.68     |      79.52      | 81.35 |
+-------+-------+-------+-------+-------+--------------+-----------------+-------+

In any case, it seems like the results from your pretrained models are computed as expected, so eval code works.
Any hints on where the problem w/ the train code might be?

Can you check the validation results for debugging?

Even compared to the test scores in Table 5, the validation results on dev set are fairly low -- here are the highest scores I got:
{'eval_stsb_spearman': 0.6589651676962802, 'eval_sickr_spearman': 0.595184228171256, 'eval_avg_sts': 0.6270746979337681, 'epoch': 0.62}

The validation result doesn't seem right, so there is indeed something going wrong during the training. Since it's hard to debug for me, can you try to re-clone the github repo, redownload all the data and train again (just to make sure code/data are not corrupted)?

Hey, everyone!
It took a bit longer than a couple of days :) Anyway, the hack did not work -- here are my results after wiping out the results folder and re-training the model:
------ test ------
+-------+-------+-------+-------+-------+--------------+-----------------+-------+
| STS12 | STS13 | STS14 | STS15 | STS16 | STSBenchmark | SICKRelatedness |  Avg. |
+-------+-------+-------+-------+-------+--------------+-----------------+-------+
| 49.49 | 55.75 | 58.12 | 66.50 | 60.36 |    57.28     |      56.59      | 57.73 |
+-------+-------+-------+-------+-------+--------------+-----------------+-------+

Hi, I just cloned the github repo and rerun the experiment, and I can still reproduce the result. I'm not sure what went wrong. Could you please try it out on some other environments/machines?


Json format of the output

Justin,
using the fer application applied to an image the result that I obtain seem do not accomplish with the json standard.
This is an example:
[OrderedDict([('box', (316, -3, 516, 516)), ('emotions', {'angry': 0.88, 'disgust': 0.0, 'fear': 0.06, 'happy': 0.0, 'sad': 0.03, 'surprise': 0.0, 'neutral': 0.03})])]
using the json.dumps function to pretty print the above result, I got an error message.
Any idea?
Thanks.

Thanks for your message. This has been fixed in v20.1.1. OrderedDict has
been replaced with dict and numpy floats have been cast to native Python
floats to allow Json parsing.
Please try pip install -U fer, then import pprint; pprint.pprint(result) or import json; json.dumps(result).
On Mon, Nov 9, 2020 at 7:04 PM redfalcoon<EMAIL_ADDRESS>wrote:

Justin,
using the fer application applied to an image the result that I obtain
seem do not accomplish with the json standard.
This is an example:
[OrderedDict([('box', (316, -3, 516, 516)), ('emotions', {'angry': 0.88,
'disgust': 0.0, 'fear': 0.06, 'happy': 0.0, 'sad': 0.03, 'surprise': 0.0,
'neutral': 0.03})])]
using the json.dumps function to pretty print the above result, I got an
error message.
Any idea?
Thanks.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/justinshenk/fer/issues/16, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACOLMZH6JY2IG7Z7Y3BLEYLSPAVMDANCNFSM4TPVWFAA
.

Closing issue

Justin,
thank you for your response and the correction that works fine and solve the issue.
Nice job.


Added missing information about the clustering provider package to use

The quickstart names the NuGet package to use for the Service Fabric support, but then uses builder.UseAzureStorageClustering() without specifying where that comes from. This pull requests simply names the official packages and links to the Cluster Management page for more information.

Thanks, @WhitWaldo!


API Key for "default free AI Provider" is invalid

@tarasglek is this intended?  If so, we shouldn't include a so-called "free" provider.  If not, we should fix.

Sorry about that, deleted the wrong key in groq


Added java documentation

Goal of the commit is, to provide easier navigation through the code and should enable a quicker understanding of the used classes and their methods.
No functional code was changed.

Closed the PR as I was a bit too "thorough" or extreme by all standards.


Please don't use top level expressions and statements on the benchmarks

This will seem strange but test it for yourself.
I was working on benchmark code a couple months ago and there was a brutal performance difference between all code (expressions and statements) written at the top level, and the exact same code wrapped in a function with that function called in the end.
I suspect it has something to do with the optimiser not being able to properly run entire classes of optimisations when expressions and values end up as static in the global namespace.
swift-htmlkit itself might not even be impacted by this due to most work happening at compile time, but I'm sceptic that it won't have a significant effect on the other projects being benchmarked alongside it.
Please post back your findings, it should be trivial to try and see if it has any effect on a couple benchmarks. I will try that myself tonight just to be sure I'm not seeing ghosts. 👻

I do not understand. No top level expressions or statements are present in the benchmarked code. If you're referring to Benchmarks.swift, that is required to setup the benchmarks (see https://github.com/ordo-one/package-benchmark).
Also Networking/main.swift is just a sample executable to test the server latency for different libraries. The results have never been benchmarked.

You're right. Coincidentally I went straight to this pair of files (!) and assumed things, as I was browsing on the phone intending to take a deeper look in the evening.
I was seeing ghosts after all. Suits the upcoming Halloween 🎃


Feature request: Add palette mapping for VT240

Currently, conversion for display of images on a real VT240 using -p 4 always displays the same 4 colours: red, green, blue, black. However, the sixel support on a VT240 actually can display 4 colours chosen from a palette of 64 colours. The fixed palette is documented on page 162 of this PDF:
http://bitsavers.org/pdf/dec/terminal/vt240/EK-VT240-RM-002_VT240_Programmer_Reference_Manual_Oct84.pdf
Could output matching these colours be achieved with a mapfile? And, if so, can a standard VT240 mapfile be added to the distribution?
Love your library. Thanks for your hard work.

-p 4 should definitely be attempting to give you a representative palette. But if the images you are encoding contain a broad range of colors, then it may just be that red/green/blue/black is the best palette choice in many cases. As a test, try encoding something that's primary black and white, or some monochrome shade of color.
The other problem will be that libsixel doesn't take into account the limited range of the VT240 palette, so it may calculate something like RGB(12,83,41) as being the best palette value to use, but what the VT240 actually sees is RGB(0,100,33). I'm not sure the results would be that much better if it did account for those limits, but it's possible there's room for improvement there. Is that what you were suggesting regarding the VT240 map file?
I should also mention that this project is not actually active anymore - the maintainer hasn't been seen for several years now. Some libsixel users have created a fork at libsixel/libsixel which has a little more activity, so that may be the best place to follow up if you're hoping for new features to be developed.

Hey @j4james thanks for the info. I did try some B&W images and am still getting no change of the default palette. So, something's a bit off. Maybe RGB(12,83,41) would be ignored? I'm not really sure. That is indeed what I meant by the map file -- maybe it needs to output exactly the colours in the PDF, so if I can force it to only use those colours, maybe it'd work better. I could use a little hand-holding... I'm quite busy these days.
If I can't manage it with a map file, I'll go hit up the fork.

I did try some B&W images and am still getting no change of the default palette. So, something's a bit off.

OK, that is strange. Can you perhaps try something like this with the B&W test image:
img2sixel -p 4 test.png > test.six

Then open up the test.six file in a text editor to see what is actually generated. It should start off looking something like this:
^[Pq"1;1;640;480#0;2;97;97;97#1;2;94;89;91#2;2;67;61;60#3;2;22;19;20

The 640;480 in the above example is just the size of the image, so that will depend on your particular image, but the VT240 will just ignore that anyway. The palette definition should follow immediately after that. In my example, you can see the four colors are:
#0;2;97;97;97
#1;2;94;89;91
#2;2;67;61;60
#3;2;22;19;20

The first number in each entry is just the color ID, the second value (the 2) indicates it's an RGB definition, and the remaining 3 values are the RGB components (with a range of 0 to 100).
My test image wasn't pure B&W, so the RGB components have a bit of variation to them, but you can clearly see they're not just red/green/blue. Otherwise you'd expect something like this:
#0;2;100;0;0
#1;2;0;100;0
#2;2;0;0;100
#3;2;0;0;0

So can you check the sixel that is generated for one of your B&W test cases and see whether it at least looks right. Then we'll know if there's a problem with img2sixel, or it's the VT240 that is ignoring the palette.

Maybe RGB(12,83,41) would be ignored?

If that's the case, you can try editing the palette in the generated file to something that more closely matches the VT240 color range, e.g. for B&W it could be something like this:
#0;2;99;99;99
#1;2;66;66;66
#2;2;33;33;33
#3;2;0;0;0

Or if you think it might require the colors to be HLS, the second value in the palette definitions should be changed to 1, and you could use something like this:
#0;1;0;99;0
#1;1;0;66;0
#2;1;0;33;0
#3;1;0;0;0

The image won't necessarily look correct if the order of the palette isn't right, but that should at least show whether it is making any difference at all, or your VT240 is simply not accepting palette changes.

https://github.com/libsixel/libsixel


fix induction subgoals stored in ntac nodes; and start f-equal tactic

I started the most basic f-equal tactic. Now that this works, we can gradually try to make the arguments more implicit

re: f has no types
As I suspected, this is (partly) because this current branch is behind main. Problem described here: https://github.com/wilbowma/cur/issues/134

Ok I got something working for f-equal-tactic. Now you can either use it with explicit args, or no args.
(To run the example, you'll need to also pull and compile a change from Turnstile popl2020-artifact branch)


chore: replace local DOM helper with native alternative

@broofa I mistakenly pushed this proposal to main, but then immediately pushed a revert commit because I was unable to force-push it. Feel free to clean up the history on main before reviewing this.
See comments below to see what this PR is about.

Hmm.  Click-to-select modules in the graph appears to be broken.

Fixed. One of the event.target changes was significant since it used event delegation


Cannot compile unless code is first committed.

On our project, we just added the plugin and formatted our entire codebase (which worked great, BTW).
But when I try to compile our project I'm now getting the following error:
[ERROR] Failed to execute goal com.cosium.code:maven-git-code-format:1.36:validate-code-format (validate-code-format) on project ktc-services: /Users/mcpierce/Repositories/know-the-costs/ktc-services/src/main/java/com/outpatientservicesllc/persistence/service/WorkQueueService.java is not correctly formatted ! -> [Help 1]

Even though our entire codebase was formatted by the plugin. If I git commit the code, without changing it, the build runs fine.
I should also add that I'm using the google-java-format plugin for IntellJ to format code as I go, so the code being saved as pre-formatted correctly.

Hi @mcpierce ,
IntelliJ google-java-format plugin does not format the code exactly as the plain google-java-format project used by this plugin.
I think what happens is that, somehow, between the full manual git-code-format formatting and the moment you perform your maven build, IntelliJ reformat the code in its own way. This breaks the formatting from maven-git-code-format point of view.
To verify this theory:

close IntelliJ
trigger manual format from the terminal
run the maven build from the terminal
A passing build will confirm that IntelliJ is causing the issue.

@reda-alaoui Merci pour ta réponse.
I'm not sure that IntelliJ is the culprit here. It doesn't automatically reformat the code. But to be sure, I shutdown IntelliJ. The current state of the code is the following:
mcpierce@MacPierceBookPro ~/Repositories/know-the-costs/ktc-app (dpierce/PRTR-214) $ git diff
diff --git a/ktc-services/src/main/java/com/outpatientservicesllc/persistence/service/WorkQueueService.java b/ktc-services/src/main/java/com/outpatientservicesllc/persistence/service/WorkQueueService.java
index d104200dd..b19739b49 100644
--- a/ktc-services/src/main/java/com/outpatientservicesllc/persistence/service/WorkQueueService.java
+++ b/ktc-services/src/main/java/com/outpatientservicesllc/persistence/service/WorkQueueService.java
@@ -14,14 +14,15 @@ import com.outpatientservicesllc.model.WorkQueueItemQueueStage;
 import com.outpatientservicesllc.persistence.entities.*;
 import com.outpatientservicesllc.persistence.entities.patient.Patient;
 import com.outpatientservicesllc.persistence.repository.WorkQueueRepository;
-import java.util.*;
-import javax.transaction.Transactional;
-import javax.transaction.Transactional.TxType;
 import lombok.extern.log4j.Log4j2;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;

+import javax.transaction.Transactional;
+import javax.transaction.Transactional.TxType;
+import java.util.*;
+
 @Service
 @Log4j2
 public class WorkQueueService {

So the only thing changed are a few imports. When I compile, I get:
[ERROR] Failed to execute goal com.cosium.code:maven-git-code-format:1.36:validate-code-format (validate-code-format) on project ktc-services: /Users/mcpierce/Repositories/know-the-costs/ktc-services/src/main/java/com/outpatientservicesllc/persistence/service/WorkQueueService.java is not correctly formatted ! -> [Help 1]

I commit the code and change is:
diff --git a/ktc-services/src/main/java/com/outpatientservicesllc/persistence/service/WorkQueueService.java b/ktc-services/src/main/java/com/outpatientservicesllc/persistence/service/WorkQueueService.java
index 668b7d6a4..d104200dd 100644
--- a/ktc-services/src/main/java/com/outpatientservicesllc/persistence/service/WorkQueueService.java
+++ b/ktc-services/src/main/java/com/outpatientservicesllc/persistence/service/WorkQueueService.java
@@ -16,6 +16,7 @@ import com.outpatientservicesllc.persistence.entities.patient.Patient;
 import com.outpatientservicesllc.persistence.repository.WorkQueueRepository;
 import java.util.*;
 import javax.transaction.Transactional;
+import javax.transaction.Transactional.TxType;
 import lombok.extern.log4j.Log4j2;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -32,22 +33,6 @@ public class WorkQueueService {

Lastly, what I have in my pom.xml is the following (probably should have included this in the ticket earlier):
      <plugin>
        <groupId>com.cosium.code</groupId>
        <artifactId>maven-git-code-format</artifactId>
        <version>1.36</version>
        <executions>
          <execution>
            <id>install-formatter-hook</id>
            <goals>
              <goal>install-hooks</goal>
            </goals>
          </execution>
          <execution>
            <id>validate-code-format</id>
            <goals>
              <goal>validate-code-format</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <googleJavaFormatOptions>
            <aosp>false</aosp>
            <skipSortingImports>false</skipSortingImports>
            <skipRemovingUnusedImports>false</skipRemovingUnusedImports>
          </googleJavaFormatOptions>
        </configuration>
      </plugin>

@reda-alaoui Commented out the validate and the build ran correctly. Disabling that won't affect the overall formatting on commit though, yeah?

I think I understand more clearly your issue.
I bet you are using mvn install to perform your build. install triggers the verify phase.
By default, validate-code-format is bound to maven verify phase. The purpose of validate-code-format is to make the CI fail the build if it receives badly formatted files. Badly formatted files could be committed because of a developer that commit without ever running maven (i.e. no installed hooks) or a 'malicious' developer that manually removes the hook. The CI is then the last defense against this.
Disabling validate-code-format will only remove this guard. The pre-commit formatting will keep working without any issue.
If you want to keep validate-code-format for the CI while being able to run mvn install locally despite badly formatted files, you have to move it into a maven profile that would be enabled by your CI only.

@reda-alaoui Okay, understood. We'll adjust our system to use a profile for CI that runs the check at build time. Thank you!

@reda-alaoui One more question: could your provide an example of using profiles to configure this plugin? Would I change teh valu e for the goal based on the profile? If so, what value should be used for non-CI builds (as I would like the validation then, but not during a local build)?


⚠ PrivateHD has degraded performance

In 5dbe83a, PrivateHD ($PHD) experienced degraded performance:

HTTP code: 200
Response time: 5051 ms

Resolved: PrivateHD performance has improved in 9f66df6.


Search page and topbar input

Thanks, Deep. Looks greate!
I'm not merging yet because I want to integrate this search bar in a different way.

thanks deep! works!


Use of DiscoveryClientHealthIndicator AND ReactiveDiscoveryClientHealthIndicator

Hello Spring Cloud Kubernetes Team,
I just wanted to raise a small issue, please feel free to screen and add your expertise.
Facts:
My app, a Spring WebFlux app, not MVC at all, non blocking at all, is deployed in Kubernetes.
I activate the liveness probe. The liveness probe shows the following:
 s.c.c.d.h.DiscoveryClientHealthIndicator : Error
io.fabric8.kubernetes.client.KubernetesClientException: Operation: [list]  for kind: [Service]  with name: [null]  in namespace: [vaxholmproduction]  failed.

r.ReactiveDiscoveryClientHealthIndicator : Error
io.fabric8.kubernetes.client.KubernetesClientException: Operation: [list]  for kind: [Service]  with name: [null]  in namespace: [vaxholmproduction]  failed.

I paste the log for an error, to make things a bit more relevant. You can clearly see there are the use of both  DiscoveryClientHealthIndicator AND ReactiveDiscoveryClientHealthIndicator
The success will also use both.
Finally, this is reproducible with any Spring Webflux app deployed in Kubernetes.
May I ask why the use of DiscoveryClientHealthIndicator AND ReactiveDiscoveryClientHealthIndicator in a Spring Webflux app please?
Thank you.

as far as I am looking at the code, you are right. There is no way to say : "I only want the reactive discovery heath indicator", I mean there is no @ConditionalOnClass(Mono.class) for example (just an idea of what I mean). But may be this is by design and I am missing something here. Anyway, those two are not part of this project per-se, but part of spring-cloud-commons.
I can't tell you a proper solution and these are just my 0.02$. Let's wait for someone with more authority to chime in.

@ryanjbaxter imho, this one can be closed also

Not sure I agree because the autoconfiguration containing this health indicator should only be enabled if there is a DiscoveryClient bean, in this case there shouldnt be.
https://github.com/spring-cloud/spring-cloud-commons/blob/c2a22346cde819971263c47b321a81a7908c4f40/spring-cloud-commons/src/main/java/org/springframework/cloud/client/CommonsClientAutoConfiguration.java#L57
@patpatpat123
Can you provide a complete, minimal, verifiable sample that reproduces the problem? It should be available as a GitHub (or similar) project or attached to this issue as a zip file.

Hello @wind57, hello @ryanjbaxter,
Understood, let me try to provide a small project.
Thank you for looking at this, because I did try the properties and still could see both errors at the same time.


Options for Line/FilledContours methods

Hi, could someone point out some documentation so as to how I could customize the call to gv.LineContours and gv.FilledContours (i.e., specify contour levels, color, etc.) ?  Thanks!

@ktyle It's probably best to start with some of the basic HoloViews Tutorials, specifically have a look at the Options Tutorial.
The short of it is that there are three kinds of options style, plot and norm options. You can find out about the supported options using holoviews.help (I will add gv.help to mirror the holoviews version):
import holoviews as hv
hv.help(gv.FilledContours)

Curve
...
Help for the data object: holoviews.help(Curve) or holoviews.help(<curve_instance>)

-------------
Style Options
-------------

	alpha, c, color, linestyle, linewidth, ls, lw, marker, visible

(Consult matplotlib's documentation for more information.)

------------
Plot Options
------------
...

In the notebooks those you can use the %%opts magic to apply options by specifying the name of the element and the options by putting plot options in square brackets ([ ]) and style options in braces (( )):
%%opts FilledContours [levels=[0.1, 0.5, 0.75, 1]] (cmap='viridis')
gv.FilledContours({'x': range(10), 'y': range(10), 'z': np.random.rand(10,10)},
                  kdims=['x','y'], vdims=['z'])

Note that both the Element names and the options tab complete once you've typed %%opts and opened either the square brackets or braces.

In pure python you can apply options by calling the element like this:
contours =gv.FilledContours({'x': range(10), 'y': range(10), 'z': np.random.rand(10,10)},
            kdims=['x','y'], vdims=['z'])
styled = contours(plot={'levels': [0.1, 0.5, 0.75, 1]}, style={'cmap':'viridis'})
hv.Store.renderers['matplotlib'].save(styled, 'styled_contours')

I'm going to repurpose this issue to make sure I add gv.help and link to HoloViews tutorial more prominently.


Colony reference -> 404

"Another example is the EtherRouter contract of Colony" in upgrade ×× .md  has  a broken link in it.

Thanks for letting me know.
Fixed in https://github.com/fravoll/solidity-patterns/commit/170bd470bdbe0f2fcccd0b61043c1c96b9568212


Release: v0.7.9

cc @lvwerra

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.


A records (ALIAS) to ELBs on a different AWS account are unconfigurable

We have a zone apex record that needs to point to an ELB on another account (that we do not control or have credentials for).
The way route53-ext resolves ELBs does not handle this case, and we end up receiving the "Cannot find ELB" error due to this (which breaks the DNS update).
I can see two obvious solutions
a) fix the root cause (I tried monkeypatching around it, but was unsuccessful)
b) provide a way to tell roadworker to ignore a given record - in this case I would just leave the ALIAS record in Route 53, and roadworker would be told to just ignore it when generating the change list / applying change list.

I sent related pull request. Please check https://github.com/winebarrel/roadworker/pull/21

Thanks! Please wait..

Hello,
Is it resolved?
It seems resolved but on my environment it fails, even when I specify :hosted_zone_id.
[ERROR] RuntimeError: Cannot find ELB: XXXXX.ap-northeast-1.elb.amazonaws.com

To know why I inserted p dns_name_opts here (https://github.com/winebarrel/roadworker/blob/0.5.5/lib/roadworker/route53-wrapper.rb#L175) but written was only {:evaluate_target_health=>false}.
When I also specified :evaluate_target_health => true, it was in effect: {:evaluate_target_health=>true}.
I think I should conclude somehow the hosted_zone_id is not properly passed to Aws::Route53.dns_name_to_alias_target via dns_name_opts.
I think I should write the resource record like this (https://github.com/winebarrel/roadworker/blob/v0.5.6/spec/roadworker_create_spec.rb#L171), but is it wrong?

@limitusus Thank you for your report :smiley:
Will investigate it on the weekend.

Hi @winebarrel,
Is there any progress on it?

Sorry untouched...

Hi all, is this problem fixed? I still see this issue in my current version of roadworker (roadwork 0.5.6).
Could you please take a look at this?

Sorry, this issue information is not enough to solve this problem 😢
Please tell me the following information.

Ruby version
Roadworker version
Routefile DSL
backtrace (pass --debug option)
AWS_REGION/AWS_DEFAULT_REGION env val

(Please contact @sgwr_dts (twitter) if you can speak Japanese)

I tested under the following conditions (hid ELB name; it's a production data):
ruby -v: ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-linux]
roadwork -v: roadwork 0.5.6
Routefile (part/changed name):
hosted zone "limitusus.info." do
  (snip)
  rrset "xxx.limitusus.info.", 'A' do
    dns_name "dualstack.xxx.yyy.zzz-0000000000.ap-northeast-1.elb.amazonaws.com."
  end
end

Backtrace:
/home/limit/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/roadworker-0.5.6/lib/roadworker/route53-ext.rb:82:in `elb_dns_name_to_alias_target': Cannot find ELB: dualstack.xxx.yyy.zzz-0000000000.ap-northeast-1.elb.amazonaws.com (RuntimeError)
	from /home/limit/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/roadworker-0.5.6/lib/roadworker/route53-ext.rb:43:in `dns_name_to_alias_target'
	from /home/limit/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/roadworker-0.5.6/lib/roadworker/route53-wrapper.rb:176:in `block in create'
	from /home/limit/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/roadworker-0.5.6/lib/roadworker/route53-wrapper.rb:168:in `each'
	from /home/limit/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/roadworker-0.5.6/lib/roadworker/route53-wrapper.rb:168:in `create'
	from /home/limit/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/roadworker-0.5.6/lib/roadworker/client.rb:130:in `block in walk_rrsets'
	from /home/limit/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/roadworker-0.5.6/lib/roadworker/client.rb:113:in `each'
	from /home/limit/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/roadworker-0.5.6/lib/roadworker/client.rb:113:in `walk_rrsets'
	from /home/limit/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/roadworker-0.5.6/lib/roadworker/client.rb:76:in `block in walk_hosted_zones'
	from /home/limit/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/roadworker-0.5.6/lib/roadworker/client.rb:69:in `each'
	from /home/limit/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/roadworker-0.5.6/lib/roadworker/client.rb:69:in `walk_hosted_zones'
	from /home/limit/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/roadworker-0.5.6/lib/roadworker/client.rb:23:in `apply'
	from /home/limit/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/roadworker-0.5.6/bin/roadwork:180:in `<top (required)>'
	from /home/limit/.rbenv/versions/2.3.1/bin/roadwork:23:in `load'
	from /home/limit/.rbenv/versions/2.3.1/bin/roadwork:23:in `<main>'

No env val (I tested it using --profile=my option)
Hope it helps

Hi @winebarrel,
It can not create records for ELB that does not belong to different AWS account (not belong to current account).
ruby --version
ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-linux]
roadwork --version
roadwork 0.5.6
env val
AWS_REGION/AWS_DEFAULT_REGION are not set
roadwork -a
Apply Routefile to Route53
Create ResourceRecordSet: xxx.com A
[ERROR] RuntimeError: Cannot find ELB: xxx.xxx.elb.amazonaws.com

debug details
....
[Aws::ElasticLoadBalancing::Client 200 0.493465 0 retries] describe_load_balancers()
/usr/local/app/roadworker/vendor/bundle/ruby/2.3.0/gems/roadworker-0.5.6/lib/roadworker/route53-ext.rb:82:in elb_dns_name_to_alias_target': Cannot find ELB: xxx.xxx.elb.amazonaws.com (RuntimeError) 	from /usr/local/app/roadworker/vendor/bundle/ruby/2.3.0/gems/roadworker-0.5.6/lib/roadworker/route53-ext.rb:43:in dns_name_to_alias_target'
from /usr/local/app/roadworker/vendor/bundle/ruby/2.3.0/gems/roadworker-0.5.6/lib/roadworker/route53-wrapper.rb:176:in block in create' 	from /usr/local/app/roadworker/vendor/bundle/ruby/2.3.0/gems/roadworker-0.5.6/lib/roadworker/route53-wrapper.rb:168:in each'
from /usr/local/app/roadworker/vendor/bundle/ruby/2.3.0/gems/roadworker-0.5.6/lib/roadworker/route53-wrapper.rb:168:in create' 	from /usr/local/app/roadworker/vendor/bundle/ruby/2.3.0/gems/roadworker-0.5.6/lib/roadworker/client.rb:130:in block in walk_rrsets'
from /usr/local/app/roadworker/vendor/bundle/ruby/2.3.0/gems/roadworker-0.5.6/lib/roadworker/client.rb:113:in each' 	from /usr/local/app/roadworker/vendor/bundle/ruby/2.3.0/gems/roadworker-0.5.6/lib/roadworker/client.rb:113:in walk_rrsets'
from /usr/local/app/roadworker/vendor/bundle/ruby/2.3.0/gems/roadworker-0.5.6/lib/roadworker/client.rb:76:in block in walk_hosted_zones' 	from /usr/local/app/roadworker/vendor/bundle/ruby/2.3.0/gems/roadworker-0.5.6/lib/roadworker/client.rb:69:in each'
from /usr/local/app/roadworker/vendor/bundle/ruby/2.3.0/gems/roadworker-0.5.6/lib/roadworker/client.rb:69:in walk_hosted_zones' 	from /usr/local/app/roadworker/vendor/bundle/ruby/2.3.0/gems/roadworker-0.5.6/lib/roadworker/client.rb:23:in apply'
from /usr/local/app/roadworker/vendor/bundle/ruby/2.3.0/gems/roadworker-0.5.6/bin/roadwork:180:in <top (required)>' 	from /usr/local/bin/roadwork:17:in load'
from /usr/local/bin/roadwork:17:in `'

Thanks for reporst!
I'm sorry investigation is delayed.

I think I fix the problem. probably...
Please try v0.5.7.beta.

@winebarrel,
Thanks a lot, it seems fixed!!

It worked for me too. Thanks!


Allow "python -m apistar.cli"

You can define a __main__.py module to enable invoking the package by name python -m apistar.
# apistar/__main__.py
from .cli import cli

if __name__ = '__main__':
    cli()

I know, but just adding this two lines means no new file and does the job.