no initial packages were loaded

hello:
when i used GoGuru .The following is an error message
open x:\xxx|xxx|xxx: The system cannot find the path specified.
guru: no initial packages were loaded
what should i do
thanks.

come accross the same problem; which tells ;
open /git/tokencontrol/src/provider/wx: no such file or directory
guru: no initial packages were loaded
but /git/tokencontrol/src/provider/wx should be /home/test/git/tokencontrol/src/provider/wx
why guru try to open the wrong directory;
when I try to ln -s /home/test/git /git;
it seems open file success, but more error comes; guru doesn't get the correct GOPATH enivironment value ( which is different from what I set, missing some directorys"

I finally make it work
but some problem found:
1.goguru_use_current_package doesn't work in configure file, it is always Ture in guru debug log;
2. plugin can't correctly deal $GOPATH.
in the debug log, the GOPATH is change from the $GOPATH to  $GOPATH/src;  so when the GOPATH in ENV has ":"  then it will not work any more;
3. to solve 2, I can only set the
"goguru_env": {"GOPATH":"path to my own project"},
4. set
"goguru_scope": ["my main package"],
5. config in ".sublime-project" dosn't work;

I get this when I use GoGuru on a standard library package. It infers 'local_package' = '../../src/go/src/net/http', which results in
open /Users/anacrolix/gopath/src/github.com/anacrolix/torrent/src/go/src/net/http: no such file or directory
guru: couldn't load packages due to errors: ../../src/go/src/net/http


VideoCLIP lightning module

Summary:
Add pytorch lightning module for videoCLIP evaluation.
Note -- recall metrics will be added in a different PR.
Test plan:
First, made a mini dataset from MUGEN's test dataset.
Test/example in notebook

Codecov Report

Merging #156 (88061e8) into main (e274207) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #156   +/-   ##
=======================================
  Coverage   92.18%   92.18%
=======================================
  Files          45       45
  Lines        2778     2778
=======================================
  Hits         2561     2561
  Misses        217      217

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 e274207...88061e8. Read the comment docs.


Query

How am i suppose to skip the current playing track when there is no queue ?? i mean i can use .seek(track.duration) but is there any better way to do it ??

If there are no tracks in queue, and then call skip nothing it throws error because you shouldn't skip that.
U have the options to:
Delete the player on lavalink, without disconnecting from the channel
Or delete the player on lavalink, with disconnecting
Or stop playing, for that i forgot to add the method player.stop() which just does player.play({ encodedTrack: null})

In that image you can see that player.play({ encodedTrack: null }) is technically just telling lavalink server "stop the track". which then executes trackend (and the wrapper internally autoSkip's to the next track), if there is no next track -> queue will end.
If you really need to "stop" the player after the last track without destroying nor deleting the player. Think about it..

player.play({ track: LavalinkTrack, position: numberInMs })
startTime is wrong variable, it's called "position" to probably cover how lavalink names things... (startTime was erela.js thing, position is lavalink thing)
you should see it in intellisense...
you can use track to define which track, but you don't need to, if the track is in player.queue.tracks[0]

this feature got disabled intentionally for multi-node automation and support.
as if you search on a different node which is not the player node you cannot play the tracks.
However you can do node.search() aka manager.nodeManager.nodes.get("ID").search({ query: string, source: string }, requester);

Thats a very specific usecase
U can adjust the player.queue.previous and then execute await player.queue.utils.save()
Its not ment to only. Hold unique tracks as thats then not a real previous handler

Please ask that in lavalink not in a client which just sends requests to lavalink.


Create Database Directory for SQLite

When using a SQLite database connect URL that references a non-existing directory (e.g., if a user follows the instructions for the flowServ app) an error is raised by flowserv init. As a work-around we could check in the database connector if the connect URL references a SQLLite database and ensure that the file directory exists.

Closed by commit 5b212cf5ef0a08b4e98ea7b2998490df0f145ffc


Save client data

As a relatively new user, I can save my clients data so that the data will not be lost after I close the application

Feature already exists.


How Does The Code Look Like In IAP Unity - How to set it up correctly

Hi,
Need help please.
I have try integrated the open iab in my game with unity engine. But i don't find any tutorial that explain more clearly. I find the tutorial at youtube here : open iab tutorial But it is not in english. I don't understand what he say.
Could someone take a look with my code if i have set it correclty ?
Below is my link sample code :
My Sample Code
Link above expired in 14 days. I will update if still not answer.
My Question
Here below is correct or not ?
`
   const string SKU1 = "com.Idea2Infinity.moonshardislandlife";

const string SKU2 = "com.Idea2Infinity.moonshardislandlife";

const string SKU3 = "com.Idea2Infinity.moonshardislandlife";

const string SKU4 = "com.Idea2Infinity.moonshardislandlife";

const string SKU5 = "com.Idea2Infinity.moonshardislandlife";

const string SKU6 = "com.Idea2Infinity.moonshardislandlife";

`
Here below is correct or not ?
`
           OpenIAB.mapSku(SKU1, OpenIAB_Android.STORE_GOOGLE, "pack1gt");

	OpenIAB.mapSku(SKU2, OpenIAB_Android.STORE_GOOGLE, "pack2gt");

	OpenIAB.mapSku(SKU3, OpenIAB_Android.STORE_GOOGLE, "pack3gt");

	OpenIAB.mapSku(SKU4, OpenIAB_Android.STORE_GOOGLE, "estateagenbundle");

	OpenIAB.mapSku(SKU5, OpenIAB_Android.STORE_GOOGLE, "landlordbundle");

	OpenIAB.mapSku(SKU6, OpenIAB_Android.STORE_GOOGLE, "miraclebundle");

`
Here below is correct or not ?
`
    public void pack1gt() {
	OpenIAB.purchaseProduct(SKU1);
}

public void pack2gt() {
	OpenIAB.purchaseProduct(SKU2);
}

`
Here how to recognize each product when success ?
`
    private void purchaseSucceededEvent(Purchase purchase)
{
	Debug.Log("purchaseSucceededEvent: " + purchase);
	Debug.Log ("purchasesuccess: " + purchase.AppstoreName);
	Debug.Log ("purchasesuccess: " + purchase.Sku);
	_label = _label + "\n" + "PURCHASED:" + purchase.ToString();
	OpenIAB.consumeProduct(purchase);
	Debug.Log (_label);
	if (purchase.Sku == "pack1gt") {
		sp.pack1gt ();
	} else if (purchase.Sku == "pack2gt") {
		sp.pack2gt ();
	} else if (purchase.Sku == "pack3gt") {
		sp.pack3gt ();
	} else if (purchase.Sku == "estateagenbundle") {
		sp.EstateAgentBundle ();
	} else if (purchase.Sku == "landlordbundle") {
		sp.LandLordBundle ();
	} else if (purchase.Sku == "miraclebundle") {
		sp.MiracleBundle ();
	}

}

`
Thank Very Much
Dennis

I found the solution my self. I posted it at stackoverflow. Here : The Solution Here


AWS servers pricing not clear

On this page it says "For every AWS machine connected to Azure, the Defender for Servers plan is billed at the same price as the Microsoft Defender for Servers plan for Azure machines."
Does that mean every discovered AWS EC2 instance is billed? Or does it mean it needs to be connected to Arc?

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

ID: f48f68b8-f15e-d900-8e61-6aadec8aeecd
Version Independent ID: d4a1522c-2764-83aa-006c-0cdb00951e63
Content: Connect your AWS account to Microsoft Defender for Cloud
Content Source: articles/defender-for-cloud/quickstart-onboard-aws.md
Service: defender-for-cloud
GitHub Login: @dcurwin
Microsoft Alias: dacurwin

@kev654321
Thanks for your feedback! We will investigate and update as appropriate.

#reassign:dcurwin

@kev654321  - All pricing information is on the pricing page:
https://azure.microsoft.com/en-us/pricing/details/defender-for-cloud
If you have further questions regarding pricing, please use the contact information on that page.

#please-close


Remove 32 bit native library build for solaris

32 bit JVM is not supported on solaris since May, 2015.
I have to file this PR to remove the 32 bit native build for it.
Sorry for the inconvenience.
Thanks for hlep.

@chirino
Since the snapshot build is clean now, I published the solaris released solaris artifacts to the central as a 1.8.1 build as follow.
(32 bit solaris native lib is deprecated)
com.oracle.leveldbjni
leveldbjni-sunos64-sparcv9
1.8.1
com.oracle.leveldbjni
leveldbjni-sunos64-sparcv9
1.8.1
Can you help spin a new release for leveldbjni and aggregate the solaris bits in the new -all bundle?
Thanks for help.

@chirino
Any updats on it?
How does a 1.8.1 release sounds to you?
Thanks

+1 anyway we can have this looked into in the short term?
Happy to help where possible.

Thanks for the PR sorry for the delay.

Thanks Claus, I'm glad this project's still being maintained.

yeah would be good if @chirino could do a new release?

Yes that would help us out a lot with our CI.

Hi all,
I'd like to use the leveldbjni of the sunos.
But without the 1.8.1 release version of the parent pom 'leveldbjni', the following artifact cannot be used.
com.oracle.leveldbjni
leveldbjni-sunos64-sparcv9
1.8.1
Can anyone help to release the 1.8.1 version to the Maven central repository.

@chirino wonder if you can help cut a release?


Fix post-install brew cask check

The brew cask --version command is deprecated in favour of brew --version and the output is now in lower case. I've adapted to check to reflect this.

Thanks!


Show the Map of Gpstracker3 username only

Dear sir,
How to show the map of GpsTracker3 only and avoid dropdown Selecter?
Please help me
Thank you.

please help me

GpsTracker uses Leaflet for map display.  You can experiment with showing a Leaflet map in your web page, then you will have to write some PHP (similar to GpsTracker's getrouteformap.php) to get locations based on a userid.

In the DropDown Box if we click on the GpsTracker3 , The Map shows GpsTracker3 Location only. So i think it open on a link. Can we find the link?

??

Please help me, I am getting confused

I thought I was helping.  What is your level of experience with:

JavaScript?
PHP?
web servers?
databases?
web mapping?

php

PHP is a good start, but you need to know JavaScript.  Find a good online tutorial for Javascript.

ok

hello sir,
In getroutes.php
I have edit this but not working
prepare('CALL prcGetRoutes(:userName);');
            break;
        case DB_POSTGRESQL:
        case DB_SQLITE3:
            $stmt = $pdo->prepare('select * from v_GetRoutes;');
            break;
    }
    $stmt->execute(array(':userName' => momo));
    $json = '{ "routes": [';
    foreach ($stmt as $row) {
        $json .= $row['json'];
        $json .= ',';
    }

    $json = rtrim($json, ",");
    $json .= '] }';
    header('Content-Type: application/json');
    echo $json;
?>
but not working

`<?php
include 'dbconnect.php';
switch ($dbType) {
    case DB_MYSQL:
        $stmt = $pdo->prepare('CALL prcGetRoutes(:userName);');
        break;
    case DB_POSTGRESQL:
    case DB_SQLITE3:
        $stmt = $pdo->prepare('select * from v_GetRoutes;');
        break;
}
$stmt->execute(array(':userName' => momo));
$json = '{ "routes": [';
foreach ($stmt as $row) {
    $json .= $row['json'];
    $json .= ',';
}

$json = rtrim($json, ",");
$json .= '] }';
header('Content-Type: application/json');
echo $json;

?>`

I think we can get one selected User on DropDown ??

I'm not sure I understand.  The drop down has sessions/routs for a user.  If you want to change that you will have to edit the JavaScript, the PHP, and possibly the database functions.

And this staement is a problem:
$stmt->execute(array(':userName' => momo));
if momo is supposed to be a variable name it is not defined.  If it is a value (string) is is not quoted.


Use ActiveRecord serialize for a model to cover an entire json column

Closes #45

So, if you assign something that can not be cast, you will get an exception raised only the next time you try to access it and/or persist it, not immediately.
This differs from normal use of AR serialize. but it's tricky to fix in a performant way. Thinking about it. Needs tests one way or the other.


[Dev][Signup] Implement Signup page

Implement Signup page, that should be open when the Join button in the navbar is clicked

Closed with PR #544


buildErrors; pass the correct variable as data is not defined

Priority
High
What Changed & Why
The wrong value was passed to the buildError functions. Therefore the real errors where never returned.

Thanks for catching this 🙏


Dropdown Menu: Allow disabling autofocus of the Trigger based on the event

Feature request
Overview
Allow disabling the autofocus of the Dropdown Menu Trigger on menu close, based on the event.
I want to prevent autofocus of the Trigger in cases the menu is closed by a mouse event, but cannot do that cause the event argument in the onCloseAutoFocus is a CustomEvent which does not points to the original event.
Autofocus of the Trigger is great only when the menu is closed by a keyboard event.
Examples in other libraries
I haven't used similar libraries, but can give you an example of web apps where this behavior is implemented:

Gmail & Google top right buttons: avatar & apps. They all get focus when the popup is closed by Esc, but they do not gain focus when the popup is closed by clicking outside.
Facebook top right buttons: avatar & notifications.
Reddit top right buttons: avatar

Who does this impact? Who is this for?
Users that use only a mouse.
Additional context

As a workaround i use the following onInteractOutside handler:
onInteractOutside={(event) => {
  const originalEvent = event.detail.originalEvent as PointerEvent;
  if (originalEvent.button === 0) {
    Object.defineProperty(event.detail.originalEvent, "ctrlKey", {
      value: true,
    });
  }
}}

Gmail & Google top right buttons: avatar & apps. They all get focus when the popup is closed by Esc, but they do not gain focus when the popup is closed by clicking outside.

This is true for non-modal layers and our primitives work the same way when modal={false} is passed, ie. if you click outside to dismiss we don't autofocus in this case, and let the natural focus behaviour happen.


Upgrade az to the new sdk/resourcemanager

Implements the new command-line interface authentication mode required for #680 to work out of the box. Changes were performed following the official migration guide, more or less.


Can we use django framework web app and API in AWS Amplify ?

How to deploy django web app in AWS amplify ?

Hi @etechdreams,
An option would be to deploy using the Serverless Container functionality with the Amplify CLI - https://docs.amplify.aws/cli/usage/containers
I wrote up an example with FastAPI (below) , but a similar approach can be taken with Django and a docker-compose to link other services if needed:
https://dev.to/siegerts/deploying-a-fastapi-backend-using-aws-amplify-container-based-rest-apis-2f6i
Hope that helps!


Tests

We need tests.

It would be worth the effort to build somethign that would mock that hdf5 files that we will be reading in. It might be a little tedious but should be fine. Building an integrated test environment would be the way to go at the moment especially considering that if we use stuff like MagicMock in unittest we would have to update all the tests like I've just done. Something to keep in mind.
Additionally I think we should also have a mini run built into building the final catalogues that will run it on two sub-volumes, check that everything is running and then do the full volume. The last thing we want is to have our 1024 volumes read in, processed, and then crash at the end because of a typo in a dictionary somewhere.


dotnet-isolated: a dependency item is written to AI on each function invocation even though enableDependencyTrackingTelemetryModule is false

I have a dotnet-isolated function with AI logging added via:
            .ConfigureServices(s =>
            {
                s.AddApplicationInsightsTelemetryWorkerService();
                s.ConfigureFunctionsApplicationInsights();
            })

in appsettings.json i have this:
    "applicationInsights": {
        "enableDependencyTrackingTelemetryModule": false
    },

On each function invocation i get this item in ApplicationInsights:

This is really annoying since this function is a EventHubsTrigger which gets called really-really frequently. So we get lots of unnecessary data in AI that we have to pay for. Any idea how to disable these?

I found that some people reported similar behavior in the past (with type of 'Azure.Functions' instead of 'InProc' which could be because of worker version), e.g.: https://github.com/Azure/azure-functions-dotnet-worker/issues/1304#issuecomment-1416077143. I was not able to find a work around though

enableDependencyTrackingTelemetryModule is for AppInsights DependencyTackingTelemetryModule. It has nothing to do with our own telemetry module. If you do not want these telemetry items you can add an ITelemetryProcessor and filter out our DependencyTelemetry (you can test by the existence of the property faas.execution).
At the time we have no plans for adding a specific setting to configure this behavior directly.

@jviau Thanks for explanation. This makes sense, though i would say little bit of configurability/documentation around this behavior would not hurt :). But it is what it is. Thanks


Questions of the loss weight reg

Hi, thank you for the great work. We ran into a small problem. The model always generated sketches with more than 300 strokes. We hope to get sketches with fewer but longer strokes. In the Figure 13 of the main paper, the length of the strokes is highly correlated to the loss weight of reg. But we find only weight 0.1 is released in your trained model. Could you please share models with a larger weight(e.g. 1.0)? Or other solutions to get strokes as long as possible? Many thanks!

Hi, the trained weight with regularization weight 1.0 is uploaded to https://drive.google.com/drive/folders/1-hi2cl8joZ6oMOp4yvk_hObJGAK6ELHB?usp=sharing.


Wild Cats

Name: William Becerra
Name of Team: Wild Cats
Student Number: 789 146
University: Wits University
Location: Johannesburg South Africa
Target Sector: FinTech

Readme.txt


mobile: Add support for recent_conversations API.

This adds experimental support in /register for sending key
statistical data on the last 1000 private messages that the user is a
participant in.  Because it's experimental, we require developers to
request it explicitly in production.
We expect this to be extremely helpful in initializing the mobile app
user experience for showing recent private message conversations.
See the code comments, but this has been heavily optimized to do all
the filtering work at the database layer so that we minimize network
transit with the database.
This has decent coverage from test_events, but  still needs unit tests
for the actual output format before merging.
Fixes #11944.

@showell if you have time to do a bit of cleanup on this (whether adding tests or refactoring away some of the code duplication), that'd be helpful, as I'd like to make this available to the mobile team soon but probably will be busy with other things for the next few days.
(I think there's also a secondary project of changing the "private messages" widget in the webapp to take advantage of these data, which we should totally do and you'd be well-positioned for, which is part of why I want you reading this code).

Merged after fixing the above.


Search function always pending, restart VSCode may solve the problem

VSCode Version: Code 1.15.1 (41abd21afdf7424c89319ee7cb0445cc6f376959, 2017-08-16T17:15:57.756Z)
OS Version: Darwin x64 15.6.0
Extensions:

Extension
Author (truncated)
Version

vscode-todo
Mat
0.8.0

html-css-class-completion
Zig
1.8.1

vscode-eclipse-keybindings
alp
0.9.6

git-easy
bib
1.9.1

githistory
don
0.2.3

jquerysnippets
don
0.0.1

vscode-html-css
ecm
0.1.8

git-project-manager
fel
1.3.2

vue-snippets
hol
0.1.2

search-node-modules
jas
1.1.1

vue
liu
0.1.5

vscode-scss
mrm
0.6.2

vetur
oct
0.9.4

vscode-icons
rob
7.12.0

vue
sea
0.4.2

templex
sle
0.1.1

Steps to Reproduce:

Click the Search button or Shift+Command+F
Input some some keywords
Click Enter to do search
Pending....
Restart VSCode may solve the problem ,but some time later, it gets pending again

Reproduces without extensions: No

Can you check whether there is a process named rg running when the search is pending? Or check for errors in the developer tools console?

I have uninstalled all plugins and everything sames all right now! @roblourens Thank you! So I can't recheck! Sorry!

Hm, glad it works at least!


remove react-native 0.25 deprecations

Yes please!
Gives annoying warning with latest version of react native without this fix.

@niftylettuce

I just published to NPM version 0.1.0, please try it out @sibeliusseraphini @SorenBerg @ivpusic -- sorry I had notifications sent to my spam folder by accident.  Would have seen this sooner!


[New game]: Dinosaur Game

🎮 Game Request
Game logic and basic description
Basic google chrome dinosaur game made using HTML, CSS and Javascript.
Point down the features
Game points
Each time dinosaur doges an obstacle, a point is scored.
Select program in which you are contributing
GSSoC23
Code of Conduct

[X] I follow CONTRIBUTING GUIDELINE of this project.

Hey @singh-anushka  ! It is really interesting but we want to hear more…..
Can you elaborate the features 🤔!
We are looking forward have your valuable contribution in GameZone 🎮

@kunjgit I updated the issue, now please add the GSSOC23 label. And can I start working on the same?


Migrate actions logic to a Python package

There are now several actions that have dependences and extensive python code as multiline literals in a workflow file. These can't be tested, and won't be properly covered by dependabot etc for their dependencies.
Can we please get these into a repo, built into a proper package and distributed via pip correctly? Something like ansys.actions.scripts or similar?

Thanks for raising this discussion, @da1910. I think this is a great approach. In addition, I would like to keep such package in this same repository.
This would also allow us to take advantage of tools like semver to solve old issues like #217.


Problem: Unable to understand the difference between examples

I am researching for an isomorphic solution for my next web app and rendr fits 100% on our use case.
But while looking to the examples isn't clear what are they trying to accomplish since it all seems the same project.
Would be nice to have something on the project readme,

+1

+1

Hi guys, I'm working with Alex Indigo on updating the RequireJS example.  I'll also update the documentation/readme so at least that example is nicer.  :smile:

Nice @crwang! In the upcoming month I also hope to have time to publish a sample project that can be used a bootstrap. I have been using it on my project, just need to cleanup some things.


Reverse generation order

The descendants look ups are done in ascending generation orders, is there an easy way to make them return in reverse generation order?
Basically, in my use case, I need to get the lowest level nodes in the tree, then a level up, ... and finally the root. I guess another way is to use .find_all_by_generation by looping through the levels. Is there a way to quickly determine the total depth of a tree?

I think I can reverse the generation order in memory self_and_descendants.reverse, but is it possible to sort it in database?

to find the max depth of the tree, take a look here.
To reverse the generation order, you'll want to append "desc" to the ORDER BY created by _ct_sum_order_by.


[WebRTC] UDP Peer connection issue with non-chromium browsers when client is connect to VPN

Which version are you using?
v1.8.3
Which operating system are you using?

[ ] Linux amd64 standard
[ ] Linux amd64 Docker
[ ] Linux arm64 standard
[x] Linux arm64 Docker
[ ] Linux arm7 standard
[ ] Linux arm7 Docker
[ ] Linux arm6 standard
[ ] Linux arm6 Docker
[ ] Windows amd64 standard
[ ] Windows amd64 Docker (WSL backend)
[ ] macOS amd64 standard
[ ] macOS amd64 Docker
[ ] Other (please describe)

Describe the issue
This issue affects WebRTC clients using Safari (iOS/macOS) and WebKit-based browsers like Chrome on iOS.
WebRTC works as intended in these browsers when NOT connected to a VPN. However, the peer connection fails when the client device is connected to a VPN.
Chromium-based browsers such as Arc, Brave, Chrome, and Opera are not affected by this issue and continue to work with and without the VPN on the same device without any issues.
Firefox is inconsistent when a VPN is enabled. It usually works after reloading the page. Unlike Chromium-based browsers, WebRTC in Firefox only works when using the server's IP address and does not work with loopback addresses like <IP_ADDRESS> or localhost when connected to a VPN, although these addresses work when not connected to the VPN.
Setting webrtcLocalTCPAddress resolves the issue for WebKit (issues with firefox remain unchanged), which leads me to believe it's some kind of UDP peer issue in WebKit.
Describe how to replicate the issue

Start a path in MediaMTX:

docker run --rm -it \
  -e MTX_PATHS_TEST_RUNONINIT="ffmpeg -loglevel error -re -f lavfi -i color=c=blue:s=640x480:r=5 -c:v libx264 -g 1 -f rtsp rtsp://<IP_ADDRESS>:8554/test" \
  -e MTX_WEBRTCADDITIONALHOSTS=<IP_ADDRESS> \
  -p 8189:8189/udp -p 8889:8889 bluenviron/mediamtx:1.8.3-ffmpeg

Confirm WebRTC streams work in a WebKit-based browser and Chromium-based browser
Connect to a VPN like <IP_ADDRESS> warp or windscribe.
Attempt to open the WebRTC stream in a WebKit-based browser and Chromium-based browser

Did you attach the server logs?
DEB [WebRTC] [session 7d5b5c17] peer connection state: closed
INF [WebRTC] [session 7d5b5c17] closed: deadline exceeded while waiting connection

Did you attach a network dump?
no

Looks the same issue as: https://github.com/bluenviron/mediamtx/issues/3525 ?

Hello, it's impossible to replicate the issue or to assert what the problem is without a server log, with logLevel set to debug, that shows IPs of incoming clients and content of the SDP sent from the server, that contains the list of IPs and protocols.
In order for WebRTC to work, TCP port 8889 and UDP port 8189 must be visibile from clients. Furthermore, server has to advertise its external IP address through webrtcAdditionalHosts. If UDP cannot be used or you prefer to use a STUN server, instructions are in the README:
https://github.com/bluenviron/mediamtx?tab=readme-ov-file#solving-webrtc-connectivity-issues
If you still have problems, open another bug report and provide required data.


Update PR with review comments

Summary
This PR addresses #27

Updated openhands_resolver/resolve_issues.py with flag --issue-type pr
Recreates PR locally based on PR identity (number and repo name)
Downloads contextual information

original linked issues the PR would close
review comments

merges comment threads into singular string
all unresolved comments are passed (together) as the problem statement into custom prompt openhands_resolver/prompts/resolve/basic-followup.jinja
same workflow as before is maintained for codebase modifications
output.jsonl indicates if all comments were resolved successfully; success indicator were not implemented on a per comment basis

Note: version bumping was not performed on this PR as described in .openhands_instructions
Future work to be done

Currently all the unresolved comments are passed at once for a given PR. Possibly process unresolved comment separately? This may lead to following issues -
a.  Should every resolved comment open a new PR request, or update the current one?
b. What happens when 3/5 comments are resolved? How can the user specify which code changes to push on a per comment basis?
c. How are comment dependencies handled? For instance, if two comments address the same part of the codebase, handling them separately may create merge conflicts. Do we expect the user to perform incremental commenting to mitigate this?

Feedback has been addressed!
Summary of changes

Prevent issue_type from being null
Follow best practice when ordering function parameters
Split large test cases into multiple
Added success indicator per review comment with explanation (initially all comments were evaluated together, but changed this to be one evaluation per comment -> see commit #13 description for reasoning)
Updated  output.jsonl (openhands_resolver/resolver_output.py) to contain issue-type and success indicator per comment

Considerations

I haven't implemented updating of the PR in openhands_resolver/send_pull_request.py after openhands resolves comments. I imagine this should be implemented in a separate PR given this one is quite long?
The success checklist (reference attached below) is logged inside process_issue in openhands_resolver/resolve_issue.py; should this be moved to openhands_resolver/visualize_resolver_output.py instead?

Success checklist reference:
I have updated the PR and resolved some of the issues that were cited in the pull request review. Specifically, I identified the following revision requests, and all the ones that I think I successfully resolved are checked off. All the unchecked ones I was not able to resolve, so manual intervention may be required:

- [ ] ...
- [X] ...
- [ ] ...
- [X] ...
- [X] ...


Python binding gives error

conversion is fine running the below
from bert_cpp import BertModel
mod = BertModel('models/bge-base-en-v1.5-f16.gguf')
batch = ["Hello, how are you"]
emb = mod.embed(batch)

throws
---------------------------------------------------------------------------
FileNotFoundError                         Traceback (most recent call last)
[<ipython-input-23-145b8ed4c48e>](https://localhost:8080/#) in <cell line: 1>()
----> 1 from bert_cpp import BertModel
      2 mod = BertModel('models/bge-base-en-v1.5-f16.gguf')
      3 batch = ["Hello, how are you"]
      4 emb = mod.embed(batch)

3 frames
[/content/bert.cpp/bert_cpp/utils.py](https://localhost:8080/#) in load_shared_library(lib_base_name)
     58                 raise RuntimeError(f'Failed to load shared library "{lib_path}": {e}')
     59
---> 60     raise FileNotFoundError(
     61         f'Shared library with base name "{lib_base_name}" not found'
     62     )

FileNotFoundError: Shared library with base name "bert" not found

I know I am missing something basic, pl advice.

Manually setting the below fixes the issue.
os.environ['BERT_CPP_LIB'] = '/content/rourke/build/src/libbert.so'


Refactor DataTable to pinot-common

Refactor DataTable and corresponding interfaces/implementations from pinot-core to pinot-common

Codecov Report

Merging #9503 (86c6267) into master (03b9d4a) will decrease coverage by 6.24%.
The diff coverage is 74.54%.

@@             Coverage Diff              @@
##             master    #9503      +/-   ##
============================================
- Coverage     69.98%   63.74%   -6.25%
+ Complexity     4869     4848      -21
============================================
  Files          1921     1871      -50
  Lines        102356   100096    -2260
  Branches      15532    15272     -260
============================================
- Hits          71636    63805    -7831
- Misses        25658    31603    +5945
+ Partials       5062     4688     -374

Flag
Coverage Δ

integration1
?

integration2
?

unittests1
67.30% <74.54%> (-0.02%)
:arrow_down:

unittests2
15.58% <0.00%> (-0.01%)
:arrow_down:

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

Impacted Files
Coverage Δ

...thandler/SingleConnectionBrokerRequestHandler.java
18.18% <ø> (-70.13%)
:arrow_down:

...ache/pinot/common/datablock/ColumnarDataBlock.java
58.62% <ø> (ø)

.../apache/pinot/common/datablock/DataBlockUtils.java
66.66% <ø> (ø)

...g/apache/pinot/common/datablock/MetadataBlock.java
63.63% <ø> (ø)

...rg/apache/pinot/common/datablock/RowDataBlock.java
65.21% <ø> (ø)

...g/apache/pinot/common/datatable/BaseDataTable.java
78.94% <0.00%> (ø)

...a/org/apache/pinot/common/datatable/DataTable.java
92.06% <ø> (ø)

...apache/pinot/common/datatable/DataTableImplV3.java
91.76% <ø> (ø)

...apache/pinot/common/datatable/DataTableImplV4.java
71.42% <ø> (ø)

...ache/pinot/common/request/context/ThreadTimer.java
92.30% <ø> (ø)

... and 517 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Mandrill templates

Added support to send mails through Mandrill using a template
https://mandrillapp.com/api/docs/messages.JSON.html#method=send-template
Very nice gem btw!!

Hi @genaromadrid Thanks for the PR.  However, in it's current form this PR isn't merge-able.
Here are a few suggestions.  First thing is that the gem maintainer decides when to bump the version of the gem.  So, I would recommend closing this PR and starting over.   Then only add the files that are actually needed to get the desired functionality for templates.  No .editorconfig, no .rspec, no .ruby-version, no .ruby-gemset, no version changes, and the travis build should be passing with good tests for the new feature.  Once you have the commits clean (no merge commits in your PR - rebase to a clean list of commits on the last master in this repo), well organized and travis is passing, then open a new pull request.
Having said that, I haven't used Mandrill's template featurel, so am not really qualified to comment on the functionality, but I'm happy to review the ruby code for a new PR.  Thanks!

@spovich sorry, i din't saw that travis was breaking. I'll do the changes and create the PR!!
Thanks


Fix github scripts

Update from github gitignore
Fix EOF instead of just informing the problem
Invert moban and whitespace scripts
Update README so contributors won't bump into checker failures

Just a heads up, this Pull Request reverted #355, was it intentional?

If I understand the description correctly this PR pulls the changes from the upstream github/gitignore repository. The changes to CMake.gitignore were introduced incorrectly, they should have been done in a patch, so as not to be overwritten by the sync
https://github.com/toptal/gitignore#files
https://github.com/github/gitignore/blob/main/CMake.gitignore
Please, feel free to create a PR with a CMake.patch and changes you might find necessary, we'll review and merge it :)


Breaking WOTLK version

"Remove support for minimap, objectives, bags, arena"
Why did you do that for WOTLK version???? Are you kidding?
WHY are you making updates for retail which breaking the wotlk version? It's so dumb! Don't touch it please, just don't!

Yeah not too sure in the logic behind this latest update, sticking with v1.2.0 is likely the best bet at this point.

Good point. I was going for consistency, but considering the games are different, it makes sense to leave in the existing functionality for classic and Wrath classic. I will add those frames back.

I restored minimap, objectives, bags functionality in v2.1.0. The ArenaFrame was retail only, so v2.1.0 will have all the previous functionality plus a couple bug fixes.


fix multiple args for ref and source

resolves #5634
Description
fix for multi level source/ref
Checklist

[x] I have read the contributing guide and understand what's expected of me
[x] I have signed the CLA
[x] I have run this code in development and it appears to resolve the stated issue
[ ] This PR includes tests, or tests are not required/relevant for this PR
[x] I have opened an issue to add/update docs, or docs changes are not required/relevant for this PR
[ ] I have run changie new to create a changelog entry

TODO: add a test


DCOS-39906: Add package version information to Service Table

Testing
Verify that Version information is displayed on Services Table

Trade-offs

After talking to packaging team I decided to display the given version string as is, there is no way for us to parse the string and we dont want to display "wrong" information.
Example: 2.0.3-4.0.0e-rc3

2.0.3 refers to the package version
4.0.0e is base tec version
rc3 is package version again…

cc @lilysamimi @AmrAbdelrazik

Also I had to fix the first Commit from last PR, we do not only want to display Package vErsions for frameworks, but also the regular version string for marathon services. Luckily we're on a feature branch here, so I will rebase it after this PR got merged 👍

Dependencies

There was a screenshot in the feature which I took for column position 🤷♂ (can we please clarify this before implementation next time? 🙇)
We dont have a reliable string to work on, your idea might work on the given one, but we just dont know anything about the string given from the API :( imagine something like this: 2.0.0-1.0.0e-alpha-rc2 (bold == package, italics == base tech)
added 👍
same as 1. please 🙇 (we can change this, but in a later PR please)
I tried to expand the column to 300px, but because of our broken table styles, it is simply ignored
😠

@lilysamimi I'm all in for native tooltips, though maybe here we'd like to be consistent + delay until the native tooltip shows up is an eternity 😩 May I suggest using our custom tooltip that is instant and insanely great? :)

On the formatting note, shall we drop by SDK folks and ask them? We always can gracefully degrade to raw string. If there's an opportunity to give a nicer version, let's not let it slip away.

@juliangieseke re. width, the widths AFAIK are defined in the <colgroup> — did you try adding a <col> for the version column?

@juliangieseke re. (1) what screenshot were you referencing that shows the version after instances?

@juliangieseke @lilysamimi  and all
1- Please implement in that order
Name, Status, Version, Region, Instance, CPU, MEM, DISK, GPU
2- Please parse base tech version, do not include the SDK version in this view, for the special version of something like 2.0.3-4.0.0e-rc3, we should sync with the SDK team to make sure that there isn't many permutations. Or we can just ask them for a specific field that just captures the base tech version
3- For marathon status, is that how it looked like before? if yes, then let's use it as it, if not then let's check with the Marathon team on a usable format

Chatted with Chris Lambert:
In the Marathon environment, by convention, schedulers have the base tech version.
https://github.com/mesosphere/dcos-commons/blob/master/frameworks/hdfs/universe/marathon.json.mustache#L31
Beta packages use a beta- prefix on the package name, as well as a a -beta suffix on the version string.  Kinda overkill.
https://github.com/mesosphere/universe/tree/version-3.x/repo/packages/B/beta-cassandra/8
We will probably have to add a new field in cosmos for the package environment so that It's cleaner later

added tooltip
return null if empty
fixed column with - missed the colgroup, thanks @leemunroe 🙇
@leemunroe there was a screenshot attached to the feature https://jira.mesosphere.com/browse/DCOS-39535
@AmrAbdelrazik has pointed out a good example why we cant easily parse the string. in most cases, it might be package-basetech, but in some cases just stripping of the package- part isnt sufficient, because we have package-basetech-packagebeta - we also cant strip off every -suffix suffix, because it might be that it actually relates to the base tech 🤷♂
Overall, parsing the version string would be based on a lot of conventions and assumptions and there is a high risk introducing errors and bugs. I'd say we either merge it as is (full version string) and figure out a good solution later (@AmrAbdelrazik can you create a new feature?) or we postpone this feature completely, if the current implementation doesnt fit the needs. 😕

Current state:

(flickering is an issue with the recording, not in reality 🤷♂ )

Please include Pods as well

Uh! Good catch, thanks 🙇 Added another fixup commit for the first PR (we merged that one too fast 😓 )


New version: Arpack_jll v3.5.1+2

Autogenerated JLL package registration

Registering JLL package Arpack_jll.jl
Repository: https://github.com/JuliaBinaryWrappers/Arpack_jll.jl
Version: v3.5.1+2
Commit: b7a81fa24c9783c09c9b20feafbd76d651aa3f00
Revision on Yggdrasil: https://github.com/JuliaPackaging/Yggdrasil/commit/c5107e69b10b2901f9deb7017d4589da72ec216a
Created by: @ViralBShah

@giordano @staticfloat Do these files need to be deleted from the package server (I believe), since they didn't get published.


Recovery tool not delivering BCH despite 'successful' message output

Hello, as I mentioned in a previous post that was closed by the bitpay team after not resolving the issue, my money has been taken by using the copay recovery and copay address translator tool. As I explicated in the previous post that was closed, I used both tools successfully to recover a small amount of BCH from one of my wallets. Then I tried using the same tools in the same manner for a much larger amount. After successfully 'translating' the address for the second transfer, I input it into the recovery tool, and it gave a 'successfully transferred' output message. However, I never received the BCH, and it is nowhere to be found on any blockchain explorer. Please help!

Would like to update and close this issue. I'm not sure if it was Copay's new Address Translator tool or the BCH network that caused the extreme delay of almost 72 hours, but I eventually received my BCH after using both the Address Translator and BCH Recovery tools provided by Bitpay. Again, not sure what the source of the delay was, but the transaction took almost 72 hours to even appear on the BCH blockchain.


Temporarily disable NRT annotations detection of nullable dependencies

As this has backfired twice before (https://github.com/ppy/osu/pull/19677, https://github.com/ppy/osu/pull/21512), this feature is unreliable as long as mobile projects are not updated to .NET 6. Disabling it would avoid those catastrophes from happening again for the time being.
vNext
NRT-based detection of nullable dependencies has been temporarily disabled
This feature never worked on mobile projects since they're not targeting .NET 6 yet. We cannot continue to have this feature enabled for the time being.

Missed resource-based source generation tests. I'll get to them later.

How did it wor until now?

Are you actually sure that the source generator version is broken?

How did it work until now?

It never did for mobile, the IsNullable extensions were always returning false there (notice the target framework conditional preprocessor there). This was only ever noticeable on NRT-annotated dependencies (Type?) which don't set CanBeNull = true in the attribute and don't actually have a value cached for it (i.e. the osu!-side PRs mentioned in OP).

Are you actually sure that the source generator version is broken? Edit: I guess it's fine if the intent is to match behaviour...

Correct, it is to match behaviour so we don't rely on this feature at all for the time being (and source generation is busted on iOS).

@frenzibyte shall we also close this out given that we are pushing for net60?


Notify Icon incorrect in some instances

Notify icon in the system tray pop up is not displaying the correct icon (eg, error pop-up showing a 'information' icon, information pop-up showing 'error' icon...)

Fixed.


C# Tutorial: Boxing and Unboxing

This is a big enough area to warrant its own topic. The performance implications mean that developers need to understand how it works.

@BillWagner pls can I pick this up?

@tsolarin Certainly. Go for it!

@BillWagner I'd started drawing up an outline then I saw this: https://docs.microsoft.com/en-us/dotnet/articles/csharp/programming-guide/types/boxing-and-unboxing. Seems this topic has already been written?

@tsolarin Yes, it looks like this has been written.  I'll close this one. do you want to look through the list of issues and pick up a different one?


Use npmjs instead of myget in package-lock.json

The only change in this PR is updating package-lock.json to use npmjs feed instead of myget

Pull Request Test Coverage Report for Build 1647

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 69.387%

Totals

Change from base Build 1634:
0.0%

Covered Lines:
2176

Relevant Lines:
3007

💛  - Coveralls

@tomlm @Stevenic Thoughts on this?

Microsoft/BotBuilder-Samples#549 did something similar for the samples.


deleting temporary files after finishing run

Is there any flag to add to the pipeline to force it to remove the temporary files (instead of doing it manually) once the run is finished and has been completed successfully? Thanks!

As far I know no... but I'll investigate.


Support polyhedron cell type

Can triangulate each face and then form tetrahedra to center.

Until pyvista supports vtkPolyhedron construction in Unstructured Grid, testing will be more difficult here. See https://github.com/pyvista/pyvista/issues/4477


[TODO] Add a complete demo to run with ingress-controller

Hi @gxthrj ,
This means we need a Get Started  session, right?
I really wish this demo integrates with Helm as well.

I am in the process of deploying APISIX to my GCP cluster.
Will document the process here and hopefully we can compile it into a working demo.

I am in the process of deploying APISIX to my GCP cluster.
Will document the process here and hopefully we can compile it into a working demo.

Great，I think it's a good way to use helm, Looking forward to your document

hello， @mtx2d , any update ?

Related to #69

Related to #69

Close this issue now, Feel free to reopen if you have any question.


Revert "Upgrade slf4j dependencies to 1.7.30 [run-systemtest]"

Reverts vespa-engine/vespa#17148

@aressem FYI

please hold merge


macOS: "scalar upgrade" should defer to homebrew

The scalar upgrade command is quite complicated, and it does not need to be.
Replace the logic for this command to do the following:
brew update
<check if scalar[-azrepos] is updated>
<if --confirm, then do this:>
brew cask upgrade scalar[-azrepos]

Completed by #425


Admin can't save buildings without a node

When trying to save buildings without a node, I get a validation error

Also add a test for this case, should be easy


[suggestion]modern ssr solution practice

https://github.com/zhangyuang/ssr/blob/dev/README_EN.md

Thanks for the suggestion. We're working on templates and such already :)


DROP TABLE IF EXISTS failing when using FQNs with non admin user

CrateDB version
5.3.1 and crate/crate:nightly-5.4.0-20230503
CrateDB setup information
Single node
Problem description
When using dbt it is reasonable to configure it to use a dedicated user, not the crate superuser
When building models it routinely attempts DROP TABLE IF EXISTS
It refers to tables by FQN, which in theory should work following https://github.com/crate/crate/pull/12816
but it fails with Invalid index name
Steps to Reproduce
--as user=crate
DROP TABLE IF EXISTS "doc"."does_not_exist";
--> DROP OK, 0 rows affected  (0.001 sec)
--> NB *0* rows
DROP TABLE IF EXISTS "crate"."doc"."does_not_exist";
--> DROP OK, 1 row affected  (0.060 sec)
--> NB *1* row

create user user1 with (password='pwd123');
GRANT DQL,DDL,DML TO user1;

crash -U user1

DROP TABLE IF EXISTS "doc"."does_not_exist";
--> DROP OK, 0 rows affected  (0.001 sec)
DROP TABLE IF EXISTS "crate"."doc"."does_not_exist";
--> SQLParseException[Invalid index name: crate.doc.does_not_exist]

Actual Result
SQLParseException[Invalid index name: crate.doc.does_not_exist]

Expected Result
DROP OK, 0 rows affected  (0.000 sec)

or
DROP OK, 1 row affected  (0.060 sec)

@hlcianfagna thx for reporting, FYI it's also wrong for crate admin user, it returns 1 row affected, and it logs an error in the server logs.

The fix has been merged and will be available with the next hotfix release.
Once again, thanks @hlcianfagna for reporting.


Display an error for floating point numbers if not supported

Fixes #2 (mostly)
Makes using floating point numbers when targeting a board that does not support them an error. It looks like this:

As part of this, I had to move the max-int check from the block compiler to the emitter, so typing in a huge number will give a similar error now. I also removed the max-float check because it didn't work (not sure if we want to add in a different working one?)

Hi @riknoll, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

It looks like you're a Microsoft contributor (Richard Knoll). If you're full-time, we DON'T require a Contribution License Agreement. If you are a vendor, please DO sign the electronic Contribution License Agreement. It will take 2 minutes and there's no faxing! https://cla.microsoft.com.

TTYL, MSBOT;

Oh, I also just chose arbitrary numbers for the error codes. Is there a process for choosing those?

Yes there should be a "nextError" variable?
Get Outlook for iOShttps://aka.ms/o0ukef

From: Richard Knoll<EMAIL_ADDRESS>Sent: Monday, October 3, 2016 5:32:00 PM
To: Microsoft/pxt
Subject: Re: [Microsoft/pxt] Display an error for floating point numbers if not supported (#411)
Oh, I also just chose arbitrary numbers for the error codes. Is there a process for choosing those?

You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoft%2Fpxt%2Fpull%2F411%23issuecomment-251265644&data=01|01|jhalleux%40microsoft.com|b69a7e0d86664bbb318508d3ebeddd28|72f988bf86f141af91ab2d7cd011db47|1&sdata=Au0CH7BWUq1bV6uiGa46nacKhv9Td3jYQMJC91MJBGA%3D&reserved=0, or mute the threadhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAD-4Kfu5caBttWp3t1a6F-ChndAzWTN9ks5qwZ6AgaJpZM4KNMDW&data=01|01|jhalleux%40microsoft.com|b69a7e0d86664bbb318508d3ebeddd28|72f988bf86f141af91ab2d7cd011db47|1&sdata=ZAiGuIjE7xxi6AyBrG3fBQ9OE7m6XJI%2FHIyGQa9OIr4%3D&reserved=0.

Ahhh, it's in a comment. We should define these in a JSON file or something.

Fixed


Kinit Conection Error

Issue Type: Bug
When connecting to the database each day I have to run kinit repeatedly for sometimes 20min-1hr before the application allows me to run queries. I have ensured the app is up to date, quit and relaunched, deleted and re-downloaded the application multiple times with the behavior staying the same. No one else on my team is experiencing this behavior. I would love some support as this stops me from completeing my daily work.
Thank you,
Angela
Azure Data Studio version: azuredatastudio 1.32.0 (4a45ba7cf20dd4129f1a08e5e776dfb33e3d1d1e, 2021-08-16T18:09:20.282Z)
OS version: Darwin x64 19.6.0

System Info

Item
Value

CPUs
Intel(R) Core(TM) i5-1038NG7 CPU @ 2.00GHz (8 x 2000)

GPU Status
2d_canvas: enabledgpu_compositing: enabledmetal: disabled_offmultiple_raster_threads: enabled_onoop_rasterization: enabledopengl: enabled_onrasterization: enabledskia_renderer: disabled_off_okvideo_decode: enabledwebgl: enabledwebgl2: enabled

Load (avg)
2, 2, 2

Memory (System)
16.00GB (0.43GB free)

Process Argv

Screen Reader
no

VM
0%

Extensions: none

This is the error message I get.

@luxx66
Checking in, do you still continue to experience this issue? Since others in your team do not experience the same issue, I would imagine this is specific to your environment settings.
Let us know if this continues to persist.


winpr: improve WaitForSingleObject and WaitForMultipleObject with processes

This patch improves waiting on process handles:

under linux we take advantage of pidfd if available, when it can be used it allows to have one or more process in the objects that are WaitForMultipleObject-ed.
the patch also make the code honor the timeout parameter during a WaitForSingleObject and possibly run completion when WaitForSingleObjectEx is executed with alertable set to true

Note: the same could be achieved on BSD systems by calling pdfork instead of fork.


Update windows-analytics-azure-portal.md

Abbreviation for Azure Active Directory is AAD

@manuelhauch Actually, the approved abbreviation for Azure Active Directory is Azure AD -- not AAD. I fixed your change.


cache replicate version

In subsequent pr will update _call to use replicate.run directly when not streaming, so version object isn't needed at all
cc @cbh123 @tjaffri

cc @dqbd will this cause any serialization issues


Resource: Support policy set definition grouping

Add support for policy set definition grouping in the "resource" command module.
Introduces a --definition-groups parameter to the az policy set-definition create and az policy set-definition update commands.

This checklist is used to make sure that common guidelines for a pull request are followed.

[x] The PR has modified HISTORY.rst describing any customer-facing, functional changes. Note that this does not include changes only to help content. (see Modifying change log).

[x] I adhere to the Command Guidelines.

@Juliehzl  please help with the PR.

LGTM. If CI pass, I will agree.

@Juliehzl CI checks have passed


Regarding KhadasVim3 support

Hi Sir,
I have two queries :-

Can you specify the video file you used for RPI5, i mean was it 720p or 1080p ?
Can you please help/guide with using the RPI5 GPU so as to further increase the fps ? Is it possible to use NPU/GPU of SOC's to increase the fps ?

The used video is 1284 x 756.
Using the RPi GPU for deep learning tasks is real nightmare. Don't walk that path.
Yes NPUs can accelerate you throughput. At the moment I'm using the Radxa Zero 3W - 4GB RAM - ± $30,=. The NPU supports Paddle OCR (See the Rockchip model zoo). Buy only the 4 GB, lower numbers don't support the NPU well.
Other possible RPi5 alternatives are the Rock 5 or Orange Pi 5. All have the Rockchip NPU and are much cheaper than the VIM3.


I am keep on getting the Results backend isn't configured while using celery with redis

Error:
[2019-10-09 00:51:50,804: ERROR/ForkPoolWorker-1] Results backend isn't configured.
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/dist-packages/superset/sql_lab.py", line 144, in get_sql_results
    start_time=start_time,
  File "/usr/local/lib/python3.6/dist-packages/superset/sql_lab.py", line 249, in execute_sql_statements
    raise SqlLabException("Results backend isn't configured.")
superset.sql_lab.SqlLabException: Results backend isn't configured.

my superset_config.py file contains:
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.
import os
from celery.schedules import crontab

def get_env_variable(var_name, default=None):
    """Get the environment variable or raise exception."""
    try:
        return os.environ[var_name]
    except KeyError:
        if default is not None:
            return default
        else:
            error_msg = 'The environment variable {} was missing, abort...'\
                        .format(var_name)
            raise EnvironmentError(error_msg)

POSTGRES_USER = get_env_variable('POSTGRES_USER')
POSTGRES_PASSWORD = get_env_variable('POSTGRES_PASSWORD')
POSTGRES_HOST = get_env_variable('POSTGRES_HOST')
POSTGRES_PORT = get_env_variable('POSTGRES_PORT')
POSTGRES_DB = get_env_variable('POSTGRES_DB')

# The SQLAlchemy connection string.
SQLALCHEMY_DATABASE_URI = 'postgresql://%s:%s@%s:%s/%s' % (POSTGRES_USER,
                                                           POSTGRES_PASSWORD,
                                                           POSTGRES_HOST,
                                                           POSTGRES_PORT,
                                                           POSTGRES_DB)

REDIS_HOST = get_env_variable('REDIS_HOST')
REDIS_PORT = get_env_variable('REDIS_PORT')

class CeleryConfig(object):
    BROKER_URL = 'redis://%s:%s/0' % (REDIS_HOST, REDIS_PORT)
    CELERY_IMPORTS = ('superset.sql_lab', 'superset.tasks',)
    CELERY_RESULT_BACKEND = 'redis://%s:%s/1' % (REDIS_HOST, REDIS_PORT)
    CELERY_ANNOTATIONS = {
        'tasks.add': {
            'rate_limit': '10/s'
        },
        'sql_lab.get_sql_results': {
            'rate_limit': '100/s'
        }
    }
    CELERY_TASK_PROTOCOL = 1

CELERY_CONFIG = CeleryConfig

Log on running celery worker is
# celery worker --app=superset.sql_lab:celery_app --pool=prefork -Ofair -c 4
Loaded your LOCAL configuration at [/usr/local/lib/python3.6/dist-packages/superset/superset_config.py]
2019-10-09 01:06:55,044:INFO:root:Configured event logger of type <class 'superset.utils.log.DBEventLogger'>
/usr/local/lib/python3.6/dist-packages/celery/platforms.py:801: RuntimeWarning: You're running the worker with superuser privileges: this is
absolutely not recommended!

Please specify a different user using the --uid option.

User information: uid=0 euid=0 gid=0 egid=0

  uid=uid, euid=euid, gid=gid, egid=egid,

 -------------- celery@ip-xxx-xx-xx-xx v4.3.0 (rhubarb)
---- **** -----
--- * ***  * -- Linux-4.15.0-1044-aws-x86_64-with-Ubuntu-18.04-bionic 2019-10-09 01:06:55
-- * - **** ---
- ** ---------- [config]
- ** ---------- .> app:         __main__:0x7f94fd163ac8
- ** ---------- .> transport:   redis://ec2-host:6379/0
- ** ---------- .> results:     redis://ec2-host:6379/1
- *** --- * --- .> concurrency: 4 (prefork)
-- ******* ---- .> task events: OFF (enable -E to monitor tasks in this worker)
--- ***** -----
 -------------- [queues]
                .> celery           exchange=celery(direct) key=celery

with all the environment variables setup. it keeps on giving me error.

You seem to be missing this: https://superset.incubator.apache.org/installation.html?highlight=results_backend

Thanks @dpgaspar It worked :)


Environment values not being used in nested states

I've been trying to use environments in my main helmfile and have multiple sub helmfiles in my releases folder. I wanted all the sub helmfiles to pick up whatever the value I defined in a specific environment but never was able to. Here's what my file structure and content look like.
Structure:
├── environments
│   └── exp
│      └── values.yaml
├── helmfile.yaml
└── releases
    ├── release1.yaml
    └── release2.yaml

helmfile.yaml:
helmfiles:
 - "releases/release1.yaml"
 - "releases/release2.yaml"
environments:
  exp:
    values:
      - environments/exp/values.yaml

environments/exp/values.yaml:
testVersion: 1.0.0

releases/release1.yaml:
releases:
  - name: test-release
    chart: test/test-release
    version: {{ .Environment.Values.testVersion }}

Ideally when I run helmfile with arg -e exp, I expect all values in environments/exp/values.yaml to be injected to all helmfiles in releases folder. But I always got an error like executing "stringTemplate" at <.Environment.Values.testVersion>: map has no entry for key "testVersion"
When I enabled the debug level logging, I can see that values are loaded in my main helmfile.yaml from envvals_loader, but it seems like it's not passed to the sub helmfiles. Is this expected? And how do I achieve this if it's designed to be like this?

I have experienced a similar issue and am curious to see what the response / workaround / fix  is for this.

So I kinda found a solution but seems like there's another problem with it.
I was able to inject the values from environments by separating the environments piece out of the main helmfile but create another file to store it and set that file as the base for all the sub helmfiles. Now the files looks like this:
├── commons
│   └── environments.yaml
├── environments
│   └── exp
│      └── values.yaml
├── helmfile.yaml
└── releases
    ├── release1.yaml
    └── release2.yaml

helmfile.yaml:
helmfiles:

helmfiles:

"releases/release1.yaml"
"releases/release2.yaml"

commons/environments.yaml:

environments:
exp:
values:
- ../environments/exp/values.yaml
releases/release1.yaml:

bases:

../commons/environments.yaml

releases:

name: test-release
chart: test/test-release
version: {{ .Environment.Values.testVersion }}

But now it comes another problem that main helmfile will complain about `err: no releases found that matches specified selector() and environment(dev), in any helmfile`. And I can't set the `environments.yaml` file as the base for the main helmfile since the relative path of values file defined in `environment.yaml` is different for main and sub helfiles.
And the workaround for the above problem is to add environments in the main helmfile again (even though it doesn't do anything).
helmfiles:

helmfiles:

"releases/release1.yaml"
"releases/release2.yaml"
environments:
exp:
values:

environments/exp/values.yaml

And now I'm able to let all my helmfiles in releases folder working with environments. Even though I don't think it's the right/perfect way to write helmfile. Can someone point if I'm doing anything wrong here?

@YingjunHu Hey! To make each (sub-)helmfile modular, environment values are not automatically inherited to sub-helmfiles.
If you need to "override" environment values from the parent helmfile.yaml, you need to explicitly say:
helmfiles:
 - path: "releases/release1.yaml"
    values:
    - environments/exp/values.yaml
 - path: "releases/release2.yaml"
    values:
    - environments/exp/values.yaml

@YingjunHu I think you've almost managed it in your example at https://github.com/roboll/helmfile/issues/1045#issuecomment-567990337
The important point here is that a base helmfile is evaluated in the context(working directory, state values, etc) of current helmfile.yaml and that's why you are seeing

the base for the main helmfile since the relative path of values file defined in environment.yaml is different for main and sub helfiles.

Your last example seems ok to me. But you need a more DRY way to do it?
helmfiles:
 - "releases/release1.yaml"
 - "releases/release2.yaml"
environments:
  exp:
    values:
      - environments/exp/values.yaml

Fundamentally, Helmfile template isn't a full-fledged programming language so there might be no perfect way, but anyway I can suggest defining inline values within the environment.yaml:
environments:
  exp:
    values:
    - <contents of environments/exp/values.yaml = a yaml hash>

I'm using kinda the same workaround as stated here https://github.com/roboll/helmfile/issues/1045#issuecomment-567990337
Works quite ok, but looks not that great;)

@YingjunHu I think, it may help you:
environments:
  production: {}
  development: {}

helmfiles:
  - path: releases/*/helmfile.yaml
    values:
      - environments/{{ .Environment.Name }}.yaml

@YingjunHu this is what I did:
If your environments are in one file, i.e. common/environments.yaml, you use this file as 'base' in your subhelmfiles:
#releases/something.yaml
bases:
- ../common/environments.yaml
- ../common/defaults.yaml

AND to avoid repetition in your top-level helmfile, use gotemplate black magic:
# helmfile.yaml
environments:
{{ $environments := (readFile "common/environments.yaml" | fromYaml ) }}{{ range $key, $env := (index $environments "environments") }}  {{ printf "%s:\n" $key }}{{ end }}
---
# Ordered list of releases.
helmfiles:
  - "releases/something.yaml"

@YingjunHu I think, it may help you:
environments:
  production: {}
  development: {}

helmfiles:
  - path: releases/*/helmfile.yaml
    values:
      - environments/{{ .Environment.Name }}.yaml

This is the closest workaround so far but if my understanding is correct than values from default environment are always used and values from a specific environment are used as overrides.

I have similar issue but more difficult as we want to have modular releases:
├── commons
│   └── environments.yaml
├── environments
│   └── exp
│      └── values.yaml
├── helmfile.yaml
└── releases
    ├── module1
    |  ├── release1.yaml
    |  └── release2.yaml
    ├── module2
    |  ├── release1.yaml
    |  └── release2.yaml
    ├── module1.yaml (contains only `helmfiles:` to module)
    └── module2.yaml (contains only `helmfiles:` to module)

The problem is with relatives path here. Inside helmfile.yaml it should be one path for environments. on module1.yaml it should be another path and on release1.yaml it will be third path. And it become completely unmanageble when these files use some "external" files, for instance scripts/some.sh which cannot be referenced as every time the path is different.

@sshishov Thanks, that does seem hard. Do you have any ideal solution in your mind?
Anyway, I'd suggest passing the absolute path to the scripts directory via state values from the root helmfile.yaml down to module helmfiles, like:
helmfiles:
- path: module2/release1.yaml
  values:
  - scriptsDir: {{ .Values.scriptsDir }}

This is a good thread, but it's still not quite clear to me how to solve this problem. What's more is that everybody is going to have a different approach and there doesn't seem to be a one-way-fits-them-all. This would be a great topic from which to create documentation as I think this is probably one of the biggest problems to solve and it stems from the very beginning of a project when trying to determine how to structure the directories with respect to the project.
I've been working on my project for a couple of days now and some things are starting to gel for me for helmfile, but this is the one thing I'm still not getting.
I'm trying to keep this project as DRY as possible. I require to be able to deploy from the very basic application chart all the way to a full deployment, which is typically just a single cluster.
Given the following directory structure:
├── helmfile
│   ├── envs
│   │   ├── dev
│   │   │   └── cluster-a
│   │   ├── preprod
│   │   └── production
│   └── shlib
└── helmfile.d
    └── generic
        ├── 01a-network-and-proxies
        │   ├── ambassador
        │   ├── external-dns
        │   └── ingress-nginx
        ├── 01b-secrets-management
        │   ├── certmanager
        │   ├── dex
        │   ├── oauth2-proxy
        │   │   └── secrets
        │   ├── vault-operator
        │   │   └── secrets
        │   └── vault-secrets-webhook
        └── common

the way I'm framing this is:
an engineer can deploy dex by going to the dex directory under helmfile.d/generic/dex and running SOMEVAR=foo ANOTHERVAR=bar helmfile sync
The dex helmfile.yaml looks like:
---
bases:
  - ../../common/environments.yaml
  - ../../common/repos.yaml
  - ../../common/helmdefaults.yaml

---
values:
  - aws_nlb_with_tls_termination_at_lb: {{ env "AWS_NLB" | default false }}
  - arm64_support: {{ env "ARM64" | default false }}
  - domain_name: {{ requiredEnv "DOMAIN_NAME" }}
  - cluster_id: {{ requiredEnv "CLUSTER_ID" }}

---
releases:
  - name: dex
    namespace: {{ .Values.dex.namespace }}
    createNamespace: true
    labels:
      tier: "secrets-management"
      app: dex
    chart: bluescape/dex
    version: {{ .Values.dex.version }}
    values:
      - values.yaml.gotmpl

most of the rest of my helmfile.yaml manifests look like this. This works very well for a single bundle deployment (such as dex here) or even deploying from the helmfile.d directory.
The problem occurs when I want to deploy cluster-a which I'm trying to do by changing directories to cluster-a (see above), which has a helmfile.yaml, and config.yaml. The idea was that the config.yaml which is simply a values definition manifest would override anything in the deployment.
❯ \cat helmfile.yaml
environments:
  default:
    values:
      - config.yaml

---
helmfiles:
  - "../../../../helmfile.d/"

❯ \cat config.yaml
---
values:
  - aws_nlb_with_tls_termination_at_lb: false
  - arm64_support: false
  - domain_name: "cluster-a.dev.domain.io"
  - cluster_id: "cluster-a"

However, when I test this I get a SIGSEGV nil pointer dereference:
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x8 pc=0x12cbc6e]

goroutine 1 [running]:
github.com/roboll/helmfile/pkg/state.(*Storage).normalizePath(0xc0002c5050, 0xc00003d560, 0x28, 0xc00028a1b0, 0x4e8491)
        /home/circleci/workspace/helmfile/pkg/state/storage.go:89 +0x3e
github.com/roboll/helmfile/pkg/state.(*Storage).ExpandPaths(0xc0002c5050, 0xc00003d560, 0x28, 0x1, 0x1, 0xc00019d1a0, 0x17, 0xc000323901)
        /home/circleci/workspace/helmfile/pkg/state/storage.go:74 +0x5a
github.com/roboll/helmfile/pkg/state.(*Storage).resolveFile(0xc0002c5050, 0x0, 0x17021dd, 0x12, 0xc00003d560, 0x28, 0x0, 0x199, 0x199, 0x1, ...)
        /home/circleci/workspace/helmfile/pkg/state/storage.go:32 +0xee
github.com/roboll/helmfile/pkg/state.(*EnvironmentValuesLoader).LoadEnvironmentValues(0xc00028a6a8, 0x0, 0xc000137140, 0x4, 0x4, 0x4, 0x4, 0x4)
        /home/circleci/workspace/helmfile/pkg/state/envvals_loader.go:48 +0x578
github.com/roboll/helmfile/pkg/state.(*HelmState).loadValuesEntries(0xc00037d900, 0x0, 0xc000137100, 0x4, 0x4, 0xc000094900, 0x17525e8, 0x1752c08, 0xc000250a00)
        /home/circleci/workspace/helmfile/pkg/state/create.go:360 +0x17e
github.com/roboll/helmfile/pkg/state.(*StateCreator).LoadEnvValues(0xc0005ded00, 0xc00037cf00, 0x16f43cc, 0x7, 0xc0001ca640, 0x0, 0xc00019c600, 0x14, 0xc00037cf00)
        /home/circleci/workspace/helmfile/pkg/state/create.go:156 +0x27d
github.com/roboll/helmfile/pkg/state.(*StateCreator).ParseAndLoad(0xc0005ded00, 0xc0000700e0, 0x6e, 0x70, 0x16ef515, 0x1, 0xc00019c600, 0x14, 0x16f43cc, 0x7, ...)
        /home/circleci/workspace/helmfile/pkg/state/create.go:189 +0x101
github.com/roboll/helmfile/pkg/app.(*desiredStateLoader).renderPrestate(0xc00041c280, 0xc0001ca640, 0x16ef515, 0x1, 0xc00019c600, 0x14, 0xc00022c0c2, 0x231, 0x231, 0x0, ...)
        /home/circleci/workspace/helmfile/pkg/app/two_pass_renderer.go:55 +0x46d
github.com/roboll/helmfile/pkg/app.(*desiredStateLoader).twoPassRenderTemplateToYaml(0xc00041c280, 0xc00037ce70, 0x0, 0x16ef515, 0x1, 0xc00019c600, 0x14, 0xc00022c0c2, 0x231, 0x231, ...)
        /home/circleci/workspace/helmfile/pkg/app/two_pass_renderer.go:99 +0x101
github.com/roboll/helmfile/pkg/app.(*desiredStateLoader).renderTemplatesToYamlWithEnv(...)
        /home/circleci/workspace/helmfile/pkg/app/two_pass_renderer.go:81
github.com/roboll/helmfile/pkg/app.(*desiredStateLoader).renderAndLoad(0xc00041c280, 0x0, 0x0, 0x16ef515, 0x1, 0xc00050cff0, 0xd, 0xc000228000, 0x487, 0x687, ...)
        /home/circleci/workspace/helmfile/pkg/app/desired_state_file_loader.go:194 +0x430
github.com/roboll/helmfile/pkg/app.(*desiredStateLoader).loadFileWithOverrides(0xc00041c280, 0x0, 0x0, 0x16ef515, 0x1, 0xc00032500b, 0xd, 0xc000334501, 0x199, 0x203000, ...)
        /home/circleci/workspace/helmfile/pkg/app/desired_state_file_loader.go:113 +0x1ec
github.com/roboll/helmfile/pkg/app.(*desiredStateLoader).Load(0xc00041c280, 0xc00032500b, 0xd, 0x27c0ad8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, ...)
        /home/circleci/workspace/helmfile/pkg/app/desired_state_file_loader.go:65 +0x2f8
github.com/roboll/helmfile/pkg/app.(*App).loadDesiredStateFromYaml(0xc0000f7c20, 0xc00032500b, 0xd, 0xc00028ba40, 0x1, 0x1, 0x1, 0xc000226000, 0x92)
        /home/circleci/workspace/helmfile/pkg/app/app.go:630 +0x288
github.com/roboll/helmfile/pkg/app.(*App).visitStates.func1(0xc00032500b, 0xd, 0xc00032f000, 0x7a, 0x0, 0x0)
        /home/circleci/workspace/helmfile/pkg/app/app.go:682 +0x176
github.com/roboll/helmfile/pkg/app.(*App).visitStateFiles.func1(0xc000332620, 0x6f)
        /home/circleci/workspace/helmfile/pkg/app/app.go:596 +0x9d
github.com/roboll/helmfile/pkg/app.(*App).within(0xc0000f7c20, 0xc000325000, 0xa, 0xc00061be58, 0xc00061be18, 0x2)
        /home/circleci/workspace/helmfile/pkg/app/app.go:557 +0x33e
github.com/roboll/helmfile/pkg/app.(*App).visitStateFiles(0xc0000f7c20, 0xc000325000, 0x18, 0x27c0ad8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, ...)
        /home/circleci/workspace/helmfile/pkg/app/app.go:590 +0x2f2
github.com/roboll/helmfile/pkg/app.(*App).visitStates(0xc0000f7c20, 0xc000325000, 0x18, 0x27c0ad8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, ...)
        /home/circleci/workspace/helmfile/pkg/app/app.go:675 +0x10b
github.com/roboll/helmfile/pkg/app.(*App).visitStates.func1.2(0xc000000068, 0x1750d00)
        /home/circleci/workspace/helmfile/pkg/app/app.go:735 +0x31c
github.com/roboll/helmfile/pkg/app.(*App).visitStates.func1(0xc00032c410, 0xd, 0xc00034e5a0, 0x84, 0x0, 0x0)
        /home/circleci/workspace/helmfile/pkg/app/app.go:752 +0x916
github.com/roboll/helmfile/pkg/app.(*App).visitStateFiles.func1(0xc0003322a0, 0x64)
        /home/circleci/workspace/helmfile/pkg/app/app.go:596 +0x9d
github.com/roboll/helmfile/pkg/app.(*App).within(0xc0000f7c20, 0xc00032c3f0, 0x1f, 0xc00061c840, 0xc00061c800, 0x2)
        /home/circleci/workspace/helmfile/pkg/app/app.go:557 +0x33e
github.com/roboll/helmfile/pkg/app.(*App).visitStateFiles(0xc0000f7c20, 0xc000324840, 0x1f, 0x27c0ad8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, ...)
        /home/circleci/workspace/helmfile/pkg/app/app.go:590 +0x2f2
github.com/roboll/helmfile/pkg/app.(*App).visitStates(0xc0000f7c20, 0xc000324840, 0x1f, 0x27c0ad8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, ...)
        /home/circleci/workspace/helmfile/pkg/app/app.go:675 +0x10b
github.com/roboll/helmfile/pkg/app.(*App).visitStates.func1.2(0xc000000068, 0x1750d00)
        /home/circleci/workspace/helmfile/pkg/app/app.go:735 +0x31c
github.com/roboll/helmfile/pkg/app.(*App).visitStates.func1(0xc00032c017, 0xd, 0xc00032c060, 0x25, 0x0, 0x0)
        /home/circleci/workspace/helmfile/pkg/app/app.go:752 +0x916
github.com/roboll/helmfile/pkg/app.(*App).visitStateFiles.func1(0xc000330050, 0x44)
        /home/circleci/workspace/helmfile/pkg/app/app.go:596 +0x9d
github.com/roboll/helmfile/pkg/app.(*App).within(0xc0000f7c20, 0xc00032c000, 0x16, 0xc00061d228, 0xc00061d1e8, 0x2)
        /home/circleci/workspace/helmfile/pkg/app/app.go:557 +0x33e
github.com/roboll/helmfile/pkg/app.(*App).visitStateFiles(0xc0000f7c20, 0xc0004539a0, 0x16, 0x27c0ad8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, ...)
        /home/circleci/workspace/helmfile/pkg/app/app.go:590 +0x2f2
github.com/roboll/helmfile/pkg/app.(*App).visitStates(0xc0000f7c20, 0xc0004539a0, 0x16, 0x27c0ad8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, ...)
        /home/circleci/workspace/helmfile/pkg/app/app.go:675 +0x10b
github.com/roboll/helmfile/pkg/app.(*App).visitStates.func1.2(0xc000000068, 0x1750d00)
        /home/circleci/workspace/helmfile/pkg/app/app.go:735 +0x31c
github.com/roboll/helmfile/pkg/app.(*App).visitStates.func1(0x16fb8b9, 0xd, 0xc0000365a0, 0x52, 0x0, 0x0)
        /home/circleci/workspace/helmfile/pkg/app/app.go:752 +0x916
github.com/roboll/helmfile/pkg/app.(*App).visitStateFiles.func1(0x0, 0x7fccbd422108)
        /home/circleci/workspace/helmfile/pkg/app/app.go:596 +0x9d
github.com/roboll/helmfile/pkg/app.(*App).within(0xc0000f7c20, 0x16ef515, 0x1, 0xc00061dc10, 0xc00061dbd0, 0x2)
        /home/circleci/workspace/helmfile/pkg/app/app.go:538 +0x602
github.com/roboll/helmfile/pkg/app.(*App).visitStateFiles(0xc0000f7c20, 0x0, 0x0, 0x27c0ad8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, ...)
        /home/circleci/workspace/helmfile/pkg/app/app.go:590 +0x2f2
github.com/roboll/helmfile/pkg/app.(*App).visitStates(0xc0000f7c20, 0x0, 0x0, 0x27c0ad8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, ...)
        /home/circleci/workspace/helmfile/pkg/app/app.go:675 +0x10b
github.com/roboll/helmfile/pkg/app.(*App).visitStatesWithSelectorsAndRemoteSupport(0xc0000f7c20, 0x0, 0x0, 0xc00061df30, 0xc00061df98, 0x1, 0x1, 0xc00061df50, 0x133b749)
        /home/circleci/workspace/helmfile/pkg/app/app.go:930 +0x4c1
github.com/roboll/helmfile/pkg/app.(*App).ForEachState(0xc0000f7c20, 0xc00061dfa0, 0xc00061df98, 0x1, 0x1, 0x40a118, 0x16d5cc0)
        /home/circleci/workspace/helmfile/pkg/app/app.go:811 +0xb2
github.com/roboll/helmfile/pkg/app.(*App).Template(0xc0000f7c20, 0x1cf2640, 0xc00067e850, 0xc00067e850, 0xc00000f750)
        /home/circleci/workspace/helmfile/pkg/app/app.go:234 +0xc8
main.main.func5(0xc0000f7c20, 0xc0000c49a0, 0x0, 0xc00067e800, 0x0)
        /home/circleci/workspace/helmfile/main.go:266 +0x6d
main.action.func1(0xc0000c49a0, 0x0, 0xc0000a9720)
        /home/circleci/workspace/helmfile/main.go:793 +0xd4
github.com/urfave/cli.HandleAction(0x144d200, 0xc000044a80, 0xc0000c49a0, 0xc0000c49a0, 0x0)
        /home/circleci/workspace/helmfile/vendor/github.com/urfave/cli/app.go:524 +0x11a
github.com/urfave/cli.Command.Run(0x16f62d0, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x17386dd, 0x3d, 0x0, ...)
        /home/circleci/workspace/helmfile/vendor/github.com/urfave/cli/command.go:173 +0x57a
github.com/urfave/cli.(*App).Run(0xc0002da700, 0xc000030180, 0x3, 0x3, 0x0, 0x0)
        /home/circleci/workspace/helmfile/vendor/github.com/urfave/cli/app.go:277 +0x7c7
main.main()
        /home/circleci/workspace/helmfile/main.go:564 +0x3dce

When looking through the debug output it's clear to me what the problem is (though it shouldn't sigsegv ;) - the environment I try to set up in the cluster-a config at first gets read in perfects. During runtime, the environment doesn't merge with previously set environment. It just gets clobbered setting the values required to nil.
For me, the documentation on this part of how helmfile works is not greatly understood. Some guidance would be helpful.

@notjames Hey! I may have missed details of your whole setup, but anyway- it looks like the issue in your setup is in:
environments:
  default:
    values:
      - config.yaml

---
helmfiles:
  - "../../../../helmfile.d/"

This doesn't make sense, as no environments (and its environment values defined in config.yaml) is supposed to be automatically inherited to any sub-helmfiles you've defined in helmfiles.
You need to somehow replicate that environments section in all the sub-helmfiles' helmfie.yaml. That way, each sub-helmfile can be run independently of the parent helmfile, which is the way helmfile thinks it should be.
Otherwise- if you really want to somehow make sub-helmfiles dependent on the parent, see https://github.com/roboll/helmfile/issues/1045#issuecomment-607538300

environments:
  default:
    values:
      - config.yaml

---
helmfiles:
  - "../../../../helmfile.d/"

@mumoshu thank you for responding. I know I put a lot in my issue here. I think your response doesn't quite help me yet but that's likely because I gave you so much information that it's likely difficult to grok.
But perhaps I can sum it up like this. First, I love the concept that each helmfile can be run in its own right. That is exactly how I am trying to get this to work. So:
given the following scenarios:
DESIRE: I just want to deploy dex
PWD: helmfile-project/helmfile.d/generic/01b-secrets-management/dex
TREE:
dex/
├── helmfile.yaml
└── values.yaml.gotmpl

HELMFILE:
---
bases:
  - ../../common/environments.yaml
  - ../../common/repos.yaml
  - ../../common/helmdefaults.yaml

---
releases:
  - name: dex
    namespace: {{ .Values.dex.namespace }}
    createNamespace: true
    labels:
      app: dex
    chart: bluescape/dex
    version: {{ .Values.dex.version }}
    values:
      - values.yaml.gotmpl

I can run helmfile and dex will deploy. Cool!
Let's go up one directory:
DESIRE: I want to deploy everything in this directory with one helmfile command
PWD: helmfile-project/helmfile.d/generic/01b-secrets-management
TREE:
01b-secrets-management/
├── certmanager
│   ├── cluster-issuer-values.yaml
│   ├── config.yaml
│   ├── helmfile.yaml
│   ├── secrets.yaml
│   └── values.yaml.gotmpl
├── dex
│   ├── helmfile.yaml
│   └── values.yaml.gotmpl
├── helmfile.yaml
├── oauth2-proxy
│   ├── arm64-values.yaml.gotmpl
│   ├── create-ns
│   ├── generate-secret-cookie
│   ├── helmfile.yaml
│   ├── secrets
│   ├── values.yaml.gotmpl
│   └── wait_for_endpoint.sh
├── vault-operator
│   ├── helmfile.yaml
│   ├── secrets
│   │   └── vault-cr-secret-dec.yaml
│   └── values.yaml
└── vault-secrets-webhook
    ├── helmfile.yaml
    ├── values.yaml
    └── values.yaml.gotmpl

HELMFILE:
helmfiles:
  - "*/helmfile.yaml"
  - path: */helmfile.yaml
    selectors:
      - tier=secrets-managment

This works as desired, but the thing is, this runs in such a way that no specific required environment stuff is set here. Any required variables that the helmfile manifests need, in this setup, is passed as environment variables IE VAR=foo VAR=bar helmfile sync and that's fine for running helmfile in an adhoc way.
OK...so hopefully this is making sense in the pattern I'm laying down.
 Up until now, I've made running helmfile adhoc to work fine and this is something we desire. But let's say that now I want to run helmfile from a place that defines our environments so that instead of defining the variables on the command line with environment variables, I want to run helmfile from a directory with a configuration that defines everything in environments, which is what I've been trying to do and miserably failing and I can't quite figure out how to accomplish this. My attempt was:
DESIRE: run helmfile using a configuration (NOT ADHOC WITH ENV VARS) which defines static variables and uses them as helmfile values.
PWD: bluescape/ops/helmfile-project/helmfile (important to note that this directory is parallel to helmfile.d
TREE:
helmfile
└── envs
    ├── dev
    │   └── cluster-a
    │       ├── config.yaml
    │       └── helmfile.yaml
    ├── preprod
    └── production

I want to deploy cluster-a so I want to chdir to helmfile/envs/dev/cluster-a and simply run helmfile
My first question is: will helmfile support the method of release desired in this configuration
If so: the problem I'm having is that the following helmfile.yaml within helmfile/envs/dev/cluster-a which looks like and is apparently the helmfile.yaml which you address above, looks like:
environments:
  default:
    values:
      - config.yaml

---
helmfiles:
  - "../../../../helmfile.d/"

This is meant to be a top-level configuration file with the intention, as mentioned, to be able to run helmfile like: helmfile sync from this path and whatever is defined in the top-level helmfile.yaml in this path will over-write the definitions in each of the release helmfile.yaml files "below" (defined in helmfile.d)
So I think I have a fundamental lack of understand of layering, but I believe I understand a little bit of it. If I can make this work the way I've outlined it here then that would rock.
Please note that this is from my understanding of the documentation, which is pretty complicated to understand when coming into this project with no context. Referentially, the documentation is great. Trying to define an actual working complicated project from the documentation is tough, because the documentation glances over the more sophisticated areas of helmfile (layering) in my estimation.
I'll try to understand what you've mentioned so far and fix things, but I don't quite fully understand what you're saying yet, so hopefully this makes more sense about what I'm trying to accomplish and you can address my mistakes. :)

@sshishov Thanks, that does seem hard. Do you have any ideal solution in your mind?
Anyway, I'd suggest passing the absolute path to the scripts directory via state values from the root helmfile.yaml down to module helmfiles, like:
helmfiles:
- path: module2/release1.yaml
  values:
  - scriptsDir: {{ .Values.scriptsDir }}

Then in release1.yaml you could use scriptsDir to build a absolute path to the script you want to load.

So this helmfile.yaml example is which one? :) It's not clear to me where I should define these settings.


Security/YAMLLoad shouldn't auto correct

Expected behavior
When auto correcting my code, rubocop only performs auto-corrections that can be expected to not break the semantics of my code.
Thus I expect no auto-correction from YAML.load to YAML.safe_load, since that will break yaml files using aliases, e.g.
default: &default
  foo: "bar"
baz:
  <<: *default

safe_load will raise Unknown alias: default (Psych::BadAlias) for this yaml.
Actual behavior
Rubocop performs an auto correction that will break for yaml files using aliases.
Mitigations

do not auto-correct YAML.load to YAML.safe_load
auto-correct YAML.load(x) to YAML.safe_load(x, [], [], true), which would allow using aliases

Note: Since safe_load also has other implications aside from aliases, my preference would really be not to auto-correct it at all.
Steps to reproduce the problem
For this file:
YAML.load(something)

run:
rubocop -a

RuboCop version
$ rubocop -V
0.47.1 (using Parser <IP_ADDRESS>, running on ruby 2.3.3 x86_64-linux)

I've had issues with this as well.  It's not an equivalent change, which I believe is what autocorrect should be reserved for.

This goes back to an old discussion about implementing safety levels for auto-corrections and some config to pick a preferred safety level when running auto-correct. For me that's the only good solution to this problem as some people are fine with potentially dangerous corrections, while some are not.

@bbatsov can you provide a pointer to that discussion? I'm interested in what the arguments for allowing dangerous corrections are.

I think some folks autocorrect assuming safety, and other only autocorrect when they know what Rubocop will do. I'm in that second camp. I review the offenses and autocorrect one cop at a time. When I'm deciding which cops get to autocorrect and I trust my unit tests, I'm willing to let Rubocop make changes that might be considered "dangerous" by others.

Thanks for the explanation, @mikegee. I used to autocorrect one cop at a time but I don't have the patience anymore.
Is there any other autocorrection that changes semantics? This is the only one I've come across.
(If someone can point me to that earlier discussion, I'm happy to avoid rehashing old arguments 😄 )

See https://github.com/bbatsov/rubocop/pull/3398

+1 to the fact that this correction can break stuff.
It just broke my app. It was easy to find and revert, so no big deal. Just want to second the potential for this to cause problems.

As a follow-up to my comment above (https://github.com/bbatsov/rubocop/issues/3998#issuecomment-277501414), I have now automated applying autocorrect per cop and committing the result. This works great because it allows git bisect to find any corrections that broke things.

The auto-correction will be marked unsafe in #5978 so I'm closing this issue


No malloc dependency

Removing malloc dependency in add_test function, building the link list at compile time as it was advised here lobste.rs

Looks good to me. Some small formatting issues but no issue, I'll merge anyway and fix them myself.
Thank you for your contribution, much appreciated! :+1:


Input grab fixes for xdg_popups

Fixes for #897 and #933

Added the same changes to xdg_shell_v6.

LGTM, thanks!