GH-14865: [Go][Parquet] Address several memory leaks of buffers in pqarrow

Closes: #14865

I'm curious, doesn't Go have a GC?

@pitrou Yes. But with the Arrow library for Go, we provide an Allocator interface to allow consumers to use a custom allocator rather than the default Go allocator so that they could, for instance, call out to jemalloc and have that manage their Arrow memory, hiding it from the Go GC so the Go GC no longer has to scan that. Or any other way they want to manage their memory.
As such, the objects have Release and Retain methods to track reference counting and eagerly release memory. The DefaultAllocator is just using Go's GC and setting slices to nil, etc. when they get released. So we have a test allocator CheckedAllocator which can track the allocations and frees to see if there's anywhere that a buffer is kept around without having called Free on it (which would cause a memory leak if they weren't using the Default Allocator, or can cause excessive creation of objects the GC will have to clean up). That's what we're referring to as memory leaks here.

To make things clear: when w.bitsBuffer goes away, it wouldn't automatically free the underlying memory? Can't you use something like SetFinalizer to make this more robust?

To be clear: if the user is using memory.DefaultAllocator then it should free the underlying memory at some point when the GC cleans everything up. But if they are using a custom allocator of some kind, then it will not actually call Free unless Release is called on w.bitsBuffer.
One thing I've been thinking of every so often is to try to leverage SetFinalizer more with the usage of the Allocators, but there are benefits to allowing users to have that granular control over when memory is released (well, at least when it's set to nil for the GC to pick it up) since SetFinalizer isn't guaranteed to run at any specific time.

Right, what I meant though is that if Release wasn't called explicitly then SetFinalizer could still avoid an eternal leak (and/or print a helpful warning message about the lack of an explicit Release call).

Currently, you can compile with -tags assert and it will turn on a bunch of debug assertions which will panic or throw errors under certain conditions (such as calling Release too many times) and it's encouraged for users to utilize the CheckedAllocator for their testing to ensure they call release appropriately.
I could potentially look at adding finalizers to the buffers created by NewResizableBuffer though with a debug assertion to print a message if it wasn't released properly. I'll add an issue to look into doing that. Does that all make sense? I mostly don't want to blanket add the SetFinalizer since that could increase GC time and most users are probably just using the default allocator, so I'd prefer to keep it behind a build tag.

To be clear, that was just a suggestion. Testing is not necessarily sufficient because users generally won't bother exercising edge cases/error cases (as the comment I posted shows in your case). But that's a valid compromise in the end.
Documentation would probably also be useful to inform users about this.

Sounds good. I'll add two issues: one to improve the Documentation on this and another to investigate potentially leveraging SetFinalizer to handle these issues.

Hi, I'd like to test this change out, but TBH its my first time testing a change from a forked repo in GitHub. To try and test the change I added this line to my go.mod file:
replace github.com/apache/arrow/go/v11 => github.com/zeroshade/arrow/go/arrow memory-leak-pqarrow

...but when I try to do a go build I get...
go: errors parsing go.mod:
/home/rick/data-mesh/go.mod:64: replace github.com/zeroshade/arrow/go/arrow: version "v0.0.0-20221212203100-c369cafa0990" invalid: missing github.com/zeroshade/arrow/go/arrow/go.mod at revision c369cafa0990

Google is providing solutions to a bunch of related problems but not this one exactly, and I already tried a few things so I figured I'd ask for guidance here. Let me know and I will definitely test out your fork. Thanks in advance for the fix.

Try changing it to be:
replace github.com/apache/arrow/go/v11 => github.com/zeroshade/arrow/go memory-leak-pqarrow

and then run go mod tidy afterwards. Let me know if that works.

@necro351 any luck trying this?

Deadline came up at work, but the change looks like it is fixing the issue. I'll repro locally and if I still see the incorrect behavior I'll comment on this thread.


[Request] HP Support Assistant

Package Request
Criteria
For a package to be acceptable in the Nonportable bucket, it should be:

[x] a reasonably well-known and widely used application
[x] the latest stable version of the program
[x] the full version i.e. not a trial version

Information
Name: HP Support Assistant
I
Description: HP Support Assistant is a one-stop solution for connected, contextual support. Aided with a new user interface and other usability enhancements, HP Support Assistant helps you maintain your HP devices— enabling you to prevent or resolve problems by using automated updates and self-help options. What’s more, HP Support Assistant guides you to expert support when you need it.
Homepage: https://support.hp.com/us-en/help/hp-support-assistant
Download link(s): https://ftp.ext.hp.com/pub/softpaq/sp142501-143000/sp142943.exe
Some indication of popularity/repute:
It is installed on more or less on every HP laptop and HP  PCs.
Don't know where to look for "Repute"
For more info:
Some more info: http://h10032.www1.hp.com/ctg/Manual/c06593496.pdf
Opening this issue in favour of this one

Thanks


Don't include all the character of a Tweet

Hello,
I don't understand why in some tweet, I don't get the full tweet.
I got "…" in the end of the text field of a tweet.
Someone can help me ?
Thanks

what have you tried? (what does your code look like?)

`def get_all_tweets(screen_name):
#Twitter only allows access to a users most recent 3240 tweets with this method
#authorize twitter, initialize tweepy
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_key, access_secret)
api = tweepy.API(auth)

#initialize a list to hold all the tweepy Tweets
alltweets = []

#make initial request for most recent tweets (200 is the maximum allowed count)
new_tweets = api.user_timeline(screen_name = screen_name,count=200)

#save most recent tweets
alltweets.extend(new_tweets)

#save the id of the oldest tweet less one
oldest = alltweets[-1].id - 1

#keep grabbing tweets until there are no tweets left to grab
while len(new_tweets) > 0:
    print "getting tweets before %s" % (oldest)

    #all subsiquent requests use the max_id param to prevent duplicates
    new_tweets = api.user_timeline(screen_name = screen_name,count=200,max_id=oldest)

    #save most recent tweets
    alltweets.extend(new_tweets)

    #update the id of the oldest tweet less one
    oldest = alltweets[-1].id - 1

    print "...%s tweets downloaded so far" % (len(alltweets))

#transform the tweepy tweets into a 2D array that will populate the csv
outtweets = [[tweet.id_str, tweet.created_at, tweet.text.encode("utf-8"),tweet.retweet_count,tweet.favorite_count] for tweet in alltweets]

#write the csv
with open('%s_tweets.csv' % screen_name, 'wb') as f:
    writer = csv.writer(f)
    writer.writerow(["id","created_at","text","retweet_count","favorite_count"])
    writer.writerows(outtweets)

pass`

it's the classic way I guess ?

Hello, I got the same issue some time ago. This is because you are fetching a retweet and thus the text (tweet.text.encode("utf-8")) goes like this: "RT @somescreenname" + "original tweet".
Since each tweet only goes from 0 to 140 characters, what Twitter does is to truncate the original tweet (and add the "...") to get in the max number of character in the text I just explained.
You should get the retweeted_status.text attribute of the json response in order to get the complete tweet.
This is a Twitter bug, not a tweepy one.
Hope I get myself explained.


Slow db queries paging into large tables using offset strategy

Linked to #136
The classifications#project end point by default uses page numbers to offset into the result set. This is slow for large tables spaces especially projected result sets (with filtered queries project_id = x).
Should we just turn off paging for end points on this table forcing people to use the last_id offset method instead? This is non-normal behaviour for our API though and any kind of paging on this table will degrade with higher page offset values. Perhaps we can turn of past N pages?
Thoughts?

Would the endpoint still be useful without paging? Is there a use case for only wanting the first (few) page(s) but not the others? If so, removing/limiting paging would be a good solution. Otherwise maybe we should disable it and have the API return a message telling the user to use the last_id or CSV exports.
We could also think about keeping paging enabled but loading the data from somewhere else. This could be part of reworking the CSV exports, since we want to stop generating them from scratch every time. E.g. we could write classifications to S3 in batches (say, 1,000 lines per file), then this endpoint can use the page_size*page_number to figure out which files to read (while the exports can just cat all of them together).

In the short term I think we could look at removing / restricting paging for this endpoint but it's not standard behaviour. I guess as long as our error messaging is good it should be ok.
Long term i agree we should tie this into better exports so we can serialize the ordered data and avoid the lookup costs into the table.

a per project sorted id with compound? index could work here though might be another RAM cost for just this use case. e.g.

id
project_id
sort_id

1
1
1

2
2
1

3
1
2

4
2
2

It's worth noting here that Caesar is using this endpoint to backfill old classifications. It filters to a specific subject (so it's probably not causing any slow queries), but still pages through if there are more than page_size classifications.

We could also think about keeping paging enabled but loading the data from somewhere else. This could be part of reworking the CSV exports, since we want to stop generating them from scratch every time. E.g. we could write classifications to S3 in batches (say, 1,000 lines per file), then this endpoint can use the page_size*page_number to figure out which files to read (while the exports can just cat all of them together).

I'm not sure this would work. It's possible to call various filters on this endpoint, and then you no longer know which files to pull from.


Pyright integration

Fixing all warnings encountered by pyright and adding pyright to CI

Codecov Report
Patch coverage: 79.34% and project coverage change: +0.55 :tada:

Comparison is base (06e9a77) 69.14% compared to head (9ba87e0) 69.69%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #15      +/-   ##
==========================================
+ Coverage   69.14%   69.69%   +0.55%
==========================================
  Files          26       26
  Lines        2048     2033      -15
==========================================
+ Hits         1416     1417       +1
+ Misses        632      616      -16

Impacted Files
Coverage Δ

src/neurotechdevkit/rendering/napari.py
33.33% <ø> (ø)

src/neurotechdevkit/scenarios/_scenario_0.py
28.39% <0.00%> (ø)

src/neurotechdevkit/rendering/simulations.py
25.00% <50.00%> (+2.94%)
:arrow_up:

src/neurotechdevkit/rendering/_animations.py
38.77% <60.00%> (+2.60%)
:arrow_up:

src/neurotechdevkit/rendering/_source.py
30.86% <66.66%> (+0.86%)
:arrow_up:

src/neurotechdevkit/rendering/layout.py
37.50% <66.66%> (+6.94%)
:arrow_up:

src/neurotechdevkit/scenarios/_base.py
77.77% <89.47%> (+1.06%)
:arrow_up:

src/neurotechdevkit/sources.py
99.02% <91.66%> (+3.57%)
:arrow_up:

src/neurotechdevkit/rendering/_formatting.py
50.00% <100.00%> (+3.33%)
:arrow_up:

src/neurotechdevkit/rendering/_target.py
34.37% <100.00%> (+2.11%)
:arrow_up:

... and 5 more

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


ReferenceError: SpotifyWebApi is not defined

Describe the bug
ReferenceError: SpotifyWebApi is not defined
To Reproduce
Steps to reproduce the behavior:

Run code

Expected behavior
I just want it to be accessed

Describe the bug
ReferenceError: SpotifyWebApi is not defined
To Reproduce
Steps to reproduce the behavior:

Run code

Expected behavior
I just want it to be accessed

A familiar problem. Haven't found a solution yet?

Describe the bug
ReferenceError: SpotifyWebApi is not defined
To Reproduce
Steps to reproduce the behavior:

Run code

Expected behavior
I just want it to be accessed

A familiar problem. Haven't found a solution yet?

@johnvirp Thanks for reporting it! It would be extremely useful if you could provide a code snippet and information about what environment you are running it on. Otherwise it’s impossible to troubleshoot.

@johnvirp Thanks for reporting it! It would be extremely useful if you could provide a code snippet and information about what environment you are running it on. Otherwise it’s impossible to troubleshoot.

@johnvirp, Sorry if I'm interrupting the conversation, but I have exactly the same problem. I'm creating a bot that will search for songs on Spotify and send the result a link to the song. I create this on Dialogflow, in the Fulfillment Inline Editor.
Here is my code:
'use strict';

 const functions = require('firebase-functions');
 const admin = require('firebase-admin');
 admin.initializeApp();
const {WebhookClient} = require('dialogflow-fulfillment');
const {Card, Suggestion} = require('dialogflow-fulfillment');

process.env.DEBUG = 'dialogflow:debug'; // enables lib debugging statements

exports.dialogflowFirebaseFulfillment = functions.https.onRequest((request, response) => {
  const agent = new WebhookClient({ request, response });
  console.log('Dialogflow Request headers: ' + JSON.stringify(request.headers));
  console.log('Dialogflow Request body: ' + JSON.stringify(request.body));

async function search(agent) {
  const spotify = require("spotify-api.js");

const Auth = new spotify.Auth();

var token = await Auth.get({
    client_id: "<client_id>",
    client_secret: "<client_secret>",
}); // Will return a promise of token

  var Spotify = require('spotify-web-api-js');
var s = new Spotify();
  var spotifyApi = new SpotifyWebApi(); //Here Error
  spotifyApi.setAccessToken(token);
}

  let intentMap = new Map();
  intentMap.set('Spotify', search);
  agent.handleRequest(intentMap);
});

I did not continue to write the code where the search will be performed, because this line does not work

@johnvirp, Sorry if I'm interrupting the conversation, but I have exactly the same problem. I'm creating a bot that will search for songs on Spotify and send the result a link to the song. I create this on Dialogflow, in the Fulfillment Inline Editor.
Here is my code:
'use strict';

 const functions = require('firebase-functions');
 const admin = require('firebase-admin');
 admin.initializeApp();
const {WebhookClient} = require('dialogflow-fulfillment');
const {Card, Suggestion} = require('dialogflow-fulfillment');

process.env.DEBUG = 'dialogflow:debug'; // enables lib debugging statements

exports.dialogflowFirebaseFulfillment = functions.https.onRequest((request, response) => {
  const agent = new WebhookClient({ request, response });
  console.log('Dialogflow Request headers: ' + JSON.stringify(request.headers));
  console.log('Dialogflow Request body: ' + JSON.stringify(request.body));

async function search(agent) {
  const spotify = require("spotify-api.js");

const Auth = new spotify.Auth();

var token = await Auth.get({
    client_id: "<client_id>",
    client_secret: "<client_secret>",
}); // Will return a promise of token

  var Spotify = require('spotify-web-api-js');
var s = new Spotify();
  var spotifyApi = new SpotifyWebApi(); //Here Error
  spotifyApi.setAccessToken(token);
}

  let intentMap = new Map();
  intentMap.set('Spotify', search);
  agent.handleRequest(intentMap);
});

I did not continue to write the code where the search will be performed, because this line does not work

Hi, sorry for interrupting. i'm facing the same problem too. i'm currently working on WebApp that will get few user tracks on spotify and find a snippet of lyrics of that song. i installed it via node , and also using browserify to merge the nodes into a single .js file.

Hi, sorry for interrupting. i'm facing the same problem too. i'm currently working on WebApp that will get few user tracks on spotify and find a snippet of lyrics of that song. i installed it via node , and also using browserify to merge the nodes into a single .js file.

Sorry I ended up using this wrapper instead https://github.com/thelinmichael/spotify-web-api-node. I am using this for a project that is due very soon for a class so I didn't have the time to troubleshoot it.

Sorry I ended up using this wrapper instead https://github.com/thelinmichael/spotify-web-api-node. I am using this for a project that is due very soon for a class so I didn't have the time to troubleshoot it.


Unable to find suitable version for polymer

I'm using the Polymer Starter Kit
$ bower install page-title --save
bower page-title#*          not-cached https://github.com/zacharytamas/page-titl                       e.git#*
bower page-title#*             resolve https://github.com/zacharytamas/page-titl                       e.git#*
bower page-title#*            checkout v1.0.0
bower page-title#*            resolved https://github.com/zacharytamas/page-titl                       e.git#1.0.0
bower polymer#~1.0.7        not-cached git://github.com/Polymer/polymer.git#~1.0                       .7
bower polymer#~1.0.7           resolve git://github.com/Polymer/polymer.git#~1.0                       .7
bower polymer#~1.0.7          download https://github.com/Polymer/polymer/archiv                       e/v1.0.9.tar.gz
bower polymer#~1.0.7           extract archive.tar.gz
bower polymer#~1.0.7          resolved git://github.com/Polymer/polymer.git#1.0.                       9
bower polymer#^1.0.0            cached git://github.com/Polymer/polymer.git#1.4.                       0
bower polymer#^1.0.0          validate 1.4.0 against git://github.com/Polymer/po                       lymer.git#^1.0.0
bower polymer#^1.1.0            cached git://github.com/Polymer/polymer.git#1.4.                       0
bower polymer#^1.1.0          validate 1.4.0 against git://github.com/Polymer/po                       lymer.git#^1.1.0
bower polymer#^1.2.1            cached git://github.com/Polymer/polymer.git#1.4.                       0
bower polymer#^1.2.1          validate 1.4.0 against git://github.com/Polymer/po                       lymer.git#^1.2.1
bower polymer#^1.2.4            cached git://github.com/Polymer/polymer.git#1.4.                       0
bower polymer#^1.2.4          validate 1.4.0 against git://github.com/Polymer/po                       lymer.git#^1.2.4
bower                        ECONFLICT Unable to find suitable version for polym                       er

I actually ran into this issue w/ another custom element "Parallax Container"
I haven't tested the fix out for your element yet, but one workaround was using "--force" for anyone else that comes across a similar issue.
bower install page-title --save --force

Apparently all you have to do is  update your bower.json to version to ^1.4.0 w/ the carrot and it will install properly for everyone.
"dependencies": {     "polymer": "^1.4.0"     },

Thanks @oneezy. Yeah I need to go through some of my older elements and pin them to newer versions of Polymer. Polymer can be really complicated that way because everything is broken into so many separate Bower packages with interlinked dependencies. 😕

yeah, i know what you mean! But I'm super excited about web components..just starting to get my feet wet w/ them.. but I'm liking what I'm seeing

Oh yeah I totally love them. I've been using Polymer for almost two years on projects at Google and it's changed the way I think about front-end development. Really excited to see major Google products built with Polymer start going live.

I've been reading about them for about 2 years..but I wanted to wait until 1.0 arrived before I really dove in. And man... me too! It's completely changing the way I do things.
I'm making my current clients project completely w/ web components and SEO is an important factor w/ this one.. Glad you made this little <page-title> guy

This is resolved in the 1.2.0 release.


Ready/attached ordering

Fixes #3933, #3930.
Ensure dom is attached after is has been readied. In Polymer 1.0, the attached call was specially deferred until after ready. Instead, we now slightly loosen the definition of ready to obviate the need for deferring attached. An element has this.root in ready and this dom fragment contains all of the the element's "readied" dom; however, it does not yet have this.shadowRoot. Directly after calling ready the content of this.root is added to this.shadowRoot and then this.root is set to the shadowRoot.
With this change we've also added an overridable _attachDom(dom) method which can be used to place an element's local dom in some other location than its shadowRoot.
This change should maintain enough of the attached guarantee that Polymer 1.x had while also naturally playing better with just directly using connectedCallback as Polymer.Element users shall do.

LGTM


What to do with old topAnat result files?

In GitLab by @smoretti on Feb 20, 2018, 09:57
What to do with old topAnat result files @fbastian & @marcrr ?
Today (Feb 20, 2018) those files occupy 95GB on disk and this will continue to increase.
Should we:

Delete some results after a while?
Store them compressed (this is not the case currently for most of them)
Reduce redundancy (the zip file we store contains tsv, pdf, R script, log, ... files we also store)

In GitLab by @fbastian on Feb 20, 2018, 11:07
95 GB in more than 2 years of existence of TopAnat is not a concern IMO. We have the disk space to keep storing them, so just let's keep them untouched.

In GitLab by @marcrr on Feb 20, 2018, 11:32
From the discussion with @smoretti @vrechdelaval @jwollbrett , I would suggest the following:

include the release number in the hash, to allow more flexible solutions in the future.

consider storing only zip files, in all cases or after a while (1 month?)

In GitLab by @fbastian on Feb 20, 2018, 14:41

Files are stored in a different directory per version, so I don't think it is necessary to add the version in the hash. Plus it makes URL links portable between releases. Why would you like to add it? From what @vrechdelaval tells me, it's to be able to link to a specific release? It's not managed in the hash, but in the URL directly.

If we store only zip files, then we would need to modify the code to unzip it for displaying the results. But it's true that it would save lots of space.

I think there is no rush for now, as we don't have any problem yet.


Boot server urls form json

Codecov Report

Merging #13737 (9cb58b3) into main (6023b78) will decrease coverage by 0.10%.
The diff coverage is 47.94%.

@@            Coverage Diff             @@
##             main   #13737      +/-   ##
==========================================
- Coverage   38.89%   38.79%   -0.11%
==========================================
  Files        1085     1085
  Lines       73599    73653      +54
  Branches     5022     4894     -128
==========================================
- Hits        28624    28571      -53
- Misses      44931    45041     +110
+ Partials       44       41       -3

Impacted Files
Coverage Δ

core/boot.js
23.83% <0.00%> (-0.18%)
:arrow_down:

core/frontend/web/routes.js
0.00% <ø> (ø)

core/server/services/url/UrlService.js
55.00% <36.36%> (-9.95%)
:arrow_down:

core/server/services/url/Urls.js
97.29% <100.00%> (+0.09%)
:arrow_up:

core/server/services/url/index.js
100.00% <100.00%> (ø)

core/server/data/db/connection.js
62.26% <0.00%> (-32.08%)
:arrow_down:

core/shared/config/loader.js
89.47% <0.00%> (-7.90%)
:arrow_down:

core/frontend/services/routing/registry.js
70.24% <0.00%> (-4.14%)
:arrow_down:

core/server/services/slack.js
94.76% <0.00%> (-4.07%)
:arrow_down:

... and 6 more

Continue to review full report at Codecov.

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


try update files again

@nickersk
These are the updates since the last release.
Maybe you can look at them and merge.


Add SGNHT

Add Stochastic gradient Nosé-Hoover thermostat sampler of Ding et al, discussed in #289.
I have also rescaled the alpha, beta parameters for sghmc (and the new sgnht) to align with the description in Ma et al, which IMO has better interpretability (beta is variance of stochastic gradient). But I understand that this could modify existing code so can be reverted if need be. I also refactored diffusions.sghmc to read more clearly as an Euler solver.
I also noticed that the sgld and sghmc kernels return the step functions themselves rather than an MCMCSamplingAlgorithm (and that this is in disagreement with the docs).
A few important guidelines and requirements before we can merge your PR:

[x] If I add a new sampler, there is an issue discussing it already;
[X] We should be able to understand what the PR does from its title only;
[X] There is a high-level description of the changes;
[X] There are links to all the relevant issues, discussions and PRs;
[X] The branch is rebased on the latest main commit;
[ ] Commit messages follow these guidelines;
[X] The code respects the current naming conventions;
[X] Docstrings follow the numpy style guide
[X] pre-commit is installed and configured on your machine, and you ran it before opening the PR;
[X] There are tests covering the changes;
[X] The doc is up-to-date;
[ ] If I add a new sampler* I added/updated related examples

I can't believe I was just getting the hang of the BlackJAX structure and then you went and changed it! 😆 Just kidding, big fan of the changes.
Hopefully, I have adopted them correctly, let me know what you think.
As discussed I have included the rescaling of the parameters for SGHMC. I also updated the docs for SGLC and SGHMC to say they return a "step function" rather than an "MCMCSamplingAlgorithm", but not sure if there is a better terminology.
IMO it might be nice for SGLD and SGHMC to return MCMCSamplingAlgorithm (perhaps with a dummy init function) so that users can switch between samplers seamlessly.


ApiSetmapCache can sometimes return an empty string - treat it as not found

Fixes #58

wrong source branch, closing this one.


The Org-wide setting is not available anymore.

This section needs to be updated.
The Org-wide setting is not available anymore.
==================
Turn on scoped directory search
Use Information Barrier policies to configure your organization into virtual subgroups. For more information, see Define Information Barrier policies.
In the Microsoft Teams admin center, select Org-wide settings > Teams settings.

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

ID: 2c9b7f77-061d-a224-ff1c-8d3e15d21221
Version Independent ID: 00fa9550-c4c4-3398-ffbb-271cc724048f
Content: Manage settings for your organization - Microsoft Teams
Content Source: Teams/enable-features-office-365.md
Service: msteams
GitHub Login: @SerdarSoysal
Microsoft Alias: serdars

Duplicate of https://github.com/MicrosoftDocs/OfficeDocs-SkypeForBusiness/issues/7900

@scanum please close, the PR has been merged.


Cannot use React Functional Component in nested layout

Current behavior
Step 1. Take sample from tutorial: http://codepen.io/wolframhempel/pen/yOveme
Step 2. Change TestComponent from React.createClass to Functional Component
var TestComponent = ({ label }) => (
  <h1>{label}</h1>
);

Result: GL only renders A, doesn't render B and C, and throws the following error:
Uncaught TypeError: Cannot read property 'componentWillUpdate' of null
    at e.utils.ReactComponentHandler._render (goldenlayout.min.js:2)
    at e.container.ItemContainer.emit (goldenlayout.min.js:1)
    at e.items.Component._$init (goldenlayout.min.js:2)
    at e.items.Component.callDownwards (goldenlayout.min.js:2)
    at e.items.Stack.callDownwards (goldenlayout.min.js:2)
    at e.items.RowOrColumn.callDownwards (goldenlayout.min.js:2)
    at e.items.Root.callDownwards (goldenlayout.min.js:2)
    at e.LayoutManager._create (goldenlayout.min.js:1)
    at e.LayoutManager.init (goldenlayout.min.js:1)
    at i (jquery.min.js:2)

Expected behavior:
Golden Layout renders like using Class Component
Codepen example:
http://codepen.io/dvkndn/pen/jBQqJG?editors=1010#0

I've run into this too. It's because the code for hosting react components assumes there must be state, but functional components are stateless. Probably should be handled by checking whether the component has a componentWillUpdate function before monkey patching it. (Could probably also do it by checking whether it is a class or a function, but that seems more fragile than checking for the properties before patching them.)

@dvkndn Want me to try to fix it? I don't see a CONTRIBUTING.md but I assume that a PR is the contributing model?

Actually, the problem is that lm.utils.ReactComponentHandler assumes that the return value of the render() call (from react-dom) is the component that was rendered. This was never true for stateless functional components (in this case, render() simply returns null), and in fact, the very existence of the return value is deprecated and future versions of React may switch to not returning anything at all (e.g., in cases of asynchronous rendering):

ReactDOM.render() currently returns a reference to the root ReactComponent instance. However, using this return value is legacy and should be avoided because future versions of React may render components asynchronously in some cases. If you need a reference to the root ReactComponent instance, the preferred solution is to attach a callback ref to the root element.

(source)
So, a long-term solution would be to use the above mentioned callback ref trick.

An earlier pull request of mine (https://github.com/deepstreamIO/golden-layout/pull/334) can potentially fix this issue, although it still doesn't solve the problem with using the return value of ReactDOM.render().

Anyone have any success with Functional Conponents and GL?

https://github.com/deepstreamIO/golden-layout/pull/348 solves issue


Need to elaborate on botFilePath and botFileSecret

Since we presumably aren't actually meant to use the strings "yourbasicBot.bot" and "ukxxxxxxxxxxxs=" some instructions should be provided about where to find those values and how to format them (e.g. if the name of the bot file is fine or if some additional path information should be given)

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

ID: 47c9768c-751e-1e0d-3eed-5d44b27d447d
Version Independent ID: e9bfdfd4-2c21-7e66-ad92-eb1a5ecdc660
Content: Download and redeploy bot source code - Bot Service
Content Source: articles/bot-service-build-download-source-code.md
Product: bot-framework
GitHub Login: @ivorb
Microsoft Alias: v-ivorb

This has been addressed and will be available in the next publish.


6036 remove default scopes

This one turned out to be pretty simple. Just one reviewer is enough I think.
I cancelled the last test build b/c it was for a very small commit. I guess I shouldn't have but I feel bad for poor Travis working so hard all the time...


Strongholdify adapt peasant spawnrate

I added the slower peasant spawnrate suggested in https://github.com/Sh0wdown/UnofficialCrusaderPatch/pull/505 and https://github.com/Sh0wdown/UnofficialCrusaderPatch/issues/510.
I changed the check for the gamemode, now the spawnrate is the same as for the free build mode. I did not check whether or not it is exactly as in Stronghold 1, but it feels so :)
( Again, this massively interferes with the AI: If the recruitment speed is high, the AI recruits faster then its buildings get occupied. This also happens without the edit, but with it the situation significantly worse. )

I love you <3 !


Fix Time

What Need Does It Address?

Possible Drawbacks

Why Should This Be In Core?

Description of the Change

Alternate Designs

Applicable Issues

Closing, assuming this was submitted in error as there is no description and all commits seem to come from my own team.


Feature: block checkpoint when enemy is aggro

Desctiption
Now when enemy in aggro state player can not use checkpoints.
Also hint not showing when we near checkpoint.
Implementation notes
Move aggro enemy counter from music to player because now checkpoints also use this information.
For now use "_aggro_enemy_counter" outside player script to 'silent' assigment(no signal call). May be exist some more correct way to deal with music fade out.

Sekiro and the other souls games let you use the checkpoints even while enemies are aggro and hunting you down.
Thanks for the implementation notes though. I think the next time a feature requires the amount of aggro enemies, I'll make a CombatManager script or something to put all the combat encounter stuff in.


Added events

Q
A

Is bugfix?
✔/❌

New feature?
✔

Breaks BC?
❌

Tests pass?
✔

Added events that says that application was started/ended (it needs for debugger)
Fixed bug: psr/event-dispatcher is used, but not required in composer

👍


Error

[2024-06-22 16:23:38.214]  net      zeph-asia1.nanopool.org:10900 read error: "end of file"
How to solve this?

This is issues related to pool, not from this tool


Revise 404 page: Credentials not found

Users land on a 404 page that is not helpful. Current page does not explain why a user would land there.
We want to make the 404 page (seen here, for example: https://verifierplus.org/credentials/32ba477d-07d4-4054-8401-c9c40e7235fa) friendlier and more helpful. Instead of saying "404 credential not found", we could say something more like:
"Credential Not Found: Credential has likely expired or has been unshared by a user"
Open to thoughts on a visual re-design.

Suggestion:
404: Credential Not Found
Please confirm you have entered the correct URL or public link. Other reasons for this error could include:

the credential has expired
the credential holder has unshared the URL or public link

I don't think we're showing a 404 page - when I click on a link that I've unshared, it just says "loading"....
Upping priority so we can depend on messaging when we add QR code to PDF.


Bad Request For Failed Zod Validations

We fixed the runtime and compile time parsing of query params and request bodies in #10
However, theoretically, we're still not returning BAD REQUEST status codes for failed Zod validations, we'll get an internal server error, and the response will be JSON with the Zod validation errors.
This should be changed to a bad request and instead of JSON, an info-wrapped HTML component may be injected into the document markup.
Stays in the backlog for now as not  a blocker for next release phase.

Moving to current iteration as will be worked on together with #28


Adding codeUrl to submission create and update requests.

Closes #108

Awesome! Thank you for the approval, @karlaspuldaro--much appreciated!


How to set up output in different languages?

thx

@mdreamfly which languages are you looking for?

For example, simplified Chinese output?


How to resolve name conflicts?

it is related to issue #40 and #26, e.g. for following two modules, how can I use both of their hi/0 in another module?
Module bar:
:- module(bar, [hi/0]).

hi :- write('hi bar'), nl.

Module baz:
:- module(baz, [hi/0]).

hi :- write('hi baz'), nl.

I think there are two possible approaches:

Provide a mechanism to load modules without importing names into current namespace.
Load modules automatically according to module prefix in names, which is similar to Erlang.

Currently:
:-use_module(bar).
:-use_module(baz).
main :- hi.
will output 'hi bar' because it finds the first one loaded. of course you can do:
main :- baz:hi.
to select the one you want.

In regard to Issue #40, I suppose I could add a conflict warning.

If we go to warn name conflicts in regard to #40, then it would is more necessary to allow modules be loaded without import names, or this kind of warnings will be hard to be suppressed.
BTW, for large projects, I'd like to always use explicit module prefix, import names into current namespace is similar to Python's wildcard imports import *, which is not recommended, see here and here.
Similarly, Erlang community seems to prefer to avoiding import, see here, here and here.

I agree, I have recently gone to using module prefix in the apps. I think I will enforce that.

But keep for the builtin modules sys ,net, proc etc.

Just find that, in SWI and YAP, use_module(name, []) can be used to load modules without import names, e.g.:
:- use_module(bar, []).
:- use_module(baz, []).

main :- bar:hi, baz:hi, halt.

Am I miss something? Do we have mechanism similar to use_module(name, []) now?

Current practice is that use_module does not import unqualified names. You have to specify bar:hi or baz:hi.

Nice! I like this style.


Create LICENSE

Introduced new license

I would like to be mentioned in the license. Please add all contributors separately or say "& contributors"

Maybe a separate Contributors.txt file?


page changed function called twice

my situation is like this:

i have a top filters - when i click on filter i am requesting the new filtered data by call to getData and update  this.FeedService.page = 1 and update the pagination info and the current page.

after phase 1 when the numbers of pages in pagination dir change and i click on page 2 for example, the on page change is called twice and i dont understand why this is happening, i am trying to debug this all day and its seems something from the plugin itself.

 <card
            dir-paginate="card in feedCards.FeedService.feed | itemsPerPage: feedCards.FeedService.pagination.items_per_page"
            total-items="feedCards.FeedService.pagination.total_items"
            pagination-id="feedFilter"></card>

  <dir-pagination-controls on-page-change="feedCards.pageChanged(newPageNumber)" pagination-id="feedFilter"
                                     boundary-links="true"></dir-pagination-controls>

On filter click:
    this.FeedService.page = 1;
    this.SkillsFiltersService.getData();

On page change function:
pageChanged( page ) {
   console.log('pageChanged');
   this.FeedService.page = page;
   this.SkillsFiltersService.getData();

  }

getData function:

    this.$http.get(this.appConfig.api.learning).then(( res ) => {
      this.FeedService.feed = res.data.resources;
      this.FeedService.pagination = res.data.control;
      this.paginationService.setCurrentPage('feedFilter', this.FeedService.page);
    });

Hi,
Thanks for the report. First of all, there are two related issues: https://github.com/michaelbromley/angularUtils/issues/81 and https://github.com/michaelbromley/angularUtils/issues/35. Just want to check you have seen them in case your issue is related. Also make sure you have the latest version.
Looking at the code (https://github.com/michaelbromley/angularUtils/blob/master/src/directives/pagination/dirPagination.js#L272-L306) the pageChanged function will be called under two circumstances:

when the value of itemsPerPage changes.
when the value of currentPage changes. This will trigger either by clicking a page link, or by changing the value of the current page variable externally (e.g. if you bind to a value on your controller's scope via the current-page attribute).

I would start by setting a breakpoint here https://github.com/michaelbromley/angularUtils/blob/master/src/directives/pagination/dirPagination.js#L296 and then when you click to page 2, see which of the two things listed above is triggering the call.

I see the two related issues and it does not help, i will try to do what you suggest and let you know. thanks.

i see from the debugger this:

the goToPage() is running.
goToPage() is trigger the:

   scope.$watch(function() {
        return paginationService.getCurrentPage(paginationId);
      }, function(currentPage, previousPage) {
        if (currentPage != previousPage) {
          goToPage(currentPage);
        }

goToPage() is calling again.

And now i see its happening when i update the:
this.FeedService.feed = res.data.resources;
this.FeedService.pagination = res.data.control;

after the xhr.

The $watch who is trigger this function goToPage(currentPage) is called twice, you have a guess why?

Here's a guess: perhaps it is because the this.FeedService.pagination object is being overwritten when you do:
this.FeedService.pagination = res.data.control;

Instead of just replacing the pagination object, try individually setting any primitive values on the object that need updating, e.g. update the this.FeedService.pagination.total_items value (if it has changed), but leave the this.FeedService.pagination.items_per_page value intact.
Let me know if that changes anything.

Sorry about the bug report it turns out that the problem was that the server side send me total_items different on changing the page and because of this the on page changed is runs twice. thank you for your answers.

Okay, glad you got it solved.


valve location issue in v2.3duf

Cannot connect valves because their location method may be broken. Look at the grey points under the device canvas.

Device2_error.txt
Device2.txt


Yeelight bulbs don't activate music mode

Make sure you are running the latest version of Home Assistant before reporting an issue.
You should only file an issue if you found a bug. Feature and enhancement requests should go in the Feature Requests section of our community forum:
Home Assistant release (hass --version):
0.51.1
Python release (python3 --version):
Python 3.4.2
Component/platform:
light.yeelight
Description of problem:
When I specify use_music_mode: True in my configuration.yaml, my Yeelight bulbs don't have music mode enabled, and the lights freeze when I'm changing the color via the Apple Home color wheel through Home Bridge.
The yeelight.py file in /homeassistant/components/light/ has a set_music_mode command but the method it calls doesn't seem to exist.
Expected:
I should be able to turn on music mode via my configuration.yaml.
Problem-relevant configuration.yaml entries and steps to reproduce:
  - platform: yeelight
    devices:
      [IP redacted]:
        name: Living Room Lamp
        use_music_mode: True

Enter definition in configuration.
Start Home Assistant or reload config.
Try to do more than 60 operations/minute with a Yeelight bulb.

Traceback (if applicable):

Additional info:

Which bulb are you using and can you provide debug logs from yeelight library. To activate debug logging for the library something like this should exist in your configuration:
logger:
  logs:
    yeelight: debug

I'm not 100% sure, but I think firmware version 1.4.1_52 of the bulbs might have broken this from a change in how music mode works: http://forum.yeelight.com/t/firmware-1-4-1-52/1510/8
I don't know if python-yeelight has been updated to address this.

I don't think that new behaviour is the problem, as the music mode is activated inside turn_on (if not already active).

Any update on this behaviour or can we close this issue now?


Create konami.min.js

A minified version of konami.js

Thank you for your contribution @Chivi19!
With the direction that Konami 2.0 is taking I think its makes less sense to include a minified version in the repo. You can look at the 2.0 branch and view the discussions under issues. The build tools will produce a minified version in 2.0.
We can either include that minified version as part of the repo to utilize somethign like unpkg as a CDN or perhaps use jsdelivr with their auto-minimization feature. Haven’t decided yet and I’m open to feedback!


Share ownership or make team?

It seems that development has stalled (last update 2+ years ago) and some recent bugs and pull requests have not been taken into consideration.
Will you consider sharing/giving ownership of the project or making a team so development can continue?
Since you have CI this should not be so hard.
Cheers,

Check out https://github.com/c4urself/bump2version, which seems to be a maintained fork from this project

This could get resolved pretty soon. See: https://github.com/c4urself/bump2version/issues/86#issuecomment-530106531.


Unable to choose spelling languages in 4.7

I confirm (by marking "x" in the [ ] below: [x]):

[x] This is not a troubleshooting question. Troubleshooting questions go here: http://www.mattermost.org/troubleshoot/.
[x] This doesn't reproduce on web browsers (such as in Chrome). If it does, issue reports go to the Mattermost Server repository.
[x] I have read contributing guidelines.

Summary
With spell checking enabled, only the system language is being checked for spelling. Other languages can't be checked anymore, even when dictionaries for other languages are installed and working. The context menu "Spelling Languages" available in 4.6.2 isn't there in 4.7.0 anymore. The environment variable DICTIONARY consumed by hunspell isn't evaluated.
Environment

Operating System: Gentoo Linux
Mattermost Desktop App version: 4.7.0
Mattermost Server version: 5.35.1

Steps to reproduce
Use mattermost-desktop in version 4.7.0. Write a message in a language other than system language.
Expected behavior
Correctly spelled words in languages different from system language are not marked as misspelled.
Observed behavior
Correctly spelled words in languages different from system language are marked as misspelled.
In 4.6.2:

In 4.7.0:

~ $ echo $DICTIONARY
en_US,de_DE

~ $ echo "Hallo Hello" | hunspell
Hunspell 1.7.0
*
*

~ $ locale
LANG=en_US.UTF-8
LC_CTYPE=de_DE.UTF-8
LC_NUMERIC=de_DE.UTF-8
LC_TIME="en_US.UTF-8"
LC_COLLATE=C
LC_MONETARY=de_DE.UTF-8
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

Possible fixes
Either re-introduce the possibility to change spelling languages per context menu as in versions <4.7 or respect the environment variable DICTIONARY for enabled dictionaries of hunspell or provide a different way to select available spelling languages.

@Willyfrog @jgilliam17 Does this repro for you?

with 4.7 we default to system language as we are now using the system's dictionary.
we want to add the option to select different languages in the future (see MM-33112 ) althought that will only be possible in windows and linux due to electron limitations. The plan for that ticket is to be made help wanted (which will happen next week)

This is a major loss of functionality for users in a multi-lingual environment.
In our (Dutch) company with English speaking colleagues for example, we have conversations in Dutch and English channels.
Before 4.7, I could switch the spelling for the text area when needed.
Now I must change the system language to have the correct spelling check??

Yes, this change is a serious regression. People do use multiple languages on regular basis, often at work. Having spell checking available only for one, arbitrary selected in the OS is just wrong.
If anything was to be changed is to preserve language setting for a specific channel – that would be useful.

with 4.7 we default to system language as we are now using the system's dictionary.

How are you detecting the "system language"? Which env var are you using for this? IOW, what we need to change for the mattermost process for it to select the language we want? (as a workaround).
Thanks!!

From electron's docs:

By default the spellchecker will enable the language matching the current OS locale.

But "the locale" is a complex thing:
$ locale
LANG=es_AR.UTF-8
LANGUAGE=es_AR:es
LC_CTYPE="es_AR.UTF-8"
LC_NUMERIC="es_AR.UTF-8"
LC_TIME="es_AR.UTF-8"
LC_COLLATE="es_AR.UTF-8"
LC_MONETARY="es_AR.UTF-8"
LC_MESSAGES="es_AR.UTF-8"
LC_PAPER="es_AR.UTF-8"
LC_NAME="es_AR.UTF-8"
LC_ADDRESS="es_AR.UTF-8"
LC_TELEPHONE="es_AR.UTF-8"
LC_MEASUREMENT="es_AR.UTF-8"
LC_IDENTIFICATION="es_AR.UTF-8"
LC_ALL=

So, it considers LC_ALL? LANG? LANGUAGE? Etc...

with 4.7 we default to system language as we are now using the system's dictionary.
we want to add the option to select different languages in the future (see MM-33112 ) althought that will only be possible in windows and linux due to electron limitations. The plan for that ticket is to be made help wanted (which will happen next week)

It looks like MM-33112 is proposing to reimplement this as an item in the preferences. This is a really bad idea, because changing the language is normally done constantly in case you aren't a single-language user. It was correct to implement this as a context menu item in the past.
Anyway, this issue breaks the entire spell checking feature. As a hotfix can the spell checking be reverted to the 4.6 state until there is a fix?

I confirm this is a huge regression for me. In a multilingual environment such as mine, I am constantly switching between English French and Italian. Without spell check (worse, with spell check stuck to English) it become very difficult. So difficult I reverted to 4.6.2

Hello @Willyfrog , thanks for the info. Do you have info about how it will be handled? Thanks!

Same as chrome does, you specify a list of languages and it will try to figure out the right one

Hi @Willyfrog, thanks for your kind answer, the planned solution does look nice indeed, I'll follow this closely

Closing as this feature is now present in v5.0.2 in the Settings modal.


The Loaded&Unloaded event of usercontrol always executed twice when the usercontrol embeded in MetroTabItem

Environment(please complete the following information):

MahApps.Metro version [e.g. v1.6.4]
OS: [e.g. Win10 1803]
Visual Studio [e.g. 2017 15.7.1]
.NET Framework [e.g. 4.7.1]

Additional context
   <Grid>
       <metro:MetroAnimatedTabControl >
            <metro:MetroTabItem>
                <local:UserControl1 />
            </metro:MetroTabItem>
        </metro:MetroAnimatedTabControl>
    </Grid>

public partial class UserControl1 : UserControl
    {
        public UserControl1()
        {
            InitializeComponent();
            this.Loaded += UserControl1_Loaded;
        }

        private void UserControl1_Loaded(object sender, RoutedEventArgs e)
        {

        }
    }

That's a bug/issue in wpf itself. Please report this issue in the dotnet/wpf repo.
There is nothing we can do in MahApps.Metro about it ☹

@kevinlee0625 I created a sample without using MahApps to show you that this is not releated to MahApps. https://github.com/punker76/WPF.UserControl.Inside.TabControl


[OData] /odata/v1/orders() gives 400 Bad Request "Unspecified API version"

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug
When trying to request a specific item, for example a product in de ODataBasicExample, but not providing a key: GET ~/api/v1/orders(), the service returns the following:
HTTP/1.1 400 Bad Request
Content-Type: application/problem+json
Date: Tue, 15 Nov 2022 11:30:37 GMT
Server: Kestrel
Transfer-Encoding: chunked

{
  "type": "https://docs.api-versioning.org/problems#unspecified",
  "title": "Unspecified API version",
  "status": 400,
  "detail": "An API version is required, but was not specified.",
  "Code": "ApiVersionUnspecified",
  "traceId": "00-93b92d7cb1971c4932902abcc9d4ea8d-93ab6594370d9afd-00"
}

Expected Behavior
I would expect (and removing versioning from the example confirms this) a 404 Not Found.
Steps To Reproduce
As an extra test I made a simple example here: https://github.com/dnperfors/eLibrary
The following requests give the following responses:

Project
Request
Response

eLibrary.OData
/odata/books
200 Ok -> List with books

eLibrary.OData
/odata/books()
404 Not Found

eLibrary.OData
/odata/books(1)
200 Ok -> single book

eLibrary.OData.Versioning
/odata/v1/books
200 Ok -> List with books

eLibrary.OData.Versioning
/odata/v1/books()
400 Bad Request --> "Unspecified API version"

eLibrary.OData.Versioning
/odata/v1/books(1)
200 Ok -> single book

Exceptions (if any)
No response
.NET Version
6.0.300
Anything else?
Asp.Versioning.OData.ApiExplorer Version: 6.2.1

Strange, I don't see why that would happen based on your configuration. Everything looks correct. Out of curiosity, what happens if you don't use ()? Does GET /odata/v1/books the same result?  The repro is helpful. I'll get into this some more.

Strange, I don't see why that would happen based on your configuration. Everything looks correct. Out of curiosity, what happens if you don't use ()? Does GET /odata/v1/books the same result? The repro is helpful. I'll get into this some more.

That is why I report it 😄, I didn't expect it either and was doubting myself, but since it does work without versioning, it has to be something with the versioning magic (or some other weird magic of course 😄)
As shown in the table (😉) GET /odata/v1/books returns the list of books.

It might be surprising, but as configured, this is the expected behavior. By default, the configuration allows for the API version to be defined via the query string and a URL segment (e.g. the un-RESTful way). Extracting the API version from the URL is tricky. Since there are no suitable templates with the route constraint that match, the routing system presumes that GET /odata/v1/books()?api-version=### could exist, but the client didn't specify a version. 400 is the expected response in this case and is necessary to continue endpoint resolution.
Now, if you change the configuration to:
builder.Services
       .AddApiVersioning(options => options.ApiVersionReader = new UrlSegmentApiVersionReader())
       .AddOData(options => options.AddRouteComponents("/odata/v{version:apiVersion}"))

the API version can only come from a URL segment. Unfortunately, /odata/v1/books() will still return 400. This, I think, is a 🐞. If, and only if, the API version can only come from the URL and none is found, then the routing system should lead to a path that will produce 404. There are couple of edge cases such as if you have version-neutral endpoints or you allow assuming a default version, but those paths should eventually lead to 404 too.
I believe I have a fix that will result in the desired behavior when versioning is restricted to just the URL. Any other combination will likely be 400. This problem only exists when versioning by URL segment. I'll try to get the fix out ASAP.


Save

The clan data gets saved and loaded automatically on plugin enable/disable. It also autosaves whenever a world is saved.

Yes.


[BUG] Test suite should exit after helm pull failure

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:
william@MSI:/mnt/c/Users/william/unison-with-dropbox-symlinked-to-linux/vulk_stuff/cnf-testsuite$ ./cnf-testsuite cnf_setup cnf-config=./cnf-testsuite.yml; ~/my_confs/wsl-notification.sh
Successfully created directories for cnf-testsuite
cnf setup online mode
Helm pull error
mv: cannot move '/mnt/c/Users/william/unison-with-dropbox-symlinked-to-linux/vulk_stuff/cnf-testsuite/cnfs/coredns/exported_chart/coredns/templates' to '/mnt/c/Users/william/unison-with-dropbox-symlinked-to-linux/vulk_stuff/cnf-testsuite/cnfs/coredns/exported_chart/templates': Directory not empty

Expected behavior
The binary should not try to move anything if there is nothing to move (because of the helm pull failure)
Screenshots

Device (please complete the following information):

OS [e.g. Linux, iOS, Windows, Android] linux wsl
Distro [e.g. Ubuntu]
Version [e.g. 18.04]
Architecture [e.g. x86, arm]
Browser [e.g. chrome, safari]

How will this be tested? aka Acceptance Criteria (optional)
(optional: unnecessary for things like spelling errors and such)
Once this issue is address how will the fix be verified?
Additional context
Add any other context about the problem here.

NOTE: you can enable higher logging level output via the command line or env var. to help with debugging
# cmd line
./cnf-testsuite -l debug test

# make sure to use -- if running from source
crystal src/cnf-testsuite.cr -- -l debug test

# env var
LOGLEVEL=DEBUG ./cnf-testsuite test

Also setting the verbose option for many tasks will add extra output to help with debugging
crystal src/cnf-testsuite.cr test_name verbose

Check usage documentation for more info about invoking commands and logging

@HashNuke @agentpoyo has this been completed? Can the issue be closed?

closing issue as stale - can be reopened if prioritized by community


Hotline numbers don't appear on login page / other pages

It appears on pew-pew, but not on https://www.crisiscleanup.org/login

This works now on staging. I think it just hadn't been deployed.


Extract proof script

@nishantjr I created this PR so that the changes are reviewable, I would merge the actual proofs in a separate PR


icons not working after disabling SSR with latest  1.1.1 update

------------------------------
- Operating System: Windows_NT
- Node Version:     v20.14.0
- Nuxt Version:     3.12.3
- CLI Version:      3.12.0
- Nitro Version:    2.9.7
- Package Manager<EMAIL_ADDRESS>- Builder:          -
- User Config:      devtools, ssr, app, primevue, css, modules, swiper, icon, dir, components, srcDir, runtimeConfig, alias, compatibilityDate
- Runtime Modules<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>- Build Modules:    -
------------------------------

 ssr: false,
icons not working after disabling ssr with latest    "@nuxt/icon": "^1.1.1"  update
With old  "@nuxt/icon": "1.0.0", works fine. Im using custom icons, no iconify whatsoever
icon itself looks like this after update - no content inside svg
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" ssr="true" class="_infoIcon_5ybwn_125 _icon_1nxjn_7 _info_1nxjn_12 icon iconify iconify--icon" width="1em" height="1em" viewBox="0 0 24 24"></svg>

  icon: {
    fallbackToApi: false,
    mode: 'svg',
    customCollections: [
      {
        prefix: 'icon',
        dir: './src/shared/components/icons'
      }
    ]
  },

no errors in console or network too

Custom icons would require a server to work. You can set
icon: {
   provider: 'server'
}

if you are using a SPA with an API server (back to the behavior of v1.0.0)

Custom icons would require a server to work. You can set
icon: {
   provider: 'server'
}

if you are using a SPA with an API server (back to the behavior of v1.0.0)

The default is supposed to be server, no?

adding provider: 'server' fixes issue tho


fix: Replaced WEBP Format instead of Using PNG File Format

Related Issue

Replaced All PNG  Images File format into WEBP Format in Both Image Files and Codebase Files also.

Closes: #504
Describe the changes you've made

Replaced All PNG File Format into WEBP Format of All Images Files Placed in Specific Folders.
In Multiple js and tsx Files , Changed Wrong Image Paths to Original Paths.

Type of change

In components Folder, I have Made Changes related to Images Path.
Before Changes of Images Path, that Half of the Path is not actually Existed in Respective Files.
So, I can Changed that Issues.

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Code style update (formatting, local variables)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation update.
[ ] This change requires a documentation update

How Has This Been Tested?

Checklist

[x] My code follows the guidelines of this project.
[x] I have performed a self-review of my own code.
[ ] I have commented on my code, particularly wherever it was hard to understand.
[ ] I have made corresponding changes to the documentation.
[x] My changes generate no new warnings.
[ ] I have added tests that prove my fix is effective or that my feature works.
[ ] Any dependent changes have been merged and published in downstream modules.

Screenshots (if applicable)

Original
Updated

original screenshot
updated screenshot

For Reviewers

In Some Files , Unknown Paths added to Some Image Elements. So, I corrected It in Multiple js and tsx Files .
I cross checked everything before Committing the Whatever Changes Made related to My Issue is Clean and Good.
If any Unwanted mistakes happens on My Side, Then Please Quote Me.
I did not touch svg Image Files. Because of whenever optimizing SVG File Format into PNG Format, No Much Difference i Shown in Terms of File Size.

Code of Conduct

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

Hi @mkubdev . Please Review on this PR as soon as Possible. Thank You !

What is the use of webp extension compared to PNG format even when webp is only supported in modern browsers?

I'm closing this issue due to inactivity. Please feel free to reopen it if you'd like to contribute or have further discussions.


Benchmark template review

This the last version of the benchmark template repository that can be used to create one's own benchmark.
It is compatible with benchmark.webots.cloud to try it online and to see other participants runs and scores.

Yes, it is good to always have a carriage return at the end of each text file (otherwise GitHub displays a 🚫 sign at the end of the file.

Would it be possible to add a link to the leaderboard page in the message posted on the issue after a "run" command is issued?

Individual re-evaluation in progress...
Re-evaluation finished! The leaderboard is up to date.

On the robot programming benchmark, I am getting "failure" as a result:

I guess this is because my robot is not moving at all.
However, this message is not very user friendly as we don't know what is the problem and how to fix it.
A performance of 0% would be more understandable, or a clearer error message.

On the robot programming benchmark, I am getting "failure" as a result: I guess this is because my robot is not moving at all. However, this message is not very user friendly as we don't know what is the problem and how to fix it. A performance of 0% would be more understandable, or a clearer error message.

The failure mechanism is that when the user reaches the maximum time without triggering the benchmark end, they get this failure performance (except when the goal is to do something for as long as possible). This mechanism should only trigger if the controller wasn't able to connect to Webots (or in this case the controller connected, but didn't make the robot move which was needed to trigger the benchmark end)
Maybe I could write "Problem connecting with controller" if the controller wasn't able to connect and if it was able to connect but didn't do anything I give it a default score of 0?

Would it be possible to add a link to the leaderboard page in the message posted on the issue after a "run" command is issued?

Individual re-evaluation in progress...
Re-evaluation finished! The leaderboard is up to date.

Also in the registration success message:

[...]
You have been added to the benchmark leaderboard.
[...]

To generate the link I need the username, the repository (which are very easy to get) and the world file name. I might need to do a small script to retrieve the world file name, but this should be doable

Maybe I could write "Problem connecting with controller" if the controller wasn't able to connect and if it was able to connect but didn't do anything I give it a default score of 0?

Yes, I believe it would be better as you propose otherwise the user will believe they need to fix a problem or the system is broken.


Fixes #2

Updated the logic in the autotest module to exclude the 'app' directory from the derived test path. This ensures that when files within the 'app' directory are modified, the corresponding test file's path is correctly identified, and the relevant tests are triggered.

Hey Luke thanks for the PR. I've decided to go a slightly different route with this and have;

added a new config setting to allow excluding the source dir from the test path
updated the docs to avoid confusion


Output message indicating files are being copied in to guest

Currently if the users specifies -copy-in-before with a large source, it takes a long time to copy everything in to the guest. There is no message indicating that this process is happening (unless verbose is on), so it can look like transient has hung. We should output something to inform the user this is what's going on.

This is no longer relevant. We don't capture the output from scp, so the progress is shown there.


admin does not have kube config causing other issues

Admin node does not have kube config file and causing several other issues pertaining to install additional tools such as calico and metrics server.
see issue #109
[opc@admin .kube]$ ls -ltra
total 4
drwxrwxr-x. 2 opc opc    6 Dec 13 08:50 .
drwx------. 8 opc opc 4096 Dec 13 08:51 ..
[opc@admin .kube]$

You need to enable instance_principal for the admin_server in order for the it to be able to get the kubeconfig file:
admin_instance_principal = true
Can you please try this and let us know?

Awesome, it works now thanks!

Cool. I think the documentation didn't explicitly call these dependencies out. We'll fix this


The code of ground truth SDF generation

First of all, I would like to thank you for your great work
I want to experiment with other scene data, but I cannot obtain ground truth SDF.
When can you open the code of ground truth SDF generation?
Thank you

I provided some explanation here: https://github.com/facebookresearch/iSDF/issues/10#issuecomment-1237239673
Let me know if you need some more pointers to generate ground truth SDFs.

Thank you for explanation:) Let me check that comment
Actually, I have another question about quantitative results.
When I running code isdf/eva/figs/all_seq.py using result of batch_train/jobs_local.py, my plot is as follows.

I don't know why the results of SDF error and gradient cosine distance are weird. Can you help me with this result?
In my case, I use the CUDA 11.3 version and RTX A6000.

Additionally, I'm wondering how to generate all 'npy' files of each time steps in eval_pts folder. (e.g. surf_valid_gt_sdf.npy, vis_valid_gt_grad.npy, etc.)
Also, each time steps in eval_pts folder is set manually?


Create an /api for the API calls

Currently the whole API is sitting on the top-most level, getting in the way of the public pages.  The current API should be moved into an /api route and all references updated accordingly.

Completed in https://github.com/drewtorg/wramtas/pull/31


GAIA-X Authority VCs - Infrastructure Implementation

feature #78
after #18  and https://github.com/agera-edc/MinimumViableDataspace/issues/151
Description
Implementation story according to outcome of #18
Acceptance Criteria

[ ] All verifiable credentials can be validated against the public key of the issuer's DID document
[ ] GAIA-X membership Verifiable Credential can be issued by an external authority trusted by dataspace participants and can be verified by the dataspace authority
[ ] MVD Membership verifiable credentials signed by the dataspace authority can be issued and verified by any dataspace participant
[ ] Documentation on how certificate infrastructure is handled for the MVD

Tasks

[x] Generate private and public keys for GAIA-X in the CD workflow.
[ ] The GAIA-X private key is made available to download as Github artifact so that it can be used in the participant deployment workflow to generate GAIA-X membership Verifiable Credentials.
[ ] Populate the GAIA-X VCs to participant's IdentityHub
[ ] Configure the Registration Service at the deployment with the GAIA-X DID url.
[ ] Add/update doc on how certificate infrastructure is handled for the MVD

Currently blocked by the missing IdentityHub implementation.


[Feature]: Support schema driven way of generating a JSON form

Is there an existing issue for this?

[X] I have searched the existing issues

Summary
Users want to provide the data types for the fields in the JSON form rather than inferring in automatically.
Why should this be worked on?
Today JSON form makes assumptions when data is bound to it, users don't want any assumptions to be made by the form and follow a particular schema provided to the JSON form.

Link to conversation (may get archived) - https://discord.com/channels/725602949748752515/972093976771448912/972093979409645608
Link to upvotes - https://discord.com/channels/725602949748752515/760761686549463060/973152275411394610

Link to conversation - https://discord.com/channels/725602949748752515/725609493974614076/1008465912552243230

ANy progress on this,  as it is really good feature which remove the lot of risks involved while using autogenerated json form ?

@MrChrisRodriguez i would like to know more about your use-case. Ideally, all the items you mentioned in schema form can also be achieved here but it's a matter of convenience of one over the other. Will you be open for a call to discuss more?
If yes, can you please block a slot which works for you here - https://calendly.com/dilip_pitchika/30min?month=2022-10
It would really help us improve the json form.

Echoing what I imagine @SidHiremath is conveying: building a form from a source data object requires me to guess how your interpreter works; it's not outwardly deterministic.
While I agree that it is easier in the simplest of cases (and maybe that's all you intend to support), if I want to do anything besides a simple input field, the current model starts to fall apart.
For example:

How do I indicate that I want to create a number slider? How about a range slider?
Which is the month and which is the day for 12/12/1990?

These are two simple examples, but if you spend a few minutes you'll be able to come up with so many more.
The way I see it, every component already has a unique key and properties that are likely configured and stored in JSON. Expose that to us so that we can use it to programmatically compose the interface we want!

Another request on the feature, the customer has more than 300 forms with schemas they want to show for their users with schema details. This means each time they use the json form with radio groups it goes away when they switch between different form types.


Pass subparser to delegate fn; use docstring for help text

Moving towards a more modular architecture.

Looks like iteritems is gone in Python3.
http://stackoverflow.com/questions/10458437/what-is-the-difference-between-dict-items-and-dict-iteritems

I feel like the subcommands should each live in their own file. cmd.py should just import the "main" function of every file.

@karth295 I agree; however, I would consider help, version, and hello exempt since there is nothing below them.
help may not be exempt if we want to do something like this:
$ yaas help blueprint

But, since we'll be getting --help for free,
$ yaas blueprint --help

I would vote against that.

@jake-low Also, I don't hink we need inspect here.  subparsers.add_parser(name, help=None) produces the same results for me.

@dmtucker I just tried what you described; that's false -- add_parser doesn't even know about the fn otherwise...

@jake-low What do you mean? Not providing help text should not affect finding the fn... I'll give it another go.

Ah, I see inspect.getdoc() cleans up a little in case we have long docstrings... should be fine how it is.


Permission system is totally broken.

closed

Did you figure it out?

Yeah they made edits to configuration and broke it


Add REPL info to the readme

As usually, documentation lags behind 😂

If you take what you have for the release info for 0.16.0, that should be more than enough for now 👍

it's here #191

@filipw Anything else you want to add before closing this?

nein


Regarding augmented data for the classification task

Hi Rana.
Does the training data include the augmented data generated for the classification task?I have a pretty small dataset to work on, and augmentated data would be really helpful.
I see that .npz files stored in ./train/cache folder. Are these files ever used?
Thanks.

Hi @amanjain1397 ,
Yes, the data is augmented. Each augmentation is saved as an .npz file, the number of augmentations per .obj is defined by the --num_aug flag (for example , you can set --num_aug 40).
I think I listed all the augmentation flags at this line in train_options.py.
--scale_verts non-uniformly scale the mesh (i.e., in x, y or z)
--slide_verts percentage of vertices which will be shifted along the mesh surface
--flip_edges percentage of edges to randomly flip
Also, if you have a way to generate re-meshing of the same object, it would also be a very good data-augmentation. I am looking for scripts to do that, if you have any please feel free to share :)

Thanks Rana.
Is the augmentated data used while training the model? Because I see the training mesh size always equal to train .objs files only.

Hi @amanjain1397 ,
Sorry I'm not sure I understood?
Let's go through the SHREC classification example from this github. First get the data and run training:
bash ./scripts/shrec/get_data.sh
bash ./scripts/shrec/train.sh

Notice that the flag --num_aug 20 . So look at the data in the alien class (datasets/shrec_16/alien/train), consider one mesh T133.obj . Now if you go into alien/train/cache, you should see 20x augmentations of it (being) saved during training:
T133_000.npz
T133_001.npz
...
T133_019.npz

This happens in mesh_prepare.py

Yeah I got this bit Rana.
I just want to confirm that whether the edge features of these augmented meshes are used for training the model or are they just exported as .npz files just for the sake of visualization?

Yes of course the  augmented data (.npz) are used for training.
Not sure what you mean by visualization of .npz files? But anyway, the only visualization script I provided (util/mesh_viewer.py) takes as input the .obj file. Of course, I only provided how to visualize the test .objs anyway, and by default I do not augment the test dataset.
Does this answer your question?

Right, I got it. Thanks.

Great, Thanks for letting me know :)
Marking this as closed


Invalid Version: undefined while running smooshpack client

I was trying a very simple example with smooshpack-client.
I am using parcel as the bundler and getting this error.
yarn start
yarn run v1.22.10
$ parcel index.html
Server running at http://localhost:1234
🚨  /Users/vipulbardwaj/Work/POCs/smooshpack-poc/smooshpack.js: Invalid Version: undefined
    at new SemVer (/Users/vipulbardwaj/Work/POCs/smooshpack-poc/node_modules/semver/semver.js:314:11)
    at compare (/Users/vipulbardwaj/Work/POCs/smooshpack-poc/node_modules/semver/semver.js:647:10)
    at lt (/Users/vipulbardwaj/Work/POCs/smooshpack-poc/node_modules/semver/semver.js:688:10)
    at /Users/vipulbardwaj/Work/POCs/smooshpack-poc/node_modules/@babel/preset-env/lib/index.js:280:22
    at Object.default (/Users/vipulbardwaj/Work/POCs/smooshpack-poc/node_modules/@babel/helper-plugin-utils/lib/index.js:22:12)
    at getEnvPlugins (/Users/vipulbardwaj/Work/POCs/smooshpack-poc/node_modules/parcel-bundler/src/transforms/babel/env.js:62:34)
    at getEnvConfig (/Users/vipulbardwaj/Work/POCs/smooshpack-poc/node_modules/parcel-bundler/src/transforms/babel/env.js:12:25)
    at async getBabelConfig (/Users/vipulbardwaj/Work/POCs/smooshpack-poc/node_modules/parcel-bundler/src/transforms/babel/config.js:32:19)
    at async babelTransform (/Users/vipulbardwaj/Work/POCs/smooshpack-poc/node_modules/parcel-bundler/src/transforms/babel/transform.js:6:16)
    at async JSAsset.pretransform (/Users/vipulbardwaj/Work/POCs/smooshpack-poc/node_modules/parcel-bundler/src/assets/JSAsset.js:83:5)

Project Code Below
index.html
<!DOCTYPE html>

    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Smooshpack POC</title>

Smooshpack experiment

smooshpack.js
import { Client } from 'smooshpack';

const version = "1.0.0";

const PACKAGE_JSON_CODE = JSON.stringify(
    {
      title: 'test',
      main: 'index.js',
      dependencies: {
        uuid: 'latest',
      },
    },
    null,
    2
  );

  // Give it either a selector or an iframe element as first argument, the second arguments are the files
  const client = new Client('#smooshpack-container', {
    files: {
      '/index.js': {
        code: `console.log(require('uuid'))`,
      },
      '/package.json': {
        code: PACKAGE_JSON_CODE,
      },
    },
  });

package.json
{
  "name": "smooshpack-poc",
  "version": "1.0.0",
  "main": "index.js",
  "license": "MIT",
  "scripts": {
    "start": "parcel index.html"
  },
  "dependencies": {
    "parcel-bundler": "^1.12.4",
    "smooshpack": "^1.0.0-beta-5"
  }
}

This is just an example from the README , not sure what I am doing wrong here

Yes, there's a mistake in our README, thanks for spotting it. the import is SandpackClient, not Client. However, your error looks related to semver, not sure if this fixes it, if you can share a codesandbox link with the example, I can take a closer look.
I managed to adapt your code with the SandpackClient import here: https://codesandbox.io/s/priceless-http-czwjf?file=/src/index.js
Also, just FYI, we're deprecating smooshpack in favor of a new name later today. The library code will be the same, just the package name will differ and the version


Strange, negative-slowdown SA replay can't be uploaded

th11_udAAAA.zip
Thanks to Nylilsa for the report.
This odd replay has a negative slowdown rate and is rejected by Silent Selene. Apparently this weird negative slowdown can be reproduced by holding Z while exiting the replay menu.
We should accept all replays, even weird ones like this!

Removing the try catch, it appears to be a decryption error, line 500 in replay_parsing
@32th-System


Linux, Sony DS4 uses digital triggers when analog input is available

guid: 030000004c050000c405000011010000
To fix, replace:
lefttrigger:b6,righttrigger:b7

with
lefttrigger:a3,righttrigger:a4

Why was this issue closed? The DS4 does have analog triggers.


bug: metamask not valid when I have tokenpocket in my browser.

Is there an existing issue for this?

[X] I have searched the existing issues

Package Version
0.10.15
Current Behavior
I have two plugin in my chrome browser:

metamask
tokenpocket

when I try to use meta mask with wagmi, it looks like this:

Expected Behavior
if I remove the tokenpocket plugin in my chrome, it works fine like this:

Steps To Reproduce

install metamask in your chrome
install tokenpocket in your chrome
open https://wagmi.sh/examples/connect-wallet
try to sign in with metamask

Link to Minimal Reproducible Example (CodeSandbox, StackBlitz, etc.)
No response
Anything else?
No

Unfortunately this is an issue with the state of window.ethereum and providers overriding each other. e.g. TokenPocket binds to window.ethereum so MetaMask is unable.

How can i fix this behaviour?

ф


Add Slack to default conference domains

Not an issue but as I can't seem to find where it's specified, could we add app.slack.com to the default "conference domains" list?
This would allow someone to just add the Slack huddle URL (obtained by clicking "copy huddle link" from any Slack channel) to a recurring calendar event for regularly scheduled Slack huddles without further modification.

@LinuxNtwrkng That's a great idea! You are correct that it's not currently part of the default conference URLs, however you can easily add it for your installed workflow in Alfred's Workflow Configuration screen. To get there, visit:
Alfred Preferences > Workflow > Open Conference URL > click the "Configure Workflow..." button

At any rate, yes, I will make a note to add app.slack.com to the default list. 🙂

I did add it to my own workflow already but I thought it might be a nice enhancement for future users of this very useful workflow.  Thank you!

@LinuxNtwrkng Okay, I've added support for Slack URLs in the latest v7.1.4-beta.1—can you please try it out? If it works well for you, I'll publish a stable release.
https://github.com/caleb531/open-conference-url/releases/tag/v7.1.4-beta.1

@caleb531 Just tested and worked fine for me.  Thanks!

@LinuxNtwrkng Fantastic, thank you for confirming! I have just released a stable v7.1.4 release with support for Slack conference URLs out of the box, now:
https://github.com/caleb531/open-conference-url/releases/tag/v7.1.4
Therefore, closing this thread as Completed. 🙂


Feature/add rpc generic throw exception

Motivation:
解决一个issue问题
https://github.com/sofastack/sofa-rpc/issues/1258
Modification:
增加一个-Drpc.generic.throw.exception=true启动参数，可以解决这个问题；不增加的话，保持之前的行为不变化
Result:
Fixes #.
If there is no issue then describe the changes introduced by this PR.

@rickey17 Some test case failed, please take a look.


Update rootiness for aliased datastores (#9312)

Update rootiness for aliased datastores,
Resolves a race condition where aliased datastores were not recognized as root datastores.

Relevant issue: #9286

Can you add in the description the PR from main from which this is ported.


Dynamic ion-select items not displaying correct bound value

Ionic version:  (check one with "x")
[ ] 1.x
[ ] 2.x
[x] 3.x
I'm submitting a ...  (check one with "x")
[x] bug report
[ ] feature request
[ ] support request => Please do not submit support requests here, use one of these channels: https://forum.ionicframework.com/ or http://ionicworldwide.herokuapp.com/
Current behavior:
I am adding different ion-select dynamically; nevertheless, when I change the value of one of them, the "displayed" value of the others are also updated for an unknown reason. The bound value is correct though.
Expected behavior:
The UI should reflect the values bound to each different select independently, not mixing with other select items of the page.
Steps to reproduce:
--> http://plnkr.co/edit/wPiUlBnQMaTklF4hTS6Q?p=preview
Go to the Plnkr, and click 4-5 times on the "Add an activity button" - Different ion-item containing an ion-select will be dynamically added. Then try to change the value of the first one, it will correctly update the bound value (which also displayed next the the "Activity [Index] - [Bound value] to double check that", but it will change the displayed value of the second line for no reason (the bound value displayed on the second line is still correct though). What is this really weird behaviour ?
Related code:
insert any relevant code here

Other information:

Ionic info: (run ionic info from a terminal/cmd prompt and paste output below):
insert the output from ionic info here

Hello, thanks for opening an issue with us. We will look into this.


What is the purpose of "dst" parameter in Get and HasGet?

Hi!
I'm having trouble wrapping up in my head, what is the purpose of having a dst parameter in the Get and HasGet methods.
As far as I can tell, the returned value is being prepended by the dst byte slice. But what is a use case for such a logic?
I was originally expecting this dst to be a destination buffer, where the value bytes would be written (not appended), whenever a match is found, thus saving on memory allocations, as the slice size won't change.
That's where I got confused.
I would appreciate any hint on how the dst is supposed to be used and maybe you a lready have plans to introduce a Get API with destination buffer parameters for cases when the (max) value size is known in advance.
Thanks!

dst is still a destination buffer and the value is written to it. There is a one minor thing: your dst buffer should have zero length, but non-zero capacity.
So, when this line will be invoked https://github.com/VictoriaMetrics/fastcache/blob/f25ad798ea2c00be6a00c06f3346c93684643e71/fastcache.go#L395 data will be written from the beginning of the slice (and only when dst capacity isn't enough there will be reallocation).
Hint: think about this common code:
dst := make([]int, 0, len(src))
for i := range src {
	dst = append(dst, src[i]) // no realloc for dst 'cause it's length is same as `src`
}

@cristaloleg thanks a lot! It makes perfect sense now!


Agents stop update managedcluster status when clock is out of sync. (…

…#770)

Summary
Related PR: https://github.com/open-cluster-management-io/ocm/pull/770

/retest


Support tokenfactory LP token shares in Astroport Liquidity Pooler

As of last week, Astroport has moved to using token factory to issue LP token shares. We will need to support both of these token types in the liquidity pooler.

Closed by https://github.com/timewave-computer/covenants/pull/313


python312Packages.sphinx-autoapi: 3.2.1 -> 3.3.1

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python312Packages.sphinx-autoapi is: Provides 'autodoc' style documentation
meta.homepage for python312Packages.sphinx-autoapi is: https://github.com/readthedocs/sphinx-autoapi
meta.changelog for python312Packages.sphinx-autoapi is: https://github.com/readthedocs/sphinx-autoapi/blob/v3.3.0/CHANGELOG.rst
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 3.3.0 with grep in /nix/store/4dran3wv9yc7vklbhwyqgglg2gjacgk5-python3.12-sphinx-autoapi-3.3.0
found 3.3.0 in filename of file in /nix/store/4dran3wv9yc7vklbhwyqgglg2gjacgk5-python3.12-sphinx-autoapi-3.3.0

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

15 total rebuild path(s)

15 package rebuild(s)

First fifty rebuilds by attrpath

dnf5
khard
lbdb
python311Packages.sphinx-autoapi
python311Packages.sphinx-hoverxref
python311Packages.sphinx-notfound-page
python311Packages.sphinx-version-warning
python312Packages.sphinx-autoapi
python312Packages.sphinx-hoverxref
python312Packages.sphinx-notfound-page
python312Packages.sphinx-version-warning
rocmPackages.rocm-docs-core
rocmPackages_5.rocm-docs-core
rocmPackages_6.rocm-docs-core

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/4dran3wv9yc7vklbhwyqgglg2gjacgk5-python3.12-sphinx-autoapi-3.3.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

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

Or:
nix build github:r-ryantm/nixpkgs/d54ad8126dadaf343a41ba0e3884e6d176d2e9e4#python312Packages.sphinx-autoapi

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/4dran3wv9yc7vklbhwyqgglg2gjacgk5-python3.12-sphinx-autoapi-3.3.0
ls -la /nix/store/4dran3wv9yc7vklbhwyqgglg2gjacgk5-python3.12-sphinx-autoapi-3.3.0/bin

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

31 packages built:

dnf5
dnf5.man
khard
khard.dist
lbdb
python311Packages.sphinx-autoapi
python311Packages.sphinx-autoapi.dist
python311Packages.sphinx-hoverxref
python311Packages.sphinx-hoverxref.dist
python311Packages.sphinx-hoverxref.doc
python311Packages.sphinx-notfound-page
python311Packages.sphinx-notfound-page.dist
python311Packages.sphinx-notfound-page.doc
python311Packages.sphinx-version-warning
python311Packages.sphinx-version-warning.dist
python311Packages.sphinx-version-warning.doc
python312Packages.sphinx-autoapi
python312Packages.sphinx-autoapi.dist
python312Packages.sphinx-hoverxref
python312Packages.sphinx-hoverxref.dist
python312Packages.sphinx-hoverxref.doc
python312Packages.sphinx-notfound-page
python312Packages.sphinx-notfound-page.dist
python312Packages.sphinx-notfound-page.doc
python312Packages.sphinx-version-warning
python312Packages.sphinx-version-warning.dist
python312Packages.sphinx-version-warning.doc
rocmPackages.rocm-docs-core
rocmPackages.rocm-docs-core.dist
rocmPackages_5.rocm-docs-core
rocmPackages_5.rocm-docs-core.dist

Maintainer pings
cc @karolchmist for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

Add a :+1: reaction to pull requests you find important.

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python312Packages.sphinx-autoapi is: Provides 'autodoc' style documentation
meta.homepage for python312Packages.sphinx-autoapi is: https://github.com/readthedocs/sphinx-autoapi
meta.changelog for python312Packages.sphinx-autoapi is: https://github.com/readthedocs/sphinx-autoapi/blob/v3.3.1/CHANGELOG.rst
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 3.3.1 with grep in /nix/store/6sfqc495cxqr24aa45z3xqr20qz4bajj-python3.12-sphinx-autoapi-3.3.1
found 3.3.1 in filename of file in /nix/store/6sfqc495cxqr24aa45z3xqr20qz4bajj-python3.12-sphinx-autoapi-3.3.1

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

15 total rebuild path(s)

15 package rebuild(s)

First fifty rebuilds by attrpath

dnf5
khard
lbdb
python311Packages.sphinx-autoapi
python311Packages.sphinx-hoverxref
python311Packages.sphinx-notfound-page
python311Packages.sphinx-version-warning
python312Packages.sphinx-autoapi
python312Packages.sphinx-hoverxref
python312Packages.sphinx-notfound-page
python312Packages.sphinx-version-warning
rocmPackages.rocm-docs-core
rocmPackages_5.rocm-docs-core
rocmPackages_6.rocm-docs-core

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/6sfqc495cxqr24aa45z3xqr20qz4bajj-python3.12-sphinx-autoapi-3.3.1 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

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

Or:
nix build github:r-ryantm/nixpkgs/372c3a0567966296c2e82288900f155f795500a9#python312Packages.sphinx-autoapi

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/6sfqc495cxqr24aa45z3xqr20qz4bajj-python3.12-sphinx-autoapi-3.3.1
ls -la /nix/store/6sfqc495cxqr24aa45z3xqr20qz4bajj-python3.12-sphinx-autoapi-3.3.1/bin

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

31 packages built:

dnf5
dnf5.man
khard
khard.dist
lbdb
python311Packages.sphinx-autoapi
python311Packages.sphinx-autoapi.dist
python311Packages.sphinx-hoverxref
python311Packages.sphinx-hoverxref.dist
python311Packages.sphinx-hoverxref.doc
python311Packages.sphinx-notfound-page
python311Packages.sphinx-notfound-page.dist
python311Packages.sphinx-notfound-page.doc
python311Packages.sphinx-version-warning
python311Packages.sphinx-version-warning.dist
python311Packages.sphinx-version-warning.doc
python312Packages.sphinx-autoapi
python312Packages.sphinx-autoapi.dist
python312Packages.sphinx-hoverxref
python312Packages.sphinx-hoverxref.dist
python312Packages.sphinx-hoverxref.doc
python312Packages.sphinx-notfound-page
python312Packages.sphinx-notfound-page.dist
python312Packages.sphinx-notfound-page.doc
python312Packages.sphinx-version-warning
python312Packages.sphinx-version-warning.dist
python312Packages.sphinx-version-warning.doc
rocmPackages.rocm-docs-core
rocmPackages.rocm-docs-core.dist
rocmPackages_5.rocm-docs-core
rocmPackages_5.rocm-docs-core.dist

Maintainer pings
cc @karolchmist for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

Add a :+1: reaction to pull requests you find important.


Isolate dependencies using devbox

Signed-off-by: Kemal Akkoyun<EMAIL_ADDRESS>From the users' perspective, this PR shouldn't change anything. If you want to use specified dependencies please consider installing the devbox and direnv (simply make init)
This brings the result of the experimentation for a new build pipeline from https://github.com/parca-dev/testdata/pull/27 to the agent.
At first, we will start by introducing the https://www.jetpack.io/devbox

Now, we use https://www.jetpack.io/devbox for managing external and tool dependencies, such as the Go toolchain or C compiler. This tool has been chosen because it has all the benefits of Nix, but we don't have to deal with all the intricacies of Nix. It also has an excellent integration with direnv to load the environment automatically when you enter the directory.

Moreover, this PR:

Changes the directory structure a little bit to reduce the number of top-level directories (I will introduce more) and group them.
It also vendors in the dependencies of libbpf as git submodules and compiles it. The same strategy as in https://github.com/parca-dev/parca-agent/pull/1602 (that PR will be deprecated). It is easier to manage than using some external tool. Especially when we want to cross-compile them. (Makefile changes)
Updates the GH actions to utilize the devbox.

Test Plan

See that CI is green.
(Locally) Just run the make targets as before.

I think the key to make this change great is to use devbox with Nix Flake. As using Nix Flake in parallel of Devbox as it is currently suggested in this PR is likely impossible. And using Devbox without Nix Flake lacks some elements of reproducibility. Used together, it should still be possible to use the user-friendly devbox commands as well as its JSON config for most operations, while getting the benefits of Nix Flake.

@maxbrunet Thank you so much for the review! You're awesome!
I should have clarified several points. Maybe you can give another round of review after this and maybe with some suggestions.
I want to use devbox as our strict dependencies for building the applications. I'd like to keep using devshell.nix for extended dev dependencies for tools like kubectl, etc. It is not necessarily needed to build the application, but maybe testing it locally.
I'm no Nix expert by all means (not even a user), so I might have missed some best practices. Feel free to guide me.
I will introduce another set of changes to eliminate all the custom bash scripts and makefiles using Mage, so in a sense, this PR is incomplete. I'll send PRs on top of this one. So please stay tuned.
I want a simple layered approach for the build pipeline, tooling, and CI/CD. It will be more verbose because we will be using Go. However, it will be more straightforward to understand.

I will address the concerns in subsequent PRs before everything gets merged into the main branch.


rustlib.so for apple M1?

hi there, just a query on whether there is a rustlib.so for apple m1. so far, I can run it up with SAM project.


feat: format CLI output with prettier

Description
This PR replaces my custom format file utility with prettier.
Additional context
I use this in the docs generator and was surprised that it was fast and worked really well (the existing function does not).
Before submitting the PR, please make sure you do the following:

[ ] Add your change under the Unreleased heading in the package's CHANGELOG.md
[ ] Read the Contributing Guidelines
[ ] Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. fixes #123)
[ ] Update docs in this repository for your change, if needed

Totally! that's the next step 🙂


Use template symbols for all TODOs.

Updates all TODOs in the template source with template symbols. With this, if you pass a setting for all of the template symbols when creating the project, you should be ready to go without having to manually update any TODOs.

Isn't project name/ string "Waypoint" automatically replaced by the dotnet new engine based on the name of the folder where the template is created?

Yes, good point, for some reason I missed that when I used the template. I made another commit removing the PROJECT_NAME parameter.

Thanks a lot ❤


Implement StableTopologicalSort

Closes #61.
CC @deitch, @williamfzc, @geoah

You put this together rather quickly, didn't you? 😄

You put this together rather quickly, didn't you? 😄

Absolutely! 😀

Quite frankly, I'm not aware of all the use cases and end-user requirements of the topological sort.

In my case, I do not care about the stable sort part 🤣 . Unstability is OK.
But I do care about which nodes belong to which layer (#125).
Something like:
layers := TopologicalSortWithLayer()

// layers[0]
// []int{1, 2, 3, 4, 5, 6}

// layers[1]
// []int{10, 20, 30, 40, 50, 60}

Thanks again @dominikbraun ; really nicely done. I will pull it into projects as soon as 0.22.0 is cut (I saw you did the prep commit)


Sticky header in series and spotlight

I guess in series we are missing ability to what's col name when scrolling 📜 down.
Could be potentially added to series as well for smaller screens

On it!


github is not updating with leethub

Please review previous closed issues before filling out a new one! Duplicate issues will be closed without comment.
Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.

github isn't updating with leethub