Is it safe to use functools.lru_cache in FastAPI app?

In an example in the documentation,  a functools.lru_cache is used for caching (in memory) an object that is shared across many requests, in order to avoid reading from disk once per user request.
The question is: in a more general setting where the cached function called has several arguments and the corresponding endpoint receives many concurrent requests, is it recommended to use functools.lru_cache as proposed within a FastAPI app even though it is not thread-safe?
from fastapi import FastAPI
import functools

app = FastAPI()

@functools.lru_cache
def make_slow_query(date: str) -> str:
    data = ...
    return data

@app.get("/data")
def get_data(date: str):
    return {
        "data": make_slow_query(date),
        ...
    }

Edit
Is it the usage of Depends what makes it "valid"? or could it be implemented without Depends (as above)?
from fastapi import FastAPI, Depends
import functools

app = FastAPI()

@functools.lru_cache
def make_slow_query(date: str) -> str:
    data = ...
    return data

@app.get("/data")
def get_data(queried_data: str = Depends(make_slow_query)):
    return {
        "data": queried_data,
        ...
    }

Thank you in advance.

Yes, that is absolutely fine.
In fact, the docs recommend it for things like settings. (Link)
Example code:
from functools import lru_cache

from fastapi import Depends, FastAPI

from . import config

app = FastAPI()

@lru_cache()
def get_settings():
    return config.Settings()

@app.get("/info")
async def info(settings: config.Settings = Depends(get_settings)):
    return {
        "app_name": settings.app_name,
        "admin_email": settings.admin_email,
        "items_per_user": settings.items_per_user,
    }

Yes, that is absolutely fine.
In fact, the docs recommend it for things like settings. (Link)
Example code:
from functools import lru_cache

from fastapi import Depends, FastAPI

from . import config

app = FastAPI()

@lru_cache()
def get_settings():
    return config.Settings()

@app.get("/info")
async def info(settings: config.Settings = Depends(get_settings)):
    return {
        "app_name": settings.app_name,
        "admin_email": settings.admin_email,
        "items_per_user": settings.items_per_user,
    }

Hi, thanks. That is precisely the section of the docs I link in my question. I'd like to know how does that hold without falling apart with concurrent calls. Is it Depends what's doing the magic here?

Yes, it is absolutely valid code.
The function is just a wrapper which for the same parameters returns the same value withoutn actually doing the function.
As long as your application is able to manage the requests concurrently, it should not be a problem.
Quick Note: you can use async for the route as well. It wont matter.
PS: I ran this code on my system and it worked.

Yes, it is absolutely valid code.
The function is just a wrapper which for the same parameters returns the same value without actually doing the function.
As long as your application is able to manage the requests concurrently, it should not be a problem.
Quick Note: you can use async for the route as well. It wont matter.
PS: I ran this code on my system and it worked.

I'm not questioning what lru_cache does, I'm very well aware of that, I'm just concerned with its usability in the context of concurrent requests given that it is not thread safe AFAIK.
It works locally for me too, but I was wondering if it would also work in a scenario of heavy workload. Thanks

It works locally for me too, but I was wondering if it would also work in a scenario of heavy workload. Thanks

If it works locally(testing with simple benchmarks), it SHOULD work in heavy workload as well.

I'm just concerned with its usability in the context of concurrent requests given that it is not thread safe AFAIK.

I'm not sure that i understood your question correctly, are you asking about threads or asynchronous I/O?

I've been looking around and it seems that lru_cache should be thread-safe at the time of writing. There was an issue (dated ~2017) in Python's issue tracker raising the concern of lru_cache not being thread-safe, and its status is marked as solved (although browsing Google, this seems still be unnoticed for many developers)
Are you aware of this @ycd ?

I'm just concerned with its usability in the context of concurrent requests given that it is not thread safe AFAIK.

I'm not sure that i understood your question correctly, are you asking about threads or asynchronous I/O?

Good point. I'll split my question then (disclaimer: my knowledge of asyncio is very limited):

Let's assume we have a single worker process: when multiple requests are made to a FastAPI endpoint, is there a chance of multithreading happening, or is it all asyncio behind the scenes? (if this makes sense)
If it's all asyncio, is it safe to use non-thread-safe objects?

Thanks

Let's assume we have a single worker process: when multiple requests are made to a FastAPI endpoint, is there a chance of multithreading happening, or is it all asyncio behind the scenes? (if this makes sense)

Well, lru_cache, itself does not use threading. (Does not mean that it is not thread safe).
Also, WORKERS AND THREADS ARE NOT THE SAME. A single worker can have multiple threads. So a single worker application can be multithreaded. Therefore, multithreading will happen.

If it's all asyncio, is it safe to use non-thread-safe objects?

Of course, use async where its suitable and dont where its not. As long as you manage the pool correctly and keep safety in mind, it  will be safe.

disclaimer: my knowledge of asyncio is very limited

I suggests that you read the official python docs. Understand the difference between multiprocessing and multi threading. When thinking about this people get confused all the time.

Well, lru_cache, itself does not use threading. (Does not mean that it is not thread safe).

Not sure about what you're trying to conclude here

Also, WORKERS AND THREADS ARE NOT THE SAME. A single worker can have multiple threads. So a single worker application can be multithreaded. Therefore, multithreading will happen.

We all know the textbook definition. The question I'm asking is if FastAPI will spawn additional threads in abscence of user-created threads or advanced fuctionality like background tasks.

Of course, use async where its suitable and dont where its not. As long as you manage the pool correctly and keep safety in mind, it will be safe.

That's like saying, as long as you never fail, you'll never fail

We all know the textbook definition. The question I'm asking is if FastAPI will spawn additional threads in abscence of user-created threads or advanced fuctionality like background tasks.

Oh, FastAPI, by default, will not open any threads. Only functions that you write that use multi threading will create a new thread.

That's like saying, as long as you never fail, you'll never fail
I realize I was a bit vague, so here is a bit of context: Say, you create a thread function like so:

start = time.perf_counter()

def do_something(seconds):
    print(f'Sleeping {seconds} second(s)...')
    time.sleep(seconds)
    return f'Done Sleeping...{seconds}'

for _ in range(10):
    t = threading.Thread(target=do_something, args=[1.5])
    t.start()

finish = time.perf_counter()

print(f'Finished in {round(finish-start, 2)} second(s)')

Here, the time measured wont be correct because you forgot to join the threads. So, it is a bug because you are not managing the threads properly.
The fixed code would be:
start = time.perf_counter()

def do_something(seconds):
    print(f'Sleeping {seconds} second(s)...')
    time.sleep(seconds)
    return f'Done Sleeping...{seconds}'

threads = []

for _ in range(10):
    t = threading.Thread(target=do_something, args=[1.5])
    t.start()

for thread in threads:
    thread.join()

finish = time.perf_counter()

print(f'Finished in {round(finish-start, 2)} second(s)')

If you write the second code, then it wont happen
*Basically, FastAPI does not affect safety of your app. (wrt threading) *
Your functions do. In this caselru_cache is thread-safe(atleast from what I see on the net.)
Or maybe you could just ensure it was thread safe like so:
import threading
from collections import defaultdict
from functools import lru_cache, _make_key

def threadsafe_lru(func):
    func = lru_cache()(func)
    lock_dict = defaultdict(threading.Lock)

    def _thread_lru(*args, **kwargs):
        key = _make_key(args, kwargs, typed=False)
        with lock_dict[key]:
            return func(*args, **kwargs)

    return _thread_lru

Oh, FastAPI, by default, will not open any threads

This is not right, if your function is not a coroutine, FastAPI will run that request inside a threadpool.

If it's all asyncio, is it safe to use non-thread-safe objects?

asyncio is not safe for direct usage of lru_cache, you may want to use something like aiocache for it.

Let's assume we have a single worker process: when multiple requests are made to a FastAPI endpoint, is there a chance of multithreading happening, or is it all asyncio behind the scenes? (if this makes sense).

Yes it is possible, if your function is not a coroutine (async def), there is multi-threading happening, i explained quite deeply how it works in here -> https://github.com/tiangolo/fastapi/issues/2776#issuecomment-776659392

Thanks @ycd !!
It is clear now.
I'm thinking of opening a PR to modify, or at least just add a warning to the section of the docs that suggests the usage of lru_cache.
Maybe that example is simple enough to never fail, but it might encourage users (like myself) to use it elsewhere in the application.
Do you think this makes sense?

This is not right, if your function is not a coroutine, FastAPI will run that request inside a threadpool.

I know that, I meant additional threads which are not related to a co-routine will not be opened unless specified explicitly.
Just very bad at explaining. :(

Maybe that example is simple enough to never fail, but it might encourage users (like myself) to use it elsewhere in the application.

You are right, that example would never fail since it is on the global state, it is registered inside the stack of your main process with PCB (Process control block),  so even when a context switch occurs, using lru_cache' will remain completely safe.


What is this plugin supposed to do?

I am under the impression that this is what you expect:
myProject/
- src/
- - utils.js
- - static/
- - - - index.html
- webpack.config.js

src/index.html
<html>
  <script src='./utils.js'></script>
  <body>
  </body>
</html>

src/utils.js
function doStuff() {
  console.log('doing so much stuff.');
}

webpack.config.js
...
    new HtmlWebpackPlugin({
      template: path.join(STATIC_ASSETS_DIR, 'index.html'),
      hash: false,
      // Don't inject main.js, etc
      inject: false,
      inlineSource: '.(js)$',
      filename: 'index.html',
      minify: {
        collapseWhitespace: true
      }
    }),
    new HtmlWebpackInlineSourcePlugin()
...

And then when you run webpack, you expect
dist/index.html
<html>
  <script>
    function doStuff() {
      console.log('doing so much stuff.');
    }
  </script>
  <body>
  </body>
</html>

Is this not what this plugin is supposed to do?

It only embeds source for the injected assets, you have inject: false in your config.

But if I use inject: true, it's gonna inject the "entry"...
  entry: [
    path.join(SRC_DIR, 'main.js')
  ],

What if you just want to inject some specific JS asset into some specific static HTML asset?

Maybe you could leverage multiple entry points and the commonschunkplugin.
As I mentioned this plugin only processes assets that are injected into the html document.  It does this by hooking into html-webpack-plugin's event for generating the tag definitions.  If your use case extends beyond this functionality it might not be the right fit.  I have used inline source in the past which I found quite helpful.

All right, thank you! I will try to use these tools. Thanks for clarifying!


Checkpoint Loader does not output checkpoint as text

I am trying to embed metadata into my generations - therefore I wanted to output that checkpoint name from checkpoint loader, but it does not show any text when I try, even with several nodes to show text. any ideas what might be the problem?

That output text is the example prompt, not the filename (in the screenshot you have none, you can name files [checkpointname].txt or /[checkpointname]/somefilename.txt, or manage it via right click -> view checkpoint info)


Printing colored strings within Terms

Printing a coloured string as part of a term does not work, ~p seems to escapes the color codes.
Example:
> io:format("~p~n", [{a,b,cf:format("~!rfoo~!!")}]).
{a,b,"\e[0;31mfoo\e[0m\e[0m"}

Any idea on how to get this to work?

~p indicates that it should print a term not a string so erlang will convert control chars (like color codes) to their 'readable' representation. You got to do a bit of extra work here either:
> io:format("{~p, ~p, ~s}~n", [a,b,cf:format("~!rfoo~!!")]).
%% or
> cf:print("{~p, ~p, ~!rfoo~!!}~n", [a,b]).

using ~p and nesting colors won't work as it is meant to exactly not do that :) (print control characters)


Allow GoAContainer to fit content width in addition to the existing 100% width

The .goa-container flex css can updated to allow for dynamically setting it to prevent flex growth.
  .goa-container {
    box-sizing: border-box;
    display: flex;
    flex: 0 0 auto;   /** here **/
    flex-direction: column;
  }

The these changes:

From this thread in the support channel: https://goa-dio.slack.com/archives/C02PLLT9HQ9/p1714490521425969


[Feature] Relax the maxDepth constraint for resource topology

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

In pkg/velaql/providers/query/tree.go, we have
	if depth > maxDepth {
		klog.Warningf("listing application resource tree has reached the max-depth %d parentObject is %v", depth, parentResource)
		return nil, nil
	}

This prevent the user's query for the resource topology going too deep. The default value for maxDepth is 5. However, there is no place that could be used to configure this maxDepth value. I would suggest we could support reading "KUBEVELA_QUERYTREE_MAXDEPTH" environment variable and set it to 5 if not exist. This will let users be able to configure the query depth in their environment if wanted and configure it in the velaux apiserver as well.
Describe the solution you'd like

Describe alternatives you've considered

Additional context

I can take this

I expect maxDepth to be extracted into the configuration. And I hope to achieve this function, can you give it to me?

@Somefive does this change has any place in the docs ?

@qashlan  No, I do not think we need to update the docs. It should be an underlying configuration. But it is absolutely okay to add some NOTICE section in the documentation if you want.

Close as #6039 merged.


Is there a way to limit the bottom sheet highest stop position?

if I don't want the bottom sheet can pull up to the top of the screen, what can I do? Thanks.

Set only one height in snapLocation.
In the constructor:
this.state = { snapLocation: [150], snapIndex: 0 }
In the render:
<BottomSheet snapPoints={this.state.snapLocation} initialSnap={this.state.snapIndex} {...} />
If you want to pull it up but stop before the top of the screen:
this.state = { snapLocation: [(Dimensions.get('window').height - 150),150], snapIndex: 0 }


Support for multiple clients and other improvements in load test config generation.

This change adds the following features and improvements to load test generation:

Multiple client instances are supported by setting the option --instances_per_client.
python_asyncio is supported as a separate language.
php is renamed to php7 to match the scenario language names.
Client and server names are shortened by the introduction of an index (0, 1, ... with an optional prefix). This index replaces the uuid added to pod names when no component name is specified.
Driver pool and image substitution are added to template generation.
Empty entries are removed from the final configuration.

NOTE: Controller is currently not respecting driver settings from configuration, so driver is still named with a uuid. This will be addressed separately.

@drfloob  once this is in place, you could use the multiple client feature to experiment with the suspected degradation of C++ performance when there's multiple clients (this is tracked as https://github.com/grpc/grpc/issues/14899).
I'd be curios to see if the introduction of the new iomgr you're working on has any effect on this behavior.

Overall this is looking good but I didn't review in detail.
I will let others perform the detailed review.

There are not many people who can review this, so I will be merging it later today unless there are comments on it.


RekognitionNoDataAccessPolicy do not support specific collectionid resources

On https://github.com/awslabs/serverless-application-model/commit/a9b00e1767cf6233dbe60b1f435d7a11d36b4973
https://github.com/awslabs/serverless-application-model/blob/e4070b5069c883645c339b38006688cdfadf8d38/examples/2016-10-31/policy_templates/all_policy_templates.yaml#L43
RekognitionNoDataAccessPolicy requires parameter of CollectionId. However rekognition:detectlabels do not. In fact the action does not support specific resource constraints.

Is there a workaround for this?  I'm trying to deploy an application to the serverless repository.  My app only uses rekognition.detectFaces.  I've tried using RekognitionNoDataAccessPolicy, but I'm not using collections at all.  Is there another policy template I can use?

@sanathkr I'd like to submit a pull request to fix this because it's holding me up.  All Rekognition related policies currently require a collection id, even though a collection is not required for things like detecting faces, labels, and text.  Would it be better to create a new Rekognition "no collections" policy that allows users to do everything that doesn't actually require a collection, or would it be best to modify one of the existing policies to not require a collection?

@brettstack I think you have to split the existing policy into two resources sections.. one that uses collectionid and one that doesn’t..

Yeah this will need to be a separate policy.

I'm working on the Devpost hackathon and ran into this issue so I submitted a PR to fix it: #571. If someone could review it before the hackathon ends on October 2nd (preferably before), that would be splendid.

Hello! When is going to be the "RekognitionDetectOnlyPolicy" ready for publishing on the AWS Serverless Application Repository? I also need it for the Devpost Hackaton. So far it does not accept it as a policy template

@HCans On #571, @jlhood said they're planning a release "soon", before the end of the hackathon.

@RobRoseKnows you should be able to submit it now 🙌

Thank you!
To submit I still need to wait for: https://github.com/awslabs/serverless-application-model/pull/589 . I hope it gets to a release on time :)

@RobRoseKnows @HCans #571 has been released, we are working on #589 as part of our next release


adw-gtk3: 5.2 -> 5.3

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for adw-gtk3 is: The theme from libadwaita ported to GTK-3
meta.homepage for adw-gtk3 is: https://github.com/lassekongo83/adw-gtk3
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 5.3 in filename of file in /nix/store/c0gb3ywiyb0rld1k197bax390379p370-adw-gtk3-5.3

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
adw-gtk3

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/c0gb3ywiyb0rld1k197bax390379p370-adw-gtk3-5.3 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A adw-gtk3 https://github.com/r-ryantm/nixpkgs/archive/70eb147124031c25a080e7a9f6a770eeb926c813.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/70eb147124031c25a080e7a9f6a770eeb926c813#adw-gtk3

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/c0gb3ywiyb0rld1k197bax390379p370-adw-gtk3-5.3
ls -la /nix/store/c0gb3ywiyb0rld1k197bax390379p370-adw-gtk3-5.3/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review --extra-nixpkgs-config '{ allowInsecurePredicate = x: true; }' run on x86_64-linux 1

1 package built:

adw-gtk3

Maintainer pings
cc @ciferkey for testing.


Upcoming Release - 7.16.0

Upcoming Release - 7.16.0
Body
Time Tracking: MA-38
This is done when:

[ ] Regression Test Plan 7.16.0 (PROD) PASS on iOS
[ ] Regression Test Plan 7.16.0 (PROD) PASS on Android

[ ] 7.16.0 (PROD) submitted for App Store review
[ ] 7.16.0 (PROD) submitted for Play Store review

[ ] 7.16.0 (PROD) approved for App Store release
[ ] 7.16.0 (PROD) approved for Play Store release

[ ] 7.16.0 (PROD) phased rollout underway for iOS and Android

@p8gonzal try ZAP-TEST_emNnGmeWk for the duplicate, since I just scanned this


Smarter rebuild on content change

I'm currently leaving TODOs all over the place so the rebuild_after_content_change will take as little time as possible.
Do it once the new way of handling index is in

#62 is a first step to make things faster when editing the content of a page.
There are a few other situations:

editing front matter of a page: need to check what changed to know what to re-render but even then since people can put whatever in extra you're never sure what should be changed. Might be safer to just re-render the whole section if there is one, tags/categories if they changed and index.

deleting a page: should re-render the section if there is one, index page and tags/categories if there were some

deleting a section: should re-sort/set prev&next to pages int the section and re-render index

Need to see what happens in terms of event when doing bulk actions, like renaming a folder for example.


Switch some tests to do sample override and drop decision maker

Description
Switch some header tests to check sample override and decision maker drop as well.
Workflow

⚠⚠ Create your PR as draft (we're receiving lot of PR, it saves us lot of time) ⚠⚠
Follows the style guidelines of this project (See how to easily lint the code)
Work on you PR until the CI passes (if something not related to your task is failing, you can ignore it)
Mark it as ready for review

NOTE:  By default in PR only default scenario tests will be launched. Please refer to the documentation to run all scenarios in your PR if needed.

Once your PR is reviewed, you can merge it ! :heart:

Hey @cbeauchesne, do you know who should approve this when @Kyle-Verhoog is not around? I think we need more than one code owner for this.

Hey @cbeauchesne, do you know who should approve this when @Kyle-Verhoog is not around? I think we need more than one code owner for this.

+1 to this. Can we maybe have apm-core be code owners? (Although I don't see a github team for all of them combined)


Remove external resources

Updates iconUrl to point at local files with classpath:// URIs and adds the icons as resources. Copies the brooklyn-dns BOM file to the target Jar so that it can be imported from a classpath:// URI also.

Why from http to classpath? Performance?

Ah no maybe it's for weird networks where those resources may be nor reachable

So that the BOM file can be loaded onto a Brooklyn server running somewhere that does not have Internet access, such as many large enterprises.

@grkvlt, have you checked if we have the rights to incorporate all these images in clocker? Do they meet whatever terms of use they have?

@drigodwin good point, will review the terms of use and update if required

See guidelines for Kubernetes, also others. Will document these links on the Wiki here.

@drigodwin have added license details for icons


Private repo always hasWiki()

Describe the bug
Private repositories always return true for hasWiki() even if they have none enabled.
To Reproduce
Steps to reproduce the behavior:
Use GHRepository#hasWiki() on a private repository with wikis disabled.
Expected behavior
hasWiki() should return false for private repositories with wikis disabled.
Desktop (please complete the following information):

Windows 10
API 1.110

Additional context
This issue may be caused by the fact that private repositories can not have public wikis (meaning the tickbox is technically disabled instead of deselected).

I have a private repository with a wiki.  I can also disable and enable wikis on that repo.
This is almost certainly an external issue that should be reported to GitHub support.  Double check the data being return from the GitHub API.

For free users public wikis are disabled on private repositories.

GitHub Suppport is now addressing this issue.


💡 [REQUEST] - Introduce a code formatter and linting tool

Reference Issues
No response
Summary
Currently there are various different code and indentation styles. To improve maintainability, we should use a unified format across all files.
Basic Example
Some examples of errors that would have been picked up by a lint tool:

invalid html tags
undefined variable i

Drawbacks

more complicated to set up the development environment, since we would need to install 1 or 2 vscode extensions (prettier and/or eslint)

Unresolved questions
No response

Approved. Removed labels as none of them really fit this kind of request.


Add test and fix for issue #126

test and fix for #126

Codecov Report

Merging #181 (c06f545) into master (5731a4c) will decrease coverage by 0.55%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master     #181      +/-   ##
==========================================
- Coverage   92.70%   92.14%   -0.56%
==========================================
  Files           6        6
  Lines        2672     2496     -176
==========================================
- Hits         2477     2300     -177
- Misses        195      196       +1

Impacted Files
Coverage Δ

pyodata/v2/model.py
92.70% <100.00%> (-0.71%)
:arrow_down:

pyodata/v2/service.py
90.37% <0.00%> (-0.29%)
:arrow_down:

Continue to review full report at Codecov.

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

Thank you!


Fix exmaple test broken link

File name needed to be changed from link.react.test.js to link.test.js

Summary

Test plan

Codecov Report

Merging #12234 (bc20e66) into main (5d483ce) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main   #12234   +/-   ##
=======================================
  Coverage   67.51%   67.51%
=======================================
  Files         328      328
  Lines       17246    17246
  Branches     5071     5071
=======================================
  Hits        11643    11643
  Misses       5570     5570
  Partials       33       33

Continue to review full report at Codecov.

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

Anytime @Biki-das, when you can have another look, please.

@od-c0d3r thanks  LGTM!.


Fix jsonpatch in go.sum

What this PR does / why we need it:
This should fix issues encountered when working with go modules, GOPROXY, and jsonpatch.
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
I edited hack/update-deps.sh and added GOPROXY=https://proxy.golang.org
Please confirm that if this PR changes any image versions, then that's the sole change this PR makes.
Release note:

NONE

/assign @chuckha @detiber

@cblecker @BenTheElder is this the right thing to do?

/hold
pending discussions in https://github.com/kubernetes-sigs/cluster-api/pull/1217

I've updated the CAPI PR and it's in the merge queue.
/hold cancel
/assign @detiber

/lgtm

Needs approval too - thanks!

oops :joy:
/approve


CURLOPT_INFILESIZE

I'm pretty sure that this is wrong:
$session->setOption(CURLOPT_INFILESIZE, mb_strlen($data, 'UTF-8'));

Shouldn't that be?
$session->setOption(CURLOPT_INFILESIZE, strlen($data));

The following is work for me:

$session->setOption(CURLOPT_INFILESIZE, mb_strlen($data, '8bit'));


Mix combine and scripts methods silently skip missing files with no errors

This issue has been reported multiple times and marked stale and closed each time without a resolution:
https://github.com/JeffreyWay/laravel-mix/issues/627
https://github.com/JeffreyWay/laravel-mix/issues/1937
https://github.com/JeffreyWay/laravel-mix/issues/2097
It still exists with a fresh Node / NPM install and these versions:
Laravel Mix Version 4.1.2
Node Version 10.16.0
NPM Version 6.7.0
The steps to reproduce the error are listed in the above issue links. Please get a fix for this!
Thank you,
Ben

Still an issue for me too with 4.1.2 also.

We really need this.


Events order

Currently looks like that events order is by event id, rather than date:

I would like to solve the order of events in the page using a sortable table, by deafult sorted dy date ascending. We're not there yet, but we are planning some code changes to generate the site from a json source and only include new events (not past ones) and sort by date.

I would like to solve the order of events in the page using a sortable table, by deafult sorted dy date ascending. We're not there yet, but we are planning some code changes to generate the site from a json source and only include new events (not past ones) and sort by date.

Solved the dynamic table with sorting

Solved the dynamic table with sorting


[Question] @Constant/@Value are not available inside the constructor

Information

Version: 7.34.2
Packages:

When using @Constant or @Value to inject the configuration into a client/service, the value is undefined inside the constructor.
Example
For example, I have
@Service()
export class GoogleClient {
  @Constant('sso.google')
  config: GoogleSSOConfig;

  constructor() {
    console.log(this.config);
  }

  doSomething() {
    console.log(this.config);
  }

In the example above, when the app boots, the constructor prints undefined but when I call doSomething() the config value exists. How come?
Acceptance criteria

[ ] Criteria 1

Hello @ktalebian
It's an intended behavior. Decorators used on properties like Constant/Value/Inject are filed by the injector service after the construtor. All props are filled before the $onInit hook.
If you need settings on constructor just inject the Configuration service:
construtor(settings: Configuration){
  const value = settings.get<string>('myValue');
}

Is equivalent of:
export class MyService {
  @Constant('myValue')
  value: string;

  $onInit(){
    console.log(this.value)
  }

See you
Romain


How to make it so that DOCK MODE and network monitoring does not show at all, only modes show

I find always seeing the network monitoring really distracting. So as seeing DOCK MODE.
What I think would be great, is to always hide it by default, and only show users what mode they are in that is not the default. So if I was in resize window mode, it would show me this permanently until I quit the mode :

When in view mode, show this :

And so on. Absence of the mode bar, indicates that I am in normal mode. This would be really amazing to have to complete this superb hammer spoon framework. Thank you for this.
I hope this would be possible to change.

Just put the line below into ~/.hammerspoon/private/awesomeconfig.lua and reload configure.
idle_to_which = “hide”
Then see if it works as intended.
You are welcome. : )

Just put the line below into ~/.hammerspoon/private/awesomeconfig.lua and reload configure.
idle_to_which = “hide”
Then see if it works as intended.
You are welcome. : )

My bad. 😓 I forget to toggle input method before typing.
idle_to_which = "hide" or
idle_to_which = 'hide'
Both are ok. It should be "English" doube-quote symbol.

My bad. 😓 I forget to toggle input method before typing.
idle_to_which = "hide" or
idle_to_which = 'hide'
Both are ok. It should be "English" doube-quote symbol.

Thank you. Is it possible to lower the time it goes to idle mode to 1 or 2 seconds when switching from other modes. So it just flashes briefly and then hides away.

Thank you. Is it possible to lower the time it goes to idle mode to 1 or 2 seconds when switching from other modes. So it just flashes briefly and then hides away.

Sorry, for now there is not this option.
But if it's very important to you, and you can read some code, and you don't care interrupting the update procedure.
Change the 12th line of ~/.hammerspoon/modalmgr.lua:
idletimer = hs.timer.doEvery(5,check_idle)
Change 5 to the number you want.

Sorry, for now there is not this option.
But if it's very important to you, and you can read some code, and you don't care interrupting the update procedure.
Change the 12th line of ~/.hammerspoon/modalmgr.lua:
idletimer = hs.timer.doEvery(5,check_idle)
Change 5 to the number you want.

Yes, this is exactly what I wanted. Thank you so much for this. ♥

Yes, this is exactly what I wanted. Thank you so much for this. ♥


Use internal opengraph template

Is this a BUG REPORT or FEATURE REQUEST?:
feature
What happened:
We currently use our own SEO templates.
What you expected to happen:
We could move this to internal ones from Hugo.
Anything else we need to know?:
Does this add value and less duplication? We have Hugo as dependency anyway.
https://gohugo.io/templates/internal/#open-graph

I'm not really sure about this one. We can certainly make use of the internal template for the page metadata but not images and videos since we allow for several formats of adding images to the page and I'm not sure if Hugo would catch those when making the metadata. I'm going to use this template instead of our current implementation. It would remove some code and might add more details than we currently do.


Feature full tests azure

Some tests were not ran in the Azure builds, mainly the one using the test entity service.
So in this PR:

remove appveyor config file (not required anymore as we are stopping using appveyor, cf issue #268 )
run the type checks (as Travis)
run the tests requiring the deployed test entity service (at testing.es.data61.xyz)
run the notebook tests.

Typecheck tests not working for python 3.5 and 2.7 (tracked in #282 ).
Notebook tests fail on Windows machines (tracked in #283)


pub.dartlang.org shows a different latest version of a package in the search result than in the package version history. This also applies for the modification date.

This issue has been described by me in https://github.com/dart-lang/sdk/issues/24729 but maybe this issue tracker is better suited, since the pub command relies on the (JSON) information from pub.dartlang.org

This is normal behavior. Versions with a - after the patch number are pre-releases (like 1.0.0-rc.3). Also pub get or pub upgrade ignore pre-releases if your version constraint in pubspec.yaml doesn't contain a -.

Thank you very much for that quick answer!
Then I understand even less why pub can't resolve the dependencies. The dependency ist polymer: ^1.0.0-rc.2. This follows the described pattern. But pub says it can only find 0.16.3+3 and therefore the dependencies cannot be satisfied.

If your Dart version is older than the version required by a dependency, this produces misleading error messages. This is a known issue and will hopefully be fixed eventually. Without checking, AFAIR you need at least 1.12 for Polymer.

The dart version is Dart VM version: 1.12.2 (Wed Oct 21 06:56:12 2015) on "macos_x64". I also tried it with Dart 1.12.1. The same issue.

Do you have any other dependencies in your pubspec.yaml   besides the ones required for Polymer? Maybe one of these additional dependencies conflicts with dependencies required by Polymer. Can you please post your pubspec.yaml?

Sorry, just saw you already provided the info in the linked issue.

I do:
$ stagehand web-polymer
$ pub get

The generated pubspec.yaml is
name: 'test'
version: 0.0.1
description: A web app built using polymer.dart.
#author: Your Name<EMAIL_ADDRESS>#homepage: https://www.example.com

environment:
  sdk: '>=1.9.0 <2.0.0'

dependencies:
  browser: ^0.10.0
  polymer_elements: ^1.0.0-rc.1
  polymer: ^1.0.0-rc.2
  reflectable: ^0.3.1
  web_components: ^0.12.0

transformers:
- web_components:
    entry_points: web/index.html
- reflectable:
    entry_points: web/index.dart
- $dart2js:
    $include: '**/*.bootstrap.initialize.dart'
    minify: true
    commandLineOptions:
    - --trust-type-annotations
    - --trust-primitives

The ~/.pub-cache directory is empty.
pub getoutputs
Resolving dependencies... (5.8s)
Package polymer has no versions that match >=1.0.0-rc.2 <2.0.0 derived from:
- test depends on version ^1.0.0-rc.2

I created a pubspec.yaml with the dependency versions you listed and pub resolves it without problems. Did stagehand also add a dependency to test to your pubspec.yaml? I would try to change the name test in your pubspec.yaml to something else.

Yes, renaming the project from test to fancy_app solves the dependency problem. But now pub serve dies with the following error:
Loading source assets...
Loading web_components and reflectable transformers...
Serving fancy_app web on http://localhost:8080
Build error:
Transform WebComponents on fancy_app|web/index.html threw error: Class 'LibrarySpecificUnit' has no instance getter 'isInSystemLibrary'.

NoSuchMethodError: method not found: 'isInSystemLibrary'
Receiver: Instance of 'LibrarySpecificUnit'
Arguments: []
dart:core-patch/object_patch.dart 42                       Object._noSuchMethod
dart:core-patch/object_patch.dart 45                       Object.noSuchMethod
package:analyzer/src/generated/engine.dart 11313           SdkCachePartition.contains
package:analyzer/src/generated/engine.dart 133             AnalysisCache.get
package:analyzer/src/context/cache.dart 984                CachePartition._getDataFor
package:analyzer/src/context/cache.dart 615                CacheEntry._setDependedOnResults.<fn>
dart:core-patch/growable_array.dart 234                    List.forEach
package:analyzer/src/context/cache.dart 614                CacheEntry._setDependedOnResults
package:analyzer/src/context/cache.dart 490                CacheEntry.setValue
package:analyzer/src/task/driver.dart 281                  AnalysisDriver.performWorkItem.<fn>
package:analyzer/src/generated/utilities_general.dart 170  _PerformanceTagImpl.makeCurrentWhile
package:analyzer/src/task/driver.dart 272                  AnalysisDriver.performWorkItem
package:analyzer/src/task/driver.dart 110                  AnalysisDriver.computeResult
package:analyzer/src/context/context.dart 662              AnalysisContextImpl.computeResult
package:analyzer/src/context/context.dart 628              AnalysisContextImpl.computeLibraryElement
package:code_transformers/src/resolver_impl.dart 157       ResolverImpl._performResolve.<fn>.<fn>
dart:_internal/iterable.dart 413                           MappedListIterable.elementAt
dart:_internal/iterable.dart 219                           ListIterable.toList
package:code_transformers/src/resolver_impl.dart 158       ResolverImpl._performResolve.<fn>
dart:async/zone.dart 1166                                  _RootZone.runUnary
dart:async/future_impl.dart 494                            _Future._propagateToListeners.handleValueCallback
dart:async/future_impl.dart 577                            _Future._propagateToListeners
dart:async/future_impl.dart 368                            _Future._completeWithValue
dart:async/future_impl.dart 422                            _Future._asyncComplete.<fn>
dart:async/schedule_microtask.dart 43                      _microtaskLoop
dart:async/schedule_microtask.dart 52                      _microtaskLoopEntry
dart:isolate-patch/isolate_patch.dart 96                   _runPendingImmediateCallback
dart:isolate-patch/isolate_patch.dart 149                  _RawReceivePortImpl._handleMessage

dart:core                                                  Object.noSuchMethod
package:analyzer/src/generated/engine.dart 11313           SdkCachePartition.contains
package:analyzer/src/generated/engine.dart 133             AnalysisCache.get
package:analyzer/src/context/cache.dart 984                CachePartition._getDataFor
package:analyzer/src/context/cache.dart 615                CacheEntry._setDependedOnResults.<fn>
dart:core                                                  List.forEach
package:analyzer/src/context/cache.dart 614                CacheEntry._setDependedOnResults
package:analyzer/src/context/cache.dart 490                CacheEntry.setValue
package:analyzer/src/task/driver.dart 281                  AnalysisDriver.performWorkItem.<fn>
package:analyzer/src/generated/utilities_general.dart 170  _PerformanceTagImpl.makeCurrentWhile
package:analyzer/src/task/driver.dart 272                  AnalysisDriver.performWorkItem
package:analyzer/src/task/driver.dart 110                  AnalysisDriver.computeResult
package:analyzer/src/context/context.dart 662              AnalysisContextImpl.computeResult
package:analyzer/src/context/context.dart 628              AnalysisContextImpl.computeLibraryElement
package:code_transformers/src/resolver_impl.dart 157       ResolverImpl._performResolve.<fn>.<fn>
dart:_internal                                             ListIterable.toList
package:code_transformers/src/resolver_impl.dart 158       ResolverImpl._performResolve.<fn>

Build completed with 1 errors.

This is a new bug I just run into today myself.
Just add this additional dependency analyzer: 0.26.1+14 to your pubspec.yaml. This prevents the analyzer package (a transitive dependency) to be updated to the most recent version.
See also dart-lang/web-components#35
I guess you can close this issue, or is there still something you need to get fixed?
The misleading message from pub should be covered by dart-lang/pub#912 (the title is not exactly what you run into but when you check the referenced issues in dart-lang/pub#912 you'll see it covers your issue as well.

Thank you very much!


Mismatch of cl.exe and STL version used in latest runner images

Description
Our build pipelines in ADO are failing this week with the rollout of image 20230903.2.0 on windows-latest. The issue did not repro on 20230820.1.0.
We are seeing the failures while using VCPKG to build the cpprestsdk dependency. cpprestsdk is failing to build due to mismatched compiler and STL versions. It's possible it's the same root cause as #6091 where the MSVC install was broken. This does not repro on local dev machines.
Platforms affected

[X] Azure DevOps
[ ] GitHub Actions - Standard Runners
[ ] GitHub Actions - Larger Runners

Runner images affected

[ ] Ubuntu 20.04
[ ] Ubuntu 22.04
[ ] macOS 11
[ ] macOS 12
[ ] macOS 13
[ ] Windows Server 2019
[ ] Windows Server 2022
[X] Windows latest

Image version and build link
20230902.2.0. Build is on private ADO instance so can't link it.
Is it regression?
Regression. The issue did not repro on 20230820.1.0
Expected behavior
CMake picks the newest available versions of cl.exe and the STL headers.
Actual behavior
Cmake is picking an old version of the compiler and new version of STL headers.
cmake running under vcpkg is picking up an old compiler:
VERBOSE: Found C compiler at C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC*14.35.32215*\bin\HostX64\x64\cl.exe
VERBOSE: Found C++ compiler at C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC**\14.35.32215**bin\HostX64\x64\cl.exe
And cpprestsdk is referencing a different version of the STL headers:
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC*14.37.32822*\include\yvals_core.h(851): error STL1001: Unexpected compiler version, expected MSVC 19.36 or newer.
VCPKG Logs
VERBOSE: Enabling Msvc compiler
VERBOSE: Calling RunVsDevCmd for x64
C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe -latest -property installationPath
C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe -latest -property installationPath
cmd.exe /c "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat" -host_arch=amd64 -arch=amd64 && set
VERBOSE: Caching devenv environment variables to D:\a\1\s\build\vsDevCmdCache.x64.json
VERBOSE: Found C compiler at C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.35.32215\bin\HostX64\x64\cl.exe
VERBOSE: Found C++ compiler at C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.35.32215\bin\HostX64\x64\cl.exe
C:\vcpkg\vcpkg.exe version
vcpkg package management program version 2023-08-09-9990a4c9026811a312cb2af78bf77f3d9d288416
cpprestsdk build logs that contain the failure to build under vcpkg
Change Dir: 'C:/vcpkg/buildtrees/cpprestsdk/x64-windows-dbg'
Run Build Command(s): "C:/Program Files/Microsoft Visual Studio/2022/Enterprise/Common7/IDE/CommonExtensions/Microsoft/CMake/Ninja/ninja.exe" -v -v -j3 install
[1/25] C:\PROGRA~1\MICROS~2\2022\ENTERP~1\VC\Tools\MSVC\1435~1.322\bin\HostX64\x64\cl.exe   /TP -DBROTLI_SHARED_COMPILATION -DCPPREST_EXCLUDE_WEBSOCKETS=1 -DUNICODE -DWIN32 -D_ASYNCRT_EXPORT -D_PPLX_EXPORT -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D_USRDLL -D_WIN32_WINNT=0x0600 -D_WINSOCK_DEPRECATED_NO_WARNINGS -Dcpprest_EXPORTS -IC:\vcpkg\buildtrees\cpprestsdk\src\ecb9e168c5-ec5efbc4a8.clean\Release\include -IC:\vcpkg\buildtrees\cpprestsdk\src\ecb9e168c5-ec5efbc4a8.clean\Release\src\pch -external:IC:\vcpkg\installed-x64-windows\x64-windows\include -external:W0 /nologo /DWIN32 /D_WINDOWS /W3 /utf-8 /GR /EHsc /MP  /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1  /MP /bigobj /permissive- /Yustdafx.h /FpC:/vcpkg/buildtrees/cpprestsdk/x64-windows-dbg/src/cpprest.pch /Zm120 /Ycstdafx.h /showIncludes /Fosrc\CMakeFiles\cpprest.dir\pch\stdafx.cpp.obj /Fdsrc\CMakeFiles\cpprest.dir\ /FS -c C:\vcpkg\buildtrees\cpprestsdk\src\ecb9e168c5-ec5efbc4a8.clean\Release\src\pch\stdafx.cpp
FAILED: src/CMakeFiles/cpprest.dir/pch/stdafx.cpp.obj
C:\PROGRA~1\MICROS~2\2022\ENTERP~1\VC\Tools\MSVC\1435~1.322\bin\HostX64\x64\cl.exe   /TP -DBROTLI_SHARED_COMPILATION -DCPPREST_EXCLUDE_WEBSOCKETS=1 -DUNICODE -DWIN32 -D_ASYNCRT_EXPORT -D_PPLX_EXPORT -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D_USRDLL -D_WIN32_WINNT=0x0600 -D_WINSOCK_DEPRECATED_NO_WARNINGS -Dcpprest_EXPORTS -IC:\vcpkg\buildtrees\cpprestsdk\src\ecb9e168c5-ec5efbc4a8.clean\Release\include -IC:\vcpkg\buildtrees\cpprestsdk\src\ecb9e168c5-ec5efbc4a8.clean\Release\src\pch -external:IC:\vcpkg\installed-x64-windows\x64-windows\include -external:W0 /nologo /DWIN32 /D_WINDOWS /W3 /utf-8 /GR /EHsc /MP  /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1  /MP /bigobj /permissive- /Yustdafx.h /FpC:/vcpkg/buildtrees/cpprestsdk/x64-windows-dbg/src/cpprest.pch /Zm120 /Ycstdafx.h /showIncludes /Fosrc\CMakeFiles\cpprest.dir\pch\stdafx.cpp.obj /Fdsrc\CMakeFiles\cpprest.dir\ /FS -c C:\vcpkg\buildtrees\cpprestsdk\src\ecb9e168c5-ec5efbc4a8.clean\Release\src\pch\stdafx.cpp
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.37.32822\include\yvals_core.h(851): error STL1001: Unexpected compiler version, expected MSVC 19.36 or newer.
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.37.32822\include\yvals_core.h(851): error C2338: static_assert failed: 'Error in C++ Standard Library usage.'
ninja: build stopped: subcommand failed.
Repro steps
The only repro we know of is to use VCPKG to build cpprestsdk on the latest image.

Hello @zero9178, image has both msvc 14.35 and 14.37 components installed, so versions can be specified/chosen while building the project.
And could you also try a following workaround:
- run: |
          Set-Location "C:\Program Files (x86)\Microsoft Visual Studio\Installer\"
          $InstallPath = "C:\Program Files\Microsoft Visual Studio\2022\Enterprise"
          $componentsToRemove= @(
            "Microsoft.VisualStudio.Component.VC.<IP_ADDRESS>.ARM"
            "Microsoft.VisualStudio.Component.VC.<IP_ADDRESS>.ARM.Spectre"
            "Microsoft.VisualStudio.Component.VC.<IP_ADDRESS>.ARM64"
            "Microsoft.VisualStudio.Component.VC.<IP_ADDRESS>.ARM64.Spectre"
            "Microsoft.VisualStudio.Component.VC.<IP_ADDRESS>.x86.x64"
            "Microsoft.VisualStudio.Component.VC.<IP_ADDRESS>.x86.x64.Spectre"
            "Microsoft.VisualStudio.Component.VC.<IP_ADDRESS>.ATL"
            "Microsoft.VisualStudio.Component.VC.<IP_ADDRESS>.ATL.Spectre"
            "Microsoft.VisualStudio.Component.VC.<IP_ADDRESS>.ATL.ARM"
            "Microsoft.VisualStudio.Component.VC.<IP_ADDRESS>.ATL.ARM.Spectre"
            "Microsoft.VisualStudio.Component.VC.<IP_ADDRESS>.ATL.ARM64"
            "Microsoft.VisualStudio.Component.VC.<IP_ADDRESS>.ATL.ARM64.Spectre"
            "Microsoft.VisualStudio.Component.VC.<IP_ADDRESS>.MFC"
            "Microsoft.VisualStudio.Component.VC.<IP_ADDRESS>.MFC.Spectre"
            "Microsoft.VisualStudio.Component.VC.<IP_ADDRESS>.MFC.ARM"
            "Microsoft.VisualStudio.Component.VC.<IP_ADDRESS>.MFC.ARM.Spectre"
            "Microsoft.VisualStudio.Component.VC.<IP_ADDRESS>.MFC.ARM64"
            "Microsoft.VisualStudio.Component.VC.<IP_ADDRESS>.MFC.ARM64.Spectre"
          )
          [string]$workloadArgs = $componentsToRemove | ForEach-Object {" --remove " +  $_}
          $Arguments = ('/c', "vs_installer.exe", 'modify', '--installPath', "`"$InstallPath`"",$workloadArgs, '--quiet', '--norestart', '--nocache')
          # should be run twice
          $process = Start-Process -FilePath cmd.exe -ArgumentList $Arguments -Wait -PassThru -WindowStyle Hidden
          $process = Start-Process -FilePath cmd.exe -ArgumentList $Arguments -Wait -PassThru -WindowStyle Hidden

Hi! Thank you for your reply. The surprising behaviour in my case was that it was using 14.35 by default instead of 14.37 when the previous version of the image used 14.36. That said, the precise version used doesn't really matter in my case and only threw me off when . The issue ended up (not unexpectedely) in my application, so the CI failures while version dependentend, are not the fault of the version per-se.
I therefore also have no means really to test your workaround as my bug was unrelated. I suspect that your workaround may help @dylanclark though! The default version of should probably be 14.37 given that it was 14.36 previously.

@dylanclark, in case of msvc tools we are providing several versions of VS workflows. This approach allows version to be specified in build settings.
And yet, how VS determines which version should be set as default leaves me confused as well. Latest version is not picked up, no matter which installation order is chosen. I managed to find a VS issue under investigation with similar symptoms, but it has been this way for quite some time.
I will close this issue for now. Feel free to reach out in case of further concerns

MSVC version 14.35 is out of support. Should we still support it?

@dylanclark, in case of msvc tools we are providing several versions of VS workflows. This approach allows version to be specified in build settings. And yet, how VS determines which version should be set as default leaves me confused as well. Latest version is not picked up, no matter which installation order is chosen.

VS2022 is by default using v14.37 (v143) right now. The default props will be placed under C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\Microsoft.VCToolsVersion.default.props.
However, if you install v14.35 at the same time, an extra props file will be placed under C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\Microsoft.VCToolsVersion.v143.default.props. This props file will cause the redirection of MSVC tool version.
Per my experience, removing files C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\Microsoft.VCToolsVersion.v143.default.* can also mitigate the issue.

Per my experience, removing files C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\Microsoft.VCToolsVersion.v143.default.* can also mitigate the issue.

Thank you for this.  It worked for me also.


Bring back the option to copy the kubeconfig

Detailed Description
In the old UI you were able to copy a cluster's kubeconfig to your clipboard.  In the new dashboard the only option seems to be to download it without selecting a destination. I would like a way to have a cluster's kubeconfig copied to my clipboard rather than downloaded.
Context
Often times I want the kubeconfig to go to a  particular location and it can be a pain to download it, open the file, copy it and then paste it where I need it.  This is especially true on WSL or a vm when the downloads folder is not easily accessible.

On 2.6-head commit id: 437516
Copy Kubeconfig to clipboard option is available


Added Catch him game

Added #4715
Kindly review and merge

Thank you @Khushi-Pushkar ,for creating the PR and contributing to our GameZone 💗
Review team will review the PR and will reach out to you soon! 😇
Make sure that you have marked all the tasks that you are done with ✅.
Thank you for your patience! 😀

Hey @Khushi-Pushkar I am facing trouble in forking this repo it is showing something like path invalid of some folder can you tell me how you forked this repo

Hey @nishant0708 . I was unable to clone the forked repository, so I made changes directly in the forked repository itself

Damm okk @Khushi-Pushkar thanks for helping

@kunjgit pls review and merge

@kunjgit pls review and merge

@kunjgit pls review and merge

@kunjgit @ishita-43 Kindly Review and merge

Thank you  @Khushi-Pushkar , for your valuable time and contribution in our GameZone 💗.
It’s our GameZone, so Let’s build this GameZone altogether !!🤝
Hoping to see you soon with another PR again 😇
Wishing you all the best for your journey into Open Source🚀


Move to go-chi/chi v5

This moves us to the latest chi release

This depends on https://github.com/owncloud/protoc-gen-microweb/pull/7. Will update once that is merged.

Just restarted CI. It looks it had some hiccups


Typing Subtitles (Like the Funki Karaoke Club Event)

Describe your problem here.
I'm trying to do an event that types text and removes it by time but I'm kind of stuck on it. The event should work as the event in Funki Funki Karaoke Club with their console text event (Gameplay of it is in here https://www.youtube.com/watch?v=ZFBPGgT2xbk&t=142s), it's not really shown until later in the video). It would be very helpful if someone could help me. If it helps, this is what I have so far.
function onEvent(name,value1,value2)
    local var string = (value1)
    local var length = tonumber(0 + value2)

    if name == 'Delete Dokis' then
        makeLuaText('delete', '', screenWidth, 0, 0);
        setTextString('delete', '' .. string)
        setTextSize('delete', 18)
        setTextAlignment('delete', 'left')
        setObjectCamera('delete', 'other');
        addLuaText('delete')
        runTimer('typeText', length)
    end
end

function onTimerCompleted(t,l,ll)
    if t == 'typeText' then
        removeLuaText('delete', true)
    end
end

Are you modding a build from source or with Lua?
Lua
What is your build target?
Windows x64
Did you edit anything in this build? If so, mention or summarize your changes.
No response

Flez is helping out so the issue is now closed


VS Code bicep extension, better intellisense remarks for resource names

Is your feature request related to a problem? Please describe.
I'd like to set a name for resources, but I have no guidance as to what names are valid for the different types of resources.
Describe the solution you'd like
It would be really great if these rules could be collated from the various teams / product docs, and used approproately by intellisense when editing bicep templates. For example I select the name property and hover over it with my cursor  I currently just get this:

This happens to be a storage account resource, so I would love to see something that tells me I need to provide a unique name accross all of azure here, and potentially that I can't use spaces or certain characters etc.

Closing as a duplicate of #1679


Init

It works well , only remains for me to try it against a server with multiple domains

@olimpo88 sorry, I totally forgot your pr. @dteleguin @puzzle1536 pointed me to this, because they updated your code to the latest jsxc version.
@dteleguin @puzzle1536 How should we proceed? I can delete this repo and link your repository on our homepage, or I can give you developer access to this repository. In the later case it would be nice if you could send me 2 or 3 lines about you at<EMAIL_ADDRESS>


Added the inspect protocol to Ecto.DateTime, Ecto.Date, and Ecto.Time

This addresses issue #641. The issue calls for implementing the inspect protocols on more than the DateTime modules. Initially I would just like to make sure I am on the right track.


Error in Settings editor

From @chrmarti

VSCode Version: Code - Insiders 1.9.0-insider (c74d41044d7928c3a4916f2d8b2301f6129ab727, 2017-01-31T13:11:16.234Z)
OS Version: Darwin x64 15.6.0
Extensions:

Extension
Author
Version

EditorConfig
EditorConfig
0.3.4

autofilename
JerryHong
0.1.3

vscode-simple-icons
LaurentTreguier
0.8.1

vscode-docker
PeterJausovec
0.0.11

azure-cli
chrmarti
0.2.0

regex
chrmarti
0.0.7

vscode-eslint
dbaeumer
1.2.2

ghlink
dt
0.0.4

tslint
eg2
0.8.1

vscode-scss
mrmlnc
0.6.0

PowerShell
ms-vscode
0.8.0

cpptools
ms-vscode
0.9.3

debugger-for-chrome
msjsdiag
2.4.2

diff
rafaelmaiolla
0.0.1

vscode-open-in-github
sysoev
1.3.1

Just seen, but does not reproduce:
shell.ts:437 Cannot read property 'clearFocus' of null: TypeError: Cannot read property 'clearFocus' of null
    at Array.<anonymous> (file:////Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/electron-browser/workbench.main.js:118:6917)
    at e.invoke (file:////Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/electron-browser/workbench.main.js:30:26950)
    at e.fire (file:////Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/electron-browser/workbench.main.js:30:30440)
    at t.clear (file:////Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/electron-browser/workbench.main.js:119:6290)
    at t.render (file:////Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/electron-browser/workbench.main.js:118:31119)
    at t.filterPreferences (file:////Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/electron-browser/workbench.main.js:118:22731)
    at t.filterPreferences (file:////Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/electron-browser/workbench.main.js:118:7741)
    at file:////Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/electron-browser/workbench.main.js:118:6957
    at Object.g [as _notify] (file:////Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/electron-browser/workbench.main.js:32:12333)
    at Object.enter (file:////Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/electron-browser/workbench.main.js:32:15911)e.onUnexpectedError @ shell.ts:437
messageService.ts:126 Unable to open 'settings.json': Cannot read property 'filterPreferences' of null.: Error: Unable to open 'settings.json': Cannot read property 'filterPreferences' of null.
    at t.doHandleSetInputError (file:////Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/electron-browser/workbench.main.js:132:787)
    at file:////Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/electron-browser/workbench.main.js:132:393
    at Object.v [as _notify] (file:////Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/electron-browser/workbench.main.js:32:12913)
    at Object.enter (file:////Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/electron-browser/workbench.main.js:32:15911)
    at _run (file:////Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/electron-browser/workbench.main.js:32:17739)
    at _completed (file:////Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/electron-browser/workbench.main.js:32:17180)
    at u (file:////Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/electron-browser/workbench.main.js:32:20718)
    at Y.then.o.(anonymous function) (file:////Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/electron-browser/workbench.main.js:32:20935)
    at Object.g [as _notify] (file:////Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/electron-browser/workbench.main.js:32:12333)
    at Object.enter (file:////Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/electron-browser/workbench.main.js:32:15911)e.doShow @ messageService.ts:126

@chrmarti Is there possibility to know how you get into this? Are you able to open the settings editor  after this? Where is this error shown? In the console or a message box ?

This was in both a message box and the console. The settings editor did not open with that attempt, but a retry succeeded without error, no reload/restart needed.

Hmm strange. Not sure what and how could have caused this. May be some undisposed listeners. I am cleaning up the code to fix such cases.

This would be fixed with latest refactorings

Also have not seen this.


[WIP] Fix: Improve the stabilities of PostgreSQL and DuckDB drivers

Description
PG

Remove the duplicated event register because it adds listeners for each request but never removes them.
Fix duplicated connection pools issue.
Add test cases for error handlers.

Issue ticket number
closes #106
Additional Context

Codecov Report
Base: 92.59% // Head: 92.72% // Increases project coverage by +0.12% :tada:

Coverage data is based on head (1e0baac) compared to base (4bb0e9a).
Patch coverage: 100.00% of modified lines in pull request are covered.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop     #120      +/-   ##
===========================================
+ Coverage    92.59%   92.72%   +0.12%
===========================================
  Files          265      265
  Lines         3972     3971       -1
  Branches       518      518
===========================================
+ Hits          3678     3682       +4
+ Misses         197      195       -2
+ Partials        97       94       -3

Flag
Coverage Δ

build
94.98% <ø> (ø)

cli
90.67% <ø> (+1.28%)
:arrow_up:

core
93.15% <ø> (ø)

extension-dbt
97.43% <ø> (ø)

extension-debug-tools
98.11% <ø> (ø)

extension-driver-duckdb
100.00% <ø> (ø)

extension-driver-pg
94.93% <100.00%> (+1.18%)
:arrow_up:

integration-testing
96.15% <ø> (ø)

serve
90.04% <ø> (ø)

test-utility
∅ <ø> (∅)

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

Impacted Files
Coverage Δ

...ckages/extension-driver-pg/src/lib/pgDataSource.ts
93.44% <100.00%> (+1.50%)
:arrow_up:

packages/cli/src/commands/start.ts
84.84% <0.00%> (+4.54%)
:arrow_up:

packages/cli/src/utils/shutdown.ts
90.47% <0.00%> (+4.76%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


VP gene request for PGx genes

From the PharmGKB group:
Please add the following genes to the VP, the priority being the "tier 1" (col G) genes https://docs.google.com/spreadsheets/d/1UINAH-BR3PiyvwDKuS-aZo6SZ_xZrG9v/edit#gid=376672979

It includes 6 genes (CYP2C9, CYP3A4, DPYD, ABCG2, G6PD, VKORC1) in tier 1, the rest of the 55 genes are grouped in tier 2.


Should flatten batch regenerate the trace number?

ACH Version: v1.19.2
What were you trying to do?
Create file with /files/create
{
	"fileHeader": {
		"immediateOrigin": "423423434",
		"immediateOriginName": "Testing Bank",
		"immediateDestination": "121042882",
		"immediateDestinationName": "JPMORGAN CHASE",
		"fileCreationDate": "220603",
		"fileCreationTime": "0330"
	},
	"batches": [
		{
			"batchHeader": {
				"serviceClassCode": 220,
				"companyName": "Testing Bank",
				"companyIdentification": "4234234",
				"standardEntryClassCode": "PPD",
				"companyEntryDescription": "PURCHASE",
				"effectiveEntryDate": "190102",
				"originatorStatusCode": 1,
				"ODFIIdentification": "12345678"
			},
			"entryDetails": [
				{
					"id": "",
					"transactionCode": 22,
					"RDFIIdentification": "12342343",
					"checkDigit": "8",
					"DFIAccountNumber": "9000286433423432",
					"amount": 8900,
					"identificationNumber": "USER",
					"individualName": "USER            ",
					"discretionaryData": "  "
				}
			]
		}
	]
}

then append batch with files/{fileId}/batches
{
	"batchHeader": {
		"serviceClassCode": 220,
		"companyName": "Testing Bank",
		"companyIdentification": "4234234",
		"standardEntryClassCode": "PPD",
		"companyEntryDescription": "PURCHASE",
		"effectiveEntryDate": "190102",
		"originatorStatusCode": 1,
		"ODFIIdentification": "12345678"
	},
	"entryDetails": [
		{
			"id": "",
			"transactionCode": 22,
			"RDFIIdentification": "12342343",
			"checkDigit": "8",
			"DFIAccountNumber": "9000286433423432",
			"amount": 8900,
			"identificationNumber": "USER",
			"individualName": "USER            ",
			"discretionaryData": "  "
		}
	]
}

finally call flatten batch with files/{fileId}/flatten, we get this response
{
	"error": "batch #1 (PPD) TraceNumber must be in ascending order,<PHONE_NUMBER>00001 is less than or equal to last number<PHONE_NUMBER>00001"
}

What did you expect to see?
Flatten batch should success and trace number get regenerated.
This is probably depends on use case where we either want to regenerate or keep the trace number. I think there should be a query parameter or something that would allow this to be regenerated or not.

I can reproduce this error and have an explanation of what's going on.
First off the entry is created without a trace number so the library assigns one (ODFIIdentification plus sequence value) which is expected behavior. We do this so folks can add a bunch of entries and read the trace numbers afterwords. The second batch is added in the same manor but because it's in a second batch the sequence number starts over. This is probably a bug and trace numbers should be automatically assigned according to their sequence order within the file (instead of the batch).
When flattening occurs that fails because the trace numbers were generated as the same value. We've said that Flatten / Merge operations on files will never modify the contents. If we started to modify trace numbers then callers who assigned a conflicting value would see malformed files (their trace numbers would change) and there'd be major bugs. Trace Numbers are often used as a primary method of looking up entries.
The easiest fix for you is to either assign Trace Numbers or add the entries within a batch.


Dragging node without selecting the node

Is it possible to drag a node, but don't select it?
I would like the user to be able to select a node only when they click on the node (single click), but not while they are dragging it.
Currently I am detecting "dragging" of node using below code:
	if(editor.node_selected && editor.drag) {	// dragging node 	}
But if I unselect the node when they start dragging, the "nodeSelected" event  still executes. So I can't place any code in that function because it will always fire when user is dragging the node.

Either you create a variable for nodeselect to skip or you can move nodes via javascript.

https://github.com/jerosoler/Drawflow/issues/112

Ok thanks.


Icon is changed to Logo of Medium.com when setting icon size to medium

I found a little funny bug when using Icon component of Semantic UI React.
I didn't test with normal Semantic UI library. I'm not sure it happened only Semantic UI React or both.
Steps

Use any Icon component
Set prop size to medium

Expected Result
The icon supposed to be bigger/smaller
Actual Result
The icon is changed to logo of Medium.com
Version
Semantic UI React 0.72.0
Testcase
https://codepen.io/khasathan/pen/OjKajo

Icon doesn't have medium size because it has medium icon, Semantic-Org/Semantic-UI#4793

Note, no size is the would-be "medium" size.

Isn't this fixable or what?
I don't see any reason why not to fix this. no size is medium size?  Even though a milisecond there is no reason for it's existence.
If you want I can fix this. Just open it.

It's not fixable, reason was described.

@rinormaloku you may want to take a look at the core SUI styles. Click the "Definitions" tab and scroll down to the examples for "Size". You could "fix" that all day long in this React project but that is literally not how the core markup and styles are written.
https://semantic-ui.com/elements/icon.html


Crud is not working

on
generate.php where is this files you mentioned 	require_once "vendor/autoload.php";
?

i ignored the vendor folder on commit.
to have it just type
composer install
on your working directory


HIVE-28497: Address CVE due to commons-codec:commons-codec:jar:1.11

What changes were proposed in this pull request?

https://issues.apache.org/jira/browse/HIVE-28497
Exclude commons-codec:commons-codec:jar:1.11 from org.apache.httpcomponents:httpclient
Why are the changes needed?

To address vulnerability sonatype-2012-0050
Does this PR introduce any user-facing change?

No
Is the change a dependency upgrade?

Yes
Before exclusion: before.txt
After exclusion: after.txt
How was this patch tested?

mvn dependency:tree -Dincludes=commons-codec:commons-codec:jar

@zhangbutao Could you please review?


Hotfix 1.12.5 to development

there are some conflicting files

there are some conflicting files

Thanks @jenniferboedker I missed those


Fix printer error responses from controller

Error responses from controller are not human printed properly.

Related #18

The API controller was deprecated, the k8s mutator fix this issue.


Create/Edit Page - Screenshots are only throwing errors for one screenshot image at a time

I added an image to the Preview Image that was greater then 1MB and tried to hit save and got an error for the Preview image. Then for the Full Size image I entered an invalid image type (bmp) and hit Save. I expected to see errors for both images I uploaded but I only saw an error for the Full Size image and not the Preview Image this time.

@bhalt can you take a look at the alert message
if the image is not the specified file type

if the image is too big

@akonsowski I assume this is tapping into the alert JS already used on that page?
Three suggestions on the language -

uncapitalize the "upload" in both titles
all caps on "JPG, PNG, or GIF" (no "e" needed in JPG, those are interchangable but JPG more common)
remove the space before the final period in both sentences

Looks good - thanks!

Followed above testing steps:
I added a jpg over 1 MB for Preview and a BMP ( invalid format) for Full size image.
I received errors for both individually.
I try to save the form and received a pop up," Could not save! Your listing could not be saved because you have errors!"
Both fields say ,"Must be a .png, .jpg, or .gif file and must be smaller than 1MB."
PASSED on latest.

Passed on Staging.


Assign Knowledge base Id programmatically

allow to assign knowledge base id when instantiating the Dialog, which allows the bot to choose between multiple knowledge bases

You can already specify knowledge base and subscription ID through the constructor when instantiating the QnAMaker dialog. This was added in a recent version.

Closing this as you can already achieve this by specifying the subscription and knowledge base ID via the constructor.


SSL fails sometimes on segment (non-debian OS / Mac)

The Issue
Saw this on Windows 7/Mac VMs and another user running Linux-4.19.20-1-MANJARO-x86_64-with-arch-Manjaro-Linux. Don't see any errors from the exchange rate manager, and I'm able to download USD priced videos.
It seems to be fine on Win 10 / Ubuntu.
Traceback (most recent call last):
  File "site-packages/aiohttp/connector.py", line 924, in _wrap_create_connection
  File "asyncio/base_events.py", line 975, in create_connection
  File "asyncio/base_events.py", line 1003, in _create_connection_transport
  File "asyncio/sslproto.py", line 526, in data_received
  File "asyncio/sslproto.py", line 189, in feed_ssldata
  File "ssl.py", line 763, in do_handshake
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1051)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "lbrynet/extras/daemon/analytics.py", line 84, in _post
  File "site-packages/aiohttp/client.py", line 1043, in __aenter__
  File "site-packages/aiohttp/client.py", line 476, in _request
  File "site-packages/aiohttp/connector.py", line 522, in connect
  File "site-packages/aiohttp/connector.py", line 854, in _create_connection
  File "site-packages/aiohttp/connector.py", line 992, in _create_direct_connection
  File "site-packages/aiohttp/connector.py", line 974, in _create_direct_connection
  File "site-packages/aiohttp/connector.py", line 927, in _wrap_create_connection
aiohttp.client_exceptions.ClientConnectorCertificateError: Cannot connect to host api.segment.io:443 ssl:True [SSLCertVerificationError: (1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1051)')]

System Configuration

LBRY Daemon version:
LBRY App version:
LBRY Installation ID:
Operating system:

Anything Else

Screenshots

Internal Use
Acceptance Criteria

Definition of Done

[ ]  Tested against acceptance criteria
[ ] Tested against the assumptions of user story
[ ] The project builds without errors
[ ] Unit tests are written and passing
[ ] Tests on devices/browsers listed in the issue have passed
[ ] QA performed & issues resolved
[ ] Refactoring completed
[ ] Any configuration or build changes documented
[ ] Documentation updated
[ ] Peer Code Review performed

This also causes https://github.com/lbryio/lbry/issues/1917 when we try to get the IP: https://github.com/lbryio/lbry/blob/master/lbrynet/extras/daemon/Components.py#L58

The Windows error went away after browsing a few websites (which downloaded ssl certs required). The Manjaro error (and other non-debian distros) is different because of how SSL certs are handled by our current binary. When building from source, it goes away. We can investigate and improve this down the road.

Suffering from this since upgrading to .32.2

This seems like a likely candidate for mac users. https://stackoverflow.com/questions/44649449/brew-installation-of-python-3-6-1-ssl-certificate-verify-failed-certificate

I'm getting this as well during my testing with lbry-desktop 0.29.1 (which uses lbry 0.32.3) on Solus (Linux). Attempted to update my local python-aiohttp to check if that was the issue and it was not.
This will be a blocker for deploying the latest lbry-desktop on Solus, since it prevents the use of the client entirely.

Thanks for the feedback @JoshStrobl...if you want some light (haha jk) reading around the topic, check out https://github.com/kennethreitz/requests/issues/2966

fixed by https://github.com/lbryio/lbry/pull/1965


Render json strings in popover of attributes table

Description
closes #2801
Self Check:
Strike through any lines that are not applicable (~~line~~) then check the box

[x] Attached issue to pull request
[x] Changelog entry
[x] Code is clear and sufficiently documented
[x] Sufficient test cases (reproduces the bug/tests the requested feature)
[x] Correct, in line with design
[x] ~End user documentation is included or an issue is created for end-user documentation (add ref to issue here: )~

Reviewer Checklist:

[ ] Sufficient test cases (reproduces the bug/tests the requested feature)
[ ] Code is clear and sufficiently documented
[ ] Correct, in line with design

Processing this pull request

Merged into branches master, iso5 in c58887f0216413437c29829a3c5dd341cf43a26e

Processing #2902.


Make mute icons red when in "muted" state

It would be easier to spot if the camera and microphone icon backgrounds were red when muted.

See #391, which also simplifies the SVG and IconSet code.


Carthage compatability/XCTest for tests

Sorry this pull request is a bit of a mess. I had to pretty much recreate the workspace and project files to get everything working. I'm submitting this for comments, since I'm sure it will need some review and changes.
Major changes:

modernized project file
target for building a dynamic framework
works with Carthage
ported all the tests to XCTest

The demo app works, but it looks like it could use some love to work with iPhone 6+.
I tried to run the crayola script, but it failed. I don't think it had to do with any of my changes, though. I think it might be some outdated js dependencies. I'm not familiar with npm/node, so I didn't look into it very deeply. Here's the stack trace:
npm install
npm WARN<EMAIL_ADDRESS>No description
npm WARN<EMAIL_ADDRESS>No repository field.
npm WARN<EMAIL_ADDRESS>No license field.
node generateCrayolaHash.js
/Users/jamhughes/src/EDColor/Scripts/node_modules/jsdom/lib/jsdom/level1/core.js:418
  set nodeName() { throw new core.DOMException();},
              ^^

SyntaxError: Setter must have exactly one formal parameter.
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:387:25)
    at Object.Module._extensions..js (module.js:422:10)
    at Module.load (module.js:357:32)
    at Function.Module._load (module.js:314:12)
    at Module.require (module.js:367:17)
    at require (internal/module.js:16:19)
    at Object.<anonymous> (/Users/jamhughes/src/EDColor/Scripts/node_modules/jsdom/lib/jsdom/level2/core.js:1:94)
    at Module._compile (module.js:413:34)
    at Object.Module._extensions..js (module.js:422:10)
make: *** [crayola] Error 1

Probably the most controversial thing I did was remove the Podfile. I just couldn't reconcile it with the desire to get a dynamic framework built. I did create a new project/Podfile and successfully installed EDColor from my repository using this Podfile:
platform :ios, '8.0'
use_frameworks!

xcodeproj 'Temp/Temp.xcodeproj'

target 'Temp' do
  pod 'EDColor', :git => 'https://github.com/jamezilla/color.git', :branch => 'carthage_compat'
end

Any feedback welcome!

That's a big PR! Thank you and I'll take a look. :+1:
Re: the crayola script. Good catch ... that is in need of an update too. I'll take a look during review.

Sorry... one more comment. I did not update the CONTRIBUTING.md docs. Before I go in there and start trashing things, I thought I would get some general feedback from you guys.

The Podfile is there to create the workspace, it looks like you've re-created the whole thing by hand? That sounds like a lot more work. There's no more CI working here, at the very least that needs to be fixed.
Is it possible to accomplish these things one-by-one without actually changing the structure of the project? Dynamic frameworks & al? Maybe @orta can pitch in on how people do it these days?

Updating any project to support frameworks via Carthage is gonna be a destructive PR, not really a way to do it incrementally as the tool has a pretty limited set of expectations. Nowadays I'd use pod lib create's structure to build libraries which are compatible for it, but even in that case it would still be a drastic change from the current setup.

But we want a top level Podfile to get everything Cocapods-enabled, right?

Well, this PR is about un-doing the work CP does automatically and having it done manually in the Xcode project. You shouldn't need to have a Podfile if it's set up that way. So long as you have a Podspec in the root, people can continue using forks etc.

Ok, I get this now. First, thanks for your work @jamezilla.
I am not against Carthage and it would be nice if this library worked with it, but this introduces a lot of work for everyone on this project moving forward, @thisandagain it's of course your call - my 0.02c to begin considering merging this PR is that we want a working CI in this pull request.

I'm happy to update the CI yml file. My oversight.

The Podfile is there to create the workspace, it looks like you've re-created the whole thing by hand? That sounds like a lot more work.
File > New > Workspace... Drag the old project files in. That's about it.

You don't even technically need a workspace. It just conceptually groups the two project files together. You can open either project file independently, compile, and run. The workspace isn't really doing anything.
@orta I just looked over the pod lib create documentation. I think there are some good ideas in there, but it seems to be awfully pod-centric - especially compared to the current master repo. For example, all the source code goes under Pods/Classes. This makes it very unintuitive to figure out how to use the source directly (sans CP), or with Carthage. Of course, I'm not the project maintainer, so I'll bend with the wind. Let me know what you all prefer. I'm happy to make any changes.

introduces a lot of work for everyone on this project moving forward

@dblock could you elaborate on this a bit? I suppose it's true that there is now a target to build the framework, and that target will have to be maintained. But otherwise, it would seem this PR reduces overhead. No require cocoapod dependencies. No OCTest dependencies. Anyone can pull and run the project without additional steps. It's very easy to dip your toe in the waters without having to ramp up on a whole slew of tools (apart from xcode).

I don't think we should be having a Carthrage vs. CocoaPods debate here, @thisandagain will decide what he wants.

Sorry didn't mean to close this, accidental click.

I really do appreciate the intent behind some of the design decisions Cartage has made. That said, I think I agree with @dblock and @orta 's sentiments that this would add more of a maintenance burden on the project and breaking CI is a blocker for me. @jamezilla one of your comments that I would absolutely like to address is:

all the source code goes under Pods/Classes. This makes it very unintuitive to figure out how to use the source directly (sans CP), or with Carthage

I think this is a great point and we should expand the documentation to cover both of these use-cases. In addition, I think updating the project files and migrating to XCTest is long overdue.
@jamezilla I'm curious how would you feel about the following scope:

Keep the existing CP structure (Podfile, workspace, etc.)
Add documentation to cover "Installing without CocoaPods" and "Installing with Carthage"
Update the XCode project
Migrate tests to XCTest
Update crayola build scripts to work with newer versions of node (we can handle this separately)

I think it is possible to reconcile the Carthage compatibility with the pod dependency, but it will result in a very confusing and needlessly complicated setup. You’d effectively have two build systems; one bootstrapped by a pod install and the other which is just pure Xcode. You’d use one in certain cases and the other in certain cases. I think it’s better not to conflate ‘build’ and ‘package’. The inability to simply add Carthage compatibility to the project is a symptom that the two are too tightly coupled.
Carthage has one requirement: a project file with a shared target which builds a dynamic framework. The shared framework target is analogous to the podspec file, or Package.swift for the swift package manager. It just happens to piggy-back on the native xcode definition of how to build the code instead of a third party specification file.
I also want to clear up some confusion. There's nothing about the PR which could be framed as Carthage vs. cocoapods. I'm not sure how that crept into the conversation. The project still supports both package managers - in the way every user of cocoapods and every user of Carthage expects. If anything this PR is more agnostic to package managers than the current master branch. In fact, I’m using this code in a substantial work-related project as a cocoapod. I want it to work with cocoapods.
If you guys can agree that adding a shared framework target to the project is beneficial, then I'm willing to bang this PR into whatever shape you want. I’ll even work around your desire to have the pod install dependency. But I think once you work with it you’ll agree it’s awkward and a far greater maintenance burden. If the shared framework target is the sticking point, then I'm afraid this PR is dead in the water.

@jamezilla The reason why this PR was framed as Cartage vs. Cocoapods is because you removed the latter, which wasn't necessary for the other changes AFAIK.
Thanks for bringing this PR into a :green_book: state. I don't think putting back CocoaPods just for the sake of it makes any sense from here, I'd be OK if this got merged, and thanks for your efforts. Will leave it to @thisandagain.

Something I didn't think about is that we no longer have anything in the build process that ensures that the library can be used via CocoaPods. Not sure if it's a problem.


docs: fix link to docs

Thanks for fixing this, won't be necessary for 0.6.0 but is very useful for the time being


proposed Module rename. -api => -http-client

Hi! We are considering renaming the IPFS Client libraries, please read more at https://github.com/ipfs/ipfs/issues/374 and comment if you are onboard.

@AliabbasMerchant go for it :)

I'll do it by this weekend, hopefully :+1:

Thank you @AliabbasMerchant :)

@AliabbasMerchant: So you'll submit a PR that renames this module and stuff?

Yes.
And what do we do with the repo name?? I suppose we leave it as it is...

@AliabbasMerchant it would be better to update it as well

Github is pretty good at redirecting when renaming happens :)

Oh. Cool. I didn't know that.

The more tricky thing will be renaming the Python library actually, since we'd either have to continue uploading it under both names or (again) deprecate the old one.
The best solution here is to use an “import redirect” to keep both versions working:

Upload a new version of the library under the new name
Create a totally new stub library with the same file structure as the current library that uses from <new-name> import * in each module to import the actual contents from the library's new import name and has a dependency on the actual library

The stub library should also emit a deprecation warning of course

Upload the newly created library under the old name

@AliabbasMerchant: Do you think you can create such a stub library as well to ease the transition for everybody?

On the other hand there are some design issues I'd like to see resolved that would necessitate breaking the API a bit. Most of these could be kept backward-compatible using simple wrappers, so I think I'll use this chance to fix some stuff under the new name and write wrappers in a stub module as I mentioned above for back-compat. Basically I mean I'll take care of the compat issue myself, so you no need for you to waste any time on this :slightly_smiling_face:

@all: py-ipfs-http-client v0.4.11 and py-ipfs-api v0.4.4 have finally been released! (The later now being a compat wrapper around the former.) Thanks everybody who helped make this happen! :confetti_ball:
@daviddias: Please change the name of this repo to py-ipfs-http-client. And can we have an entry in the IPFS newsletter for this? :stuck_out_tongue:
Also please add @AliabbasMerchant to the Python team, I offered him that title some time ago but unfortunately forgot about it.

Done.

@Stebalien: Thank you! Can you also add @AliabbasMerchant to the team while your at it? 😀

All renaming changes are done by now, closing.

I think I haven't been added to the team as yet. 😅

I know :slightly_frowning_face:
With the core team being so preoccupied its hard to get them to do the organizational changes required.
@Stebalien @daviddias @archingbrain @whyrusleeping: Please add @AliabbasMerchant to the Python team. (First one to act will receive this cookie: :cookie:)

@daviddias: You'll get your cookie! But first: It doesn't seem like @AliabbasMerchant is showing up on the team's member list (https://github.com/orgs/ipfs/teams/repos-python/members), you'll have to finish the job first. :wink:

@AliabbasMerchant needs to accept first

@alexander255 @daviddias I have accepted the invitation. Thanks a lot! 😃

@daviddias: Oh, I see! Here's a special cookie from me too:


Standardise Templates

Major update to the nginx OAuth2 templates to:

Standardise functions used across flows
Follow same execution flow across flows
Fix bugs with variable names and setup

closes #17 and #18

Looks like this reverted https://github.com/3scale/nginx-oauth-templates/pull/13


”Ogra”, ”Dileu Vechi”, ”Giuluș”, ”Lăscud”, ”Vaideiu” are listed in the drop-down menu

Description:
When user writes ”Ogra”, ”Dileu Vechi”, ”Giuluș”, ”Lăscud”, ”Vaideiu” the locations appear in the drop-down menu next to the comune and the county which is a part according to the law.
Precondition:
The website is up an running.

Step 1
Write in the search bar "Ogra"

Expected results
The location appears in the drop-down menu as "Sat Ogra, MUREȘ (Ogra)".

Step 2
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 3
Write in the search bar "Dileu Vechi"

Expected results
The location appears in the drop-down menu as "Sat Dileu Vechi, MUREȘ (Ogra)".

Step 4
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 5
Write in the search bar "Giuluș"

Expected results
The location appears in the drop-down menu as "Sat Giuluș, MUREȘ (Ogra)".

Step 6
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 7
Write in the search bar "Lăscud"

Expected results
The location appears in the drop-down menu as "Sat Lăscud, MUREȘ (Ogra)".

Step 8
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 9
Write in the search bar "Vaideiu"

Expected results
The location appears in the drop-down menu as "Sat Vaideiu, MUREȘ (Ogra)".


File sign problem.

I use the dnssec-keygen to generate two keys：
Kkbenet.com.%2B003%2B00851.key.+005+37875**.key**
Kkbenet.com.%2B003%2B00851.key.+005+37875**.private** and sign the zone with it.
The dns-tools have two key files(KSK and ZSK) to sign the zone, but its format is .pem.
The question is : if I want to use the key which is generated by  dnssec-keygen to sign the zone file, any methods can be adopted? Or do  I have anyway to change the .key and .private to .pem?

Hi! you have to change to .pem, we have not implemented reading the keys in another format (yet).


PromptPasswordsSigningConfig doesn't work with empty/absent key password

Tried to use PromptPasswordsSigningConfig, I've set a password only for the keystore, but not for the key. Here's what happens:
$ sbt android/android:package-release
...
Enter keystore password: *** I type my password here ***
Enter password for key 'my-key': *** I just hit 'Enter' ***
jarsigner: key associated with my-key not a private key
java.lang.RuntimeException: Error signing jar (exit code was 1.)
...
[error] (android/android:signRelease) Error signing jar (exit code was 1.)
[error] Total time: 30 s, completed 27-Jun-2015 19:27:49

Using PromptStorepassSigningConfig in this case works ok.

The default key password is the same as the store password. If requesting
both be prompted, both must be entered, even if identical.
--
Sent from my phone
On Jun 27, 2015 9:34 AM, "Evgeniy Tsvigun"<EMAIL_ADDRESS>wrote:

Tried to use PromptPasswordsSigningConfig, I've set a password only for
the keystore, but not for the key. Here's what happens:
$ sbt android/android:package-release...Enter keystore password: *** I type my password here ***Enter password for key 'my-key': *** I just hit 'Enter' ***jarsigner: key associated with my-key not a private keyjava.lang.RuntimeException: Error signing jar (exit code was 1.)...[error] (android/android:signRelease) Error signing jar (exit code was 1.)[error] Total time: 30 s, completed 27-Jun-2015 19:27:49
Using PromptStorepassSigningConfig in this situation works ok.
—
Reply to this email directly or view it on GitHub
https://github.com/pfn/android-sdk-plugin/issues/181.

All right, totally forgot this. Cause I've read it only once, though not so long ago.

Maybe it could warn/notify the user about this, cause it's totally not obvious.


Added the security section into CHANGES

To explicitly call out the future security fixes in Beam Java/Python/Go SDKs, we propose to add the new section (i.e., Security Fixes) to the template of CHANGES.md

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI or the workflows README to see a list of phrases to trigger workflows.

It has been long enough on dev@ thread that there is lazy consensus IMO, and this is really useful.

Great idea, thanks @liferoad!


Suggestion: autocomplete should be "opt-in" by pressing down arrow

Currently, when a user starts typing to search for a gene, pressing enter will confirm the first autocomplete suggestion.
It might be better if, instead, the user could choose to "opt-in" to the autocomplete results by pressing the down arrow key. This will ensure user is never unexpectedly taken to the wrong search result.

Matt is to check with Mark Daly if this is still an issue, or if #1127 resolved this.

Closing as stale and resolved by #1127


Include directly connected device for front/rear ports

Environment

Python version:  3.5.3
NetBox version:  2.5.4

Proposed Functionality
We highly appreciate the introduction of the cables/traces feature. But since we migrated all our panels from "interfaces" to front/rear ports my team complained about limited visibility about the connected devices/ports. You have to click on each cable in order to show the connected device.
Would it be possible to add the connected device/port in two columns behind "Connected Cable"?
Furthermore, showing the cable trace is only possible from the device view, not from the connected circuit. Would it be possible to add a "trace" button in the circuit view?
Use Case
Missing overview / details when viewing a patchpanel.
Database Changes
None.
External Dependencies
None.

@jeremystretch thanks for implementing. Now the front/rear ports shows Termination B of the cable. Which is the patchpanel/port itself. Would it be possible to always show the distant device/circuit the port connects to? From my point of view thats the important information when viewing patchpanels.

Thanks, I've opened #2844 to address this.