bug:  gB (git browse) doesn't handle correctly azure devops remotes

Did you check docs and existing issues?

[X] I have read all the LazyVim docs
[X] I have searched the existing issues of LazyVim
[X] I have searched the existing issues of plugins related to this issue

Neovim version (nvim -v)
0.10
Operating system/version
NixOS
Describe the bug
Git repository url isn't computed correctly for azure devops git remote when using the builtin keymap <leader>gB.
I checked vim-fugitive, and they seem to offload this task to other plugins to implement the logic needed for the mapping (git remote url to repo website url). Example fugitive-azure-devops.vim
Also I checked neogit, and they have a simpler solution using templates; they use this for open pull request, but it can be used also for browse branch.
https://github.com/NeogitOrg/neogit/blob/66b29453df7050543a51986620f8961a79a13fcc/lua/neogit/config.lua#L323-L327
    git_services = {
      ["github.com"] = "https://github.com/${owner}/${repository}/compare/${branch_name}?expand=1",
      ["bitbucket.org"] = "https://bitbucket.org/${owner}/${repository}/pull-requests/new?source=${branch_name}&t=1",
      ["gitlab.com"] = "https://gitlab.com/${owner}/${repository}/merge_requests/new?merge_request[source_branch]=${branch_name}",
      ["azure.com"] = "https://dev.azure.com/${owner}/_git/${repository}/pullrequestcreate?sourceRef=${branch_name}&targetRef=${target}",

Steps To Reproduce
On an azure devops git repo, in normal mode click <leader>gB leads to 404 page on your browser
Expected Behavior
The correct repo url should be computed depending on the git remote provider
Repro
-- DO NOT change the paths and don't remove the colorscheme
local root = vim.fn.fnamemodify("./.repro", ":p")

-- set stdpaths to use .repro
for _, name in ipairs({ "config", "data", "state", "cache" }) do
  vim.env[("XDG_%s_HOME"):format(name:upper())] = root .. "/" .. name
end

-- bootstrap lazy
local lazypath = root .. "/plugins/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
  vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", lazypath, })
end
vim.opt.runtimepath:prepend(lazypath)

-- install plugins
local plugins = {
  "folke/tokyonight.nvim",
  { "LazyVim/LazyVim", import = "lazyvim.plugins" },
  -- add any other plugins here
}
require("lazy").setup(plugins, {
  root = root .. "/plugins",
})

vim.cmd.colorscheme("tokyonight")
-- add anything else here

I would love to contribute with a fix for this one, and I would go with neogit's approach.

Feel free to create a PR!

@med8bra, if you do decide to create a fix, could you please make this customisable to the user? I use several hosted services that I would like to add custom urls to. Thanks either way!

@dotfrag can you give some exmaples of remote -> url mappings for those providers?
I can then add them to the tests.
The new impl should be pretty generic, but we can always add custom patterns when needed

@dotfrag can you give some exmaples of remote -> url mappings for those providers? I can then add them to the tests.
The new impl should be pretty generic, but we can always add custom patterns when needed

With the refactoring, I believe the case is well covered.
https://about.gitea.com/ and https://forgejo.org/ (fork for gitea, so same url scheme)
example:
gitea.example.com -> https://gitea.albourne.com/owner/repo(.git)
I'm guessing now that there are no host mappings, we can't resolve DNS aliases in a controlled network, right? i.e. if gitea resolved to gitea.example.com, then a repo's remote would be gitea:owner/repo.git. Just wondering, not a big deal! I could clone the repos with the full url and it would work.

@dotfrag can you give some exmaples of remote -> url mappings for those providers? I can then add them to the tests.
The new impl should be pretty generic, but we can always add custom patterns when needed

With the refactoring, I believe the case is well covered.
https://about.gitea.com/ and https://forgejo.org/ (fork for gitea, so same url scheme)
example:
gitea.example.com -> https://gitea.example.com/owner/repo(.git)
I'm guessing now that there are no host mappings, we can't resolve DNS aliases in a controlled network, right? i.e. if gitea resolved to gitea.example.com, then a repo's remote would be gitea:owner/repo.git. Just wondering, not a big deal! I could clone the repos with the full url and it would work.
PS. same goes for gitlab hosted.

Should probably also work? url would be https://gitea/owner/repo

I'm guessing it will, consider it working. If it doesn't I'll post back when I get the chance to test it.

@folke
Repo with remote gitea:owner/repo doesn't work, I had good luck with:
{ "^(gitea):(.*)", "https://%1/%2" },

or more generic
{ "^(%w+):(.*)", "https://%1/%2" },

You can use ./scripts/tests

That was too easy :)
I haven't been able to get all tests to pass, I believe my ssh config is also getting in the way. It's masking the user.
This passes, but I don't like the pattern:
  { "^(g%w+):(.*)"  , "https://%1/%2" },

....
  ["https://gitea.example.com/owner/repo"] = "https://gitea.example.com/owner/repo",
  ["https://gitlab.example.com/owner/repo"]  = "https://gitlab.example.com/owner/repo",
  ["gitea:owner/repo"] = "https://gitea/owner/repo",
  ["gitlab:owner/repo"] = "https://gitlab/owner/repo",


fix the go syntax checkers with default go build mode

fixes #2165  #2164

also close this https://github.com/vim-syntastic/syntastic/issues/2165

this really necessary for those who use vim + syntastic + vim-go as editor.


As a Knative administrator, I want to upate autoscaling configs(global) which apply to overall Knative platform.

The default setting will be consistent with values in knative doc

[x] Stable-window xx
[x] panic-window-percentage xx
[x] max-scale-up-rate xx
[x] container-concurrency-target-default xx
[x] container-concurrency-target-percentage xx
[x] requests-per-second-target-default xx
[x] target-burst-capacity
[x] panic-threshold-percentage
[x] max-scale-down-rate
[x] scale-to-zero-grace-period
[x] scale-to-zero-pod-retention-period
[x] pod-autoscaler-class
[x] activator-capacity

/assign @rhuss
/assign @maximilien
/assign @markusthoemmes
Invited reviewers for code review, thanks!

Not quite sure I'm the right person to review stuff :thinking:

/lgtm


React dev tools interfere with the Trello authentication window

I use React dev tools for Chrome, and they pass their own messages to the page, which makes it impossible to authorize in Trello using the popup window. Trello just receives "[object Object]" as the token and fails.
The fix is simple: add a check for whether e.data is a string.
      window.addEventListener('message', function(e) {
        if (typeof e.data === 'string') {
          clearTimeout(timeout);
          popup.close();
          self.token = e.data;
          return resolve();
        }
      });
`

Thank you very much. I can fix this week, but it would be much better if you submitted a PR. Could you?

Sure I can, thanks for your response.


Dashboard templates

With #373 being merged, it's now easily possible to use the same graphs (server + expressions) in different dashboards by setting different template variables. In order to create a new dashboard, one only needs to clone such dashboard, set a new template variable and save, which is simple enough.
The problem comes if one needs/wants to change the dashboard. After making changes in one dashboard, the other instances need to be deleted, cloned again, etc. Alternatively, all changes need to be applied manually to each instance of dashboard used with different template variable sets.
One way to make that easier could be to introduce different types of dashboards:

dashboard standalone (what we have right now)
dashboard template (can't be used directly without template variables)
dashboard profile (links to to dashboard template and defines all required variables)

In the dashboard list, dashboard templates would be hidden or only shown in a separate tab. (maybe, still in discussion). In the view of of dashboard profile, we could then show a list of alternative profiles linking to the same template as dropdown menu.
An additional confirmation should be shown probably if someone tries to update a dashboard profile, explaining that the change will effect the template and all other profiles as well. Alternatively, the save button gets removed in profiles, or replaced with a link to the template view.
This would solve the rest of #180.
What do you think? @juliusv @stuartnelson3 @matthiasr

An additional confirmation should be shown probably if someone tries to update a dashboard profile, explaining that the change will effect the template and all other profiles as well.

Changes to a profile won't have any affect (IMO). It is just a json blob:
{
  var1: "val1",
  var2: "val2",
  var3: "val3"
}

The template defines a list of keys, in addition to all the widgets and settings it stores. A profile must have values for all of these keys.
A change to a template would render an alert saying "this list of profiles will be affected and must be updated".
templates#new and templates#edit are like dashboards#new and dashboards#edit, but with an arbitrary amount of key-value inputs. If a value is entered for a particular key, that becomes the default value when creating a profile for that template.
profiles#new and profiles#edit are just pages displaying a key-value list. Keys are static (defined in the template), and all values must be entered. the user selects a template from a dropdown of all templates, which then renders out the variables defined for that template, and all other profiles currently using it.
I'm thinking about two ways of managing this:

/profile/:slug: renders a profile against its associated template. profile variables can't be added or removed, but they can be modified (and then saved).

how much do we want profiles to be configurable? e.g. endTime, range, etc? Should these values be taken from the template?

/template/:slug#?profile=someProfile

this might be something nice to support on a template page, so that you can see changes quickly to your template as they would affect a profile, but adding links to these would be silly and probably unnecessarily messy.

Questions:

Would profiles be added to directories, and therefore be visible on the main page side-by-side with normal standalone dashboards?
I mention above that all key-value pairs defining a template must be filled in for a profile. Do we want this? Or do we want users to be able to leave values blank?
Do we want to require a default value for every key-value pair in a template?

Hm, let's sync first on this, I don't understand all of the comments yet.

it's evolving. i'm already ditched the routes stuff i mentioned above. wip is here https://github.com/prometheus/promdash/pull/377

What we've discussed so far:

Templates and standalone dashboards are almost identical, we still want to separate them so far to make the UI and handling more explicit. Users will get a select/dropdown option to choose the dashboard type. If viewing a template dashboard (still at http://promdash/:slug), some clear UI indicator will tell that.
Profiles are sets of template variables and a reference to a template dashboard. A profile can only be attached to a single template. Profiles will be located at http://promdash/:dashboard/:profile. For example a template awesomeapp with two profiles staging and production will result in a URL like http://promdash/awesomeapp/production.
An additional dropdown element will be added to template and profile views, in order to switch between profiles.
The dashboards list will show all available profiles for a template.

An idea to manage profiles: Instead of a new list view of templates, profiles could just be managed in the template view. If looking at a template, we could add a box above the graphs for the profiles, with tabs for the different profiles, a plus button to create a new profile and crosses to delete templates.
As a nice side effect, that should also already make pretty clear that one views a template.

After more discussions, we'll do it even simpler:

no more distinction in standalone/template dashboards
profiles will be saved as part of a dashboard
All the creation/manipulation of profiles will happen on the dashboard page

current template variables stay as they are and become basically the "general variables" which always apply
new profiles can optionally be added. by default, no profiles are available
if any profile is available, we'll always redirect the dashboard to /:slug/:profile
variables set in profiles win over variables set in general
if there are more than one profile, than the user can switch between them while editing. one of them is always selected. any changes to the currently selected profile get replicated to all other profiles. So deleting a variable from the currently selected profile form  will cause the same variable to be deleted in all other profiles as well. similar for adding new variables.

@stuartnelson3


Finalized package keywords

Added a bunch of keywords that are specific to Vertica to get ready for the publish to npm we will be doing later today.

Should we add keywords to the v-protocol package (right now it does not have any)?

I figure there should be at least a couple terms that would allow a user to find all the packages related to this project, even if they don't intend to use it directly (e.g. "vertica" and "vertica-nodejs" could be keywords for all modules).
I can't find an example right now to see how other projects with multiple modules make use of keywords.


staking: rework epoch transition rate calculations

Follow-up to #2909, this PR creates a simple DistributionManager with stub methods, and rework the staking logic that is executed during epoch transitions.

Will merge on green CI.


DaphneDSL: type/shape of a variable must not be changed in loops

It is not possible to combine matrices with rbind() and cbind() in loops. It is unclear to me if this is a desired behavior. If it is, it should be mentioned in DaphneDSL documentation.
While-loop:
m = fill(0.0,1,1);
iter = 1;
while (iter < 11) {
	e = fill(0.0,1,1);
	m = rbind(m,e);
	iter = iter + 1;
}

For-loop:
m = fill(0.0,1,1);
for (iter in 1:10) {
	e = fill(0.0,1,1);
	m = cbind(m,e);
}

Thanks for identifying the issue, @RetoKrummenacher. We want both of these scripts to work, but currently there are still issues with shape inference that make them fail. It's on my list to fix them.


NEST suddenly starting to create incorrect requests

This issue was originally posted on https://discuss.elastic.co because I can not for sure say that it is caused by a problem in NEST. But @russcam asked me to post here as well, so here goes.
We have a .NET application using NEST version 2.3.1 against Elasticsearch 2.2.0. The application is a backend server application running on multiple hosts under IIS, all performing the same queries against an Elasticsearch cluster.
Recently we experienced very strange behavior at one of our customer sites running the application on 4 IIS hosts. Suddenly all queries against Elasticsearch from one of the nodes started to fail, the other 3 nodes continued to work fine.
The error reported from Elasticsearch for queries from the failing node was the following:
StatusCode: 400, Method: POST, Url: https://--the-url--/_search?timeout=5s, Elasticsearch reason:
[term] query does not support [has_child], Exception: System.Net.WebException: The remote server returned an error: (400) Bad Request.
   at System.Net.HttpWebRequest.GetResponse()
   at Elasticsearch.Net.HttpConnection.Request[TReturn](RequestData requestData)

After enabling verbose logging of the request on the application side we found that we actually did send the following query in the request:
{"query":{"bool":{"filter":[{"term":{"the_property_name":{"has_child":"4"}}}]}}}
This is obviously an incorrect query, so the Elasticsearch response is correct. The query should look like this (with "value" instead of "has_child"):
{"query":{"bool":{"filter":[{"term":{"the_property_name":{"value":"4"}}}]}}}
From the C# code of the application we just perform the following for the term condition using the NEST client:
Query<T>.Term("the_property_name", "4")
It appears that the NEST client suddenly started writing incorrect requests using "has_child" instead of "value" as the property name for the condition value. After restarting the process (by performing an IIS recycle of the application pool) the problem disappeared.
We took a memory dump before performing the recycling, and I have analyzed it.
NEST has a static cache (TypeExtensions._cachedTypeProperties) which contains a mapping from types (like e.g. TermQuery) to a list of JsonProperty objects, each describing a property of the type. Among other things the JsonProperty contains PropertyName (which is the name used in the serialized json, typically set with a JsonProperty attribute) and UnderlyingName (which is the name of backing field/property in the type).
The TermQuery class implements the ITermQuery interface:
public interface ITermQuery : IFieldNameQuery
{
	[JsonProperty("value")]
	object Value { get; set; }
}

Meaning that the JsonProperty for the Value should have PropertyName="value" and UnderlyingName="Value".
But listing all JsonProperty objects for the TermQuery in WinDbg gives the following:
[0] 000000040ef31110 (Newtonsoft.Json.Serialization.JsonProperty)
    _propertyName:000000070f1bb9f8 (System.String) Length=13, String="conditionless"
    <UnderlyingName>k__BackingField:000000050f0bffa0 (System.String) Length=13, String="Conditionless"
[1] 000000040ef31238 (Newtonsoft.Json.Serialization.JsonProperty)
    _propertyName:000000070f1bbaa0 (System.String) Length=5, String="_name"
    <UnderlyingName>k__BackingField:000000060eebd5c8 (System.String) Length=4, String="Name"
[2] 000000040ef31360 (Newtonsoft.Json.Serialization.JsonProperty)
    _propertyName:000000070f1bbb38 (System.String) Length=5, String="boost"
    <UnderlyingName>k__BackingField:000000060eebd5f0 (System.String) Length=5, String="Boost"
[3] 000000040ef31488 (Newtonsoft.Json.Serialization.JsonProperty)
    _propertyName:000000070f0d07b8 (System.String) Length=10, String="isVerbatim"
    <UnderlyingName>k__BackingField:000000050f0bffd8 (System.String) Length=10, String="IsVerbatim"
[4] 000000040ef315b0 (Newtonsoft.Json.Serialization.JsonProperty)
    _propertyName:000000070f0d0478 (System.String) Length=8, String="isStrict"
    <UnderlyingName>k__BackingField:000000060eebd618 (System.String) Length=8, String="IsStrict"
[5] 000000040ef316d8 (Newtonsoft.Json.Serialization.JsonProperty)
    _propertyName:000000070f0d0618 (System.String) Length=10, String="isWritable"
    <UnderlyingName>k__BackingField:000000060eebd648 (System.String) Length=10, String="IsWritable"
[6] 000000040ef31800 (Newtonsoft.Json.Serialization.JsonProperty)
    _propertyName:000000070f1bbca8 (System.String) Length=5, String="field"
    <UnderlyingName>k__BackingField:000000070f1baf70 (System.String) Length=5, String="Field"
[7] 000000040ef31928 (Newtonsoft.Json.Serialization.JsonProperty)
    _propertyName:000000050f0b7078 (System.String) Length=9, String="has_child"
    <UnderlyingName>k__BackingField:000000040ef309f0 (System.String) Length=5, String="Value"

Notice the last one. Underlying name is "Value", but the property name is "has_child". So this is what is causing the incorrectly generated requests.
I have browsed the source code of NEST/Elasticsearch.Net, looking at how the serialization of queries is performed. Including trying to find e.g. thread unsafety anywhere in FieldNameQueryJsonConverter, ReserializeJsonConverter and the extension method GetCachedObjectProperties. But I have not found anything that looks incorrect.
Has anyone experienced anything similar? Any idea on what could cause this other than some sort of memory corruption? We do run unmanaged code in the same process, but to me it is kind of too much of a coincidence that memory corruption should replace that "value" string with "has_child" which is also a valid Elasticsearch string set as JsonProperty attribute within the NEST client.

Thanks for the detailed report @hmanner, super helpful.
This does not look right at all indeed. I have only seen this a handful of times on our CI (each commit runs on TeamCity/Travis/AppVeyor) but had not seen this in a long while and assumed other fixes in this area caught whatever might be causing this.
Will deep dive again to see if I can spot the offender this time around. I agree it has nothing to do with your use of unmanaged code and is not caused by memory corruption.

Thanks. This is kind of unscientific, but I have a feeling that I might have seen this during development as well a long time ago. Just did not follow up on it. If that feeling is correct, the error likely occurred during the startup of the application. Also at the customer site it is possible that we had an app pool recycling before the error occurred (we do that every 29 hours). I will try to look into that next week.

The app pool was recycled at 02:34, and the first error message appeared 04:39. Considering that the request is triggered by end user activity, and that this was in the middle of the night, this could possibly have been the first ever request performed after process startup. But I do not have enough logging to say that for sure.

@hmanner are you able to share the thread dump with us?

Are you using multiple instances of the client or a singleton? In later 2.x versions we switched to caching contracts for types per ConnectionSettings instance:
https://github.com/elastic/elasticsearch-net/pull/2240/files#diff-6a5a67014a59ed6d095a5c9d41dd2be4R38
Does not  explain why Value ends up being serialized as has_child but trying get a lay of the land sort of speak.

@Mpdreamz No, sorry I can not share that memory dump for patient privacy reasons. It is from a production system containing medical data.
We create a new client when settings (like timeout) change. Normally however, these settings do not change during the lifetime of the process (29 hours as I mentioned above), so I would say that we have a singleton.

@hmanner makes total sense + i don't think its needed anymore:
https://github.com/elastic/elasticsearch-net/blob/2.4.0/src/Nest/CommonAbstractions/SerializationBehavior/JsonNetSerializer.cs#L65
This lookup uses GetHashCode() which is wrong on so many levels and something we already fixed in 5.x and master (6.0) but never fully backported to 2.x
Will send a PR and we should get a new release out asap.

@Mpdreamz Looks like a very probable cause of the problem. Good find, thank you!

I have fixed this as per #2883 and pushed NEST 2.5.6 to nuget.org that contains the fix:
https://www.nuget.org/packages/NEST/2.5.6
Thanks again for raising this @hmanner 👍


Add List/Iterate Devices Example

Iterate Over List of Devices: this example should List Devices and then show how to iterate over the paginated list of devices that is returned by the API.
Here's a similar example in Python:
https://github.com/attm2x/m2x-python/blob/master/examples/iterate_over_devices.py

@kristinpeterson https://github.com/attm2x/m2x-php/pull/28 has resolved this issue.


Improve Onboarding Documentation to Run OpenSauced Locally

Type of feature
📝 Documentation
Current behavior
Currently, the OpenSauced application is comprised of the App and the API.  When someone is onboarding and installing these services on their machine, it's unclear what environment variables to change/use to connect the app and the api locally.
Suggested solution
To help onboard contributors, we can update the documentation to include instructions on running the entire application locally.
Some first initial questions/thoughts I have are:

Can the .env variables in the app be updated to include the .env variables created in Supabase for the api?
This entire process can be simplified in a docker container after understanding how to run both services locally

Additional context
No response
Code of Conduct

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

Contributing Docs

[X] I agree to follow this project's Contribution Docs

I can .take this one. I just need some more information if anyone has been able to do this.

I can .take this one. I just need some more information if anyone has been able to do this.

Hello @sdolmo, have you read through the README?

@bdougie Got it, I created a Supabase instance for the API. and can see the requests happening:

@RitaDee Yes, however, I would like to run the app with it making requests to the local API. However, when I try to click the Connect with Github button, I get this error:
{"code":400,"msg":"Unsupported provider: provider is not enabled"}

I configured NEXT_PUBLIC_SUPABASE_URL, NEXT_PUBLIC_SUPABASE_ANON_KEY, and NEXT_PUBLIC_API_URL in the .env file of the app to use the Supabase credentials I received. I think I would have to configure the rest of the variables, but I'm not sure what the rest of those values should be.

However, when I try to click the Connect with Github button, I get this error:
{"code":400,"msg":"Unsupported provider: provider is not enabled"}

Did you set up GitHub as a with provider? Perhaps that is missing from the instructions.

Did you set up GitHub as a with provider? Perhaps that is missing from the instructions.

No, I have not. How do I do that?

Hey @sdolmo, you can just use the beta server (beta.api.opensauced.pizza) if you don't want to spin up the server locally.

No, I have not. How do I do that?

In your supabase instance, navigate to Authication -> Providers -> Enable Github and you will have keys generated that you will need for step 3

Go to your Github settings -> dev settings -> oauth apps -> create a new one

Fill in the form with the keys in your supabase instance

Let us know if you encounter any issues :pizza:

Hey @sdolmo, you can just use the beta server (beta.api.opensauced.pizza) if you don't want to spin up the server locally.

Thank you, @takanome-dev, I'll give that a try.
However, I want to spin this up locally. Is there a way to do that?

However, I want to spin this up locally. Is it the same process?

Oh sorry I was not clear. You only need to do this if you want to use the API locally


SQLite: Is there support for Full Text Search?

Is it possible to do FTS with this provider? Via virtual tables and query operators: https://sqlite.org/fts5.html

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: dbc4d900-28a8-9c04-2443-7407f15a684f
Version Independent ID: 545bb0b5-f15b-584e-cef7-7283a0e0729f
Content: SQLite Database Provider - Limitations - EF Core
Content Source: entity-framework/core/providers/sqlite/limitations.md
Product: entity-framework
GitHub Login: @rowanmiller
Microsoft Alias: divega

Yes. It's essentially the same as creating a general table but you have to customize the migration queries.
Here are some example codes from one of my project:

DbContext
Migration
Search

Ok, I've looked into it and Microsoft.EntityFrameworkCore.Sqlite is built on top of SQLitePCLRaw.bundle_green (>= 1.1.12) which does not seem to have FTS5 feature implemented.
How does that work then?

I am not sure about the internal workings but I think the FTS5 extension is builtin to the SQLite library long ago. So as long as raw SQL is allowed then whatever the library provides is supported through the library.
Section 2.1

As of version 3.9.0 (2015-10-14), FTS5 is included as part of the SQLite amalgamation.

The basic idea is to create a VIRTUAL TABLE through raw SQL and querying it like a normal table ( with a twist ).
Since the search query for FTS is a bit different than that EFCore generates. You just need to also override it with IQueryable.FromSql. That's why you see FTSData.cs has a Search method.
The reason I notice this is I played with the SQLite CLI ( using it to read the db file that EFCore has generated ) and comparing the EFCore's raw SQL and don't really see the difference ( I can run PRAMA whatever from it which is neat! ).

See https://github.com/aspnet/EntityFrameworkCore/issues/4823#issuecomment-381275855 for how to query in EF Core.

SQLitePCLRaw.bundle_green (>= 1.1.12) which does not seem to have FTS5

bundle_green uses the system version of SQLite on macOS and iOS. To get a version that has FTS5 on those platforms, use bundle_e_sqlite3 instead: (in your csproj)
<ItemGroup>
  <!--<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="2.2.2"/>-->
  <PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite.Core" Version="2.2.2"/>
  <PackageReference Include="SQLitePCLRaw.bundle_e_sqlite3" Version="1.1.12"/>
</ItemGroup>

thanks everyone, very helpful.


Temporary Registrations and Sign-Up Tool

Aim

Objective of the Script : To generate a Python script to help with temporary details for signups and registrations and to avoid spams if real details are given.

Details

Features of the Script : A python script that generate a new temporary profile that can be used for annoying logins, sign ups, registrations etc.

Script will create a username, temporary email id, strong password

@DevLokCodes Do you want to work on this script?

yeaa i would like to work on it

@DevLokCodes Go ahead then...

thankyou for accepting my issue 👍🙌

@DevLokCodes It was great idea for a script..🚀


Question: If you want to create a plugin for Abell, what data and functions you would expect to be exported out of abell?

This is how Abell works (as of v0.2.x)

Get all the necessary data in programInfo variable (Reads the theme/[$slug]/index.abell, reads the abell.config.js, reads the directories in content/, prepares all the necessary variables)
(Code: https://github.com/abelljs/abell/blob/master/src/content-generator.js#L89)
build(programInfo) is called which loops through all .abell files and calls generateHTMLFile(path, programInfo) when it's a normal .abell file and generateContentFile(path, programInfo) when its [$slug]/index.abell.

Possible plugins

RSS Feed (Thanks @akash-joshi for the suggestion)
PWA (Way to create manifest.json, service workers, etc)
SiteMap Generator

I would love to know suggestions and feedback on how we can possibly make the plugin system.

So my first thought is to have plugins that look like this.
abell-rss-feed-plugin.js
function beforeBuild(programInfo) {
  // ... Nothing to do before build
}

function afterBuild(completeContent, programInfo) {
  const rssXML = getRssXMLFromContent(completeContent, programInfo);
  fs.writeFile('rss.xml', rssXML);
  return
}
module.exports = {beforeBuild, afterBuild}

Implemented this in some amount at feat-plugins-system branch
The first parameter in afterBuild, completeContent is not really needed since most of the information is there in programInfo and additional information can be read from the built files.

Idea for source plugins:
function beforeBuild(programInfo, {createContent}) {
  const meta = {
    title: 'Blog from source'
  }

  const content = `# This is head
  ## This is subtitle
  nice
  `

  createContent(content, meta)

This will make it easy to build source plugin and will also help to handle data in standard way rather than relying on plugins to handle that.

I think we have stable plugin system now. Any additional exports can be handled in separate issues.


Usage of Pressable API

Because the documentation itself says this:

Maybe we can use the Pressable API instead of the TouchableOpacity.
With the use of onLongPress that Pressable brings, it is possible to manage in a better way the way to completely delete the entry data

This makes sense, now that TypeScript is merged, I'd accept a PR that supports this.


use multistage docker build

Hi!
I just forked your repo to reduce the image size (and use my own knx.ini).
When using a multistage docker build, you can reduce the image size from ~400 to ~40MB (reduce by a factor of 10).
See dockerfile at https://github.com/savek-cc/knxd-docker :)
BR,
Savek

Thanks for adjusting the build file. Have adjusted it as well.


csvkit doesn't build for python2

Issue description
csvkit doesn't build for python2 - maybe it requires python3 now?  Should be marked if so. (EDIT: according to this 2.7 should work)
Steps to reproduce
nix-shell -p python2Packages.csvkit
https://paste.pound-python.org/show/XOjrUoDgUFIuR0krSveO
Technical details
Please run nix-shell -p nix-info --run "nix-info -m" and paste the
results.

system: "x86_64-linux"
host os: Linux 4.14.43, NixOS, 18.09pre140958.696c6bed4e8 (Jellyfish)
multi-user?: yes
sandbox: no
version: nix-env (Nix) 2.0.2
channels(ole): "nixos-18.09pre144878.687f5d2fa17"
channels(root): "nixos-18.09pre140958.696c6bed4e8, oldnixos-16.09.1943.25f4906da6, unstable"
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos

I've opened https://github.com/wireservice/agate/pull/716.


bug:  controller Unexplained  hanging

Current Behavior
Unexplained abnormal hang, lasting 9 minutes. Finally, it exited abnormally.

During the hang period, the apisix upstream node failed to be updated normally, causing traffic loss.
Expected Behavior
running success
Error Logs
None logs
Steps to Reproduce
sporadic
Environment

APISIX Ingress controller version (run apisix-ingress-controller version --long):  v1.5.0
Kubernetes cluster version (run kubectl version) 1.24
OS version if running APISIX Ingress controller in a bare-metal environment (run uname -a)  4.19

@Donghui0

Was this a one time events? There is no helpful information in the logs. There might have been some network connectivity issues. What was the state of the pod during this event (kubectl describe)
Was only the ingress controller pod down? Or the APISIX pod was down as well?

@Donghui0

Was this a one time events? There is no helpful information in the logs. There might have been some network connectivity issues. What was the state of the pod during this event (kubectl describe)
Was only the ingress controller pod down? Or the APISIX pod was down as well?

1: controller pod is running.   Use the /healthz interface to do health checks.   Referring to the grafana chart above, the health check interface failed for about 9 minutes. That is, the controller hung for about 9 minutes. But the thread for acquiring the etcd lock was normal, and the lock was updated normally.
2:  controller pod hang.  apisix pod is ready.


[Haskell-Performance] kevm proof slow with extra side conditions

Please Prepare Test Data
I have a specification on KEVM: https://github.com/runtimeverification/evm-semantics/blob/master/tests/specs/benchmarks/storagevar03-spec.k
This can be run with: make tests/specs/benchmarks/storagevar03-spec.k.prove after building KEVM.
It has some side-conditions for validity on the input state: https://github.com/runtimeverification/evm-semantics/blob/master/tests/specs/benchmarks/storagevar03-spec.k#L116. But these side-conditions are actually not needed (the lines CONTRACT_ID >Int 0 andBool notBool #isPrecompiledAccount(CONTRACT_ID, BYZANTIUM)), so I removed them.
Removing these 4 conditions (on CONTRACT_ID and CALLEE_ID) ends up improving the performance by ~2.5X.
So it seems that having these extra side-conditions is causing a big performance slowdown.
I've attached 2 bug reports:

kevm-bug-storagevar03-with-conditions.tar.gz, which is run with the extra conditions as linked above, which takes 269.4s on my machine.
kevm-bug-storagevar03-without-conditions.tar.gz which is run with those conditions removed and takes 117.31s my machine.

These conditions should not change their simplification status through the whole proof beyond startup, so I guess I'm wondering why it takes so much longer to run with these extra conditions. We should try evaluating them once, and then basically know that they can't be simplified any further throughout the rest of execution (so should not try).

@F-WRunTime it seems that it cannot detect that I'm a member of the org? https://github.com/runtimeverification/haskell-backend/actions/runs/3148634684/jobs/5119382938

Also, it seems to create too many jobs:

dummy comment to trigger workflow

Test me.

Test me.

Ran the two tarballs in a separate ticket #3303 . Nothing immediately suspicious in the profiles, but the top consumers differ to significant extent:
with-conditions

COST CENTRE
MODULE
SRC
%time
%alloc

hashWithSalt
Kore.Internal.TermLike.TermLike
src/Kore/Internal/TermLike/TermLike.hs:698:5-77
4.7
4.7

hashWithSalt1
Data.Hashable.Class
Data/Hashable/Class.hs:271:1-45
1.8
1.4

ravel
Data.Generics.Internal.VL.Lens
src/Data/Generics/Internal/VL/Lens.hs:66:1-42
1.8
1.6

guardAgainstBottom
Kore.TopBottom
src/Kore/TopBottom.hs:45:1-49
1.4
0.8

addConditionWithReplacements
Kore.Internal.SideCondition
src/Kore/Internal/SideCondition.hs:(310,1)-(333,29)
1.4
1.0

simplifySubstitutionWorker
Kore.Simplify.SubstitutionSimplifier
src/Kore/Simplify/SubstitutionSimplifier.hs:(267,1)-(399,78)
1.4
1.8

unionWith
Data.Map.Strict.Internal
src/Data/Map/Strict/Internal.hs:(990,1)-(996,35)
1.4
0.8

compare
Data.InternedText
src/Data/InternedText.hs:(82,5)-(86,61)
1.4
0.0

liftSimplifier
Kore.Simplify.Simplify
src/Kore/Simplify/Simplify.hs:192:5-42
1.3
1.7

compare
Kore.Rewrite.RewritingVariable
src/Kore/Rewrite/RewritingVariable.hs:75:25-27
1.2
0.0

fmap
Kore.Internal.Predicate
src/Kore/Internal/Predicate.hs:171:21-27
1.2
0.3

repIso
Data.Generics.Internal.Profunctor.Iso
src/Data/Generics/Internal/Profunctor/Iso.hs:38:1-20
1.1
2.6

substitute
Kore.Internal.TermLike.TermLike
src/Kore/Internal/TermLike/TermLike.hs:(850,5)-(948,57)
1.1
1.4

without-conditions

COST CENTRE
MODULE
SRC
%time
%alloc

hashWithSalt
Kore.Internal.TermLike.TermLike
src/Kore/Internal/TermLike/TermLike.hs:698:5-77
8.4
8.8

addConditionWithReplacements
Kore.Internal.SideCondition
src/Kore/Internal/SideCondition.hs:(310,1)-(333,29)
3.6
2.4

liftSimplifier
Kore.Simplify.Simplify
src/Kore/Simplify/Simplify.hs:192:5-42
3.0
4.3

hashWithSalt1
Data.Hashable.Class
Data/Hashable/Class.hs:271:1-45
2.2
2.4

fmap
Kore.Internal.Predicate
src/Kore/Internal/Predicate.hs:171:21-27
1.5
0.5

ravel
Data.Generics.Internal.VL.Lens
src/Data/Generics/Internal/VL/Lens.hs:66:1-42
1.4
1.3

compare
Data.InternedText
src/Data/InternedText.hs:(82,5)-(86,61)
1.3
0.0

project
Kore.Internal.Predicate
src/Kore/Internal/Predicate.hs:(325,5)-(327,67)
1.2
4.8

compare
Kore.Internal.TermLike.TermLike
src/Kore/Internal/TermLike/TermLike.hs:(692,5)-(695,29)
1.2
0.0

simplifySubstitutionWorker
Kore.Simplify.SubstitutionSimplifier
src/Kore/Simplify/SubstitutionSimplifier.hs:(267,1)-(399,78)
1.1
1.3

Blocked on https://github.com/runtimeverification/haskell-backend/issues/3113, because the highest cost center is hashing. After that is fixed, we should reinvestigate.


Include icon in development build exe

Just a small suggestion if possible, it seems in all the development build exe so far it doesn't include the wwm icon.

Every dev build should now have the icon.


When the jobstore isn't on a path available on all nodes, give a better error message

Hello,
I've pip install toil[cwl] (v3.8) and created toy example files echo-job.cwl and echo-job.yml:
cwlVersion: v1.0
class: CommandLineTool
baseCommand: echo
stdout: output.txt
inputs:
  message:
    type: string
    inputBinding:
      position: 1
outputs:
  output:
    type: stdout

message: Hello world!
submitted this CWL workflow to

single machine

cwltoil echo-job.cwl echo-job.yml --workDir $(pwd) # OK, written output.txt file

SGE cluster

cwltoil --batchSystem sge --maxCores 2 --maxMemory 1G --disableCaching --workDir $(pwd) echo-job.cwl echo-job.yml
jobs fail, no output.txt file
Traceback (most recent call last):
  File "/home/arnikz/miniconda2/envs/toil/bin/_toil_worker", line 11, in <module>
    sys.exit(main())
  File "/home/arnikz/miniconda2/envs/toil/lib/python2.7/site-packages/toil/worker.py", line 103, in main
    jobStore = Toil.resumeJobStore(jobStoreLocator)
  File "/home/arnikz/miniconda2/envs/toil/lib/python2.7/site-packages/toil/common.py", line 772, in resumeJobStore
    jobStore.resume()
  File "/home/arnikz/miniconda2/envs/toil/lib/python2.7/site-packages/toil/jobStores/fileJobStore.py", line 77, in resume
    raise NoSuchJobStoreException(self.jobStoreDir)
toil.jobStores.abstractJobStore.NoSuchJobStoreException: The job store '/tmp/tmpyxJBKg' does not exist, so there is nothing to restart

SLURM cluster

cwltoil --batchSystem slurm --maxCores 2 --maxMemory 1G --disableCaching --workDir $(pwd) echo-job.cwl echo-job.yml
jobs fail but written (non-empty) output.txt file
Traceback (most recent call last):
  File "/home/arnikz/miniconda2/envs/toil/bin/_toil_worker", line 11, in <module>
    sys.exit(main())
  File "/home/arnikz/miniconda2/envs/toil/lib/python2.7/site-packages/toil/worker.py", line 103, in main
    jobStore = Toil.resumeJobStore(jobStoreLocator)
  File "/home/arnikz/miniconda2/envs/toil/lib/python2.7/site-packages/toil/common.py", line 772, in resumeJobStore
    jobStore.resume()
  File "/home/arnikz/miniconda2/envs/toil/lib/python2.7/site-packages/toil/jobStores/fileJobStore.py", line 77, in resume
    raise NoSuchJobStoreException(self.jobStoreDir)
toil.jobStores.abstractJobStore.NoSuchJobStoreException: The job store '/tmp/tmp5kPlBc' does not exist, so there is nothing to restart

Could you please help?

Hello @arnikz
My guess is that /tmp was not present on all nodes of your cluster.
Here's how we run Toil @ EBI: https://github.com/ProteinsWebTeam/ebi-metagenomics-cwl/blob/master/workflows/run-toil-v4.sh
Note the use of --jobStore  to specify a path known to present on all nodes
The error message should be updated to give this hint.

Thanks @mr-c for suggestions! It worked out by setting the workDir to /tmp and adding the --jobStore path.


[Docs]Adding the option of using docker registry

As described in https://camel.apache.org/camel-k/1.9.x/installation/platform/kind.html

Changed by a link to the registry section.

@Delawen @oscerd Can we port this to main as well?

Sure.

Done.


Cannot set other than rke2-images.linux-amd64.tar.(gz|zst) with tarball_install method

In tarball_install method, container image could only be rke2-images.linux-amd64.tar.zst or rke2-images.linux-amd64.tar.gz.
We are currently using cilium cni in some of our cluster and would like to import zipped images from rke2 project without having to use registry as done with default rke2 images
Proposed change:
https://github.com/rancherfederal/rke2-ansible/pull/83

This can be accomplished via the rke2_images_urls array. Supply a path to the URL and it will be included.


Allow to specify an Alias for the file name

In the original docs/Concept.md there is an optional Alias parameter, which is not implemented, but would indeed be useful.
Note that this would needs to consider multiple secret compatibility https://github.com/Azure/kubernetes-keyvault-flexvol/pull/49

also #66 is related here.


Add export condition for SvelteKit 2

New export condition in package.json is needed.
https://github.com/sveltejs/vite-plugin-svelte/blob/main/docs/faq.md#missing-exports-condition

Thanks!


stackstorm start problem

hi , I got a problem.
system: Ubuntu 20.04
Traceback (most recent call last):   File "/home/simon/st2/st2common/st2common/metrics/base.py", line 228, in metrics_initialize     METRICS = get_plugin_instance(PLUGIN_NAMESPACE, cfg.CONF.metrics.driver)   File "/home/simon/st2/st2common/st2common/util/loader.py", line 222, in get_plugin_instance     manager = DriverManager(   File "/home/simon/st2/virtualenv/lib/python3.8/site-packages/stevedore/driver.py", line 53, in __init__     super(DriverManager, self).__init__(   File "/home/simon/st2/virtualenv/lib/python3.8/site-packages/stevedore/named.py", line 89, in __init__     self._init_plugins(extensions)   File "/home/simon/st2/virtualenv/lib/python3.8/site-packages/stevedore/driver.py", line 112, in _init_plugins     raise NoMatches('No %r driver found, looking for %r' % stevedore.exception.NoMatches: No 'st2common.metrics.driver' driver found, looking for 'noop'
how can I resolve it?

Installing StackStorm into an arbitrary virtualenv is not supported.  There are multiple ways to install StackStorm correctly by following the official documentation https://docs.stackstorm.com/install/u20.html


Add "pathname" gem requirement to the docs

Otherwise...
$ ruby bin/validate.rb
Traceback (most recent call last):
	1: from bin/validate.rb:51:in `<main>'
/Users/dan/.rvm/gems/ruby-2.5.1/gems/json_schemer-0.1.7/lib/json_schemer.rb:36:in `schema': uninitialized constant #<Class:JSONSchemer>::Pathname (NameError)

Tanks!

Thanks for the issue. pathname is actually part of the Ruby standard library, but you're right that it needs to be explicitly required. I added a line to the readme


Add setup instructions to create local database

Finish the updated setup instructions by adding steps to create and connect to a local postgres database.

Looks good, Will! Another option is a docker-compose setup that creates a DB and the admin interface. The official Postgres Docker image has the example using adminer.

Thanks Brian! Doing both at once sounds like a good idea. I'm not too familiar with docker-compose, but if you wanted to write up some steps to include in the readme it might help to give people different options

Will, just added a basic compose file with some instructions alongside yours. I'm sure we could provide more instruction on Docker basics, compose, etc., but maybe see what's needed by those involved before going further.

Looks good, thanks Brian!


Update: Redundant utility directory removed.

Update: gearExport script moved from utility to core functions.

gearExport should be included in core\CfgFunctions.hpp

gearExport should be included in core\CfgFunctions.hpp

Thanks, done.


Status of the codebase

@Naios
Hi. Your library looks wonderful for our use case.

Do you think a codebase is mature enough to be used in production environment?
What is the status of 4.0.0? There is no release tag for this version.

Hey,
I'm glad that you like the library.

Do you think a codebase is mature enough to be used in production environment?

Currently there are no bugs known to me except the current issue #13 about a GCC 8+ internal compiler error (which needs a rewrite of the internally used variant implementation, in order apply a workaround for this). I'm using continuable successfully in a personal project of mine, and so far, there was no issue for me. Others are using continuable as well and there were no more reports about defects except of the already fixed ones in the issue tracker.
I can't make any guarantees about the readiness for a production environment, this is also indicated by the license text:

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.

However I would recommend to give it a try, the libraries API is quite similar to comparable libraries so it should be simple to transition it if doesn't fit into your codebase anymore.

What is the status of 4.0.0? There is no release tag for this version.

Version 4.0.0 is in progress currently and will be released when some missing planned features are implemented. Currently this is not my highest priority since the library all in all is quite stable in its current state and thus I'm focusing on another project.
However I will try to fix reported major bugs as fast as possible.
Keep in mind that this an open source project and all work is done on a voluntary basis.

Thank you for the answer.
Gonna add this lib to hunter pretty soon :)


[Docs] Websocket is missing

For some reason the Websocket Observable isn't listed in the documentation. After a brief look into the source code I think there is some api documentation which could be used. I don't know if this might need some updates, but making it available again should be high prio.
Propably related to #3961

@JWO719 I am pushing a PR for this issue.

closed by #3984


[FEATURE REQUEST] Support --env like fastly compute serve

fastly compute serve supports an --env option as described here which tells the CLI to look for fastly.toml with a suffix, e.g. --env local would use fastly.local.toml.
This is a useful feature for managing different environments. Could the equivalent, or something similar, be built into js-compute-runtime?

Thanks for the issue @domdomegg. The js-compute-runtime does not use fastly.toml - could you expand some more on the feature request and the problem it is solving?

Ignore this issue 🤦
I think I managed to confuse myself as to what CLI was complaining about a missing fastly.toml. My bad!


Manual approval required for workflow run<PHONE_NUMBER>: Release t0rn refs/tags/v1.8.1-rc.0

Please approve runtime upgrade with github release t0rn v1.8.1-rc.0
Runtime upgrade dry run output:
💈 Script started at 1694214 block in t0rn chain

🐡 Running with dryrun flag!

🐙 checking out v1.8.1-rc.0...
✅ tag checked out

🔎 making sure runtime version got updated...
✅ runtime versions updated

🫧 check WASM artifact...
🔢 WASM blake2_256 hash: 0xb4efabb8996eae62c2730cec185009e14da620064fd3974971057e77e7a86e68
🔢 WASM blake2_256 hash fetched from release: 0xb4efabb8996eae62c2730cec185009e14da620064fd3974971057e77e7a86e68
✅ WASM blake2_256 hash is matching
⚙ set_code runtime upgrade... dry
✅ runtime upgrade executed... dry

Workflow is pending manual review.
URL: https://github.com/t3rn/t3rn/actions/runs/4636802890
Required approvers: [AwesomeIbex MaciejBaj]
Respond "approved", "approve", "lgtm", "yes" to continue workflow or "denied", "deny", "no" to cancel.

Workflow cancelled, closing issue.


fix active prepaid check in apcsp

empty redeemers in prepaid but active one means teacher is a paid teacher.

Summary by CodeRabbit

New Features

Introduced a new functionality to determine if a teacher has active prepaid items.
Added computed properties in components to streamline access to active prepaid status.

Improvements

Enhanced logic for checking active prepaid status in the PageCurriculum and PageMarketing components for better performance and clarity.

Documentation

Added comments indicating future enhancements related to prepaid status verification in the User model.

 Like, we wouldn't want to hide curriculum resources they previously had access to just because their licenses have expired (for now).
Should we adjust this check to just see whether there are any prepaids at all?

It seems like we currently lock everything if their licenses expire: https://github.com/codecombat/codecombat/blob/master/app/core/store/modules/me.js#L72
It is an interesting idea on whether we allow teachers to have access after the license expires. I don't think a lot of usage happens after licenses expire. We should let the team know if we want to change it universally, will add in agenda.


Add topic

:x: Validation status: errors

File
Status
Preview URL
Details

:x:Error

Details

Line 108: [Error] Restore nuget package W:\l11t-s.optemp\dependentPackages\Microsoft.DocAsCode.ECMA2Yaml\packages.config in folder:W:\l11t-s.optemp\packages failed, possibly due to transient errors from nuget servers. Please retry building your content. If the issue still happens, open a ticket in http://SiteHelp. Detailed error:  Errors in packages.config projects     Unable to find version '1.0.355' of package 'Microsoft.DocAsCode.ECMA2Yaml'.       D:\Windows\system32\config\systemprofile.nuget\packages: Package 'Microsoft.DocAsCode.ECMA2Yaml.1.0.355' is not found on source 'D:\Windows\system32\config\systemprofile.nuget\packages'.       https://www.myget.org/F/op/api/v2: Package 'Microsoft.DocAsCode.ECMA2Yaml.1.0.355' is not found on source 'https://www.myget.org/F/op/api/v2'.
Line 108: [Error] Restore nuget package W:\l11t-s.optemp\dependentPackages\memberpage.plugins\packages.config in folder:W:\l11t-s.optemp\packages failed, possibly due to transient errors from nuget servers. Please retry building your content. If the issue still happens, open a ticket in http://SiteHelp. Detailed error:  Errors in packages.config projects     Unable to find version '2.31.0' of package 'memberpage.plugins'.       D:\Windows\system32\config\systemprofile.nuget\packages: Package 'memberpage.plugins.2.31.0' is not found on source 'D:\Windows\system32\config\systemprofile.nuget\packages'.       https://www.myget.org/F/docfx/api/v2: Package 'memberpage.plugins.2.31.0' is not found on source 'https://www.myget.org/F/docfx/api/v2'.
Line 108: [Error] Restore nuget package W:\l11t-s.optemp\dependentPackages\Microsoft.OpenPublishing.CommonPlugins\packages.config in folder:W:\l11t-s.optemp\packages failed, possibly due to transient errors from nuget servers. Please retry building your content. If the issue still happens, open a ticket in http://SiteHelp. Detailed error:  Errors in packages.config projects     Unable to find version '1.0.115-alpha' of package 'Microsoft.OpenPublishing.CommonPlugins'.       D:\Windows\system32\config\systemprofile.nuget\packages: Package 'Microsoft.OpenPublishing.CommonPlugins.1.0.115-alpha' is not found on source 'D:\Windows\system32\config\systemprofile.nuget\packages'.       https://www.myget.org/F/op-dev/api/v2: Package 'Microsoft.OpenPublishing.CommonPlugins.1.0.115-alpha' is not found on source 'https://www.myget.org/F/op-dev/api/v2'.
Line 290: [Error] Restore dependent packages failed

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


number.ariston_heating_flow_offset_1, 2 and 3 not present after update from v. 0.13.5 to v. 0.15.2

Hello,
after upgrading to the latest version all offset flow controls are no longer present. I had to go back to version 0.13.5 and everything started working properly again.
The system is connected to a hybrid chaffoteaux system which has always worked correctly in previous versions.
Can you please restore the previous situation? Thank you

Hi @danygi79!
I could not find the issue. Can you provide some additional details? Is there any error in the log? Can you share your device with me temporary?

this is a log:
Source: custom_components/ariston/const.py:621
Integration: Numero (documentation, issues)
First occurred: 12:52:36 (2 occurrences)
Last logged: 12:52:36
Error adding entities for domain number with platform ariston
Error while setting up ariston platform for number

Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 510, in async_add_entities
await asyncio.gather(*tasks)
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 660, in _async_add_entity
capabilities=entity.capability_attributes,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/number/init.py", line 223, in capability_attributes
ATTR_STEP: self.step,
^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/number/init.py", line 295, in step
if (native_step := self.native_step) is not None:
^^^^^^^^^^^^^^^^
File "/config/custom_components/ariston/number.py", line 95, in native_step
return self.entity_description.get_native_step(self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/ariston/const.py", line 621, in
get_native_step=lambda entity: entity.get_heating_flow_temp_step(entity.zone),
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'AristonNumber' object has no attribute 'get_heating_flow_temp_step'

with v. 0.13.5

this work!


fix: upgrade apple pay js

Description
upgrades package dep

Testing required outside of automated testing?

[x] Not Applicable

Screenshots (if appropriate):

[x] Not Applicable

Rollback / Rollforward Procedure

[x] Roll Forward
[ ] Roll Back

Reviewer Checklist

[ ] Description of Change
[ ] Description of outside testing if applicable.
[ ] Description of Roll Forward / Backward Procedure
[ ] Documentation updated for Change

:tada: This PR is included in version 1.124.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Add -slim debian variant

Are you planning to implement this feature? If it's needed I could try to help with this.

@GOST-UA Should be fixed in 253d19838e31cfaa21897eb546dc76fef332090b Did the new images work like you expected?

Thanks for adding slim versions. Unfortunately, for my case make is also required which seems to absent in the slim version.


 However, using this solution back route is triggered twice. You can see it in custom-router-strategy.tsfile in attached sample that reproduces the issue on iOS
Here is sample application that reproduces the issues
https://github.com/tahir-jamil/routing

i have removed the custom-router-strategy and used the default routing as provided by nativescript angular so far now just closing this issue


persist recipes to node's run list

The invocation of chef-client uses -o, which won't persist the run list items to the node in chef-zero. Instead, we should use -r, which will save the run list on the node.

Fixed.


Deploy share_sale_publisher to all environments.

It's now being released to all the environments.

:+1: LGTM, merge when ready


About compatibility with dorado and para '--sig_move_offset parameter'

Hi, thank you so much for sharing this tool.
I wonder if .sam result including move table from dorado is compatible with this tool, where move table information is gotten by setting --emit-moves.
Secondly, I wonder how I should set --sig_move_offset parameter parameters when I run this tool.
Thank you so much.

Hi @Flower9618,
Yes you can use dorado's  .sam output as mentioned in here in the ReadMe. But I recommend using Buttery-eel or slow5-dorado instead of dorado as plot.py supports only slow5 files at the moment.
About sig_move_offset, it is also described here in the ReadMe. However, I suggest to just leave it with the default value (1).

Hi @hiruna72 ,
You mean if I would like to plot the signal, I have to use the result from slow-dorado or Buttery-eel. The .sam file from dorado can not be for plotting, right?
Thank you very much.

Hi @Flower9618,
Yes you can use the dorado .sam output. But the raw signal shoud be in slow5 format. As you may have read, plottiing a read has 3 steps.

Run basecaller (can be dorado, slow5-dorado, buttery-eel, or guppy)
Reform the move table
Plot the read (raw signal should be in slow5 format)

Hi @hiruna72 ,
Is there any way to transfer .pod5 to .slow5?

Yes you can use slow5tools f2s

Thank you so much. I also find this tool just now. So, I can use the .sam from dorado. At the same time, I transfer .fast5 to .slow5. Then, I can plot the signal using these two files.

Hi @Flower9618,
Please feel free to reopen this issue if there is more to discuss.

are there any other tool which can convert pod5 to slow5?

Hello,
Yes there is. I wrote blue-crab to do just that.
https://github.com/Psy-Fer/blue-crab
James

Thank you


API compatibility error on Android 9 - usage of now greylisted API, leads to user-facing error

An error message appears when printing on Android 9:
Detected problems with API compatibility (visit g.co/dev/appcompat for more info)

This error message is user-facing, i.e., can't be turned of by the developer.
Google deprecated some APIs for public use in Android 9 - Android 8 and below still fine.
The specific log messages are:
Accessing hidden method Landroid/print/PrintManager;->addPrintJobStateChangeListener(Landroid/print/PrintManager$PrintJobStateChangeListener;)V (light greylist, reflection)

Accessing hidden method Landroid/print/PrintManager;->getPrintJob(Landroid/print/PrintJobId;)Landroid/print/PrintJob; (dark greylist, reflection)

This means, the usage of PrintManager. addPrintJobStateChangeListener() and PrintManager.getPrintJob() needs to be reworked.

I've removed all these code and reorganises how it works on Android. Closing it. Wait for the upcoming release.


Fix: TextField component now has onEnter props

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Update kubectl.md

update zh doc to match en master branch

retarget to master branch
squash to one commit

squashed

/approve

/lgtm


[ERR_REQUIRE_ESM]: require() of ES Module [...]/node_modules/vue-chart-3/dist/index.cjs not supported

Describe the bug
Hi,
Using https://github.com/antfu/vitesse, and running pnpm build
Error [ERR_REQUIRE_ESM]: require() of ES Module<EMAIL_ADDRESS>from [...]/node_modules/.pnpm/vue-chart-3@3.1.4_chart.js<EMAIL_ADDRESS>not supported.
Instead change the require of lodash.js in [...]/node_modules/.pnpm/vue-chart-3@3.1.4_chart.js<EMAIL_ADDRESS>to a dynamic import() which is available in all CommonJS modules.
    at Object.<anonymous> ([...]/node_modules/.pnpm/vue-chart-3@3.1.4_chart.js@3.7.1+vue@3.2.31/node_modules/vue-chart-3/dist/index.cjs:83:24)
    at Module.<anonymous> ([...]/.vite-ssg-temp/main.js:42:17)
    at build ([...]/node_modules/.pnpm/vite-ssg@0.15.6_ed701b91b90cc67e84b46b05038ae114/node_modules/vite-ssg/dist/node/cli.js:172:52)
    at async Object.handler ([...]/node_modules/.pnpm/vite-ssg@0.15.6_ed701b91b90cc67e84b46b05038ae114/node_modules/vite-ssg/dist/node/cli.js:283:3) {
  code: 'ERR_REQUIRE_ESM'
}
 ELIFECYCLE  Command failed with exit code 1.

Version of vue-chart-3
"vue-chart-3": "^3.1.4"
Version of Vue

[x] Vue 3
[ ] Vue 2
[ ] Nuxt 2
[ ] Nuxt 3

Had the same error in nuxt for vue 2, adding chart.js and vue-chart-3 to transpile fixed this error. Maybe it can fix your error too if you have a way to transpile.

I encountered this issue once again. Can't remember how I fixed it the first time.
However this (second) time it seems due to a mismatch between my tsconfig and the node version I was installing dependencies / building my app.
Anyway, I close this issue.


Any plans to add ASG support?

I'd be open to contributing.

ELB would be nice too.
Actually, something like the K9S xray command, because there is a hierarchy of services…


Pictures are not the most recent ones

Hi !
Most of the time, depending on the mobile AND  sometimes after some days/months of utilisation, pictures are not the most recent ones (chronologically sorted) but appeared to be retrieved kind of randomly from the past (but in order).
I am guessing it's more about the cordova plugin, but do you have any ideas what can cause this ? Or have ever experienced this ?
I am doing :
cordovaGallery.load({ count: 3 })

I don't think we have ever noticed that ... will keep an eye out now and see whether this also happens for us.

To add some infos
It's happening for a lot of my users on iOS et Android, and for a couple of months at least (I was thinking it was very isolated then I get more and more feedbacks with this issue, then it starts happening with my own devices)
Is there any way I can try to debug this ?
Should I use albumType: 'PHAssetCollectionSubtypeSmartAlbumUserLibrary'
What are the "albumType" available ?
Thanks

This should be the available album types, from a cursory reading of that code: https://github.com/Collaborne/cordova-gallery-api/blob/master/src/ios/GalleryAPI.m#L405
Note that we're using this fork of https://github.com/SuryaL/cordova-gallery-api due to some (unmerged) bug fixes, but questions about the API should probably be directed there.


Tests

Once things are basically functioning, we need to start a set of tests.

Migrated to https://github.com/openshift/console-operator/issues/4


IntelliSense autocomplete replacing next word / special character

Hi there, since today's VSCode Insiders update IntelliSense is acting weird. It removes or replaces whatever is next to it when enter is pressed, words, bracket ending, parenthesis ending (Even when auto-completing inside a function parameter). This is really annoying, specially when working with typescript. Can anybody fix this, please? Appreciated.

It seems to have something to do with speed - if I let the suggestion sit for a second, using the completion does not overwrite the next word. Perhaps a regression of this issue: #56026?

Duplicate. We already pushed a fix, coming to insders on Monday. Sorry about this!


Is there a way to create a single syntax tree from multiple sources

I have two modules in two files
mux.v
`define WIDE 3

module andd(output c, input a, input b);
    assign c = a & b;
endmodule

tok.v
module test(input sel, input [`WIDE:0] data0, input [`WIDE:0] data1, output reg out, output out0);
  always @(*) begin
    case (sel)
     ......
    endcase
  end

  andd a0 (out0, data0[0], data1[0]);
endmodule

if I create a driver and pass the files I only get one syntax tree with one module. is there a way to get both into a single tree?
Also, can I get the final tree honoring the macro definitions of the given file order? Thank you
driver = pyslang.Driver()
driver.addStandardArgs()
cmdOpts = pyslang.CommandLineOptions()

cmd = "mux.v tok.v"
driver.parseCommandLine(cmd, cmdOpts)

driver.processOptions()
driver.parseAllSources()

c = driver.createCompilation()

c.getSyntaxTrees()
**[<pyslang.SyntaxTree ...fd7f46670>]**

list(c.getSyntaxTrees()[0].root.members)
**[SyntaxNode(SyntaxKin...claration)]**

c.getDefinitions()
**[DefinitionSymbol("test")]**

str(list(c.getSyntaxTrees()[0].root.members)[0])
"\nmodule test(input sel, input [:0] data0, input [:0] <-- macro expansion missing here

It sounds like you want to pass the --single-unit flag. By default all files are put into separate compilation units.

Thank you it worked I had to change the command to below, exactly in this order.
cmd = "-v mux.v tok.v --single-unit"

Below only gave the mux.v content as a tree.
cmd = "tok.v -v mux.v tok.v --single-unit"


Add testing discussion to calendar

Discuss:

Why test?
What testing framework goes with my language/stack/problem?
Anatomy of a test
Getting started with testing when you are all alone and don't know how one "tests"

July 16th

Also add to June 18 discussion- breakable toys, reviewing code: line-by-line


Add verification of credentials

I have also used the previous (presently archived) version of this tool.
I came across a limitation which is that the application is unable to check whether the credentials supplied by the user is genuine.
I think there should be a checking feature by dispatching a request to the chosen site with the credentials supplied by the victim and verifying the response.

@Cyclone14089 I mean, this is a cool idea, just would take a lot if work and have lots of limitations


combine swap and bridge in one app.

Describe the feature request
combine Swap and Bridge in one app will make it visible for users. you can add a tap for Bridge and can easily navigated to Bridge of Taiko by clicking on it. Also do the same and insert Swap tap in Bridge interface. so users can move between Swap and Bridge without need to looking for swap and url.

Describe alternatives you've considered
Description of the alternatives you've considered here.
Additional context
Additional context here.

hhhh

Hello puyg

we are working on this now by having one portal for bridge and swap. @jscriptcoder should we keep this issue open for tracking or not needed?

@d1onys1us with Uniswap v3 UI to be launched, I don't think we are going to have one portal for bridge and swap, yes?

yeah i don't think we should ever "combine them". perhaps in jane's website redesign we will improve the navigation bar links and/or add some easy tiles to link out to bridge/swap. zksync does have a "portal" here: https://portal.zksync.io/ but this combines things, which I think we should avoid.


refactor(settings): Use isEmpty instead of equals("")

The Problem/Issue/Bug:

How this PR Solves the Problem:
Fix it according to IntelliJ's suggestion.
Manual Testing Instructions:
No breaking changes are introduced in this PR.
Related Issue Link(s):
None.

Thank you @pan93412!


Add or invert order of text input

Would be nice to have the text input of the snippets be inverted, or adding new ones for it, so that the first thing to change is the filename. The Reason is that it is more likely you are going to change the filename once, a one line change, then start working on the component body. With the current order, you lose the "easy access" to change the filename function as I would have to go back to the body after a double enter.

Thank you for the feedback. Updated the extension you can check it out now.


update NewRelic Browser snippet to v1184

Updates New Relic JS snippet from v1118 to v1184. See New Relic release notes.
BREAKING CHANGE: The latest New Relic scripts require the
following additional data: accountID, agentID and trustKey.
See the README.md for tips gathering this data from the
snippet in the New Relic UI.
The new trustKey should match across your New Relic applications (at least within an account), but the agentID looks to be different for each application.
The plugin uses the snippet for Pro+SPA instrumentation. This
snippet will work for Pro instrumentation, but SPA data will
be dropped by New Relic until Pro+SPA instrumentation is ever
selected.

@victorrodrigues: FYI: This has only been tested via unit tests at this point.

@victorrodrigues: FYI: I'm working on this update PR on this fork instead: https://github.com/edx/html-webpack-new-relic-plugin/pull/3.  I will get it tested, but this may take some time.  If I don't hear back from you by the time it is ready, we'll likely permanently switch to our fork.  I hope things are going well for you.  Thank you again for getting this work started.

@victorrodrigues: FYI: I'm working on this update PR on this fork instead: https://github.com/edx/html-webpack-new-relic-plugin/pull/3.  I will get it tested, but this may take some time.  If I don't hear back from you by the time it is ready, we'll likely permanently switch to our fork.  I hope things are going well for you.  Thank you again for getting this work started.

Sorry for the delayed response @robrap, I was busy as hell.
But it was published as v3.0.0, ok? Let me know if it was ok.

Sorry for the delayed response @robrap, I was busy as hell.
But it was published as v3.0.0, ok? Let me know if it was ok.

Thanks @victorrodrigues. Will do. I was considering renaming another option, discussed here: https://github.com/edx/html-webpack-new-relic-plugin/pull/3#discussion_r554226953
I could do that as a quick 4.0.0 follow-up, or we can forget about it for now. Let me know your thoughts.

Thanks @victorrodrigues. Will do. I was considering renaming another option, discussed here: https://github.com/edx/html-webpack-new-relic-plugin/pull/3#discussion_r554226953
I could do that as a quick 4.0.0 follow-up, or we can forget about it for now. Let me know your thoughts.


Technique to make minor style changes to the UI

My goal is to be able to make some minor styling changes to the UI to make it look more like other apps that I've developed. (although still bootstrap)
By looking at the source in the browser, it appears to be an Angular app but I can't tell where the source is coming from, or the CSS. There doesn't seem to be any reference to it in my project.
Is it embedded in a DLL or something?

Yes, the assets are embedded and currently I don't have any time to design it to be replaced or extensible. If you'd like to contribute then feel free to propose a plan or design for such a thing and if we can agree then you can submit a PR and add it as a feature.

Maybe an idea: An extra string in IdentityManagerOptions to point to your own style bundle. This bundle must then be used instead of the default one. That way the developer is in full control over the theme of the components and can add some custom styling for size and position too.


following a team-invite link as a team member duplicates the entry

invite someone via mail on /orga/event/foo/settings/team
get and click the link inside the invite mail
on the invite page, login with the same account

The team entry is now duplicated. Removing one of the entries results in both of them getting deleted.
Instead one of the following should happen:

display a positive message like "You were already part of this team. Good to have you with us!", delete the invitation.
display a warning message like "You are already part of this team. Please log into a different account.", keep the invitation intact.

Closed in aca2267


Housekeeping: Reorganise waltz-web to ensure endpoints are loaded as a jar dependency

Perhaps split the endpoints from web to ensure a single jar copy vs many endpoint classes.  Will hopefully improve deployment speed.

We've sort of done this by ensuring that the web project is packaged as a jar in the war.


Add note about using short names for istioctl get

This will be valid once https://github.com/istio/istio/pull/3394 gets merged.

those are auto generated so I think will get lost unless the code also exports the short names somewhere else?


[Bug] [Transform][Spark] dataType convert is error

Search before asking

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

What happened

dataframe row

internal Row

as the code above,
dataframe row  -> internal row -> st-row -> transform map->   transform output st-row -> internal row -> date type convert -> dataframe row
actually，dataframe row (DataSet) is different form internalRow，the trait con't convert，internalRow is Binary storage row，dataframeRow is a row base on the scala(java) dataType like st-row
we can implement the convert line: dataframe row -> st-row -> transform map->  transform output st-row -> dataframe row
SeaTunnel Version
dev
SeaTunnel Config
nothing

Running Command
nothing,in example

Error Exception
convert array and map will exception

Flink or Spark Version
No response
Java or Scala Version
No response
Screenshots
No response
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

I want to use DataFrameRowConvert extends RowConverter in org.apache.seatunnel.translation.spark.serialization to implement this.
what do you think of this

when I finished the convert between dataframe row and st-row， I find the st-row and dataframe row are based on jdk data type.so they can convert directly.

we don't have any type convert at last

when I finished the convert between dataframe row and st-row， I find the st-row and dataframe row are based on jdk data type.so they can convert directly.


WHOEVER ASKING AND ANSWERING THESE ITS ABOUT MYYYY ACCOUNTS

So I SUGGEST EVERYONE UNLINKS ANYTHING AND EVERYTHING THERE HAS TO DO WITH ME AND MYBA COUNTS, OR I WILL BE GETTTING THE AUTHORITIES INVOLVED BECAUSE THIS IS CYBER BULLYING, HARRASSMENT, BEING MONITORED FOR NO REASON, AND AM HACKED AND STALKED.....
ONCE AGAIN...I AM BEING STALKED AND HARRASSED....
AND IM CALLING THE AUTHORITIES.......WATCH ME......AND THAT PERSON WHO KNOWS ME...KNOWWWWSSSSSS I WILL FUKIN DO IT TOO...SO WHOEVER RUNNINF THIS SHOW GOTSTA GO...STAT AND LIKE, YESTERDAY...YOUVE BEEN WARNED

I will advise you to contact the best hacker around he helped me recover my facebook,fast and reliable his telegram is
https://t.me/Blackhathacker110


var_export does not handle circular references

Laravel Version
8
PHP Version
8.1
Database Driver & Version
No response
Description
We are facing an issue when caching the config with
PHP artisan config: cache. It is a circular references-related issue and we have also faced issue-related closure that occurs when using the callback function in config files as you have suggested here https://github.com/exodusanto/Laravel-Admin/blob/master/docs/fields.md#editable-option.
https://i.imgur.com/Fxcb7Pt.png
Error: var_export does not handle circular references
Steps To Reproduce
We have tried this but not working:-
We have tried to handle the error using Handler.php but it is not working
Also we have tried to remove the closure function from config/adminer.php but we have faced the below error:
There are problems with your administrator.php config: The permission option must be a function
Please guide me on how to solve this error when configuring the cache.
Is it possible to ignore this error when config cache or any way to handle this so error should not be reported?
Please guide me how to solve this ?

Hey there,
Unfortunately we don't support this version of the library anymore. Please check out our support policy on which versions we are currently supporting. Can you please try to upgrade to the latest version and see if your problem persists? If so, please open up a new issue and we'll help you out.
Thanks!

Also, see https://github.com/exodusanto/Laravel-Admin/issues/46


[TASK] Scale test and investigation for big number of backup and snapshot CRs

What's the task? Please describe
If we have 1000 volumes, each with 20 backups and snapshots, there would be 40k objects for backups and snapshots. We are not sure what would be the limitation that a normal etcd cluster can handle. How about with 10k volume?
We should do a scale test and investigation for a big number of backup and snapshot CRs. The scaling problem could appear in any component in the flow : client-go -> kube API server -> ETCD performance
Describe the items of the task (DoD, definition of done) you'd like

[ ] Investigate the behavior of the cluster with 1k volumes and 20k backup CRs, and 20k snapshot CRs
[ ] Investigate the Longhorn upgrading behavior (from <= v1.2.2 to >= v1.2.3) of the cluster with 1k volumes and 20k backup CRs, and 20k snapshot CRs.

I keep around 100 backups for 30 or so volunteers, backups start to take a long time to back up and behind to time out, so I must refresh the backup store by changing the backup target to a new location.

Tracking this in the QA board instead of a specific milestone. cc @longhorn/qa


Runtime bytecode without metadata cannot get a "full match"

Description
In the absence of metadata in the on-chain code, the verification always returns a partial match when it would be better to specify that it is a “full match” but precisely without metadata.
In this example (https://hashscan.io/testnet/contract/0.0.5783975), I still had to attach fake metadata to get the verification through.
Steps to reproduce

Deploy a smart contract without metadata
Try to validate the contract (you can use any metadata you prefer, just make sure the declared source code hash matches)
See the verification returns a partial match.

Additional context
No response
Hedera network
mainnet, testnet, previewnet, other
Version
N/A
Operating system
None

I believe reporting full match in the scenario you described may be misleading. From [1] (emphasis mine)

In other words, the deployed contract and the given source code + metadata function as the same but there are differences in source code comments, variable names, or other metadata fields such as source paths.
This type of match is similar to how Etherscan verifies contracts. Yes, the matching source code in theory functions the same as the deployed contract but the displayed source code can be misleading or the bytecode can contain excecutable instructions not seen in the source code.

Essentially this means that different contracts can lead to the same runtime bytecode (excluding metadata bytecodes). This happens for examples when you change comments, variables names or even the contract name. That's why it's better to report it as partial match instead of full match.
@ericleponner @svienot @Nana-EC thoughts?
@Neurone if you are happy with this definition we can close this.
[1] https://docs.sourcify.dev/docs/full-vs-partial-match/#partial-matches

I am in agreement with that @acuarica

I am also in agreement with your proposal @acuarica

Sourcify's definition of a full match is arbitrarily limiting without adding value to the verification operation.
I'm not saying the ecosystem is not used to those definitions; I'm saying we can improve them by adding a new definition and explaining how and why it's fine to have a full match for a smart contract without metadata attached.
Metadata is an off-chain invention unrelated to EVM, and it derives from the source code to help developers.
Metadata allows developers to quickly pass information about verifying their contract; they were never meant to be a security feature where you cannot get a full match just because you want to improve a comment or a variable name.
Putting multi-hash of the metadata alongside the smart contract code was meant to facilitate sharing that metadata in a decentralized manner, not as a security feature of the smart contract.
Smart contract verification means providing input to someone and proving that input produces the same output they see on-chain.
The inputs are the source code, the compiler's version, and its parameters.
You have a full match if you can obtain the same output autonomously with those inputs.
If you get a different output, but the only difference is in the bytes exceeding the executable code (essentially gibberish - regardless of whether it contains somehow meaningful metadata for someone), that is a partial match.
If the executable bytecode does not match, that is a nonmatch.
Having different source code producing the same output is fine.
I can send you a Vyper contract different from a Solidity contract the developer initially used to produce the bytecode and specific Vyper compiler parameters, and that can still produce a valid and full matching output; there's no security or hidden risk with that.
If I provide the source code and the correct compiler parameters (--no-cbor-metadata, --optimize, --optimize-runs, etc.) to let you reach the same result on-chain, that is a full match.

Thanks @Neurone
From a decentralized point of view I do see what your highlighting.
Given this repo essentially forks the sourcify repo and uses their verification logic and use of metadata files it makes sense to stay in line with it at this juncture.
However, we can certainly revisit this and see how to modify/enhance/divert from the implemented dependency logic.

After discussing with @Neurone, we didn't reach a clear cut consensus. However, we agreed that the distinction between partial and full match may seem partial match look as a somewhat incomplete match. We have discussed whether renaming it to something different, e.g., bytecode match maybe a better option.
The issue I see with this is that we deviate from Sourcify and Etherscan definitions, which can be problematic for the user used to those definitions.

I'm still convinced I should obtain a full match badge, even under Sourcify's definition (https://docs.sourcify.dev/docs/full-vs-partial-match/#full-perfect-matches), if I can verify a smart contract with no garbage - additional data after the executable bytecode - bit-by-bit. I can also derive the metadata from the source code and verify them.
But let's assume we don't want to modify Sourcify's code to get a full (perfect) match assignment; I suggest at least improving the current partial match assignment with something different, like a full match (no metadata provided)  or something similar.
Below are the reasons why we should fix Sourcify's verification source code instead.
Starting from an Example.sol source code like this:
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.7.0 <0.9.0;

contract Example {
    string public publicname = "I'm an example";
}

Compile with this parameters:
$ solc --metadata --bin --no-cbor-metadata --overwrite -o . Example.sol

You get this Example_medata.json metadata file:
{
    "compiler": {
        "version": "0.8.23+commit.f704f362"
    },
    "language": "Solidity",
    "output": {
        "abi": [
            {
                "inputs": [],
                "name": "publicname",
                "outputs": [
                    {
                        "internalType": "string",
                        "name": "",
                        "type": "string"
                    }
                ],
                "stateMutability": "view",
                "type": "function"
            }
        ],
        "devdoc": {
            "kind": "dev",
            "methods": {},
            "version": 1
        },
        "userdoc": {
            "kind": "user",
            "methods": {},
            "version": 1
        }
    },
    "settings": {
        "compilationTarget": {
            "Example.sol": "Example"
        },
        "evmVersion": "shanghai",
        "libraries": {},
        "metadata": {
            "appendCBOR": false,
            "bytecodeHash": "ipfs"
        },
        "optimizer": {
            "enabled": true,
            "runs": 200
        },
        "remappings": []
    },
    "sources": {
        "Example.sol": {
            "keccak256": "0xb7b5decb8134b6e5dc8c0cded692eb0dc2aa573de5fa772ec5845580d24c0a07",
            "license": "GPL-3.0",
            "urls": [
                "bzz-raw://e1515e4412634066bda9f71ed5fb030ba720148e94a078989a72a53c96a62d24",
                "dweb:/ipfs/QmV9MqJRxQfePmpnXjUr2oTvS3jMqQ8rebCFtCLvDnNpmU"
            ]
        }
    },
    "version": 1
}

Please note the "appendCBOR": false option there, which is a valid option that impact the final bytecode precisely as any other compiler's parameter, i.e., "optimizer": true.
You get also this Example.bin runtime bytecode:
608060405234801561000f575f80fd5b5060043610610029575f3560e01c80639001b1a21461002d575b5f80fd5b61003561004b565b60405161004291906100d6565b60405180910390f35b5f805461005790610122565b80601f016020809104026020016040519081016040528092919081815260200182805461008390610122565b80156100ce5780601f106100a5576101008083540402835291602001916100ce565b820191905f5260205f20905b8154815290600101906020018083116100b157829003601f168201915b505050505081565b5f602080835283518060208501525f5b81811015610102578581018301518582016040015282016100e6565b505f604082860101526040601f19601f8301168501019250505092915050565b600181811c9082168061013657607f821691505b60208210810361015457634e487b7160e01b5f52602260045260245ffd5b5091905056

Deploy that smart contract, and you will obtain this result: https://hashscan.io/testnet/contract/0.0.6799542
Now, provide the source code and metadata file to someone - or just the source code and the compiler's parameters above - and they will be able to obtain the same bytecode they see on-chain.
They will be able to prove also the metadata are correct, because the metadata are generated by the compiler starting from the source code. And using the correct parameters they will get the exact same metadata file.
So, this should be a regular full match.
Currently, we cannot get a full match using the Sourcify repo and validation code, and we obtain a partial match.
This case does not fit Sourcify's partial match definition because it's not a case where there's a mismatch in the metadata. This is why I consider this a bug.

Hi @Neurone, thanks for taking time to investigate this.
In your example, when you set "appendCBOR": false it removes the metadata generation from the final bytecode. Thus the Example.bin does not contain any metadata. To verify this, paste the bytecode into or paste contract bytecode box of https://playground.sourcify.dev/. You will see the error Unable to decode bytecode with CBOR.

This case does not fit Sourcify's partial match definition because it's not a case where there's a mismatch in the metadata.

Given there is no metadata available on-chain, there is no metadata to compare. That's why it reports it as partial match.

Yeah, that is because Sourcify's lacks useful features for smart contracts validation, so they don't understand there's no metadata to compare ;) Or, even if the metadata reporting the appendCBOR:false is provided by the user, still Sourcify is unable to derive it from the source code, as any verifier can do instead.

so they don't understand there's no metadata to compare

But there is no metadata to compare on-chain, which is the only source of information to retrieve the metadata from.

still Sourcify is unable to derive it from the source code

They can derive a metadata (from solc) but given there is no metadata on-chain, the source code you provided might differ in comments, variable names, source map (opcode <--> ast node), etc. Hence the partial match.

as any verifier can do instead.

Can you provide an example? that would be great.

Metadata, source map, etc., is generated from the source code and the compiler parameters.
Elements that don't contribute to the final bytecode are irrelevant when operating a smart contract verification.
As a verifier, I want source code and compiler parameters. If I can recreate the same bytecode I see on-chain, bit-by-bit, it means I have a valid and usable source code and metadata.
By definition, it's irrelevant if variable names or comments are different from those used by the original author. But if smart contract authors care instead, they can set compiler parameters accordingly.
It's up to the authors to decide these options, not to any validators like Sourcify.
If the smart contract authors don't want metadata attached to their bytecode, they set the compiler's options to do it. If they want the smart contract optimized, they set the options to do so. If they want to compile with a specific compiler version, they set the options to do so.
It's not Sourcify's - or any validator's - duty to define what is good and what is bad; they should provide a good implementation of the verification process and say if the verification was successful.
The verification process of a smart contract is always the same for everyone:

I write the source code
I run the compiler, creating the metadata file
I deploy the contract
I send you the source code and the metadata file
You run the compiler over the source code using the parameter in the metadata file and obtain the bytecode and the metadata file
You compare the bytecode on-chain and the metadata file generated
If they match with what you expect, the contract is entirely valid and 100% verified

Sourcify's implementation is limited because they consider full (perfect) match only cases they arbitrarily decided they care about - only those smart contracts with specific data attached at the end of the executable bytecode.
Etherscan, for example, has a better implementation.
Here is the Uniswap v3 router contract that Etherscan considers correctly a verified smart contract with an exact match.
That same smart contract cannot get a full (perfect) match with Sourcify at the moment because it does not contain metadata in the specific format requested by Sourcify's implementation.
This is not a problem per se, nor a problem for me; each service can assign arbitrary verification badges and develop the verification implementation differently, and we can develop our implementation or improve existing ones if we like.
And again, it's not a problem because it's not a matter of trust.
Users should not trust Etherscan, Sourcify, our service, or any other external validator; they should use tools that let them verify smart contracts autonomously.
If a validator - i.e., Sourcify - decides to arbitrarily reduce the options for the validation process, it's just a specific limited implementation with fewer features than other implementations.
Sourcify is not the source of truth for smart contract verification, and it's not the best implementation today.
It's something better than nothing, it's open source, and we are all grateful for that, but it can definitely be improved.
Nobody forces us to improve the current Sourcify implementation, and we can decide to stick precisely with that source code.
However, I cannot be convinced that their current implementation is the sole and only correct path to follow, and those who don't comply with their implementations or definitions are offering a worse service.

Hey all. I've been trying to reach out to you (@svienot) through Matrix and Discord. I see you guys are working hard :) and think we should keep an open line of communication. What would be the best way to connect?

Hey @Neurone, interesting discussion so far 😄 . I guess the core point where we disagree is

Elements that don't contribute to the final bytecode are irrelevant when operating a smart contract verification.

My view here aligns with that of Sourcify's. The statement above should only apply to partial matches. Full matches should include other elements that don't contribute to the final bytecode. A good argument can be found here[1]

If you verified that the code you deployed is an exact match to what you open-sourced that is great! Developers now can verify themselves that your dapp is actually doing what it promised.
However, it will still be hard for end-users to understand what they are doing when interacting with your code. Only by translating what the contract interactions mean into NatSpec you can help them comprehend what's going on under the hood. To ensure that you don't comment code with inadequate comments to mislead the users, all of the comments and metadata also get published and verified. Malicious actors could of course still use "wrong" NatSpec comments, however, Sourcify would guarantee that the comments match those used at compilation time. Other developers could now check the NatSpec comments in the open-source code and verify their accuracy.

[1] https://soliditylang.org/blog/2020/06/25/sourcify-faq/ § How is source verification & commenting your code with NatSpec connected and why is it more powerful if you do both?

Hi @Neurone, as are closely aligned with Sourcify verification strategy, we are planning to use their images directly
https://github.com/hashgraph/hedera-sourcify/issues/147 (instead of having our own custom images). Thus, I'm not sure how we can move forward with this issue. Let me know if it's ok for you to close this.
In any case, thanks for opening this, it has been a valuable conversation.

Hi @acuarica, I don't have any other argument to add to this issue. If the decision is not to implement this, yes, we should close this with the motivation that we want to strictly adhere to the Sourcify verification rules.


Add download directory pattern support

I add support for custom directory pattern. I download a lot of battlemap for Virtual Tabletop and I prefer create a folder by Patreon Post. It's more easy to explore.

Thank you for your pull request, this is certainly a useful feature and will solve #19. I'll check it tomorrow or the day after and get back to you.

Thank you! I tried to respect your architecture, but for the enum which is really custom for Patreon but in UniversalDownloaderPlatform I was not sure how to go about it.

Alright, I have checked the code. You did a pretty good job, thank you. I will merge it into a separate branch, change some things to more closely reflect how the things are expected to be implemented and then make a new release. Feel free to look at that branch to see what kind of stuff I will change if you are interested.
I will make the enum myself so don't worry about that.


Fix sokol_fetch.h for UWP

use CreateFile2() instead of CreateFileEx()
use GetFileSizeEx() instead of GetFileSize()

...figure out where UWP apps have the "current working directory", because all the file-loading samples in sokol-samples don't work.

Closing this, UWP support probably won't get any new features.


Share menu extension

Share menu extension 964

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


Add support for web sites management

Documentation for REST API:
http://msdn.microsoft.com/en-us/library/windowsazure/dn166981.aspx

We have create/delete of websites. Closing this for now, if you think we miss some extra features, please feel free to open a new issue.


Can't get rates to work.

I common pattern I have for alerting is to calculate the error rate for a service.
I started out with a complex rule. that takes the amount of non OK grpc return codes, and divides them by the total request, then multiply by a 100 to get the %.
sum(rate(grpc_server_handled_total{grpc_type="unary",grpc_code="Unknown"}[1m])) by (grpc_service) / sum(rate(grpc_server_started_total{grpc_type="unary"}[1m])) by (grpc_service) * 100.0 > 5
I couldn't get a fixture that allowed me to get an alert to fire for this query.
So I then asked, does pat support sum/rate type queries on range-vectors?
This is my example rule + alert rule setup.
alert rule:
- name: service.rules
  rules:
  - alert: HighErrorRates
    expr: sum(rate(grpc_server_handled_total[1m])) >= 2
    for: 5m
    labels:
      severity: critical

pat test:
name: Test GRPC service errors
rules:
  fromFile: ../alerts/service.yaml
fixtures:
  - duration: 1m
    metrics:
      - grpc_server_handled_total{grpc_service="test.Test"} 2 4 6 8 10 12 14 16 18 20 22
assertions:
  - at: 5m
    expected:
      - alertname: HighErrorRates
        alertstate: pending
        severity: critical
        grpc_service: test.Test
  - at: 10m
    expected:
      - alertname: HighErrorRates
        alertstate: firing
        severity: critical
        grpc_service: test.Test

from my understanding of a fixture, this should give me a range-vector where each value in grpc_server_handled_total{grpc_service="test.Test"} 2 4 6 8 10 12 14 16 18 20 22 is added to it every 1m
yet I never get anything firing in the above case?
I may just be misunderstanding how fixtures work?
It might be good to add an example of a more complex query, like a rate over a range vector, or something like rate over a quantile in a histogram?
In any case, thanks for your work on this! It's something I'd love to use for testing our alerts, we have a lot!

So I then asked, does pat support sum/rate type queries on range-vectors?

It does.  It uses the prometheus' query and storage engine under the hood.
I think a future improvement to this would be exposing the prometheus storage and query engine as a REPL in Pat so expressions can be tested adhoc.
I'll have a look into this some time this evening.  Thanks for reporting the issue.

@zoltrain OK I figured it out... Prometheus' rate function calculates the "per-second rate" of a metric.  Because you're aggregating it by 1m, you need to multiply it by 60.
This rule works:

Because you're aggregating it by 1m, you need to multiply it by 60.

just fyi, I believe increase(x[1m]) is identical to rate(x[1m]) * 60

Ah thanks for this, makes a lot more sense!
Having a REPL would be wonderful.
It would be great to see what what fixture data is returned with the query in the alert rule rather then it either passing or failing. I'll get cracking on some tests tomorrow then.

@zoltrain

Having a REPL would be wonderful.

It's in very early stage but I have a working prototype for it:  https://github.com/kevinjqiu/promcli
It allows prom testing DSL to be evaluated in the REPL which can aid your testing.