Correct name of key file attribute of ConfigurationManager in start-up script

(labman) Amandas-MacBook-Pro-4:labman Birmingham$ labman start_webserver
Traceback (most recent call last):
  File "/Users/Birmingham/Applications/miniconda3/bin/labman", line 6, in <module>
    exec(compile(open(__file__).read(), __file__, 'exec'))
  File "/Users/Birmingham/Work/Repositories/Labman/labman/scripts/labman", line 100, in <module>
    labman()
  File "/Users/Birmingham/Applications/miniconda3/lib/python3.5/site-packages/click/core.py", line 716, in __call__
    return self.main(*args, **kwargs)
  File "/Users/Birmingham/Applications/miniconda3/lib/python3.5/site-packages/click/core.py", line 696, in main
    rv = self.invoke(ctx)
  File "/Users/Birmingham/Applications/miniconda3/lib/python3.5/site-packages/click/core.py", line 1060, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/Users/Birmingham/Applications/miniconda3/lib/python3.5/site-packages/click/core.py", line 889, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/Users/Birmingham/Applications/miniconda3/lib/python3.5/site-packages/click/core.py", line 534, in invoke
    return callback(*args, **kwargs)
  File "/Users/Birmingham/Work/Repositories/Labman/labman/scripts/labman", line 43, in start_webserver
    'keyfile': labman_settings.keyfile}
AttributeError: 'ConfigurationManager' object has no attribute 'keyfile'

The attribute in question is now named key_filepath.

Just hit this during deploy in labman-rc, saw the fix in the commit (thanks!) and makes sense but can you also add a call to labman in .travis.yml so we can catch this error? Something like this to the end of the tests:
labman &
LABMAN_PID=$!
sleep 5 # or 10?
kill $LABMAN_PID

Will do!  I have a teeny fix branch ready to push to a PR, so I’ll add this in before I make it a PR and then ask you to review :)
From: Antonio Gonzalez<EMAIL_ADDRESS>Reply-To: jdereus/labman<EMAIL_ADDRESS>Date: Tuesday, August 7, 2018 at 11:58 AM
To: jdereus/labman<EMAIL_ADDRESS>Cc: "Birmingham, Amanda"<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [jdereus/labman] Correct name of key file attribute of ConfigurationManager in start-up script (#315)
Just hit this during deploy in labman-rc, saw the fix in the commit (thanks!) and makes sense but can you also add a call to labman in .travis.yml so we can catch this error? Something like this to the end of the tests:
labman &
LABMAN_PID=$!
sleep 5 # or 10?
kill $LABMAN_PID
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/jdereus/labman/issues/315#issuecomment-411164874, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AKLur80bPpOSWuZ_JcOTzVfNYfImjqmNks5uOeNKgaJpZM4Vysrm.

I got blocked by the same issue after git pull latest master branch... Looking forward to a solution.

Hi @AmandaBirmingham and @antgonza , currently I cannot launch labman, even after I changed keyfile into key_filepath. When I did labman start_webserver there was no error message, but when I browsed localhost:8080, nothing showed up.
Is there a simple fix to this situation, or should I be patient for the next patch? Thank you!
My ~/.labman.cfg is as follows:
# Configuration file generated by labman on 2018-08-08 09:32:29.279823

# ------------------------- MAIN SETTINGS ----------------------------------
[main]
TEST_ENVIRONMENT=True
LOG_DIR=/tmp/
CERTIFICATE_FILEPATH=/Users/qiz173/Desktop/Sidejects/LabMan/labman/support_files/server.crt
KEY_FILEPATH=/Users/qiz173/Desktop/Sidejects/LabMan/labman/support_files/server.key

# ----------------------- POSTGRES SETTINGS --------------------------------
[postgres]
USER=postgres
PASSWORD=
ADMIN_USER=postgres
ADMIN_PASSWORD=
DATABASE=qiita_test
HOST=localhost
PORT=5432

# ------------------------- QIITA SETTINGS ----------------------------------
[qiita]
SERVER_CERT=/Users/qiz173/Desktop/Sidejects/LabMan/qiita/qiita_core/support_files/server.crt

The fix is quite simple, just replace this line:
https://github.com/jdereus/labman/commit/4407f327c6607db5ff775d4e17bac3d165d17bba#diff-df5a804a8c18fa04f0e9918099691ae9R43
Note that @AmandaBirmingham has a PR fixing it.

Did you (a) make the certificate and (b) browse to httpS instead of http?
On Aug 8, 2018, at 9:39 AM, Qiyun Zhu <notifications<EMAIL_ADDRESS>wrote:
Hi @AmandaBirminghamhttps://github.com/AmandaBirmingham and @antgonzahttps://github.com/antgonza , currently I cannot launch labman, even after I changed keyfile into key_filepath. When I did labman start_webserver there was no error message, but when I browsed localhost:8080, nothing showed up.
Is there a simple fix to this situation, or should I be patient for the next patch? Thank you!
My ~/.labman.cfg is as follows:
Configuration file generated by labman on 2018-08-08 09:32:29.279823
------------------------- MAIN SETTINGS ----------------------------------
[main]
TEST_ENVIRONMENT=True
LOG_DIR=/tmp/
CERTIFICATE_FILEPATH=/Users/qiz173/Desktop/Sidejects/LabMan/labman/support_files/server.crt
KEY_FILEPATH=/Users/qiz173/Desktop/Sidejects/LabMan/labman/support_files/server.key
----------------------- POSTGRES SETTINGS --------------------------------
[postgres]
USER=postgres
PASSWORD=
ADMIN_USER=postgres
ADMIN_PASSWORD=
DATABASE=qiita_test
HOST=localhost
PORT=5432
------------------------- QIITA SETTINGS ----------------------------------
[qiita]
SERVER_CERT=/Users/qiz173/Desktop/Sidejects/LabMan/qiita/qiita_core/support_files/server.crt
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/jdereus/labman/issues/315#issuecomment-411472087, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AKLur9HyVBkt3Qea71AFepa6O-E02WC6ks5uOxRMgaJpZM4Vysrm.

Hello @AmandaBirmingham and @antgonza I already did the fix Antonio pointed to. I made a certificate using the command provided in readme, and browsed https://localhost:8080/. They didn't work, though.

Hi all, this issue was resolved on my machine, after I did python labman/db/tests/test_sql_connection.py. I don't know why though.


Update test.txt

Repoman Generation Results
Repoman pushed changes to remotes for the following projects:
Project: todo-python-mongo
Remote: azure-samples
Branch: pr/1
You can initialize this project with:
azd init -t kaizentm/todo-python-mongo -b pr/1

View Changes | Compare Changes

Project: todo-python-mongo
Remote: azure-samples
Branch: pr/1
You can initialize this project with:
azd init -t kaizentm/todo-python-mongo -b pr/1

View Changes | Compare Changes

Project: todo-python-mongo
Remote: azure-samples
Branch: pr/1
You can initialize this project with:
azd init -t kaizentm/todo-python-mongo -b pr/1

View Changes | Compare Changes

Project: todo-python-mongo
Remote: azure-samples
Branch: pr/2
You can initialize this project with:
azd init -t kaizentm/todo-python-mongo -b pr/2

View Changes | Compare Changes


Enhancement: SearchByASIC

Added ACN with IsValid() and a separate ValidateACN function
Supports the HTTP POST SearchByASICv201408 method including test cases

Oh yeah. Let's approve this one and then update the pattern.
On Thu, 13 Dec 2018 at 18:28, Joel Courtney<EMAIL_ADDRESS>wrote:

@jufemaiz commented on this pull request.
In abr/acn.go
https://github.com/sjauld/go-abn/pull/3#discussion_r241294628:

	checkDigit = digit

}

}
checksum = (10 - (mapVal % 10)) % 10

if checkDigit != checksum {

return false, fmt.Sprintf("Invalid checksum: %d", checksum)

}

return true, ""
+}

+// ValidateACN tests a string to see if it is a valid ACN
+func ValidateACN(acn string) (bool, string) {

acnobj := ACN{IdentifierValue: acn}
return acnobj.IsValid()

Following the aforementioned abn.go pattern
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/sjauld/go-abn/pull/3#discussion_r241294628, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AH2eN840Fd_k5OSrLjShkWm-3Jl90_FIks5u4gGSgaJpZM4ZQwas
.

Can you check CI/CD?

Wooo! First contribution 🎉🎉🎉
On Fri, 14 Dec 2018 at 15:38, Stuart Auld<EMAIL_ADDRESS>wrote:

Merged #3 https://github.com/sjauld/go-abn/pull/3 into master.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/sjauld/go-abn/pull/3#event-2025966342, or mute the
thread
https://github.com/notifications/unsubscribe-auth/AABAYeXkWECbbztWEX-C2_aGAlM1_x8oks5u4ytDgaJpZM4ZQwas
.

--
————————————————
Joel Courtney
📱 +61 401 501 625
📧<EMAIL_ADDRESS>🕸 euphemize.net
🐦 @jufemaiz https://twitter.com/jufemaiz | @joelmcourtney
https://twitter.com/joelmcourtney
📃 in/joelcourtney https://www.linkedin.com/in/joelcourtney
📷 flic.kr/jufemaiz


First stab at full build in docker

Closes #4468
Closes #4462
This is my first stab at running the full build in the backend. From a fresh repo, with the cfgov-refresh_python image removed, you should be able to simply docker-compose up to end up with working dockerized cfgov. (no front-end stuff, the .env_SAMPLE is copied over by default). The only thing you'd need to do afterwards to check it out at localhost:8000, is run ./shell.sh and ./refresh-data.sh with a dump once inside. This process could be done automatically (say, based on the existence of a data.tar.gz file or something) but I've elided that for now.
Satellite apps are currently unsupported as there are some decisions to be made around what is optional/what should be baked into the image that I didn't want to cloud this PR. That is, should optional-public be installed at build time? The argument for is to move all the painful installation stuff into one place and to then have everything available by default, the argument against is to limit the pain of that first image build. I'm more in the for camp, but reasonable people may disagree (and please do with comments on this PR).
If installation of the wheels is done at image build time, then, on container startup, we'd walk develop-apps, pip uninstall as needed, and pip install -e each app there. This preserves the ability to locally edit satellites without any mucking around inside the container, while also not affecting anyone who isn't editing satellites.
I'll be out for two weeks starting tomorrow 😅 , but I'll likely peep in on this issue to address questions/comments in the evenings over the next fews days.

(that was after a complete removal of all containers and images)

@rosskarchner, should be fixed.

Now it comes up with:

settings.DATABASES is improperly configured. Please supply the ENGINE value. Check settings documentation for more details.

Do I need to set the database in my .env file?

@rosskarchner yes, see https://github.com/cfpb/cfgov-refresh/blob/master/.env_SAMPLE#L53.

we'd walk develop-apps, pip uninstall as needed, and pip install -e each app there

This feels a little bit too magical to me. I'm also in the for camp above and would vote to make optional-public.txt non-optional by including it in requirements/local.txt (and possibly also in tox.ini). If and when developers want to develop the apps locally, they could manually pip install -e as needed, the same as they would any other Python package.

@wpears good branch 11/10

@wpears is this PR deprecated by #5051?

@willbarton yeah, I think in most respects it is. Closing!


Long ago published pages failing to serve resized image

With responsive images i'm noticing pages will serve the default humongous image even when it has previously successfully served a smaller responsive one.
In debug I note that i'm getting the error
deadline_exceeded for filter ImageRewrite
Which I found means that the 10ms default time for finding the optimized image was exceeded.
This makes sense the first time a page/image is viewed but days later and after it has already loaded (and presumably cached) the correct one, how could this be so?

debug version:

The optimized image has either been evicted from cache, or its cache lifetime has expired. So either:

By default pagespeed has a 100M cache which it stores on disk and cleans hourly. If the cache is oversize, it deletes the least recently accessed entries (or least recently created entries if your fs is mounted noatime) to free up space. This could easily be too small for you, in which case you'd see your optimized images getting kicked out to make way for new optimizations. Making the cache big enough should fix it if this is the problem. (This isn't ideal behavior for too-small cashes. What would be better would be for PageSpeed to manage it's cache so it never kicked out optimized resources to put less beneficial ones in. But that would require a major rearchitecture.)

If your original image has a short lifetime and expires, PageSpeed needs to fetch it again to make sure it hasn't changed. It shouldn't need to reoptimize it if it finds that it hasn't changed, but if it takes too long to make that check it will temporarily serve the original (huge) image.

OK great thanks -- testing with 10GB and crazy high cache time limit because 0 did not work to disable it it seems
 ModPagespeedFileCacheSizeKb          10000000
 ModPagespeedFileCacheInodeLimit      999999999

That makes sense for testing, but if you run like that in production PageSpeed will eventually fill up your whole disk.

... or until it hits the maxFileCacheSizeKB of 10gb, no?

says in the docs it will start erasing old ones

Sorry, yes, 10gb is a reasonable limit.
(I just saw "lots of zeros" and didn't realize you had set it to 10gb. Even though you also said that in your text. Sorry! On my phone.)

Cool, just for the record it made a massive difference on processor demand of course, since only about 10 images would load before it starts wiping out the previous ones.  Probably the limit should be set a lot higher  by default...

That's the server memory usage before/after increasing cache size & ttl


Where to Get the Dataset

Hi,
Thank you so much for making this project! I see that there's a CLI argument for dataset_file, do you know what I should point it to for the counterfact method?
Thank you!

The paper that introduced is this: https://arxiv.org/pdf/2202.05262.pdf and the dataset for which is here: https://rome.baulab.info/data/dsets/counterfact.json.
However, I processed this dataset a bit so that the file that you refer to, contains a list of (question, answer) pairs. There are 66,000 (roughly) such datapoints which come from approx. 22,000 datapoints and their 3 paraphrases. I need to check if I am allowed to share the dataset that I processed, otherwise, you should be able to download the above json and extract the list I mentioned.

Thank you! Might it be possible to provide the code you used to filter the dataset?

Thanks a lot!  Could you provide the processed counterfact dataset you mentioned?

I will upload a short script to create that dataset given the Bau et al. dataset https://rome.baulab.info/data/dsets/counterfact.json tomorrow EOD EST.  I think that is most fair to Bau et al.

@fakerybakery and @Yu-Yuqing , the script to download the dataset is now available https://github.com/pratyushasharma/laser/blob/main/scripts/get_counterfact.py.
I checked the dataset created by this script against the dataset that we used and it matched 100%. I am closing this issue. If there is an issue, please reopen it.


on reset change crank circle to blue

small changes, front and back, to cause a block reset to send a RESET signal to the monitor, which in turns sets the crank circle to state 0 and colours it blue

It seems that refreshing the page changes the state from blue -> red as the "reset" state has yet to be toggled. I think I'd prefer either: a recently "reset" state be preserved across refreshes/all instances OR to treat resetting as a signal, such that it's not preserved at all.

closing as a new better thing is en route from @nikhan


Fix GenericArgumentFactories, in json serializable

Fix for this Issue #291

How can i use generic_argument_factories merged from the branch? Its not included in the documentation.
Thanks


Add closure to before()

This is a feature request.
Although app.around() is fantastic for executing some piece of logic before each route and deciding on where you want the application to go, it would be even better if we had the path matching capabilities of the app.before() call. Example, I wish to check to see if a user is logged in and redirect if not on all pages except for the login and signup hash tags.
Yes, I can achieve this easily using other methods, but as a matter of convenience and from a design standpoint it seems like the closure callback should be passed on app.before() anyway, just like it is in app.around().
Feel free to close this if you disagree :). I can implement it too if you wish.

+1

Are you saying .before's functionality should change or .around's?

If you use .around the this variable is the Sammy application, which you can extract the path from.


asar.unpackDir directory will be included both in "app.asar" and in "app.asar.unpacked".

I found my own built Electrion Application contains duplicated file
in "app.asar", and in "app.asar.unpacked".
There is a way to remove duplicated file
in generated "app.asar" with electron-packager ?
Steps to reproduce:

build Electrion Application with electron-packager.

  electron-packager . hello-electron-000 --platform=darwin --arch=x64 --electronVersion=2.0.8 --overwrite --asar.unpackDir=unpack

app.asar.unpacked directory contains "asar.unpackDir" file.

  ls hello-electron-000-darwin-x64/hello-electron-000.app/Contents/Resources/app.asar.unpacked/unpack
  > test.txt

app.asar contains "asar.unpackDir" file, too.

  asar e hello-electron-000-darwin-x64/hello-electron-000.app/Contents/Resources/app.asar dist
  ls dist/unpack
  > test.txt

**Console output. **
% npm run package

><EMAIL_ADDRESS>package /Users/taku.omi/Desktop/hello-electron-000
> electron-packager . hello-electron-000 --platform=darwin --arch=x64 --electronVersion=2.0.8 --overwrite --asar.unpackDir=unpack

Packaging app for platform darwin x64 using electron v2.0.8
Wrote new app to /Users/taku.omi/Desktop/hello-electron-000/hello-electron-000-darwin-x64
% ls hello-electron-000-darwin-x64/hello-electron-000.app/Contents/Resources/app.asar.unpacked/unpack
test.txt
% asar e hello-electron-000-darwin-x64/hello-electron-000.app/Contents/Resources/app.asar dist
% ls dist/unpack
test.txt

using minimum electron project:

https://github.com/taku-o/hello-electron-000

environment:
Mac OS X 10.13.6
electron-packager 9.1.0, and 12.2.0

It's not actually in the app.asar file. There is an entry in the asar file for the file in its metadata, but the contents are not actually there. To verify this, you can run:
grep aaaaa hello-electron-000-darwin-x64/hello-electron-000.app/Contents/Resources/app.asar

On my machine, it cannot find the contents of unpack/test.txt.


[WIP] Add API router functionality

Coverage decreased (-0.2%) to 35.468% when pulling 9dd3227dd51b1b4bb8c179546e034bf5d08908c7 on TS_api_router into 1000f97930582582b7d684fd0b044d461bc3e11f on master.

Thanks, LGTM


Is the installation of uv from conda-forge officially supported?

Hi! I noticed that I could install uv via conda from conda-forge, here is the feedstock: https://github.com/conda-forge/uv-feedstock
However, this installation method is not mentioned in README. Is it officially supported or is it a community effort?

Thank you for the quick reply!

I wouldn't recommend managing uv with conda (as I wouldn't recommend managing it with pip) but it's fine.

btw, is there some reason beyond uv has less control over how it's installed?
We have the use case of having multiple Python development environments, and we bootstrap the binaries (CPython, git, a few others) via conda and the install the Python packages via pip (testing and prod use the same pip process but don't need to bootstrap the binaries with conda).
I was looking at how feasible it is to replace pip with uv, and in this scenario it would be simplest to add uv to the binary requirements that conda bootstraps. But if there's some significant reason not to do this it would be good to know.

My situation is technically different, but it is somewhat similar in its spirit, and I was considering using micromamba just to fetch uv. Perhaps I should not have closed the issue, so reopening it just in case, though feel free to close it.

But if there's some significant reason not to do this it would be good to know.

I don't think there's any significant reason not to do it. The one reason I can think of not to do it is that we're likely to make uv self-updateable in the future (e.g., uv update or similar), and uv installations that come from a package manager (instead of through the standalone binary) won't support that.

I'm fine to maintain it though as long as we're added as feedstock maintainers (\cc @bollwyvl) similar to our relationship to https://github.com/conda-forge/ruff-feedstock.

(So yes, I consider it fine and I'm happy to support it, but we would need to be added as feedstock maintainers before I would consider us "supporting it".)


Code improvements

Just some style/code improvements

Great changes. Linked to example app.. Nice to have it released.


Enable runnable examples - remove the last modules from the blacklist

After quite a bit of work, we are heading for an end :)
This PR removes the last five modules from the runnable blacklist, s.t. with 2.076 all unittests are runnable
(FYI: the effort started in https://github.com/dlang/phobos/pull/4943)
For some modules, I wasn't sure sure on the best approach and I will mark these bits individually.

@wilzbach wilzbach requested review from andralex, CyberShadow, ibuclaw, klickverbot, MartinNowak, schveiguy, and ZombineDev as code owners 2 hours ago

That is excessive.
I hoped this feature would be a little smarter and disable itself when it would otherwise ping more than 3-5 people.

The std.stdio changes are fine by me. I guess we never decided if we want to make testFilename or something like that public, which unfortunately means using an undocumented symbol in our documentation examples.

That is excessive.
I hoped this feature would be a little smarter and disable itself when it would otherwise ping more than 3-5 people.

I thought the same ... according to their docs:

Order is important; the last matching pattern takes the most precedence.

The std.stdio changes are fine by me. I guess we never decided if we want to make testFilename or something like that public, which unfortunately means using an undocumented symbol in our documentation examples.

Well it's better than not having public tests or having public ones that aren't working for the tests.
Btw see also: https://github.com/dlang/phobos/pull/5400
So is anything blocking this then?

@CyberShadow we really have an issue with our CIs. Sometimes even everything is red, despite having "good" changes:

we really have an issue with our CIs

Yep.
Turns out continuous integration is hard. Who would have guessed? :)

Turns out continuous integration is hard. Who would have guessed? :)

Okay I tried rebasing for this one - doesn't seem to work either:

At least before "auto-tester" was green, so how do we proceed here?

As the GH issues have been resolved, this should be finally good to go.
Ping @CyberShadow :)

Access to private members is not possible with getSymbolsByUDA - the test only works it's in the same module.
Bug report
I suggest moving out the bad parts of the unit test rather than hiding the entire test.

Done - the other public unittest that I removed in std.traits was from a private symbol. Anything else or can be get this in before 2.077? Would be great because then we can finally enable "runnable examples" for all modules on dlang.org

Looks like CircleCi is also finally green again :)

so?
Ping @CyberShadow @ZombineDev


add support for 32bit systems

I tested this on my RPi 4 and it seems to work fine, and it still works on my other 64bit machines.
I'm not all that familiar with luaJIT so hopefully I didn't write something too stupid :)

Not sure how to test it with the CI, I saw that it failed on your previous commit as well. I think you're evaluating the SHA before actually switching to it.

I removed that check, you need to rebase.

The problem is that PRs are being merged In plugins with commits containing old dates messing with the sha querying.

Why not pin the specific revision you want? so basically do this earlier:
vim.fn.system{'git', '-C', plugin_dir2, 'checkout', sha} -- rev}

I think you might be able to use the SHA in git clone --branch as well.

Thanks 😄


Use UUID instead of incrementing counter for request id

This would remove the sync point with the counter atomic.
Look into using https://github.com/swift-extras/swift-extras-uuid

Profiling using atomic counter vs UUID
Atomic counter averages slightly better than UUID so lets not do this


Support requesting no metrics in CLI tools

The service will soon support requesting component states without a metric. This adds support for this feature in the CLI tool.

FYI @cyiallou

Looks good to me but apparently the commit needs to be signed

Updated


Unique integer in a range error

I may just be missing how to do this, but if I pass in a range using unique it gives me an error that the first argument must be a function.
chance.unique(chance.integer({min: 0, max: 100000}), 100);
This works fine, but is not what I want:
chance.unique(chance.integer, 100);

Maybe this is what you're looking for?
chance.unique(chance.integer.bind(chance,{min: 0, max: 100000}), 100);

That worked perfect, thanks allot! Great module too.

What @oliversalzburg suggested will work though it's even easier. Chance accepts the options as a third parameter so the following will also work:
chance.unique(chance.integer, 100, {min: 0, max: 100000});

Also, great, thanks! I didn't notice that in the documentation section on unique, but perhaps I missed it.

Ooof you're right, not very well documented, I'll fix that


Mind: custom text for new elements created with "append" and "appendChild" commands

Hi,
is there a way to change default text for sibling and children nodes created with "append" and "appendChild" commands?

I've searched the docs but I can't find a way to set new defaults in my language.
Thank you

you can register a new command to override appendChild command, like this:
const config = {
  //...
  execute(editor)=>{},
}
<RegisterCommand name="appendChild" config={config} extends="appendChild"/>

and in config, override execute function. By referring to G6, you will know more details. 🙂


Update index.xml

Hi all,
I'm currently revising my guide on database access in Java ( https://www.marcobehler.com/guides/a-guide-to-accessing-databases-in-java ) and was thinking - with the risk of it being rejected for self promotion - that including it in the 'Introduction' section would help more people get a clearer picture of the whole Java database landscape and where and how MyBatis fits in. At least that's the feedback I got so far.
In any case, thanks for considering!

idk, kind of ok with this, it is helpful based on what I saw and its kept up to date.  @harawata , WDYT?

@hazendaz ,
I personally prefer not to have external links, but I'm OK with it if you think it's useful.

@harawata @hazendaz I still suggest some contents about JDBC in Oracle should/could be added in our doc.

@awxiaoxian2020 I agree with your thinking.  Is that maybe something you can work up?  I'm sure the docs need a lot of love they don't generally get.
@harawata I think in this specific case, we probably would never go to so great of detail to discuss alternatives anyways and its laid out nicely enough its not really promoting any one thing over any other thing.  And finally, its so little enough here that we can remove at any point later.  I think in general for entry level developers it is important to see alternatives like this which further helps them also understand why an organization or team may have made a specific choice along the way.

@marcobehler Going to go ahead and accept this.  While we have varying concerns on external information such as this, there is certainly value to such information.  That said, if for some reason our team feels its not useful later donw the road, it could be removed so just putting that out there.  In all likelihood it will remain.  Thank you!

@hazendaz Thank you.


Implement preemptible work items for user mode

Description
Add support for preemptible work items for user mode.
Testing
Existing tests cover the new code added.
Documentation
NA
Fixes #854

Note:
Codecoverage is marking as failed as only 72% of the change was hit by tests compared to 85% in the baseline.

Note: Codecoverage is marking as failed as only 72% of the change was hit by tests compared to 85% in the baseline.

This is mainly due to the code added to handle possible threadpool API failures. Those code paths are not covered with our tests.

Note: Codecoverage is marking as failed as only 72% of the change was hit by tests compared to 85% in the baseline.

This is mainly due to the code added to handle possible threadpool API failures. Those code paths are not covered with our tests.

See:
https://docs.codecov.com/docs/codecovyml-reference
This has options to set the required % covered on a change to show as pass.


sinks add redis plugin

sinks add redis plugin

DCO fails with invalid email. You'll need to setup the email
$ git config --global user.email<EMAIL_ADDRESS>

@feng-crazy We would like to add this to 1.3.0 release. Are you able to sign off before next Wednesday? Thanks.

@feng-crazy Thank you again for contribute this plugin. I squash your commits into one and format the user/email to pass the DCO. I force push the updates to the master branch of your fork. Sorry for any inconvenience.


docs example not working

http://vuejs.org/guide/overview.html#example-1

opening devtools and trying to change exampleData.name fails.
thx, awesome lib

@dciccale I just tested this and it does appear to be working for me. Can you provide more information about what you mean by "fails"? Are you getting an error? And what exactly are you typing?

now is working.... i swear yesterday it was giving me VM153:1 Uncaught ReferenceError: exampleData is not defined and I actually now used the the autocompleted code I wrote yesterday

@dciccale 😄  No worries. I don't think you're crazy!


Patrol reports test failed after second action

Steps to reproduce

Setup according to https://patrol.leancode.co/getting-started/native
Run tests using patrol test --target integration_test/example_test.dart --flavor dev --verbose emulator-5554
Observe the test results/logs.

Actual results
Test file
//import 'package:flutter_test/flutter_test.dart';
import 'package:nala/main_development.dart' as app;
import 'package:patrol/patrol.dart';
void main() {
patrolTest(
'Login tests',
nativeAutomation: true,
($) async {
app.main();
  await $('Log in').tap();
},

https://github.com/leancodepl/patrol/assets/111293664/8b880e23-aadd-4ecd-b129-8c9c2f51ea8c
);
}
Anytime I add a patrol command after  app.main(); say await $('Log in').tap(); , the test is always marked as failed also any command past await $('Log in').tap(); is never executed;
MainActivityTest.java
 package **.**;

import androidx.test.platform.app.InstrumentationRegistry;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;
import pl.leancode.patrol.PatrolJUnitRunner;
@RunWith(Parameterized.class)
public class MainActivityTest {
@Parameters(name = "{0}")
public static Object[] testCases() {
PatrolJUnitRunner instrumentation = (PatrolJUnitRunner) InstrumentationRegistry.getInstrumentation();
instrumentation.setUp(MainActivity.class);
instrumentation.waitForPatrolAppService();
return instrumentation.listDartTests();
}
public MainActivityTest(String dartTestName) {
    this.dartTestName = dartTestName;
}

private final String dartTestName;

@Test
public void runDartTest() {
    PatrolJUnitRunner instrumentation = (PatrolJUnitRunner) InstrumentationRegistry.getInstrumentation();
    instrumentation.runDartTest(dartTestName);
}

}
*Gradle-App
Logs
    :
    : > Task :app:connectedDevDebugAndroidTest
    : Starting 1 tests on Pixel_XL_API_31(AVD) - 12
    :
    : #redacted.MainActivityTest > runDartTest[example_test][Pixel_XL_API_31(AVD) - 12] FAILED
    :       java.lang.AssertionError: Dart test failed: example_test
    :
    : Tests on Pixel_XL_API_31(AVD) - 12 failed: There was 1 failure(s).
    :
    : > Task :app:connectedDevDebugAndroidTest FAILED

    FAILURE: Build failed with an exception.

    * What went wrong:
    Execution failed for task ':app:connectedDevDebugAndroidTest'.
    See the report at: file:///#redacted/build/app/reports/androidTests/connected/flavors/dev/index.html

    * Try:
    > Run with --stacktrace option to get the stack trace.
    > Run with --info or --debug option to get more log output.
    > Run with --scan to get full insights.

    * Get more help at https://help.gradle.org

    BUILD FAILED in 37s
    :
    : Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.
    :
    : You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.
    :
    : See https://docs.gradle.org/7.4/userguide/command_line_interface.html#sec:command_line_warnings
    :
    : Execution optimizations have been disabled for 1 invalid unit(s) of work during this build to ensure correctness.
    : Please consult deprecation warnings for more details.
    : 865 actionable tasks: 8 executed, 857 up-to-date

✗ Failed to execute tests of apk with entrypoint test_bundle.dart on emulator-5554 (Gradle test execution failed with code 1) (37.9s)
Exception: Gradle test execution failed with code 1
#0      AndroidTestBackend.execute. (package:patrol_cli/src/android/android_test_backend.dart:140:9)

#1      DisposeScope.run (package:dispose_scope/src/dispose_scope.dart:46:7)

#2      AndroidTestBackend.execute (package:patrol_cli/src/android/android_test_backend.dart:106:5)

#3      TestCommand._executorFor. (package:patrol_cli/src/commands/test.dart:279:9)

#4      _NativeTestRunner.run.runTestsOnDevice (package:patrol_cli/src/test_runner.dart:245:15)

#5      Future.wait. (dart:async/future.dart:522:21)

#6      _NativeTestRunner.run (package:patrol_cli/src/test_runner.dart:260:5)

#7      TestCommand.run (package:patrol_cli/src/commands/test.dart:194:21)

#8      CommandRunner.runCommand (package:args/command_runner.dart:212:13)

#9      PatrolCommandRunner.runCommand (package:patrol_cli/src/runner/patrol_command_runner.dart:314:18)

#10     PatrolCommandRunner.run (package:patrol_cli/src/runner/patrol_command_runner.dart:258:18)

#11     patrolCommandRunner (package:patrol_cli/src/runner/patrol_command_runner.dart:73:20)

#12     main (file:///Users/lewis/.pub-cache/hosted/pub.dev/patrol_cli-2.0.0/bin/main.dart:6:20)

See the logs above to learn what happened. Also consider running with --verbose. If the logs still aren't useful, then it's a bug - please report it.
Uninstalling #redacted from sdk gphone64 arm64
Uninstalling#redacted.test from sdk gphone64 arm64
FAIL  test_bundle.dart on emulator-5554
Patrol version
patrol: 2.0.0
patrol_cli: 2.0.0
Patrol Doctor output
You're using Patrol CLI 2.0, which has breaking changes.
Read the migration guide at https://patrol.leancode.co/v2.
Disable this warning by setting the PATROL_MIGRATED environment variable.
Patrol CLI version: 2.0.0
Program adb found in #redacted/Library/Android/sdk/platform-tools/adb
Env var $ANDROID_HOME set to #redacted/Library/Android/sdk
Program xcodebuild found in /usr/bin/xcodebuild
Program ideviceinstaller found in /opt/homebrew/bin/ideviceinstaller
Flutter Doctor output
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.7.8, on macOS 13.4.1 22F82 darwin-arm64, locale
en-KE)
[✓] Android toolchain - develop for Android devices (Android SDK version
33.0.2)
[✓] Xcode - develop for iOS and macOS (Xcode 14.3.1)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2021.3)
[✓] VS Code (version 1.79.2)
[✓] VS Code (version 1.73.1)
[✓] Connected device (3 available)
[✓] HTTP Host Availability
• No issues found!

any help looking at this @bartekpacia

I think it's because you have an animation constantly spinning (even though it's not visible). Please read this.
TL;DR Try using SettlePolicy.trySettle.

Hey thanks @bartekpacia for pointing this out. SettlePolicy.trySettle worked like a charm for me

I suggest you set it globally, so you don't have to write it in every line:
patrolTest(
  'test description',
  config: PatrolTesterConfig(settlePolicy: SettlePolicy.trySettle),
  nativeAutomation: true,
  ($) async { /* your test */ },
);

Hello, I have same issue

Task :app:connectedStagingDebugAndroidTest
: Starting 1 tests on SM-S901E - 13
:
: com.bambinifashion.bambinifashion.MainActivityTest > runDartTest[patrol_test][SM-S901E - 13] FAILED
:       java.lang.AssertionError: Dart test failed: patrol_test
:       ══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞═════════════════
: Tests on SM-S901E - 13 failed: There was 1 failure(s).

added this to my test, but it's crashed same way
config: PatrolTesterConfig(settlePolicy: SettlePolicy.trySettle)
So I can't just open an app and wait for main page
/patrol_test.dart
void main() {
patrolTest(
'test scenarios',
config: const PatrolTesterConfig(settlePolicy: SettlePolicy.trySettle),
nativeAutomation: true,
// nativeAutomatorConfig: const NativeAutomatorConfig(
//   packageName: 'com.bambinifashion.bambinifashion'
// ),
($) async {
  final base = Base(tester: $.tester);

  app.main();

  await waitUntilAppIsLoaded($.tester);

  // await base.menu.goToMenuCategory(base.menu.newIn);
  // await base.catalog.addToWishlist('guest');
  // await base.home.goToWishlist();
  // await base.wishlist.remove();
},

);
}
and this is what inside waitUntilAppIsLoaded method
Future waitUntilAppIsLoaded(WidgetTester tester) async {
final finder = find.byWidgetPredicate((widget) => widget is BannerTile);
Log.it('Searching for BannerTile widget');
await pumpUntilFound(
tester,
finder,
timeout: const Duration(seconds: 20),
);
Log.it('BannerTile widget found');
}
and pumpUntilFound method
Future pumpUntilFound(
WidgetTester tester,
Finder finder, {
Duration timeout = const Duration(seconds: 10),
}) async {
bool timerDone = false;
final timer = Timer(timeout, () => timerDone = true);
while (timerDone != true) {
await tester.pump(const Duration(milliseconds: 300));
  final found = tester.any(finder);
  if (found) {
    timerDone = true;
  }
}

timer.cancel();

}

and tried just run the app without any pump, same
void main() {
patrolTest(
'test scenarios',
config: const PatrolTesterConfig(settlePolicy: SettlePolicy.trySettle),
nativeAutomation: true,
// nativeAutomatorConfig: const NativeAutomatorConfig(
//   packageName: 'com.bambinifashion.bambinifashion'
// ),
($) async {
  // final base = Base(tester: $.tester);

  app.main();

  // await waitUntilAppIsLoaded($.tester);

  // await base.menu.goToMenuCategory(base.menu.newIn);
  // await base.catalog.addToWishlist('guest');
  // await base.home.goToWishlist();
  // await base.wishlist.remove();
},

);
}

and also in my case Patrol opening app twice, don't understand why it's happening


Import readline on *nix

This adds readline support if it is available.
So you can do up and down for command history, use Emacs-like bindings such as Ctrl-E and Ctrl-A, etc.

Cool! I would have looked into this before, but Cmder (the terminal emulator I'm using) does this automatically. :package:

Cool! Is it on PyPi yet?

No, I'll go ahead and build it.

It doesn't make a difference on Windows :package: I think Windows does it automatically.
(Also, it lets you use Ctrl-L to clear.)

Uploaded to pypi.

Cool! It says its up to date but I'll try later.


Vulkan: LightmapGI bicubic sampling not implemented (unlike BakedLightmap in 3.x)

See also https://github.com/godotengine/godot/issues/49968 and https://github.com/godotengine/godot/issues/50568.
Godot version
4.0.dev (659178e85)
System information
Fedora 34, GeForce GTX 1080 (NVIDIA 465.31)
Issue description
In the master branch, baked lightmaps can only use bilinear sampling instead of bicubic sampling. This results in lower visual quality, especially when using the Static (formerly All) bake mode:

With bicubic sampling, aliasing in the lightmap becomes much less noticeable. Once it's reimplemented, it should also be enabled by default like in 3.x.
Steps to reproduce
Look for a lightmap bicubic sampling project setting (as is present in 3.x).
Minimal reproduction project
test_lightmap_normalmap.zip

I've started to implement this: https://github.com/Calinou/godot/tree/lightmapgi-add-bicubic-lightmap-sampling
I feel like it doesn't look as smooth as it should be, but it's still a marked improvement: https://imgsli.com/Njc2NzQ
Testing project: https://0x0.st/-tbt.zip


feat disable artifact install at build time

1. Does this PR affect any open issues?(Y/N) and add issue references (e.g. "fix #123", "re #123".):

[x] N
[ ] Y

feat disable artifact install at build time

2. What is the scope of this PR (e.g. component or file name):

pkg/env/env.go

3. Provide a description of the PR(e.g. more details, effects, motivations or doc link):

[ ] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[x] Other

4. Are there any breaking changes?(Y/N) and describe the breaking changes(e.g. more details, motivations or doc link):

[x] N
[ ] Y

5. Are there test cases for these changes?(Y/N) select and add more details, references or doc links:

[ ] Unit test
[ ] Integration test
[ ] Benchmark (add benchmark stats below)
[ ] Manual test (add detailed scripts or steps below)
[x] Other

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
3167

Relevant Lines:
5145

💛  - Coveralls


3.0.6 will not start

Describe The Problem
After updating to version 3.0.6 with ./wgd.sh update, WGDashboard will no longer start. Attempting to do so produces the error below:
Please provide the error traceback here
| Starting WGDashboard with Gunicorn in the background.    |
Failed to read config file: /home/kwschnei/Wireguard-Dashboard/src/gunicorn.conf.py
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/dist-packages/gunicorn/app/base.py", line 111, in get_config_from_filename
    spec.loader.exec_module(mod)
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/home/kwschnei/Wireguard-Dashboard/src/gunicorn.conf.py", line 2, in <module>
    import dashboard
  File "/home/kwschnei/Wireguard-Dashboard/src/dashboard.py", line 25, in <module>
    from flask import Flask, request, render_template, redirect, url_for, session, jsonify, g
  File "/usr/local/lib/python3.10/dist-packages/flask/__init__.py", line 5, in <module>
    from .app import Flask as Flask
  File "/usr/local/lib/python3.10/dist-packages/flask/app.py", line 30, in <module>
    from werkzeug.urls import url_quote
ImportError: cannot import name 'url_quote' from 'werkzeug.urls' (/usr/local/lib/python3.10/dist-packages/werkzeug/urls.py)
| Log files is under log/                                  |
------------------------------------------------------------

**To Reproduce**
sudo ./wgd.sh start

**OS Information:**
 - OS: Ubuntu 22.04.04 LTS (GNU/Linux 5.15.0-1055-raspi aarch64)
 - Python Version: 3.10.12

Did you use any Python Virtual Environments? Are the permissions set correctly?

Honestly, things have been working for a couple years - this only happened after the update to 3.0.6.
I'm not familiar with Python Virtual Environments. (I did the initial setup straight from the guide and they weren't mentioned.) I'll do some research to figure out what those are and see if that's something on my system.

I'm not familiar with Python Virtual Environments. (I did the initial setup straight from the guide and they weren't mentioned.) I'll do some research to figure out what those are and see if that's something on my system.

Maybe try to fetch the requirements again, there might have been some updates in the dependencies. I see specifically ImportError: cannot import name 'url_quote' from 'werkzeug.urls' (/usr/local/lib/python3.10/dist-packages/werkzeug/urls.py) this line which is important.

I tried fixing by re-running the installer, which would have the effect of fetching the requirements again, right? (As a note, I've got 2 Raspberry Pis with this setup, and the error is happening on both of them.)

I do not know the current environment, you could for the ease of use create a Docker image and run those on Raspberry Pi's but if you would like it to stay on the hardware. Then perhaps you can re-run the pip3 install -r requirements.txt. Or can you provide some details on how to reproduce this issue?

Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: Flask in /usr/local/lib/python3.10/dist-packages (from -r requirements.txt (line 1)) (2.2.2)
Requirement already satisfied: ifcfg in /usr/local/lib/python3.10/dist-packages (from -r requirements.txt (line 2)) (0.24)
Requirement already satisfied: psutil in /usr/local/lib/python3.10/dist-packages (from -r requirements.txt (line 3)) (5.9.8)
Requirement already satisfied: icmplib in /usr/local/lib/python3.10/dist-packages (from -r requirements.txt (line 4)) (3.0.4)
Requirement already satisfied: flask-qrcode in /usr/local/lib/python3.10/dist-packages (from -r requirements.txt (line 5)) (3.1.0)
Requirement already satisfied: gunicorn in /usr/local/lib/python3.10/dist-packages (from -r requirements.txt (line 6)) (22.0.0)
Requirement already satisfied: certbot in /usr/local/lib/python3.10/dist-packages (from -r requirements.txt (line 7)) (1.29.0)
Requirement already satisfied: Werkzeug>=2.2.2 in /usr/local/lib/python3.10/dist-packages (from Flask->-r requirements.txt (line 1)) (3.0.3)
Requirement already satisfied: Jinja2>=3.0 in /usr/local/lib/python3.10/dist-packages (from Flask->-r requirements.txt (line 1)) (3.1.4)
Requirement already satisfied: itsdangerous>=2.0 in /usr/local/lib/python3.10/dist-packages (from Flask->-r requirements.txt (line 1)) (2.2.0)
Requirement already satisfied: click>=8.0 in /usr/local/lib/python3.10/dist-packages (from Flask->-r requirements.txt (line 1)) (8.1.7)
Requirement already satisfied: qrcode in /usr/local/lib/python3.10/dist-packages (from flask-qrcode->-r requirements.txt (line 5)) (7.3.1)
Requirement already satisfied: pillow in /usr/lib/python3/dist-packages (from flask-qrcode->-r requirements.txt (line 5)) (9.0.1)
Requirement already satisfied: packaging in /usr/local/lib/python3.10/dist-packages (from gunicorn->-r requirements.txt (line 6)) (24.0)
Requirement already satisfied: acme>=1.29.0 in /usr/local/lib/python3.10/dist-packages (from certbot->-r requirements.txt (line 7)) (1.29.0)
Requirement already satisfied: ConfigArgParse>=0.9.3 in /usr/lib/python3/dist-packages (from certbot->-r requirements.txt (line 7)) (1.5.3)
Requirement already satisfied: configobj>=5.0.6 in /usr/lib/python3/dist-packages (from certbot->-r requirements.txt (line 7)) (5.0.6)
Requirement already satisfied: cryptography>=2.5.0 in /usr/lib/python3/dist-packages (from certbot->-r requirements.txt (line 7)) (3.4.8)
Requirement already satisfied: distro>=1.0.1 in /usr/lib/python3/dist-packages (from certbot->-r requirements.txt (line 7)) (1.7.0)
Requirement already satisfied: josepy>=1.13.0 in /usr/local/lib/python3.10/dist-packages (from certbot->-r requirements.txt (line 7)) (1.13.0)
Requirement already satisfied: parsedatetime>=2.4 in /usr/lib/python3/dist-packages (from certbot->-r requirements.txt (line 7)) (2.6)
Requirement already satisfied: pyrfc3339 in /usr/lib/python3/dist-packages (from certbot->-r requirements.txt (line 7)) (1.1)
Requirement already satisfied: pytz>=2019.3 in /usr/lib/python3/dist-packages (from certbot->-r requirements.txt (line 7)) (2022.1)
Requirement already satisfied: setuptools>=41.6.0 in /usr/lib/python3/dist-packages (from certbot->-r requirements.txt (line 7)) (59.6.0)
Requirement already satisfied: zope.component in /usr/lib/python3/dist-packages (from certbot->-r requirements.txt (line 7)) (4.3.0)
Requirement already satisfied: zope.interface in /usr/lib/python3/dist-packages (from certbot->-r requirements.txt (line 7)) (5.4.0)
Requirement already satisfied: PyOpenSSL>=17.5.0 in /usr/lib/python3/dist-packages (from acme>=1.29.0->certbot->-r requirements.txt (line 7)) (21.0.0)
Requirement already satisfied: requests>=2.20.0 in /usr/lib/python3/dist-packages (from acme>=1.29.0->certbot->-r requirements.txt (line 7)) (2.25.1)
Requirement already satisfied: requests-toolbelt>=0.3.0 in /usr/lib/python3/dist-packages (from acme>=1.29.0->certbot->-r requirements.txt (line 7)) (0.9.1)
Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.10/dist-packages (from Jinja2>=3.0->Flask->-r requirements.txt (line 1)) (2.1.1)

Apparently all the requirements are met.
I did look at transitioning to the docker image in v4, but there aren't actually install directions in the Readme for setting things up with Docker. I did the most obvious things:
git clone -b v4 https://github.com/donaldzou/WGDashboard.git wgdashboard
cd wgdashboard
sudo docker-compose up

However, it fails to start.
Building wheels for collected packages: psutil
  Building wheel for psutil (PEP 517): started
  Building wheel for psutil (PEP 517): finished with status 'error'
  ERROR: Command errored out with exit status 1:
   command: /usr/bin/python3 /tmp/tmp5oey3gg9 build_wheel /tmp/tmpo7xriv4t
       cwd: /tmp/pip-install-uf5us4rf/psutil
  Complete output (46 lines):
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-aarch64-cpython-38
  creating build/lib.linux-aarch64-cpython-38/psutil
  copying psutil/_psaix.py -> build/lib.linux-aarch64-cpython-38/psutil
  copying psutil/_common.py -> build/lib.linux-aarch64-cpython-38/psutil
  copying psutil/_psbsd.py -> build/lib.linux-aarch64-cpython-38/psutil
  copying psutil/_pssunos.py -> build/lib.linux-aarch64-cpython-38/psutil
  copying psutil/_psposix.py -> build/lib.linux-aarch64-cpython-38/psutil
  copying psutil/__init__.py -> build/lib.linux-aarch64-cpython-38/psutil
  copying psutil/_psosx.py -> build/lib.linux-aarch64-cpython-38/psutil
  copying psutil/_pslinux.py -> build/lib.linux-aarch64-cpython-38/psutil
  copying psutil/_pswindows.py -> build/lib.linux-aarch64-cpython-38/psutil
  copying psutil/_compat.py -> build/lib.linux-aarch64-cpython-38/psutil
  creating build/lib.linux-aarch64-cpython-38/psutil/tests
  copying psutil/tests/test_testutils.py -> build/lib.linux-aarch64-cpython-38/psutil/tests
  copying psutil/tests/test_linux.py -> build/lib.linux-aarch64-cpython-38/psutil/tests
  copying psutil/tests/test_windows.py -> build/lib.linux-aarch64-cpython-38/psutil/tests
  copying psutil/tests/test_aix.py -> build/lib.linux-aarch64-cpython-38/psutil/tests
  copying psutil/tests/test_bsd.py -> build/lib.linux-aarch64-cpython-38/psutil/tests
  copying psutil/tests/test_misc.py -> build/lib.linux-aarch64-cpython-38/psutil/tests
  copying psutil/tests/test_osx.py -> build/lib.linux-aarch64-cpython-38/psutil/tests
  copying psutil/tests/test_posix.py -> build/lib.linux-aarch64-cpython-38/psutil/tests
  copying psutil/tests/__main__.py -> build/lib.linux-aarch64-cpython-38/psutil/tests
  copying psutil/tests/test_system.py -> build/lib.linux-aarch64-cpython-38/psutil/tests
  copying psutil/tests/runner.py -> build/lib.linux-aarch64-cpython-38/psutil/tests
  copying psutil/tests/test_process_all.py -> build/lib.linux-aarch64-cpython-38/psutil/tests
  copying psutil/tests/__init__.py -> build/lib.linux-aarch64-cpython-38/psutil/tests
  copying psutil/tests/test_unicode.py -> build/lib.linux-aarch64-cpython-38/psutil/tests
  copying psutil/tests/test_process.py -> build/lib.linux-aarch64-cpython-38/psutil/tests
  copying psutil/tests/test_connections.py -> build/lib.linux-aarch64-cpython-38/psutil/tests
  copying psutil/tests/test_memleaks.py -> build/lib.linux-aarch64-cpython-38/psutil/tests
  copying psutil/tests/test_sunos.py -> build/lib.linux-aarch64-cpython-38/psutil/tests
  copying psutil/tests/test_contracts.py -> build/lib.linux-aarch64-cpython-38/psutil/tests
  running build_ext
  building 'psutil._psutil_linux' extension
  creating build/temp.linux-aarch64-cpython-38
  creating build/temp.linux-aarch64-cpython-38/psutil
  creating build/temp.linux-aarch64-cpython-38/psutil/arch
  creating build/temp.linux-aarch64-cpython-38/psutil/arch/linux
  aarch64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -DPSUTIL_POSIX=1 -DPSUTIL_SIZEOF_PID_T=4 -DPSUTIL_VERSION=598 -DPy_LIMITED_API=0x03060000 -DPSUTIL_ETHTOOL_MISSING_TYPES=1 -DPSUTIL_LINUX=1 -I/usr/include/python3.8 -c psutil/_psutil_common.c -o build/temp.linux-aarch64-cpython-38/psutil/_psutil_common.o
  psutil could not be installed from sources because gcc is not installed. Try running:
    sudo apt-get install gcc python3-dev
  error: command 'aarch64-linux-gnu-gcc' failed: No such file or directory
  ----------------------------------------
  ERROR: Failed building wheel for psutil
Failed to build psutil
ERROR: Could not build wheels for psutil which use PEP 517 and cannot be installed directly
The command '/bin/sh -c pip3 install -r /opt/wgdashboard_tmp/requirements.txt   --no-cache-dir' returned a non-zero code: 1
ERROR: Service 'wgdashboard' failed to build : Build failed

I did look at transitioning to the docker image in v4, but there aren't actually install directions in the Readme for setting things up with Docker. I did the most obvious things:

Sorry to advertise my own thing, but for the current version I created a Pull Request for version <IP_ADDRESS> which I am trying to get into the repository. With detail install instructions: https://github.com/DaanSelen/WGDashboard-dockerized/blob/main/docker/Docker-explain.md
To resolve the initial issue, can you also try to run the wgd.sh with debug passed into it? So that would make it ./wgd.sh debug this should give good detailed explanation.

If I can't get it resolved through the main repository, I'll check your's out.
Unfortunately, the debug mode provides no new information.
------------------------------------------------------------
| Starting WGDashboard in the foreground.                  |
Traceback (most recent call last):
  File "/home/kwschnei/Wireguard-Dashboard/src/dashboard.py", line 25, in <module>
    from flask import Flask, request, render_template, redirect, url_for, session, jsonify, g
  File "/usr/local/lib/python3.10/dist-packages/flask/__init__.py", line 5, in <module>
    from .app import Flask as Flask
  File "/usr/local/lib/python3.10/dist-packages/flask/app.py", line 30, in <module>
    from werkzeug.urls import url_quote
ImportError: cannot import name 'url_quote' from 'werkzeug.urls' (/usr/local/lib/python3.10/dist-packages/werkzeug/urls.py)
------------------------------------------------------------

Unfortunately, the debug mode provides no new information.

Might have a lead on how to fix this: https://stackoverflow.com/questions/77213053/why-did-flask-start-failing-with-importerror-cannot-import-name-url-quote-fr
To make it easier: "I had the same problem. It is because Werkzeug 3.0.0 was released and Flask doesn't specify the dependency correctly (requirements says Werkzeug>=2.2.0). This is why, Werkzeug 3.0.0 is still installed and Flask 2.2.2 isn't made for Werkzeug 3.0.0.
Solution: Just set a fix version for Werkzeug such as Werkzeug==2.2.2 in your requirements.txt and it should work."
You can try if this fixes the issue.

I ran across that same post earlier in the day, along with one that suggested setting a specific version of Flask as well, but that didn't get me anywhere - because I didn't run the install script afterwards. I don't feel great about pinning deprecated software, but it probably won't kill me to do so until v4 is officially released.
For anyone coming here after me, set requirements.txt as follows:
Flask
ifcfg
psutil
icmplib
flask-qrcode
gunicorn
certbot
Werkzeug==2.2.2

Then:
sudo ./wgd.sh install
sudo ./wgd.sh start

Thanks for all your help @DaanSelen

I ran across that same post earlier in the day, along with one that suggested setting a specific version of Flask as well, but that didn't get me anywhere - because I didn't run the install script afterwards. I don't feel great about pinning deprecated software, but it probably won't kill me to do so until v4 is officially released.
For anyone coming here after me, set requirements.txt as follows:

Flask

ifcfg

psutil

icmplib

flask-qrcode

gunicorn

certbot

Werkzeug==2.2.2

Then:

sudo ./wgd.sh install

sudo ./wgd.sh start

Thanks for all your help @DaanSelen

Hi @kwschnei, I'm sorry that you're encountering this issue. Do you mind telling me which OS you're using and I'll do some testing with a VM and make the correct adjustments.
I'll reopen this issue until I know what's going on😊
Best,
Donald

I ran across that same post earlier in the day, along with one that suggested setting a specific version of Flask as well, but that didn't get me anywhere - because I didn't run the install script afterwards. I don't feel great about pinning deprecated software, but it probably won't kill me to do so until v4 is officially released.
For anyone coming here after me, set requirements.txt as follows:

Flask

ifcfg

psutil

icmplib

flask-qrcode

gunicorn

certbot

Werkzeug==2.2.2

Then:

sudo ./wgd.sh install

sudo ./wgd.sh start

Thanks for all your help @DaanSelen

Hi @kwschnei, I'm sorry that you're encountering this issue. Do you mind telling me which OS you're using and I'll do some testing with a VM and make the correct adjustments.
I'll reopen this issue until I know what's going on😊
Best, Donald

I suspect that one of the dependencies has been updated, and deprecated one of the functions used in WGDashboard. That is why I submitted a issue of feature request https://github.com/donaldzou/WGDashboard/issues/279

@donaldzou I'm running Ubuntu 22.04.04 LTS (GNU/Linux 5.15.0-1055-raspi aarch64) on a Raspberry Pi 4. (With all of the latest updates applied.)

Ahh I see what is going on.. I will add the version number in the requirements.txt when I release v4 :)


Enhancement: option to use deta.space (free) for database and deployment

What features would you like to see added?

Option to use deta instead of MongoDB
https://deta.space/docs/en/use/your-data/collections

Deploy on deta
https://deta.space/docs/en/learn/what-is-pc

Note: response to a request can't take longer than 10 seconds
More details
https://github.com/deta
Which components are impacted by your request?
General, Other
Pictures
No response
Code of Conduct

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

Thanks @danny-avila. I'll try to contribute myself when I get some time!
So deta is a full stack thing but it has components. The thing I use most often is their "Base" product which is a noSQL DB. It can optionally be paired with an app and deployed together but can be used on its own too.
And sorry no, I wasn't clear, the 10s thing was for deta. If you make an app on their free tier, any request can only take a maximum of 10s.


[Meteor 1.9] DeprecationWarning: OutgoingMessage.prototype._headers is deprecated

I'm getting DeprecationWarning: OutgoingMessage.prototype._headers is deprecated after updating to Meteor 1.9. Most probably, this can be fixed by using setHeader / getHeaders instead of _headers. Could you please push this small fix?

would love it if anyone could merge this please.

I've just created a fork with this fix and am currently adding it as dep in the vue-ssr package - which I'm currently maintaining


fix: remove parent_id until backwards compat bug is addressed

Original issue: https://github.com/Unstructured-IO/unstructured-api/issues/237
Core library fix: https://github.com/Unstructured-IO/unstructured/pull/1526
Anyone who calls partition_via_api will hit this bug until they upgrade unstructured, which includes any Langchain users of UnstructuredAPIFileLoader. The immediate fix is to remove parent_id from the hosted api. Next, we can ensure that langchain users are up to date. Finally, the core library fix above will address any new fields going forward. It will be safe to readd the parent_id once users are generally on unstructured>=0.10.15.

Note we should merge https://github.com/Unstructured-IO/unstructured-api/pull/249 before cutting the release as this is another high priority fix.


Night CI 2023-12-28: Failed

action url: https://github.com/spidernet-io/egressgateway/actions/runs/7350822570

• [FAILED] [20.139 seconds]
Egressendpointslice
/home/runner/work/egressgateway/egressgateway/test/e2e/egressendpointslice/egressendpointslice_test.go:22
  After performing several rounds of creating and deleting pods, check the status of the egress endpointSlice and the exported IP of the pod [S00001]
  /home/runner/work/egressgateway/egressgateway/test/e2e/egressendpointslice/egressendpointslice_test.go:32
    [It] test the namespace-level policy
    /home/runner/work/egressgateway/egressgateway/test/e2e/egressendpointslice/egressendpointslice_test.go:92

  Timeline >>
  > Enter [BeforeEach] After performing several rounds of creating and deleting pods, check the status of the egress endpointSlice and the exported IP of the pod - /home/runner/work/egressgateway/egressgateway/test/e2e/egressendpointslice/egressendpointslice_test.go:48 @ 12/28/23 20:08:48.626
  create gateway egw-d840f395-754c-4b0f-a9ea-04b5f3e24209
  < Exit [BeforeEach] After performing several rounds of creating and deleting pods, check the status of the egress endpointSlice and the exported IP of the pod - /home/runner/work/egressgateway/egressgateway/test/e2e/egressendpointslice/egressendpointslice_test.go:48 @ 12/28/23 20:08:48.713 (87ms)
  > Enter [It] test the namespace-level policy - /home/runner/work/egressgateway/egressgateway/test/e2e/egressendpointslice/egressendpointslice_test.go:92 @ 12/28/23 20:08:48.713
  succeeded to create deploy deploy-d37a0427-16be-47ef-8c39-b2cb595081f3
  succeeded to create policy policy-09b21501-3686-4f27-86bb-a6e0cafaa4abt6qm2
  succeeded to create deploy deploy-d37a0427-16be-47ef-8c39-b2cb595081f3
  check the egressEndpointSlice synced with the pod list
  check the egress ip of pods
  Automatically polling progress:
    Egressendpointslice After performing several rounds of creating and deleting pods, check the status of the egress endpointSlice and the exported IP of the pod test the namespace-level policy (Spec Runtime: 20.088s)
      /home/runner/work/egressgateway/egressgateway/test/e2e/egressendpointslice/egressendpointslice_test.go:92
      In [It] (Node Runtime: 20s)
        /home/runner/work/egressgateway/egressgateway/test/e2e/egressendpointslice/egressendpointslice_test.go:92

      Spec Goroutine
      goroutine 71 [sleep]
        time.Sleep(0x1dcd6500)
          /opt/hostedtoolcache/go/1.20.5/x64/src/runtime/time.go:195
        github.com/spidernet-io/egressgateway/test/e2e/common.WaitEgressEndPointSliceDeleted({0x2946330, 0xc0000501c8}, {0x294df00, 0xc0005699e0}, 0xc00053ab40, 0x0?)
          /home/runner/work/egressgateway/egressgateway/test/e2e/common/egep.go:198
      > github.com/spidernet-io/egressgateway/test/e2e/egressendpointslice_test.glob..func2.1.2()
          /home/runner/work/egressgateway/egressgateway/test/e2e/egressendpointslice/egressendpointslice_test.go:129
            | 	Expect(err).NotTo(HaveOccurred())
            | 	if ees != nil {
            > 		Expect(common.WaitEgressEndPointSliceDeleted(ctx, cli, ees, time.Second*5)).NotTo(HaveOccurred())
            | 	}
            | })
        github.com/onsi/ginkgo/v2/internal.extractBodyFunction.func3({0x0, 0x0})
          /home/runner/work/egressgateway/egressgateway/vendor/github.com/onsi/ginkgo/v2/internal/node.go:463
        github.com/onsi/ginkgo/v2/internal.(*Suite).runNode.func3()
          /home/runner/work/egressgateway/egressgateway/vendor/github.com/onsi/ginkgo/v2/internal/suite.go:889
        github.com/onsi/ginkgo/v2/internal.(*Suite).runNode
          /home/runner/work/egressgateway/egressgateway/vendor/github.com/onsi/ginkgo/v2/internal/suite.go:876
  [FAILED] Unexpected error:
      <*errors.errorString | 0xc0003f4770>:
      error timeout
      {s: "error timeout"}
  occurred
  In [It] at: /home/runner/work/egressgateway/egressgateway/test/e2e/egressendpointslice/egressendpointslice_test.go:129 @ 12/28/23 20:09:08.73

  [TIMEDOUT] A suite timeout occurred
  In [It] at: /home/runner/work/egressgateway/egressgateway/test/e2e/reliability/reliability_test.go:296 @ 12/28/23 21:09:37.734

Timeout waiting for pods to be ready, after restarting kubeproxy


Adding support for group milestones and group issues

Adding support for group milestones in the MilestoneClient.

Can you add 1 or more tests to ./NGitLab.Tests/Milestone/MilestoneClientTests.cs, to validate creation and retrieval of group milestones?


Fix CI

Picking up from Jorge's PR https://github.com/apache/arrow-datafusion/pull/8

And now crates.io seems to be having issues

failed to get arrow data dir: the data dir `/Users/runner/work/arrow-datafusion/arrow-datafusion/testing/data` defined by env ARROW_TEST_DATA not found

It looks like I mistakenly added the arrow-testing submodule under arrow-testing instead of just testing

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@e717559). Click here to learn what that means.
 Consider uploading reports for the commit ff3bcc8 to get more accurate results

@@            Coverage Diff            @@
##             master      #10   +/-   ##
=========================================
  Coverage          ?   70.41%
=========================================
  Files             ?      123
  Lines             ?    21261
  Branches          ?        0
=========================================
  Hits              ?    14970
  Misses            ?     6291
  Partials          ?        0

Continue to review full report at Codecov.

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

Rust tests pass. Travis is complaining about C++, Go, and Java.


HBRT infinite loop on ECC error during startup

Start opal-prd and observe this log before opal-prd gets stuck at 100% CPU.
HBRT: PRDF:>>PRDF::main() Global attnType=0004
HBRT: PRDF:>>PRDF::noLock_initialize()
HBRT: PRDF:>>PegasusConfigurator::build()
HBRT: PRDF:<<PegasusConfigurator::build()
HBRT: PRDF:<<PRDF::noLock_initialize()
HBRT: ERRL:>>ErrlManager::ErrlManager constructor.
HBRT: ERRL:iv_hiddenErrorLogsEnable = 0x0
HBRT: ERRL:>>setupPnorInfo
HBRT: PNOR:>>RtPnor::getSectionInfo
HBRT: PNOR:>>RtPnor::readFromDevice: i_offset=0x0, i_procId=0 sec=11 size=0x20000 ecc=1
HBRT: PNOR:RtPnor::readFromDevice: removing ECC...
HBRT: PNOR:RtPnor::readFromDevice> Uncorrectable ECC error : chip=0,offset=0x0

(at which point everything stops with opal-prd chewing 100% CPU)
Which ends up being a fairly classic race in trying to log an error before everything has been initialized.
Consequently, opal-prd spins a core and is right off into the weeds.

Ironically enough we just encountered this in a different environment.  I'm surprised it took this long.  I've got some hacks that need to be ironed out.  Since this is a secondary fail it will go on the backburner for a little while.

FWIW, the workaround is to erase the HBEL partition:
pflash -P HBEL -e

and then you'll be okay.

But it seems that by flashing zeros over rather than just erasing will do the trick.

Resolved with 1e784c03824d66dd76ee5effe16b55782c703599.  HBRT will now assert and crash if we get early life PNOR failures instead of doing an infinite loop that pegs the cpu.


Ability to configure client-side timeout

Issue
I'm using the weaviate-go-client to batch upload images to a weaviate server. The issue I am running into is timeouts during the upload. Even when reducing the batch size to 1 this continues to occur.
There is an error message with the recommendation to increase the client-side timeout: try increasing the client-side timeout
When I create my client I can pass a StartupTimeout but I believe this only waits for the initial connection to the weaviate server. I am not sure the client side timeout feature is available in this sdk currently.
Question
Is there a plan to add the ability to set the client timeout? I am willing to help make this contribution if needed.
Thanks

It is possible, but it is not that obvious. You can create you own http.Client with your timeout and add that to the Config.
Currently there is no plan to add this directly, but I would be happy to take your contribution :)


Add outbound queues

Closes #13.

Replaced by https://github.com/Preetam/failure-detector/pull/22.


Sortable handle property

Hi @cheton, does react-sortable support the Sortable handle property?
I get the error: "Unknown prop handle on  tag."
                            <Sortable
                                handle=".my-handle"
                                options={{
                                    animation: 150
                                }}
                                className="block-list"
                                ref={c => {
                                    if (c) {
                                        this.simpleList = c.sortable;
                                    }
                                }}
                                tag="ul"
                            >
                                {simpleList}
                            </Sortable>

Hi @turnerniles,
You can pass handle to the options object, like below:
<Sortable
    options={{
        animation: 150,
        handle: '.my-handle'
    }}
>
    {simpleList}
</Sortable>

@cheton thanks! Looks like I glossed over that and missed it.


💥 API inconsistency with AsService using entrypoint

Summary
I propose that asService always executes the entrypoint and default arguments, instead of only as a fallback.
Background
When we were close to releasing v0.12.0, we rushed to revert the "Default exec" because it became very easy to trigger the execution of the entrypoint undesirably, just by ending a dagger call chain in a Container object:

https://github.com/dagger/dagger/issues/7821

I’s ok if the entrypoint is a CLI like git, but not if it’s a long running command. So now you have to be explicit, in case you want the stdout of a container and there’s no withExec defined, but expect to run the image’s CMD:
dag.Container().
    Build(src).
    WithExec([]string{}).
    Stdout(ctx)  // executes CMD

And if ENTRYPOINT is also required:
dag.Container().
    Build(src).
    WithExec([]string{}, dagger.ContainerWithExecOpts{UseEntrypoint: true}).
    Stdout(ctx)  // executes ENTRYPOINT + CMD

That’s necessary because Stdout applies to the last WithExec, and a withExec with empty arguments uses the default arguments (aka, CMD).
However, if CMD is a long running process, would you want to use Stdout for it? No, that’s what services as for.
Problem
It made sense, while removing the fallback to the “default command” from stdout, to leave asService alone, because services are long running commands, and that’s more likely to be in the CMD of the container image. That includes using the entrypoint in that case too, because a lot of docker images have entrypoint scripts that do a lot of setup before a long running command starts, like databases.
However, this creates a weird inconsistency. It’s not even that asService uses the entrypoint while stdout and stderr no longer do, per se. We can reason with that (long running vs not). It’s that it only happens if there’s no withExec:
dag.Container().
    From("registry:2").
    AsService()  // executes ENTRYPOINT + CMD

But if you add a withExec, then that’s what AsService() will execute, and without the entrypoint:
dag.Container().
    From("registry:2").
    WithFile("/setup", setupFile).
    WithExec([]string{"/setup"}).
    AsService()  // executes /setup, without the entrypoint, and exits early

So if you actually need to execute the entrypoint and default args, you need to do this:
dag.Container().
    From("registry:2").
    WithFile("/setup", setupFile).
    WithExec([]string{"/setup"}).
    WithExec([]string{}, dagger.ContainerWithExecOpts{UseEntrypoint: true}).
    AsService()  // executes ENTRYPOINT + CMD

Solution
I propose that services always execute the entrypoint and default arguments, instead of the last withExec. So the empty exec would no longer be necessary:
dag.Container().
    From("registry:2").
    WithFile("/setup", setupFile)
    WithExec([]string{"/setup"}).
    AsService()  // executes ENTRYPOINT + CMD

But if your intent is for change the command, then just change the entrypoint and/or default arguments:
dag.Container().
    From("registry:2").
    WithFile("/setup", setupFile)
    WithExec([]string{"/setup"}).
    WithEntrypoint([]string{"/my-entrypoint.sh"}).
    WithDefaultArgs([]string{"/init", "stage"}).
    AsService()  // executes new ENTRYPOINT + CMD

Rationale
My first impulse was to follow this idea in https://github.com/dagger/dagger/pull/7136#issuecomment-2135708579:

Dagger considers entrypoint to be "dumb" metadata on a container image. You can read it, and change it. But Dagger does not use it to configure its own execution of containers, because it doesn't need it: the same thing can be achieved with code.

And remove the fallback from asService as well, in order to resolve the inconsistency. However, it does seem to me that for a service, you’ll likely want to run the ENTRYPOINT + CMD in an image. Otherwise, it’s going to be more verbose in the common case.
I actually felt that when trying to remove the use of entrypoints in our codebase, and there were a few valid uses, like the registry in our CI (long running). But not, when the same module was setting the codegen CLI as an entrypoint to be used in withExecs in a far away place (in SDKs), and having a hard time pin pointing what said withExecs were doing.
It’s simple to explain because these are different types:

Type
Long running
Use last withExec
Run default command

Container
No
Yes
No, not even as a fallback

Service
Yes
No
Yes, always

Parity with docker run in the CLI
It was brought to my attention by @jpadams that, because the CLI is more and more powerful, he wanted to play with the alpine/git image but expected it to work more like docker run. It’s simple to see what the image does by default with docker:
❯  docker container run -it --rm alpine/git

usage: git [-v | --version] [-h | --help] [-C <path>] [-c <name>=<value>]
           [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
           [-p | --paginate | -P | --no-pager] [--no-replace-objects] [--bare]
           [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
           [--config-env=<name>=<envvar>] <command> [<args>]

As you can see, it has an entrypoint and default args:
❯ dagger core container from --address=alpine/git

_type: Container
defaultArgs:
    - --help
entrypoint:
    - git
mounts: []
platform: linux/arm64
user: ""
workdir: /git

But in dagger, it’s much more convoluted to do the same in the CLI. While before you’d just add stdout to the command, now you need this:
❯ dagger core container from --address=alpine/git with-exec --args= --use-entrypoint stdout

But what if we added a convenience Container.run, that executes the entrypoint and default arguments, not the last withExec, and returns (ideally) the stream of the output?
❯ dagger container from --address=alpine/git run

usage: git [-v | --version] [-h | --help] [-C <path>] [-c <name>=<value>]
           [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
           [-p | --paginate | -P | --no-pager] [--no-replace-objects] [--bare]
           [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
           [--config-env=<name>=<envvar>] <command> [<args>]

Note that I used the second option from https://github.com/dagger/dagger/issues/6947#issuecomment-2168278578 (dagger <core function>). See https://github.com/dagger/dagger/pull/8135.
Basically making this:
out, err := ctr.Run(ctx)

A convenience for:
out, err := ctr.WithExec([]string{}, dagger.ContainerWithExecOpts{UseEntrypoint: true}).Stdout(ctx)

I skimmed this and the proposal makes sense to me. I am in favour of introducing this change before we release v0.13.0.
Unless anyone comments & disagrees, I think that we should go ahead with this. I would give it a day or two, and if there is no push-back, I'm for making the behaviour consistent.
WDYT @shykes @samalba @aluzzardi @jedevc @vito ?

Having inconsistent behavior of entrypoints in AsService vs WithExec feels a little sad, but I think it's definitely better than the current behavior, and it's definitely easier to explain over "you need a magic empty withExec".
Not as sure about having a Run method (at least in the form described). What if you want to get the Stderr of the entrypoint? Or the return code? That said, that's not the main thing proposed here, could that change be discussed/made separately?

In terms of scheduling, this feels feasible to do before next week if someone has time to pick it up - the tricky bit ofc will likely be the version compat again.

Yeah, I want to split the run idea into a separate issue but haven't been able to yet. It remains here just to tie into a future possibility (convenience), but the idea is that this resulting output would be combined (stdout + stderr), depending on adding such a field to Container too since it's been in the backlog for a long time.

Here's my proposal:
extend type Container {
   "Start a long-running service from this container"
   start(
     "Command-line arguments to execute"
     args: [String!]!
     ): Service!
}

No ambiguity, no reliance on either entrypoint or previous withExec. It's what we should have done from the start.

Unless anyone comments & disagrees, I think that we should go ahead with this. I would give it until Wednesday this week, and if there is no push-back, I'm for making the behaviour consistent.

If we get strong consensus by then, great, but we shouldn't rush it. After all this issue blames rushing a decision for 0.12 as the root cause of the problem...

Here's my proposal:
extend type Container {
   "Start a long-running service from this container"
   start(
     "Command-line arguments to execute"
     args: [String!]!
     ): Service!
}

No ambiguity, no reliance on either entrypoint or previous withExec. It's what we should have done from the start.

I think the problem is that for a lot of images that people want to run as a service with (registry, databases, web server, etc...), they've already been built in the larger docker ecosystem with a ENTRYPOINT (for setting up the container) and  CMD (for the daemon), so users would have to pull those values from the Container to combine into start(args).
In my mind this is very common and makes sense to have asService always use those instead of last withExec. I think we need to at least remove the fallback to the default command because that's the major inconsistency here (in case there's any withExec steps or not).
In that case, users that want to execute the default command from the image would need to add the same empty withExec we started requiring in v0.12.0 for stdout and stderr:
svc, err := ctr.WithExec([]string{}, dagger.ContainerWithExecOpts{UseEntrypoint: true}).AsService(ctx)

We discussed this live with @helderco @sipsma @vito @jedevc.
We have consensus on a first part of the design, and almost consensus on a second part.
Part 1
This first part is ready to be implemented asap:

Principle: embrace "default args" (aka CMD) as the correct way to persist a default command in a container
Principle: tolerate "entrypoint" as an unwanted feature that you sometimes have to be compatible with via an optional flag.
When creating a service, it should be possible to specify the command args directly, or omit them and get a reasonable default
Per the first principle: a reasonable default is simply to use the container's default args. Not entrypoint, and not the last withExec.
Separately, per the second principle, an optional flag will allow prepending the args with the container's entrypoint, if present. This is independent of how the args were constructed
The result is the following API:

extend type Container {
   "Start a long-running service from this container"
   AsService(
     "Command-line arguments to execute. If not set, use the container's default args"
     args: [String!],
     "If the container has an entrypoint, prepend it to the args"
     useEntrypoint: Bool,
     ): Service!

Part 2
This second part should happen soon, but is not as urgent. We don't have full consensus yet, but it seemed pretty close.

New function: Container.start. Same as asService except the arguments are required
Container.asService becomes sugar on top of start. But sugar is bad for you, so we deprecate it
We remove Service.start and Service.stop to avoid confusion of having 2 different start
To compensate for the loss of the escape hatch Service.start, we design a solution for each known use case:
Replacement for the first use case of service.Start: we add a flag to Container.start to control the "grace period", ie: when you want to prevent the service being stopped/started in the same session. FIXME: work out the specifics
Replacement for the second use case of service.Start: we create a new Network type which contains an array of services. All the services in the network can be brought up in a coordinated way, and their endpoints exposed as a whole (for the docker-compose up use case).
If we still don't feel comfortable completely removing the escape hatch, maybe we rename Service.start and Service.stop to Service.manualStart and Service.manualStop?

Copying @kpenfound to include in the discussion of this second part

I am working on the first part, and I wanted to ask a clarification in terms of DX for the users.

When creating a service, it should be possible to specify the command args directly, or omit them and get a reasonable default

Does that mean we can make args []string optional to AsService api (by adding a json tag default:"[]")?
If we make it optional, user can continue to say container.AsService(), and add args when needed container.AsService(dagger.ContainerAsServiceOpts{Args: []string{"run", "/main"}).
but if we make it mandatory, user will have to say container.AsService([]string{}) to get the default behavior.

Yes the args should be optional (in graphql syntax: args: [String!]

Thanks @shykes. As I am making more changes, I came across another scenario. e.g. today we start dev engine as follows:
ctr := ctr.
		WithMountedCache("/var/lib/dagger", c.CacheVolume("dagger-dev-engine-state-"+identity.NewID())).
		WithExposedPort(1234, dagger.ContainerWithExposedPortOpts{Protocol: dagger.NetworkProtocolTcp}).
		WithExec([]string{
			"--addr", "tcp://<IP_ADDRESS>:1234",
			"--addr", "unix:///var/run/buildkit/buildkitd.sock",
			// avoid network conflicts with other tests
			"--network-name", deviceName,
			"--network-cidr", cidr,
		}, dagger.ContainerWithExecOpts{
			UseEntrypoint:            true,
			InsecureRootCapabilities: true,
		})

## and then

ctr.AsService()

I am suspecting as we make the change, we may have to adjust the api to account for this and add the additional flags such as InsecureRootCapabilities to AsService api. so it would look like following after the change:
ctr := ctr.
		WithMountedCache("/var/lib/dagger", c.CacheVolume("dagger-dev-engine-state-"+identity.NewID())).
		WithExposedPort(1234, dagger.ContainerWithExposedPortOpts{Protocol: dagger.NetworkProtocolTcp}).
		WithDefaultArgs([]string{
			"--addr", "tcp://<IP_ADDRESS>:1234",
			"--addr", "unix:///var/run/buildkit/buildkitd.sock",
			// avoid network conflicts with other tests
			"--network-name", deviceName,
			"--network-cidr", cidr,
		})

## and then

ctr.AsService(dagger.ContainerAsServiceOpts{
	UseEntrypoint:            true,
	InsecureRootCapabilities: true,
})

@rajatjindal that is a great point. Yes, I guess we will InsecureRootCapabilities, ExperimentalPrivilegedNesting and maybe other arguments to withExec? Similar situation to Terminal.
I'm starting to feel like we have an API mess to cleanup... Lots of duplication between "execute a command and return"; "execute an interactive shell and return"; "execute a long-running service"; Maybe we should talk about resolving that @dagger/maintainers ?

@rajatjindal one part of your example snippet I don't understand:

	// keeping WithExec here to allow for testcases that do not need
	// a service to continue to work like they were earlier.
	return ctr.WithExec([]string{}, dagger.ContainerWithExecOpts{
		UseEntrypoint:            true,
		InsecureRootCapabilities: true,
	})

Can you explain this part? In my mind this would be removed, to simplify the caller code.

I was looking at this testcase (and similar testcases in engine_test): https://github.com/dagger/dagger/blob/3956d894f84131467889e6377e1ec3f68fc0256c/core/integration/engine_test.go#L99
In this example we start the engine entrypoint script (without using AsService), wait for a few seconds and send SIGTERM. I've not really tried this with new AsService api yet but its one of the todo's for me.


[Logical def] epithelial cell of uterus logical and textual definition

Background
The parent of epithelial cell of uterus in CL is "endo-epithelial cell" but the epithelial cells in the uterus are meso-derm derived.
PMID: 21698266: "During embryogenesis, the mesoderm emerges from the primitive streak and gives rise to coelomic epithelium. The Müllerian Duct (MD) arises from invagination of coelomic epithelium during fetal development. Subsequently, the MD gives rise to the human female reproductive tract (FRT) that further differentiates to form the oviduct, uterus and upper vaginal canal."
PMID: 11331626: "The endometrium is composed of mesodermal-derived glandular and luminal epithelia that are supported by a basement membrane and connective tissue stroma." - This indicates that the epithelial cells of the endometrium, which line the uterus, are derived from the mesoderm.
PMID: 16960017: "The embryonic female reproductive tract has its origins in the intermediate mesoderm, which begins to form soon after gastrulation. As this embryonic tissue proliferates, it is thought that some cells undergo mesenchymal to epithelial transition to give rise to the coelomic epithelium that later invaginates to form the paramesonephric or Müllerian ducts (Kobayashi and Behringer, 2003). "
CL term
epithelial cell of uterus (CL:0002149)
Suggested revision of logical definition
'meso-epithelial cell' and ('part of' some uterus)
instead of
'endo-epithelial cell' and ('part of' some uterus)

I agree that epithelial cells of the uterus have a mesodermal origin.
EquivalenTo would be: 'epithelial cell' and ('part of' some uterus).
New axiom 'develops from' some 'mesodermal cell'.


Confused about calculating content loss

Hi, I noticed that in this repo, you used the detached enhanced feature to calculate content loss:
https://github.com/Flashkong/Source-Free-Object-Detection-by-Learning-to-Overlook-Domain-Style/blob/81a9b4ecd99294b1e4f67d1e98e395b78b7f89e9/Enhance/net.py#L110
But in Naoto's repo, he did not detach the enhanced feature (https://github.com/naoto0804/pytorch-AdaIN/blob/45270587fe07bf0a1bb2d4265238272676764f22/net.py#L148):
loss_c = self.calc_content_loss(g_t_feats[-1], t)

So I am confused about this implementation: what is the difference if we detach t or not?
Thanks.

Thank you for your attention to our work!
We train F1, 2 and decoder separately (using two optimizers), so whether to detach t makes no difference in terms of parameter update. If t is not detached, the gradients of F1, 2 will be calculated when loss.backward() is executed. So it can save computing resources to some extent.

Very clear explanation! Thanks.


Watcher does not work for symbolic link

As in the title. Create a file and ln -rs it to another directory, then the watcher does not work.

Works for me with 0.7 on macOS. Can you still reproduce this?

Can confirm it's fixed.


FloatingActionButton and BottomBar

I've got BottomBar (shy) and FloatingActionButton, both bottom bound. BottomBar overlaps FloatingActionButton by default - anchoring is no help, only elevation, something like 8dp (but that's probably my custom context bound value). My post is either feature request or bug report - not sure about it: would it be possible to anchor FloatingActionButton top right of BottomBar, keeping "shy" behavior of latter one?( that is, when BottomBar hides down, move down FloatingActionButton thus in the end BottomBar is no longer showing, FloatingActionButton is showing normally)

had the same problem. But in my case it was a easy to solve it. Because now the BottomBar is a widget in the xml layout, that means that you have to specify a position in the layout. For example this is my layout

<FrameLayout
    android:id="@+id/fragment_container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_marginBottom="60dp"/>

<com.roughike.bottombar.BottomBar
    android:id="@+id/bottomBar"
    android:layout_width="match_parent"
    android:layout_height="60dp"
    android:layout_gravity="bottom"
    app:bb_tabXmlResource="@xml/bottombar_tabs" />

I was using a FrameLayout as a Parten container and one of the rules of a FrameLayout is that all the View in the container will overlap, so in my case i just gave a marginBottom to "@+id/fragment_container" of 60dp (The size of the BottomBar).
Hope it helps!


added null safety support to this package

I have added null safety support to this package and this package will be compatible with the latest flutter.

Hello. I'll test your changes and if is ok, i'll merge.
Thanks for your support :D

Okay bro😇


Management of variable groups

Is your feature request related to a problem? Please describe.
Currently creating a variable group is a manual task only available from the Azure DevOps portal. For open source projects where I'm sharing Pipelines YAML and referencing variable groups in them, this is a major pain.
I simply have to instruct users to go set the variable group up manually and call it a specific name, then tell them which variables to set in there. It's very clumsy
Describe the solution you'd like
The CLI should allow for doing this, e.g. via az devops var-group create command and potentially an input YAML file which sets the variable defaults. In addition a az devops var-group variable set command to allow setting of variables in a group. This would allow for automated scripting of setups
Additional context
Add any other context or screenshots about the feature request here.

Command structure proposed for Variable-Group Commands

Command
Description
Params
Table Output Response
Comments

az pipelines variable-group create
Create a new Variable Group
org, project, name, description, variables, type (vsts, azurekeyvault)
name, id, description, num_variables

az pipelines variable-group update
Update existing variable group
org, project, group-id.. Update name, description, type, variables
name, id, description, num_variables

az pipelines variable-group list
List variable groups in a project
org, project, group-name, action-filter, continuation-token, query-order, top
name, id, description, num_variables
list with ids  is another API, so we can have that functionality in the same command if required.

az pipelines variable-group show
Show details on a variable group
org, project, group-id
name, id, description, num_variables

az pipelines variable-group delete
Delete a variable group
org, project, group-id

Rest API docs link

Variable group management commands will be available  in 0.12.0 in next couple of weeks.
Filed a new issue to track - AzureKeyVault groups #723

It would be great to be able to manage security on variable groups as well.

@ravensorb avoid commenting on closed issues as they might never get noticed. Feel free to file a new issue and we will prioritise it based on upvotes.


Enabled the members privileged intent and changed the Intents.members attribute to true.

#31
Bot can't see members because of new Discord Privileged Intents.
https://discordpy.readthedocs.io/en/latest/intents.html#where-d-my-members-go

Great. We need to also update the python version in requirements-dev.txt, so I'm doing that right now, then run the tests and we'll be off to the races. Thanks so much for your help!

Cool, the tests are all passing so I'll push these changes. Thanks again!


Remove [DebuggerDisplay] from Paragraph

Fixes #1476

[x] I have read the Contribution Guidelines
[x] I have commented on the issue above and discussed the intended changes
[ ] A maintainer has signed off on the changes and the issue was assigned to me
[ ] All newly added code is adequately covered by tests
[x] All existing tests are still running without errors
[x] No documentation changes are required.

Changes
Remove broken [DebuggerDisplay] attribute.

I appreciate where you’re coming from, but wouldn't it be better to fix the problem?

I considered that briefly, but that looked like a much more involved change to add a custom debugger proxy to start walking through the internal state, and not being familiar with the internals I didn't see anything obvious to use in its place as a trivial replacement.

Merged! Thank you for your contribution. Much appreciated! 👍


Improve how commands are registered for a plugin to be more dynamic and automated

Should probably use a decorator to register meta data about a function which you want to become a command function. This meta data will be used by the bot to do everything it needs.

Resolved


Fixes #1210.  Added AllowsReturn, AllowsTab and Multiline into the TextView.

Fixes #1234

I had to merge the PR #1242 because there are unit test that only work with them.

TextView can be used as single line text box as well.

I also had to create a new word wrap API for the preserveTrailingSpaces to deal with tab looking for the text forward, because the backward way complicate that.

@BDisp after merging this, main no longer builds for me.

What did I do wrong?

What did I do wrong?

Because you didn't merged the ConsoleDriver SendKeys feature before.

it's working now. Thanks.

I read through this and didn't find anything obvious, but the vastness of it makes me nervous.

The main reason why I did a new word wrapper api was that when it found a white space he go out from the while statement and I needed to find tabs before that.

Yea, I see that.
TextView is one of the more complex pieces of code in the project. It only has ~55% code coverage.
If we can get it above 80% I think we'll all feel better. For example WrapModel is a very complex function that has no tests.


scale_y_continuous title bug

scale_y_continuous, unlike scale_x_continuous capitalises all the words in the axis title.
class scale_y_continuous(scale):
    def __radd__(self, gg):
        if self.name:
            gg.ylab = self.name.title()

This means, among other things, it is impossible to use latex symbol notation in y axis titles
A work around is to manual reassign gg.ylab to the scale_y_continuous title after the ggplot object is created.
import pandas as pd
import numpy as np
from ggplot import *
data = pd.DataFrame({"x": range(10),
                     "y": np.random.randn(10)})
# blows up because \Alpha is not understood
gg = ggplot(data, aes("x", "y")) + geom_point() + \
                    scale_y_continuous(r"$\alpha$")
# workaround
gg.ylab = r"$\alpha$"
gg

fixed


Added Unit tests for access field

Access field unit tests.

@DavidBakerEffendi pls let me know if you want to add more tests. regarding JsClassesAstCreationPassTest:298, i'm not able to find _tmp_0 things in ruby frontend.

@ankit-privado Cool sounds good, I think it's because in Ruby there is not desugaring happening


Column with video variant is breaking

Caused by PR - https://github.com/hlxsites/sunstar-foundation/pull/77
Reference Page - https://main--sunstar-foundation--hlxsites.hlx.page/grants

Culprit PR - https://github.com/hlxsites/sunstar-foundation/pull/104


Video View

Hi there
First of all very nice and useful app :D
I have suggestion
Please make a button script to turn on / off video.
Button TURN ON:

Button TURN OFF:

I have run the developer tools and turn off HTML CODE:
It still working but no video form site.
If i'm getting this app right you just change the display from youtube video so even if i deleted this video view i still getting the full video download to my computer. Do you work on any conversion from video to mp3 or something like this? I think that would make the bandwidth consumption less expensive :D

Yes, it makes the bandwidth less expensive but youtube currently doesnt allow that from their API.
Video must be shown.


Please stop tracking QuadSpinner.Gaea

Appreciate you trying to automate this, but we prefer to submit manifests to winget at our own pace after our own set of checks.
The last automated update you made used the wrong hash and caused a lot of trouble for us as we were NOT going to submit that version for winget. The version would have been updated in-place with a new exe and then updated on winget later on.
In any case, we would like to use our own system for pushing winget updates. So please remove this task from your bot as soon as possible.
Thanks.

Removed. Sorry for the inconvenience.


on_play is never dispatched

title is the issue, no matter what I do on_play is never dispatched, now I do have a subclassed version of commands.Cog but that shouldn't matter...right? not sure.

Update, no events are fired, on_queue_end, on_activity_disconnect, all don't dispatch

You probably used the wrong decorator on the event callback.
Join the discord incase you need more help.