Add support for VLLM, Ollama, Llama2, Palm, Cohere, Anthropic, Replicate, Azure Models - using LiteLLM

This PR adds support for 100+ models using: https://github.com/BerriAI/litellm/ LiteLLM allows you to use an LLM as drop in replacement for gpt-3.5
ChatLiteLLM() is integrated into langchain and allows you to call all models using the ChatOpenAI I/O interface
https://python.langchain.com/docs/integrations/chat/litellm
Here's an example of how to use ChatLiteLLM()
ChatLiteLLM(model="gpt-3.5-turbo")
ChatLiteLLM(model="claude-2", temperature=0.3)
ChatLiteLLM(model="command-nightly")
ChatLiteLLM(model="replicate/llama-2-70b-chat:2c1608e18606fad2812020dc541930f2d0495ce32eee50074220b87300bc16e1")

addressing:
https://github.com/explodinggradients/ragas/issues/115
https://github.com/explodinggradients/ragas/issues/74

@jjmachan can you please take a look when possible ?

thank you so much ishan for making this PR to fix those issue. I have a question though. As you can see the main issue is that most LLM don't support multiple completions (the n parameter in openai) and that is the reason for the issue you have tagged. I was wondering how LiteLLM was solving this?

got it, no worries, I've got an implementation for handling cases were n is not present, I'll merge it soon

@jjmachan @ishaan-jaff is this merging?

@sam-h-bean We are working on a version (RagasLLM) that solves for the issue @jjmachan mentioned here

@sam-h-bean this PR was not merged because it doesn't fix the actual issue that is blocking support for open source. We will be fixing that shortly and doing a release this week :)
if you are looking for LiteLLM support then this is the PR for you. Let me know if that's the case and I will be happy to further prioritise this

@ishaan-jaff can you make the changes required for the new RagasLLM base object?


Remove deprecated Restful Service Handlers

Summary
There are 3 Rest service handler classes with methods marked with @deprecated since version 1.4 and will be removed in version 2.0. We should remove them if that was the plan.
Whole class BlockMasterClientRestServiceHandler
/**
 * This class is a REST handler for block master requests.
 *
 * @deprecated since version 1.4 and will be removed in version 2.0
 */
@NotThreadSafe
@Path(BlockMasterClientRestServiceHandler.SERVICE_PREFIX)
@Produces(MediaType.APPLICATION_JSON)
@Deprecated
public final class BlockMasterClientRestServiceHandler {

Many methods in class AlluxioMasterRestServiceHandler
  /**
   * @summary get the version of the master
   * @return the response object
   * @deprecated since version 1.4 and will be removed in version 2.0
   * @see #getInfo(Boolean)
   */
  @GET
  @Path(GET_VERSION)
  @Deprecated
  public Response getVersion() {
    return RestUtils.call(() -> RuntimeConstants.VERSION, ServerConfiguration.global());
  }

And many methods in AlluxioWorkerRestServiceHandler.
Urgency
LOW

@ZacBlanco @calvinjia Can these classes/methods be removed?


Adding equality, order impls for OSTime and OSTimeInterval

This pull request resolves issue #15.

Merging.


Consider non-RTC version of this benchmark

The large poopulation falloff benchmaks each require ~ 42 minutes of RTC compilation time in total (2 kernels * ~5s per kernel * 257 species).
This accounts for a suprisingly large amount of the total benchmark runtime.
Switching to non-RTC  would remove this cost, but increase actual runtime. For spatial this change will be relatively minimal. Bruteforce would see a more significant increase (without other planned optimistaions such as shared mem curve)

This is not going to be implemented currently, but can be revisited in the future.


Removing old unused RQ_DEFAULT_TIMEOUT variable

This PR Removes references to the old RQ_DEFAULT_TIMEOUT which is no longer being used.

@nniehoff Glenn is referring to this section, https://nautobot.readthedocs.io/en/latest/configuration/required-settings/#rq_queues
If you wouldn't mind moving the mention of DEFAULT_TIMEOUT there with the text you ripped out of the optional-settings doc? Thank you!

Good catch, updated


Fixed dependencies

Checklist

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

Added libcblas and try a stricter pinning for libcblas and ncurses.

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


splashscreenService: service('corber/splash') throws an error.

I am receiving the following error: Assertion Failed: Attempting to inject an unknown injection: 'service:corber/splash'.
Could it be because corber is no longer packaged as an addon and now does not merge in the service?

I think you are looking for ember-cordova/splash. Do we have it named as corber/splash anywhere?
As an aside, I'm debating the names of these ember-only services. Should we remain as ember-cordova/splash, or something along the lines of corber-ember/splash?

Thanks for your reply.  Actually yes, on the corber page here: Corber Website where there is code for injecting the splash service.  You might need to update that.
As for the naming, I kind of like the simplicity of corber/splash and I take it that if they are ember-only, then there is no motivation for differentiating?  My two cents :).

Thanks, have fixed the docs. Yep - those addons are ember only :)

Do I need to install ember-cordova as well as corber for this? I want my app to run in the browser as well so I'm getting Attempting to inject an unknown injection: 'service:ember-cordova/splash' in my console.


Alternative to AesGmcJce in Python

Hi,
I have a script to encrypt a given text but not sure there is an alternative in Python. Here's the snippet I'm using:
AesGcmJce agjEncryption = new AesGcmJce("MY_SECRET".getBytes());
byte[] encrypted = agjEncryption.encrypt("TEXT_TO_BE_ENCRYPTED".getBytes(), null);
How can I achieve this using Tink Python library?

Please reopen if you have any further question.


Add doc about schemas in AdventureWorks2019

Issue Description
We have a doc about how to restore AdventureWorks2019 sample to SQL Server but don't have a doc about schemas in this database and information about columns in separate tables.
That "Schemas in AdventureWorks" and "AdventureWorks Data Dictionary” doc set has been retired and is no longer updated/supported. In the latest version of 2019, new tables appeared and some old ones disappeared that you will not find in these documents.
Can I add a new document about schemas in AdventureWorks2019?

@FoxyChmoxy -- Almas, thank you for your feedback.  You are welcome to add a document.  Please consider these resources:

DBA Stack Exchange
Stack Overflow

@MashaMSFT -- Masha, please look into this issue.

Hi @FoxyChmoxy , thanks for bringing this to our attention and your request! I've created an internal work item to track this work and added it to our backlog (1753699). Unfortunately, we are unable to provide a timeline at this time.
We will close out this Git Issue in the meantime but please feel free to comment should you need anything further.
Thanks!
Masha from the SQL Docs team

Hi @MashaMSFT,
Am i still able to make some contribute? I was little bit busy with my work, but I still want to add some information about schemas.

@FoxyChmoxy , absolutely, you're able to whatever you need to. However, instead of documenting the schema for the adventureworks database, instead, we're going to add a section for how to create the database diagram, which allows the user to create the schema for the database themselves. Just wanted to clarify that :)
Thanks!
Masha from the SQL Docs team


Fix/api path

Describe your changes
Changed API path to match the one on AWS
Checklist before requesting a review

[x] I have performed a self-review of my code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have added thorough tests

Codecov Report

Merging #3 (08a5d9c) into dev (47be63e) will not change coverage.
The diff coverage is 0.00%.

@@           Coverage Diff           @@
##              dev       #3   +/-   ##
=======================================
  Coverage   44.44%   44.44%
=======================================
  Files           9        9
  Lines          81       81
  Branches        5        5
=======================================
  Hits           36       36
  Misses         44       44
  Partials        1        1

Flag
Coverage Δ

backend
50.74% <0.00%> (ø)

dev
44.44% <0.00%> (?)

frontend
14.28% <ø> (ø)

staging
?

unit
44.44% <0.00%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

backend/src/app.ts
0.00% <0.00%> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


[#168304371] Completed project configuration

added certs folder
added testenv conf folder
added variables to env file for api
changed value of variable in env file for front end
added command in dockerfile to copy nginx conf file
added custom nginx conf file

why we need spid testenv2 in this repo that is just static frontend files?

Both folders are needed to test front end locally with docker; these folders can be kept outside of repository, but if someone clone it and needs to run the app locally with spid integration, docker-compose file requires them (volumes creation in docker-compose).
One possible option is to keep these files from back end repository and if the user needs them get them from there.
Another option is to make the user clone both repositories (front end and back end) for and end-to-end test and keep all separate but in these case other changes has to be done (i.e. change docker-compose and other files)
Which is the best way to achieve this (end to end local testing with backend and spid)?

put everything in a single repository? the fact that you need BOTH frontend and backend to develop the app should lead to the obvious conclusion that this is a single application that needs to stay in a single repository

Certs and testenv folders are only needed to test spid integration, not the whole backend. Front end can be tested locally also without the backend with some changes/additions (see point 3 later in this comment) but it seemed more useful and complete to test also with the real backend. About the repository division, I was not the creator of the repositories so I can’t say but maybe at the time it was created it seemed more clean to have them separated and these problems where not clear, also is not uncommon to have a similar setup with separated repository.
Apart from this, the possible solution I see are the following:

Insert this folders in the front end project as done in this pull request, but this is redundant and so not viable
Keep this folders locally to allow local testing, but this seems a bad and not viable solution as someone who needs to develop and test the front end needs this files too; it can be specified in the readme to go get this folders in backend repository as a quick&dirty solution but again it is far from best practice in my opinion, but it is the fastest solution after point 1
Keep everything separated, change the docker compose and remove these folders from the front end. So if someone needs to test everything he has to clone also the backend repository and start both locally; if someone wants just to use clone the front end, something like https://github.com/typicode/json-server or https://github.com/micromata/http-fake-backend (or something similar if something else is preferred) can be included in the front end to mock apis locally so that everything (except spid login probably) can be tested without backend needed
put everything inside a single repository as requested
I don’t know if there are other possible solutions or if apart from solution 4 one of the other is viable. If not, I need to know how to proceed as I think I can’t/shouldn’t create/delete/change repositories in Team Digitale GitHub account.


fix heredoc indent

Don't indent closing indetifier Heredoc
The closing identifier must begin in the first column of the line.(http://php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc)

Looks good. Can you provide test cases? (I never use heredoc :p)

In old project heredoc is often used. In one of the projects in which I participate, it is also used. Without this fix, the generated classes (with heredoc) will have a syntax error.
I can write tests later.

I'm wondering, whether the Writer is a good place to do that, since you tokenize the code. I would rather see this in two steps, keeping the writer as is?
Also please provide test cases. If this all comes down, I'd love to include this in v0.6.


Last message between sender and receiver in MainActivity is getting UI error because of message  length

Description:

@Ijaiswalshivam assign me


[Monitoring] Dispatch performance and status condition update evaluation

With the quota management feature open-sourced, we need to design a monitoring solution for MCAD that captures skewness in dispatch performance and status condition updates, this would be key for long-running MCAD controller in production environments.

we should create an epic around monitoring.
@asm582 do you have more insight/ cycles to come up with this?


i18n(ru): update translations for actions.mdx

Description (required)
Russian translation for actions.mdx

Lunaria Status Overview
🌕 This pull request will trigger status changes.

Learn more
By default, every PR changing files present in the Lunaria configuration's files property will be considered and trigger status changes accordingly.
You can change this by adding one of the keywords present in the ignoreKeywords property in your Lunaria configuration file in the PR's title (ignoring all files) or by including a tracker directive in the merged commit's description.

Tracked Files

Locale
File
Note

ru
guides/actions.mdx
Localization added, will be marked as complete.

Warnings reference

Icon
Description

🔄
The source for this localization has been updated since the creation of this pull request, make sure all changes in the source have been applied.

Hi @Gennad-r , thank you for this translation!
As you can see, there will be link errors because now that you have translated the section headings, the link slug should be also translated to match the heading text on the page. The same is true when linking to another translated page.
Also, we are now prepping the v5 docs for release, which will have further changes and a lot of content will have changed, including on this page as Ben has been adding more Actions features for the new Astro v5 branch!
So, we are happy to keep this PR open but we will have to wait until it can be a full up-to-date translation of the v5 page.
That will be coming very soon! I'm sorry for the delay, but it will be very nice if we can have this page translated for all the new content, too.

OK @Gennad-r ! V5 is out, so I'm taking off the block, but please do update your branch because the site has changed A LOT since this PR was made. 😅  I'm sorry if there might be conflicts to deal with!


Class IncludeInReportAttribute to set if add or not the property on t…

Hi @fingers10 this are the changes that I was talking about. If you see that this is not need, it's Ok, and we would close the "issue". =)

Hey @rogerospina, Sorry for the delayed response. I was reviewing your PR yesterday. Did you checked your PR with Nested Models? Was it working?

Hi, @fingers10 Don't worry, It's ok. No, I didn't test that case, But I think I wouldn't be a problem, because this attribute it'd be for a specific property.

@rogerospina  Thanks for the PR. I'll work and expand on this further.

@fingers10 Thanks to You.


I am using you tutorial to make a chat app to parody a friends company.  I meant to fork but i have somehow messed things up.  great tutorial by the way!


Added token verification on subsequent requests to check for same or new user

This PR tries to fix an issue with authentication when using the TokenGuard as the authorization method.
When doing multiple requests to the server, the TokenGuard authorizes a user once and for subsequent requests, it hold a reference to the previous authenticated user. This behavior is valid until a new token is provided where the TokenGuard should run the authorization again for the new user.
Therefore, the TokenGuard should check the authorization token on every request with the current authenticated user token before returning the user.
This behavior was found when doing tests on the same endpoint but with different Bearer tokens. The TokenGuard always kept the first user as the authenticated user disregarding the new Bearer tokens that were sent.
Attaching images from tests output showing error reported

This is how the guards works. Why should the TokenGuard behave differently than the others?
https://github.com/laravel/framework/blob/2e68209991e15aca1382ef9a3443d13f2e0d8755/src/Illuminate/Auth/SessionGuard.php#L118-L123
https://github.com/laravel/framework/blob/2e68209991e15aca1382ef9a3443d13f2e0d8755/src/Illuminate/Auth/RequestGuard.php#L50-L55

Hi @sisve. Very good point. Never thought on that matter. The issue arose for me when doing tests on a same endpoint with different user tokens. For example, if in a test you execute the following code
$first_user = factory(User::class)->create();
$second_user = factory(User::class)->create();

$response = $this->json('post', 'endpoint-here', $data, [
    'Authorization' => 'Bearer ' . $first_user->api_token
]);

$response = $this->json('post', 'same-endpoint-here', $data, [
    'Authorization' => 'Bearer ' . $second_user->api_token
]);

you will get the same user when reaching the controller using $request->user(). If for instance one is trying to tests a specific scenario involving two users it can't be done at the moment.

From the look into the code and from your description, it seems you're describing a problem with the test suite that can never be replicated by a real request (because each request spawns a new clean thread), but you're still trying to fix it in the core itself.
I would expect this to be fixed at the test suite side, but it may also conflict with intended behaviour of authenticate only once per test.
At the end, it might have to be left out for the developer to clean the authenticated user if he desired to swap tokens.

Hi @deleugpn. I believe you are right on the spot. The test is using the same thread hence the problem. My approach for the test was to make a different request on the same endpoint with different users. That being said, the first request should be part of my "arrange" scenario and only make the second request and expect the desired result. Time to update my tests then. Thank you all for the input.
I believe this PR can be closed.

Thanks to react php, I think the assumption of having clean isolated processes for each request should be avoided. So this pr is making a valid point after all.
I faced the same issue in my tests and I find I have to use actingAs() method to fix them for now.

As @deleugpn said - the problem here is you are running two "request" cycles inside the one test.
i.e.
$response = $this->json('post', 'endpoint-here',...
$response = $this->json('post', 'same-endpoint-here',...

This doesnt work in the test suite. The framework is only booted "once", but you try to run the request twice. This means on the second request the original settings from the first request are carried over.
You can do this:
$response = $this->json('post', 'endpoint-here',...
$this->refreshApplication();
$response = $this->json('post', 'same-endpoint-here',...

but I've personally not used it.

I believe this PR can be closed.

If you are happy to close this PR @asantibanez - you are able to close it yourself (there should be an option for you in the bottom right corner).

@halaei I'm not sure if it's fair to the framework core (and it's users) to have a single implementation capable of dealing with two situations based on different paradigms. I would expect the core to be just flexible enough in order to allow overriding / swapping implementations in order to fully support the ReactPHP concept.
Kind of a bridge package that changes Laravel just enough to make ReactPHP smooth. If that package should be maintained by Taylor or by ReactPHP or 3rd party is another chapter yet to be written.

I do think this probably need to either be two tests or refresh the application in between your tests. As noted, the other guards work the same way and not sure I would want to change that on a point release.


FAILED:
out/soong/installs-aosp_cf_riscv64_phone.mk:62318: error: overriding commands for target `out/target/product/vsoc_riscv64/system/lib64/libcronet.114.0.5735.84.so', previously defined at out/soong/installs-aosp_cf_riscv64_phone.mk:62314

"try again"? i believe the change in question affected other builds too and was reverted here: https://android-review.googlesource.com/c/platform/external/cronet/+/2657748
(i'm rebuilding now to confirm.)

(yeah, built for me with ToT from this morning. that revert seems to have been the active ingredient.)


Release 5.0

Supersedes #564.
It'd probably be good to ship 5.0, even in the current state, for better or worse.
There will no doubt be bugs but it will at least move things forward.

It's out! 🎉
https://rubygems.org/gems/http/versions/5.0.0

@tarcieri first: thanks for shipping 5.0 👍
One issue I see in the 5.0 release that wasn't in rc3: it seems like although it is mentioned in the changelog:
#593 #592 Support informational (1XX) responses. (@ixti)
That commit is missing from the release, HTTP 100 responses worked with rc3, but stopped working with this 5.0 release.

@jrnk not sure what the problem is. Can you open an issue?

@tarcieri sure! The problem is that the mentioned changes that should be in the 5.0 release are not present :)
I will open an issue.


Remove unused geo_map code in doctor visits

There's still some code that loads an [unused] mapping file  in geo_maps.py that I forgot to remove when I refactored.

closed by #556


What is the rational?

I'm curious what use case you had where the terminal size was needed but not available, such as in a non-interactive shell?
BTW, you can use the POSIX standard utility stty , on everything but Windows from what I can tell, to get the terminal size.
Subwindow of KiTTY
$ stty size
35 128
$ stty size &> x; cat x
35 128

If you just want the cols
$ stty size | cut -d' ' -f2
128

iTerm2
$ stty size
25 78
$ stty size &> x; cat x
25 78

tmux in iTerm2
$ tput cols
78
$ tput lines
24
$ stty size
24 78
$ stty size &> x; cat x
24 78

Apple Terminal
$ tput cols
120
$ tput lines
36
$ stty size
36 120
$ stty size &> x; cat x
36 120

I came here to point this out too.
Note that it's also possible to query the dimensions of terminal windows other than the current one:
$ stty -f /dev/ttys001 size
$ stty -f "`tty`" size

"Rationale"?
Not (just) trying to be an a**hat, I seriously couldn't figure out what the title meant before opening and thought it was math related.
Nonetheless, up-voted.

I needed it for term-size.

// x.js
const childProcess = require('child_process');

childProcess.execFile('stty', ['size'], (error, stdout) => {
	console.log(error || stdout);
});

$ node x.js
Error: Command failed: stty size
stty: stdin isn't a terminal

    at ChildProcess.exithandler (child_process.js:308:12)
    at ChildProcess.emit (events.js:314:20)
    at maybeClose (internal/child_process.js:1022:16)
    at Socket.<anonymous> (internal/child_process.js:444:11)
    at Socket.emit (events.js:314:20)
    at Pipe.<anonymous> (net.js:675:12) {
  killed: false,
  code: 1,
  signal: null,
  cmd: 'stty size'
}

Try this:
const childProcess = require("child_process");

const {stdout: tty} = childProcess.spawnSync("tty", {
	stdio: ["inherit", "pipe", "inherit"],
	encoding: "utf8",
});

childProcess.execFile("stty", ["-f", tty.trim(), "size"], (error, stdout) => {
	console.log(error || stdout);
});

However, it's much easier to use the getters that Node.js provides natively:
const size =
	process.stdout.isTTY ? [process.stdout.columns, process.stdout.rows] :
	process.stderr.isTTY ? [process.stderr.columns, process.stderr.rows] :
	process.stdin.isTTY  ? [process.stdin.columns,  process.stdin.rows]  :
	null;

It cannot use inherit as that could potentially output stuff directly to the users terminal, and a reusable package should not do that.
It has to work even if the code spawning stty is spawned itself. Meaning multiple levels of spawning.
process.stdout.columns is undefined if it's in a spawned file.

The point of this binary is to get the columns and rows no matter what.

It cannot use inherit as that could potentially output stuff directly to the users terminal

Not if you're inheriting only the standard input stream:
 const {stdout: tty} = childProcess.spawnSync("tty", {
-	stdio: ["inherit", "pipe", "inherit"],
+	stdio: ["inherit", "pipe", "pipe"],
 	encoding: "utf8",
 });

The stdio array pertains to STDIN, STDOUT, and STDERR, respectively.

Closing as this is no longer used by term-size: https://github.com/sindresorhus/terminal-size/releases/tag/v4.0.0


Marker Clustering ServerSide

Hi, i have a little problem...
I have 400k points, i used PruneCluster to create Cluster and it very fast, the problem is that i have to send a 400k points json from server to client before to create Cluster with your application...
400k points are equivalent to 26mb and it too big to send to client...
I would like create Cluster on my server and then send only Cluster with your coordinates and counter...
is it possible refactoring code in PHP to run server side?
are there any other solutions?

Hello,

is it possible refactoring code in PHP to run server side?

Yes you can probably do. However if your data is never move or change, you can consider using another algorithm server side, based on https://github.com/mourner/flatbush or similar. PruneCluster is a good algorithm when you don't have that much data and it's dynamic/moving.

What I did is copy the required functions from leaflet.js and include those onto the server.
Following that I created functions on the server side, for requests on "generating clusters", "collecting and doing statistics on members inside of markersArea", and finally "transfering the markers from backend to frontend if spiderfied (expanded from a cluster into markers)".
Then on the frontend I modified the PruneCluster.js to be included on the client side, making it capable of interacting with the services above.
I ended up with a MESSY CODE that processed a .json dataset of 100k points/63MB.
Nevertheless, I'll have to say, IT IS SATISFYING to see it actually works.


vercel deployment not picking up .vercel/output/config.json

@amondnet
Since we switched to building inside the github action, it seems that .vercel/output/config.json is not picked up by vercel anymore.
If we add a custom vercel.json file it will be picked up by vercel but we're not able to properly set up our edge middleware with this file.
Is it possible to not add any vercel.json file to our working directory, and still have your github action send the .vercel/output/config.json to vercel to make sure vercel uses that information?
Question:
Do we need to add vercel.json ? and if so, how to do so in a way it won't clash with what we have at .vercel/output/config.json?
--
perhaps related: @paulrberg #123
--
extra information:
this is our .vercel/output/config.json
{
  "version": 3,
  "routes": [
    {
      "src": "/assets/(.+)",
      "headers": { "cache-control": "public, immutable, max-age=31536000" }
    },
    { "handle": "filesystem" },
    { "src": "/(.*)", "middlewarePath": "main", "continue": true },
    { "src": "^(?:/(.*))$", "headers": { "Location": "/index.html" }, "status": 308 }
  ]
}

this is our folder structure

it seems that .vercel/output/static holds the same files as the dist folder... 🤔
this is the deploy step of our github action
      - name: Deploy App to `preview` environment
        if: needs.setup.outputs.target-environment == 'beta'
        uses: amondnet/vercel-action@v20
        with:
          vercel-token: ${{ secrets.VERCEL_TOKEN }}
          vercel-org-id: ${{ secrets.VERCEL_ORG_ID }}
          vercel-project-id: ${{ secrets.VERCEL_PROJECT_ID_APP }}
          scope: ${{ secrets.VERCEL_ORG_ID }}
          working-directory: packages/app
      - name: Deploy App to `production` environment
        if: needs.setup.outputs.target-environment == 'production'
        uses: amondnet/vercel-action@v20
        with:
          vercel-token: ${{ secrets.VERCEL_TOKEN }}
          vercel-args: '--prod'
          vercel-org-id: ${{ secrets.VERCEL_ORG_ID }}
          vercel-project-id: ${{ secrets.VERCEL_PROJECT_ID_APP }}
          scope: ${{ secrets.VERCEL_ORG_ID }}
          working-directory: packages/app

Hi @mesqueeb, perhaps the better place to ask this question is in the Discussions tab.

@paulrberg I think it might be a bug? for optimal visibility I think issues is the best section! Discussions usually has a longer turn around in my experience.
If you're able to help us out we'd love to sponsor you btw! Or anyone who can help us fix this issue. 😅  we've been stuck on this for almost 8h now trying out various things.

I think the jury is out if this is a bug! But I will let @amondnet decide that.
Thanks for the bounty offer but I don't have the bandwidth to investigate this at the moment.


Parse attachments returned during message search

Looks like this adds the attachments field, correct? Do you mind linking to the Slack docs? I looked over https://api.slack.com/methods/search.messages but could not see it there. Thanks!

It's not documented on that page, but then I don't think the given example is supposed to be exhaustive (it's captioned 'Typical success response'). The API is certainly returning it though, and the thing I need is inside that field, hence the PR :smile:
The only thing I can point to is that https://api.slack.com/methods/search.messages says "The matching items are returned as hashes containing contextual messages." and https://api.slack.com/docs/message-attachments#attachment_structure says "Messages can have zero or more attachments, defined as an array."

Fair enough, you've convinced me. The Slack docs can be frustrating at times, thank you for the links/additional details! :)


Mixed content on load image from xtremmedia

Error warning in browser when i try to get a image from xtremmedia.

I cannot reproduce the error.


RN 0.60 & Windows 10 Memory leak

ReactNative 0.60 didn't start the server on Windows 10. After a long time, all RAM has been used.

React Native version:
System:
OS: Windows 10
CPU: (8) x64 Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz
Memory: 5.98 GB / 15.85 GB
Binaries:
Node: 12.5.0 - C:\Program Files\nodejs\node.EXE
Yarn: 1.16.0 - C:\Program Files (x86)\Yarn\bin\yarn.CMD
npm: 6.9.0 - C:\Program Files\nodejs\npm.CMD
IDEs:
Android Studio: Version  <IP_ADDRESS> AI-183.6<IP_ADDRESS>22156
react-native: 0.60.0
Steps To Reproduce

Get Windows 10.
react-native init Project.
cd /Project && npm start.

Describe what you expected to happen:
Project starts normally
Actual behavior:
Huge memory leak, unexpected termination
Related to Issue 25551

Can confirm this is also happening on Linux with a freshly created project.
React Native version:
System:
OS: Linux 5.2 Arch Linux undefined
CPU: (12) x64 Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz
Memory: 11.20 GB / 15.58 GB
Shell: 5.7.1 - /usr/bin/zsh
Binaries:
Node: 12.5.0 - ~/.nvm/versions/node/v12.5.0/bin/node
Yarn: 1.16.0 - /usr/bin/yarn
npm: 6.10.0 - ~/.nvm/versions/node/v12.5.0/bin/npm
IDEs:
Android Studio: 3.4 AI-183.6<IP_ADDRESS>22156
npmPackages:
react: 16.8.6 => 16.8.6
react-native: 0.60.0 => 0.60.0
Steps To Reproduce

Create fresh project using npx react-native init <project-name>
Start the bundler with npm start

louisch/TestMemoryLeak

Same problem here, the computer crashes.

OS: Linux 4.15 elementary OS 5.0 Juno
CPU: (4) x64 Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz
Memory: 5.89 GB / 7.58 GB
Shell: 4.4.20 - /bin/bash

Binaries:
Node: 12.6.0 - /usr/bin/node
Yarn: 1.15.2 - ~/.yarn/bin/yarn
npm: 6.9.0 - /usr/bin/npm
SDKs:
Android SDK:
API Levels: 28
Build Tools: 28.0.3
System Images: android-28 | Google APIs Intel x86 Atom, android-28 | Google Play Intel x86 Atom
npmPackages:
react: 16.8.6 => 16.8.6
react-native: 0.60.3 => 0.60.3
npmGlobalPackages:
react-native-cli: 2.0.1

Same here

System:
OS: macOS 10.14.5
CPU: (4) x64 Intel(R) Core(TM) i5-5350U CPU @ 1.80GHz
Memory: 1.44 GB / 8.00 GB
Shell: 3.0.2 - /usr/local/bin/fish
Binaries:
Node: 12.6.0 - /usr/local/bin/node
Yarn: 1.16.0 - /usr/local/bin/yarn
npm: 6.9.0 - /usr/local/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
SDKs:
iOS SDK:
Platforms: iOS 12.2, macOS 10.14, tvOS 12.2, watchOS 5.2
Android SDK:
API Levels: 28
Build Tools: 28.0.3
Android NDK: 17.1.4828580
IDEs:
Xcode: 10.2/10E125 - /usr/bin/xcodebuild
npmPackages:
react: ^16.8.6 => 16.8.6
react-native: 0.60.3 => 0.60.3
npmGlobalPackages:
react-native-cli: 2.0.1

@hedikasmanto No problems with macOS 10.14.5, seems something with system setup

System:
OS: macOS 10.14.5
CPU: (6) x64 Intel(R) Core(TM) i5-8500B CPU @ 3.00GHz
Memory: 19.38 GB / 32.00 GB
Shell: 3.2.57 - /bin/bash
Binaries:
Node: 10.16.0 - /usr/local/bin/node
npm: 6.9.0 - /usr/local/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
SDKs:
iOS SDK:
Platforms: iOS 12.2, macOS 10.14, tvOS 12.2, watchOS 5.2
Android SDK:
API Levels: 28, 29
Build Tools: 28.0.3
System Images: android-29 | Google APIs Intel x86 Atom
IDEs:
Android Studio: 3.4 AI-183.6<IP_ADDRESS>92245
Xcode: 10.2.1/10E1001 - /usr/bin/xcodebuild
npmPackages:
react: 16.8.6 => 16.8.6
react-native: 0.60.0 => 0.60.0
npmGlobalPackages:
react-native-cli: 2.0.1

Hmm. Confused. But if i downgrade to 0.59.x. It back to normal and no memory leak occurs

Seems to be dependent on the node version. I'm getting memory leaks with node v12.6, but not node v10.16.

Seems to be dependent on the node version. I'm getting memory leaks with node v12.6, but not node v10.16.

I tried to reproduce the issue with node 10 and 12 (via nvm) on Mac 10.14.5. Still no leaks.

Maybe a watchman issue? I notice all the reports here except @hedikasmanto don't have watchman installed.

This is a Node >=12.5 issue, see: https://github.com/react-native-community/cli/issues/485#issuecomment-509210382. Feel free to send these report to the Node.js team


[Bug]: Failed action workflow job affecting resource usage

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
Hi I saw that in your repository there are multiple action workflows, that are used, however there is also a duplicate action workflow that is executed in a time schedule manner so to generate a site of different configurations so I would like to fix this, by removing the original action workflow and the utils files that are being by that particular action workflow
Add Screenshots

What browsers are you seeing the problem on?
Chrome
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC contributor
[X] I want to work on this issue
[X] I'm willing to provide further clarification or assistance if needed.

Hi @mansiruhil13 can you assign me this issue with proper gssoc & hacktoberfest labels.

Hi @mansiruhil13 can you assign me this issue with proper gssoc & hacktoberfest labels.

Any updates on the Bug fix.


aws-dynamodb: confusing Table construct API

Reported on behalf of @millems:
As a customer, it’s unclear whether a particular setting on a construct will be in the properties or a separate setter on the object.
Some configuration values are only available in the properties:
new Table(this, "MyTableConstruct",
          TableProps.builder()
                    .withTableName("ReleaseConfig")
                    .build());

Some configuration values are only available as setters on the construct:
new Table(this, "MyTableConstruct",
          TableProps.builder()
                    .build())
        .addPartitionKey("MyPartitionKey", KeyAttributeType.String);

Some configuration values are available in both places:
new Table(this, "MyTableConstruct",
          TableProps.builder()
                    .withReadAutoScaling(AutoScalingProps.builder().withTargetValue(5).build())
                    .build())
        .addReadAutoScaling(AutoScalingProps.builder().withTargetValue(5).build());

This inconsistency requires me to check multiple locations for an option. A few solutions to this problem, from the perspective of a fake, naïve customer that doesn’t know how the CDK works:

Create just one place for things to be configured (eg. remove properties and just use setters).
Support all options in both places.
Support all options in one of the places, with the other just being a subset of the other.

My preference would be (1) followed by (3), since (2) is just a worse form of (1).

What's the issue ID of the duplicate?

Duplicate of #1102.


Add retry middleware for handling request retries

This pull request adds a new retry middleware for handling request retries. The middleware retries the request a maximum of maxRetries times with a delay of interval between each retry. If the request succeeds at any retry, the middleware returns nil. If all retries fail, it returns the last error encountered. The pull request also includes unit tests for the retry middleware and refactors the retry_test.go file to use concise error handling syntax.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 92.65%. Comparing base (16225d8) to head (c2217ad).

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #93      +/-   ##
==========================================
+ Coverage   92.51%   92.65%   +0.14%
==========================================
  Files          22       23       +1
  Lines         908      926      +18
==========================================
+ Hits          840      858      +18
  Misses         50       50
  Partials       18       18

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


What features will this have over SeqViz?

Hi @bugzpodder , we have tried to expand the actual SeqViz with:

Right Click Menu to copy the selected part of the sequence (or choose to copy its complement/reverse complement or translation)
Add a new viewer named: "Alignment" to compare to dna/aa sequences.

Obviously our intent is to extend the library without going to take credit away from the people who developed SeqViz.
Let me know if I have answered your questions

Thank you.  I am looking for a feature that allows one line sequence viewer rather than multiple rows.  I am hoping to PR back to the original seqviz repo at this point


Ministry User Testing Report Out

Title of ticket: Ministry User Testing Report Out
Description
Create a Report out of the Ministry User Research and present at Demo
Dependencies
Completion of all research sessions with MUNI, JERI, LBR, TACS, FIN, HTH, ENV
DOD

[x]  Create Miro Report Out Slides
[x]  Record changes requested to prototype as action items
[x]  Present in Demo

Attaching Miro Board Link containing all Report Out: https://miro.com/app/board/o9J_l6d8LwM=/


NullPointerException with @SubjectPresent annotation

Using Play 2.5.6, and updated to 2.5.9 to see if that would fix the problem.  Deadbolt-2 2.5.2.  Started with Auth0 integration example and updating for Play 2.5.
Authentication is working as is the callback.  Redirecting to Application.index is causing a NullPointerException.
It appears in DefaultSubjectCache.apply() that deadboltHandler is null.
As part of the updating to Play 2.5, I've had to pass in an HttpExecutionContext into some of the CompletionStage method calls because of some cases where the HttpContext couldn't be found. I don't know why this was a problem in Play 2.5 and not 2.4. Maybe this is something similar.
Thanks

Can you post your implementation of be.objectify.deadbolt.java.cache.HandlerCache?  This is likely the location of the error.

Looks like it part of the problem. MyHandlerCache seems to be binding correctly at startup, and deadboltHandler is there. But when it encounters @SubjectPresent in the controller, deadboltHandler is now null.
package modules;

import be.objectify.deadbolt.java.TemplateFailureListener;
import be.objectify.deadbolt.java.cache.HandlerCache;
import play.api.Configuration;
import play.api.Environment;
import play.api.inject.Binding;
import play.api.inject.Module;
import scala.collection.Seq;
import security.MyHandlerCache;
import security.MyDeadboltHandler;

import javax.inject.Singleton;

public class CustomDeadboltHook extends Module
{
	@Override
	public Seq<Binding<?>> bindings(final Environment environment,
	                              final Configuration configuration) {

			return this.seq(bind(MyDeadboltHandler.class).toSelf().eagerly(),
                    bind(HandlerCache.class).to(MyHandlerCache.class).eagerly());
	}
}
package security;

import java.util.HashMap;
import java.util.Map;
import javax.inject.Inject;
import javax.inject.Singleton;
import be.objectify.deadbolt.java.DeadboltHandler;
import be.objectify.deadbolt.java.cache.HandlerCache;

@Singleton
public class MyHandlerCache implements HandlerCache {

    private final MyDeadboltHandler defaultHandler;

    private final Map<String, DeadboltHandler> handlers = new HashMap<>();

    @Inject
    public MyHandlerCache(final MyDeadboltHandler defaultHandler) {

        this.defaultHandler = defaultHandler;
        handlers.put(defaultHandler.handlerName(), defaultHandler);

    }

    @Override
    public DeadboltHandler apply(String handlerKey) {
        // This simple example only uses one DeadboltHandler, so we don't really need to support keyed handlers
        return handlers.get(handlerKey);
    }

    @Override
    public DeadboltHandler get() {
        return defaultHandler;
    }
}

Does it work with other constraints, or are you only using SubjectPresent?
If you only have one handler, you don't need the handlers map in the
cache, so you can return your default handler from apply.  If this fixes
the problem, it implies the name you're using for the default handler in
application.conf is wrong.
On Mon, 17 Oct 2016, 19:08 skiotterjeffa<EMAIL_ADDRESS>wrote:

Looks like it part of the problem. MyHandlerCache seems to be binding
correctly at startup, and deadboltHandler is there. But when it encounters
@SubjectPresent in the controller, deadboltHandler is now null.
package modules;
import be.objectify.deadbolt.java.TemplateFailureListener;
import be.objectify.deadbolt.java.cache.HandlerCache;
import play.api.Configuration;
import play.api.Environment;
import play.api.inject.Binding;
import play.api.inject.Module;
import scala.collection.Seq;
import security.MyHandlerCache;
import security.MyDeadboltHandler;
import javax.inject.Singleton;
public class CustomDeadboltHook extends Module
{
@Override
public Seq<Binding<?>> bindings(final Environment environment,
final Configuration configuration) {
        return this.seq(bind(MyDeadboltHandler.class).toSelf().eagerly(),
                bind(HandlerCache.class).to(MyHandlerCache.class).eagerly());
}

}
package security;
import java.util.HashMap;
import java.util.Map;
import javax.inject.Inject;
import javax.inject.Singleton;
import be.objectify.deadbolt.java.DeadboltHandler;
import be.objectify.deadbolt.java.cache.HandlerCache;
@Singleton
public class MyHandlerCache implements HandlerCache {
private final MyDeadboltHandler defaultHandler;

private final Map<String, DeadboltHandler> handlers = new HashMap<>();

@Inject
public MyHandlerCache(final MyDeadboltHandler defaultHandler) {

    this.defaultHandler = defaultHandler;
    handlers.put(defaultHandler.handlerName(), defaultHandler);

}

@Override
public DeadboltHandler apply(String handlerKey) {
    // This simple example only uses one DeadboltHandler, so we don't really need to support keyed handlers
    return handlers.get(handlerKey);
}

@Override
public DeadboltHandler get() {
    return defaultHandler;
}

}
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/schaloner/deadbolt-2-java/issues/31#issuecomment-254269922,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAb1ejlkITOBz6HY7WC_ZZYgf8l9OgyTks5q06uAgaJpZM4KYLI0
.

--
Steve Chaloner
<EMAIL_ADDRESS>+32 (0)494 59 13 20
Sharpen your cutting edge...
http://www.objectify.be

returning defaultHandler from apply() solved the problem.
I don't have a default handler named in application.conf.  I thought that with Deadbolt 2.5.x, that was supposed to move to DI and load them in a module?
Investigating further, the key used in MyHandlerCache for the default handler is defaultHandler.handlerName(), which is set to "security.MyDeadboltHandler" upon application startup. In apply(), the passed in handlerKey is "defaultHandler", presumably from be.objectify.deadbolt.java.ConfigKeys.DEFAULT_HANDLER_KEY.  So, the different keys was why I wasn't getting a DeadboltHandler from apply().
I went into my security.HandlerKeys' enum and changed the default key to "security.MyDeadboltHandler" from be.objectify.deadbolt.java.ConfigKeys.DEFAULT_HANDLER_KEY` but that didn't change the value of "defaultHandler" that is passed into apply().
Is that the intended behavior? I could change the key value in MyHandlerCache from using defaultHandler.handlerName() to be.objectify.deadbolt.java.ConfigKeys.DEFAULT_HANDLER_KEY. Would you advise that approach?

I see handlers.put(HandlerKeys.DEFAULT.key, defaultHandler); in another example.  I'm going assume this approach is recommended.

The problem occurs here: https://github.com/schaloner/deadbolt-2-java/blob/master/code/app/be/objectify/deadbolt/java/actions/AbstractDeadboltAction.java#L95
It's because the default value of handlerKey in each constraint annotation is ConfigKeys.DEFAULT_HANDLER_KEY because null is not permitted.  To make it more robust, I'll update the following in AbstractDeadboltAction.
protected <C extends DeadboltHandler> DeadboltHandler getDeadboltHandler(final String handlerKey)
{
    LOGGER.debug("Getting Deadbolt handler with key [{}]",
                 handlerKey);
    return handlerCache.apply(handlerKey);
}

will instead return this
return ConfigKeys.DEFAULT_HANDLER_KEY.equals(handlerKey) ? handlerCache.get()
                                                         : handlerCache.apply(handlerKey);

This will bring annotation-driven constraints in line with templates, where the handler cache is used directly;
@(handler: DeadboltHandler = handlerCache.get(), ...)

I'll update this thread when it's released.

Version 2.5.3 is available with this fix.  If you breakpoint your cache implementation, you should now see that get() is invoked in place of apply().

Documentation updated: https://deadbolt-java.readme.io/docs/integrating-deadbolt#exposing-the-handlers

Thank you, Steve. Will let you know if there are any issues.


Implement basic GUI for QTS

It seems that 1.8 has now built-in web service for controlling Tailscale node. I would need to check if it is possible to have some kind of authentication so that this service could only be exposed to QNAP user.

It seems that 1.8 has now built-in web service for controlling Tailscale node. I would need to check if it is possible to have some kind of authentication so that this service could only be exposed to QNAP user.

I tried to integrate the Tailscale web interface with QTS and it is in general possible. However, it seems that tailscale web command itself is broken (see https://github.com/tailscale/tailscale/issues/1939).
We can also have authentication - assuming that QNAP proxies connections to Tailscale web UI and if Tailscale could detect that it is running inside QNAP (by adding a new variant in tailscale/versions), then it recover session cookie from the browser and validate it with /home/httpd/cgi-bin/authLogin.cgi using QUERY_STRING="SID=XXX" environment variable. This requires some additional implementation in Tailscale itself.

Tailscale login has been implemented in a web ui, using tailscale web -cgi


Default realm role is no longer works and required alignment with the keycloak changes

We need to align the changes with default role processing for realm, since isDefault: true flag for KeycloakRealm is no longer works:

Default roles processing improvement
Default roles are now internally stored as composite roles of a new role usually named default-roles-. Instead of assigning both realm and all client default roles directly to newly created users or users imported through Identity Brokering, just the role is assigned to them and the rest of default roles are assigned as effective roles. This change improves performance of default roles processing, especially with larger number of clients, because it is no longer necessary to go through all clients.

We should reflect these changes in the realm controller: https://github.com/epam/edp-keycloak-operator/blob/4ac64f45d1e290bb48f357422f134a2d751389b2/pkg/client/keycloak/adapter/gocloak_adapter_roles.go#L154

Fixed


docs: actualize list of projects which use mediasdk

Signed-off-by: Dmitry Rogozhkin<EMAIL_ADDRESS>

CI issue is known and already addressed.


Improve fee transfer execution

Description
For the fees we use almost the same code as the blockifier and it's not optimal. We should improve things and remove shortcuts that were taken. Ideally those PRs could also be submitted to the blockifier.
Acceptance criteria

The code for the fees is cleaned up and improved

hey @LucasLvy, anyone on this?

hey @LucasLvy, anyone on this?

Please take it.


Fixed issue-1153

Signed-off-by: Koustubh Karmalkar<EMAIL_ADDRESS>Description
Visualization issue of vertical / horizontal bar charts
Issues Resolved
https://github.com/opensearch-project/observability/issues/1153
Check List

[ ] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

merged in main hence closed


Problems with Generating for Server Cert

I didn't find the Error.
I want to create a new certificate for the site, its the same name like the hostname.
But i want it to use as Server Certifiacate, for Plesk and Something, but i get always this Messge in Plesk.
Plesk:
An unexpected error occurred:
KeyError: 'vrt_hst'
Please see the logfiles in /opt/psa/var/modules/letsencrypt/logs for more details.```

The Logs are longer, but the rest of the Log is uninteresting. Only funny that tail say he didn't find the log, but can write in a existing log.

**Logs:**
```plain
2015-12-31 14:48:30,498:DEBUG:letsencrypt.error_handler:Encountered exception: Traceback (most recent call last):
  File "/usr/local/psa/var/modules/letsencrypt/venv.qKGL3/local/lib/python2.7/site-packages/letsencrypt/auth_handler.py", line 115, in _solve_challenges dv_resp = self.dv_auth.perform(self.dv_c)
File "/usr/local/psa/var/modules/letsencrypt/venv.qKGL3/local/lib/python2.7/site-packages/letsencrypt_plesk/configurator.py", line 75, in perform
    responses.append(self.plesk_challenges[domain].perform(x))
  File "/usr/local/psa/var/modules/letsencrypt/venv.qKGL3/local/lib/python2.7/site-packages/letsencrypt_plesk/challenge.py", line 31, in perform
    content=validation.encode())
  File "/usr/local/psa/var/modules/letsencrypt/venv.qKGL3/local/lib/python2.7/site-packages/letsencrypt_plesk/challenge.py", line 47, in _put_validation_file
    hosting_props = api_result['data']['hosting']['vrt_hst']['property']
KeyError: 'vrt_hst'

2015-12-31 14:48:30,498:DEBUG:letsencrypt.error_handler:Calling registered functions
2015-12-31 14:48:30,498:INFO:letsencrypt.auth_handler:Cleaning up challenges
2015-12-31 14:48:30,499:DEBUG:letsencrypt.cli:Exiting abnormally:
Traceback (most recent call last):
  File "/opt/psa/var/modules/letsencrypt//venv/bin/letsencrypt", line 11, in <module>
    sys.exit(main())
  File "/usr/local/psa/var/modules/letsencrypt/venv.qKGL3/local/lib/python2.7/site-packages/letsencrypt/cli.py", line 1396, in main
    return args.func(args, config, plugins)
  File "/usr/local/psa/var/modules/letsencrypt/venv.qKGL3/local/lib/python2.7/site-packages/letsencrypt/cli.py", line 557, in run
    lineage = _auth_from_domains(le_client, config, domains)
  File "/usr/local/psa/var/modules/letsencrypt/venv.qKGL3/local/lib/python2.7/site-packages/letsencrypt/cli.py", line 402, in _auth_from_domains
    lineage = le_client.obtain_and_enroll_certificate(domains)
  File "/usr/local/psa/var/modules/letsencrypt/venv.qKGL3/local/lib/python2.7/site-packages/letsencrypt/client.py", line 283, in obtain_and_enroll_certificate
    certr, chain, key, _ = self.obtain_certificate(domains)
  File "/usr/local/psa/var/modules/letsencrypt/venv.qKGL3/local/lib/python2.7/site-packages/letsencrypt/client.py", line 266, in obtain_certificate
    return self._obtain_certificate(domains, csr) + (key, csr)
  File "/usr/local/psa/var/modules/letsencrypt/venv.qKGL3/local/lib/python2.7/site-packages/letsencrypt/client.py", line 224, in _obtain_certificate
    authzr = self.auth_handler.get_authorizations(domains)
  File "/usr/local/psa/var/modules/letsencrypt/venv.qKGL3/local/lib/python2.7/site-packages/letsencrypt/auth_handler.py", line 80, in get_authorizations
    cont_resp, dv_resp = self._solve_challenges()
  File "/usr/local/psa/var/modules/letsencrypt/venv.qKGL3/local/lib/python2.7/site-packages/letsencrypt/auth_handler.py", line 115, in _solve_challenges
    dv_resp = self.dv_auth.perform(self.dv_c)
  File "/usr/local/psa/var/modules/letsencrypt/venv.qKGL3/local/lib/python2.7/site-packages/letsencrypt_plesk/configurator.py", line 75, in perform
    responses.append(self.plesk_challenges[domain].perform(x))
  File "/usr/local/psa/var/modules/letsencrypt/venv.qKGL3/local/lib/python2.7/site-packages/letsencrypt_plesk/challenge.py", line 31, in perform
    content=validation.encode())
  File "/usr/local/psa/var/modules/letsencrypt/venv.qKGL3/local/lib/python2.7/site-packages/letsencrypt_plesk/challenge.py", line 47, in _put_validation_file
    hosting_props = api_result['data']['hosting']['vrt_hst']['property']
KeyError: 'vrt_hst' ```

@Huskynarr The site you created seems to have no physical hosting.
We should certainly improve error reporting in this case.

@Huskynarr The site you created seems to have no physical hosting.
We should certainly improve error reporting in this case.

What do you mean exactly with Physical Hosting?
I have it as Site and hosting a page there.

In Plesk interface click Hosting Settings under the domain, here you will see a Hosting type field - it should be Website in order to use Let's Encypt.

That was the Problem. :)
Now i have a another Problem, but this i a Error from Letsencrypt. :D

Hi, I would like to use let's encrypt with Odoo, which uses the port 8069, there is any way to get it to work...


Document Organization/Project-level abstraction for Git/BitBucket repositories

See ##779

Hopefully #831 resolves this.

This looks resolved as #831 has been merged.


feat: update row, announcer, column

Blackduck scan failure details
Summary: 0 violations, 0 files pending approval, 2 files pending identification.

Protex Server Path: /home/blackduck/github/Lightning-UI-Components/17/rdkcentral/Lightning-UI-Components

Commit: 824d21191caecacd662ef15ae45879babf26f210

Report detail: gist

Blackduck scan failure details
Summary: 0 violations, 0 files pending approval, 2 files pending identification.


Pipelining and connection sharing

I'm finding the new magic with Redis hiding a connection pool slightly confusing.
If I do
info, key_count = await asyncio.gather(redis.incr('foo'), redis.incr('foo'))

Am I guaranteed that both incr calls will use the same connection and be pipelined?
The docs are ambiguous: they say

execute every command on random connection

but also

Both tasks will send commands through same connection without acquiring (locking) it first.

Is the connection choice random or somehow grouped for a single task?
Or do I need to do
    with await redis as r:
        info, key_count = await asyncio.gather(r.info(), r.dbsize())

?

Pipelining features is kept, but at some cost:

connections list is rotated after each command,
so these two command may be sent through different connections if pool.size is greater than 1;
grouping by task is not reliable — tornado has issue with asyncio tasks (need to check if its fixed already);
also I'd like to make this logic a bit more smart, ie: pick a connection based on command info.

with await redis as r:
    ....

This context manager must be used when you want to be sure that all commands are sent
through one connection; all other tasks using redis directly will not touch this connection.
This is especially important when you need to use blocking command,
in this case you should definitely send it through "isolated" connection

Thanks, you'll need to update the docs for pipelinging here

That pipeline uses single connection to send all commands. What notes do you want me to put there?

>>> #
>>> # The same can be done without pipeline:
>>> #
>>> fut1 = redis.incr('foo')    # the 'INCRY foo' command already sent
>>> fut2 = redis.incr('bar')
>>> await asyncio.gather(fut1, fut2)
[2, 2]

This is wrong, it should use an isolated connection.

Ok. I'll revise it


Removing pod sandbox fails due to .../userdata/shm: device or resource busy

Description
I create pod sandbox and I remove it right away. The removal fails.

Steps to reproduce the issue:

Have podsandbox-config.json file with content

{
    "metadata": {
        "name": "test-sandbox",
        "namespace": "default",
        "attempt": 1,
        "uid": "somerandomuid"
    },
    "linux": {
    }
}

Run crictl runp podsandbox-config.json | xargs crictl rmp

Describe the results you received:
FATA[0000] removing the pod sandbox "1bf62f11be134c6793628db4e75d65b93b9499c2d64fcf172a9c8b70b6f4bab3" failed: rpc error: code = Unknown desc = failed to remove pod sandbox 1bf62f11be134c6793628db4e75d65b93b9499c2d64fcf172a9c8b70b6f4bab3: remove /var/run/containers/storage/overlay-containers/1bf62f11be134c6793628db4e75d65b93b9499c2d64fcf172a9c8b70b6f4bab3/userdata/shm: device or resource busy

Describe the results you expected:
Removed sandbox 1bf62f11be134c6793628db4e75d65b93b9499c2d64fcf172a9c8b70b6f4bab3

Additional information you deem important (e.g. issue happens only occasionally):
Output of crio --version:
crio version 1.10.0-dev
commit: "712f3b8cf14cbbac298f3ccc020677ac2a65fa75"

Additional environment details (AWS, VirtualBox, physical, etc.):
This is with CRI-O built from master and cri-tools built from master (a6dd109ef238be53ab9a7a5c4642f8a1d4ba1bd6), with crictl configured with
# echo 'runtime-endpoint: unix:///var/run/crio/crio.sock' > /etc/crictl.yaml

Even if I do the crictl rmp manually after a while and I wait until crictl pods shows SANDBOX_READY, I get the same failure.
However, rerunning the crictl rmp passes.

However, the directory /var/run/containers/storage/overlay-containers/.../userdata stays around and an attempt to remove it fails with
# rm -rf /var/run/containers/storage/overlay-containers/1e68b5ede53e07bc3e4c226f769d74a57f1a89afc1be45926f02c9974f14b129/userdata
rm: cannot remove '/var/run/containers/storage/overlay-containers/1e68b5ede53e07bc3e4c226f769d74a57f1a89afc1be45926f02c9974f14b129/userdata/shm': Device or resource busy

After a while, there is ton of these .../userdata/shm mountpoints left around which does not seem healthy.

We have cleaned this up on podmon.  It looks like a cleanup path is not happening if you just create the sandbox without creating a container, or does this leak happen both ways.

I see this even if I create and start container in that pod.
I'm not sure I follow your reference to podmon ...

The code looks correct.  But hard to say.
In sandbox_stop.go
	// unmount the shm for the pod
	if sb.ShmPath() != "/dev/shm" {
		// we got namespaces in the form of
		// /var/run/containers/storage/overlay-containers/CID/userdata/shm
		// but /var/run on most system is symlinked to /run so we first resolve
		// the symlink and then try and see if it's mounted
		fp, err := symlink.FollowSymlinkInScope(sb.ShmPath(), "/")
		if err != nil {
			return nil, err
		}
		if mounted, err := mount.Mounted(fp); err == nil && mounted {
			if err := unix.Unmount(fp, unix.MNT_DETACH); err != nil {
				return nil, err
			}
		}
	}

If we add debug to this code to see if the paths are right and then code is actually being executed.

This could be due to the shm leaking into other mount namespace.
@adelton When you hit this failure, can you grep for that particular path in other processes?
grep path /proc/*/mountinfo
And then see get a list of those processes.
Also, are you testing on RHEL or Fedora?
We can use oci-umount to prevent leaks.

That grep find the path in /proc/*/mountinfo in all processes in the system.
This is on Fedora 27 with kernel-4.15.7-300.fc27.x86_64.

@adelton Can you enable oci-umount but with these paths in the config? https://github.com/projectatomic/oci-umount/commit/0ff3084750611396c5da2c16f4629f5c35de12d5
Also, you would need to make sure that this file is present:
[mrunalp@localhost cri-o]$ cat /usr/share/containers/oci/hooks.d/oci-umount.json
{
    "hasbindmounts": true,
    "hook": "/usr/libexec/oci/hooks.d/oci-umount",
    "stage": [ "prestart" ]
}

And crio.conf has this setting:
hooks_dir_path = "/usr/share/containers/oci/hooks.d"

I can reproduce this issue as well on Fedora 27. I changed the oci-umount.json file as described (the other changes were already present) and sudo crictl rms started working.

@dghubble Thanks for the report. Glad that oci-umount worked :)

Is it expected that CRI-O functionality would depend on these external hooks that it does not ship?

Does that mean we can close this.

adelton, this is also required for docker to work correctly. Leaked mount points are a fact of life, this is not something we can control.  We should make oci-umount a requirement of the cri-o package though.

Hmm, when I append
/var/run/containers/storage/*

to /etc/oci-umount.conf, I no longer see the error. Having just the /run/containers/storage/* from https://github.com/projectatomic/oci-umount/commit/0ff3084750611396c5da2c16f4629f5c35de12d5 per https://github.com/kubernetes-incubator/cri-o/issues/1453#issuecomment-373115726 is not enough, in spite of the fact that
# ls -ld /var/run
lrwxrwxrwx. 1 root root 6 Apr  5 05:38 /var/run -> ../run

Should I file pull requests against https://github.com/projectatomic/oci-umount to also add the /var/run/... path? Or should something else (CRI-O?) be changed to actually use the /run and not /var/run location?

It's even weirder. Thinks used to work with that /var/run/containers/storage/* for a while, namely when there were other pods still running on the machine.
However, when I remove all the pods and containers so that crictl pods, crictl ps -a, and mount | grep userdata don't list anything, running that
crictl runp podsandbox-config.json | xargs crictl rmp

fails again. The error message is
FATA[0000] removing the pod sandbox "921d9d5a5f2e1f87eb26d6620d3a91fd9bd0a69efea8ba56680581a8869b361e" failed: rpc error: code = Unknown desc = failed to remove pod sandbox 921d9d5a5f2e1f87eb26d6620d3a91fd9bd0a69efea8ba56680581a8869b361e: remove /var/run/containers/storage/overlay-containers/921d9d5a5f2e1f87eb26d6620d3a91fd9bd0a69efea8ba56680581a8869b361e/userdata/shm: device or resource busy

and I see
# mount | grep userdata
shm on /run/containers/storage/overlay-containers/921d9d5a5f2e1f87eb26d6620d3a91fd9bd0a69efea8ba56680581a8869b361e/userdata/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,seclabel,size=65536k)

(so it's (reported) mounted under /run while the error from crictl talks about /var/run).
When I run the
crictl runp podsandbox-config.json | xargs crictl rmp

again, it fails with
FATA[0000] removing the pod sandbox "31cbb20b282c737d19842b5cf1eb701497f22c394ed30fde4d88250a0126f14d" failed: rpc error: code = Unknown desc = failed to remove pod sandbox 31cbb20b282c737d19842b5cf1eb701497f22c394ed30fde4d88250a0126f14d: remove /var/run/containers/storage/overlay-containers/31cbb20b282c737d19842b5cf1eb701497f22c394ed30fde4d88250a0126f14d/userdata/shm: device or resource busy

and I see
# mount | grep userdata
shm on /run/containers/storage/overlay-containers/31cbb20b282c737d19842b5cf1eb701497f22c394ed30fde4d88250a0126f14d/userdata/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,seclabel,size=65536k)

-- the original 921d9d5a5f2e1f87eb26d6620d3a91fd9bd0a69efea8ba56680581a8869b361e is now gone and 31cbb20b282c737d19842b5cf1eb701497f22c394ed30fde4d88250a0126f14d stays around. So it looks like something (oci-umount?) is unmounting something, just not the mountpoint we'd care about.

@rhvgoyal WDYT?
@adelton Open a PR for oci-umount for /var/run.

So what is the problem? We are trying to remove a container/pod and that fails because associated mount point is busy? If shm is still mounted on, that directory removal will fail. So first thing is to figure out why this  shm is still mounted on.

@adelton As @rhatdan mentioned, there is proper logic for unmounting in the sandbox-stop.go. And this unmounting logic is not there in the sandbox removal code flow. You faced this issue because you were trying to remove the sandbox without stopping it. runp -> stopp -> rmp is the expected call flow.
I think this issue can be closed.

Logic should be crictl stopp then crictl rmp. Issue seems resolved, closing.

I confirm that
crictl runp podsandbox-config.json | while read i ; do crictl stopp $i ; crictl rmp $i ; done

works with
cri-tools-1.0.0-2.alpha.0.git653cc8c.fc28.x86_64
cri-o-1.11.2-1.git3eac3b2.fc28.x86_64
runc-1.0.0-68.dev.git6635b4f.fc28.x86_64

But it still feels like stopp should be done automatically before the rmp -- after all, if I remove the sandbox, there is no longer any expectation that it should continue running, is there? Or there should be a -f option to force the removal, while refusing to remove sandbox which is not stopped.


Authorization Content Validation Issue for github.io website

Section link1:

Reason:
Format validation Issue: Text exceeds page size.

Section link1:

Reason:
Format validation Issue: Extra symbols _.
@rohit-ganguly, @lmazuel for notification.

Close this issue as we'll put it into a summarzied one.


deploy: Raise Maven version to 0.13.1

I went over the changelog and verified that we only fixed bugs on main since the last release.