Add Erlang 24 to README and some more info on version matching

I see there's also a bit on "Authenticating with Postgres in Phoenix" in the README, but I'm not sure it fits there. Should we remove that example?

Maybe add an example using >0 as well?

Maybe add an example using >0 as well?

Thing is even though it's possible, it's kinda discouraged by the rest of the text: "For best results, we recommend specifying exact Erlang/OTP, Elixir versions, and rebar3 versions."
Let me hear "the others"; we'll figure something out. 😄 (I've brought this issue up in the past stating that we could also have a flag for strict-version: true, in which case we'd bypass the range finding).

@paulo-ferraz-oliveira

Thing is even though it's possible, it's kinda discouraged by the rest of the text: "For best results, we recommend specifying exact Erlang/OTP, Elixir versions, and rebar3 versions."

Do you know why it is discouraged? I wondered that already when reading the documentation the first time.

You usually want strict versions in CI to make it reliable. Otherwise you would automatically upgrade to new versions which can have breaking changes or bugs, this can cause issues if your CI is part of your deployment stack or does other critical things.

@ericmj Got it. Unless convinced otherwise, I would argue it is a good idea to use "latest" if you are developing a library that other people will use with perhaps newer versions than you tested with to get an early warning (of course, nothing prevents you from testing both a specific and a latest version).

I agree with Eric (we've touched this subject elsewhere before): CI needs to be repeatable, in most cases. However, if you want to also do CI for e.g. nightly builds, to check if your software is compatible with a new release, this is also a valid use case, and the one where version ranges make the most sense.

@ericmj, any thoughts on getting rid of the Phoenix bit? I'm not sure why it's there, to start with, but it doesn't seem to fit.

@eproxus wrote a nice gist on how to use the action with cache: https://gist.github.com/eproxus/d74315864fd6897bb47741e8de5bc980.
Over Slack he told me he's willing to either incorporate this in the README or create a new (e.g.) EXAMPLE_USAGE.md with basically the same content (via pull request).
We could also just point to his gist. Thoughts?

@paulo-ferraz-oliveira Drop the phoenix part imo.

@paulo-ferraz-oliveira Drop the phoenix part imo.

Done: https://github.com/erlef/setup-beam/pull/45/commits/5b6c41fe4a7b4ecf6eaf6022c6d862a1a2de185c

Yeah, agreed on the phoenix part. It's not exactly relevant to the project. The phoenix parts are things you need to know for using phoenix and postgres in docker containers in general 👍

Cool. I'm squash-merging, then.


create main branch

closes #14 #13 #8
As far as I could check, it is fully functional. Depending on the user choices, cookiecutter create a template tailored for the user needs. No more branches for different set of tools
Screencast from 29-01-2024 14:04:40.webm
Ready to be substitute the branches dvc-poetry and dvc-pip :)
A possible limitation I found is concerned the cookiecutter prompt dialog. For instance, is
  [5/6] Select data_version_control
    1 - yes
    2 - no
    Choose from [1/2] (1): 2

I cannot customize the dialog prompt "Select data_version_control". It is quite restrictive... I cannot even have something like "Select Data Version Control", since data_version_control comes from cookiecutter.json, which doesn't allow to have space character in the key value. I have no solution for that :( My idea was to have a much more verbose dialog prompt, like
  [1/6] What is your project name (Project Name):
  [2/6] What is your directory name (project_name):
  [3/6] What is the author name (Your Name):
  [4/6] Which Python package manager you want to use?
    1 - pip
    2 - poetry
    Choose from [1/2] (1): 2

A huge TODO: is the README.md, I barely touched it as I have no idea what you have in mind about it...

closes #14
As far as I could check, it is fully functional. Depending on the user choices, cookiecutter create a template tailored for the user needs. No more branches for different set of tools
Screencast.from.29-01-2<IP_ADDRESS>.webm
Ready to be substitute the branches dvc-poetry and dvc-pip :)
A possible limitation I found is concerned the cookiecutter prompt dialog. For instance, is
  [5/6] Select data_version_control
    1 - yes
    2 - no
    Choose from [1/2] (1): 2

I cannot customize the dialog prompt "Select data_version_control". It is quite restrictive... I cannot even have something like "Select Data Version Control", since data_version_control comes from cookiecutter.json, which doesn't allow to have space character in the key value. I have no solution for that :( My idea was to have a much more verbose dialog prompt, like
  [1/6] What is your project name (Project Name):
  [2/6] What is your directory name (project_name):
  [3/6] What is the author name (Your Name):
  [4/6] Which Python package manager you want to use?
    1 - pip
    2 - poetry
    Choose from [1/2] (1): 2

Thanks for the PR! For now, it's good enough to use the prompt dialog cookie-cutter support as the prompts are still readable.

I'm impressed with how quickly you worked on this. Btw, kudos for the excellent video that explains this.

Nice PRs. I added some comments and suggestions.

I added some comments and suggestions.

I am sorry, but where are your comments?

I couldn't find it...

Apparently, my comments were not "submitted". You should see them now

@khuyentran1401 I just required to close #8 when this PR get merged as I ran out the possibilities using Angreal instead of CookieCutter + Makefile (the current approach is better in overall). Do you agree with it?

@khuyentran1401 Also, if you want to initiate a new branch from scratch, please, create a new branch named main (or whatever you want to name it) so that I can change the target branch from dvc-poetry to it :)

I added some other changes to the main branch including:

Remove DVC as I found that it is not suitable for a lightweight template for multiple applications
Keep the pyproject.toml file for both pip and poetry as pyproject.toml provides extra configurations for black and ruff
Use Jinja template for README

After my trip to Vietnam (from Feb 8th to March 1st), I plan to post this template on LinkedIn and give a shoutout to you.
Test it out and let me know if you have any other suggestions. Thank you again for your contributions.

@khuyentran1401 I just required to close #8 when this PR get merged as I ran out the possibilities of using Angreal instead of CookieCutter + Makefile (our current approach is better in overall). Do you agree with it?

Yes, I will close that PR

give a shoutout to you

That would be the best reward I can ever get :)

let me know if you have any other suggestions

Hi Khuyen Tran! We may have some ideas regarding the Hydra directory structure, but it is not a bold suggestion, just an idea. Basing on the workflow I have, the current config structure does not cut it.  We can have a conversation about it to see if we find a common ground, if you find any of my ideas interesting for your Data Science structure, I can open a PR.
PS: Have a nice trip to Vietnam! I just arrived here in Spain :)

Hi @khuyentran1401 !
Just to refresh my mind, in the end, did you think this this idea of concentrating all templates into one branch is not that effective? I really don't remember why this commit wasn't merged :sweat_smile:

Hi @tapyu , your commits have been merged actually. If you look at the main branch now, you can use either poetry or pip

I added some other changes to the main branch including:

Remove DVC as I found that it is not suitable for a lightweight template for multiple applications
Keep the pyproject.toml file for both pip and poetry as pyproject.toml provides extra configurations for black and ruff
Use Jinja template for README
Use Jinja template for Makefile
Use Hydra version 1.2

After my trip to Vietnam (from Feb 8th to March 1st), I plan to post this template on LinkedIn and give a shoutout to you.
Test it out and let me know if you have any other suggestions. Thank you again for your contributions.

Here's the summarization of what I did


[Docs] Update handbook to include Provider API script template information

Problem

The documentation in the #technical-changes-making-contribution-easier section of the handbook is out of date, now that we actually have the template script.
Description

Add documentation on how to use the new template script, and remove language that is out of date.
Alternatives

Additional context

Implementation

[ ] 🙋 I would be interested in implementing this feature.

Done! https://make.wordpress.org/openverse/handbook/openverse-handbook/openverse-catalog/


Fix jsdoc syntax

This PR

Updates the Documentation

Describe the changes below:
Generating the docs was producing the following errors and warnings.
ERROR: Unable to parse a tag's type expression for source file D:\Small Projects\phaser\src\gameobjects\GameObject.js in line 58 with tag title "type" and text "{{integer|string}}": Invalid type expression "{integer|string}": Expected "#", "$", "(", ",", "-", ".", "/", "0", ":", "<", "=", "@", "[]", "\\", "\u200C", "\u200D", "_", "}", "~", Unicode combining mark, Unicode decimal number, Unicode letter number, Unicode lowercase letter, Unicode modifier letter, Unicode other letter, Unicode punctuation connector, Unicode titlecase letter, Unicode uppercase letter or [1-9] but "|" found.
ERROR: Unable to parse a tag's type expression for source file D:\Small Projects\phaser\src\gameobjects\GameObject.js in line 72 with tag title "type" and text "{{integer|string}}": Invalid type expression "{integer|string}": Expected "#", "$", "(", ",", "-", ".", "/", "0", ":", "<", "=", "@", "[]", "\\", "\u200C", "\u200D", "_", "}", "~", Unicode combining mark, Unicode decimal number, Unicode letter number, Unicode lowercase letter, Unicode modifier letter, Unicode other letter, Unicode punctuation connector, Unicode titlecase letter, Unicode uppercase letter or [1-9] but "|" found.
WARNING: The @type tag does not permit a description; the description will be ignored. File: List.js, line: 709
WARNING: The @type tag does not permit a description; the description will be ignored. File: List.js, line: 718
WARNING: The @type tag does not permit a description; the description will be ignored. File: List.js, line: 736
WARNING: The @type tag does not permit a description; the description will be ignored. File: List.js, line: 745
WARNING: The @type tag does not permit a description; the description will be ignored. File: List.js, line: 763
WARNING: The @type tag does not permit a description; the description will be ignored. File: List.js, line: 774
WARNING: The @type tag does not permit a description; the description will be ignored. File: List.js, line: 792
WARNING: The @type tag does not permit a description; the description will be ignored. File: List.js, line: 803

This was preventing me from being able to generate the docs locally (and possibly preventing this property from showing up on the docs?). I also removed the description on @type which were being ignored anyway.

👍


Train with one GPU

How to train with one GPU for debug?

Hi, you can set the --nproc_per_node=1 in this command for debugging.


Linting: Nicer multiline exports in init.py

Just to rebase #1075 on later and make diffs look nicer :)

Does this look good @soxofaan ?

yep, fine for me :)


Update instructions on how to use ArgoCD

With current safeguards (both ones in OPA and our general permission restrictions) in place, even the namespace-install.yaml fails.
We should update the documentation in the CI/CD section to show how one would go about using ArgoCD, presuming they have convinced their platform operator to install it.
And we should update the information such that the platform operator knows how to install it.

Related to https://github.com/elastisys/compliantkubernetes/issues/213, but not entirely overlapping, because this captures the needs of the application developer as well as platform operator.

Also related to https://github.com/elastisys/compliantkubernetes-apps/issues/461, which in retrospect may have been closed prematurely.

This issue can be closed now: https://elastisys.io/compliantkubernetes/user-guide/additional-services/argocd/


Make go mock an explicit dependency in tools

Summary
Prior to this commit, the go mock dependency was implicitly added by the openFGA dependency.
The latest openFGA update removed the implicit dependency and caused our CI to fail (see https://github.com/stacklok/minder/actions/runs/10347230154/job/28637107802?pr=4112)
Change Type
Mark the type of change your PR introduces:

[ ] Bug fix (resolves an issue without affecting existing features)
[ ] Feature (adds new functionality without breaking changes)
[ ] Breaking change (may impact existing functionalities or require documentation updates)
[ ] Documentation (updates or additions to documentation)
[x] Refactoring or test improvements (no bug fixes or new functionality)

Testing
Outline how the changes were tested, including steps to reproduce and any relevant configurations.
Attach screenshots if helpful.
Review Checklist:

[x] Reviewed my own code for quality and clarity.
[ ] Added comments to complex or tricky code sections.
[ ] Updated any affected documentation.
[ ] Included tests that validate the fix or feature.
[ ] Checked that related changes are merged.

coverage: 53.891% (-0.008%) from 53.899%
when pulling be6b712c7527bc9828506524a494fbaa012db574 on eleftherias:fix-tools-deps
into e438848a25bacfedc538d5f604e3490ec48b1683 on stacklok:main.


Return adaptation extra information

We currently only return the last state, the values of the parameter and the adapted kernel. However, the full chain and intermediate adaptation states can be useful when debugging inference.
In this PR we make window_adaptation, meads_adaptation and pathfinder_adaptation return this extra information. Closes #401.
The adaptation state and info are returned in the following NamedTuples:
class AdaptationResults(NamedTuple):
    state: PyTree
    kernel: Callable
    parameters: dict

class AdaptationInfo(NamedTuple):
    state: NamedTuple
    info: NamedTuple
    adaptation_state: NamedTuple

so the adaptation is ran e.g. as:
warmup = blackjax.window_adaptation(blackjax.nuts. logdensity_fn)
(state, kernel, parameters), info = warmup.run(rng_key, initial_position, 1000)

# OR
results, info = warmup.run(rng_key, initial_position, 1000)
state = results.state
kernel = results.kernel

IMO this feels clunky and a bit too high-level for Blackjax, mainly because of the fact that we return a kernel. I'm wondering if we should deprecate this way of doing things and favor instead the more explicit:
warmup = blackjax.window_adaptation(blackjax.nuts. logdensity_fn)
(state, parameters), info = warmup.run(rng_key, initial_position, 1000)
nuts = blackjax.nuts(logdensity_fn, **parameters)
hmc = blackjax.hmc(logdensity_fn, num_integration_steps=10, **parameters)  # we can also do this

+1 to deprecating returning a kernel. We had similar discussion some time back because returning kernel makes it difficult to vmap the warmup result (hence motivated the change https://github.com/blackjax-devs/blackjax/pull/276).
I think it should be reasonable to do this instead:
warmup = blackjax.window_adaptation(blackjax.nuts, logdensity_fn)
(state, parameters), info = warmup.run(rng_key, initial_position, 1000)
kernel = warmup._kernel_fn(**parameters)

# The below is not garentee to work (only works if the kernel are within the same family like hmc/nuts)
nuts = blackjax.nuts(logdensity_fn, **parameters)
hmc = blackjax.hmc(logdensity_fn, num_integration_steps=10, **parameters)

WDYT?

Basically, the abstraction being (mutation at different step):
# API level MCMC kernel
next_key, state = kernel.one_step(rng_key, last_state, **param)
# API level warmup kernel
next_param = tuning.one_step(param, state)

# User level sampling
tuned_param = blackjax.some_warmup_routine(...)
kernel_one_step = kernel.one_step(rng_key, last_state, **tuned_param)
for i in range(total_samples):
    rng_key, state = kernel_one_step(rng_key, last_state)

+1 to deprecating returning a kernel. We had similar discussion some time back because returning kernel makes it difficult to vmap the warmup result (hence motivated the change #276).
I think it should be reasonable to do this instead:

kernel = warmup._kernel_fn(**parameters)

We might as well call blackjax.nuts directly here, warmup._kernel_fn is not doing any work.


Sinful Absolution Use

Hey there, it looks like the sinful absolution use feature is capped at rank 1 in the version I pulled, I'm guessing the number should be higher otherwise the max uses is capped at 2.  I changed line 261 of SinfulAbsolution.cs to rank 10 to test and it seemed to do the trick.  I didn't calculate what the max rank should be with the mythic feat (probably 9?).  Anyways, hope this helps! Been having fun so far!
var SinfulAbsolutionUse = Helpers.CreateBlueprint<BlueprintFeature>("SinfulAbsolutionUse", bp => {
                bp.SetName("Sinful Absolution - Additional Use");
                bp.SetDescription("Once per day, a Dread Knight can reach out to the profane lords to grant sinful absolution to the forces arrayed against them. As a swift action, " +
                    "the Dread Knight chooses one target within sight to crush. The Dread Knight adds their Charisma bonus (if any) on " +
                    "their attack rolls and adds their Dread Knight level on all damage rolls made against the target of their unholy smite. Regardless of the target, sinful absolution " +
                    "attacks automatically bypass any DR the creature might possess. In addition, while Sinful Absolution is in effect, the Dread Knight gains a deflection " +
                    "bonus equal to their Charisma modifier(if any) to their AC against attacks made by the target of sinful absolution. The sinful absolution effect remains until the " +
                    "target of sinful absolution is dead or the next time the Dread Knight rests and regains their uses of this ability. At 4th level, " +
                    "and at every three levels thereafter, the Dread Knight may grant sinful absoltion one additional time per day.");
                bp.m_Icon = SinfulAbsIcon;
                bp.Ranks = 10;
                bp.IsClassFeature = true;
                bp.AddComponent<IncreaseResourceAmount>(c => {
                    c.m_Resource = SinfulAbsolutionResource.ToReference<BlueprintAbilityResourceReference>();
                    c.Value = 1;
                });
            });

Looks like oathbreakers bane might be the same way? Always possible I'm missing something haha.

Thank you for catching this! I haven't really had enough time to playtest and catch stuff like this, fixing it now! Will attribute the fix to you :)


Proposal: expose MultiError

One of the great things about semgroup over x/sync/errgroup is that it actually waits all tasks to complete and returns an error.
However, the returned error type doesn't let the caller to iterate over the errors (e.g. my use case requires me to truncate the list of errors).
Therefore, introducing a backwards-compatible change that exports MultiError type, and guarantees that Wait() method returns an error of this type.

LGTM, I believe I didn't expose it deliberately to force the caller to use errors.Is or errors.As, but it makes sense to expose it. I'll cut a release today.

https://github.com/fatih/semgroup/releases/tag/v1.3.0


Php 7.2 support: Cast to array when counting

Fixes #5

Coverage remained the same at 98.931% when pulling 22b3d7207a93994c20c2b0cccb2f44e911b4218b on daniel-de-wit:patch-2 into 32dc984f0acac21a9db6a9035fac233f707dd0c9 on czim:master.

Thanks for the suggestion! I've found a slightly cleaner way to prevent issues with uncountable values in PHP 7.2 -- the problem was with getMeta() in the modeltransformer.


Remove local dependency on platformshconfig

Right now Platform.sh is the only platform that requires an additional package to be installed locally. This requirement shouldn't exist; it's just checking for an environment variable. After removing this local dependency, Platform.sh deployments should be just as simple as deployments to Fly.io or Heroku.

[ ] Replace call to is_valid_platform() in platformsh_settings.py with a call to os.getenv().
[ ] Update integration test to not install platformshconfig.
[ ] Pass integration tests.
[ ] Update unit tests.
[ ] Merge
[ ] Release
[ ] Announce

Working notes

See is_valid_platform() source code. It just checks for APPLICATION_NAME in the environment. Note that there's also a reference to PLATFORM_APPLICATION_NAME in their sample settings.py file.

Implemented in #190.


_LlamaModel.metadata() does not return tokenizer.ggml.tokens

Prerequisites
Please answer the following questions for yourself before submitting an issue.

[X] I am running the latest code. Development is very rapid so there are no tagged versions as of now.
[X] I carefully followed the README.md.
[X] I searched using keywords relevant to my issue to make sure that I am creating a new issue that is not already open (or closed).
[X] I reviewed the Discussions, and have a new bug or useful enhancement to share.

Expected Behavior
The dictionary returned by _LlamaModel.metadata() should include tokenizer.ggml.tokens as a key, so the vocabulary of the model can be accessed from the high-level API.
Current Behavior
The dictionary returned by _LlamaModel.metadata() does not include tokenizer.ggml.tokens as a key, so the vocabulary of the model cannot be accessed from the high-level API.
Environment and Context
Running latest llama-cpp-python built from source - package version 0.2.76 at the time of writing.
Steps to Reproduce

Construct an instance of Llama
View Llama.metadata
Look for a key called tokenizer.ggml.metadata
Do not find it

For reference, here is the code I am currently using to read GGUF metadata from a file, including tokenizer.ggml.tokens.
This code is not as robust as the code currently in llama-cpp-python, but I have been using it for a long time and it does word as expected with various models - you can cross-reference with the llama.cpp backend output to verify this.
Hopefully this code can be useful as a reference while looking into this issue.
Thanks, @abetlen!

The problem is that the llama.cpp API does not return metadata arrays.
Using gguf.py to read metadata in the same fashion you do would solve that, but it would technically mean loading the model twice, which is not a good solution. :(

The code I shared doesn't load the model, it just reads bytes from the header of the GGUF file, unless I'm woefully misunderstanding something. Could you please clarify what you mean by loading the model twice?

I meant if going the route of side-loading the metadata it would probably be best using the official gguf.py, which even though it doesn't load the whole model into memory technically means you would open it twice and at least duplicate some of that data.
The better approach would be to add support for metadata arrays in the llama.cpp API, but I guess it is a little cumbersome to expose somewhat cleanly through a C ABI.

Oh, I see. I'll take a look at gguf.py and see if I can make a PR that would help sometime soon. Thanks

Do note that the currently published gguf.py is quite outdated compared to llama.cpp master branch, but hopefully it will get bumped soon.

I am working on a proper fix for this, but I have a lot I need to figure out before it's ready for review or anything: ddh0/llama-cpp-python-gguf


Jito for launches?

Does your code use Jito for bundling launches? Jito helps launch tokens and ensures buying before snipers. I searched for "Jito" in your code but found no references.
If you don't use Jito, does your SDK bundle creations/launches somehow to beat out snipers?

hello if you need any help tell me i will. help you

SamerElhamdo does this library pumpdotfun-sdk use Jito for launches?

@SamerElhamdo does this library pumpdotfun-sdk use Jito for launches?

This library doesn't use jito


querier: Add option for different gRPC client Loadbalancing options for StoreAPI

Currently if someone pass domain to --store of via file SD without dns loopups, the target is passed to gRPC DialContext which then if A lookup gives more than one response it loadbalance. However the default seems to be pickfirst not  roundrobin, which might be confusing for some cases, like e.g smoothing the traffic to multiple replicas of store gateways.
AC:

Add another --store and fileSD option to configure gRPC LB types

cc @devnev @mjd95

IMO we shouldnt really do this. I had a chat with grpc folks about 30min  dns refresh interval hardcoded into go grpc package and they said PRs changing that arent welcome. And it doesnt make sense for them to implement all of the LB strategies in all the languages. ATM its easier to run envoy, nginx, etc to do this. In future they are working on grpc lb server

Povilas Versockas @povilasv Mar 12 12:56
Hey, guys I've been looking at GRPC loadbalancing on Kubernetes and I would like to go with go-grpc client looking up DNS records and doing round robin loadbalancing. The only thing worries me is that right now the default DNS refresh interval is 30 mins (https://github.com/grpc/grpc-go/blob/master/resolver/dns/dns_resolver.go#L47) and there is no way to change it. Would you guys bee open for a PR, which makes this configureable? I was thinking to add option WithRefreshInterval(time.Duration) DialOption. Or do you guys generally recommend proxy solutions (like envoy) doing load balancing in K8s?

Eric Anderson @ejona86 Mar 12 17:20
@povilasv, please no. Even the current interval would like to be removed. Instead, use KeepaliveParams with MaxConnectionAge. When the client receives disconnects, it will refresh DNS.

Povilas Versockas @povilasv Mar 12 19:20
@ejona86 but what about the case where I scale up my replicas? in this case clients will never know about new servers for 30 mins?
IMO in ideal scenario grpc LB pool should be refreshed based on DNS record's TTL, no?

Eric Anderson @ejona86 Mar 12 20:05
@povilasv, you set the MaxConnectionAge as the longest you are willing to wait for the clients to rebalance. It works for scaling up.
TTL causes trouble because 1) we can't get it many times and 2) it causes stampeding herds when caching DNS servers are in play.
Note that most existing HTTP-based systems do not base anything off TTL. Instead, they just create new connections frequently.

Edgar Romero @alfasapy Mar 12 20:10
@ejona86 what are the drawbacks of a very short maxConnectionAge? Assuming that the maxConnectionAgeGrace is high enough to prevent in-flight request from being cancelled.

Eric Anderson @ejona86 Mar 12 20:12
It just creates more connections. At O(seconds) and definitely O(minutes) the connection cost is already amortized. There will be "hickups" of more latency when creating new connections.

Povilas Versockas @povilasv Mar 12 21:23
ok makes sense, thank you :)
I feel like this should be documented better, is there a place I could do that?

Eric Anderson @ejona86 Mar 12 22:17
It's not clear to me where that place would be.

Povilas Versockas @povilasv Mar 12 22:22
ok, thanks for the help, I really appreciate it

IMO pickfirst is pretty good LB as default, Grafana -> Thanos Query -> Thanos Store becomes sticky per user, meaning if grafana refreshes and send the query it will be in cache already.

Does Grafana caches anything? (:

I don't think it is good as it does not evenly loadbalance the load. At least we might want to add option of changing this for first iteration..
Wonder if some more customized LB makes sense then? That is aware of client context?

The only proper way to evenly balance the load and don't deal with upscale issues is to run sidecar proxies.
The only other option is to add maxConnectionAge to Thanos Store, Sidecar and Rule GRPC servers, which is super hacky and I wouldn't like that.
AFAIK the grpc lookaside loadbalancer, where grpc client would actually connect to lookaside server get it's routes from there and keep refreshing them is still in development
https://grpc.io/blog/loadbalancing/
So we don't really have any good options currently, a part from asking users to use sidecar proxies.

hmm maybe it's not that bad we could do something like on all of our grpc servers:
	grpcServer := grpc.NewServer(
		grpc.UnaryInterceptor(grpc_middleware.ChainUnaryServer(
			grpc_prometheus.UnaryServerInterceptor,
			grpc_recovery.UnaryServerInterceptor(),
			grpc_logrus.UnaryServerInterceptor(log.NewEntry(log.StandardLogger())),
		)),
		grpc.KeepaliveParams(keepalive.ServerParameters{
			MaxConnectionIdle:     10 * time.Minute,
			MaxConnectionAge:      5 * time.Minute,
			MaxConnectionAgeGrace: 1 * time.Minute,
			Time:                  2 * time.Minute,
		}),
	)

So I don't really understand the problem you are mainly trying to explain here. I don't think any dns refresh is needed. As you got answer is all about the broken connection and grpc client doing DNS lookup and choosing another host. Why is that problematic?
However the actual issue here is not about that. It's about loadbalancing method we can use. In fact we already use one (you have to use something), which is pickfirst. I vote we should have round robin available and maybe some sticky round robin as well that is aware of client. I am pretty sure there are existing Golang implementation of this on the wild (:

OK, so I talked with @povilasv offline and the issue with RR is:

upscale if you do round robin gprc client wont see the new node

(https://kubernetes.io/blog/2018/11/07/grpc-load-balancing-on-kubernetes-without-tears/)
Maybe it's right. I would then suggest using something like this:
https://github.com/improbable-eng/kedge/blob/9a6745fb10e47ef4da101bb8e1cafd329ca397a7/pkg/kedge/http/lbtransport/policy.go#L60
It's battle tested on our prod already.

@bwplotka Maybe you guys could seperate it out into a different go package?
As importing kedge doesn't seem reasonable :dagger:
A part from that :+1:

We can indeed. Let's get back to this. (:

Very needed, potentially blocking https://github.com/thanos-io/thanos/issues/3373
Also again mentioned here https://cloud-native.slack.com/archives/CK5RSSC10/p1604923594031700

Still valid.

Still valid.

I think it is still interesting.

Is this still relevant after we have endpoint group?


Output

Hi,
I am having trouble obtaining an output from Cellpose. After segmenting my images, I am unable to save the masks as PNG or ROI to load in ImageJ. I open my image in Cellpose, segment then type in the Anaconda Prompt the command lines (--save_png) and  (imagej_roi_converter.py) as per https://cellpose.readthedocs.io/en/latest/outputs.html but then nothing happens and I cannot proceed. I know nothing about Python and coding languages, so I would like to know what seems to be the problem? Any help? Please and thank you.

The proper platform for questions on how to use the software is the forum at https://forum.image.sc/tag/cellpose

Okay, thank you.


Animation inside wordpress is not smooth in chrome

Hi there !
First huge thanks for the good job.
It's so cool to play with your script :-)
I'm not a developer, so i'm not sure that it's a script issue but maybe someone experienced the same problem and could guide me :-)
On the WIP home page of my site i have a logo animation that run really well on firefox but seems to be slower in chrome.
The strange think is that it work well on chrome with the same code using codepen.
Do you know what could cause this issue ?
Thank's to give "a code newbie" the ability to play with animations :-)

@nowwwmad Glad you like Lottie :) This repo is for mobile apps. Please file this on https://github.com/airbnb/lottie-web


Moving the error handler to ballerina from transport level

This is related with https://github.com/wso2/carbon-transports/pull/236

@Asitha , Could you please verify, whether this fix is mergeable/valid with latest changes.

These changes are invalid now.


Add documentations for controlnet_conditioning_scale_map, alignment_ratio and alpha_weight

In utils/stable_diffusion_controlnet_inpaint.py, StableDiffusionControlNetInpaintMixingPipeline, three newly added params are not documented.

controlnet_conditioning_scale_map
alignment_ratio
alpha_weight

controlnet_conditioning_scale_map is a 2D tensor map for pixel-wise control_scale.
alpha_weight is the mixing strength with original image during denoising.
alignment_ratio is the control the number of steps to fill the original image during inpainting.

Will be added. Thanks for your notice.


How to remove a package?

I recently saw the README about just doing one submission to be included and all the new releases will be automatically added.
But how could one request to archive a package?
Does the bot handle it or would this require manual intervention?
I ask this specially given that some discussions pointed to the problems of depending in packages that depend on packages in other repositories, and maintainer might move let's say from the company repository to the project repository (with collaborators).

Fixed in #5.


Use balancer connection with metadata for operation service.

Pull request type

Please check the type of change your PR introduces:

[x] Bugfix
[ ] Feature
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] Documentation content changes
[ ] Other (please describe):

What is the current behavior?
2024-09-11T23:06:20.337+0300    WARN    middleware/errors.go:201        operation error {"app": "database", "request_id": "80c44aba-c7d5-4a67-89a6-55ca3c14100d", "method": "/Ydb.Operation.V1.OperationService/GetOperation", "operation_status": "TRANSPORT_ERROR", "issues": "", "grpc_status": "InvalidArgument", "error": "rpc error: code = InvalidArgument desc = Database not specified", "trace_id": "cb56e445d3a79eb3f233c8e006976537"}

Issue Number: N/A
What is the new behavior?
User balancer connection with metadata
Other information

Codecov Report
Attention: Patch coverage is 0% with 1 line in your changes missing coverage. Please review.

Project coverage is 42.37%. Comparing base (1b6f358) to head (2e9b4b2).

Files with missing lines
Patch %
Lines

driver.go
0.00%
1 Missing :warning:

:exclamation:  There is a different number of reports uploaded between BASE (1b6f358) and HEAD (2e9b4b2). Click for more details.
HEAD has 512 uploads less than BASE

Flag
BASE (1b6f358)
HEAD (2e9b4b2)

unit
89
1

go-1.21.x
48
1

ubuntu
92
1

go-1.22.x
47
0

macOS
30
0

go-1.23.x
56
0

windows
29
0

ydb-23.3
27
0

integration
54
0

ydb-24.1
27
0

ydb-nightly
8
0

experiment
8
0

Additional details and impacted files
@@             Coverage Diff             @@
##           master    #1454       +/-   ##
===========================================
- Coverage   67.77%   42.37%   -25.41%
===========================================
  Files         349      294       -55
  Lines       36249    26571     -9678
===========================================
- Hits        24569    11260    -13309
- Misses      10592    14834     +4242
+ Partials     1088      477      -611

Flag
Coverage Δ

experiment
?

go-1.21.x
42.37% <0.00%> (-25.80%)
:arrow_down:

go-1.22.x
?

go-1.23.x
?

integration
?

macOS
?

ubuntu
42.37% <0.00%> (-29.83%)
:arrow_down:

unit
42.37% <0.00%> (+0.97%)
:arrow_up:

windows
?

ydb-23.3
?

ydb-24.1
?

ydb-nightly
?

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

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


Quiet stack trace for invalid routes

Getting random requests for /ws or robots.txt or favicons that are spamming our logs..

@jsheu I was thinking, maybe we can silence the ones we can explain (robots.txt or favicon).


BHNT62 add hacks (missing one)

@k-nut @stefanhoth did you get the project information for the Adventure game?
Signed-off-by: Lucas Magasweran<EMAIL_ADDRESS>

@lucasrangit Thank you for the write-up.
I think it's best to merge now and point the group to the missing information.
PS: Official sign-off by the ieee. We're getting serious here 😉

:+1: just not sure about

Shortest Adventure Game Ever by
I would not create a link and add the by here - this is not good UX indicate there is a link when there is none..-)

I would not create a link and add the by here - this is not good UX indicate there is a link when there is none..-)

@ligi fixed in PR #218


[feat] user-deactivation-endpoint

Description
This endpoint allows an authenticated user to deactivate their account.

Related Issue (https://github.com/hngprojects/hng_boilerplate_nestjs/issues/65)

Motivation and Context
The purpose of the user deactivation endpoint is to allow users to deactivate their accounts, enhancing user control and data privacy.

How Has This Been Tested?
Test 200 status code and success message for successful deactivation
Test missing or invalid confirmation field
Test email is sent to the user upon deactivation
Test the full flow of the deactivation process.

Screenshots (if appropriate - Postman, etc):

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[x] I have added tests to cover my changes.
[x] All new and existing tests passed.

This two fields can't be added to existing migration
$table->boolean('is_active')->default(true);
$table->boolean('is_default')->default(false);

move it to a new migration by adding to the existing table

but I did that already by creating the migration files "add_status_to_users_table".
same goes for the "add_is_admin_to_roles_table"
Please, could you be more specific boss?
Thanks so much.

@tulbadex @bhimbho @Dev-Tonia I have reverted all the migration files I added and re-worked the project. I have also ensured my code passed all the tests both locally and on the PR.
Kindly review.
Thanks.


Add dunst service

Motivation for this change
Picking up #58209 and adding examples, defaults, and rebasing on master to fix merge conflicts.
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

Thanks for picking this up, I tested it on my system and looks good so far :)

There's something here that I'm not quite happy with when modifying the dunst configuration, and I think it has to do with it being a user service but I'm not too familiar with NixOS's management of that. I nixos-rebuild switch, and the systemd unit shows this line: Feb 06 14:07:45 dwtnixos systemd[1816]: dunst.service: Current command vanished from the unit file, execution of the command list won't be resumed.. I assume this is because NixOS is doing a daemon-reload on the user units, and the command changed because the config file changed. At this point, the new config is not loaded, but restarting the service will load it. However, testing this using notify-send (or any notification that I'm testing) seems to always start a new dunst process that does not use the right config.

Looking into the above some more it seems like the dunst process started by the systemd service isn't connected to the same dbus. Echoing DBUS_SESSION_BUS_ADDRESS in the service gives /run/user/1000/bus, which looks to be from nixos/modules/services/x11/display-managers/default.nix importing that variable. In my terminal however, the value of DBUS_SESSION_BUS_ADDRESS is different, unix:abstract=/tmp/dbus-YmXEExbzhH,guid=3303447c070ed8b1a512da0c601eef32. And a debugging command from the Dunst FAQ, shows no notifications service registered:
 $ gdbus call --session --dest org.freedesktop.DBus --object-path /org/freedesktop/Dbus --method org.freedesktop.DBus.ListNames
(['org.freedesktop.DBus', ':1.30', ':1.3', ':1.2'],)

until I start dunst in a terminal:
$ gdbus call --session --dest org.freedesktop.DBus --object-path /org/freedesktop/Dbus --method org.freedesktop.DBus.ListNames
(['org.freedesktop.DBus', 'org.freedesktop.Notifications', ':1.3', ':1.31', ':1.32', ':1.2'],)

which explains why it would autostart dunst when a notification was sent, and is indicative to me that indeed the systemd dunst is not connecting to the right bus.

I assume this is because NixOS is doing a daemon-reload on
the user units, and the command changed because the config file
changed.

Correct, nixos-rebuild switch will do a daemon-reload but won't
restart user servics. I'm not sure why, but it has been documented
in the manual1.

However, testing this using notify-send (or any notification that
I'm testing) seems to always start a new dunst process that does not
use the right config.

That's most likely due to dbus autostarting dunst, skipping the unit
file. I'm not familiar with dbus so I don't know how any of this work,
but you could workaround it buy placing the configuration file in
/etc/dunst/dunstrc, instead of overriding the ExecStart.

I'm not familiar with dbus so I don't know how any of this work, but you could workaround it buy placing the configuration file in /etc/dunst/dunstrc, instead of overriding the ExecStart.

I may have to do this if I can't pinpoint the problem soon. Right now I've found that I have three dbus-daemon processes running. Two "user" busses and one system bus. My hunch is there should only be one user bus. Here's a slice of my systemd cgroup tree:
           ├─user.slice
           │ └─user-1000.slice
           │<EMAIL_ADDRESS>           │   │ ├─dunst.service
           │   │ │ └─1876 /nix/store/yk40zknzxny71hcqyznjq48wyqw7pdjd-dunst-1.4.1/bin/dunst -config /nix/store/18nkzkwrvskzwz5vhijgzvhgxfrqhbdi-dunstrc -verbosity debug
           │   │ ├─dbus.service
           │   │ │ └─1879 /nix/store/d8ps9nn4fy4byhglqg27svsacg88wiyg-dbus-1.12.16/bin/dbus-daemon --session --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
           │   └─session-1.scope
           │     ├─1845 /run/current-system/sw/bin/dbus-daemon --syslog --fork --print-pid 5 --print-address 7 --session

Process 1845 is the one that's receiving notifications it seems. At the very least I see logs for the notifications I tested sending. Process 1879 doesn't seem to be logging anywhere, but I imagine that's the bus that dunst (process 1876) is connected to. My question now is: Why is dbus-daemon being launched under my session scope when there is a dbus service for it?
Because it may be relevant now: NixOS version 20.03.3324.929768261a3 (Markhor). I'll try upgrading to 20.09 and see if that fixes the issue.

Because it may be relevant now: NixOS version 20.03.3324.929768261a3 (Markhor). I'll try upgrading to 20.09 and see if that fixes the issue.
Upgrading to 20.09 seems to have fixed my issue. I saw a few issues related to dbus that were closed (I can't find them again now). Perhaps one of those fixed the duplicate daemons.

I'm going to experiment with the daemon-reload now and see if I can get the dunst service to reload with the new config.

It doesn't look like dunst provides any way to reload the configuration of a running process, and even if it did systemd daemon-reload doesn't seem to trigger the ExecReload line. So for now I'll guess I'll just live with the status quo that user services aren't restarted when nixos-rebuild is run. I'm satisfied with this as is.

For reference here is the dunst issue for implementing config reload in the future: https://github.com/dunst-project/dunst/issues/719

@RocketPuppy Are you still interested in landing this?

@abathur No, apologies. I don't have the time to wrap this up right now.

No worries :)
Just doing cleanup so that others don't try to pick it up. I'm going to tentatively close this, but I'm happy to reopen if you ping me.


Deploy NLP model

Done, deployed at:

Hugging face space: https://huggingface.co/spaces/Jwizzed/TaskToSubtask
Hugging face model: https://huggingface.co/Jwizzed/TaskToSubtask


Netpbm: CVE-2005-2471 not treated

Describe the bug
postPatch hook is failed for nixpkgs.netpbm, so -DSAFER not substituted by -DPARANOIDSAFER and CVE-2005-2471, mentioned in the default.nix, not treated.
To Reproduce
Steps to reproduce the behavior:
nix log nixpkgs.netpbm | head
Output:
patching sources
substituteStream(): WARNING: pattern '"-DSAFER"' doesn't match anything in file 'converter/other/pstopnm.c'

Expected behavior
postPatch hook successfully executed at the end of the patch phase.
Additional context
Seems default.nix should contain -dSAFER instead of -DSAFER and
-dPARANOIDSAFER instead of -DPARANOIDSAFER?
Metadata
Please run nix run nixpkgs.nix-info -c nix-info -m and paste the result.
 - system: `"x86_64-linux"`
 - host os: `Linux 4.19.87, NixOS, 20.03.git.3140fa8 (Markhor)`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.3.1`
 - channels(user): `""`
 - channels(root): `""`
 - nixpkgs: `/home/user/src/nixos/nixpkgs`

It appears that the original "-dSAFER" is already enough to mitigate the CVE-2005-2471. But since Arch still uses "-dPARANOIDSAFER", we might as well use that too.

Thanks, fixed.
I think the substitution warnings should be fatal by default, but that's a more general issue (and a "breaking" change).


[Discussion] Should we include null SLAs in zendesk__sla_policies?

Is there an existing feature request for this?

[X] I have searched the existing issues

Describe the Feature
Context
Currently, when we run the sla_count_match integrity data validation test using our internal dataset, we get a handful of failures, specifically that the zendesk__sla_policies end model is missing some SLA records present in the source ticket_field_history table.
Each of these missing records was a requester_wait_time SLA in which the SLA was either:

Applied to a ticket after the ticket was closed/solved, or
Applied to the ticket but there were no impacted status (where ticket_historical_status.status in ('new', 'open', 'on-hold', 'hold')) after the SLA was applied.

In both cases, the package filters out this sort of SLA record because it was never actually active. It's not even like the sla_elapsed_time = 0, it's really just all null.
Call to Action
So let this serve as a discussion thread -- would folks want these null records to persist to the zendesk__sla_policies end model? Are they helpful at all, or should we continue excluding them?
How would you implement this feature?
TBD
Describe alternatives you've considered
No response
Are you interested in contributing this feature?

[X] Yes.
[ ] Yes, but I will need assistance.
[ ] No.

Anything else?
No response

Discussed this with our internal engineering analysts, and they agree with the current implementation, in which inactive SLAs are excluded from zendesk__sla_policies
I will leave this ticket open for discussion in case other folks feel differently 🗣


BitmapFont won't read in GWT with gdx 1.9.5

Issue details
I've struggled to get BitmapFonts to read and load with GWT.  I believe it may be an issue with libgdx, as I've read a few different articles and gdx forum posts to the right approach for instantiating and rendering BitmapFont objects in GDX and tried many different variations on the recommendations.  I apologize if this is either a known issue or not the recommended usage.  Thank you for the great library.
Reproduction steps/code

Run latest (as of issue date) gdxsetup.jar (GDX 1.9.5) with default settings with desktop/html selected.
In MyGdxGame, add a field for a BitmapFont font and add the following to the create method:

                Gdx.app.setLogLevel(Application.LOG_DEBUG);
                Gdx.app.debug("Test", Gdx.files.internal("arial-15.fnt").readString());
                font = new BitmapFont(
                        Gdx.files.internal("arial-15.fnt"),
                        Gdx.files.internal("arial-15.png"), false, true)

Copy the arial-15.fnt and arial-15.png files out of the gdx lib into the assets folder.
Set a working directory to run from the assets folder, see the DesktopLauncher.main and see that it executes correctly, showing the font rendered and the contents of arial-15.fnt displayed in the console.

run gradlew html:dist, used python SimpleHTTPServer to serve from the html/build/dist directory
get a caught exception about inability to read the BitmapFont.

Version of LibGDX and/or relevant dependencies
GDX 1.9.5 with all defaults versions set from the gdxsetup.jar.  I've tried with Java 1.7 and 1.8, both oracle and openjdk on windows 7, centos, and ubuntu.  Results copied were with OpenJDK Runtime Environment (build 1.8.0_31-b13) and centos.
Stacktrace
You get the following caught exception, though the web server log indicates the font files served up and the log content showing the file *.fnt contents were successfully read.

Please select the affected platforms

[ ] Android
[ ] iOS (robovm)
[ ] iOS (MOE)
[X] HTML/GWT
[X] Windows
[X] Linux
[ ] MacOS

This has been fixed already. We'll get a new release out soon with the fix.

This weekend.
On Dec 14, 2016 8:09 PM, "Justin Shapcott"<EMAIL_ADDRESS>wrote:

This has been fixed already. We'll get a new release out soon with the fix.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/libgdx/libgdx/issues/4486#issuecomment-267126126, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAfYBHhreImnVJrdtrw--biluVZRUjbBks5rID7egaJpZM4LNQrG
.

Thank you, sorry I did a check through the issues to see if it was a duplicate.  Must have been to cursory.  Thanks again for all your effort.

I apologize for pinging a dead thread, but I was just curious if there was a bug release coming for this issue?  Was hoping to just bump the gradle version pointer up instead of applying the fix manually, but I still have a bit of time before it's needed.  Thank you again.

This seriously needs a bug fix release. I can't develop on snapshot if I'm doing regular GWT testing.

This appears to be fixed in 1.9.6 :)


SNOW-1348457:Fix Reading files from Stage with Snowpark.session.read + INFER_SCHEMA option causes an error if the filename has a whitespace

Please answer these questions before submitting your pull requests. Thanks!

What GitHub issue is this PR addressing? Make sure that there is an accompanying issue to your PR.
Fixes SNOW-1348457

Fill out the following pre-review checklist:

[ ] I am adding a new automated test(s) to verify correctness of my new code
[ ] I am adding new logging messages
[ ] I am adding a new telemetry message
[ ] I am adding new credentials
[ ] I am adding a new dependency

Please describe how your code solves the related issue.
Please write a short description of how your code change solves the related issue.

when reading a stage file with space in its name, we need to use single quote to surround that file name. Infer schema will produce error because it always add a pair of single quotes to the stage file it want to infer. I use util.unwrap_single_quote to remove single quote when infer stage file


License not specified

A license should be specified for these files, even if it is intended to be CC0 or similar.  Right now there is significant legal ambiguity about using the symbols even for open source projects, let alone commercial ones.
Thank you!

I added an Unlicense to it.


[timm][training][amp_fp32] mobilenetv2_100 and rexnet_100 failed to load

Test amp with dt: torch.float16

loading model: 0it [00:00, ?it/s]
loading model: 0it [00:08, ?it/s]
WARNING:root:rexnet_100 failed to load
Eager model failed to run
Traceback (most recent call last):
  File "/home/jovyan/pytorch/benchmarks/dynamo/common.py", line 1869, in validate_model
    self.model_iter_fn(model, example_inputs)
  File "/home/jovyan/pytorch/benchmarks/dynamo/timm_models.py", line 332, in forward_and_backward_pass
    self.grad_scaler.scale(loss).backward()
  File "/home/jovyan/.conda/envs/timm/lib/python3.10/site-packages/torch/_tensor.py", line 492, in backward
    torch.autograd.backward(
  File "/home/jovyan/.conda/envs/timm/lib/python3.10/site-packages/torch/autograd/__init__.py", line 251, in backward
    Variable._execution_engine.run_backward(  # Calls into the C++ engine to run the backward pass
RuntimeError: "hardtanh_backward" not implemented for 'Half'

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

Traceback (most recent call last):
  File "/home/jovyan/pytorch/benchmarks/dynamo/common.py", line 3451, in run
    ) = runner.load_model(
  File "/home/jovyan/pytorch/benchmarks/dynamo/timm_models.py", line 268, in load_model
    self.validate_model(model, example_inputs)
  File "/home/jovyan/pytorch/benchmarks/dynamo/common.py", line 1871, in validate_model
    raise NotImplementedError("Eager model failed to run") from e
NotImplementedError: Eager model failed to run

Not regression, lowered priority.

This should be fixed in https://github.com/intel/intel-extension-for-pytorch/commit/f496a32aed6d9ad4c70fcbbf2d3321a385affccb

Issue is no longer reproducible.
Env:

pytorch is built from source, top of the main trunk, commit_id - 9a8ab778d34bd24c5caceb340837483decc4c311
triton xpu is built from source, top of the main trunk, commit_id - fe93a00ffe438e9ba8c8392c0b051b1662c810de
benchmark is built from source, top of the main trunk, commit_id - d54ca9f80ead108c8797441681e219becaf963d8
torchaudio is built from source, top of the main trunk,  commit_id - 1980f8af5bcd0bb2ce51965cf79d8d4c25dad8a0
torchvision  is built from source, top of the main trunk,  commit_id -<PHONE_NUMBER>9e527f8b7e7b3340c40ee38bb1cfc4
PyTorch Dependency Bundle 0.5.0
Latest Rolling Driver


rtags: fix for linuxbrew

Fixes #1018

BrewTestBot gave this error:
brew update
curl: symbol lookup error: /home/linuxbrew/.linuxbrew/lib/libcurl.so.4: undefined symbol: SSL_CTX_set_alpn_protos

I haven't seen this error before.

Oh, I see why. A few lines before it uninstalls openssl.
==> brew uninstall --force homebrew/dupes/libedit llvm openssl python zlib

Why does it do so?

test-bot:

installs the formula's dependencies
installs the formula
removes the build deps of the formula
tests the formula
removes the formula
removes the deps of the formula
installs the newly built bottle of the formula along with its deps
tests the formula
removes the formula
removes the deps of the formula

==> brew install --only-dependencies --verbose --build-bottle rtags
==> brew install --verbose --build-bottle rtags
==> brew audit rtags
==> brew bottle --verbose --rb rtags --keep-old
==> brew bottle --merge --write --no-commit ./rtags-2.2.x86_64_linux.bottle.rb --keep-old
==> brew uninstall --force rtags
==> brew uninstall --force bzip2 cmake curl git gpatch makedepend pkg-config sphinx-doc xz
==> brew install ./rtags-2.2.x86_64_linux.bottle.tar.gz
==> brew test --verbose rtags
==> brew uninstall --force rtags
==> brew uninstall --force homebrew/dupes/libedit llvm openssl python zlib

My proposed solution is to have a list of essential build deps that are never removed.
Another solution would be to use brew missing to remove broken packages with missing deps.

What I don't understand is why curl is still installed but openssl has been removed.

Here's my list of essential dependencies of curl, git and gcc:
["zlib", "openssl", "glibc", "gmp", "mpfr", "libmpc", "isl", "curl", "expat"]

My attempt at a fix for the test-bot removing essential dependencies is in #1024.

Any plans on merging that one?

Please merge this patch. It's good to go! #1024 can wait for another day.

Thanks, Piotr!


External JS libraries

Anything we want to use? I'm thinking Bootstrap for our nav bar, at least

im good with it, yeah


Solved CMake build problems on Windows, especially with VS 2008

Original pull request by Mario Koerner (Bitbucket: Renreok, GitHub: Renreok).

This pull request solves issue #117 and the build problems discussed in pull request #243.

inttypes.h and stdint.h are not necessary, Coin defines its own types in this case. I adapted the CMakelist.txt file in pull request #232 to derive the right data types similar to how the old configure script did it.
Ensure that HAVE_WINDLL_RUNTIME_BINDING is set on Windows, otherwise e.g. GLU is not loaded.

Original comment by Roy Walmsley (Bitbucket: walroy, GitHub: walroy).

Great work, Mario. I'll merge it now.
Roy


Prevent tikv config from being overwritten and  Gracefully stop

What problem does this PR solve?

#106
#108

What is changed and how it works?

Prevent tikv config from being overwritten
Gracefully stop tiup run
Process the signal in playground

Check List
Tests

Manual test (add detailed scripts or steps below)

sh run.sh

nohup tiup playground nightly --kv.config=./tikv.toml --db=1 --pd=1 --kv=1 >tiup.log 2>&1 &
echo "$!"
The diff coverage is 20.20%.

@@            Coverage Diff             @@
##           master     #127      +/-   ##
==========================================
- Coverage   29.33%   28.90%   -0.43%
==========================================
  Files          17       19       +2
  Lines         958      948      -10
==========================================
- Hits          281      274       -7
- Misses        625      639      +14
+ Partials       52       35      -17

Impacted Files
Coverage Δ

cmd/help.go
5.88% <0.00%> (-4.29%)
:arrow_down:

cmd/run.go
0.00% <0.00%> (ø)

pkg/repository/component.go
0.00% <0.00%> (ø)

pkg/repository/mirror.go
0.00% <0.00%> (ø)

pkg/repository/version.go
78.26% <ø> (ø)

pkg/set/string_set.go
0.00% <0.00%> (ø)

cmd/uninstall.go
38.18% <12.50%> (-7.48%)
:arrow_down:

pkg/repository/file_source.go
14.81% <14.81%> (ø)

cmd/status.go
11.90% <20.00%> (ø)

cmd/clean.go
18.91% <33.33%> (ø)

... and 13 more

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 376b6fa...924991b. Read the comment docs.