USB disappears after VM reboot

Description
HV = Xen
Ubuntu 20.04

Sometimes app stuck in HALTED state
HALTED: [description:"one of the application's tasks has crashed - please restart application instance" timestamp:{sec onds:1617267653 nanos:68552285}]
Test is not passing because USB disappears. (repeatable)

Steps to Reproduce
How to repeat the test:
make build-test
./eden config add
./eden config set default --key eve.hv --value xen
./eden setup
./eden start && ./eden eve onboard
./dist/bin/qemu+usb.sh
./dist/bin/eden+ports.sh 2223:2223
./eden eve stop
./eden eve start
./eden test tests/hardware_reboot -v debug

Actual Results
[diff -before_reboot +after_reboot]
         ssh -o ConnectTimeout=10 -o StrictHostKeyChecking=no -o PasswordAuthentication=no -i /home/r/GolandProjects/eden/dist/tests/eclient/image/cert/id_rsa -p 8027<EMAIL_ADDRESS>lsusb
        -Bus 001 Device 002: ID 46f4:0001 QEMU QEMU USB HARDDRIVE
         Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
        FAIL: testdata/hardware_usb_reboot.txt:41: before_reboot and after_reboot differ

xenstore-ls output from @giggsoff :
vusb = ""
    0 = ""
     type = "devicemodel"
     usb-ver = "2"
     num-ports = "6"
     port = ""
      1 = "2-1"
      2 = ""
      3 = ""
      4 = ""
      5 = ""
      6 = ""

After:
   vusb = ""
    0 = ""
     type = "devicemodel"
     usb-ver = "2"
     num-ports = "6"
     port = ""
      1 = ""
      2 = ""
      3 = ""
      4 = ""
      5 = ""
      6 = ""

Logs from @sadov Logs
Expected Results
List of USB devices lsusb  should be the same before and after reboot.

@dautovri pls. check the "Steps to Reproduce" carefully:
$ make build-test
make: *** No rule to make target 'build-test'.  Stop.

Similarly tested for COM pass-through:
https://github.com/lf-edge/eden/pull/579
Settings remain the same after reboot.
Results are the same as for client as for ubuntu image on – USB pass-through settings are lost after reboot, COM-port settings are retained.

Similarly tested for COM pass-through:
https://github.com/lf-edge/eden/pull/579
Settings remain the same after reboot.
Results are the same as for eclient as for ubuntu image on – USB pass-through settings are lost after reboot, COM-port settings are retained.

Similarly tested for COM pass-through:
#579
Settings remain the same after reboot.
Results are the same as for eclient as for ubuntu image on – USB pass-through settings are lost after reboot, COM-port settings are retained.

I checked PR579 as well. I can confirm that Xen + Ubuntu VM retain COM port after reboot(sudo shutdown -r +1).


Voting on ByteDance as an organization member

ByteDance has passed the preliminary review and completed the assessment. TSC board members are requested to vote based on the assessment result, either "agree" or "disagree."
If more than half of the votes are favored, ByteDance will officially become a FATE community organization member.

agree from Clustar

agree from WeBank

agree

From ICBC
Agree


CLOUD-45185 since there is no warmup we can use that image which has Zeppelin in it

@akanto @martonsereg
In docker-ambari I moved Zeppelin to the base image so the newly created cloud images will have this change, but I'm lazy to rebuild it for now.

Jenkins build finished, all tests passed.
Refer to this link for build results: http://ci.sequenceiq.com/job/cloudbreak-pull-request/1863/


[ASP.NET]Preserve client request information in Hub's Context

User's getting null from Hub.Context.GetHttpContext()
Dependent on ASP.NET client 2.4.1 https://github.com/SignalR/SignalR/issues/4353

Thank you Vicancy,
I am using standard SignalR so that I am creating cookies on client side (website) and also via hubConnection.CookieContainer.Add (desktop app)... When you fix it will be these cookies also available on server side? Because currently I tried to use hub.Context.Request to get cookies but there is cross-domain issue.

Are there any news about this issue? Right now we are using the workaround described here https://github.com/Azure/azure-signalr/issues/108

I am afraid not, only QueryString and Headers will be preserved. @petkoo55
It will be released in next version. @jraristi


Unify snackbars

This unifies the snackbar behaviour. It will always announce the message via the SemanticsService (are there cases where we do not want that @Eddie-42 ?). There are also 3 predefined lengths of visibility for the SnackBar.
Also, adds a "replace" parameter that allows to replace the whole SnackBar queue (and hiding the current SnackBar). That's especially important in the "EditProfileFeatures" page where it was previously possible to create an insanely long queue.

I like this. We should maybe also do this for other stuff, like Padding, font size etc.

Yes but those should be defined in a constants file somewhere, that's a little bit different.


change ABY protocol so it takes individual server and client hosts

replace ABY(hosts: HostSet) with ABY(client: Host, server: Host). this makes the ABY backend a bit cleaner

closed by https://github.com/apl-cornell/viaduct/pull/89


Add a new entry in vault_trusted_domains

Hi there,
I suggest you to consider adding a new entry in the section related to vault_trusted_domains in your provision_vault.yml, as follows:
vault_trusted_domains:
  - '^stage\.{{vault_site_domain}}\.{{vault_company_name}}\.com$'
  - '^.+\.{{vault_site_domain}}\.{{vault_company_name}}\.com$'
  - '^{{vault_site_domain}}\.{{vault_company_name}}\.com$'

Thank you so much for your contributions.
Have a nice day!


pydantic, orm_mode error ? API ?

I have an error issue...
So I try refresh a new API (v3)
.../pipx/venvs/youte/lib/python3.11/site-packages/pydantic/_internal/_config.py:317: UserWarning: Valid config keys have changed in V2:
* 'orm_mode' has been renamed to 'from_attributes'
  warnings.warn(message, UserWarning)
INFO | Getting API key from config file.
INFO | Getting page 1
^C
Aborted!

Do i need to upgrade pydantic ?
My youte version...
youte --version
youte, version 2.4.1

Thanks

@bonnebulle that looks like a warning from Pydantic. Pydantic was recently updated to v2, while youte still uses v1. The changes in v2 should not affect youte, however. Did you run into any other error message?

Sad news.
Hum I downgrade
Name: pydantic
Version: 1.10.13

same issue, no other error message..
How can I help, search ?

@bonnebulle Could you show me the steps you did and the error message you got?

Hey, thanks for quick answer !
I just upgrade all my python packages...
( including wfuzz )
but downgrade pydantic
(like I said previously)
(I will try a  pydantic upgrade to determine if it changing anyting)
So, now,
I keep have the same error...
but youte do the job.
You can find my bash script here

@bonnebulle Did the script stop running and nothing was returned, or did it just show you the UserWarning messages? Could you show me the output when you run the bash script? I can't run the script for some reason.


Snapcraft: Update Java example to use core22

Update the following how-to guide to use core22 (or core24):
https://snapcraft.io/docs/java-applications
This file has been moved to this repository
Background
Snapcraft's platform quickstart how-to guides help snap developers create a first snap with their chosen framework or development environment. Many of these guides become out of date and need to be revised. Specifically, they may need to be updated to address the following:

update the core snap to the latest supported (such as from core18 to core22)
an updated core will typically require changes to the associated plugin
replace an inappropriate or no longer relevant example

Prerequisites
You will need some experience building snaps, and some knowledge of the target framework or development environment.
See also Contribute to our documentation.

Hi,
I am interested in working on this issue. I'm first trying my hand at executing the current instructions in this guide.
Once I am able to complete the setup on my machine, I'd be in a better position to provide an estimate of task completion.

I'm trying to run the existing steps defined in Building the snap section in this guide.
I've tried the steps on a Ubuntu 22.04.4 LTS VM installed with multipass as well as MacOS.
Steps followed:

Install snapcraft
Clone the repository https://github.com/merlijn-sebrechts/freeplane-1
Run the snapcraft command.

The execution fails with the following error on both the environments:
Extension 'gnome-3-28' does not exist
I've tried to search on how to install this extension, but did not get any meaningful information.
I would like some pointers on this issue.

The current guide uses the following example repository:
https://github.com/merlijn-sebrechts/freeplane-1
The snapcraft.yaml file present here is dependent on the gradle plugin.
However, as mentioned in the Supported plugins page and the Gradle plugin page, the gradle plugin is only available to core and core18 based snaps.
Which means it is not supported for core22, and as such it results in an error when running the snapcraft command with core22 as base.
2024-03-20 18:59:01.897 Bad snapcraft.yaml content:
- plugin not registered: 'gradle' (in field 'parts.freeplane')

It seems the Freeplane application needs gradle to be built.
I will need some inputs on how to proceed with this, as it seems like a blocker to progress.

Hi @degville
I'd love to hear your thoughts on this.
Kind regards,
Aditya

Hello @adityasamant25. Sorry for the delay getting back to you on this. I was on holiday last week, and just go back to today. And thank you so much for the hard work you've already put into investigating the issue.
It looks like we may need to use a different plugin for a Java project, and it looks like the best approach might be to find a project using maven. This has been added to core22, and I'd start by searching GitHub for examples that use both core22 and maven, to see if any can be adapted for this guide. The search for doing this might look something like https://github.com/search?q=path%3A**%2Fsnapcraft.yaml+maven+core22&type=code.
I can see now this is a big task! I'd be happy to look for a better example myself and suggest one - it may just take me a little time, so also feel free to try out any of the projects that look suitable (if you also have the time!). For now, I'll assign the task to you as you've already put substantial effort into this and we can perhaps both look into better example maven-based projects.

Thank you @degville for your inputs.
Indeed, moving to a project using maven seems the best approach for now.
I'll try to look into an existing project that could be used. I do not have much experience creating snaps, but if I get the time I'll also try my hands at building a simple spring boot based Java project and create a snap for it.

Hi @degville,
The following project builds successfully with a core22 base and a maven plugin.
https://github.com/frossm/cal
I have tested it using the following steps:

Create a new Ubuntu VM using multipass.
multipass launch --disk 10G --memory 3G --cpus 2 --name playground jammy

SSH into the VM
multipass shell playground

Clone the repository:
git clone https://github.com/frossm/cal.git

Install snapcraft:
sudo snap install snapcraft --classic

Initialize LXD:
lxd init --auto

Enter the cal directory:
cd cal

Run the snapcraft command:
snapcraft

Install the snap locally:
sudo snap install fcal_*.snap --devmode --dangerous

Run the snap:
fcal

This shows a calendar on screen, confirming that the snap ran successfully.

Removed the snap:
sudo snap remove

Important points to note:

On my previous VM, I had docker installed. This conflicted with the LXD networking as described here

I did not fully test the publish and upload of the snap as the registration of the name takes some time.

We need to decide if this app can serve as a good example for this 'how-to' guide.

If it seems like a good example, I can start working on the actual document changes.
Awaiting your feedback.
Kind regards,
Aditya

@adityasamant25 That looks perfect. Thank you so much for looking into this so deeply, and well done getting the snap to build. I think it's a great example. Please feel free to modify the how-to using this project as a base - don't worry about the publishing part.

@degville Do I need to modify the document in the Discourse forum present here?
https://forum.snapcraft.io/t/java-applications/7819

@degville Do I need to modify the document in the Discourse forum present here? https://forum.snapcraft.io/t/java-applications/7819

Good question, and I'm sorry I didn't address this in the issue itself. If you feel comfortable editing that document, then yes - by all means, please go ahead. That's how we usually work with those documents. Equally, if you prefer, I don't mind moving the doc to this repository where you may want to create a pull request. Either way works.

I'm much more comfortable working via pull requests. If you can please move the document as a .md file in the open-documentation-academy repository, that would be great.

If you can please move the document as a .md file in the open-documentation-academy repository, that would be great.

@adityasamant25  More than happy to. As you've probably already seen, you can now find this file in the repository:
https://github.com/canonical/open-documentation-academy/blob/main/snapcraft/how-to/java-applications/java-applications.md

@degville Thank you. I will begin work on this today. I'll try to raise a PR before 2nd April.

@adityasamant25 Thanks for the estimate - I don't think I'll be able to look at anything before the 6th April, so please don't feel like there's any rush. Also, feel free to be bold with that document (or not!). There's a lot of boiler-plate text in there that's copied across those old how-tos, and you may not feel the text is necessary or effective. Just cut it or replace it, as you see fit. And thanks again for looking at this.

@degville I have created a PR for this issue. https://github.com/canonical/open-documentation-academy/pull/45

Big thank you to @adityasamant25 for working through this issue, contributing an updated document, and migrating the document to the forum! This issue is now closed. https://forum.snapcraft.io/t/java-applications/7819/


Froala editor issue with Angular

Hi,
I am using the Froala Editor with Angular on my site. I am getting issue
"Froala requires jQuery, are you loading it before Angular? <textarea id="txtPostEditor" froala="addPost.froalaOptions" ng-model="addPost.welcomeMessage" class="ng-pristine ng-untouched ng-valid ng-isolate-scope""
Did anybody faced this issue? Please help.
Regards,
Manik Mittal

Even though, I have kept the js file reference in the order
jquery
Froala
Angular
Angular-Froala

I also get this

How did you do that? Can you share some sample code?

How did you do that? Can you share some sample code?

sorry @manikmi I tried that again and it didn't work. I'm doing some debugging and it looks like the problem is not only applicable to angular-froala but froala in general. At least when using in conjunction with angular.
$('#edit').editable({});

When that line executes it doesn't seem like Froala is loaded as $('#edit') exists but $('#edit').editable is undefined.
Still investigating...

@manikmi Are you using mail chimp by any chance? I found my issue, see here http://stackoverflow.com/questions/24599084/mailchimps-mcj-jquery-noconflicttrue-causing-conflict
The line
<script type='text/javascript' src='//s3.amazonaws.com/downloads.mailchimp.com/js/mc-validate.js'></script><script type='text/javascript'>(function($) {window.fnames = new Array(); window.ftypes = new Array();fnames[0]='EMAIL';ftypes[0]='email';}(jQuery));var $mcj = jQuery.noConflict(true);</script>

caused some nastiness.

Hi Chris,
I got pass my issue. I was using a js from saavn.com, which I removed. It
worked for me.
Thanks a lot for helping,
Manik Mittal
On Fri, May 29, 2015 at 7:17 AM, Chris Asche<EMAIL_ADDRESS>wrote:

@manikmi https://github.com/manikmi Are you using mail chimp by any
chance? I found my issue, see here
http://stackoverflow.com/questions/24599084/mailchimps-mcj-jquery-noconflicttrue-causing-conflict
The line

caused some nastiness.
—
Reply to this email directly or view it on GitHub
https://github.com/froala/angular-froala/issues/23#issuecomment-106652649
.

--
Regards,
Manik Mittal


Code collaboration/improved argument parsing with click

Hi Guys,
I saw you were doing a python 3 build ahead of what I hear is a release of BAGEL2 and I thought I'd help out if you're OK with that.
I work for Horizon Discovery and as I hope you know, we're a big fans of your tools, and if it isn't too presumptuous I'd love to help collaborate on making the tool a bit more developer friendly.
I didn't want to muck about with it too much to start with so in this refactor all I've really done is add in the python library dependency 'Click'  (https://click.palletsprojects.com/en/7.x/) to handle the argument parsing logic and also broken your 3 sub-commands up into separate executable functions to divide up the logic.
This obviously will look like an 100% diff, but I hope you can see pretty quickly it's not that at all.
Click doesn't like prefixes for required arguments (e.g. -i, -e, -o, -n) so currently in this build they're not required anymore.
e.g. BAGEL.py   fold_change.txt   out.txt   ess_.txt   non_ess.txt
Instead of:
BAGEL.py   -i fold_change.txt   -o out.txt   -e ess_.txt   -n non_ess.txt
If you're really against this then I can switch it to being required options rather than arguments (it'll look the same), but in truth there's actually nothing to stop people putting the wrong path in for the prefix provided and this method does have it's advantages. I'm happy either way, just let me know.
Other changes:
I've added is to move all imports to the top. This will allows people to check all dependencies at once for installation purposes.
I've also removed from numpy import * and switch this to the recommended practice of import numpy as np and then calling np.<func_name>.
Finally I've changed a couple the variable names to lower case in compliance with pep8 (can change them back, but we can probably move away from constants to defaults if you're happy with this).
I've done some basic checks on my end and the results were identical when the seed was set to be the same (but obviously you will be better able to do this). If you've got test files and commands and expected outputs, feel free to throw them my way and I'll make sure the code is compliant.

If you think these changes are helpful to you, but you want somethings put back to the way they were or more done please let me know.
Or if you're happy with it as is, the if you could merge the change and I will continue to refactor small parts of the code (with the aim of leaving the logic completely untouched) to make it more modular and pep8 compliant similar to how I helped with drugZ, which I see made it into the final product :).
As always thanks for producing excellent tools for Bioinformatics
Cheers,
John

Thank you for supporting BAGEL development. I really appreciate it.
I'll look into the code carefully and discuss it with Traver.
Best regards,
Eiru Kim.

Dear John,
The code looks great and clear.
I discussed it with Traver and we decided to keep required options rather than arguments for flexibility. Could you please switch them to the required options(-i,-o,-e,-n)?
Then, I'll merge it.
Thank you for your support!
Best regards,
Eiru Kim.

Hi Eiru,
That's great. and no problem at all. I've done as requested (in hindsight it probably does make it much easier for legacy users :) ) and I've updated the docstrings and help messages to reflect these changes.
Once this code is merged, I think if you're happy for me to continue I'll convert the use of print() in the code to use a proper python logger object, which will then give you the ability to specify more or less output to the screen to help debug the code, as well as differentiate between information, warnings, and errors. It's not a large change, but it'll make the output a little clearer.
Also, I noticed when running in cross-validation mode that the output no longer includes the no. of observations or the std. deviation in the bayes factor. Is this just because the number of observations would be very low and so look odd? Or is there a more complicated reason for the exclusion of the columns?
Many thanks,
John


Update gpg key by running docker_gen_keys.sh. Following playbook nodejs-docker/README.developer.md.

Some of the versions in the lock file got downgraded. That's a little bit concerning at the beginning. After checking the lockfile version and dependencies in https://github.com/GoogleCloudPlatform/nodejs-docker/blob/master/runtime-image/package.json, I think those downgrade is due to transitive dependencies of the changes in the package.json file. So, seems safe to me. Please don't hesitate to raise any concerns.


move agol column renaming to transform, add a check

load.FeatureServiceUpdater and transform.APIGeocoder.geocode_dataframe() both call utils.rename_columns_for_agol(). This should be moved to transform, possibly under DataCleaning. The geocoder and updater should just be concerned with updating, leaving any modifications to an earlier step.
In doing so, we should have a utils.FieldChecker method for verifying field names are valid AGOL names... except maybe this is already covered by 'check_fields_present`?

fixed by b96701b5


headers as bytes

I'm working through trying to emit headers that are as unprocessed as possible. aiohttp's response object has a raw_headers variable that's a list of 2ples (good) and the values are bytes, not str. That ought to be good, right? But the warcio code appears to assume that the headers are str (python3).
While I could certainly decode the headers before calling warcio, and the charset iso-8859-1 is safe for round-tripping like that, I'm just wondering if taking str is a bad interface. You aren't doing https://tools.ietf.org/html/rfc5987 processing, for example, if non-ISO-8859-1 codepoints are in the str.

Yeah, this is consistent with most other python libraries it seems, except aiohttp. Probably because httplib, and therefore urllib3 and requests all return HTTP headers as native strings. PEP 3333 also specifies that headers are to be sent as native strings.
I don't know the reasoning for this and perhaps this wasn't the right call.. (for example, requests just recently fixed an issue related to header encoding: https://github.com/kennethreitz/requests/issues/3888) but seems to be the more consistent thing to do in relation to general python treatment of http headers?
@nlevitt do you have any thoughts on this?

aiohttp's normal response headers object is str, but it has done processing like removing the set cookies into a separate object. So I guess a normal user of aiohttp would always see str. Just another nit that an archivist would run into.
(On the request side, aiohttp computes the full outgoing headers, makes the request, and then discards the request object. Gah.)

I like bytes.

I'm inclined to keep it as is for now. Switching warcio.StatusAndHeaders to use bytes over str would be a significant, breaking change and the implications of the change aren't clear yet.
The library was written with the read use case in mind first, and writing was added later. As Python 3 generally treats headers as str, it is not clear that this change would make the warcio as a library easier to use. Currently, the statusline and headers can be sent back to a WSGI start_response directly:
start_response(record.http_headers.statusline, record.http_headers.headers)

with the change, the user would then have to deal with the conversion from bytes->str
Don't really have time to work on this now, but can keep this open to come back at a later time.

Perhaps a simple conversion function to convert from a byte-tuple list could be added to help this use case. Or, can automatically check the headers in the constructor and auto-convert. Do you have time/want to add a simple PR for that @wumpus ?

Yeah, I can do that, it's code I was just writing so I could use the existing API :-)

Thanks for the PR! Released in warcio 1.4.0!


Configure control.

every time i go to play with someone i have to open the control options and map again to play, after leaving and entering another fight i have to redo the process, is anyone else having this problem?

Do you know where the emulator is meant to store the config bindings in a normal install of Fightcade?
I've confirmed this on my end, it's likely that I need to just give FBNeo a file to write to.

I'm merging https://github.com/flathub/com.fightcade.Fightcade/pull/5 into the beta branch which fixes this issue. Feel free to re-open this if that doesn't resolve it for you.
Thanks!


Explicity use the {minor_version, 1} option with term_to_binary when …

…calculating the revision id.
This uses the 64-bit IEEE format for floats, making the binary representation consistent between OTP versions before and after 17.0.
This also makes it easier for third parties to replicate the md5 portion of the revision id calculation.

Triggering a rebuild of Travis-CI

First line is too long (76 chars max pls) and has a typo. Please also file a JIRA ticket and refer to it in the comment (COUCHDB-XXXX as last line).


Issue with Grid Sampler while converting from Pytorch to ONNX

Hi @TrojanXu ,
I am trying to convert the Pytorch model to the ONNX model. But whie exporting I am facing an error as: RuntimeError: Exporting the operator grid_sampler to ONNX opset version 12 is not supported.
May I know how to resolve this issue?
As I have seen that you have written Grid sampler TRT plugin, so that can be used while converting from ONNX to TRT right? if yes then how do we have a ONNX model with grid sampler Op(which is not supported in ONNX)?
Thanks and Regards,
Darshan C G

https://github.com/TrojanXu/onnxparser-trt-plugin-sample/blob/master/test_plugin_result.py#L64-L72 I addressed this issue by this piece of code.

Hi @TrojanXu,
Thanks for your reply. I am able to convert my model to ONNX.
I am facing difficulty in converting from ONNX to TRT.
Can I create the plugin(.so) file with the below-attached Makefile? instead of Building the TRT OSS Project:
CC=g++
LD=ld
CXXFLAGS=-Wall -std=c++11 -g -O

NVCC=nvcc

cpu_arch=$(shell uname -m)
ifeq ($(cpu_arch), aarch64)  # Jetson
  chip_id=$(shell cat /sys/module/tegra_fuse/parameters/tegra_chip_id)
  ifeq ($(chip_id), 33)       # Nano and TX1
    compute=53
  else ifeq ($(chip_id), 24)  # TX2
    compute=62
  else ifeq ($(chip_id), 25)  # Xavier NX
    compute=72
  else
    $(error Cannot determine cuda compute automatically, so please modify Makefile manually)
  endif
else ifeq ($(cpu_arch), x86_64)  # x86_64 PC
  $(warning "compute=75" is for GeForce RTX-2080 Ti.  Please make sure CUDA compute is set correctly for your system in the Makefile.)
  compute=75
else
  $(error Unkown CPU architecture: neither "aarch" nor "x86_64")
endif

NVCCFLAGS=-m64 -gencode arch=compute_$(compute),code=sm_$(compute) \
               -gencode arch=compute_$(compute),code=compute_$(compute)

# These are the directories where I installed TensorRT on my x86_64 PC.
TENSORRT_INCS=-I"/usr/local/TensorRT-<IP_ADDRESS>/include"
TENSORRT_LIBS=-L"/usr/local/TensorRT-<IP_ADDRESS>/lib"

# INCS and LIBS
INCS=-I"/usr/local/cuda/include" $(TENSORRT_INCS) -I"/usr/local/include" -I"plugin"
LIBS=-L"/usr/local/cuda/lib64" $(TENSORRT_LIBS) -L"/usr/local/lib" -Wl,--start-group -lnvinfer -lnvparsers -lnvinfer_plugin -lcudnn -lcublas -lcudart_static -lnvToolsExt -lcudart -lrt -ldl -lpthread -Wl,--end-group

.PHONY: all clean

all: gridSamplerPlugin.so

clean:
	rm -f *.so *.o

gridSamplerPlugin.so: gridSamplerPlugin.o
	$(CC) -shared -o $@ $< $(LIBS)

gridSamplerPlugin.o: gridSamplerPlugin.cpp gridSamplerPlugin.h
	$(NVCC) -ccbin $(CC) $(INCS) $(NVCCFLAGS) -Xcompiler -fPIC -c -o $@ $<

I suppose so. If you would like to use the specific gridSamplerPlugin by compiling the plugin itself, I suggest you refer to this project https://github.com/NVIDIA/trt-samples-for-hackathon-cn/tree/master/python

@Darshcg
Were you able to create the .so file and execute trtexec?
If yes could you send the Makefile you used finally and how to run it?


Join lines and save layers

According to best practices you should minimize the number of layers if this doesn't impact readability, which I think can be done by combining multiple ENV lines in one multiline statement, for instance like this for the 8-jre version:
ENV LANG=C.UTF-8 \
	JAVA_VERSION=8u45 \
	JAVA_DEBIAN_VERSION=8u45-b14-1

This saves two layers. Three if you push in the CA_CERTIFICATES_JAVA_VERSION line too, which I think actually wouldn't be a good thing, in terms of readability.
And I don't know whether unzip is actually needed. If not, it's a best practice to avoid installing unnecessary packages.  If it is necessary, you can add it to the same line as where you install the jre package (actually to the same apt-get install statement) saving another layer in the image and possibly a tiny bit of time in the build.

Looks like unzip was added in #3. I agree that it's not necessary, but it's possible that removing it would break some existing users. If it's not a particularly large package, it may be best to just leave it.

The justification for unzip was in the spirit of buildpack-deps -- all the tools most people need to get off the ground running with nothing but the base image included by default.  Since the jre image doesn't have javac, you're more likely going to be grabbing pre-built artifacts like jar files, so I'd still hold that both curl and unzip are useful to have by default IMO.  Looking at docker history java, the line that installs unzip does only amount to 786.4 kB. :+1:
As for why it's on a separate line, that's actually so we can try to get some overlapping cache from different tags of the image.
The ENV lines could be combined, but it would make the update.sh script that automates their replacement more complicated, so I'm open to it, but only if the script changes are minimal :+1: (since I'm concerned about maintainability as much as usability -- the most usable image in the world will be pointless if we can't keep it up-to-date effectively :smile:).

The justification for unzip was in the spirit of buildpack-deps -- all the tools most people need to get off the ground running with nothing but the base image included by default. Since the jre image doesn't have javac, you're more likely going to be grabbing pre-built artifacts like jar files, so I'd still hold that both curl and unzip are useful to have by default IMO. Looking at docker history java, the line that installs unzip does only amount to 786.4 kB. :+1:

I forgot that the *-jre variants don't have jar in them, so having unzip makes sense at less than 800k.

I was missing the context of the update.sh script. It all makes much more sense now :smile:. I'm really impressed by the code with which you determine the debian version. Very crafty indeed :+1:. That said, I think the fix for the combined ENV lines should be pretty simple. I'm at work now, but I'll send you a pull request later today (after I had time to test it on my docker box at home :wink:)

@tianon, I think I succeeded in keeping the script changes minimal. I hope you agree :smile:.
About having unzip on a separate line, what would be the benefit of the cache overlap; saving time or space? For such a small package, wouldn't the bulk of the time go into the apt-get update and rm -rf /var/lib/apt/lists/*? At the moment you're doing both of those twice.
And you yourself argued that the space for the package is minimal. Wouldn't following the best practice of reducing the number of layers trump this small saving of space?
Sincerely interested in your thoughts on this.

@hilhorst It can't be build cache overlap since each of the 6 variant images have a different FROM buildpack-deps:* (e.g. java:6-jdk has wheezy-scm while 6-jre has wheezy-curl, and 6, 7, and 8 use wheezy, jessie, and sid respectively).

@md5 It would cache earlier builds for the same variant, though. In which case we might be getting an older version of the unzip package than anticipated;  because we don't specify a version for the unzippackage, we'd expect to get the latest version, but instead the RUN commands still match and we get the same version as when the image was built for the first time, because that is what was cached.
Come to think of it, how does caching work for the FROM line? Because it's built on Docker Hub, I assume we'd be using the latest cached version of the build for that image. So, if that image changes, we'd get the latest version on the next build, but wouldn't the build cache be invalidated from that point on? And would this be different for local builds?
That said, I think it might be an even better idea to add the unzip package to the same apt-get install statement as where we install openjdk. Not just for saving a layer, but also for getting the latest version of the package. I hope this makes sense :smile:.

@hilhorst The official images are built on their own server, not on Docker Hub itself. The build scripts are written to rebuild dependent images as necessary. My understanding is that a single build box is being used for the images (in addition to @tianon and @yosifkit's local builds), so the cache on that server persists over time.
As for the unzip package, what you're saying about not picking up a new version makes sense in the abstract, but moving it into the same apt-get line as the JRE/JDK itself won't fix that definitively without also specifying an unzip version. Doing that wouldn't make a ton of sense since there a bunch of unlisted dependencies of the openjdk-* packages that are not having their specific versions called out.
I think if there were a problem with the unzip package that resulted in a new version being released (say a CVE or DSA), I'm assuming that the base debian images would be rebuilt. This was recently done for a curl vulnerability I believe. See https://github.com/docker-library/buildpack-deps/issues/24, where the vulnerability is mentioned, though I think it was closed by https://github.com/docker-library/official-images/pull/696, which doesn't mention it.


Add pfif-tools tests to Travis script.

Never mind, there's stuff to sort out here that's going to change with Python 3 anyway. Since the only development we're doing on this anytime soon is to move to Python 3, it doesn't make sense to put much effort into getting the tests running on Python 2.


Allow the docs-searchbar to be invoked using keyboard shortcut

Description
The idea is to allow users to invoke the Meilisearch frontend search bar using a keyboard shortcut like cmd + K. A keyboard shortcut implementation to invoke the search bar is already present in the Algolia search bar and also Slack search bar and it makes it easier for users to do a search rather than have to go to the search bar in the navigation bar every time.
Basic example
The user can invoke the search by using a keyboard shortcut.
Algolia's implementation for reference:

Would love to know your feedback @bidoubiwa

Hello!
Unfortunately this is not planned. docs-searchbar.js tooked inspiration from the previous version of the docs-scrapper of Algolia. They completely reworked their package and it has now way more features that this package does not have.
When we update this package we might have that feature!


Contributing guidelines

Closes #191

@flbulgarelli anything else you want to say? If it's ok, I'll continue with the English version.

Me parece correctín!
Digo...
It looks good to me.  We should add this to all main repos.
I'd add however notes about the following:

Language: we should clearly state that issues can be submitted both in spanish and english. And that issues added to guides should be in the language of the guide.
That we adhere to the contributor covenant which is quite standard nowadays
We may also add guidelines about contributing to the source code. Now I am short of ideas. @fedescarpa? @aguspina ?

Language: we should clearly state that issues can be submitted both in spanish and english. And that issues added to guides should be in the language of the guide.

Ok with this one, the others are not suitable for this repository because it has no code.


Use native log10 for logBase with base of 10

Current logBase implementation is not precise enough. For example: logBase 10 100 == 2 but logBase 10 1000 /= 3.
The proposed change is to use a separate native Javascript log10 function for logs with base 10.
This would close #1048

Would it make sense to special case also Math.log2 and Math.log1p?

This seems to fail to compile, due to using the == operator in Base.elm, where it is defined:
> elm make
Detected problems in 1 module.
-- UNKNOWN OPERATOR --------------------------------------------- src/Basics.elm

I do not recognize the (==) operator.

621|   if base == 10 then
               ^^
Is there an `import` and `exposing` entry for it?

I would like to add this PR to elm-janitor: https://github.com/elm-janitor/manifesto/blob/master/README.md
Would you be able to fix the compile error to get this patch over the line?

I have another suggestion, which is to extend the test over a larger range of powers of 10. This will test the entire range of a double precision float:
        log10Tests =
          describe "Check accuracy of log base 10"
            (List.map
              (\i -> test ("logBase 10 " ++ (10^i |> toString)) <|
                \() -> Expect.equal (toFloat i) (logBase 10 (10^(toFloat i)))
              )
              (List.range -308 308)
            )


cannot create directory '/app/fyne-cross/bin/windows-amd64': Permission denied

Describe the bug:

Trying to create a cross-compile build fails early with permission errors
To Reproduce:
Steps to reproduce the behaviour:

Run any fyne-cross command
See error could not create the "bin" dir /app/fyne-cross/bin/windows-amd64: exit status 1

Example code:

Device and debug info (please complete the following information):
Device info

OS: Linux
Version: Ubuntu 23.04 (running in VMWare on a macOS host)
Go version: go version go1.20.3 linux/amd64
fyne-cross version: v1.4.0
Fyne version: v2.3.5

Debug info
paul@kubuntu:~/src/personal/mastotool$ fyne-cross windows -debug -pull --no-cache
[i] Target: windows/amd64
&command.localContainerImage{baseContainerImage:command.baseContainerImage{arch:"amd64", os:"windows", id:"windows-amd64", env:map[string]string{"CC":"zig cc -target x86_64-windows-gnu -Wdeprecated-non-prototype -Wl,--subsystem,windows", "CXX":"zig c++ -target x86_64-windows-gnu -Wdeprecated-non-prototype -Wl,--subsystem,windows", "GOARCH":"amd64", "GOOS":"windows"}, tags:[]string(nil), mount:[]command.containerMountPoint{command.containerMountPoint{name:"project", localHost:"/home/paul/src/personal/mastotool", inContainer:"/app"}}, DockerImage:"docker.io/fyneio/fyne-cross-images:windows"}, runner:(*command.localContainerEngine)(0xc0000a8090)}
[i] Checking for a newer version of the docker image: docker.io/fyneio/fyne-cross-images:windows
/usr/local/bin/docker pull docker.io/fyneio/fyne-cross-images:windows
windows: Pulling from fyneio/fyne-cross-images
Digest: sha256:6bec023193006495217fd8f8c9da305ed20865f3698bc6ce013bd0e49d89c795
Status: Image is up to date for fyneio/fyne-cross-images:windows
docker.io/fyneio/fyne-cross-images:windows
What's Next?
View summary of image vulnerabilities and recommendations → docker scout quickview docker.io/fyneio/fyne-cross-images:windows
[✓] Image is up to date
[i] Cleaning target directories...
/usr/local/bin/docker run --rm -t -w /app -v /home/paul/src/personal/mastotool:/app:z --platform linux/amd64 -u 1000:1000 --entrypoint fixuid -v /tmp/ssh-XXXXXXQKcu6A/agent.1448:/tmp/ssh-agent -e SSH_AUTH_SOCK=/tmp/ssh-agent -e CGO_ENABLED=1 -e GOCACHE=/go/go-build -e GOOS=windows -e GOARCH=amd64 -e CC=zig cc -target x86_64-windows-gnu -Wdeprecated-non-prototype -Wl,--subsystem,windows -e CXX=zig c++ -target x86_64-windows-gnu -Wdeprecated-non-prototype -Wl,--subsystem,windows docker.io/fyneio/fyne-cross-images:windows rm -rf /app/fyne-cross/bin/windows-amd64
fixuid: fixuid should only ever be used on development systems. DO NOT USE IN PRODUCTION
fixuid: runtime UID '1000' already matches container user 'docker' UID
fixuid: runtime GID '1000' already matches container group 'docker' GID
/usr/local/bin/docker run --rm -t -w /app -v /home/paul/src/personal/mastotool:/app:z --platform linux/amd64 -u 1000:1000 --entrypoint fixuid -v /tmp/ssh-XXXXXXQKcu6A/agent.1448:/tmp/ssh-agent -e SSH_AUTH_SOCK=/tmp/ssh-agent -e CGO_ENABLED=1 -e GOCACHE=/go/go-build -e CC=zig cc -target x86_64-windows-gnu -Wdeprecated-non-prototype -Wl,--subsystem,windows -e CXX=zig c++ -target x86_64-windows-gnu -Wdeprecated-non-prototype -Wl,--subsystem,windows -e GOOS=windows -e GOARCH=amd64 docker.io/fyneio/fyne-cross-images:windows mkdir -p /app/fyne-cross/bin/windows-amd64
fixuid: fixuid should only ever be used on development systems. DO NOT USE IN PRODUCTION
fixuid: runtime UID '1000' already matches container user 'docker' UID
fixuid: runtime GID '1000' already matches container group 'docker' GID
mkdir: cannot create directory '/app/fyne-cross/bin/windows-amd64': Permission denied
[✗] could not create the "bin" dir /app/fyne-cross/bin/windows-amd64: exit status 1

Could you try the develop branch of fyne-cross? Also by any chance, do you have any of the 'fyne-cross/bin/windows-amd64' path existing in your current project? And if yes, what are their owner?

@Bluebugs same result with develop branch.
If I understand your path question properly, I don't think so.
paul@kubuntu:~/src/personal/mastotool$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/paul/go/bin

I meant for the path inside your repository. If there is a fyne-cross one and the access right/ owner name sense and same for all the sub directory.

Ah, I see @Bluebugs.  Here you go:
paul@kubuntu:~/src/personal/mastotool$ fyne-cross windows
[i] Target: windows/amd64
[i] Cleaning target directories...
mkdir: cannot create directory '/app/fyne-cross/bin/windows-amd64': Permission denied
[✗] could not create the "bin" dir /app/fyne-cross/bin/windows-amd64: exit status 1
paul@kubuntu:~/src/personal/mastotool$ ls -lR fyne-cross
fyne-cross:
total 12
drwxr-xr-x 2 paul paul 4096 Aug 17 16:39 bin
drwxr-xr-x 2 paul paul 4096 Aug 17 16:39 dist
drwxr-xr-x 2 paul paul 4096 Aug 17 16:39 tmp

fyne-cross/bin:
total 0

fyne-cross/dist:
total 0

fyne-cross/tmp:
total 0

paul@kubuntu:~/src/personal/mastotool$ id
uid=1000(paul) gid=1000(paul) groups=1000(paul),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),122(lpadmin),133(lxd),134(sambashare)

Am getting something similar, but on MacOS.
[i] Target: windows/amd64
[i] Cleaning target directories...
docker: Error response from daemon: error while creating mount source path '/host_mnt/private/tmp/com.apple.launchd.Ll0aUQ4a1W/Listeners': mkdir /host_mnt/private/tmp/com.apple.launchd.Ll0aUQ4a1W/Listeners: operation not supported.
[✗] could not clean the "bin" dir /app/fyne-cross/bin/windows-amd64: exit status 125

Am getting something similar, but on MacOS.
[i] Target: windows/amd64
[i] Cleaning target directories...
docker: Error response from daemon: error while creating mount source path '/host_mnt/private/tmp/com.apple.launchd.Ll0aUQ4a1W/Listeners': mkdir /host_mnt/private/tmp/com.apple.launchd.Ll0aUQ4a1W/Listeners: operation not supported.
[✗] could not clean the "bin" dir /app/fyne-cross/bin/windows-amd64: exit status 125

@bogdanciuca I got around this by allowing my host's /tmp folder to be mounted by Docker.  It feels slimy and probably not the most secure thing to do...

I have to look at the detail, but that last error is related to access to the ssh agent to propagate ssh key for go to download private module. What exactly did you do to make it work?

@Bluebugs, I apologize for my tardy response.  Life has gotten the better of me...
I am using Docker Desktop on macOS, so this is what I did

@bogdanciuca would you mind checking if this also solve your issue? If so, I think the problem is with the propagation of the ssh agent access for private repository. Will have to figure a way to detect this configuration in docker.

@PaulWaldo thanks for the tip, but it looks like I have the same file sharing settings as you.
@Bluebugs Doesn't seem so. Also, I'm not using any other private repo (except the one being built).

I think there is something going with docker for Mac in this configuration. Good news, I can reproduce, but I don't know what is going on yet.

@Bluebugs any ideas on the original error could not create the "bin" dir /app/fyne-cross/bin/windows-amd64: exit status 1? I also see @bogdanciuca's problem for the other platforms
❯ fyne-cross linux
[i] Target: linux/amd64
[i] Cleaning target directories...
docker: Error response from daemon: error while creating mount source path '/host_mnt/private/tmp/com.apple.launchd.aUlAu9fgDk/Listeners': mkdir /host_mnt/private/tmp/com.apple.launchd.aUlAu9fgDk/Listeners: operation not supported.
[✗] could not clean the "temp" dir /app/fyne-cross/tmp/linux-amd64: exit status 125
❯ fyne-cross darwin -app-id xyzzy
[i] Target: darwin/amd64
[i] Cleaning target directories...
docker: Error response from daemon: error while creating mount source path '/host_mnt/private/tmp/com.apple.launchd.aUlAu9fgDk/Listeners': mkdir /host_mnt/private/tmp/com.apple.launchd.aUlAu9fgDk/Listeners: operation not supported.
[✗] could not clean the "temp" dir /app/fyne-cross/tmp/darwin-amd64: exit status 125

When you say other platform, do you mean using fyne-cross on a different host os or using it to target a different os? If the latter, it will not be surprising as it should affect all target.

@Bluebugs Let me know if you'd prefer to track my problem in a separate git issue.

@Bluebugs i meant targeting different platforms. I only have Macs.

In that case it is likely the same problem.

I finally figured out what, at least with ssh-agent, is going on. Hopefully once I have that in a PR it will fix the other problem. Basically on MacOS, the container run in a VM and so can't access directly the SSH_AUTH_SOCK of the host. Docker decided to do an automatic dark magic by having a magic path in the VM: /run/host-services/ssh-auth.sock whenever the host has a ssh agent running. This path is hard coded and will magically work. So the logic for darwin host is to use that path when a SSH_AUTH_SOCK is present instead of the content of SSH_AUTH_SOCK.

Excellent find @Bluebugs.  I'll be happy to test when available.
Docker on macOS does do black magic like that sometimes 🤨

If you guys don't mind testing https://github.com/fyne-io/fyne-cross/pull/203 to see if that solve your issues.

@Bluebugs I have good news and bad news.  It looks like your fixed resolved this specific issue 👍:
❯ fyne-cross windows -app-id com.example.myapp
[i] Target: windows/amd64
[i] Cleaning target directories...
[✓] "bin" dir cleaned: /app/fyne-cross/bin/windows-amd64
[✓] "dist" dir cleaned: /app/fyne-cross/dist/windows-amd64
[✓] "temp" dir cleaned: /app/fyne-cross/tmp/windows-amd64
[i] Checking for go.mod: /Users/paul/src/personal/mastotool/go.mod
[✓] go.mod found
[i] Packaging app...
error obtaining VCS status: exit status 128
	Use -buildvcs=false to disable VCS stamping.

error building application: exit status 1
[✗] could not package the Fyne app: exit status 1

So, it gets further, but the end-to-end process is still failing.  Should I create a separate Issue for the buildvcs problem?
FYI, I noticed that your PR had a CI failure, probably transient:
docker: Error response from daemon: Head "https://registry-1.docker.io/v2/fyneio/fyne-cross-images/manifests/web": received unexpected HTTP status: 503 Service Unavailable.

That's an interesting progress. We got report of that issue about buildvcs by other. That one is a different problem and I need to just generate new image. Will try to do that today.

That was me on Slack 🤓

I have released a new version of fyne-cross-image that should address your buildvcs error. Let me know if things are working with fyne-cross developer branch and the latest fyne-cross-image.

Hello, I use macOS and faced the same issues (docker: Error response from daemon: error while creating mount source path). I can confirm that fyne-cross's develop branch fixed the issue, without having to add /tmp to shared folder in Docker Desktop settings.
❯ fyne-cross linux -arch='*'
[i] Target: linux/amd64
[i] Cleaning target directories...
[✓] "temp" dir cleaned: /app/fyne-cross/tmp/linux-amd64
[✓] "bin" dir cleaned: /app/fyne-cross/bin/linux-amd64
[✓] "dist" dir cleaned: /app/fyne-cross/dist/linux-amd64
[i] Checking for go.mod: /Users/gaugendre/Projects/fyne-test/go.mod
[✓] go.mod found
[i] Packaging app...
[✓] Package: "/Users/gaugendre/Projects/fyne-test/fyne-cross/dist/linux-amd64/fyne-test.tar.xz"
[i] Target: linux/386
[i] Cleaning target directories...
[✓] "bin" dir cleaned: /app/fyne-cross/bin/linux-386
[✓] "dist" dir cleaned: /app/fyne-cross/dist/linux-386
[✓] "temp" dir cleaned: /app/fyne-cross/tmp/linux-386
[i] Checking for go.mod: /Users/gaugendre/Projects/fyne-test/go.mod
[✓] go.mod found
[i] Packaging app...
[✓] Package: "/Users/gaugendre/Projects/fyne-test/fyne-cross/dist/linux-386/fyne-test.tar.xz"
[i] Target: linux/arm
[i] Cleaning target directories...
[✓] "dist" dir cleaned: /app/fyne-cross/dist/linux-arm
[✓] "temp" dir cleaned: /app/fyne-cross/tmp/linux-arm
[✓] "bin" dir cleaned: /app/fyne-cross/bin/linux-arm
[i] Checking for go.mod: /Users/gaugendre/Projects/fyne-test/go.mod
[✓] go.mod found
[i] Packaging app...
[✓] Package: "/Users/gaugendre/Projects/fyne-test/fyne-cross/dist/linux-arm/fyne-test.tar.xz"
[i] Target: linux/arm64
[i] Cleaning target directories...
[✓] "bin" dir cleaned: /app/fyne-cross/bin/linux-arm64
[✓] "dist" dir cleaned: /app/fyne-cross/dist/linux-arm64
[✓] "temp" dir cleaned: /app/fyne-cross/tmp/linux-arm64
[i] Checking for go.mod: /Users/gaugendre/Projects/fyne-test/go.mod
[✓] go.mod found
[i] Packaging app...
[✓] Package: "/Users/gaugendre/Projects/fyne-test/fyne-cross/dist/linux-arm64/fyne-test.tar.xz"

❯ fyne-cross windows -app-id com.example.fyne-test
[i] Target: windows/arm64
[i] Cleaning target directories...
[✓] "dist" dir cleaned: /app/fyne-cross/dist/windows-arm64
[✓] "temp" dir cleaned: /app/fyne-cross/tmp/windows-arm64
[✓] "bin" dir cleaned: /app/fyne-cross/bin/windows-arm64
[i] Checking for go.mod: /Users/gaugendre/Projects/fyne-test/go.mod
[✓] go.mod found
[i] Packaging app...
  adding: fyne-test.exe (deflated 49%)
[✓] Package: "/Users/gaugendre/Projects/fyne-test/fyne-cross/dist/windows-arm64/fyne-test.exe.zip"

Sorry @Bluebugs, still the same problem:
❯ go get -u github.com/fyne-io/fyne-cross@develop
go: downloading github.com/fyne-io/fyne-cross v1.4.1-0.20230830175225-aac9d4e73d9e
go: downloading github.com/aws/aws-sdk-go v1.45.2
go: downloading k8s.io/kube-openapi v0.0.0-20230901164831-6c774f458599
go: upgraded github.com/aws/aws-sdk-go v1.44.332 => v1.45.2
go: upgraded github.com/fyne-io/fyne-cross v1.4.0 => v1.4.1-0.20230830175225-aac9d4e73d9e
go: upgraded k8s.io/kube-openapi v0.0.0-20230816210353-14e408962443 => v0.0.0-20230901164831-6c774f458599
❯ fyne-cross windows -app-id com.example.myapp -pull
[i] Target: windows/amd64
[i] Checking for a newer version of the docker image: docker.io/fyneio/fyne-cross-images:windows
[✓] Image is up to date
[i] Cleaning target directories...
[✓] "bin" dir cleaned: /app/fyne-cross/bin/windows-amd64
[✓] "dist" dir cleaned: /app/fyne-cross/dist/windows-amd64
[✓] "temp" dir cleaned: /app/fyne-cross/tmp/windows-amd64
[i] Checking for go.mod: /Users/paul/src/personal/mastotool/go.mod
[✓] go.mod found
[i] Packaging app...
error obtaining VCS status: exit status 128
	Use -buildvcs=false to disable VCS stamping.

error building application: exit status 1
[✗] could not package the Fyne app: exit status 1

@PaulWaldo have you tried clearing the local docker image to make sure it downloads the latest one?

Yeah, it seems to says in your log that it didn't download any image.

@Bluebugs Sorry, I was away for over a week now, just got home and gave it a try:
2023/09/02 20:17:08 Fyne error:  Failed to inject metadata init file, omitting metadata
2023/09/02 20:17:08   Cause: exit status 1
2023/09/02 20:17:08   At: /go/pkg/mod/fyne.io/fyne/v2@v2.3.5/cmd/fyne/internal/commands/build.go:215
go: errors parsing go.mod:
/app/go.mod:3: invalid go version '1.21.0': must match format 1.23

error building application: exit status 1
[✗] could not package the Fyne app: exit status 1

After updating go.mod to use the old versioning, I got the same error as @PaulWaldo :
error obtaining VCS status: exit status 128
        Use -buildvcs=false to disable VCS stamping.

error building application: exit status 1
[✗] could not package the Fyne app: exit status 1

It's worth mentioning that I have deleted the local docker image (forcing a fresh pull), cloned the repo, built a binary from the develop branch and ran it. Am I missing something?

@bogdanciuca what is your host os?

@Bluebugs macOS (Ventura)

Thanks, I was hoping to have a better host pattern for this vcs issue. I still have no lead for it. Can any of you provide a log with -debug?

  I can confirm I get the same results with the later docker image too
❯ fyne-cross windows -app-id com.example.myapp -pull
[i] Target: windows/amd64
[i] Checking for a newer version of the docker image: docker.io/fyneio/fyne-cross-images:windows
[✓] Image is up to date
[i] Cleaning target directories...
[✓] "bin" dir cleaned: /app/fyne-cross/bin/windows-amd64
[✓] "dist" dir cleaned: /app/fyne-cross/dist/windows-amd64
[✓] "temp" dir cleaned: /app/fyne-cross/tmp/windows-amd64
[i] Checking for go.mod: /Users/paul/src/personal/mastotool/go.mod
[✓] go.mod found
[i] Packaging app...
error obtaining VCS status: exit status 128
	Use -buildvcs=false to disable VCS stamping.

error building application: exit status 1
[✗] could not package the Fyne app: exit status 1
❯ docker image ls
REPOSITORY                 TAG       IMAGE ID       CREATED       SIZE
fyneio/fyne-cross-images   windows   1e3d0da6428d   2 days ago    1.66GB

Huh, interestingly I'm not able to reproduce my earlier results and I experience the same issues as others with the error obtaining VCS status: exit status 128. I don't know what changed in my setup 🤔

I think every one here who is experiencing this issue is using docker. If you could report the version you are using, just in case and if anyone of you has the time to try with podman instead that would be really helpful.

docker info
$ docker info
Client:
 Version:    24.0.5
 Context:    desktop-linux
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc.)
    Version:  v0.11.2-desktop.1
    Path:     /Users/gaugendre/.docker/cli-plugins/docker-buildx
  compose: Docker Compose (Docker Inc.)
    Version:  v2.20.2-desktop.1
    Path:     /Users/gaugendre/.docker/cli-plugins/docker-compose
  dev: Docker Dev Environments (Docker Inc.)
    Version:  v0.1.0
    Path:     /Users/gaugendre/.docker/cli-plugins/docker-dev
  extension: Manages Docker extensions (Docker Inc.)
    Version:  v0.2.20
    Path:     /Users/gaugendre/.docker/cli-plugins/docker-extension
  init: Creates Docker-related starter files for your project (Docker Inc.)
    Version:  v0.1.0-beta.6
    Path:     /Users/gaugendre/.docker/cli-plugins/docker-init
  sbom: View the packaged-based Software Bill Of Materials (SBOM) for an image (Anchore Inc.)
    Version:  0.6.0
    Path:     /Users/gaugendre/.docker/cli-plugins/docker-sbom
  scan: Docker Scan (Docker Inc.)
    Version:  v0.26.0
    Path:     /Users/gaugendre/.docker/cli-plugins/docker-scan
  scout: Command line tool for Docker Scout (Docker Inc.)
    Version:  0.20.0
    Path:     /Users/gaugendre/.docker/cli-plugins/docker-scout

Server:
 Containers: 3
  Running: 0
  Paused: 0
  Stopped: 3
 Images: 23
 Server Version: 24.0.5
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Using metacopy: false
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 2
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 3dce8eb055cbb6872793272b4f20ed16117344f8
 runc version: v1.1.7-0-g860f061
 init version: de40ad0
 Security Options:
  seccomp
   Profile: unconfined
  cgroupns
 Kernel Version: 5.15.49-linuxkit-pr
 Operating System: Docker Desktop
 OSType: linux
 Architecture: aarch64
 CPUs: 4
 Total Memory: 7.765GiB
 Name: docker-desktop
 ID: 45ab307c-a1cd-46a5-8c48-a6a87db4014b
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 HTTP Proxy: http.docker.internal:3128
 HTTPS Proxy: http.docker.internal:3128
 No Proxy: hubproxy.docker.internal
 Experimental: false
 Insecure Registries:
  hubproxy.docker.internal:5555
  <IP_ADDRESS>/8
 Live Restore Enabled: false

WARNING: daemon is not using the default seccomp profile

I've never used podman before but I'd be willing to give it a try.  Can you give a cookbook recipe for trying in Podman?
❯ docker info
Client:
 Version:    24.0.5
 Context:    desktop-linux
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc.)
    Version:  v0.11.2-desktop.1
    Path:     /Users/paul/.docker/cli-plugins/docker-buildx
  compose: Docker Compose (Docker Inc.)
    Version:  v2.20.2-desktop.1
    Path:     /Users/paul/.docker/cli-plugins/docker-compose
  dev: Docker Dev Environments (Docker Inc.)
    Version:  v0.1.0
    Path:     /Users/paul/.docker/cli-plugins/docker-dev
  extension: Manages Docker extensions (Docker Inc.)
    Version:  v0.2.20
    Path:     /Users/paul/.docker/cli-plugins/docker-extension
  init: Creates Docker-related starter files for your project (Docker Inc.)
    Version:  v0.1.0-beta.6
    Path:     /Users/paul/.docker/cli-plugins/docker-init
  sbom: View the packaged-based Software Bill Of Materials (SBOM) for an image (Anchore Inc.)
    Version:  0.6.0
    Path:     /Users/paul/.docker/cli-plugins/docker-sbom
  scan: Docker Scan (Docker Inc.)
    Version:  v0.26.0
    Path:     /Users/paul/.docker/cli-plugins/docker-scan
  scout: Command line tool for Docker Scout (Docker Inc.)
    Version:  0.20.0
    Path:     /Users/paul/.docker/cli-plugins/docker-scout

Server:
 Containers: 3
  Running: 1
  Paused: 0
  Stopped: 2
 Images: 21
 Server Version: 24.0.5
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Using metacopy: false
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 2
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 3dce8eb055cbb6872793272b4f20ed16117344f8
 runc version: v1.1.7-0-g860f061
 init version: de40ad0
 Security Options:
  seccomp
   Profile: unconfined
  cgroupns
 Kernel Version: 5.15.49-linuxkit-pr
 Operating System: Docker Desktop
 OSType: linux
 Architecture: x86_64
 CPUs: 3
 Total Memory: 7.773GiB
 Name: docker-desktop
 ID: 3426c856-d32f-471d-bec4-0d47d8a93299
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 HTTP Proxy: http.docker.internal:3128
 HTTPS Proxy: http.docker.internal:3128
 No Proxy: hubproxy.docker.internal
 Experimental: false
 Insecure Registries:
  hubproxy.docker.internal:5555
  <IP_ADDRESS>/8
 Live Restore Enabled: false

WARNING: daemon is not using the default seccomp profile

I'm also using the latest version of Docker. It seems that there are two other related issues, https://github.com/fyne-io/fyne-cross/issues/200 and https://github.com/fyne-io/fyne/issues/3795.

fyne.io/fyne#3795 was not going to address the issue, but just introduce a workaround. The good news is that we are getting more people with the problem, so we might be able to narrow down what is going on.
@bogdanciuca  If you could try to run:
docker run --rm -t -w /app -v /Users/ciuca/Desktop/Projects/diaconia-lis:/app -v /Users/ciuca/Library/Caches/fyne-cross:/go --platform linux/arm64 --user 501 -e HOME=/tmp -v /run/host-services/ssh-auth.sock:/run/host-services/ssh-auth.sock -e SSH_AUTH_SOCK=/run/host-services/ssh-auth.sock -e CGO_ENABLED=1 -e GOCACHE=/go/go-build -e GOOS=windows -e GOARCH=amd64 -e CC=zig cc -target x86_64-windows-gnu -Wdeprecated-non-prototype -Wl,--subsystem,windows -e CXX=zig c++ -target x86_64-windows-gnu -Wdeprecated-non-prototype -Wl,--subsystem,windows docker.io/fyneio/fyne-cross-images:windows git log --format="%H" -n 1

@PaulWaldo to try podman, just install it (for example: https://devcoops.com/install-podman-on-ubuntu-23.04/ ). Then pass -engine podman to fyne-cross command line.

@Bluebugs Gotcha. Yes, I'm using Docker 4.22.0 / Engine 24.0.5. There might be a typo in your command, I'm getting the following error:
Unable to find image 'cc:latest' locally
docker: Error response from daemon: failed to resolve reference "docker.io/library/cc:latest": pull access denied, repository does not exist or may require authorization: server message: insufficient_scope: authorization failed.
See 'docker run --help'.

Indeed, spacing issue. Hopefully this one catch all of them:
docker run --rm -t -w /app -v /Users/ciuca/Desktop/Projects/diaconia-lis:/app -v /Users/ciuca/Library/Caches/fyne-cross:/go --platform linux/arm64 --user 501 -e HOME=/tmp -v /run/host-services/ssh-auth.sock:/run/host-services/ssh-auth.sock -e SSH_AUTH_SOCK=/run/host-services/ssh-auth.sock -e CGO_ENABLED=1 -e GOCACHE=/go/go-build -e GOOS=windows -e GOARCH=amd64 -e CC="zig cc -target x86_64-windows-gnu -Wdeprecated-non-prototype -Wl,--subsystem,windows -e CXX="zig c++ -target x86_64-windows-gnu -Wdeprecated-non-prototype -Wl,--subsystem,windows" docker.io/fyneio/fyne-cross-images:windows git log --format="%H" -n 1

Interesting pattern so far everyone here is using the same docker engine. Maybe a docker engine 24.0.5 change.

@Bluebugs Got another error:
fatal: detected dubious ownership in repository at '/app'
To add an exception for this directory, call:

	git config --global --add safe.directory /app

I tried running the git config command, but I still get the same error.

That's interesting. It seems that my change to the docker image to have that build in a no effect. Can you replace the git command by a cat ~/.gitconfig?

[user]
	name = bogdanciuca
	email =<EMAIL_ADDRESS>[safe]
	directory = /app

Is that when running things with docker or on the host system?

Host system. Should I mount / copy .gitconfig?

It should also be present in the container already. Something along the line:
docker run --rm -t -w /app -v /Users/ciuca/Desktop/Projects/diaconia-lis:/app -v /Users/ciuca/Library/Caches/fyne-cross:/go --platform linux/arm64 --user 501 -e HOME=/tmp -v /run/host-services/ssh-auth.sock:/run/host-services/ssh-auth.sock -e SSH_AUTH_SOCK=/run/host-services/ssh-auth.sock -e CGO_ENABLED=1 -e GOCACHE=/go/go-build -e GOOS=windows -e GOARCH=amd64 -e CC="zig cc -target x86_64-windows-gnu -Wdeprecated-non-prototype -Wl,--subsystem,windows -e CXX="zig c++ -target x86_64-windows-gnu -Wdeprecated-non-prototype -Wl,--subsystem,windows" docker.io/fyneio/fyne-cross-images:windows cat ~/.gitconfig

The command uses the host path and throws a not found error:
cat: /Users/ciuca/.gitconfig: No such file or directory

I ran the container with bash and did a cat ~/.gitconfig:
cat: /tmp/.gitconfig: No such file or directory

Looks like .gitconfig isn't present in the container.

And can you access the content of /root/.gitconfig in the container?

No, I get permission denied.

@Bluebugs any updates on this issue?

Sorry, I have been busy last weekend. I have not figured out much more. I don't get where that use come from and where its home is set (and why its home is read only).

@Bluebugs sorry for the late response, but I did try Podman.  I got the same results
❯ unset SSH_AUTH_SOCK
❯ fyne-cross version
fyne-cross version v1.4.0
❯ fyne-cross darwin -pull -app-id abc123
[i] Target: darwin/amd64
[i] Checking for a newer version of the docker image: docker.io/fyneio/fyne-cross-images:darwin
[✓] Image is up to date
[i] Cleaning target directories...
unable to upgrade to tcp, received 409
[✗] could not clean the "bin" dir /app/fyne-cross/bin/darwin-amd64: exit status 1
❯ fyne-cross darwin -pull -app-id abc123 -engine podman
[i] Target: darwin/amd64
[i] Checking for a newer version of the docker image: docker.io/fyneio/fyne-cross-images:darwin
[✓] Image is up to date
[i] Cleaning target directories...
Error: preparing container 0b8b69aa9e181286d6ff63c60c562bb268ef214b1bfd44acb8aa275fdcf1f16d for attach: lsetxattr /Users/paul/src/personal/mastotool/.git: operation not supported
[✗] could not clean the "bin" dir /app/fyne-cross/bin/darwin-amd64: exit status 126

Not only does it fail on my Mac, but it also fails on the Github Action
2023-09-22T13:47:23.3782560Z ##[group]Run brew install podman
2023-09-22T13:47:23.3783450Z brew install podman
2023-09-22T13:47:23.3783800Z podman machine init
2023-09-22T13:47:23.3784280Z podman machine start
2023-09-22T13:47:23.3981730Z shell: /bin/bash -e {0}
2023-09-22T13:47:23.3982210Z ##[endgroup]
2023-09-22T13:47:32.3909580Z ==> Downloading https://ghcr.io/v2/homebrew/core/podman/manifests/4.6.2
2023-09-22T13:47:33.3031450Z ==> Fetching podman
2023-09-22T13:47:33.3133400Z ==> Downloading https://ghcr.io/v2/homebrew/core/podman/blobs/sha256:799b17ef0f6d03deb70c22b87dc134e544ac6ceea382a363bd78de46f40a94b7
2023-09-22T13:47:34.1959840Z ==> Pouring podman--4.6.2.monterey.bottle.tar.gz
2023-09-22T13:47:35.4047650Z ==> Caveats
2023-09-22T13:47:35.4147910Z         In order to run containers locally, podman depends on a Linux kernel.
2023-09-22T13:47:35.4248230Z         One can be started manually using `podman machine` from this package.
2023-09-22T13:47:35.4349770Z         To start a podman VM automatically at login, also install the cask
2023-09-22T13:47:35.4450020Z         "podman-desktop".
2023-09-22T13:47:35.4549870Z
2023-09-22T13:47:35.4651050Z Bash completion has been installed to:
2023-09-22T13:47:35.4734860Z   /usr/local/etc/bash_completion.d
2023-09-22T13:47:35.4822790Z ==> Summary
2023-09-22T13:47:35.4898680Z 🍺  /usr/local/Cellar/podman/4.6.2: 190 files, 55.5MB
2023-09-22T13:47:51.3901680Z Extracting compressed file
2023-09-22T13:48:40.5287930Z Image resized.
2023-09-22T13:48:40.5310470Z Machine init complete
2023-09-22T13:48:40.5313180Z To start your machine run:
2023-09-22T13:48:40.5313450Z
2023-09-22T13:48:40.5313630Z 	podman machine start
2023-09-22T13:48:40.5313820Z
2023-09-22T13:48:40.5856810Z Starting machine "podman-machine-default"
2023-09-22T13:48:41.1043680Z Waiting for VM ...
2023-09-22T13:50:24.0198970Z Mounting volume... /Users:/Users
2023-09-22T13:50:25.8722610Z Mounting volume... /private:/private
2023-09-22T13:50:27.3354520Z Mounting volume... /var/folders:/var/folders
2023-09-22T13:50:29.0683390Z
2023-09-22T13:50:29.0718780Z This machine is currently configured in rootless mode. If your containers
2023-09-22T13:50:29.0732360Z require root permissions (e.g. ports < 1024), or if you run into compatibility
2023-09-22T13:50:29.0733730Z issues with non-podman clients, you can switch using the following command:
2023-09-22T13:50:29.0735720Z
2023-09-22T13:50:29.0736410Z 	podman machine set --rootful
2023-09-22T13:50:29.0737000Z
2023-09-22T13:50:29.0737740Z API forwarding listening on: /Users/runner/.local/share/containers/podman/machine/qemu/podman.sock
2023-09-22T13:50:29.0741000Z
2023-09-22T13:50:29.0741680Z The system helper service is not installed; the default Docker API socket
2023-09-22T13:50:29.0742930Z address can't be used by podman. If you would like to install it run the
2023-09-22T13:50:29.0769890Z following commands:
2023-09-22T13:50:29.0772250Z
2023-09-22T13:50:29.0776580Z 	sudo /usr/local/Cellar/podman/4.6.2/bin/podman-mac-helper install
2023-09-22T13:50:29.0777540Z 	podman machine stop; podman machine start
2023-09-22T13:50:29.0777860Z
2023-09-22T13:50:29.0778450Z You can still connect Docker API clients by setting DOCKER_HOST using the
2023-09-22T13:50:29.0778870Z following command in your terminal session:
2023-09-22T13:50:29.0779080Z
2023-09-22T13:50:29.0779950Z 	export DOCKER_HOST='unix:///Users/runner/.local/share/containers/podman/machine/qemu/podman.sock'
2023-09-22T13:50:29.0780310Z
2023-09-22T13:50:29.0780750Z Machine "podman-machine-default" started successfully
2023-09-22T13:50:29.0837010Z ##[group]Run fyne-cross \
2023-09-22T13:50:29.0837360Z fyne-cross \
2023-09-22T13:50:29.0837630Z   darwin \
2023-09-22T13:50:29.0837880Z    \
2023-09-22T13:50:29.0838100Z   -name mastotool \
2023-09-22T13:50:29.0838540Z   -app-id com.github.PaulWaldo.mastotool
2023-09-22T13:50:29.0838860Z
2023-09-22T13:50:29.0839070Z ls -lR
2023-09-22T13:50:29.1060190Z shell: /bin/bash -e {0}
2023-09-22T13:50:29.1060530Z ##[endgroup]
2023-09-22T13:50:29.2984500Z [i] Target: darwin/amd64
2023-09-22T13:50:29.2985900Z [i] Cleaning target directories...
2023-09-22T13:50:29.6649000Z Trying to pull docker.io/fyneio/fyne-cross-images:darwin...
2023-09-22T13:50:30.3657640Z Getting image source signatures
2023-09-22T13:50:30.3788610Z Copying blob sha256:14726c8f78342865030f97a8d3492e2d1a68fbd22778f9a31dc6be4b4f12a9bc
2023-09-22T13:50:30.3789870Z Copying blob sha256:9c368a637512fb8b34c662dffdd52dc718c40e39148b4fb1a3e11e055cdb47c2
2023-09-22T13:50:30.3804160Z Copying blob sha256:67cc0f803d06379b8a3c2faeb564b16da15c636bb4f5c57923d4044e90f0f572
2023-09-22T13:50:30.3821500Z Copying blob sha256:0f97dc54b8ddb06010cf5cc586cb1c562753390ee3709268848b67e6af75f722
2023-09-22T13:50:30.3851540Z Copying blob sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1
2023-09-22T13:50:30.3912890Z Copying blob sha256:0d7accad1951a57a3ec91aba2492fb9fd075e32f05c345f548c7ba8f122fcf33
2023-09-22T13:50:30.8368730Z Copying blob sha256:b092e14c51c5dbf2e5056aeee24f732ee612c4f8a14d1c5c2e0cc4be20d46491
2023-09-22T13:50:30.8571780Z Copying blob sha256:b36fd807c86f51ec598887c31121cab3b28c70c699fefb3e981a65ebb2164201
2023-09-22T13:50:32.1958910Z Copying blob sha256:088494f09b79e86b1bfcd2564d9d322afd650c9bc601bffef83478134027f9c0
2023-09-22T13:50:38.3944480Z Copying blob sha256:820d3c100cd8d530f544df6f4a5c7bb865950e21c02ac96e7173d19c494dcee5
2023-09-22T13:50:39.8298620Z Copying blob sha256:c420e5fe046eb1f5b6921f1553428f4f17f1606f49bd4c0d21f7a88b27550743
2023-09-22T13:50:41.7521360Z Copying blob sha256:e8079da3a2fdcfdf7911632e8999b3939ebc73af6a0e6612fef23478d34984eb
2023-09-22T13:54:45.4622670Z Copying config sha256:7d1d63f6687d801ccbe413e01cb432190135448b7cfe3e5edf62ee0dc2c4568b
2023-09-22T13:54:45.4908910Z Writing manifest to image destination
2023-09-22T13:54:45.6198760Z Error: statfs /private/tmp/com.apple.launchd.1YjY7dhatT/Listeners: operation not supported
2023-09-22T13:54:45.6200080Z [✗] could not clean the "dist" dir /app/fyne-cross/dist/darwin-amd64: exit status 125
2023-09-22T13:54:45.6225550Z ##[error]Process completed with exit code 1.
2023-09-22T13:54:45.6367740Z Post job cleanup.

@PaulWaldo very interesting. The podman error seems to point to this issue: https://github.com/containers/podman/issues/19132 . What is your file system? Does that make sense as an explanation?
it seems that your github action is exposing a ssh agent that is troubling fyne-cross. Can you share a link to it or the yaml for it?

Oh and can you post the debug run of podman on your machine too?

@Bluebugs here is the link to the action: https://github.com/PaulWaldo/mastotool/blob/feature/releaser/.github/workflows/release.yml.
Note it is still a work in progress, hence the feature branch

@Bluebugs here is the podman debug output
❯ fyne-cross windows -app-id com.example.myapp -pull -debug -engine podman
[i] Target: windows/amd64
&command.localContainerImage{baseContainerImage:command.baseContainerImage{arch:"amd64", os:"windows", id:"windows-amd64", env:map[string]string{"CC":"zig cc -target x86_64-windows-gnu -Wdeprecated-non-prototype -Wl,--subsystem,windows", "CXX":"zig c++ -target x86_64-windows-gnu -Wdeprecated-non-prototype -Wl,--subsystem,windows", "GOARCH":"amd64", "GOOS":"windows"}, tags:[]string(nil), mount:[]command.containerMountPoint{command.containerMountPoint{name:"project", localHost:"/Users/paul/src/personal/mastotool", inContainer:"/app"}, command.containerMountPoint{name:"cache", localHost:"/Users/paul/Library/Caches/fyne-cross", inContainer:"/go"}}, DockerImage:"docker.io/fyneio/fyne-cross-images:windows"}, runner:(*command.localContainerEngine)(0xc0000da090)}
[i] Checking for a newer version of the docker image: docker.io/fyneio/fyne-cross-images:windows
/usr/local/bin/podman pull docker.io/fyneio/fyne-cross-images:windows
Trying to pull docker.io/fyneio/fyne-cross-images:windows...
Getting image source signatures
Copying blob sha256:0d7accad1951a57a3ec91aba2492fb9fd075e32f05c345f548c7ba8f122fcf33
Copying blob sha256:14726c8f78342865030f97a8d3492e2d1a68fbd22778f9a31dc6be4b4f12a9bc
Copying blob sha256:9c368a637512fb8b34c662dffdd52dc718c40e39148b4fb1a3e11e055cdb47c2
Copying blob sha256:67cc0f803d06379b8a3c2faeb564b16da15c636bb4f5c57923d4044e90f0f572
Copying blob sha256:0f97dc54b8ddb06010cf5cc586cb1c562753390ee3709268848b67e6af75f722
Copying blob sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1
Copying blob sha256:b092e14c51c5dbf2e5056aeee24f732ee612c4f8a14d1c5c2e0cc4be20d46491
Copying blob sha256:b36fd807c86f51ec598887c31121cab3b28c70c699fefb3e981a65ebb2164201
Copying blob sha256:088494f09b79e86b1bfcd2564d9d322afd650c9bc601bffef83478134027f9c0
Copying blob sha256:820d3c100cd8d530f544df6f4a5c7bb865950e21c02ac96e7173d19c494dcee5
Copying blob sha256:c420e5fe046eb1f5b6921f1553428f4f17f1606f49bd4c0d21f7a88b27550743
Copying config sha256:1e3d0da6428d4a46df420175ccb189ec7114934f3e2183900d6c7af3d24ba484
Writing manifest to image destination
1e3d0da6428d4a46df420175ccb189ec7114934f3e2183900d6c7af3d24ba484
[✓] Image is up to date
[i] Cleaning target directories...
/usr/local/bin/podman run --rm -t -w /app -v /Users/paul/src/personal/mastotool:/app:z -v /Users/paul/Library/Caches/fyne-cross:/go:z --userns keep-id -e use_podman=1 --arch=amd64 -e CGO_ENABLED=1 -e GOCACHE=/go/go-build -e GOOS=windows -e GOARCH=amd64 -e CC=zig cc -target x86_64-windows-gnu -Wdeprecated-non-prototype -Wl,--subsystem,windows -e CXX=zig c++ -target x86_64-windows-gnu -Wdeprecated-non-prototype -Wl,--subsystem,windows docker.io/fyneio/fyne-cross-images:windows rm -rf /app/fyne-cross/bin/windows-amd64
Error: preparing container 75aec2439bebdea44a654f4bc971da198bd081ca467dbc7d1a6400da7d358a76 for attach: lsetxattr /Users/paul/src/personal/mastotool/.git: operation not supported
[✗] could not clean the "bin" dir /app/fyne-cross/bin/windows-amd64: exit status 126

Note that the reason I unset SSH_AUTH_SOCK is because I have 1Password managing my SSH key.  If I don't do that I get this
❯ fyne-cross windows -app-id com.example.myapp -pull -debug -engine podman
[i] Target: windows/amd64
&command.localContainerImage{baseContainerImage:command.baseContainerImage{arch:"amd64", os:"windows", id:"windows-amd64", env:map[string]string{"CC":"zig cc -target x86_64-windows-gnu -Wdeprecated-non-prototype -Wl,--subsystem,windows", "CXX":"zig c++ -target x86_64-windows-gnu -Wdeprecated-non-prototype -Wl,--subsystem,windows", "GOARCH":"amd64", "GOOS":"windows"}, tags:[]string(nil), mount:[]command.containerMountPoint{command.containerMountPoint{name:"project", localHost:"/Users/paul/src/personal/mastotool", inContainer:"/app"}, command.containerMountPoint{name:"cache", localHost:"/Users/paul/Library/Caches/fyne-cross", inContainer:"/go"}}, DockerImage:"docker.io/fyneio/fyne-cross-images:windows"}, runner:(*command.localContainerEngine)(0xc0000da090)}
[i] Checking for a newer version of the docker image: docker.io/fyneio/fyne-cross-images:windows
/usr/local/bin/podman pull docker.io/fyneio/fyne-cross-images:windows
Trying to pull docker.io/fyneio/fyne-cross-images:windows...
Getting image source signatures
Copying blob sha256:0d7accad1951a57a3ec91aba2492fb9fd075e32f05c345f548c7ba8f122fcf33
Copying blob sha256:14726c8f78342865030f97a8d3492e2d1a68fbd22778f9a31dc6be4b4f12a9bc
Copying blob sha256:9c368a637512fb8b34c662dffdd52dc718c40e39148b4fb1a3e11e055cdb47c2
Copying blob sha256:67cc0f803d06379b8a3c2faeb564b16da15c636bb4f5c57923d4044e90f0f572
Copying blob sha256:0f97dc54b8ddb06010cf5cc586cb1c562753390ee3709268848b67e6af75f722
Copying blob sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1
Copying blob sha256:b092e14c51c5dbf2e5056aeee24f732ee612c4f8a14d1c5c2e0cc4be20d46491
Copying blob sha256:b36fd807c86f51ec598887c31121cab3b28c70c699fefb3e981a65ebb2164201
Copying blob sha256:088494f09b79e86b1bfcd2564d9d322afd650c9bc601bffef83478134027f9c0
Copying blob sha256:820d3c100cd8d530f544df6f4a5c7bb865950e21c02ac96e7173d19c494dcee5
Copying blob sha256:c420e5fe046eb1f5b6921f1553428f4f17f1606f49bd4c0d21f7a88b27550743
Copying config sha256:1e3d0da6428d4a46df420175ccb189ec7114934f3e2183900d6c7af3d24ba484
Writing manifest to image destination
1e3d0da6428d4a46df420175ccb189ec7114934f3e2183900d6c7af3d24ba484
[✓] Image is up to date
[i] Cleaning target directories...
/usr/local/bin/podman run --rm -t -w /app -v /Users/paul/src/personal/mastotool:/app:z -v /Users/paul/Library/Caches/fyne-cross:/go:z --userns keep-id -e use_podman=1 --arch=amd64 -v /Users/paul/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock:/tmp/ssh-agent -e SSH_AUTH_SOCK=/tmp/ssh-agent -e CGO_ENABLED=1 -e GOCACHE=/go/go-build -e GOOS=windows -e GOARCH=amd64 -e CC=zig cc -target x86_64-windows-gnu -Wdeprecated-non-prototype -Wl,--subsystem,windows -e CXX=zig c++ -target x86_64-windows-gnu -Wdeprecated-non-prototype -Wl,--subsystem,windows docker.io/fyneio/fyne-cross-images:windows rm -rf /app/fyne-cross/bin/windows-amd64
Error: statfs /Users/paul/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock: operation not supported
[✗] could not clean the "bin" dir /app/fyne-cross/bin/windows-amd64: exit status 125
❯ echo $SSH_AUTH_SOCK
/Users/paul/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock

I don't know if it helps, but I see a little more debug info when attempting to run the workflow locally using https://github.com/nektos/act
The path /root/.cache/fyne-cross is not shared from the host and is not known to Docker.
| [i] Target: linux/amd64
| [i] Cleaning target directories...
| Unable to find image 'fyneio/fyne-cross-images:linux' locally
| linux: Pulling from fyneio/fyne-cross-images
14726c8f7834: Already exists
9c368a637512: Already exists
67cc0f803d06: Already exists
0f97dc54b8dd: Already exists
4f4fb700ef54: Already exists
0d7accad1951: Already exists
b092e14c51c5: Already exists
b36fd807c86f: Already exists
088494f09b79: Already exists
820d3c100cd8: Already exists
c420e5fe046e: Already exists
a645cacff43e: Pull complete
Digest: sha256:01904efd97a14445cb243e2b70257665fb91aaad539cf6a091d78998e0d4cca6
| Status: Downloaded newer image for fyneio/fyne-cross-images:linux
| docker: Error response from daemon: Mounts denied:
| The path /root/.cache/fyne-cross is not shared from the host and is not known to Docker.
| You can configure shared paths from Docker -> Preferences... -> Resources -> File Sharing.
| See https://docs.docker.com/desktop/mac for more info.
| ERRO[0037] error waiting for container:
| [✗] could not clean the "bin" dir /app/fyne-cross/bin/linux-amd64: exit status 125
[Release/Create Artifacts]   ❌  Failure - Main Build MastoTool (linux, 1.21.x)
[Release/Create Artifacts] exitcode '1': failure

Oh, there is something interesting in the debug log regarding the access right. Apparently the z flag on the mounted volume is not supported on MacOs. I will look what that means and make a pr if possible.

@Bluebugs that is good news.  I wonder why that message had not been printed from fyne-cross?

If you guys could test PR #208 . Might work by doing a go install github.com/fyne-io/fyne-cross@afc530577482f11bb90e3baafc1edd4618a4fbb4 .

Thanks @Bluebugs, but no luck running on macOS:
❯ go install github.com/fyne-io/fyne-cross@afc530577482f11bb90e3baafc1edd4618a4fbb4
go: downloading github.com/fyne-io/fyne-cross v1.4.1-0.20230927002342-afc530577482
❯ fyne-cross freebsd -name jhjh
[i] Target: freebsd/amd64
[i] Cleaning target directories...
[✓] "bin" dir cleaned: /app/fyne-cross/bin/freebsd-amd64
[✓] "dist" dir cleaned: /app/fyne-cross/dist/freebsd-amd64
[✓] "temp" dir cleaned: /app/fyne-cross/tmp/freebsd-amd64
[i] Checking for go.mod: /Users/paul/src/personal/mastotool/go.mod
[✓] go.mod found
[i] Packaging app...
[!] Default icon not found at "Icon.png"
[✓] Created a placeholder icon using Fyne logo for testing purpose
go: downloading fyne.io/fyne/v2 v2.4.0
go: downloading golang.org/x/exp v0.0.0-20230817173708-d852ddb80c63
go: downloading golang.org/x/sys v0.12.0
go: downloading github.com/go-text/typesetting v0.0.0-20230803102845-24e03d8b5372
go: downloading github.com/yuin/goldmark v1.5.6
go: downloading golang.org/x/image v0.12.0
go: downloading fyne.io/systray v1.10.1-0.20230722100817-88df1e0ffa9a
go: downloading github.com/fyne-io/image v0.0.0-20230811065323-ed435dc8bca6
go: downloading github.com/go-text/render v0.0.0-20230619120952-35bccb6164b8
go: downloading golang.org/x/net v0.15.0
go: downloading golang.org/x/text v0.13.0
error obtaining VCS status: exit status 128
        Use -buildvcs=false to disable VCS stamping.

error building application: exit status 1
[✗] could not package the Fyne app: could not package the Fyne app: exit status 1

❯ fyne-cross windows -name jhjh -app-id a.b.c
[i] Target: windows/amd64
[i] Cleaning target directories...
[✓] "bin" dir cleaned: /app/fyne-cross/bin/windows-amd64
[✓] "dist" dir cleaned: /app/fyne-cross/dist/windows-amd64
[✓] "temp" dir cleaned: /app/fyne-cross/tmp/windows-amd64
[i] Checking for go.mod: /Users/paul/src/personal/mastotool/go.mod
[✓] go.mod found
[i] Packaging app...
error obtaining VCS status: exit status 128
        Use -buildvcs=false to disable VCS stamping.

error building application: exit status 1
[✗] could not package the Fyne app: exit status 1

On a positive note, the dir cleaning steps, which were like molasses, are now lightning fast.

Thanks @Bluebugs, but no luck running on macOS:

Was that with docker or podman?

It was Docker. Previously Podman gave the same error.

Can you check with podman with that branch too? I am hoping there is a difference in behavior.

Trying to pull docker.io/fyneio/fyne-cross-images:freebsd-amd64...
Getting image source signatures
Copying blob sha256:0d7accad1951a57a3ec91aba2492fb9fd075e32f05c345f548c7ba8f122fcf33
Copying blob sha256:14726c8f78342865030f97a8d3492e2d1a68fbd22778f9a31dc6be4b4f12a9bc
Copying blob sha256:9c368a637512fb8b34c662dffdd52dc718c40e39148b4fb1a3e11e055cdb47c2
Copying blob sha256:67cc0f803d06379b8a3c2faeb564b16da15c636bb4f5c57923d4044e90f0f572
Copying blob sha256:0f97dc54b8ddb06010cf5cc586cb1c562753390ee3709268848b67e6af75f722
Copying blob sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1
Copying blob sha256:b092e14c51c5dbf2e5056aeee24f732ee612c4f8a14d1c5c2e0cc4be20d46491
Copying blob sha256:b36fd807c86f51ec598887c31121cab3b28c70c699fefb3e981a65ebb2164201
Copying blob sha256:088494f09b79e86b1bfcd2564d9d322afd650c9bc601bffef83478134027f9c0
Copying blob sha256:820d3c100cd8d530f544df6f4a5c7bb865950e21c02ac96e7173d19c494dcee5
Copying blob sha256:c420e5fe046eb1f5b6921f1553428f4f17f1606f49bd4c0d21f7a88b27550743
Copying blob sha256:5f4c1d2a62658b5052836efa6f4fb2790c17b2f1fb7bad4f4626eaa8f2ebc6a1
Copying blob sha256:334ec8092f9ba07139e6400af3e15aec81476b6dc2217158b1b3e72c1ebc7959
Copying blob sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1
Copying blob sha256:408a9c73f1f306ca8e9841a5b1eb543525e4f77b37aec79fd6e125cc51e64e95
Copying blob sha256:a2cc62531bf2454a6a96340872257b43ba7cba288dfeb715cded4de400c56e33
Copying blob sha256:66351becc044af562e5dfb39470387ad3bc630f20566480759a1750fa48b8508
Copying config sha256:6b8147aadd7d4908baed32b40db121c671eaf26fd457107396fc65786ad87ea3
Writing manifest to image destination
Error: statfs /run/host-services/ssh-auth.sock: no such file or directory
[✗] could not clean the "bin" dir /app/fyne-cross/bin/freebsd-amd64: exit status 125

Oh, it seems that podman is using a different magic path for ssh-agent than docker. I will look into it.

[i] Target: windows/amd64 [i] Cleaning target directories... [✓] "dist" dir cleaned: /app/fyne-cross/dist/windows-amd64 [✓] "temp" dir cleaned: /app/fyne-cross/tmp/windows-amd64 rm: cannot remove '/app/fyne-cross/bin/windows-amd64/fyne-cross/bin': Permission denied rm: cannot remove '/app/fyne-cross/bin/windows-amd64/fyne-cross/dist': Permission denied rm: cannot remove '/app/fyne-cross/bin/windows-amd64/fyne-cross/tmp': Permission denied [✗] could not clean the "bin" dir /app/fyne-cross/bin/windows-amd64: exit status 1

solved !

I was this error

I use this code
go install github.com/fyne-io/fyne-cross@8489955341f5c1ac230697afa86034444432830d

this error
[i] Target: windows/amd64
[i] Cleaning target directories...
[✓] "temp" dir cleaned: /app/fyne-cross/tmp/windows-amd64
[✓] "bin" dir cleaned: /app/fyne-cross/bin/windows-amd64
[✓] "dist" dir cleaned: /app/fyne-cross/dist/windows-amd64
[i] Checking for go.mod: /Users/jun/docker/go/gopath/src/go_project_template_ddd_pc_xdy/go.mod
[✓] go.mod found
[i] Packaging app...
2023/10/14 16:13:24 Fyne error:  Failed to inject metadata init file, omitting metadata
2023/10/14 16:13:24   Cause: exit status 1
2023/10/14 16:13:24   At: /go/pkg/mod/fyne.io/fyne/v2@v2.3.5/cmd/fyne/internal/commands/build.go:215
go: errors parsing go.mod:
/app/go.mod:3: invalid go version '1.21.3': must match format 1.23

my env
Darwin x86_64
go version go1.21.3 darwin/amd64
fyne cli version: v2.4.0
fyne-cross version v1.4.0

@junmaqiang this looks like a different problem where fyne running inside the container doesn't have the right to create file in the current directory while the other are having an issue with accessing file inside the .git subdirectory for reading. If you do not mind creating a different issue for this.

I am finally able to reproduce the problem after updating an Intel Mac to latest docker. Something broke in the last 3 months in our use of docker. I will look through the release log of docker to see if I can get any clue.

I am finally able to reproduce the problem after updating an Intel Mac to latest docker. Something broke in the last 3 months in our use of docker. I will look through the release log of docker to see if I can get any clue.

Thank you fix the bug but I find the fyne-cross-images images are old. Can you help to build and push newer images base on the new base image

After some testing, I found a way to way to resolve the error obtaining VCS status problem. The way is to remove or hide the .git folder when you package by fyne-cross. My test result look like below:

The above way is my remove way for the .git folder. Our source code will be copy to new folder but not .git. My hide way for the .git is refactoring your code base, for example put source files into some else folder but not root folder.
I find out that the .git will be volumed to the container, if do not send the .git folder to container, the fyne-cross package will work well.

With Apple last update, docker on my laptop got broken and I can not test/ reproduce this anymore. If anyone has time, the latest published fyne cross image should fix the problem reported here. Let me know if this work for you.

After a full reinstall of docker, I am not able to reproduce the problem with the latest image. I think this is finally solved.


Fix overfit_batches > 0 on distributed_backend = "ddp"

What does this PR do?

Fixes #2311
Before submitting

[ ] Was this discussed/approved via a Github issue? (no need for typos and docs improvements)
[ ] Did you read the contributor guideline, Pull Request section?
[ ] Did you make sure your PR does only one thing, instead of bundling different changes together? Otherwise, we ask you to create a separate PR for every change.
[ ] Did you make sure to update the documentation with your changes?
[ ] Did you write any new necessary tests?
[ ] Did you verify new and existing tests pass locally with your changes?
[ ] If you made a notable change (that affects users), did you update the CHANGELOG?

PR review
Anyone in the community is free to review the PR once the tests have passed.
If we didn't discuss your PR in Github issues there's a high chance it will not be merged.
Did you have fun?
Make sure you had fun coding 🙃

Hello @awaelchli! Thanks for opening this PR.

In the file pl_examples/overfit.py:

Line 64:11: W292 no newline at end of file

Do see the Hitchhiker's guide to code style


#251 Fix duplicate document issue

I've fixed the duplicate name issue with different category and error notification not showing on submitting the form. Let me know if that works for you and if you have anything else for me.

@apoorv15ar - I see you are validating the uniqueness of the category. What we need to also add is generate slug names differently if there is a name collision.
I tested your patch. What we need is as follows :
Continue to support /docs/name-of-document.
But additionally also have the ability to create /docs/category_name/name-of-document.
We would love to see your PR for supporting multiple slugs. Default slug will be /docs/name-of-document for all unique documents. Whenever there is a name collision, we will offer /docs/category-name/name-of-document. We could validate that this is not a unique name and offer to create /docs/category-name/name-of-document slug instead. Feel free to propose a checkbox in the UI admin if needed. This would support #251 comprehensively.

Closing PR.


Why is there a temperature range when setting AC in automatic?

Describe Your Problem:
I don't understand why when I set the AC to automatic in HomeKit, it shows a temperature range selector that says "keep the temperature between xx ° C and yy ° C". Is this supposed to happen?
I don't know if it is a bug or it is expected to be so, but in any case there is something in this selector that doesn't work: the air conditioner does not correctly receive the command and does not understand the range of temperatures that is given.
Even if I try to set the selector as I wish (eg "keep the temperature between 21 °C and 24 °C") the AC does not accept both values, but only one of the two.
And I just need to exit from HomeKit and re-enter, to notice that the AC forgets the range set and places both ends of the slider on a single temperature.
This makes the selector difficult to manage and unstable in behavior.
Is it possible to make the selector set a single temperature in automatic mode (as happens for hot and cold)?
Plugin Config:
{
    "bridge": {
        "name": "Homebridge 5199",
        "username": "0E:16:CF:8E:E6:59",
        "port": 51947,
        "pin": "650-32-218"
    },
    "accessories": [],
    "platforms": [
        {
            "name": "Config",
            "port": 8581,
            "platform": "config"
        },
        {
            "devices": [
                {
                    "name": "TV",
                    "ip": "<IP_ADDRESS>",
                    "mac": "2c:2b:f9:90:8c:6c",
                    "pollingInterval": 5,
                    "hideTvService": false,
                    "volumeLimit": 100,
                    "volumeControl": "none",
                    "channelControl": false,
                    "ccRemoteRemap": {
                        "information": "HOME"
                    }
                }
            ],
            "platform": "webostv"
        },
        {
            "name": "homebridge-samsung-air-conditioner-smart-things",
            "token": "540d5d01-69b1-4ccd-8ce8-bd6c80cc67a6",
            "temperatureUnit": "C",
            "showHumidity": false,
            "windFreeSupported": false,
            "platform": "HomebridgeSamsungACSmartThings"
        }
    ]
}

Screenshots:

Video: https://drive.google.com/file/d/1tZe5dzaB4S6kQjGzByYj5hx-E5rQKYZc/view?usp=sharing
Environment:

Plugin Version: 1.0.9
Homebridge Version: 1.4.1
Node.js Version: 16.13.1
NPM Version: 8.3.0
Operating System: Raspbian GNU/Linux Bullseye (11)

Agreed, this seems useless. The setting only gets confusing and often doesnt work. Can we edit this somewhere in the giles?


Urgent: App Integration Broken!

Our app currently uses the export to Evernote feature which as of now looks to be broken for all of our users. The issue is that the Evernote intent "com.evernote.action.CREATE_NEW_NOTE" no longer works and is currently throwing the exception: "android.content.ActivityNotFoundException: No Activity found to handle Intent { act=com.evernote.action.CREATE_NEW_NOTE typ=text/html" This is an urgent issue as our currently published app is no longer able to export documents to Evernote because of the above error.

I wrotes this library, but I no longer work for Evernote. They just recently published a new version of their app, which was completely rewritten. It seems like they no longer respect these intents.

Thank you for getting back to me so quickly on this!


Infinite loop in primer domain creation

See: https://github.com/vector-engineering/covidcg/blob/master/src/components/Vega/EntropyPlot.js#L274-L285

Closed by #463


How to automatically generate portals and link portals to them?

Hello, when players in my server use the nether portal to the nether, they will teleport to a set spawn location. The portals are linked both ways and I have no clue on how to make them automattically generate. The players needs to be able to teleport to the other portal like in vanilla minecraft. I dont remember changing anything about these settings

i'm searching for same thing

Please send your /mvv -p link

Closing as stale


DNS resolution not working

For some reason, the dns is not working.
Server:         <IP_ADDRESS>
Address:        <IP_ADDRESS>:53

** server can't find kubernetes.default: NXDOMAIN

*** Can't find kubernetes.default: No answer```

It's working perfectly. My bad.


Whenever i run "All Tests" my library files are erased in trial version.

From<EMAIL_ADDRESS>on January 01, 2015 05:04:56
What steps will reproduce the problem? 1.when ever i run app-compact will goes crash.
2.but some guidance your side not giving properly i want that links also 3. What is the expected output? What do you see instead? without missing of apcompact and automation executed properly. What version of the product are you using? On what operating system? Android studio 1.0.2                windows-7. Please provide any additional information below. i want full guidance to develop at trial. After that only i buy this product
Original issue: http://code.google.com/p/robotium/issues/detail?id=646

From<EMAIL_ADDRESS>on January 04, 2015 04:43:17
So you are able to record test cases but when you select the Android Studio method run all tests your library files get erased?
Owner<EMAIL_ADDRESS>

From<EMAIL_ADDRESS>on January 04, 2015 05:14:16
Yes this is the problem

From<EMAIL_ADDRESS>on January 04, 2015 06:33:18
Unfortunately there is nothing we can do about this. Robotium Recorder only records the test cases. The run "all tests" feature is a part of Android Studio. Maybe there is a setting in Android Studio for run "all tests" to behave differently.
Status: Invalid

From<EMAIL_ADDRESS>on January 04, 2015 07:23:57
Please tel if you know what procedure is it is

From<EMAIL_ADDRESS>on January 04, 2015 07:25:30
Unfortunately we have not experienced this issue our selves. This usually happens when trying to automate one of the example projects in Android Studio.

From<EMAIL_ADDRESS>on January 04, 2015 07:26:58
Oh.  But how I rectified


RNA-Seq: replace "|" with " vs " in gmx file

Currently, in the gmx file generated by the rna seq pipeline, the comparison label contains a pipe,
i.e. sample1|sample2.
The pipe character is not handled well in the flash heatmap viewer, which results in labels not being
displayed. As a quick fix, I am suggesting that the RNA-seq pipeline is changed to use " vs " instead
of "|" in the comparison labels.
This comes up in every single workshop and it needs to be fixed as soon as possible.
-Maulik

Fixed as part of the RNA-Seq upgrade.