Add description to labels on create issue

As above
Fix #9310

Codecov Report

Merging #9392 into master will decrease coverage by <.01%.
The diff coverage is n/a.

@@            Coverage Diff            @@
##           master   #9392      +/-   ##
=========================================
- Coverage    41.5%   41.5%   -0.01%
=========================================
  Files         569     569
  Lines       74308   74308
=========================================
- Hits        30843   30838       -5
- Misses      39627   39629       +2
- Partials     3838    3841       +3

Impacted Files
Coverage Δ

modules/process/manager.go
74.69% <0%> (-3.62%)
:arrow_down:

modules/log/event.go
64.61% <0%> (-1.03%)
:arrow_down:

models/repo_list.go
73.14% <0%> (-0.93%)
:arrow_down:

routers/repo/view.go
38.59% <0%> (-0.88%)
:arrow_down:

models/webhook.go
70.46% <0%> (+1.06%)
:arrow_up:

services/pull/temp_repo.go
34.18% <0%> (+2.56%)
:arrow_up:

Continue to review full report at Codecov.

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


ghc: Check if forcing LLVM for musl builds is still necessary

In #42455 the GHC builds were changed so that using musl implies compiling with LLVM.
The reason was:

Without this build fails complaining unable to find LLVM

We should check whether this is still the case, and if not, whether we should move back to GCC.
There's nothing wrong with using LLVM here, but using GCC would be the more standard and better-tested code path on Linux, so it may make sense for the musl build to not change 2 things at once (libc + compiler), as already changing one can sometimes reveal new bugs.

Further comment to consider from @dtzWill:

and lol we pass in llvm for... what, every single platform that's not x86_64-glibc?

CC @matthewbauer @Ericson2314 @nmattia

The build is still running, but for ghc864 and ghc865 it doesn't seem to complain about LLVM problems with musl at least during the early stages of the build (e.g. not during configure).

             Make sure you have installed LLVM 6.0

<no location info>: error:
    Warning: Couldn't figure out LLVM version!
             Make sure you have installed LLVM 6.0
ghc-stage1: could not execute: opt
make[1]: *** [libraries/base/ghc.mk:4: libraries/base/dist-install/build/cbits/CastFloatWord.o] Error 1
make[1]: *** Waiting for unfinished jobs....
ghc-stage1: could not execute: opt
make[1]: *** [libraries/ghc-prim/ghc.mk:4: libraries/ghc-prim/dist-install/build/GHC/Types.o] Error 1
ghc-stage1: could not execute: opt
make[1]: *** [libraries/ghc-prim/ghc.mk:4: libraries/ghc-prim/dist-install/build/GHC/Types.p_o] Error 1
make: *** [Makefile:127: all] Error 2
builder for '/nix/store/6nx8xfvqihs5385f61b5jny1r77vwd62-x86_64-unknown-linux-musl-ghc-8.6.4.drv' failed with exit code 2

Yeah looks like it's necessary for ghc

The resolution in https://github.com/NixOS/nixpkgs/commit/8a526589182e37c3bb66b637f1b8208ca901ff83 seems to be that if the flavour is set to perf-cross-ncg, it's not necessary.
Nice!

The merge is from PR #61336


[Feature Request] Add support for LiteLLM

Is your feature request related to a problem? Please describe
Hi admin
I have commented here: https://github.com/Filimoa/open-parse/issues/10#issuecomment-2214343987, but after that, I found here could be a better place to put this comment:
I would like to suggest adding support for Litellm.
Litellm is an open source project, which unifies the API call of 100+ LLMs (including Anthropic, Cohere, and Ollama, etc) in an OpenAI compatible format: https://github.com/BerriAI/litellm
I believe integrating Litellm would be a fantastic enhancement because people could choose to switch or use their preferred embedding model api instead of OpenAI's ones only when dealing with semantic processing. Thanks.
Describe the solution you'd like
For example, if they used litellm python client and without self hosting litellm proxy, then their code could be like this (which is very consistent with OpenAI python client format):

Reference: https://github.com/BerriAI/litellm
if someone self hosted litellm proxy, which they can call LLM API in an OpenAI compatible format via llmlite proxy, you could see the code could be as follows:

Reference: https://litellm.vercel.app/docs/providers/azure_ai#passing-additional-params---max_tokens-temperature
You can see if someone self host the litellm proxy, he will only need to change the openai's base url, and all the other code are similar as openai's one...
Reference: https://litellm.vercel.app/docs/proxy/user_keys
import openai
client = openai.OpenAI(
    api_key="anything",
    base_url="http://<IP_ADDRESS>:4000"
)

# request sent to model set on litellm proxy, `litellm --model`
response = client.chat.completions.create(
    model="gpt-3.5-turbo",
    messages = [
        {
            "role": "user",
            "content": "this is a test request, write a short poem"
        }
    ],
    extra_body={ # pass in any provider-specific param, if not supported by openai, https://docs.litellm.ai/docs/completion/input#provider-specific-params
        "metadata": { # 👈 use for logging additional params (e.g. to langfuse)
            "generation_name": "ishaan-generation-openai-client",
            "generation_id": "openai-client-gen-id22",
            "trace_id": "openai-client-trace-id22",
            "trace_user_id": "openai-client-user-id2"
        }
    }
)

print(response)

There are also quite a few projects that used litellm: https://litellm.vercel.app/docs/project to call models from different providers on LiteLLM.
Hope for consideration, thanks.
Related component
Libraries
Describe alternatives you've considered
No response
Additional context
No response

[Catch All Triage - 1, 2, 3]


Update index.md

Added Title Content!
Added Content

Good Job Learning More About What You Can Do With GitHub!


Specify name of class that static method is defined on

Question from @nixbox:

I am trying to use CXX. How do I declare a C++ static method under the cxxbridge extern "C"? More specifically, how can I specify the name of the class that static method is defined on? Would cxx_name take "Class::StaticMethod"?

This is not implemented yet but it just came up recently in #447 too. I do not like #[cxx_name = "Class::StaticMethod"] because the common case would be that you want either both sides to be methods or neither side to be a method; cxx_name makes it seem like you're dealing with a method on the C++ side and a free function on the Rust side.
In #447 I proposed:
extern "C++" {
    type Class;

    #[Self = "Class"]
    fn StaticMethod();
}

But for now the workaround is to add a header that contains a shim for the static member function you want to call.
extern "C++" {
    include!("my/shims.h");

    type Class;

    fn Class_StaticMethod();
}

// shims.h
#pragma once
#include "Class.h"

inline void Class_StaticMethod() {
  Class::StaticMethod();
}


clib: Add utility array functions to c_hash_table_t.

These two functions return either the values or keys of the
array in the form of 2D void pointers.

Thanks, I've pushed this to master. I just made some tiny K&R style tweaks.


Document printing does not work

Printing documents inside wine does not work because cups is not included in this AppImage. Windows applications cannot detect the printer.

I extracted this AppImage and copied cups-bsd and cups-client binaries + libcups-amd64 and libcups2-i386 and everything worked.
I think it would be good to include these in future releases if possible because it takes only 2.5-5 megabytes (without compression).

Shouldn't these pkgs come pre install in some distributions if not user can install them.
Also users that do print stuff have them install already.

I realized that printing does not work when I use a 32-bit prefix or 32-bit applications. Apparently it's because I don't have 32-bit libraries or something
Everything works only after these modifications are made

Hi, sorry for being late, I've added cups libs so can you test again for printing that would be great.

no response closing.

Hello! My printer is broken, so I won't be able to test this feature right now. I will try to test the print function later


It would be great if the profiles used for weather data were exportable

I love the weather conditions feature. Love it. I do find myself wondering what data is behind it. It would be great if users could download the weather data to a CSV, so they can plot it. I am thinking:

temperature curves
wind onshore, coastal and offshore curves
solar PV curves (and later solar thermal)

Alternatively, these files could be placed in the documentation section of this feature (which I haven't been able to find).

Aha, the documentation is here: https://github.com/quintel/etdataset/blob/weather_years/curves/supply/wind/script/weather_years/README.md

The CSV is actually already present in the datasets on ETSource; it's called weather_properties.csv. I agree that we should refer to these files in the documentation.

It would indeed also be cool if there would be a download link to these weather properties.

Actually the production profiles of wind and solar can already be downloaded in the data dump: Results > Data export > Merit order price > Load curves. Shall we refer to this data dump in the climate documentation on GitHub when we'll update it? Only the temperature profile cannot be downloaded, but we can refer to KNMI for that I would say.

Actually the production profiles of wind and solar can already be downloaded in the data dump: Results > Data export > Merit order price > Load curves. Shall we refer to this data dump in the climate documentation on GitHub when we'll update it?

Good to know. I don't think people can find it there without help. A link from the documentation section or even a mention on the page itself would help. Also, should the normalized profiles, rather than only the production curves be downloadable too?

Also, should the normalized profiles, rather than only the production curves be downloadable too?

I think that that's not needed. People interested in these profiles could do that themselves I think :)

Okay to close this issue?


kmlExport-ADE-support

This PR enhances the KML/COLLADA/glTF-Exporter to support CityGML ADEs

Thanks @yaozhihang, very cool contribution. With this PR, we have now interfaces for all major operations of the Importer/Exporter that allow for implementing support for CityGML ADEs .


Calculation issue?

I believe I found a calculation issue which may cause Panic in some situations :D. Review the image for details. I have already checked the server, disk and log file size and so on.

Hi,
This is by design with the default configuration but you can change it.  Your log file has used almost all of the available space and will need to grow if it's not able to reuse the existing space soon.  Expanding log files can have a performance impact as it needs to zero out the space (instant file initialization doesn't apply to logs).  The performance impact will depend on the growth amount, the speed of your drives, and how often it needs to grow.   It's probably not a huge impact but it's better to have the space pre-allocated so it only grows in exceptional circumstances.  A growing log file could indicate a long-running open transaction that might need to be investigated.
You could configure DBA Dash to only alert you if the log file has auto growth disabled.  This is the default for data files.

Select configure root threshold. (Or it can be configured at the database or instance level)
Click the Log tab.
Check zero autogrowth only

Hope this helps

Thank you 😊


Fix Minor Bugs

Umbrella issue to aggregate work on the following issues:
#1656, #1653, #1651, #1646

#1608 too

#1687 too


Upgrade to RAML 1.0

This lets us at least build with a fresh install of RAML2html

I also wired in /universe since I missed that…


Rename is_arraylike to is_duck_array

Based on some recent discussion, in particular this comment ( https://github.com/dask/dask/pull/7321#issuecomment-791243195 ), it would be good to rename is_arraylike to is_duck_array for clarity and possibly update the docstring of this function to reflect its intended usage.
cc @shoyer @pentschev @jrbourbeau

I think we need to have more discussion about this proposal especially since there are other methods that might benefit from a rename  is_dataframe_like.
@dask/maintenance for visibility

@jsignell were talking through this a bit and thought about adding to the docstring something along the lines of:
This function tests specifically for an object that already has array
attributes (e.g. np.ndarray, dask.array.Array) not for something that
can be coerced into an array object (e.g. list, tuple).

Any thoughts on this?

Beyond that, a quick
fd -t f -x gsed -i -e 's/is_arraylike/is_duck_array/g' {} \;

does the trick to rename all occurrences to is_duck_array, is more discussion around this necessary or would a PR be the next step?

@shoyer @pentschev @jrbourbeau, any more thoughts here? 🙂

I'm fine with changing that as per @douglasdavis' proposal. However, I often forget about small details so it'd be great to hear from @shoyer and @jrbourbeau if they see anything missing.

Remind me what the use case for this function inside dask is?
If it's specifically for testing valid duck array types to return from computing a dask array, then this looks right to me.
With regards to the proposed docstring addition: it seems a little funny to include pandas.Series as an example of a "duck array" because it doesn't work like a numpy.ndarray object. Nor does pandas.Series implement __array_function__ (at least not yet, and perhaps not ever): https://github.com/pandas-dev/pandas/issues/26380

Stephan Hoyer @.***> writes:

With regards to the proposed docstring addition: it seems a little
funny to include pandas.Series as an example of a "duck array" because
it doesn't work like a numpy.ndarray object. Nor does pandas.Series
implement array_function (at least not yet, and perhaps not ever):
pandas-dev/pandas#26380

Mistake on my end, thanks for pointing that out.

I had to search a bit through docs to find rationale here.  Apparently numpy uses the term "array-like" to mean "anything that could be coerced into an array, like a list".  Quote from numpy docs:

“Duck array” works fine as a placeholder for now, but it’s pretty jargony and may confuse new users, so we may want to pick something else for the actual API functions. Unfortunately, “array-like” is already taken for the concept of “anything that can be coerced into an array” (including e.g. list objects),

If there isn't a great pressing need here I'm inclined to just keep this as it is.  I understand that we conflict a bit with an internal nuance of Numpy's naming, but "duck array" seems only interpretable to a select few of us.  I don't think that it's a good name.  I think that it's more likely that a new dev will be confused by "duck array" than by "is_arraylike", so if this isn't blocking anyone's productivity today I recommend that we keep things as we are.

I recommend that we keep things as we are

That sounds good to me. In that case, I think it'd be helpful to include a sentence in @douglasdavis's proposed docstring that points out this inconsistency with what numpy means by array_like.

+1 expanding the is_arraylike docstring sounds great

I think we can be very verbose in that docstring since it's mostly targetting other dask developers and developers of downstream libraries ( aka not normal users)

Updating the docstring makes sense and also was one of the suggestions in the PR from which this issue was spun out
Agree this is mainly an internal function (does it see outside usage?) and as such it is mostly important that the group here understands its purpose


Adding support for Flags-based enumerations.

:white_check_mark: Build ExtendedXmlSerializer <IP_ADDRESS>-plnyubsx completed (commit https://github.com/ExtendedXmlSerializer/home/commit/d7b2f4c5ba by @Mike-E-wins)
Install it by running the following command in Package Manager Console:
Install-Package ExtendedXmlSerializer -Version <IP_ADDRESS>-plnyubsx -Source https://ci.appveyor.com/nuget/extendedxmlserializer-preview

:white_check_mark: Build ExtendedXmlSerializer <IP_ADDRESS>-aplwqasv completed (commit https://github.com/ExtendedXmlSerializer/home/commit/d3863897c4 by @Mike-E-wins)
Install it by running the following command in Package Manager Console:
Install-Package ExtendedXmlSerializer -Version <IP_ADDRESS>-aplwqasv -Source https://ci.appveyor.com/nuget/extendedxmlserializer-preview

:white_check_mark: Build ExtendedXmlSerializer <IP_ADDRESS>-gefrxkuu completed (commit https://github.com/ExtendedXmlSerializer/home/commit/8790089f0a by @Mike-E-wins)
Install it by running the following command in Package Manager Console:
Install-Package ExtendedXmlSerializer -Version <IP_ADDRESS>-gefrxkuu -Source https://ci.appveyor.com/nuget/extendedxmlserializer-preview


UPSTREAM: : Upgrade DSP api/go.mod package versions

Description of your changes:
resolves: https://issues.redhat.com/browse/RHOAIENG-7308
Implemented fixes on my fork and tested out by importing the fork in my personal snyk account and making sure the CVEs were eliminated.
Checklist:

[ ] The title for your pull request (PR) should follow our title convention. Learn more about the pull request title convention used in this repository.

Commit Checker results:
**NOTE**: These are the results of the commit checker scans.
If these are not commits from upstream kfp, then please ensure
you adhere to the commit checker formatting

commitchecker verson unknown
Validating 0 commits between f3fbc2cfba32098ae1902ec8afa8d9661a2b30b0...2bf529fe091b2bcb589e7ed90990fec428ba6fd4

An OCP cluster where you are logged in as cluster admin is required.
The Data Science Pipelines team recommends testing this using the Data Science Pipelines Operator.  Check here for more information on using the DSPO.
To use and deploy a DSP stack with these images (assuming the DSPO is deployed), first save the following YAML to a file named dspa.pr-54.yaml:
apiVersion: datasciencepipelinesapplications.opendatahub.io/v1alpha1
kind: DataSciencePipelinesApplication
metadata:
  name: pr-54
spec:
  dspVersion: v2
  apiServer:
    image: "quay.io/opendatahub/ds-pipelines-api-server:pr-54"
    argoDriverImage: "quay.io/opendatahub/ds-pipelines-driver:pr-54"
    argoLauncherImage: "quay.io/opendatahub/ds-pipelines-launcher:pr-54"
  persistenceAgent:
    image: "quay.io/opendatahub/ds-pipelines-persistenceagent:pr-54"
  scheduledWorkflow:
    image: "quay.io/opendatahub/ds-pipelines-scheduledworkflow:pr-54"
  mlmd:
    deploy: true  # Optional component
    grpc:
      image: "quay.io/opendatahub/mlmd-grpc-server:latest"
    envoy:
      image: "registry.redhat.io/openshift-service-mesh/proxyv2-rhel8:2.3.9-2"
  mlpipelineUI:
    deploy: true  # Optional component
    image: "quay.io/opendatahub/ds-pipelines-frontend:pr-54"
  objectStorage:
    minio:
      deploy: true
      image: 'quay.io/opendatahub/minio:RELEASE.2019-08-14T20-37-41Z-license-compliance'

Then run the following:
cd $(mktemp -d)
git clone git@github.com:opendatahub-io/data-science-pipelines.git
cd data-science-pipelines/
git fetch origin pull/54/head
git checkout -b pullrequest 2bf529fe091b2bcb589e7ed90990fec428ba6fd4
oc apply -f dspa.pr-54.yaml

More instructions here on how to deploy and test a Data Science Pipelines Application.

Commit Checker results:
**NOTE**: These are the results of the commit checker scans.
If these are not commits from upstream kfp, then please ensure
you adhere to the commit checker formatting

commitchecker verson unknown
Validating 0 commits between 2aacfe2781c01939e087e188cdb04a0e117bfb2c...a54c07ff358a53ea47962928d376657a195d24bf

Change to PR detected. A new PR build was completed.
A set of new images have been built to help with testing out this PR:
API Server: quay.io/opendatahub/ds-pipelines-api-server:pr-54
DSP DRIVER: quay.io/opendatahub/ds-pipelines-driver:pr-54
DSP LAUNCHER: quay.io/opendatahub/ds-pipelines-launcher:pr-54
Persistence Agent: quay.io/opendatahub/ds-pipelines-persistenceagent:pr-54
Scheduled Workflow Manager: quay.io/opendatahub/ds-pipelines-scheduledworkflow:pr-54
MLMD Server: quay.io/opendatahub/mlmd-grpc-server:latest
MLMD Envoy Proxy: registry.redhat.io/openshift-service-mesh/proxyv2-rhel8:2.3.9-2
UI: quay.io/opendatahub/ds-pipelines-frontend:pr-54

since you updated go.mod, you'll need to update the license CSVs. you can do that by simply running make all in backend/

since you updated go.mod, you'll need to update the license CSVs. you can do that by simply running make all in backend/

resolved this in https://github.com/opendatahub-io/data-science-pipelines/pull/56

/approve

Commit Checker results:
**NOTE**: These are the results of the commit checker scans.
If these are not commits from upstream kfp, then please ensure
you adhere to the commit checker formatting

commitchecker verson unknown
Validating 0 commits between 50c0275e60ebd028c36b94dae17c0aacf0d03afd...a54c07ff358a53ea47962928d376657a195d24bf


rust: Fix Rust 1.6.0 build

Fix bootstraping of Cargo by using a newer snapshot of Cargo compatible with the current version of crates.io

What error message without this patch are you trying to fix? Please report brew gist-logs rust.
Can you test on Mac, and does this issue also affect Mac OS? If so, please send this patch upstream to Homebrew/homebrew.

Looks potentially related to #412.

@palad1 new versions of Rust/Cargo were committed here.
Does the problem still occur for you?

I believe the cargo resource has been bumped to 0.9.0 by upstream Homebrew and merged into Linuxbrew, resolving this issue.


[Feat]: Open-Source ML platform tool

What feature?
I would like to add Mindsdb an Open-Source Machine Learning platform tool.
MindsDB is an open-source machine learning platform that simplifies the process of building predictive models. It empowers users with automated machine learning capabilities, enabling them to easily analyze and predict outcomes from their data. MindsDB aims to democratize AI by making it accessible to non-technical users.
Add screenshots

Code of Conduct

[X] I agree to follow this project's Code of Conduct

I dont think this is free

Oh yes sorry, but it's an open source community too. Contributors can use this to deploy their projects, contribute, join hackathons, etc.
Here's a link to the website- https://mindsdb.com/


I can't find InitString()

Hello, I want to use your lib to add banner to my program, but when I trying to run your title example, go can't find InitString method and GoLand shows only Init and SetLog methods. Also, if I try to replace InitString with Init and convert templ to bytes, like in your quickstart, it just don't show anything.
Strange cause I downloaded your repo now and with your repo it works, maybe cause my go 1.15 version? I see 1.11 in your go.mod

That is very strange. The InitString function can be found in banner.go file. https://github.com/dimiro1/banner/blob/master/banner.go#L75

I have the same problem.
I can't find InitString() in banner.go
I use go get github.com/dimiro1/banner
My banner.go is different from banner.go in your github.
I don't know why.

I have the same problem.
I can't find InitString() in banner.go
I use go get github.com/dimiro1/banner
My banner.go is different from banner.go in your github.
I don't know why.

You both are using an old release. I just issued a new version [v1.1.0] that will address this issue.

You both are using an old release. I just issued a new version [v1.1.0] that will address this issue.


Prevent options from overriding instance methods

If you have something like:
new follow.Feed({follow: false})

as cradle has, then your Feed instance will be bonkers (#follow will be false).
This PR adds a simple check that makes sure that options can't override instance's functions. A better solution would be perhaps to have a white-list of options that Feed accepts or just keep options as-is in #options instead of augmenting the instance itself.

Thanks!


Use toHaveBeenCalledTimes and toHaveBeenLastCalledWith in examples

Summary
I think .mock.calls.length is a little bit out of Jest style to be features in official docs.

Test plan

Codecov Report

Merging #5078 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #5078   +/-   ##
=======================================
  Coverage   60.75%   60.75%
=======================================
  Files         198      198
  Lines        6607     6607
  Branches        4        4
=======================================
  Hits         4014     4014
  Misses       2593     2593

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 5d24695...947a848. Read the comment docs.

That's awesome, thank you for improving our docs!


Is exo4jax ready for testers?

I recently started playing with JAX and I really like it so far. I wanted to use it to fit exoplanet timeseries (RV + relative astrometry) and saw that this repo exists (via this Gist). I understand this is a work in progress and that exoplanet is still the stable option (as discussed here: https://github.com/exoplanet-dev/exoplanet/issues/234#issuecomment-1233267544).
However, I was wondering if this package is mature enough for other users to test it on their projects in your opinion? If so I'd be happy to give it a try and report issues if I encounter any.
Thank you!

Thanks for the question! The documentation is still clearly very lacking, but I've been using this package for my research for a while now and I think it should definitely be in good shape for RV + astrometry. (The transit implementation is somewhat novel and less well tested, but also probably fine...)
I'd be very happy for you to play around with it and I'm keen to answer questions and any issues that you find!
One thing is that I definitely want to change the name, but I don't have any good ideas...

@catrionamurray Excellent!!
I ❤ jaxoplanet...

So far so good with testing out the transit fitting!

Saw this in the ARAA and it looks great... was going to ask the same thing, is it mature enough for us to start playing around with?

@benjaminpope — not much has changed since our conversation above: Please do check it out, but YMMV!

Good, just checking, half to subscribe for updates ;) Love the new review paper materials. Might talk about it at journal club tomorrow.

The current status here is that the docs are still very much a WIP but some of us are using jaxoplanet is production now!


Include latest electron versions

I am not sure all versions are required since 4.x.x but we should certainly have more recent versions of electron on the list

Is there any news here about adding prebuild for electron v10
#429

Any news on this? Adding prebuild for election v9 and v10 would be great!

yeah, currently every npm install compiles the entire thing. @JoshuaWise it would be great if you could please review this PR and merge.

I would like to include 11 as well but the build currently fails with latest electron version,

Linking the issues – the v11 build failure should be resolved by https://github.com/JoshuaWise/better-sqlite3/pull/497

Thanks, I'll release this in a patch today


built in visitor pattern for recursing json and xml

a very common need is to be able to 'strip' all nodes that are null or empty, that will make building complex dynamic trees of JSON or XML a lot easier.
pretty clear when a cucumber examples (or data-table) has an empty string returned, the most common intent is to remove that key (or node) from the final payload. today some gymnastics like ##(<foo> ? null : foo) can get the job done but still.
maybe the default behavior of the set via table should be like so - don't output node if empty
a built-in visitor can have more applications in the future

post-process all nodes
build another dom based on the dom being traversed

closing due to inactivity


Integrate & optimize LLaVA in TinyChat

We support LLaVA model quantization and deployment with AWQ and TinyChat in this PR. The LLaVA model has been optimized for efficient inference.

Close this PR. Since a new PR for vision Language model #142 has been merged.


Operation request: Trim start/end matching a character

Summary
Often I need to trim the start or end of a string, eg. to strip leading/trailing quotes or newlines. This doesn't seem to be an operation yet.
This can currently be roughly emulated with Drop_bytes(0,1,false)Drop_bytes(-1,1,false), but this isn't as flexible.
Example Input
aaabbbccc
Example Output
When trimming text a: bbbccc
When trimming text c: aaabbb
When trimming regex [a|c]{2}: abbbc

Ill do this

You can do a fascimile of this using the 'Find / Replace' functionality:
https://gchq.github.io/CyberChef/#recipe=Find_/_Replace({'option':'Regex','string':'(^a*)|(a*$)'},'',true,false,true,false)&input=YWFhYWFiYmJjY2NhYWFhYWFh
The regex used is:
(^a*)|(a*$)

Similarly, some other examples:
(^\s*)|(\s*$) # remove whitespace
(^[a|c]{2}*)|([a|c]{2}$) # trim exactly two characters if they are a or c.


Search services doesn't work in GL4 environment

There is problem with enumerated types on hibernate queries:
https://hibernate.atlassian.net/browse/HHH-10282

See also logs from issue #549

[Build] 16.1 fix6+ 2016/03/13 verified


Large container size

TLDR: The ghcr.io/windsource/picus:0.3.0 seems to be around 112MB, which probably could be slimmed down a lot, or an alternative slimmer variant could be created.
But to explain in a bit more detail...
First of all, this kind of auto scaling is a really good idea!
So good in fact that I had implemented something similar myself already before discovering this :/
I usually try to write comparisons whenever I find projects that have similar functionality to those of mine, and found the docker image size to be even larger than what I expected.
I thought I'd open an issue about it, since that's the only thing I think I'm currently doing better (my project's Dockerfile which comes down to less than 2MB currently for reference), and I assume it'll be quite easy to fix :'D
If summarized basically the container could be built in multiple stages with lukemathwalker/cargo-chef:latest-rust-alpine for example, with the last layer being FROM scratch.

Hi @ljoonal, great that we both had the same idea on such a project.
I also value small images sizes so ususally I use Alpine as base image. I tried that, the docker  build worked fine but when I started the picus app it crashed when a REST API was called. The only output was Segmentation fault (core dumped) but there was no core dump. This seems to be in line with https://www.reddit.com/r/rust/comments/sq53vx/alpine_fails_to_run_my_app_what_steps_should_i/. So finally I gave up and used debian slim as runtime. What is actually the reason for small image sizes? If you want to reduce download capacity and disk usage it is best to use only a few base images because then the layers are reused. So I decided myself for debian:11.5-slim as one of a few base images to use such that it re-used among projects.
Regarding multi-stage build: as you can see in 0.2.0 I already used a multi-stage build. But when turning to multi-arch build (amd64 and arm64) in 0.3.0 I had to drop that, because the build time of an arm64 build on amd64 using qemu went up from about 3 minutes for amd64 build to more than 30 minutes for arm64 on qemu. So I finally decided for cross compilation instead.
Images from scratch definetly create smaller images and so woodpecker also uses images from scratch by default. But the drawback is that those are harder to debug. Once I had problem with woodpecker I could not start a shell in that container because there was no shell inside. So at least for the woodpecker agent I use alpine images now.

...it crashed when a REST API was called. ...

Oh, I see. I didn't realize that such an issue existed, though I do remember having to fight against some similarities myself before when dealing with compiling for musl ^^' The linked reddit discussion makes the segfault seem like an issue with OpenSSL... So if it hasn't been done yet could try to build reqwest with rustls instead 😅 Though I doubt it'd be that easy to fix then after all.

If you want to reduce download capacity and disk usage it is best to use only a few base images because then the layers are reused

Also yup, if only all of the containers I use used the same base layers, which tends to not be the case sadly, since I prefer using upstream docker images where possible instead of rolling my own variants. Alpine seems to be the most common base, beyond that I've seen multiple variants of Debian and Ubuntu and such, which isn't nice on cheap servers with only a few gigabytes of storage to begin with.

...because the build time of an arm64 build on amd64... more than 30 minutes
So I finally decided for cross compilation instead.

Oooh, neat, I must admit I've not even dabbled with multi architecture support.
Does cross compilation have limitations where it can't be used with multi-stage builds?
Or is it more so just the segfault issue that'd need to be solved, and then the benefits of both worlds could be had? :D

Images from scratch... But the drawback is that those are harder to debug

Yup, which is why I also suggested that there could be a few variants of the images instead of just replacing it :)

Does cross compilation have limitations where it can't be used with multi-stage builds?
You probably can also use multi-stage builds for cross compilation but in my case it was just easier to build the target apps before and use buildx only for the final image. I wanted to have a multi-arch image with several architectures in one image.
...why I also suggested that there could be a few variants of the images instead of just replacing it :)
I might try to have an image from scratch as well for Picus. I have never done that for an Rust app before so I need to figure how to put all inside what I need (glibc, ssl certs, etc.)

Picus v0.3.1 now also creates distroless images which are much smaller (33.5 MB vs. 112MB before).


3 tier architecture

Change the solution to a 3 tier architecture:

[x] create a service application that work in the background (QDMSService)
[ ] create a new API, hosted on QDMSService, that support functions for all actions that the user should can perform via the GUI (f.e. CRUD the instrument, exchanges ...)
[ ] create a windows GUI client that operates with the service application via the API

I can try to build a WPF client which uses ReactiveUI client, and BreezeSharp  to faciliate CRUD operations against a WebAPI backend... If you think that is the right direction, please message me

I think a better approach would be to use the existing zmq networking architecture for the CRUD operations.

In my eyes we have to think a bit different here:
It is right that the zmq is a better approach for data services. There we need high performance.
But when it comes to a new management API between client and server, I think we should also support communication methods like a REST JSON API (i planned it already with #6 ).
I see no critical need to use the zmq networking architecture for the new management API because the amount of data will be far below the amount of data which are transferred via the data services.
The second thing is when someone want to build a web client for the server app, he will probably use just HTML and JavaScript. Yes, there is a ZeroMQ library for JavaScript, but that will decrease the page speed and might be blocked...
See also: https://www.quora.com/What-are-the-benefits-of-using-a-ZeroMQ-like-messaging-library-over-a-REST-API-based-architecture
I would recommand that we use both:
The ZeroMQ API for high performance apps like a backtesting engine, automatic trading service etc.
The WebAPI for the administrative tasks like add/change instruments, add exchanges etc.
The administrative tasks are usually done once to setup the service.

Thanks for the thoughts,
I am not familiar (yet) with the zmq, and will need a bit of time to get up to speed on it.
As a first reaction, I tend to agree with leo90skk as to the suitability of REST JSON API for admin related tasks like adding instruments, exchanges etc.
Would a desktop client (with WPF / ReactiveUI) be desirable, or a HTML / JS front end client be more appropriate?   I work mostly with WPF / ReactiveUI but if a web front end is the client of choice, then I would (given more time) try a proof of concept implementation.
Fares

Well, a web front end has the advantage of being OS agnostic, while WPF is tied to windows. On the other hand, building that from scratch is a big project. I think it would be much simpler to modify the existing WPF UI, especially since you're familiar with WPF.

Alright, I will just need a bit of time to familiarize myself with the
current design and see how much effort is involved.
On Sun, Aug 21, 2016 at 9:48 PM, qusma<EMAIL_ADDRESS>wrote:

Well, a web front end has the advantage of being OS agnostic, while WPF is
tied to windows. On the other hand, building that from scratch is a big
project. I think it would be much simpler to modify the existing WPF UI,
especially since you're familiar with WPF.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/leo90skk/qdms/issues/18#issuecomment-241277636, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABvG-5WYnJK-P2GFmo0XoBEbmkeoJKEzks5qiKuZgaJpZM4JoTEX
.

So I've been taking a look at BreezeSharp and it doesn't seem like a good fit. First of all the project seems to be abandoned. No support for .NET Core, no self-hosting(?), and it feels a tad over-complex.
What would you say about NancyFX (can self-host, runs under .NET Core) for the server and simply HttpClient on the client side?

Hi,
Yes BreezeSharp was a bit complex, but I think there is support for it.
I can look at NancyFx which I haven't worked with before.  I recently
started a new job, and fell behind on everything else.  I will try to give
you an update in the next few days.
Fares
On Wed, Sep 21, 2016 at 8:03 PM, qusma<EMAIL_ADDRESS>wrote:

So I've been taking a look at BreezeSharp and it doesn't seem like a good
fit. First of all the project seems to be abandoned. No support for .NET
Core, no self-hosting(?), and it feels a tad over-complex.
What would you say about NancyFX (can self-host, runs under .NET Core) for
the server and simply HttpClient on the client side?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/leo90skk/qdms/issues/18#issuecomment-248693548, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABvG-2ISnz8UDPd1EioMHRWeS3yLn04Kks5qsXGKgaJpZM4JoTEX
.

I whipped up a quick prototype, a REST API for exchanges. The "meat" is all here: https://github.com/qusma/qdms/blob/d5679969d0ea94b00f87d7580298e36dcdec6e68/QDMS.Server/NancyModules/ExchangeModule.cs
It's got authentication via API key, validation, and is hosted simply with:
var host = new NancyHost(new Uri("http://localhost:5559"));
host.Start();

GET http://<IP_ADDRESS>:5559/exchanges/1?apikey=123
{
	"Sessions": [],
	"ID": 1,
	"Name": "AB",
	"Timezone": "Eastern Standard Time",
	"LongName": "American Stock Exchange"
}

And a quick take on the client side as well: https://github.com/qusma/qdms/blob/27424347952f5a9c9eb55d81d1209438fbd3463d/QDMSClient/QDMSClient.Http.cs

Thanks for the working examples you send me for server / client using Nancy
!   I regrettably must opt out of contributing (in the near future) on this
your project due to a change in my work situation.  It seems I will
(unfortunately) have very little free time on my hands next few months :-(
On Wed, Sep 21, 2016 at 8:03 PM, qusma<EMAIL_ADDRESS>wrote:

So I've been taking a look at BreezeSharp and it doesn't seem like a good
fit. First of all the project seems to be abandoned. No support for .NET
Core, no self-hosting(?), and it feels a tad over-complex.
What would you say about NancyFX (can self-host, runs under .NET Core) for
the server and simply HttpClient on the client side?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/leo90skk/qdms/issues/18#issuecomment-248693548, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABvG-2ISnz8UDPd1EioMHRWeS3yLn04Kks5qsXGKgaJpZM4JoTEX
.

I had forked your project here https://github.com/underwater/qdms and my
colleague had converted some sections to use MVVM paradigm,
Please have a look when you get a chance, and let me know if you'd like me
t send you a pull request for any part ?
Fares
On Sun, Sep 25, 2016 at 10:08 PM, Fares Eidi<EMAIL_ADDRESS>wrote:

Thanks for the working examples you send me for server / client using
Nancy !   I regrettably must opt out of contributing (in the near future)
on this your project due to a change in my work situation.  It seems I will
(unfortunately) have very little free time on my hands next few months :-(
On Wed, Sep 21, 2016 at 8:03 PM, qusma<EMAIL_ADDRESS>wrote:

So I've been taking a look at BreezeSharp and it doesn't seem like a good
fit. First of all the project seems to be abandoned. No support for .NET
Core, no self-hosting(?), and it feels a tad over-complex.
What would you say about NancyFX (can self-host, runs under .NET Core)
for the server and simply HttpClient on the client side?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/leo90skk/qdms/issues/18#issuecomment-248693548, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABvG-2ISnz8UDPd1EioMHRWeS3yLn04Kks5qsXGKgaJpZM4JoTEX
.

@underwater Sorry for my late reply:
I reviewed your and your colleagues work. I think it is really good! I like the changes to use the MVVM pattern and the new data source EODData would also be of good use for others. Feel free to send me your pull requests. I think we should try to merge all in one branch to avoid too many forks :smile:
p.s.: The icing would be to have a unit test for EODData.


Implement a full text search service for Items using SQLite fts5

The way this works is by defining an SQLite search index table and relying on triggers to keep the search index in sync with the actual item table.
Every time an Item is inserted to, deleted from, or updated in the item table, a trigger is executed to mirror the changes into the item_search_index virtual table.
This way, the search index is always up-to-date.
We also introduce a way to favor result of a given language, to make sure to surface the results in the player's locale/language first.

Seems that the unit tests are failing due to a discrepancy between the SQLite version I run locally and the one running in CI.

This implements part of #205, by we also need tu build the API on top of it.
Before I go any further, I'd need to make sure of the type of data we'd expect from the API (and ergo the repository) to display the search results. @etnbrd hinted to using https://github.com/thisbeyond/solid-select. I'll have a look at it and see what type of data they require

Before I go any further, I'd need to make sure of the type of data we'd expect from the API (and ergo the repository) to display the search results.

It shouldn't depend on the client implementation. I guess we can just go with, as an input, a string that's a suite of words or just one word, and return as an output the list of results with their rank.

Fixes #205

~/code/5esheets item-fts *1 ?1 ❯ curl -s "localhost:8000/api/item/search?search_term=name:chain&favored_language=en&limit=2" | jq .
[
  {
    "rank": -3.381911532797657,
    "resource_id": 8,
    "language": "en",
    "name": "Chain Mail"
  },
  {
    "rank": -2.837992364252012,
    "resource_id": 9,
    "language": "en",
    "name": "Chain Shirt"
  }
]


Gets actual class of presentation compiler

Plugin does not switch on in case when IDE actual presentation compiler
inherits from interactive.Global. Problem lays in the way how
analyzer is replaced with reflection code. Scala for vals creates
private field which is unavailable in descendant class.
So replacing it directly in interactive.Global does not override
analyzer in actual presentation compiler.

Yes, I was just curios why presentation compiler in Scala IDE does not work with great scalameta and started to work to not give too much space to Intellij whizzards  :). Funny thing is that I had to change declaration of val analyzer in scala IDE's ScalaPresentationCompiler because scala gives the most specific type to private field if not declared and setting with reflection failed then.

LGTM!


perf: ignore watching files in node_modules

Summary
Update the default watchOptions configuration to improve performance by ignoring node_modules.
This will not affect symlinked resources in monorepo, as symlinked resources are resolved to their real path by default.
See https://github.com/web-infra-dev/rsbuild/pull/4058 for more details.
Resolve https://github.com/web-infra-dev/rspack/issues/8511
Checklist

[ ] Tests updated (or not required).
[ ] Documentation updated (or not required).

!bench

!bench


Update channel for non-AMO Webextension

TODO:

With a torrent and an rss feed.

Some pertinent issues here. https://trac.i2p2.de/ticket/730


Externally changed file not reloaded in VSC

Type: Bug
I use Autodesk Fusion 360 to generate code for CNC machines. As part of the flow VSC gets open with each generated .nc file so that the output can be inspected. Then changes are made in Fusion and a new version of the file is generated wich then should be visible in VSC.
This works fine most of the time except if inadvertedly I make a change to the file in VSC. From this point on VSC seems to want to protect my "edit" and when the file is re-generated by Fusion  it does not get re-loaded in VSC.
Instead VSC still shows me the old content, while the file name in the title of the tab is striken throught and on hover over it I am told that "file was deleted". This is factually not true, it was replaced. It is also very misleading as the "edit" VSC protects is not intended and I may not even be aware of it. Therefore I believe that I'm lookign at the new file content, not aware of it being old/out-of-date/changed.
I believe there could be two fixes to this problem:

Allow VSC be open a file in read-only state so that any edits to it to imply an actual intent (some button to be pressed to put the file in edit mode first). It would be up to Fusion to then open the files in read-only mode.
Once you detect an external change to an "edited" file, prompt me to either save VSC's version or discard it by reloading the new file content.

VS Code version: Code 1.75.1 (441438abd1ac652551dbe4d408dfcec8a499b8bf, 2023-02-08T21:32:34.589Z)
OS version: Windows_NT x64 10.0.22621
Modes:
Sandboxed: Yes

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-4710HQ CPU @ 2.50GHz (8 x 2494)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_renderer: enabled_onvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: disabled_off

Load (avg)
undefined

Memory (System)
15.91GB (2.97GB free)

Process Argv
--crash-reporter-id a45e7afa-d0ff-4c3a-83f0-d1f187071cda

Screen Reader
no

VM
0%

Extensions (23)

Extension
Author (truncated)
Version

hsm-post-processor
Aut
4.1.3

meld-diff
dan
1.3.3

vscode-eslint
dba
2.4.0

xml
Dot
2.5.1

gc-excelviewer
Gra
4.2.56

vscode-edit-csv
jan
0.7.3

jq-syntax-highlighting
jq-
0.0.2

pretty-formatter
mbl
0.2.2

rainbow-csv
mec
3.5.0

csharp
ms-
1.25.4

vscode-edge-devtools
ms-
2.1.1

isort
ms-
2022.8.0

python
ms-
2023.2.0

vscode-pylance
ms-
2023.2.40

jupyter
ms-
2023.1.2010391206

jupyter-keymap
ms-
1.0.0

jupyter-renderers
ms-
1.0.14

vscode-jupyter-cell-tags
ms-
0.1.6

vscode-jupyter-slideshow
ms-
0.1.5

remote-wsl
ms-
0.75.3

powershell
ms-
2023.2.1

live-server-preview
neg
0.1.4

code-spell-checker
str
2.17.1

A/B Experiments
vsliv368cf:30146710
vsreu685:30147344
python383:30185418
vspor879:30202332
vspor708:30202333
vspor363:30204092
vslsvsres303:30308271
pythonvspyl392:30443607
vserr242:30382549
pythontb:30283811
vsjup518:30340749
pythonptprofiler:30281270
vshan820:30294714
vstes263cf:30335440
vscorecescf:30445987
pythondataviewer:30285071
vscod805cf:30301675
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
cmake_vspar411:30581797
vsaa593:30376534
pythonvs932:30410667
cppdebug:30492333
vsclangdf:30486550
c4g48928:30535728
dsvsc012:30540252
azure-dev_surveyone:30548225
pyindex848:30662994
nodejswelcome1cf:30587006
2e4cg342:30602488
pyind779:30671433
89544117:30613380
pythonsymbol12:30671437
vsctsb:30662444
vscodeenable:30660116
pythonb192cf:30669361

/duplicate https://github.com/microsoft/vscode/issues/23107

Thanks for creating this issue! We figured it's covering the same as another one we already have. Thus, we closed this one as a duplicate. You can search for similar existing issues. See also our issue reporting guidelines.
Happy Coding!


Walk from A to B, but don't teleport

Expected Behavior
There are two entries in my path.json.
I expect that the bot run from A to B end then back to A and so one.
But there are all the time Teleported messages instead of walking.
How can i change it that the bot only walk?
I had a look to the config file, but doesn't found the correct setting:
Path Navigator Configuration
Setting the navigator.type setting to path allows you to specify waypoints which the bot will follow. The waypoints can be loaded from a GPX or JSON file.
By default the bot will walk along all specified waypoints and then move directly to the first waypoint again.
Actual Behavior
2016-08-14 12:10:43,641 [FollowPath] [INFO] [position_update] Teleported from (40.75413415061214, -73.98280514737512, 0) to (40.753451, -73.982872, 0) (76.1713177396 m)
2016-08-14 12:10:43,641 [FollowSpiral] [INFO] [position_update] Walking from (40.75411067861637, -73.9828219880316, 0) to (40.75413415061214, -73.98280514737512, 0) (2.97076386268 m)
2016-08-14 12:10:46,052 [FollowPath] [INFO] [position_update] Teleported from (40.75413415061214, -73.98280514737512, 0) to (40.753451, -73.982872, 0) (76.1713177396 m)
2016-08-14 12:10:46,052 [FollowSpiral] [INFO] [position_update] Walking from (40.754112611553595, -73.9828157626073, 0) to (40.75476411599625, -73.98280514737512, 0) (72.4495007415 m)
2016-08-14 12:10:49,391 [FollowPath] [INFO] [position_update] Teleported from (40.754170937134326, -73.98282198833653, 0) to (40.753451, -73.982872, 0) (80.1641234482 m)
2016-08-14 12:10:52,901 [FollowPath] [INFO] [position_update] Teleported from (40.754171997209646, -73.98282512200683, 0) to (40.753451, -73.982872, 0) (80.2684049293 m)
2016-08-14 12:10:55,721 [FollowPath] [INFO] [position_update] Teleported from (40.7541944229624, -73.98283852188709, 0) to (40.753451, -73.982872, 0) (82.7129777349 m)
2016-08-14 12:10:56,753 [IncubateEggs] [INFO] [next_egg_incubates] Next egg incubates in 3.73 km
2016-08-14 12:10:58,273 [FollowPath] [INFO] [position_update] Teleported from (40.75421530757311, -73.98282121356735, 0) to (40.753451, -73.982872, 0) (85.0947204355 m)
2016-08-14 12:11:01,056 [FollowPath] [INFO] [position_update] Teleported from (40.75418235009182, -73.98279747186821, 0) to (40.753451, -73.982872, 0) (81.5643755846 m)
2016-08-14 12:11:04,357 [FollowPath] [INFO] [position_update] Teleported from (40.75414681505159, -73.98278956866623, 0) to (40.753451, -73.982872, 0) (77.6820412094 m)
Your config.json (remove your credentials and any other private info)
{
"auth_service": "ptc",
"username": "xyz",
"password": "xyz",
"location": "40.753419, -73.9827662",
"gmapkey": "xyz",
"encrypt_location": "",
"tasks": [
{
"type": "HandleSoftBan",
"config": {
"enabled": true
}
},
{
"type": "SleepSchedule",
"config": {
"enabled": true,
"time": "22:03",
"duration":"7:01",
"time_random_offset": "00:24",
"duration_random_offset": "00:43"
}
},
{
"type": "CollectLevelUpReward",
"config": {
"enabled": true
}
},
{
"type": "IncubateEggs",
"config": {
"enabled": true,
"longer_eggs_first": true
}
},
{
"type": "UpdateLiveStats",
"config": {
"enabled": true,
"min_interval": 60,
"stats": ["level_stats", "stardust_earned", "xp_earned", "xp_per_hour", "stops_visited", "pokemon_caught", "uptime"],
"terminal_log": true,
"terminal_title": true
}
},
{
"type": "TransferPokemon",
"config": {
"enabled": true
}
},
{
"type": "NicknamePokemon",
"config": {
"enabled": false,
"nickname_template": "{iv_pct}_{iv_ads}"
}
},
{
"type": "EvolvePokemon",
"config": {
"enabled": true,
"evolve_all": "none",
"first_evolve_by": "iv",
"evolve_above_cp": 850,
"evolve_above_iv": 0.90,
"logic": "or",
"evolve_speed": 20,
"use_lucky_egg": false
}
},
{
"type": "RecycleItems",
"config": {
"enabled": true,
"min_empty_space": 25,
"item_filter": {
"Pokeball":                      { "keep" : 20 },
"Greatball":                     { "keep" : 20 },
"Ultraball":                     { "keep" : 100 },
"Masterball":                    { "keep" : 75 },
"Potion":                        { "keep" : 0 },
"Super Potion":                  { "keep" : 0 },
"Hyper Potion":                  { "keep" : 10 },
"Max Potion":                    { "keep" : 0 },
"Revive":                        { "keep" : 10 },
"Max Revive":                    { "keep" : 0 },
"Lucky Egg":                     { "keep" : 100 },
"Incense":                       { "keep" : 100 },
"Spicy Incense":                 { "keep" : 100 },
"Cool Incense":                  { "keep" : 100 },
"Floral Incense":                { "keep" : 100 },
"Troy Disk":                     { "keep" : 90 },
"X Attack":                      { "keep" : 90 },
"X Defense":                     { "keep" : 90 },
"X Miracle":                     { "keep" : 90 },
"Razz Berry":                    { "keep" : 50 },
"Bluk Berry":                    { "keep" : 50 },
"Nanab Berry":                   { "keep" : 50 },
"Wepar Berry":                   { "keep" : 50 },
"Pinap Berry":                   { "keep" : 50 },
"Special Camera":                { "keep" : 100 },
"Incubator (Unlimited)":         { "keep" : 100 },
"Incubator":                     { "keep" : 100 },
"Pokemon Storage Upgrade":       { "keep" : 100 },
"Item Storage Upgrade":          { "keep" : 100 }
}
}
},
{
"type": "CatchVisiblePokemon",
"config": {
"enabled": true
}
},
{
"type": "CatchLuredPokemon",
"config": {
"enabled": true
}
},
{
"type": "SpinFort",
"config": {
"enabled": true
}
},
{
"type": "FollowPath",
"config": {
"enabled": true,
"max_distance": 200,
"snipe": false,
"path_mode": "loop",
"path_start_mode": "first",
"path_file": "configs/path.json"
}
},
{
"type": "MoveToFort",
"config": {
"enabled": false,
"lure_attraction": false,
"lure_max_distance": 200,
"output_interval_by": "distance",
"output_interval": 0.05
}
},
{
"type": "FollowSpiral",
"config": {
"enabled": true,
"diameter": 4,
"step_size": 70
}
}
],
"map_object_cache_time": 5,
"forts": {
"avoid_circles": true,
"max_circle_size": 50,
"cache_recent_forts": true
},
"websocket_server": false,
"walk": 4.36,
"action_wait_min": 2,
"action_wait_max": 6,
"debug": false,
"test": false,
"health_record": true,
"location_cache": true,
"distance_unit": "km",
"reconnecting_timeout": 15,
"min_ultraball_to_keep": 20,
"logging_color": true,
"catch": {
"any": {"catch_above_cp": 650, "catch_above_iv": 80, "logic": "or" }
},
"catch_throw_parameters": {
"excellent_rate": 0.1,
"great_rate": 0.5,
"nice_rate": 0.3,
"normal_rate": 0.1,
"spin_success_rate" : 0.6
},
"release": {
"//any": {"release_below_cp": 0, "release_below_iv": 0, "logic": "or"},
"any": {"keep_best_iv": 2, "release_below_iv": 0.8, "logic": "or"}
"// Example of always releasing Rattata:": {},
},
"vips" : {
"Any pokemon put here directly force to use Berry & Best Ball to capture, to secure the capture rate!": {},
"any": {"catch_above_cp": 1200, "catch_above_iv": 0.9, "logic": "or" },
"Lapras": {},
"Moltres": {},
"Zapdos": {},
"Articuno": {},
    "// S-Tier pokemons (if pokemon can be evolved into tier, list the representative)": {},
    "Mewtwo": {},
    "Dragonite": {},
    "Snorlax": {},
    "// Mew evolves to Mewtwo": {},
    "Mew": {},
    "Arcanine": {},
    "Vaporeon": {},
    "Gyarados": {},
    "Exeggutor": {},
    "Muk": {},
    "Weezing": {},
    "Flareon": {}

}

}
path.json
[
{"location": "40.753451, -73.982872"},
{"location": "40.753043, -73.983061"}
]
Steps to Reproduce
Other Information
OS:
Git Commit: (run 'git log -n 1 --pretty=format:"%H"' and paste it here)
Python Version: (run 'python -V' and paste it here)

if you want teleport feature, use MoveToMapPokemon task with PokemonGo-Map.

I don't want teleport.
But it always write the teleport message to console

@yyoshii opps, sorry, i think you want teleport, my bad. so it's the logging issue then.

Your FollowPath config seems a bit messed up

{
"type": "FollowPath",
"config": {
"enabled": true,
"max_distance": 200,
"snipe": false,
"path_mode": "loop",
"path_start_mode": "first",
"path_file": "configs/path.json"
}
},

enabled = true - this is not required unless you want to disable it, in which case it would be false. This wouldn't cause you any issues, it's just a FYI
max_distance = 200 & snipe = false - These are options for MoveToMapPokemon and aren't used by FollowPath at all, I'm not sure if this is messing your bot up because they arent valid config options (especially because you're not using MoveToMapPokemon).

Remove these 2 and see if it fixes your problem, let us know if it does because it might be a bug that needs fixing

If that doesn't fix it (still remove those 2 options though) - try setting path_mode to linear and see if that makes a difference. The documentation is vague so it might be logically reversed with the loop and linear config option.
Either way, report back what happens as both options may require some work to be done to the docs

Changed it to:
{
"type": "FollowPath",
"config": {
"path_mode": "linear",
"path_start_mode": "first",
"path_file": "configs/path.json"
}
},
{
"type": "FollowSpiral",
"config": {
"diameter": 4,
"step_size": 70
}
}
],
2016-08-14 14:44:02,096 [PokemonGoBot] [INFO] [x] Coordinates found in passed in location, not geocoding.
2016-08-14 14:44:02,096 [PokemonGoBot] [INFO] [x] Coordinates found in passed in location, not geocoding.
2016-08-14 14:44:02,331 [PokemonGoBot] [INFO] [bot_start] Starting bot...
2016-08-14 14:44:15,877 [FollowSpiral] [INFO] [position_update] Walking from (40.770454236376594, -73.9763929078857, 0) to (40.770397, -73.976346, 0) (7.49060185188 m)
2016-08-14 14:44:16,881 [TransferPokemon] [INFO] [pokemon_release] Exchanged Pinsir [CP 676] [IV 0.62] for candy.
2016-08-14 14:44:24,240 [FollowPath] [INFO] [position_update] Teleported from (40.770397, -73.976346, 0) to (40.77173, -73.978513, 0)<PHONE_NUMBER>6 m)
2016-08-14 14:44:24,240 [FollowSpiral] [INFO] [position_update] Walking from (40.770427422685955, -73.97643520938601, 0) to (40.771027288547835, -73.976346, 0) (67.1237528562 m)
2016-08-14 14:44:27,260 [FollowPath] [INFO] [position_update] Teleported from (40.77047689327047, -73.9764478807323, 0) to (40.77173, -73.978513, 0)<PHONE_NUMBER>53 m)
path.json
[
{"location": "40.771730, -73.978513"},
{"location": "40.768082, -73.970434"}
]

and path_mode = loop without those other options you have already removed? Same issue?

i tried it with loop, afterwards with linear
Then i removed it complete. But i still got this message:
2016-08-14 15:02:08,378 [FollowPath] [INFO] [position_update] Teleported from (40.757518950898415, -73.98528541813252, 0) to (40.758629, -73.985053, 0)<PHONE_NUMBER>95 m)
2016-08-14 15:02:10,352 [FollowPath] [INFO] [position_update] Teleported from (40.75756498274049, -73.98525980524026, 0) to (40.758629, -73.985053, 0)<PHONE_NUMBER>29 m)
2016-08-14 15:02:12,032 [FollowPath] [INFO] [position_update] Teleported from (40.75763132504724, -73.98524350400027, 0) to (40.758629, -73.985053, 0)<PHONE_NUMBER>81 m)

Hang on, I just realised there was a recent commit that I wasn't aware of (should hit F5 more often).  Your bug has been caused by #3819

my bad for writing the wrong log message. created a new PR #3935

Thx for fixing it

You shouldn't have followspiral and followpath. remove followspiral if you want it following a path.

Fixed in #3935


Barbs: scaling transform produces wrong results

Applying a scaling transform to the Barbs renderer does not produce desired results. See attached image. The barb glyphs need to be inverse transformed before any scene transformation
To reproduce:

Load katrina and enable barbs with U10 and V10 as vector field variables
Change the Geometry scaling parameter from 1 to 10

Reopening. The results are different, but still not correct. If the scaling is applied to the Geometry tab the glyphs are translated. N.B. When autoscaling is enabled the data set scaling (Navigation/Viewpoint) is applied. The problem seems to occur when both data set and render scaling are used.


no spike-in data in the gene-by-cell count matrices after UMI quantification

Hello,
I am working with data that has spike-ins and processing it in USA mode. I noticed that after generating the transcript-to-gene file by means of the provided code from the tutorial 'Resolving the splicing origins of UMIs to improve the specificity of single-cell RNA-seq transcriptome mapping with alevin-fry', the ' transcriptome_splici_fl71_t2g_3col.tsv' file did not contain the proper gene ID annotation for the spike in data:

Interestingly, the ' transcriptome_splici_fl71_t2g.tsv' had the correct annotation:

As a result, after the UMI quantification step (where I provided the 3 column file since I am using the USA mode), the matrices I obteined did not have spike-in data. I think the issue might have been in the '-' that the spike-ins have in their name, since Alevin-fry was able to detect the rest of the regular endogenous genes that have no '-' without any problems.
Although I was able to manually fix the  'transcriptome_splici_fl71_t2g_3col.tsv' file, I just wanted to report the issue in case you wanted to consider it for later releases.
Thanks you¡
Aintzane

Haha, this is an interesting bug. I will fix this and generalize the code. Thanks so much @Aintzane99 for reporting this!

Dongze

Hello @Aintzane99,
The bug is fixed! You can downloaded the latest version of roe (v0.3.1)  from its github repo. Actually, there is a TODO tag hanging on that line of code saying that we should fix this bug but I ignored it all the time.
BTW, you don't need to concatenate the files by yourself because there is anextra_spliced parameter, of course, extra_unspliced as well ;), in the make_splici_txome function, which takes a string of the path to an extra FASTA file that you want to append to the splici transcriptome. In your case, you just need to say something like
library(roe)
make_splici_txome(genome_path = "PATH_TO_THE_GENOME",
                                  gtf_path = "PATH_TO_THE_GTF",
                                  read_length = READ_LENGTH,
                                  output_dir = "OUTPUT_DIR",
                                  extra_spliced = "ERCC92.fa")

The only caveat here is that by doing so, both the transcript ID and gene ID of the extra sequences in the output t2g_3col.tsv file will become their header in the ERCC92.fa. In your case, they will be
...
ERCC-00165	ERCC-00165	S
ERCC-00168	ERCC-00168	S
ERCC-00170	ERCC-00170	S
ERCC-00171	ERCC-00171	S

If the "transcript_id " section in the ERCC92.gtf file is important for your analysis, please feel free to ignore this suggestion.
Dongze

Thanks, @DongzeHE!  Should we fix pyroe as well? Does it have the same bug?

As it seems that pyroe didn't have this issue and @DongzeHE has (quickly!) fixed the issue in roe, I'm going to go ahead an close this issue for now.

Last words: If you want to use pyroe make-splici + concatenated FASTA and GTF file, you have to remove the semicolon at the end of each line in the ERCC92.gtf because it will confuse the GTF reader that pyroe relies on. Or, as I said before, you can specify --extra-spliced ERCC92.fa and use the human genome and GTF file as the input.
Dongze


[BUG] Error message is not show the correct date in Slack

Describe the bug
When I got a message in slack about any Error the time is wrong
But when we got a message about Update or Create it show the right time
To Reproduce
Expected behavior
in the Error message, it show the correct name.
Screenshots

Additional context
Add any other context about the problem here.

Can't reproduce it with my setup.

Does this happens all the time in your case?
or happens once in a while? like while restarting botkube
or happens with that specific pod only?

@hellozee this is happens

this is happening everytime;
it it happens in the different pods, we test it out in 4 clusters, the same behavior,

we got this error simultaneously,
as for messages for update, create everything is correct.

@Kydybets, can you check the local time in your clusters.?
botkube uses time.Now() as timestamp as default and updates it in case of Create or Delete from the Object Metadata
https://github.com/infracloudio/botkube/blob/9f9d3725e3e7ce555fff023c7b96963e6026a602/pkg/events/events.go#L87-L101

Unfortunately, i can't check cause u don't have set-up environment

so i think we can close this for now


Add "Calling Convention" to .gdt file

Is your feature request related to a problem? Please describe.
After defining lots of function prototypes and having had to manually update the calling convention, transferring these to a second application loses the calling convention.
Describe the solution you'd like
The calling convention should be stored as part of the function protocol.
Describe alternatives you've considered
Maintaining a list of functions and their protocols outside Ghidra and writing a script to reimport these.
Additional context
N/A.

This could be achieved by adding a table into the gdt to store the calling convention names as well as the language version (in case they are changed). Then storing the index into said table instead of the index of the generic calling convention enum would not require a schema change for FunctionDefinitionDB.

Same issue in .fidb files too!

We are aware of the possibility and hope to address in the future.

It is only a symbol name that is saved and applied by FID. As mentioned, this works best with mangled names. FID can apply multiple symbols based upon possible matches at the same location - this would not be possible with a complete function spec.
If you add the FID related plugins you can view the actual FID tables and data stored.

Thanks for that explanation.  I hadn't delved into it and just assumed the hashes were all encompassing!
Maybe some alternative is required as its a pain!

Assuming you don't have mangled names.  You could create your own mangling scheme - just need to avoid existing GNU and Microsoft mangled prefixes.  Mangle the names of all the functions being hashed before generating your FID data.  Create your own corresponding demangler to process the applied mangled names after FID applies them.  It could be worth it if you expect to benefit from FID.

@Wall-AF Thanks a lot for your patch! While it may be temporary, it solved my immediate problems! I have just tested it now and it is indeed using my local convention and the decompiled output is now proper!.
@ghidra1 I'm OK to close this as a duplicate of the other issues.

@DualTachyon I closed your other issue as a duplicate of this one.

The ability to preserve calling conventions with datatype archives is now supported.


Send empty targetgroup if nothing discovered [consul_sd]

Fixes #8727.
discovery/README.md states every discovery implementation must send the complete set of discovered targets initially. However, consul_sd does not emit a targetgroup when no targets are discovered which leads to the behaviour described  in #8727. The bug happens only if:

There are targets discovered via consul_sd.
The consul_sd configuration is changed such that no targets are discovered.
The changed config is reloaded (e. g. SIGHUP).

Bug reproduction script: https://github.com/Nick-Triller/prometheus-bug-repro
Edit: Please note the failing test is also failing in the main branch.

Thank you for this. I have fixed main.
I will dig a bit in the code tomorrow to better review this.

Thank you!


Show age instead of exact date for birthday field

https://una.io/page/view-discussion?id=470

Copy age function from Dolphin, I think it can be hardcoded for all fields with birthday name.

When date field is "0000-00-00" it shows I'm 2017 y/o


Add typescript types

It would be rad to have TypeScript types built into this package!

i agree

this was waaaaayy harder than i expected
https://github.com/soldair/node-walkdir/blob/master/walkdir.d.ts
and a test
https://github.com/soldair/node-walkdir/blob/master/test.ts

Thank you so much @soldair!


Adding missing requirements

I always need to install these packages manually when adding segment anything from ComfyUI manager. Adding these in requirements.txt to make the process automatic.

Thank you. I have also added the missing requirements in my pull request #17

@storyicon would  you merge this PR?

LGTM


[Enhancement] Incorrect line numbers displayed for LogUtils when printing logs

Search before asking

[X] I had searched in the issues and found no similar issues.

Enhancement Request

Describe the solution you'd like
Related PR: https://github.com/apache/eventmesh/pull/4507
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct *

Search before asking

[x]  I had searched in the issues and found no similar issues.

Enhancement Request

Describe the solution you'd like
Related PR: #4507 Assigned to @scwlkq
Are you willing to submit PR?

[x]  Yes I am willing to submit a PR!

Code of Conduct

[x]  I agree to follow this project's Code of Conduct *

Completed in https://github.com/apache/eventmesh/pull/4698


Fix shader crash on zero vector and negative x vector in particles processing

This fixes issues where the GPU particles would crash if the axis vector was set to  Vector3(0.0, 0.0, 0.0) or Vector3(-1.0, 0.0, 0.0). I fixed it by defaulting to the z axis if a zero axis is entered, as that is the default in the inspector and by absoluting the axis before calculating the matrix for particle spawning.
On the CPU particles side. a zero vector would cause "The axis Vector3 must be normalized." error. So I applied the same fixes on the CPU side.
Note the -x vector issue doesn't always occur, but it crashed the particle shader on my AMD GPU. But it makes sense to avoid it as you wouldn't be able to do the cross product of Vector(1.0, 0.0, 0.0) and Vector(-1.0, 0.0, 0.0).

Thanks! And congrats for your first merged core engine contribution :tada:


elastic: Populate project_contract_other_terms

It seems that the ElasticSearch data doesn't have a field named project_contract_other_terms.  However, there is two other fields should be combined to form this data.  Add the two other fields to ApartmentDocument and a property attribute which combines those fields with couple newlines.

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

Comparison is base (382b1d3) 90.14% compared to head (0bb8dab) 90.15%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #399      +/-   ##
==========================================
+ Coverage   90.14%   90.15%   +0.01%
==========================================
  Files         339      339
  Lines       12153    12160       +7
  Branches      870      871       +1
==========================================
+ Hits        10955    10963       +8
  Misses       1056     1056
+ Partials      142      141       -1

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


Build examples from CMake rather than executable

🦟 Bug fix
Summary
Part of https://github.com/gazebosim/gz-cmake/pull/301
Test by building gz-math as normal and then running the "EXAMPLES_Configure_TEST" and "EXAMPLES_Build_TEST" via ctest.
Checklist

[ ] Signed all commits for DCO
[ ] Added tests
[ ] Updated documentation (as needed)
[ ] Updated migration guide (as needed)
[ ] Consider updating Python bindings (if the library has them)
[ ] codecheck passed (See contributing)
[ ] All tests passed (See test coverage)
[ ] While waiting for a review on your PR, please help review another open pull request to support the maintainers

Note to maintainers: Remember to use Squash-Merge and edit the commit message to match the pull request summary while retaining Signed-off-by messages.

Tested locally on Windows with:
colcon build --packages-up-to gz-math7 --merge-install
Summary: 3 packages finished [5 min 20s]

colcon test --packages-select gz-math7 --merge-install
Summary: 1 package finished [31.9s]

I also found a neat side effect, this lets us additionally turn on ninja on windows:
colcon build --packages-up-to gz-math7 --merge-install
Summary: 3 packages finished [1 min 1 s]

colcon test --packages-select gz-math7 --merge-install
Summary: 1 package finished [22.1s]

@osrf-jenkins retest this please

@osrf-jenkins retest this please


German translation contributions.

Juan, unfortunately I did not see where in AMOS we could have translated. Please accept this pull request.
Best regards,
Luca

Thanks for your contribution but you can translate the German strings via https://lang.moodle.org/
You have to select the component: local_moodlemobileapp and Moodle version 2.6, you will see there the list of unstranslated strings

Oh, fair enough, I will deposit my contributions there!
You may spread this information further (didn't find it anywhere, I searched for it) and please do point out as well that you have to choose 2.6 as Moodle Version in AMOS ([https://lang.moodle.org/]) otherwise no result shows up.

Thanks for the suggestion, I created https://docs.moodle.org/dev/Translating_Moodle_Mobile


Author page should display author details

Scenario
Given an author named 'Alan Turing'
When a user visits Turing's details page
Then no error should occour
Hints
A 'show' page displays an author's details.
In a test, visit the show page of @alan with visit author_path(@alan).
Create a separate file for author show page feature tests. Make sure it ends with _spec.rb, so that RSpec recognizes it as a test and runs it.
Test for existence of text on a page using the have_text matcher:
expect(page).to have_text(...).
Create a show action on the AuthorsController and a 'show' view (app/views/authors/show.html.erb).
Here is the relevant section (5.7) of the Rails Guide.
Tip: FactoryBot.create :author creates and saves a valid author object in your tests. If you un-comment the code in spec/factories/authors.rb, the author will be initialized with meaningful values.
Error

Got NameError: uninitialized constant AuthorsController::Article

7 exercise tests have passed. There are 44 in total. You will solve multiple at once towards the end.

Sorry, it's not working for me yet:
Scenario
Given an author named 'Alan Turing'
When a user visits Turing's details page
Then no error should occour
Error

Got NameError: uninitialized constant AuthorsController::Article

If you have problems solving this task, please don't hesitate to contact the teaching team!

Sorry, it's not working for me yet:
Scenario
Given an author named 'Alan Turing'
When a user visits Turing's details page
Then no error should occour
Error

Got ActionView::Template::Error: undefined method `first_name' for nil:NilClass

If you have problems solving this task, please don't hesitate to contact the teaching team!

Sorry, it's not working for me yet:
Scenario
Given an author named 'Alan Turing'
When a user visits Turing's details page
Then no error should occour
Error

Got ActionView::Template::Error: undefined method `first_name' for nil:NilClass

If you have problems solving this task, please don't hesitate to contact the teaching team!


Bug on diff words with accent

Some portuguese language words has accents or hyphen, or sometimes both, like this example.
const Diff = require('diff')

const one = 'Para animá-los quando...';
const other = 'Para encorajá-los quando...';

const diff = Diff.diffWordsWithSpace(one, other);

let oldSentence = ''
let newSentence = ''
diff.forEach((part) => {
    if (part.removed) oldSentence += part.value
    if (part.added) newSentence += part.value
})

console.log('oldSentence', oldSentence)
console.log('newSentence', newSentence)
// diff: anim and encoraj - is truncated on accent

// just for test, if accent is removed, result it will be:
// diff: anima and encoraja - is truncated on hyphen

// just for test, if hyphen is removed, result it will be:
// diff: animalos and encorajalos - it works fine

Is this a known bug or not yet? Can I try to correct and send a PR?

@kpdecker Can you please answer me?

Hmm. Tokenization of text with accents is definitely broken:
> wordDiff.tokenize("Para animá-los quando...")
[
  'Para',   ' ',
  'anim',   '',
  'á-',     '',
  'los',    ' ',
  'quando', '',
  '...'
]

Ah, so it's because we split on (among other things) \b in this regex:
let tokens = value.split(/([^\S\r\n]+|[()[\]{}'"\r\n]|\b)/);

\b considers non-ASCII letters to be non-letters:
> 'fooáfoo'.split(/\b/);
[ 'foo', 'á', 'foo' ]

The only reason this doesn't break an á in the middle of a word into its own token is that we have some logic for stitching the words back together, but it doesn't work when the á is at the beginning or end of a word:
// Join the boundary splits that we do not consider to be boundaries. This is primarily the extended Latin character set.
for (let i = 0; i < tokens.length - 1; i++) {
  // If we have an empty string in the next field and we have only word chars before and after, merge
  if (!tokens[i + 1] && tokens[i + 2]
        && extendedWordChars.test(tokens[i])
        && extendedWordChars.test(tokens[i + 2])) {
    tokens[i] += tokens[i + 2];
    tokens.splice(i + 1, 2);
    i--;
  }
}

This is a mess IMO and needs a rewrite.


Add files via upload

https://github.com/doficia/project-cordon-sprites/compare/master...esmit2000:master#diff-36329dbe7c992e6145a4a1b30b60c52f
Brass Knuckles for you, tee shirt pls

Sorry, but this is not original content and not pixel art. Please see our CONTRIBUTING.md first.


New dev setup: drag-ruler

I had difficulty setting up the drag ruler. All of this are from bug/failures in code outside of the hero system stuff; but a simple workaround is available by annotating the setup.
The drag-ruler needs socketlib to function. There is no display to the GM that this is the case (there are warnings in the drag-ruler code, but they don't show to the user, nor in the console: that's a bug on Forge code). Drag-Ruler docs also don't make mention of the dependency (that's a bug on drag-ruler side).
For Heroes, we can put this in the dev docs and move forward.
FWIW: if you have socketlib and drag-ruler, drag ruler does tell you to enable socketlib.

When you go to enable the Drag Ruler module, in manage modules, it will tell you that it has a dependency and ask you to install & enable it. Feel free to update the documentation in CONTRIBUTING.md or README.md to make this more clear.

This really isn't a CONTRIBUTING issues, all GM's will experience this.  Could include in the README.

Is this specific to FORGE hosting? I've never had this issue with local hosting.

Weirdly did not see that warning earlier, but now I do.


Quick examples fixes

minor fixes

Looks good. But the dead link remains (examples/01c_QuickExample.rs -> examples/18_builder_macro.rs unless a quick_example exists, then snake_case examples/01c_quick_example.rs)

I will come home in about 2 hours, and add an example. If you will find additional mistakes - let me know.

 Since you've been putting in some great work on clap would you be interested in becoming a collaborator? It'd give you push/merge access, along with issue admin access. No commitment, this is just a spare time project for all of us, but @Vinatorul and I spoke about this and think you'd be a good addition if you're up for it! If you are interested; only thing I'd ask is nothing major gets merged to master/final decision without approval. Based off my last blunder in #241 , I'm even going to look at a homu like solution since it could now be feasible for more than just myself and @Vinatorul :wink:

Awesome. However, as a note with homu and github. Both can be configured to permit us to all push via pull requests and github has 'protected repos' while homu can be configured to allow us to accept PRs without having github permissions (I think).

As for contact. IRC on irc.mozilla.org [and other networks like freenode], 'darkfox'

Rebase done, waiting for review

:+1:


[FEATURE] Why are Enums not explicitly handled when converting wit typedefs?

Affected project(s)

[ ] documentation
[ ] examples
[ ] wasmCloud host
[ ] wasmCloud CLI (wash)
[ ] wasmCloud dashboard UI (washboard)
[X] capability providers
[X] provider bindgen
[ ] control interface client
[ ] other / not sure

Is your feature request related to a problem? Please describe.
No response
Describe the solution you'd like
I am confused why enums are not directly handled inside the convert_wit_typedef function. Inside the provider wit bindgen macro, I have not been able to find any handling for enums directly anywhere under the alias TypeDefKind::Enum.
In this function it seems pretty exhaustive apart from enum and I would assume it would be because of something that happens in a different macro and gets transpiled along but it doesn't seem to be the case.
If there is a reason for not directly handling enums, it would be useful to add a one liner to explain why.
Here is the part of the macro which is responsible for deeper wit type parsing:
/// Convert a [`wit_parser::TypeDef`] (which can be found inside a [`wit_parser::Type`])
/// into a [`TokenStream`] which corresponds to a Rust type
///
/// This function is co-recursive with `convert_wit_type`, since type defs
/// and types can be recursively intertwined
pub(crate) fn convert_wit_typedef(
    type_def: &wit_parser::TypeDef,
    cfg: &ComponentSqlConfig,
) -> anyhow::Result<TokenStream> {
    // For nested types, the type_def.name is None and the kind goes deeper
    match &type_def.kind {
        // Nested type case (Option<...>)
        TypeDefKind::Option(ty_id) => {
            let ty = convert_wit_type(ty_id, cfg)?;
            Ok(quote!(Option<#ty>))
        }
        // Nested type case (Result<...>)
        TypeDefKind::Result(Result_ { ok, err }) => {
            let ok_ty = if let Some(ty_id) = ok {
                convert_wit_type(ty_id, cfg)?
            } else {
                quote!(())
            };
            let err_ty = if let Some(ty_id) = err {
                convert_wit_type(ty_id, cfg)?
            } else {
                quote!(())
            };
            Ok(quote!(Result<#ok_ty, #err_ty>))
        }
        // Nested type case (List<...>)
        TypeDefKind::List(ty_id) => {
            let ty = convert_wit_type(ty_id, cfg)?;
            Ok(quote!(Vec<#ty>))
        }
        // Nested type case (owned data)
        TypeDefKind::Handle(Handle::Own(ty_idx)) => {
            let ty_def = cfg
                .wit_bindgen_cfg
                .as_ref()
                .context("missing WIT bindgen cfg resolver")?
                .resolve
                .types
                .get(*ty_idx)
                .context("failed to find type with given ID in WIT resolver")?;
            convert_wit_typedef(ty_def, cfg)
        }
        // Nested type case (borrowed data)
        TypeDefKind::Handle(Handle::Borrow(ty_idx)) => {
            let ty_def = cfg
                .wit_bindgen_cfg
                .as_ref()
                .context("missing WIT bindgen cfg resolver")?
                .resolve
                .types
                .get(*ty_idx)
                .context("failed to find type with given ID in WIT resolver")?;
            convert_wit_typedef(ty_def, cfg)
        }
        // Nested type case (Tuple)
        TypeDefKind::Tuple(Tuple { types }) => {
            let mut tuple_types = TokenStream::new();
            for (idx, tokens) in types
                .iter()
                .map(|t| convert_wit_type(t, cfg))
                .collect::<anyhow::Result<Vec<TokenStream>>>()
                .context("failed to parse all types in Tuple w/ types {types:?}")?
                .iter()
                .enumerate()
            {
                tuple_types.append_all(quote!(#tokens));
                if idx != types.len() - 1 {
                    tuple_types.append(TokenTree::Punct(Punct::new(
                        ',',
                        proc_macro2::Spacing::Alone,
                    )));
                }
            }
            Ok(
                proc_macro2::Group::new(proc_macro2::Delimiter::Parenthesis, tuple_types)
                    .to_token_stream(),
            )
        }
        TypeDefKind::Stream(Stream { element, .. }) => {
            let element_ty = convert_wit_type(&element.context("missing type for stream")?, cfg)?;
            Ok(quote!(impl Stream<Item=#element_ty>))
        }
        // Nested types that come through can run through
        // there's a potential for a cycle here, but it's unlikely
        TypeDefKind::Type(t) => convert_wit_type(t, cfg),
        // In the straight-forward cases below, we must just use the
        // name of the type and hope for the best:
        //
        // Since we get the wit type name here (in kebab case)
        // we'll expect the custom oxidized type to be upper camel case
        // (e.x. `chunk` -> `Chunk`)
        TypeDefKind::Variant(_) | TypeDefKind::Resource | TypeDefKind::Unknown => type_def
            .name
            .as_ref()
            .map(|v| v.to_upper_camel_case())
            .map(|v| Ident::new(&v, Span::call_site()).to_token_stream())
            .with_context(|| format!("failed to parse wit type def for type_def: {type_def:?}")),

        // For records that we encounter, they will be translated to Rust Structs by bindgen
        // we can pretend the struct exists because by the time the macro is done, it will.
        TypeDefKind::Record(_) => {
            let struct_name = format_ident!(
                "{}",
                type_def
                    .name
                    .as_ref()
                    .context("unexpectedly missing name for typedef")?
                    .to_upper_camel_case()
            );
            Ok(struct_name.to_token_stream())
        }

        _ => bail!("unsupported type kind {type_def:#?}"),
    }
}

Describe alternatives you've considered
No response
Additional context
No response

Hey @LUK3ARK thanks for reporting this -- I don't think there's any explicit reasons enums shouldn't be handled, but they shouldn't need any special handling, I think they can just be put out as normal...

While I'm not sure exactly what you ran into, could you try this commit?
The handling for Enums should be basically the same as structs

this is how i solved anyway this works :)


Fix links to time tracking docs from timecard/timer.

Coverage increased (+0.2%) to 92.592% when pulling 65e1b5a17aa060339a34ceed7411a6bb6d3d9e29 on fix-links into 5ce2fb389c52ad064b2e41a0183362d1fe6c8870 on master.


Send slack alerts based on audit results

Create a AWS Lambda function that:

periodically(1 day) processes the last 2 audits for a site
if performance decreased by x (ex: 10)% send notification using AWS SNS to the customer'a slack channel

i guess this can be closed.


Switch src/ to use ES classes and drop support for node v4.

Fixes #85

[ ] Tests and linter pass
[ ] Code coverage does not decrease (if any source code was changed)
[ ] Appropriate docs were updated (if necessary)

This PR should be ready to go. I believe this requires a major semver bump. I figured the test files shouldn't be updated in the same PR. The only thing that really needs to be pointed out is that classes shouldn't be instantiatable without the new keyword:
const client1 = new Bigtable()
const client2 = Bigtable() // Error: Class constructor Foo cannot be invoked without 'new'

I was on the fence about requiring people to use the new keyword or not, and chose to make it optional. I did this by using a proxy:
Bigtable = new Proxy(Bigtable, {
  apply(target, thisArg, argumentsList) {
    return new target(...argumentsList);
  },
});

Let me know if this should be removed. I didn't add that to the semi-private classes since the common case of creating one is something like instance.table(...) and not new Table(...)
As before, most of this was done via lebab so there may be some issues so please do go through it again to make sure nothing terrible is being done.

@kolodny, it looks like there are conflicts

Forced push an updated branch.

@kolodny, it looks like there are conflicts again.

ping @alexander-fenster @stephenplusplus @JustinBeckwith, can we please get a review on this?


Some diffs are suboptimal

This diff could be better

Might be related to https://github.com/stianjensen/wikipendium.no/pull/379

How would the optimal diff look in this case?

This reminds me of how git diffs look !

Yup, git has different diff algorithms.
One is the fast one (which is default) and produces similar results to this.
Another is the 'patience' diff, which I believe is a little slower, but might handle situations like this better.

@stianjensen A better diff could look like this:

I think this might probably be the same issue. What's actually happened here is that the 'by' has been removed.


feat: operation check overrides

Motivation and Context
https://github.com/wundergraph/cosmo/assets/44922285/13a81d73-e3d6-42de-be95-12e68b031661
TODO

[ ] Tests or benchmark included
[ ] Documentation is changed or added on https://app.gitbook.com/
[x] PR title must follow conventional-commit-standard

I'll test in depth today.


Combine CLI id and tree commands, add find command.

Is your feature request related to a problem? Please describe.
Have a single command, id, which identifies a single file if given a file, and IDs a recursively-descending directory tree if given a directory.
Have another command, find, which takes an Artifact ID and a root directory and finds a matching file if present.
Describe the solution you'd like
See above
Describe alternatives you've considered
None
Additional context
None

Done!


Add broker jvmopts

Type of change

Enhancement / new feature

Description
This change allows specifying broker java options which are passed directly to the broker. This allows setting JVM-specific options that may be necessary in a production environment.
Checklist

[ ] Update/write design documentation in ./documentation/design
[ ] Write tests and make sure they pass
[ ] Update documentation
[ ] Check RBAC rights for Kubernetes / OpenShift roles
[ ] Try your changes from Pod inside your Kubernetes and OpenShift cluster, not just locally
[ ] Reference relevant issue(s) and close them after merging
[ ] Update CHANGELOG.md

@enmasse-ci run tests testcase=infra.**

:x: Test Summary :x:
TEST_PROFILE: pr
TEST_CASE: infra.**
TOTAL: 10
PASS: 4
FAIL: 6
SKIP: 0
BUILD_NUMBER: 254
:heavy_exclamation_mark: Test Failures :heavy_exclamation_mark:

testCreateInfra in io.enmasse.systemtest.isolated.infra.brokered.InfraTestBrokered
testIncrementInfra in io.enmasse.systemtest.isolated.infra.brokered.InfraTestBrokered
testDecrementInfra in io.enmasse.systemtest.isolated.infra.brokered.InfraTestBrokered
testCreateInfra in io.enmasse.systemtest.isolated.infra.standard.InfraTestStandard
testIncrementInfra in io.enmasse.systemtest.isolated.infra.standard.InfraTestStandard
testDecrementInfra in io.enmasse.systemtest.isolated.infra.standard.InfraTestStandard

@enmasse-ci run tests testcase=InfraTestBrokered#testCreateInfra

:x: Test Summary :x:
TEST_PROFILE: pr
TEST_CASE: InfraTestBrokered#testCreateInfra
TOTAL: 1
PASS: 0
FAIL: 1
SKIP: 0
BUILD_NUMBER: 267
:heavy_exclamation_mark: Test Failures :heavy_exclamation_mark:

testCreateInfra in io.enmasse.systemtest.isolated.infra.brokered.InfraTestBrokered

@enmasse-ci run tests testcase=InfraTestBrokered#testCreateInfra

:heavy_check_mark: Test Summary :heavy_check_mark:
TEST_PROFILE: pr
TEST_CASE: InfraTestBrokered#testCreateInfra
TOTAL: 1
PASS: 1
FAIL: 0
SKIP: 0
BUILD_NUMBER: 269


CLOUD-51 and CLOUD-52: Allow cpu+mem limits + requests to be commented-out

This is fixes for the '0' CPU and/or Memory resource limits/requests when they are commented out.

Make func for parsing container resources. This was done in internal/util because the same resource logic needs to be shared with the upcoming backup code.
Improve unit tests to check for this issue.

Codecov Report

Merging #84 into master will decrease coverage by 0.75%.
The diff coverage is 80.43%.

@@            Coverage Diff             @@
##           master      #84      +/-   ##
==========================================
- Coverage   64.07%   63.32%   -0.76%
==========================================
  Files          10       12       +2
  Lines         902      897       -5
==========================================
- Hits          578      568      -10
- Misses        279      284       +5
  Partials       45       45

Impacted Files
Coverage Δ

pkg/stub/util.go
44.68% <ø> (-20.84%)
:arrow_down:

internal/util/container.go
0% <0%> (ø)

pkg/stub/replset.go
60.13% <100%> (ø)
:arrow_up:

pkg/stub/container.go
68.31% <100%> (-1.36%)
:arrow_down:

internal/util/resources.go
89.74% <89.74%> (ø)

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 3d61e67...e706d07. Read the comment docs.


adding documentation and updating readme

used sphinx to set up documentation, updated readme

please, add the following to the .gitignore so we do not upload unwanted files
docs/_build/
docs/_static/
docs/_templates/


Add support for zipkin port

I've included a test - but this only gets used with the all-in-one template. I'll create a card to get the QE tests updated to test both templates - although ideally we need to get them moved into this repo.

:red_circle: Jenkins CI Build#1: Console log: external, internal

There seems to be a problem with the zipkin port on jaeger-collector in the production template - works in the all-in-one - investigating.

 Test new Docker images (from scratch)

LGTM once the CI tests are passing.

:red_circle: Jenkins CI Build#2: Console log: external, internal

@jpkrohling Any thoughts on this failure - it is failing to connect to the jaeger-collector port 9411 - however the same test in all-in-one works. The port is defined in the collector Service and collector-pod Deployment. Any ideas?

:white_check_mark: Jenkins CI Build#3: Console log: external, internal

@jpkrohling @pavolloffay Thanks!


Type stabilities in performance evaluation

While checking the codebase for type instabilities i  found out that type inference fails for Threads.@spawn and @distributed constructs in julia (Apparently that's the way these constructs were designed to be). Meaning julia isn't able to infer the return types hence affecting(slightly) performance. Previously i taught having a reduce(vcat, ret) infers the return type but checking with @code_warntype shows that this is done at runtime. Even though the  return type when using these constructs can only be infered at runtime this isn't a problem if these constructs are used once. The problem arises when these constructs are called from other code e,g TunedModel fitting. The only solution to this to to create a type barrier i.e Annotate the return type of  ret , thereby helping the compiler optimize subsequent code. Hence we need to know in advance the return type of [value(m, yhat, Xtest, ytest, wtest) for m in measures] from the func function at MLJBase. Is there any reason we won't know the return type?
Another option is to anotate the type of measurements_matrix matrix since that's always a 2D array.
Also the evaluate! function is generally type un-stable even for CPU1 option. (it gives NamedTuple{(:measure, :measurement, :per_fold, :per_observation),_A} where _A<:Tuple) . This instability comes from  predict(mach, X) which might be unavoidable
cc @ablaom  @tlienart

This is great to have this review. However, generally models take far longer to train than they do do evaluate, and whence performance optimisation here has never been a priority for me personally.
FYI, most measures return a float, but this is not necessarily Float64. If GPU's are involved, chances are it is Float32, for example. Sometimes the measure is an Integer, as in true_positive. And there are wilder exceptions: One user wanted to view confusion_matrix as a measure, which we implemented - so in that case each measurement is a matrix. Given this, I expect refactoring the code to ensure type stability (in the CPU1 case) is probably tricky, although not impossible. (You may want to check the measures are indeed type-stable, a useful exercise.) I have no objections to someone trying - but it's not a personal priority.

Now that you put it that way annotating with types won't be helpful as there as too many possibilities. For example a measures vector could consist of confusion_matrix, true_positive and cross_entropy. (In this case the compiler would treat the type of [value(m, yhat, Xtest, ytest, wtest) for m in measures]) as Any. The only place where type annotations would help is if the type of value(m, yhat, Xtest, ytest, wtest)  was the same for all m in measures (The only way to know this is if the return type for each measure is somehow known).
I guess this isn't top priority now

By the way, I seem to recall reading somewhere on Discourse that you need to use @code_warntype optimize=true in order to get the actual inferred return types. But I might be misremembering and I can't find the actual reference right now. Here's what the docstring for @code_type says:
help?> @code_typed
  @code_typed

  Evaluates the arguments to the function or macro call, determines their types,
  and calls code_typed on the resulting expression. Use the optional argument optimize with

  @code_typed optimize=true foo(x)

  to control whether additional optimizations, such as inlining, are also applied.

But that doesn't make it clear to me whether the optimize option has any effect on the inferred types.

By the way, I seem to recall reading somewhere on Discourse that you need to use @code_warntype optimize=true in order to get the actual inferred return types

By default optimize=true so there is no need to specify this again