Write custom tags into EXIF data

Question about an existing feature
What are you trying to achieve?
Is there any capability to write custom tags? For example, stable diffusion software ComfyUI writes a "prompt" tag into generated images. I was able to extract the data with exifreader and write it back into the converted jpg by specifying:
...
.withExifMerge({
  IFD0: {
    Software: "comfyui",
    ImageDescription: <previously extracted data>,
  },
})
...

This isn't ideal because ComfyUI expects the original tags when extracting a prompt from an image. So I'm wondering if there's a way to preserve the original tags, or rewrite them back into the output?

When you searched for similar issues, what did you find that might be related?
#3549
#3824
#3676

Please provide a minimal, standalone code sample, without other dependencies, that demonstrates this question
The "prompt" and "workflow" tags don't keep when converting from png to jpg, even when including keepExif() or keepMetadata(). For example, using the attached image at the bottom of this post:
const buffer = await fs.readFile("ComfyUI_temp_ejdxc_00001_.png");
const output = await sharp(buffer)
  .toFormat("jpg")
  .keepExif()
  .keepIccProfile()
  .keepMetadata()
  .toBuffer();
await fs.writeFile("test.jpg", output);

The original tags are missing from the output jpg.

Please provide sample image(s) that help explain this question
You can view an example of the tags I'm referring to by running the following image through e.g this extractor util.
Here is the original png (with tags):

Here is the sharp output jpg (missing tags):

These are tEXt chunks rather than EXIF, please see the existing future possible enhancement https://github.com/lovell/sharp/issues/3549


Add back keyboard shortcut features (#9)

Add back previously-supported keyboard shortcut features.

My guess is that it's going to take a bit more work than just restoring the file from the old version of the project. The current GUI library that is used is JavaFX and just looking at the imports in EmacsKeyBindings there are a lot of Swing imports, so there would probably have to be some porting to the new GUI framework

I see! I will look into handling the new GUI framework. Thanks!


Error when access bolt.diy Cannot read properties of null (reading 'useEffect')

Describe the bug
error on access bolt.diy
here error message on browser :
Unexpected Server Error
TypeError: Cannot read properties of null (reading 'useEffect')
Link to the Bolt URL that caused the error
http://localhost:5173/
Steps to reproduce
go to http://localhost:5173/
Expected behavior
error on access bolt.diy
here error message on browser :
Unexpected Server Error
TypeError: Cannot read properties of null (reading 'useEffect')
Screen Recording / Screenshot
No response
Platform

OS: [Windows]
Browser: [Chrome]

Provider Used
No response
Model Used
No response
Additional context
No response

What version of nodejs you are running and how did you run bolt?
Did you checkout the "stable" branch instead of main and tried it?
Also please a screenshot of you terminal, where the commands and error can be seen.


Calling getPixelFromCoordinate after change:resolution event gives wrong values

I made a plunkr with a call to getPixelFromCoordinate right after change:resolution and with a setTimeout 500ms after. I suppose this happens because of the zoom animation. Is there no way to catch the final resolution after changing it?
https://plnkr.co/edit/w8KKF2eGYdEz8vDLIgI1

With the moveend event ?

Gotcha. Shouldn't it be called viewportchangeend or something? The name looks a bit misleading.


Onboarding non persistent clients via Endpoint Manager

I'm looking to onboard Azure Virtual Desktop Session Hosts (non-persistent) via Endpoint Manager in a cloud-only environment. Group Policy is not possible. Local group policy also not possible because Marketplace images are used. I'm reluctant to implement the logic in Packer. A rollout via Endpoint Manager would be great. Is there already a method for VDI clients?

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

ID: ef5b23fe-37ce-e3b0-ad76-55a416eaa865
Version Independent ID: 26becb70-47ff-38fe-592f-99d84f6aba12
Content: Onboard non-persistent virtual desktop infrastructure (VDI) devices
Content Source: microsoft-365/security/defender-endpoint/configure-endpoints-vdi.md
Product: m365-security
Technology: mde
GitHub Login: @mjcaparas
Microsoft Alias: macapara

@florian-ried Thank you for your feedback. Not sure if there is a new method or a way to rollout via Endpoint Manager. It is better to contact support via the need help section on the admin center when you have technical queries as we work on issues related to documents only.
Hope this helps!
Thanks
Sri


"arkmanager update" is broken

We run your fantastic software on 3 linux machines serving 6 instances.
Occasionally we have trouble with updating following some updates pushed out by steam. Like the most recent update pushed out about 8 hours ago. The new build ID is 2796799. The previous build ID was 2762965.
I can look at https://steamdb.info/depot/346112/ (the linux server version) and see that the correct build ID of the new release. I can also run steamcmd with "+app_info_print" and find the same new build ID.
However when I run arkmanager with "checkupdate" I get the following:
Querying Steam database for latest version... Current version:  2762965  Available version:  2762965  Your server is up to date!
We run cron jobs once per hour to check for updates and mod updates and apply if required, however this is not working reliably right now.
I was hoping someone might know of something we're doing wrong, or some way to fix this. I know I can do a "--force" but obviously I don't want to be doing this every hour when there's no update.
Many thanks in advance.

An update:
I did a "arkmanager update --force" on our servers. It then found a different build ID "2794816", and tried updating, but started complaining that it could find the staging directory "linxu64". We have been using this same setup for 6 months or more with no changes on our end. I created that directory, and the update completed, but not the instance won't start at all. The error message in the log is:
ShooterGameServer: error while loading shared libraries: libsteam_api.so: cannot open shared object file: No such file or directory
Help?

Current server branch is: https://steamdb.info/app/376030/depots/?branch=public
You were looking at the Linux client.
You may need to use arkmanager update --validate

I had to do an "install --force" to correct the error.
So there seems to be something broken with the way arkmanager is updating right now. "checkupdate" says there is no update, and "update --force" breaks the installation completely.

i had the same issue, server was on build 2824252. I ran "arkmanager update", it told me that the server was already up to date. I ran "arkmanager update --force" it updated to build 2863480. It looks like the checkupdate don't work properly.

Just found this: #922
I had the issue described, don't know if that fixes the checkupdate yet. Hopefully it will

@jcharbo94 thanks for that! Yes it seems that file was in the wrong place for me also, and I've followed the recommended fix, which does seem to allow the app to detect that an update is required, however the update still does something to corrupt the install causing the error with "libsteam_api.so", which requires an "install --force" to correct.

Are you using a staging directory?  If so, you might want to remove it (arkmanager update should rebuild it on the next update).

So they pushed out update 280.115 this morning.
Arkmanager did update the servers automatically this time, however all of them are now broken again with the same "libsteam_api.so" error.
@klightspeed yes we are using a staging directory. I will remove it and see if that does the trick.


Automatically install NuGet Microsoft.ML when clicking "Add to project"

see this PR

Closing that Issue since it's already implemented (and roll back).


could not be compiled

when i import the project into anroid studio in the first time, it report the error:
Error:(29, 0) CreateProcess error=2, 系统找不到指定的文件。
Open File
the error occured in the build.gradle, "def gitSha = 'git rev-parse --short HEAD'.execute([], project.rootDir).text.trim()"
系统找不到指定的文件 --> The system could not find the file specified

@wanyt I guess you didn't clone but just download source right? It seems like shows the error which is related to execute git command.

@hotchemi In fact, I clone but not download source.

Building requires git on your path (to help automate versioning). Closing as dupe of #17.


Error when inserting bit data

When I'm parsing an xml file and I get a boolean field, I get this error message when I try to insert:
pyodbc.DataError: ('String data, right truncation: length 10 buffer 2', '22001')
Here is the code for making some tests:
import pyodbc
connstr = my connection string here
db = pyodbc.connect(connstr)
cr = db.cursor()
a = 'bbb'
b = 'false'
sql = "insert into xx (a, b) values (?, ?)"
cr.execute(sql, a, b)
db.commit()

But when I do the insert directly to SQL Server over SSMS, it works without any issue
create table xx (a varchar(10), b bit)
insert into xx (a, b) values ('bbb', 'false')

Also, if I'm not using the parametrized query but building the query string by myself there is no error neither (so same behavior as using the DB server directly)
sql = f"insert into xx (a, b) values ('{a}', '{b}')"
cr.execute(sql)
db.commit()

I suspect, this is again the same type of anomaly I've already reported for the decimal values
EDIT:
I have same type of issue if I insert datetime value as parameter
If I do the insert with a formatted string it works:
d = '2014-12-14T00:00:00'
sql = f"select * from bd_mytable where start_date = '{d}'"

So I thing you should think globally about the paramterized queries :-(

This is another manifestation of the parameter substitution issues in pyodbc 4.0.22 as discussed in #334 and elsewhere. Those issues are under investigation. For now you can

downgrade to pyodbc 4.0.21, or
pass your parameter value as a true boolean (b = False) instead of a string (b = 'false')

I've backed out the problematic changes from 4.0.22.  Please try 4.0.23.  I'll close because I expect this to fix it, but please reopen if it does not.

It seems to work. Thank you.
I've tried with decimal and bit values, everything is in good shape
But now it seems that you have changed the default autocommit behavior to True.

This is not good because I have to rewrite ALL of our programs :-(

Well it is even worse than I was thought. The autocommit feature doesn't work.
Even if I set it explicitely to False, it commits the changes to the database.

Investigating and will add unit test right now - I don't know of any changes to do that.

OK.
I'm using SQL Server
here is the code I use:
with pyodbc.connect(connstr, autocommit=False) as db:
    print(db.autocommit) # This prints False as expected
    cr = db.cursor()
    a = 10
    b = '0.99999999999999999998'
    c = 1
    d = '2018-02-12T12:30:48'
    cr.execute("create table xx (a int, b decimal(5,2), c bit, d datetime)")
    cr.execute("insert into xx(a, b, c, d) values (?, ?, ?, ?)", a, b, c, d)
    rows = cr.execute("select * from xx").fetchall()
    for row in rows:
        print(row.a, row.b, row.c, row.d)

After that I have tested the existence of the table xx as well as the inserted record in SSMS and the table and the data was there.
Normally after exiting the with block it should revert all changes. Am I wrong?

The with statement commits the connection if an exception is not raised.  I think it is working as expected.  If you remove the with and replace with some other block like if 1, I think you'll find it works as you expected.

OK. Fine. I didn't see it in the documentation. But good to know.
Thanks anyway (great job).
But there is still an error when I try to insert with executemany
[(10, '0.99999999999999999998', 'false', '2018-02-12T12:30:48')]
pyodbc.ProgrammingError: ('String data, right truncation: length 44 buffer 10', 'HY000')

@v-chojas Any comments on the right truncation part?  (I haven't tried this yet and I'm assuming it is fast_executemany only.).  What is the right answer - I would think it is whatever SQL Management Studio would do?

Confirmed. It is fast_executemany related.
If it's set to False it works like a charm


bno055: 0.4.1-1 in 'foxy/distribution.yaml' [bloom]

Increasing version of package(s) in repository bno055 to 0.4.1-1:

upstream repository: https://github.com/flynneva/bno055.git
release repository: https://github.com/flynneva/bno055-release.git
distro file: foxy/distribution.yaml
bloom version: 0.11.2
previous version for package: 0.3.0-1

bno055
* Update CHANGELOG
* Bump patch version after small bug fix
* Fix i2c issues found (param and division by zero) (#56 <https://github.com/flynneva/bno055/issues/56>)

@tfoote fixed! LMK if you need me to clean up the commits at all or if you can just squash them on merge.


compile error

Alamofire verison is (pod info):
Installing Alamofire 5.0.5 (was 5.4.1)
AlamofireObjectMapper version is (pod info):
Installing AlamofireObjectMapper (6.0.0)

Generic type 'DataResponse' specialized with too few type parameters (got 1, but expected 2)

Replace DataResponse<T> with DataResponse<T,Error>


Issues configuring stand-alone cla-assistant

<!--
Steps to reproduce the problem:

Click [Sign in with GitHub]
Note error.
Configuration, .env:
PORT=5000
PAROTOCOL=https
HOST=<IP_ADDRESS>
MONGODB=mongodb://cla_assistant:cla_assistant@localhost:27017/cla_assistant#No change
GITHUB_CLIENT= .....     #Client ID
GITHUB_SECRET=....#Client secrets

GITHUB_TOKEN= .....   #Requested private token
Github application settings:
Authorization callback URL:https://<IP_ADDRESS>:5000/auth/github/callback
What is the expected result?
ngrok http 5000

Web Interface                 http://<IP_ADDRESS>:4040                                                                     Forwarding                    https://a16f-82-157-23-117.jp.ngrok.io -> http://localhost:5000
click  https://a16f-82-157-23-117.jp.ngrok.io
The website and all assets load as expected identical to http://cla-assistant.io/
I expect the GitHub auth process to begin.

click  http://localhost:5000
Unable to access this website. Localhost rejected our connection request.

Steps to reproduce the problem:
Click [Sign in with GitHub]
Note error.
PORT=5000
PAROTOCOL=https
HOST=<IP_ADDRESS>
MONGODB=mongodb://cla_assistant:cla_assistant@localhost:27017/cla_assistant
GITHUB_CLIENT=811.....#
GITHUB_SECRET=......#
GITHUB_TOKEN=....#Requested private token
Github application settings:
Authorization callback URL: https://<IP_ADDRESS>:5000/auth/github/callback
ngrok http 5000
obtain：
Web Interface                 http://<IP_ADDRESS>:4040                                                                     Forwarding                    https://ca9f-82-157-23-117.jp.ngrok.io -> http://localhost:5000
click：https://ca9f-82-157-23-117.jp.ngrok.io
The website and all assets load as expected identical to http://cla-assistant.io/
I expect the GitHub auth process to begin.
What happens instead?
I receive an error.
click：http://localhost:5000
obtain：Unable to access this website. Localhost rejected our connection request.


DBZ-7273: Introduce mode to query capture tables directly

https://issues.redhat.com/browse/DBZ-7273

@jpechane Would this approach be acceptable, or you'd still prefer to introduce subclasses as you've described it here?

@ramanenka I think it is fine. I rebase the PR against the latest main and triggered the rebuild of PR. If it passes then it will be merged.

@ramanenka Applied, thanks a lot! Could you please create a docs update PR too? Thanks

@jpechane Thanks for applying! Here is the docs PR: https://github.com/debezium/debezium/pull/5194.


web container could not be started on MacOS Big Sur with activated virtualization.framework in Docker Desktop because of NFS

Describe the bug
web container could not be started on MacOS Big Sur with activated virtualization.framework in Docker Desktop because of NFS
Building web
Creating ddev-5160001-drs-baukasten-db ...
Creating ddev-5160001-drs-baukasten-db ... done
Creating ddev-5160001-drs-baukasten-web ...
Creating ddev-5160001-drs-baukasten-dba ...
Creating ddev-5160001-drs-baukasten-web ... error

ERROR: for ddev-5160001-drs-baukasten-web  Cannot start service web: error while mounting volume '/var/lib/docker/volumes/ddev-5160001-drs-baukasten_nfsmount/_data': failed to mount local volume: mount :/System/Volumes/Data/Users/froemken/htdocs/kunden/drs-baukasten:/var/lib/docker/volumes/ddev-5160001-drs-baukasten_nfsmount/_data, data: addr=<IP_ADDRESS>,hard,nolock: permission denied
Creating ddev-5160001-drs-baukasten-dba ... done

ERROR: for web  Cannot start service web: error while mounting volume '/var/lib/docker/volumes/ddev-5160001-drs-baukasten_nfsmount/_data': failed to mount local volume: mount :/System/Volumes/Data/Users/froemken/htdocs/kunden/drs-baukasten:/var/lib/docker/volumes/ddev-5160001-drs-baukasten_nfsmount/_data, data: addr=<IP_ADDRESS>,hard,nolock: permission denied
Encountered errors while bringing up the project.'

My problem is very similar to this issue: https://github.com/drud/ddev/issues/2954
➜  drs-baukasten git:(master) ddev debug nfsmount
NFS does not seem to be set up yet, see debugging instructions at https://ddev.readthedocs.io/en/stable/users/performance/#debugging-ddev-start-failures-with-nfs_mount_enabled-true
Details: error=failed to StartContainer: API error (500): error while mounting volume '/var/lib/docker/volumes/testnfsmount/_data': failed to mount local volume: mount :/System/Volumes/Data/Users/froemken/htdocs/kunden/drs-baukasten:/var/lib/docker/volumes/testnfsmount/_data, data: addr=<IP_ADDRESS>,hard,nolock: permission denied
output=

Version and configuration information (please complete the following information):

Host computer OS and Version: macOS Big Sur
Docker Desktop version if on macOS: 3.2.2 (61853)
ddev version information: v1.17.1
config.yaml contents for the misbehaving project (the part before the comments)

type: typo3
docroot: public
php_version: "7.2"
webserver_type: apache-fpm
router_http_port: "80"
router_https_port: "443"
xdebug_enabled: false
additional_hostnames: []
additional_fqdns: []
mariadb_version: "10.2"
mysql_version: ""
nfs_mount_enabled: true
hooks:
  post-import-db:
  - exec: /var/www/html/vendor/bin/typo3cms database:updateschema "*.add,*.change"
  - exec: bash -c 'echo "UPDATE sys_domain SET hidden = 1; UPDATE sys_domain SET hidden
      = 0 WHERE domainName REGEXP \".*\.ddev\.site\"" | /var/www/html/vendor/bin/typo3cms
      database:import'
  - exec: /var/www/html/vendor/bin/typo3cms cache:flush
  post-start:
  - exec: bash -c "sudo mkdir -p /var/www/html/var/Cache/Code"
  - exec: bash -c "sudo mkdir -p /var/www/html/var/Cache/Data"
  - exec: bash -c "sudo mkdir -p /var/www/html/public/typo3"
  - exec: bash -c "sudo mkdir -p /var/www/html/vendor"
use_dns_when_possible: true
timezone: Europe/Berlin
composer_version: "2"
web_environment: []

We exclude some directories for performance reasons from mount like described here: https://gist.github.com/froemken/bfaf227ca24af09c4d378e4f4285ccc1
Maybe it has something to do with that problem: https://www.gitmemory.com/issue/docksal/docksal/1477/803247870
Currently deactivating NFS or deactivating experimental Feature Virtualization.Framework in Docker Desktop solves this issue.
Stefan

Networking doesn't work properly in Docker for Mac with that option enabled: https://github.com/docker/for-mac/issues/5410

Closing this for now as it's a docker bug, happy to continue the conversation here or elsewhere.

@froemken How do (did) you deactivate NFS?

@TMWagner if your project (or global) is configured to use nfs_mount_enabled, just change it from true to false. You can do this in your .ddev/config.yaml or in an override, like .ddev/config.nonfs.yaml if your team has the .ddev/config.yaml checked in.


bug: Modal and Popover z-order

Type: bug
Platform: all
When modals are created, their z-order is permanently set. This causes problems if Modal A can be opened from either a tab view or from Modal B. Depending on the order things are created, Modal A might show up behind Modal B even though it's being launched from Modal B.
More detailed description here: http://forum.ionicframework.com/t/multiple-modals-issue/7930/11
Ideally the z-order would get recomputed/reset every time the modal is shown, to make sure it appears on top.
This issue also applies to popovers.

Would you be able to put together a codepen to replicate the issue?

Codepen here: http://codepen.io/rajatrocks/pen/YPpJPy - let me know if you have any questions.

I'm suffering from this as well. :)

has anything updated to fix this issue. I m facing same problem

Greetings @rajatrocks!
I've closed this issue because my sensors indicated it was old and inactive, and may have already been fixed in recent versions of Ionic. However, if you are still experiencing this issue, please feel free to reopen this issue by creating a new one, and include any examples and other necessary information, so that we can look into it further.
Thank you for allowing me to assist you.

The codepen posted by @rajatrocks use the 1.2.4 version of ionic (latest release) and still has the problem and I also face the problem in my app.
So @Ionitron, you can reopen this issue I think.


Dev

Added

Reauth function thanks to @vbeskrovny and @vvalchev (9bbc116)

Controlled by config.json option options.allowreauth true presents reauth dialog and false hides dialog

Changed

options.challengeButton enabled

previously this configuration option did nothing, this now enables the Credentials button site-wide regardless of the allowreplay header value

Updated debug module to v4

Thank you for keeping it up to date!
On Sep 11, 2018, 21:46, at 21:46, Bill Church<EMAIL_ADDRESS>wrote:

Merged #102 into master.
--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/billchurch/WebSSH2/pull/102#event-1839440768


"\n" not working anymore due to Html.fromHtml()

Since version <IP_ADDRESS>, if I use "\n" in a resource string, and use this string as content of a material-dialog, it doesn't work anymore, there's no line break inserted.
Thank you for looking into it.

To be more accurate:
if I use:
.content(stringResId)
\n are not working. But if I use:
.content(context.getResources().getString(stringResId))
it works.

I confirm the problem.

https://github.com/afollestad/material-dialogs/releases/tag/<IP_ADDRESS>


PRMan activation impossible (error)

Hello,
I'm trying to activate PRMan render engine addon, but when I click on the check box, Blender throw 2 errors :
`
Traceback (most recent call last):
File "C:\Users\travail\Downloads\blender-2.78-windows64\2.78\scripts\modules\addon_utils.py", line 349, in enable
mod.register()
File "C:\Users\travail\Downloads\blender-2.78-windows64\2.78\scripts\addons\PRMan-for-Blender-master__init__.py", line 100, in register
nodes.register()
File "C:\Users\travail\Downloads\blender-2.78-windows64\2.78\scripts\addons\PRMan-for-Blender-master\nodes.py", line 1421, in register
generate_node_type(prefs, name, ET.parse(arg_file).getroot())
File "C:\Users\travail\Downloads\blender-2.78-windows64\2.78\python\lib\xml\etree\ElementTree.py", line 1182, in parse
tree.parse(source, parser)
File "C:\Users\travail\Downloads\blender-2.78-windows64\2.78\python\lib\xml\etree\ElementTree.py", line 594, in parse
self._root = parser._parse_whole(source)
File "", line None
xml.etree.ElementTree.ParseError: not well-formed (invalid token): line 1, column 0
Traceback (most recent call last):
File "C:\Users\travail\Downloads\blender-2.78-windows64\2.78\scripts\modules\addon_utils.py", line 349, in enable
mod.register()
File "C:\Users\travail\Downloads\blender-2.78-windows64\2.78\scripts\addons\PRMan-for-Blender-master__init__.py", line 89, in register
preferences.register()
File "C:\Users\travail\Downloads\blender-2.78-windows64\2.78\scripts\addons\PRMan-for-Blender-master\preferences.py", line 218, in register
bpy.utils.register_class(RendermanPreferencePath)
ValueError: register_class(...): already registered as a subclass
`
I have reinstalled 3 times Renderman (with Maya 2014 plugin), 2 times Blender 2.78, 3 times this addon, but always this error.
Configuration : Intel Core i5 4e generation + Nvidia Geforce GTX 720M. All the drivers are out of date.
Thanks.

Good day, are you still experiencing this issue?

Ok, having heard no response I am going to close this issue. If you are still experiencing problems with the latest release go ahead and reopen this.

No don't close the issue, or declose, I am still experiencing the issue, and I don't saw your messages, sorry, since I verify them only in the Renderman forum thread : https://renderman.pixar.com/forum/showthread.php?s=&threadid=32812


Set up a github actions job to run the acceptance release tests.

Problem
Post mainnet release, the mainnet-release test suite needs to run.  A GH actions workflow needs to be set up to do this.
Solution

Set up an acceptance:release GH actions job.  It would require a dedicated account on previewnet and testnet.

Alternatives
No response

Acceptance Tests on Public Network was created and runs successfully on testnet.


#26 [feature] support Promise/async/await

Done,
let result = await conn.select('table1', '*', { $and: { a: 3, b: 123 } })
result.rows
result.info

Don't merge, I think I publish a new npm package named 'sqlx-promise' will be better, cause' aap-busi rely on the original version too much.

@Bingmang why? could you describe the problem in detail?


main.py will not work on import

ModuleNotFoundError: No module named 'simulation'
Problem is in import statement.  References?  Maybe needs to be 'holdem_sim.simulation'?

Thinking of abandoning the command line app.  Not sure what the nature of the issue is, but the real purpose of this library is to provide functionality to other apps.  Proposing to move the functionality of main into a func in simulation so it can be called by other apps.


Add a license to the repository

I recently came across your project QiskitSample and I noticed that the repository github.com/mashharuki/QiskitSample currently does not have a license specified.
Why Adding a License is Important?
As GitHub documents

Public repositories on GitHub are often used to share open source software. For your repository to truly be open source, you'll need to license it so that others are free to use, change, and distribute the software.

Would be possible to add a valid license to this repository? Probably something really OpenSource such as the Apache 2.0 license would fit really well.
Thanks!

@cbjuan  Hi ! Thank you for contracting me!
I will add MIT LICENCE

I added license file

Thanks!


YAML Syntax Highlighting

Vue - Official extension or vue-tsc version
2.0.28
VSCode version
1.92.0
Vue version
3.4.35
TypeScript version
5.5.4
System Info
System:
  OS: macOS 14.6
  CPU: (8) arm64 Apple M1
  Memory: 434.44 MB / 16.00 GB
  Shell: 5.9 - /bin/zsh
Binaries:
  Node: 22.1.0 - /usr/local/bin/node
  Yarn: 4.4.0 - /usr/local/bin/yarn
  npm: 10.7.0 - /usr/local/bin/npm
Browsers:
  Chrome: 127.0.6533.89
  Edge: 127.0.2651.86
  Safari: 17.6

Steps to reproduce
Put the following into a single file component:
<route lang="yaml">
property: 'value'
</route>

<template>

</template>

What is expected?
The YAML code is highlighted without affecting the template highlighting.
What is actually happening?
The route block seems to be breaking the highlighting of the rest of the single file component.

It only seems to be a problem with YAML. Here's an example with JSON:

Link to minimal reproduction
No response
Any additional comments?
This issue may be related to https://github.com/vuejs/language-tools/issues/2060. Although I think this may be something else because it used to work but seems to have broken for me recently. Changing the Vue Extension versions doesn't seem to fix the issue either so I wonder whether it might be something else?

Cannot reproduce this in Vue Playground:

Please disable all other plugins and see if this still happens

Seems like this is working for me this morning 😄 Not sure why that was happening. There may be an issue but it might be an edge case that I wouldn't know how to reproduce. Closing this one.
Thanks for trying that out in the playground @KermanX.

caused by https://github.com/microsoft/vscode/pull/219833
you will need to update your embedding before VSCode re-adds the new YAML grammar again
something like this will work:
"patterns": [
	{
		"begin": "\\G(?![^<]*+<)",
		"while": "^(?![^<]*+<)",
		"patterns": [ { "include": "source.yaml" } ]
	},
	{
		"match": "[^<]++",
		"captures": { "0": { "patterns": [ { "include": "source.yaml" } ] } }
	}
]

https://github.com/vuejs/language-tools/blob/d24c984d13889518f0404a8f673ab6c0c2ca0e70/extensions/vscode/syntaxes/vue.tmLanguage.json#L570-L601
it'll also fix old bugs with the embedded language breaking out
(unclosed strings/brackets etc)
old:

fixed:

<route lang="yaml">
abc: 5
</route>

<route lang="yaml">abc: 5
abc: 5
</route>

<route lang="yaml">abc: 5
abc: 5
abc: 5</route>

<route lang="yaml">
abc: 5</route>

<route lang="yaml">abc: 5</route>

related: https://github.com/microsoft/vscode/issues/224862

Based on what @RedCMD mentioned above there might be more work to do here for a future VSCode release. Reopening so that this can be looked into.

VSCode is looking at re-adding the new YAML grammar again in the upcoming Sep 4th release
https://github.com/microsoft/vscode/issues/180523#issuecomment-2310855104

This is now an issue again 😄


[api-reference]: Refactoring Markdown Table to ApiTable component

Description (required)
Refactoring Markdown Table to ApiTable component
Since the original markdown table causes the text in the cell to collapse on newlines and is difficult to maintain.
And it is not possible to set the width, so I refactoring the Table component to use HTML table and specify the column width.
Before

After

Maybe We need a better built-in table component for Starlight.

Hi @liruifengv , thank you for recognizing that our tables are terrible! :sweat_smile: We actually have an open issue, and another open PR for this right now. We've decided to not use a table at all because we really can't guarantee a great experience on all screen sizes. In fact, when I view this PR's preview at a smaller screen size, I get this:

We think we're pretty close to a solution in #6208 , and Chris is already working on some tighter spacing to better visually group the entries. So, I'll close this one because we're not going to use a table, but you're welcome to join us in the other PR and include any feedback there! It will be so nice to be rid of these existing tables.  :smile:


Update README.md

I did 34 translations/changes inside Catima glossary and Android component for Hindi language.
https://hosted.weblate.org/user/AnimeshChatterjee1/

Thanks!


Investigate: City Banners not appearing with only R&F Enabled

Issue from Workshop discussion (Penpa):
Is there also a fix for city banners not showing up coming at a later date? I have tried testing it by disabling every other mod except for CQUI but it still doesn't show city names and not being able to ESC out to the main menu. This only happens when R&F is enabled. With R&F disabled the mod works correctly. This is why I assumed it only worked with GS since this seems to not be an issue with GS people. Also, I double checked and cleaned out my mod folder or unsubscribed from previous versions multiple times, and I still get the issue.

d'oh! I should've said I was going to work on this :)  I'm going to send a PR right now

@alimulhuda I apologize for not assigning this to myself before you had done so.   Hopefully you catch this before getting far into making changes :/

No worries. I'm just looking through the diff and I'll do a quick sanity test then put my approval on the PR.

I still have no city-banners on my GatheringStorm game
https://www.dropbox.com/s/fft01ls0njd8n99/(PYDT) Play This One!.Civ6Save?dl=0

@hartmark - I can't get the file to load.  It shows the standard loading screen, pops up a dialog that says "Shaka paused the game" and then it just goes to the mostly blank "Loading, Please Wait..." screen...  and it just sits there.
It's not showing me what other Mods you might've had installed, including CQUI.  What happens if you create a new game?

@the-m4a i forgot to mention it's a hotseat game from playyourdamnturn.com
So try load it as a hotseat

@the-m4a were you able to load the game as hotseat?

@hartmark I don't have all the DLCs you have so I couldn't load it. I'm missing Khmer, Nubia and Persia. But I did try to create a new hotseat game with the mod and I can see the city banner when I found my first city.
Are you sure you are playing with the latest version and that you have only one version of the mod active? For duplicates check the My Games mod folder (Documents\My Games\Sid Meier's Civilization VI\Mods) and the steam workshop folder for Civ6 (C:\Program Files (x86)\Steam\steamapps\workshop\content\289070). When checking the folders go into every subfolder and check which mod it refers to by looking for the *.modinfo file.
Did you create the game or did someone else create the game?
Also you can upload your Lua.log and Modding.log from Documents\My Games\Sid Meier's Civilization VI\Logs. That might give us some clues as to what is going on.
Follow the steps below to keep the log files small.

Quit Civilization 6 if running
Start Civilization 6 (Log files get overwritten every time you start the game)
Load your save game and go to where you see the issue
Quit Civilization 6
Upload the two log files

It seems to be related to #36 as I had done the hack for the workshop version of the mod, now I have downloaded it manually.

I'll continue my post there as this issue is closed


incorrect author email mapping

Describe the bug
For the following in pyproject.toml:
authors = [
    { name = "Lucas Colley", email =<EMAIL_ADDRESS>},
    { name = "Open Source Contributors" },
]

PyPI displays:

Author: Open Source Contributors

where the hyperlink is<EMAIL_ADDRESS>Expected behavior

Author: Lucas Colley, Open Source Contributors

To Reproduce

My Platform

Additional context

Duplicate of https://github.com/pypi/warehouse/issues/14813


MGMT-18492: Update Hooks API

This PR updates the Hooks API to radically simplify it and aligning it with the original design in #424:
hooks:
  beforeUpdating:
  - run: /usr/local/bin/create-backup.sh  # action
  beforeRebooting:
  - run: /usr/local/bin/shutdown-service.sh
  afterUpdating:
  - if:  # condition
      path: "/etc/systemd/system/"
      op: [create]
    run: /usr/bin/kubectl apply -f "{{ Files }}" # action
  - if:
      path: "/etc/systemd/system/"
      op: [delete] # defined as "before" deleting by convention
    run: /usr/bin/kubectl remove -f "{{ RemovedFiles }}" # action
  - if:
      path: "/var/local/import.yaml"
      op: [create]
    run: /usr/bin/kubectl apply -f /var/local/crd.yaml
    envVars:
      KUBECONFIG: /var/lib/microshift/resources/kubeadmin/kubeconfig
    timeout: 10s
    workDir: /

The afterUpdate hook (only) supports a couple of variables:

{{ Path }}: The path from the path condition. Use case is commands that scan for changes themselves, e.g. kubectl apply -k {{ Path }}
{{ Files }}: A space-separated list of absolute paths to files that have changed as result of the update. Use case is commands that require files to be listed explicitly.
{{ CreatedFiles }}: Same but only created.
{{ UpdatedFiles }}: Same but only updated.
{{ RemovedFiles }}: Same but only removed.
{{ BackupFiles }}: A space-separated list of absolute paths to a transient backup of the removed files. At the point the afterUpdate hook is called the original files no longer exist. By keeping a copy just for the runtime of the hook in a differerent location, commands that require the content of removed file but not its original location (e.g. kubectl delete -f {{ BackupFiles }}) can be covered.

Tasks:

[x] update hooks API
[x] update hooks implementation (framework, actions, conditions, before/afterUpdate hooks)
[ ] wire up before/afterReboot hooks
[ ] create+remove transient backup of removed files

Couple of questions:
Does it make sense to have beforeUpdating hook (like the example in the description) with any reference to any path?  When will it run? on every file modification?
In the same example, even when there is a hook without a path - the run always accesses some file.  Therefore, maybe a hook should always be bound some file?
It seems to me the separation between the beforeUpdate, afterUpdate etc it somewhat artificial. The hooks are always run with a context of [before, after] and usually also with [create,update,delete, reboot].  So maybe this structure will reflect it:
hooks:
  - run: /usr/local/bin/create-backup.sh  # action
    when: [beforeUpdate, beforeRemove]
  - run: /usr/local/bin/shutdown-service.sh
    when: [beforeReboot]
  - if:  # condition
      path: "/etc/systemd/system/"
    when: [afterCreate, afterUpdate, afterReboot]
    run: /usr/bin/kubectl apply -f "{{ .FilePath }}" # action
  - if:
      path: "/etc/systemd/system/"
    when: [beforeRemove]
    run: /usr/bin/kubectl remove -f "{{ .FilePath }}" # action
  - if:
      path: "/var/local/import.yaml"
    when: [afterCreate, afterUpdate]
    run: /usr/bin/kubectl apply -f /var/local/crd.yaml
    envVars:
      KUBECONFIG: /var/lib/microshift/resources/kubeadmin/kubeconfig
    timeout: 10s
    workDir: /

There are cases that file hooks need to be run also after reboot.  I think the model needs to support it.

Yes, because it triggers on an event unrelated to any specific path changing, but to the device transitioning into "updating".

So it seems that hooks may run in different contexts.  File-less hooks run during transitions to update state and others run on file change.  A bit confusing.

A hook is a defined point in a control flow where users can insert custom actions to run. It seems you're thinking of "hook" as the (sequence of) actions themselves?

Actually I took the suggestion in the description and put it in another form which seems simpler to me.

There are cases that file hooks need to be run also after reboot. I think the model needs to support it.

Yes. And eventually also "beforeDecommissioning" for example.

So it seems that hooks may run in different contexts. File-less hooks run during transitions to update state and others run on file change. A bit confusing.

Hooks don't run. They are events. That's exactly why they need to be at the top level (compare GH Workflows, for example). What you see is the typical ECA (Event-Condition-Action) pattern. "if $path was created" is a condition and we may need other, non-file-related types of conditions for the non-update hooks.

Actually I took the suggestion in the description and put it in another form which seems simpler to me.

That suggestion lumps together device-lifecycle events and file change-conditions and that's really confusing (and I'd argue does not address the use case).

Ok,
I have looked at both suggestions and the original https://github.com/flightctl/flightctl/pull/424,
The original was a bit confusing, and I understood what would have confused @ori-amizur , shame on me for not reviewing that once when it was a PR.
While @ori-amizur is a slightly higher level definition, it does not provide a good separation/or it does not capture when in the lifecycle of the device a hook is triggered, it's more tied to file events.
IMHO latest frank suggestion is clear enough, I would may be give it the extra twist of calling 'hooks' 'lifecycleHooks' so it's crystal clear that we are talking of events related to the devices and not to any path (which is where PR#424 was confusing)

I've said this before my general concern is with allowing any command to be run. I understand that its flexible but is it also dangerous? I think in the future we would want a white/black list commands that can be run or some chroot env. For example shutdown, rm, reboot feel scary. Otherwise this seems reasonable.
run: /usr/bin/kubectl remove -f "{{ RemovedFiles }}" # action

I agree that random custom actions on the device can be dangerous. The original design from the gdoc was about having specific actions (systemd enable, disable, reload, etc... - kubectl apply, create, delete - podman run... ). With this change, only custom scripts or actions will be allowed, especially with scripts, there is no visibility on the status of the device after execution.
Anyway, this could be a good first and flexible step for a more solid hooks framework.

I agree that random custom actions on the device can be dangerous. The original design from the gdoc was about having specific actions (systemd enable, disable, reload, etc... - kubectl apply, create, delete - podman run... ). With this change, only custom scripts or actions will be allowed, especially with scripts, there is no visibility on the status of the device after execution.
Anyway, this could be a good first and flexible step for a more solid hooks framework.

The original design and later revisions all had both built-in and user-defined actions. There also isn’t a choice: We cannot foresee which services the user installs via RPM and how they pick up configuration changes.
Anyway, the point of this PR is to fix issues with the current API and its implementation (which both differ from the designs) and not to fix that the current implementation allows custom actions (which was the intention).

Not sure if there is a disconnect between the changes in this PR from the API and the agent's reconciliation logic, but I can't make it to work with the ACM use case:
Using an image without microshift, and updating to a new one with it, hooks don't work as expected (as we discussed in the past, and I keep saying this will bring issues with users). So instead of using the afterUpdating policy, I use the afterRebooting one:
  "hooks": {
    "afterRebooting": [
      {
        "envVars": {
          "KUBECONFIG": "/var/lib/microshift/resources/kubeadmin/kubeconfig"
        },
        "run": "/usr/bin/kubectl apply -f /var/local/crd.yaml",
        "timeout": "10s",
        "workDir": "/"
      },
      {
        "envVars": {
          "KUBECONFIG": "/var/lib/microshift/resources/kubeadmin/kubeconfig"
        },
        "run": "/usr/bin/kubectl apply -f /var/local/import.yaml",
        "timeout": "10s",
        "workDir": "/"
      }
    ]
  },
  "os": {
    "image": "<IP_ADDRESS>:5000/flightctl-device:microshift"
  },
  "renderedVersion": "3"

This is the desired_spec ^^
However, the agent shows:
Nov 04 14:49:19 localhost.localdomain flightctl-agent[1146]: ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
Nov 04 14:49:19 localhost.localdomain flightctl-agent[1146]: Your device is enrolled to flightctl,
Nov 04 14:49:19 localhost.localdomain flightctl-agent[1146]: you can manage your device scanning the above QR. or following this URL:
Nov 04 14:49:19 localhost.localdomain flightctl-agent[1146]: http://<IP_ADDRESS>.nip.io:9000/manage/ikdqi7pgnfmcn59e2144fjacekt0n7j8nahsjr29obmqjo8nbpe0
Nov 04 14:49:19 localhost.localdomain flightctl-agent[1146]: time="2024-11-04T14:49:19.922817Z" level=info msg="Management client set"
Nov 04 14:49:19 localhost.localdomain flightctl-agent[1146]: time="2024-11-04T14:49:19.926338Z" level=info msg="No OS update in progress"
Nov 04 14:49:20 localhost.localdomain flightctl-agent[1146]: time="2024-11-04T14:49:20.010325Z" level=info msg="Bootstrap complete"

And nothing else is executed.
I'm gonna test with an image that already contains microshift and the afterUpdating policy.

I don't see it working with afterUpdating either:
  "hooks": {
    "afterUpdating": [
      {
        "envVars": {
          "KUBECONFIG": "/var/lib/microshift/resources/kubeadmin/kubeconfig"
        },
        "if": {
          "op": [
            "Create"
          ],
          "path": "/var/local/crd.yaml"
        },
        "run": "/usr/bin/kubectl apply -f /var/local/crd.yaml",
        "timeout": "10s",
        "workDir": "/"
      },
      {
        "envVars": {
          "KUBECONFIG": "/var/lib/microshift/resources/kubeadmin/kubeconfig"
        },
        "if": {
          "op": [
            "Create"
          ],
          "path": "/var/local/import.yaml"
        },
        "run": "/usr/bin/kubectl apply -f /var/local/import.yaml",
        "timeout": "10s",
        "workDir": "/"
      }
    ]
  },
  "os": {
    "image": "<IP_ADDRESS>:5000/flightctl-device:microshift"
  },
  "renderedVersion": "2"
}


data: add go1.15.2 and go1.14.9

https://groups.google.com/forum/#!topic/golang-announce/ipD8jvpSFtA

Files have been synced to S3.


Get attribute types from typeshed

And show an error immediately if the class is in typeshed and we can't find an attribute.
This finds a lot of real issues (including in pyanalyze itself). I just ran it on an internal codebase and noticed a few issues that still need to be fixed:

It interacts poorly with the type we infer for local classes:

type has no attribute 'css_class' (code: undefined_attribute)
In /home/jelle/ans/web/lib/a/webnode2/test.py at line 58
  55:     class Base(a.webnode2.Component):
  56:         pass
  57:
  58:     assert_eq(Base.css_class(), "Base")
                    ^
  59:     assert_eq(Base().css_class(), "Base")
  60:
  61:

Maybe we need some form of hasattr constraint for code like:

 113:         except urllib.error.URLError as e:
 114:             self._http_status = e.code if hasattr(e, "code") else None
                                      ^

Some confusion with enums that have a member named name

The remaining CI failure is around dataclasses.InitVar, but it may be a bug in typeshed_client.


Fix service inspect --pretty

Fix #24601.
Signed-off-by: Dong Chen<EMAIL_ADDRESS>

LGTM

LGTM

LGTM 🐸


Catch invalidated key

This is my proposed solution. This is only for the 1.x branch as that is what I am currently using but should be easy to port to 2.x.

Closing via #34. Thanks for the contribution! 👍


[WIP] Adds an Xstrict compiler

[ch269]

I note that the tests involve adding dummy Rgate parameters or so-called "final phases". That is, if I understand correctly, for the Xstrict compiler to work on e.g. X8_01, the supplied BB program must contain 4 S2gates, 12 MZgates, and 8 Rgates.
Is this correct? If so, I suppose the docstring for the Xstrict class should be updated to mention the necessity of the inconsequential Rgates. However, I also wonder whether these gates should be supplied by users of the Xstrict compiler, or inserted by SF...

However, I also wonder whether these gates should be supplied by users of the Xstrict compiler, or inserted by SF...

@heltluke this is a good point. Is requiring the user add in the final phase gates too strict? What we could do is have the Xstrict compiler add in final phase gates with phi=0 if they don't exist, so that the user doesn't need to specify them

Is requiring the user add in the final phase gates too strict? What we could do is have the Xstrict compiler add in final phase gates with phi=0 if they don't exist, so that the user doesn't need to specify them.

That sounds incredibly convenient to me, but I guess we should run this by a number of others as well. @tymomboe @DavidSPhillips @lneuhaus @xanadu-zvernon

That sounds incredibly convenient to me, but I guess we should run this by a number of others as well.

@heltluke I've just gone through the logic again, and unfortunately this is somewhat non-trivial just by construction. The way this compiler is written, it avoids compilation and just performs a simple equivalence check. I might merge this in now as-is, and we can make a new PR to add in this behaviour.


Remove scikit-quant & unpin numpy

Summary
Details and comments
Fixes #

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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 67.178%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
3418

Relevant Lines:
5088

💛  - Coveralls


conda-env-kernel-image example is broken

After following the steps listed here exactly I began a SageMaker Studio session. After creating selecting the custom image and beginning a console I received the following error:
Invalid response: 404 Not Found
Kernel with name [myenv] does not exist in image [arn:aws:sagemaker:REGION:ACCOUNT_ID:image/conda-test-kernel] on the KernelGateway App [conda-test-kernel-ml-t3-medium-HASH]. To make the kernel available, either update your AppImageConfig to have same kernel name as available in the image or update your SageMaker Image to have the kernel with the same name as specified in AppImageConfig. You can use https://github.com/aws-samples/sagemaker-studio-custom-image-samples/blob/main/DEVELOPMENT.md#local-testing for testing your image locally.

The Dockerfile and environment.yml are identical to the example. Here is the app-image-config-input.json file:
{
    "AppImageConfigName": "myenv-config",
    "KernelGatewayImageConfig": {
        "KernelSpecs": [
            {
                "Name": "myenv",
                "DisplayName": "Python [conda env: myenv]"
            }
        ],
        "FileSystemConfig": {
            "MountPath": "/home/sagemaker-user",
            "DefaultUid": 0,
            "DefaultGid": 0
        }
    }
}

And here is the anonymized create-domain-input.json contents:
{
    "DomainId": "d-xxxxxxxxx",
    "DefaultUserSettings": {
        "ExecutionRole": "ROLE_ARN",
        "KernelGatewayAppSettings": {
            "CustomImages": [
                {
                    "ImageName": "conda-test-kernel",
                    "AppImageConfigName": "myenv-config"
                }
            ]
        }
    }
}

I used IMAGE_NAME=conda-test-kernel throughout. Other things to note:

aws sagemaker describe-image-version shows "ImageVersionStatus": "CREATED"
aws sagemaker describe-app-image-config gives back all the expected information

I believe the issue is that conda doesn't automatically follow the kernelspec. This quirk needs to be covered in the README for this example. Unfortunately I haven't figure out the solution yet. Any help is appreciated.

I have a similar issue in my own conda container where the default conda env is always the base env, but I cannot switch to my conda env in the notebook.
!conda env list
# conda environments:
#
base                  *  /home/ubuntu/miniconda
pipeline                 /home/ubuntu/miniconda/envs/pipeline

!conda activate pipeline

CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.
To initialize your shell, run

    $ conda init <SHELL_NAME>

Currently supported shells are:
  - bash
  - fish
  - tcsh
  - xonsh
  - zsh
  - powershell

See 'conda init --help' for more information and options.

IMPORTANT: You may need to close and restart your shell after running 'conda init'.

I was able to make use of the example. But I also started mounting from /root, as I did not see any users within these images. This also the difference to @tom-mcclintock.
config_app = {
            "AppImageConfigName": "conda-env-kernel-config",
            "KernelGatewayImageConfig": {
                "KernelSpecs": [
                    {
                        "Name": "conda-env-venv-py",
                        "DisplayName": "Python [conda env: venv]"
                    }
                ],
                "FileSystemConfig": {
                    --> "MountPath": "/root", <--
                    "DefaultUid": 0,
                    "DefaultGid": 0
                }
            }
        }

My domain update json looks like this
config_domain = {
            "DomainId": domain_id,
            "DefaultUserSettings": {
                "KernelGatewayAppSettings": {
                    "CustomImages": [
                        {
                            "ImageName": "conda",
                            "AppImageConfigName": "conda-env-kernel-config",
                        }
                    ]
                }
            }
        }

With that, I'm able to import packages within Sagemaker Studio. In general the Docker files are not in line with Docker best practices

Some observations from testing last/this week:

The updated sample as of #26 (use base conda env name, python3 kernel name, /root mount point, 0:0 UID:GID) does seem to work for me - so maybe this particular issue is now resolved?
But I noticed when setting Images up through the SageMaker console UI, the settings (mount point, UID, kernel) are sometimes reverting between steps (e.g. from creating the image, to the image version, to attaching the image version to the domain). ⚠ Suggest expanding out the collapsed sections at each point and checking they still show what you expect!

Additional experiments/notes:
Kernel auto-detection
Auto-detection of non-base kernel envs does seem to work for me as the sample README describes: E.g. if I create a conda env mycoolenv in the image, then I can set up SageMaker KernelSpec Name conda-env-mycoolenv-py. I logged some feedback on the kernel spec doc page to suggest clarifying this naming on the "Kernel discovery" section.
I find we can also manually register conda envs as notebook kernels in the Dockerfile using something like the below - but it's a bit pointless because I just end up with 2 kernels visible in Studio: The manually created one and the auto-detected one.
RUN bash -c 'source activate mycoolenv && python -m ipykernel install --name mycoolenv --display-name "Conda mycoolenv"'

I do see the same issue as @tday that, when using this setup, image terminals are unable to switch conda envs, which I think is related to the user situation below:
Using non-root user / switching envs in terminal

Using non-root user adds complexity to the setup, so need to check what security objectives you're actually trying to deliver and whether it helps. For example, should notebook users still be able to edit the environments and pip install / conda install extra packages ad-hoc? Given the architecture of Studio and the boundaries in the shared security responsibility model, is the extra isolation of running non-root helpful?
The default mount points /home/sagemaker-user and /root replace user home directories in the container image with whatever's in the Jupyter working directory. In some cases this might be useful (e.g. propagating settings correctly between server and kernel), but it does mean any user settings files defined in the kernel container will get obliterated.

For example using ipykernel install --user ... or conda install --prefix ... to install kernels and conda envs under your user's home folder is no good if the entire home folder gets substituted at run-time.
It doesn't really surprise me that conda env switching is broken by default if things like ~/.bashrc, .bash_profile, etc get obliterated too. Probably there's some way of getting this working but I haven't dived deep yet?

I think it might cause problems if trying to use the 1000:100 user without actually creating it in the image (like done here)? Maybe that was causing issues with not being able to auto-discover conda kernels before?

I did manage to get a notebook-user-editable (i.e. can %pip install) custom image working using a non-root user and a non-base conda env, by making sure my 1000:100 user got permissions to edit the /opt/conda folder.
Next steps
Maybe we could try to have 2 samples to capture both a simple, root+base-based configuration, and a complex, non-root/non-base option separately? As seems to me like it would over-complicate the initial getting started to dive straight into that? I think for this issue the initial bug itself seems resolved.

docker build . -t ${IMAGE_NAME} -t ${ACCOUNT_ID}.dkr.ecr.${REGION}.amazonaws.com/smstudio-custom:${IMAGE_NAME}
[+] Building 495.5s (8/8) FINISHED                                                                                docker:desktop-linux
=> [internal] load build definition from Dockerfile                                                                                0.0s
=> => transferring dockerfile: 143B                                                                                0.0s
=> [internal] load metadata for docker.io/continuumio/miniconda3:4.9.2                                                                        0.9s
=> [auth] continuumio/miniconda3:pull token for registry-1.docker.io                                                                          0.0s
=> [internal] load .dockerignore                                                                                0.0s
=> => transferring context: 2B                                                                                0.0s
=> [internal] load build context                                                                                0.0s
=> => transferring context: 36B                                                                                0.0s
=> [1/3] FROM docker.io/continuumio/miniconda3:4.9.2@sha256:7838d0ce65783b0d944c19d193e2e6232196bada9e5f3762dc7a9f07dc271179                  0.0s
=> CACHED [2/3] COPY environment.yml .                                                                                0.0s
=> ERROR [3/3] RUN conda env update -f environment.yml --prune                                                                              494.5s

[3/3] RUN conda env update -f environment.yml --prune:
0.811 Collecting package metadata (repodata.json): ...working... done
77.96 Solving environment: ...working... Killed

Dockerfile:4
2 |
3 |     COPY environment.yml .
4 | >>> RUN conda env update -f environment.yml --prune

5

ERROR: failed to solve: process "/bin/sh -c conda env update -f environment.yml --prune" did not complete successfully: exit code: 137


Add --post-function

Runs a python function after each export
def post_function(photo: PhotoInfo, results: ExportResults):
    pass

User can pass their own function to execute and do any post-processing on exported photos, etc.


Ctrl+K Shortcuts don't work

Shortcuts with Ctrl+K like Ctrl+K S (to save all files) are not working.

Disappointing how you have your branding all over this.


Example without PageFactory

What's with the PageFactory and setting an ItemsSource ?
Could you please put up an example that does not require PageFactory or a BasePageModel for setting an items list ?

Actually, don't worry as I have worked it out. FlowItemsSource is what I was needing.  :)
Thanks for the awesome library! :)

@gviddy, sorry for answering so late, I've been quite busy. Thanks, I am planning to release a new version with better examples soon.


Add tip about /etc/exports

As I had vagrant machines, dlite daemon failed because /etc/exports already had entries, preventing mounting.

interesting. did it already have an entry to share /Users specifically? because if not i don't think it should've stopped dlite from starting. do you recall what the error message was?

Since it was from Vagrant, it was /Users/Eric/Projects/org/project being mounted.
Initially, dlite install "worked" fine, and launchctl load didn't throw any errors.  I didn't see any /var/run/docker.lock file, so I started digging by running dlite daemon and that's when I saw a note about /Users and exports.
I wish I saved the error, but it was, like, 3AM and Docker plays tricks on you.

ah, ok. i'll add a note to the readme that that's something to be aware of and check before installing. i think it's time for a troubleshooting section anyway

It's so touching to see a project grow up :')
On Tue, Jan 26, 2016 at 2:19 PM Nathan LaFreniere<EMAIL_ADDRESS>wrote:

ah, ok. i'll add a note to the readme that that's something to be aware of
and check before installing. i think it's time for a troubleshooting
section anyway
—
Reply to this email directly or view it on GitHub
https://github.com/nlf/dlite/issues/29#issuecomment-175207896.

--

Eric Clemmons


Using grayscale input images instead of RGB.

Hello @ajbrock! Thank you so much for making your model available for others to use. I'm trying to re-purpose it at the moment for a research project.
I have a two-fold issue: one piece is data-related, the other architecture-related.

I am trying to use a dataset of .png grayscale images produced by an analogue-to-digital converter. The image dimensions are 512x512 and there is only 1 class. I have made the following modifications in order to get the dataset loaded: (larcv is the dataset name)

In utils.py
# Convenience dicts
dset_dict = {'larcv_png': dset.ImageFolder, 'larcv_hdf5': dset.ILSVRC_HDF5,
             'I32': dset.ImageFolder, 'I64': dset.ImageFolder,
             'I128': dset.ImageFolder, 'I256': dset.ImageFolder,
             'I32_hdf5': dset.ILSVRC_HDF5, 'I64_hdf5': dset.ILSVRC_HDF5,
             'I128_hdf5': dset.ILSVRC_HDF5, 'I256_hdf5': dset.ILSVRC_HDF5,
             'C10': dset.CIFAR10, 'C100': dset.CIFAR100}
imsize_dict = {'larcv_png': 512, 'larcv_hdf5': 512,
               'I32': 32, 'I32_hdf5': 32,
               'I64': 64, 'I64_hdf5': 64,
               'I128': 128,
               'I128_hdf5': 128,
               'I256': 256, 'I256_hdf5': 256,
               'C10': 32, 'C100': 32}
root_dict = {'larcv_png': 'larcv_png', 'larcv_hdf5': 'ILSVRC512.hdf5',
             'I32': 'ImageNet', 'I32_hdf5': 'ILSVRC32.hdf5',
             'I64': 'ImageNet', 'I64_hdf5': 'ILSVRC64.hdf5',
             'I128': 'ImageNet', 'I128_hdf5': 'ILSVRC128.hdf5',
             'I256': 'ImageNet', 'I256_hdf5': 'ILSVRC256.hdf5',
             'C10': 'cifar', 'C100': 'cifar'}
nclass_dict = {'larcv_png': 1, 'larcv_hdf5': 1,
               'I32': 1000, 'I32_hdf5': 1000,
               'I64': 1000, 'I64_hdf5': 1000,
               'I128': 1000, 'I128_hdf5': 1000,
               'I256': 1000, 'I256_hdf5': 1000,
               'C10': 10, 'C100': 100}
# Number of classes to put per sample sheet
classes_per_sheet_dict = {'larcv_png': 1, 'larcv_hdf5': 1,
                          'I32': 50, 'I32_hdf5': 50,
                          'I64': 50, 'I64_hdf5': 50,
                          'I128': 20, 'I128_hdf5': 20,
                          'I256': 20, 'I256_hdf5': 20,
                          'C10': 10, 'C100': 100}

The dataset does serialize and load successfully, but when I check the dimensions of the images inside of the ILSVRC_HDF5class in datasets.py using img.shape, the dimensions show as [3, 512, 512].
This leads to a size-mismatch in the forward function of G_D at the line:
D_input = torch.cat([G_z, x], 0) if x is not None else G_z where G_z.shape = [4, 1, 512, 512] and x.shape = [4, 3, 512, 512]

I've made the following changes to the D_arch dictionary in order to accommodate the 512x512 images:

  arch[512] = {'in_channels' :  [1] + [ch*item for item in [1, 2, 4, 8, 8, 16, 16]],
               'out_channels' : [item * ch for item in [1, 2, 4, 4, 8, 8, 16, 16]],
               'downsample' : [True] * 7 + [False],
               'resolution' : [512, 256, 128, 64, 32, 16, 8, 4],
               'attention' : {2**i: 2**i in [int(item) for item in attention.split('_')]
                              for i in range(2,10)}}

I have also modified the last layer of the Generator to output 1-channel images:
    # output layer: batchnorm-relu-conv.
    # Consider using a non-spectral conv here
    self.output_layer = nn.Sequential(layers.bn(self.arch['out_channels'][-1],
                                                cross_replica=self.cross_replica,
                                                mybn=self.mybn),
                                    self.activation,
                                    self.which_conv(self.arch['out_channels'][-1], 1))

My questions are:

How can I get the images to load with only 1 channel?
Are the architecture modifications I've made appropriate?

Thank you so much.

The architecture modifications should be sufficient, but I'm guessing you're not handling the dataset properly. Make sure the outputs of the dataset itself are actually single channel first (you'll probably also need to modify the dataloader transforms in utils.py, as those all use three-channel inputs for norm_mean and norm_std. I'm guessing that even though your PNGs are greyscale they might still be loaded by the ImageFolder dataset as three-channel images where all three channels are the same. Make sure your data is correct first!
Regardless, if you want to use the HDF5 you'll also need to make sure the HDF5 you're producing from your dataset has only 1 channel. These lines have a 3 in the channel dim for the max_shape and chunk args.
You might also consider training on the non-HDF5 version of the dataset to make sure you're loading single-channel images before producing the HDF5.

Thanks for the quick response.
I've made the changes to the max_shape and chunks arguments and changed the data loader transforms in utils.py to norm_mean,  norm_std  = [0.5], [0.5].
I tried to check whether I'm actually loading single-channel images by running the non-HDF5 version by using the flag --dataset larcv_png in the launch script. The ImageFolder loads a numpy array of strings where each string is a full path to a training image. That is, imgs.shape: (400,2). The routine then fails at return transforms.functional.center_crop(img, min(img.size)) in utils.py with the message: TypeError: 'int' object is not iterable.
I'm apologize if I've missed something here but I am unsure of how to proceed.

Update:
I changed the line:
path, target = self.transform(imgs[index][0]), imgs[index][1] in ImageFolder to
path, target = imgs[index][0], imgs[index][1]. This allows the PNG data to load as PIL images.
However, this change caused an error at for n, item in enumerate(items): in the progress function in utils.py. item is expected to be a torch tensor but is a PIL image instead. I found that this problem occurred because the image transforms were not being applied inside of the __getitem__ attribute in the ImageFolder class because this line is indented too far. I fixed the indent and the model began training.
Hope this is helpful.

@kseuro how did you load your own dataset?

@nassarofficial From the readme, do the following:
"To prep your own dataset, you will need to add it to datasets.py and modify the convenience dicts in utils.py (dset_dict, imsize_dict, root_dict, nclass_dict, classes_per_sheet_dict) to have the appropriate metadata for your dataset. Repeat the process in prepare_data.sh (optionally produce an HDF5 preprocessed copy, and calculate the Inception Moments for FID)."
You can see the modifications I made for my dataset in my original post. If your images are larger than 256x256, you'll have to modify the discriminator architecture accordingly.


Update docker image URL

Also, this cuts ~600Mb off the image.
The workflow and tools/docker.sh should be good to go now.
/cc @wibblymat

@google/web-starter-kit this can be applied to any project, e.g. WSK:
https://github.com/google/WebFundamentals/blob/docker-gcr-io/README.md#alternative-dev-workflow-based-on-docker

@surma this is the demo I've just shown :)


feature request: localization interface

How about an interface to make it very easy for localizers to localize apps made with angular-translate? Here are some ideas.
For each TRANASACTION_ID, the json data from the "from" language would be displayed first. If there have been any other localizations, they are displayed next. Localizers would then have options similar to stackoverflow, i.e., voting up or down previous localizations, adding their own, and/or adding comments.

We have had this idea months (years? :ghost: ), but unfortunately, nobody had time and ideas for this.
This is a nice idea, but we will not have the resources doing this. Sorry.

Along with this idea I was also thinking a localization website where localizers would find apps to localize. I'm new to git. I used ibiblio years ago, but they seem to be phasing out of open source and Google code is long gone. If I were to take the idea further, do you folks have access to the hosting capabilities? When you multiply the number of languages times the number of apps that might want this times the number of localizers in each language, then add all the users looking for and downloading localizations, the traffic could get quite huge.
I'm thinking a MEAN stack would be best.
I would like this thread to stay open and be tagged discussion and enhancement. After all, if we're looking at the end result of what developers internationalizing their apps with angular-translate will want, their apps will need to be localized. Right now, there's not much in place to facilitate that.

ehm... what are you talking about here? You want to translate other websites which aren't prepared for that?
Let's make it clear: This is only a library for AngularJS, an exclusive frontend framework running on the client (browser). The app itself have to installed and configured this library just like (many) others.
If you are looking for a out-of-box-solution: JHipster is providing this in combination with  a complete backend toolchain.

I'm thinking of a central place where authors of apps using AngularJS and angular-translate would list their apps and localizers in various locales could suggest translations and/or vote up or down previously suggested translations (similar to how answers are posted on stack overflow) without having to know any code.
For the most part, angular-translate, by itself, only has the i18n piece. My idea would tie in the l10n piece to make it easy for localizers to localize, without even having to even look at any code.
By having a central site for localization for apps using angular-translate, it would be easier to attract localizers in various locales. I could see students in various locales being assigned localization projects for their locales and being graded on them. The students would improve their skills at translation and everyone in their locale gets an app to use.
The potential for massive localization across the world is huge and what you already have with angular-translate is a great start.

Okay.. the picture is much more clear now. Thanks.
We do not plan to build such a "central place" nor we could maintain/support that one. That could be a great idea (it looks like a "community driven" thing), but I'm personally in doubt: it will not be so simple after all. Regarding versioning, contributions, quantity, quality.. not easy.
If you want to start such a platform, you are welcome. But looking at the spare time of our own, we cannot be part of this. At the end of the day, angular-translate would be only one tool of others. Such a site could be compatible with other libraries (like angular-gettext) also.
Technically, we should also make the differences between localization (i.e. formatting), translation (texts) and internationalization (translation + localization). Clearly, the name of angular-translate was not chosen randomly.

Yes, it could be a huge project, and I also envision it being community driven. And, as you say, not easy. I also like your idea of being able to localize apps that use angular-gettext, and other libraries, too. If we really do it so the localizers see no code, whatever is under the hood should not matter.
I don't have the expertise do so such a platform, but I see the need. Inner Peace has over 100 SPA's from the 1990's that are written in JS 1.1. In looking the ways to update them, being able to localize them easily and in many locales is the goal.
When real estate developers build communities, even though they may build it in phases, they often start with a master plan. This helps everything tie together as the phases of community are built. I understand that you focus is your piece, and thank you for all your great work on it. As you update angular-translate, please keep in mind ways to easily tie it into a bigger such as this.
In looking at various libraries, from a localization viewpoint, I very much like the L20n concepts. I could see angular-translate being well suited for i18n end of this.
Thank you for your great work.


Fix specfile importer

@newville I just found that I broke specfile_importer when removing scan=None parameter in some redundant places. Unfortunately, this makes the current Spec/BLISS importer boken in the current release (= useless for our users). Would it be possible to merge this and redo the 0.9.52 release?
I am very sorry for the inconvenience... I really should implement automatic testing for this!

@maurov  OK I'll merge this now - I remember being a little unsure about the "scan is None" case.  I might suggest we think about aiming to make scan required and not rely on set_scan() to set 'current scan of the specfile'.    But that's a suggestion and does not have to happen immediately.
I'll merge, but I'm finding other bugs too.  For sure, I'm sort of planning to tag 0.9.53 within a few weeks anyway (getting ready for tutorials / schools is a great way to find bugs or needed features).
Is installing from github master reasonable?

@newville thanks for merging this. OK, let's wait for 0.9.53 then. I can handle installing from master in the meantime, hoping to reduce the number of bugs until next release. Please, just let me know a couple of days before you plan to release.
Regarding having scan parameter in all methods, I thing it is safer to rely on set_scan() to change the current scan selection and leave only get_scan() the possibity to change it on the fly. This said, I am open to your suggestion, if you have a stronger argument.

@maurov   Yes, let's tentatively say that we'll do 0.9.53 around July 1 but also coordinate that release!


Bug Report: Dynamic Workspaces Script Fails After Kubuntu 24.04 Update

Bug Report: Dynamic Workspaces Script Fails After Kubuntu 24.04 Update
Summary:
After updating to Kubuntu 24.04, the dynamic workspaces script that had been running without issues for the past year has stopped working. Running 'kwin_x11 --replace &' to restart KWin results in an error message.
Steps to Reproduce:

Update to Kubuntu 24.04.
Attempt to run the dynamic workspaces script.
Run kwin_x11 --replace & to restart KWin.

Expected Result:
The script should run without errors, as it did before the update.
Actual Result:
The script fails with the following error message:
kwin_scripting: /home/jose_edsouza/.local/share/kwin/scripts/dynamic_workspaces/contents/code/main.js:95: error: Cannot read property 'index' of undefined

Details:

Error Location: /home/jose_edsouza/.local/share/kwin/scripts/dynamic_workspaces/contents/code/main.js, line 95
Error Message: Cannot read property 'index' of undefined

Additional Information:
This script has been functioning correctly for a year prior to the update to Kubuntu 24.04. The error seems to indicate an issue with accessing the 'index' property of an undefined object within the script at line 95.
Steps Taken to Resolve:

Restarted KWin using kwin_x11 --replace &
Checked the script for any potential issues related to the new update

Environment:

OS: Kubuntu 24.04
Script Location: /home/jose_edsouza/.local/share/kwin/scripts/dynamic_workspaces/contents/code/main.js

Request for Help:
Any assistance in resolving this issue would be greatly appreciated, especially insights into changes in Kubuntu 24.04 that might affect script compatibility with KWin.
Thank you for your support.

Thanks for the report. Kubuntu still uses plasma 5, so for the time you can manually install the previous version of the script which worked fine.
The real seems to be main.js:257. Now I stopped understanding why it doesn't fail for any other plasma version too: I get the desktop length once, so necessarily desktopIdx will run higher than the real amount of desktops if I delete at least one in this loop. It seems in case only one desktop is to be deleted, this is prevented by loopCounter.
Unfortunately(for multiple reasons) I don't have a linux PC on hand, so testing this fix will take until I get one in a couple of weeks. If a couple of weeks pass and I haven't fixed it, feel free to bump this issue again. :-)

Thank you for your quick response and the suggestion to revert to the previous version of the script. I have done so,  and it worked simply fine.
I appreciate your willingness to address this problem once you have access to a Linux environment again.
In the meantime, I'll continue using the previous version of the script.
Thank you again for your help and the script that has served me well for the past year.
Best regards,
José Souza

Long time no see. I've pushed a fix for this bug here: https://github.com/maurges/dynamic_workspaces/tree/f25017abd77913b183d5d2e0a9b2de0f40f31c91 - I'll try to work on the animation bug before merging and releasing it, but meanwhile you can try it out.

I believed this was fixed v3.0


cleaner.go:136:38:1 other occurrence(s) of "Proper cluster ID" found in: cleaner.go:90:41

cleaner.go:136:38:1 other occurrence(s) of "Proper cluster ID" found in: cleaner.go:90:41

Fixed in https://github.com/RedHatInsights/insights-results-aggregator-cleaner/pull/47


metegpt +ollama ,in window 10,can not run

Bug description
I encountered an error when using MetaGPT to call the local ollama, and it failed to function. However, directly invoking ollama using Python works fine.
Environment information
win 10
config2.yaml：
llm:
api_type: "ollama"
model: "gemma:2b"
base_url: "http://localhost:11434"
api_key: "ollama"
RPM: 3

LLM type and model name:ollama gemma:2b
System version:win 10
Python version:Python 3.12.3
MetaGPT version or branch:metagpt-0.8.1-py3-none-any.whl.metadata
use pip install metagpt

packages version:
installation method:

Screenshots or logs
D:\mymetagpt\MetaGPT>metagpt "Create a 2048 game"
2024-04-30 09:37:00.803 | INFO     | metagpt.const:get_metagpt_package_root:29 - Package root set to D:\mymetagpt\MetaGPT
2024-04-30 09:37:04.151 | INFO     | metagpt.team:invest:90 - Investment: $3.0.
2024-04-30 09:37:04.154 | INFO     | metagpt.roles.role:_act:391 - Alice(Product Manager): to do PrepareDocuments(PrepareDocuments)
2024-04-30 09:37:04.430 | INFO     | metagpt.utils.file_repository:save:57 - save to: D:\mymetagpt\MetaGPT\workspace\20240430093704\docs\requirement.txt
2024-04-30 09:37:04.432 | INFO     | metagpt.roles.role:_act:391 - Alice(Product Manager): to do WritePRD(WritePRD)
2024-04-30 09:37:04.434 | INFO     | metagpt.actions.write_prd:run:86 - New requirement detected: Create a 2048 game
2024-04-30 09:37:04.477 | ERROR    | metagpt.utils.common:log_it:554 - Finished call to 'metagpt.actions.action_node.ActionNode._aask_v1' after 0.031(s), this was the 1st time calling it. exp: 'async for' requires an object with aiter method, got bytes
2024-04-30 09:37:05.298 | ERROR    | metagpt.utils.common:log_it:554 - Finished call to 'metagpt.actions.action_node.ActionNode._aask_v1' after 0.859(s), this was the 2nd time calling it. exp: 'async for' requires an object with aiter method, got bytes
2024-04-30 09:37:07.103 | ERROR    | metagpt.utils.common:log_it:554 - Finished call to 'metagpt.actions.action_node.ActionNode._aask_v1' after 2.656(s), this was the 3rd time calling it. exp: 'async for' requires an object with aiter method, got bytes
2024-04-30 09:37:11.087 | ERROR    | metagpt.utils.common:log_it:554 - Finished call to 'metagpt.actions.action_node.ActionNode._aask_v1' after 6.641(s), this was the 4th time calling it. exp: 'async for' requires an object with aiter method, got bytes
2024-04-30 09:37:11.567 | ERROR    | metagpt.utils.common:log_it:554 - Finished call to 'metagpt.actions.action_node.ActionNode._aask_v1' after 7.125(s), this was the 5th time calling it. exp: 'async for' requires an object with aiter method, got bytes
2024-04-30 09:37:21.194 | ERROR    | metagpt.utils.common:log_it:554 - Finished call to 'metagpt.actions.action_node.ActionNode._aask_v1' after 16.750(s), this was the 6th time calling it. exp: 'async for' requires an object with aiter method, got bytes
2024-04-30 09:37:21.196 | WARNING  | metagpt.utils.common:wrapper:649 - There is a exception in role's execution, in order to resume, we delete the newest role communication message in the role's memory.
2024-04-30 09:37:21.200 | ERROR    | metagpt.utils.common:wrapper:631 - Exception occurs, start to serialize the project, exp:
Traceback (most recent call last):
File "C:\Python310\lib\site-packages\tenacity_asyncio.py", line 50, in call
result = await fn(*args, **kwargs)
File "C:\Python310\lib\site-packages\metagpt\actions\action_node.py", line 420, in _aask_v1
content = await self.llm.aask(prompt, system_msgs, images=images, timeout=timeout)
TypeError: 'async for' requires an object with aiter method, got bytes
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Python310\lib\site-packages\metagpt\utils\common.py", line 640, in wrapper
return await func(self, *args, **kwargs)
File "C:\Python310\lib\site-packages\metagpt\roles\role.py", line 550, in run
rsp = await self.react()
tenacity.RetryError: RetryError[<Future at 0x2690458f820 state=finished raised TypeError>]
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Python310\lib\site-packages\metagpt\utils\common.py", line 626, in wrapper
result = await func(self, *args, **kwargs)
File "C:\Python310\lib\site-packages\metagpt\team.py", line 134, in run
await self.env.run()
Exception: Traceback (most recent call last):
File "C:\Python310\lib\site-packages\tenacity_asyncio.py", line 50, in call
result = await fn(*args, **kwargs)
File "C:\Python310\lib\site-packages\metagpt\actions\action_node.py", line 420, in aask_v1
content = await self.llm.aask(prompt, system_msgs, images=images, timeout=timeout)
File "C:\Python310\lib\site-packages\metagpt\provider\base_llm.py", line 150, in aask
rsp = await self.acompletion_text(message, stream=stream, timeout=self.get_timeout(timeout))
File "C:\Python310\lib\site-packages\tenacity_asyncio.py", line 88, in async_wrapped
return await fn(*args, **kwargs)
File "C:\Python310\lib\site-packages\tenacity_asyncio.py", line 47, in call
do = self.iter(retry_state=retry_state)
File "C:\Python310\lib\site-packages\tenacity_init.py", line 314, in iter
return fut.result()
File "C:\Python310\lib\concurrent\futures_base.py", line 451, in result
return self.__get_result()
File "C:\Python310\lib\concurrent\futures_base.py", line 403, in __get_result
raise self._exception
File "C:\Python310\lib\site-packages\tenacity_asyncio.py", line 50, in call
result = await fn(*args, **kwargs)
File "C:\Python310\lib\site-packages\metagpt\provider\base_llm.py", line 200, in acompletion_text
return await self._achat_completion_stream(messages, timeout=self.get_timeout(timeout))
File "C:\Python310\lib\site-packages\metagpt\provider\ollama_api.py", line 79, in _achat_completion_stream
async for raw_chunk in stream_resp:
TypeError: 'async for' requires an object with aiter method, got bytes
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Python310\lib\site-packages\metagpt\utils\common.py", line 640, in wrapper
return await func(self, *args, **kwargs)
File "C:\Python310\lib\site-packages\metagpt\roles\role.py", line 550, in run
rsp = await self.react()
File "C:\Python310\lib\site-packages\metagpt\roles\role.py", line 517, in react
rsp = await self._react()
File "C:\Python310\lib\site-packages\metagpt\roles\role.py", line 463, in _react
rsp = await self._act()
File "C:\Python310\lib\site-packages\metagpt\roles\role.py", line 392, in _act
response = await self.rc.todo.run(self.rc.history)
File "C:\Python310\lib\site-packages\metagpt\actions\write_prd.py", line 87, in run
return await self._handle_new_requirement(req)
File "C:\Python310\lib\site-packages\metagpt\actions\write_prd.py", line 108, in _handle_new_requirement
node = await WRITE_PRD_NODE.fill(context=context, llm=self.llm, exclude=exclude)  # schema=schema
File "C:\Python310\lib\site-packages\metagpt\actions\action_node.py", line 505, in fill
return await self.simple_fill(schema=schema, mode=mode, images=images, timeout=timeout, exclude=exclude)
File "C:\Python310\lib\site-packages\metagpt\actions\action_node.py", line 457, in simple_fill
content, scontent = await self.aask_v1(
File "C:\Python310\lib\site-packages\tenacity_asyncio.py", line 88, in async_wrapped
return await fn(*args, **kwargs)
File "C:\Python310\lib\site-packages\tenacity_asyncio.py", line 47, in call
do = self.iter(retry_state=retry_state)
File "C:\Python310\lib\site-packages\tenacity_init.py", line 326, in iter
raise retry_exc from fut.exception()
tenacity.RetryError: RetryError[<Future at 0x2690458f820 state=finished raised TypeError>]

https://github.com/geekan/MetaGPT/issues/1218


ipmiutil: 3.1.0 -> 3.1.1

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools.
This update was made based on information from https://repology.org/metapackage/ipmiutil/versions.
These checks were done:

built on NixOS
Warning: no invocation of /nix/store/g5xqcpmd9m47yc23dsdczapwlmw56b9a-ipmiutil-3.1.1/bin/ipmiutil had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/g5xqcpmd9m47yc23dsdczapwlmw56b9a-ipmiutil-3.1.1/bin/ievents had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/g5xqcpmd9m47yc23dsdczapwlmw56b9a-ipmiutil-3.1.1/bin/idiscover had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/g5xqcpmd9m47yc23dsdczapwlmw56b9a-ipmiutil-3.1.1/bin/ialarms had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/g5xqcpmd9m47yc23dsdczapwlmw56b9a-ipmiutil-3.1.1/bin/icmd had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/g5xqcpmd9m47yc23dsdczapwlmw56b9a-ipmiutil-3.1.1/bin/iconfig had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/g5xqcpmd9m47yc23dsdczapwlmw56b9a-ipmiutil-3.1.1/bin/ifirewall had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/g5xqcpmd9m47yc23dsdczapwlmw56b9a-ipmiutil-3.1.1/bin/ifru had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/g5xqcpmd9m47yc23dsdczapwlmw56b9a-ipmiutil-3.1.1/bin/ifwum had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/g5xqcpmd9m47yc23dsdczapwlmw56b9a-ipmiutil-3.1.1/bin/igetevent had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/g5xqcpmd9m47yc23dsdczapwlmw56b9a-ipmiutil-3.1.1/bin/ihealth had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/g5xqcpmd9m47yc23dsdczapwlmw56b9a-ipmiutil-3.1.1/bin/ihpm had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/g5xqcpmd9m47yc23dsdczapwlmw56b9a-ipmiutil-3.1.1/bin/ilan had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/g5xqcpmd9m47yc23dsdczapwlmw56b9a-ipmiutil-3.1.1/bin/ipicmg had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/g5xqcpmd9m47yc23dsdczapwlmw56b9a-ipmiutil-3.1.1/bin/ipmi_port had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/g5xqcpmd9m47yc23dsdczapwlmw56b9a-ipmiutil-3.1.1/bin/ireset had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/g5xqcpmd9m47yc23dsdczapwlmw56b9a-ipmiutil-3.1.1/bin/isel had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/g5xqcpmd9m47yc23dsdczapwlmw56b9a-ipmiutil-3.1.1/bin/iseltime had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/g5xqcpmd9m47yc23dsdczapwlmw56b9a-ipmiutil-3.1.1/bin/isensor had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/g5xqcpmd9m47yc23dsdczapwlmw56b9a-ipmiutil-3.1.1/bin/iserial had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/g5xqcpmd9m47yc23dsdczapwlmw56b9a-ipmiutil-3.1.1/bin/isol had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/g5xqcpmd9m47yc23dsdczapwlmw56b9a-ipmiutil-3.1.1/bin/iuser had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/g5xqcpmd9m47yc23dsdczapwlmw56b9a-ipmiutil-3.1.1/bin/iwdt had a zero exit code or showed the expected version
0 of 23 passed binary check by having a zero exit code.
0 of 23 passed binary check by having the new version present in output.
directory tree listing: https://gist.github.com/2e464372bda59e64858903e01bf01472
du listing: https://gist.github.com/310a0565ebec0aa5644c80c0d97ffb94

meta.description for ipmiutil is: '"An easy-to-use IPMI server management utility"'.
cc @7c6f434c for testing.
Experimental: this build is cached with Cachix. To use the cache follow these experimental instructions:
One time setup in nixpkgs Git checkout:
cachix use r-ryantm
git remote add r-ryantm https://github.com/r-ryantm/nixpkgs.git

Test this build:
git fetch r-ryantm && git checkout fa209571e8b352c247af09f46e166b8c5b6bea9c && nix-shell --pure -I nixpkgs=. -p ipmiutil

No attempt on x86_64-darwin (full log)
The following builds were skipped because they don't evaluate on x86_64-darwin: ipmiutil
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.

Success on x86_64-linux (full log)
Attempted: ipmiutil
Partial log (click to expand)
/nix/store/g5xqcpmd9m47yc23dsdczapwlmw56b9a-ipmiutil-3.1.1/sbin/iconfig: interpreter directive changed from "/bin/sh" to "/nix/store/qckzjk3406va7h6s40cy9s75z2w715rq-bash-4.4-p19/bin/sh"
/nix/store/g5xqcpmd9m47yc23dsdczapwlmw56b9a-ipmiutil-3.1.1/sbin/ipicmg: interpreter directive changed from "/bin/sh" to "/nix/store/qckzjk3406va7h6s40cy9s75z2w715rq-bash-4.4-p19/bin/sh"
/nix/store/g5xqcpmd9m47yc23dsdczapwlmw56b9a-ipmiutil-3.1.1/sbin/ifirewall: interpreter directive changed from "/bin/sh" to "/nix/store/qckzjk3406va7h6s40cy9s75z2w715rq-bash-4.4-p19/bin/sh"
/nix/store/g5xqcpmd9m47yc23dsdczapwlmw56b9a-ipmiutil-3.1.1/sbin/ifwum: interpreter directive changed from "/bin/sh" to "/nix/store/qckzjk3406va7h6s40cy9s75z2w715rq-bash-4.4-p19/bin/sh"
/nix/store/g5xqcpmd9m47yc23dsdczapwlmw56b9a-ipmiutil-3.1.1/sbin/ihpm: interpreter directive changed from "/bin/sh" to "/nix/store/qckzjk3406va7h6s40cy9s75z2w715rq-bash-4.4-p19/bin/sh"
/nix/store/g5xqcpmd9m47yc23dsdczapwlmw56b9a-ipmiutil-3.1.1/sbin/iuser: interpreter directive changed from "/bin/sh" to "/nix/store/qckzjk3406va7h6s40cy9s75z2w715rq-bash-4.4-p19/bin/sh"
checking for references to /build in /nix/store/g5xqcpmd9m47yc23dsdczapwlmw56b9a-ipmiutil-3.1.1...
moving /nix/store/g5xqcpmd9m47yc23dsdczapwlmw56b9a-ipmiutil-3.1.1/sbin/* to /nix/store/g5xqcpmd9m47yc23dsdczapwlmw56b9a-ipmiutil-3.1.1/bin
moving /nix/store/g5xqcpmd9m47yc23dsdczapwlmw56b9a-ipmiutil-3.1.1/lib64/* to /nix/store/g5xqcpmd9m47yc23dsdczapwlmw56b9a-ipmiutil-3.1.1/lib
/nix/store/g5xqcpmd9m47yc23dsdczapwlmw56b9a-ipmiutil-3.1.1

Success on aarch64-linux (full log)
Attempted: ipmiutil
Partial log (click to expand)
/nix/store/44j9h5nv3vidn4yja2bkn7599gdx12i9-ipmiutil-3.1.1/share/ipmiutil/ipmi_info: interpreter directive changed from " /bin/sh" to "/nix/store/9rv2bzx7jz6wjbaxij5qq580qvzksj4i-bash-4.4-p19/bin/sh"
/nix/store/44j9h5nv3vidn4yja2bkn7599gdx12i9-ipmiutil-3.1.1/share/ipmiutil/ipmi_port: interpreter directive changed from " /bin/sh" to "/nix/store/9rv2bzx7jz6wjbaxij5qq580qvzksj4i-bash-4.4-p19/bin/sh"
/nix/store/44j9h5nv3vidn4yja2bkn7599gdx12i9-ipmiutil-3.1.1/share/ipmiutil/ipmiutil_evt: interpreter directive changed from " /bin/sh" to "/nix/store/9rv2bzx7jz6wjbaxij5qq580qvzksj4i-bash-4.4-p19/bin/sh"
/nix/store/44j9h5nv3vidn4yja2bkn7599gdx12i9-ipmiutil-3.1.1/share/ipmiutil/ipmiutil_asy: interpreter directive changed from " /bin/sh" to "/nix/store/9rv2bzx7jz6wjbaxij5qq580qvzksj4i-bash-4.4-p19/bin/sh"
/nix/store/44j9h5nv3vidn4yja2bkn7599gdx12i9-ipmiutil-3.1.1/share/ipmiutil/ipmiutil_wdt: interpreter directive changed from " /bin/sh" to "/nix/store/9rv2bzx7jz6wjbaxij5qq580qvzksj4i-bash-4.4-p19/bin/sh"
/nix/store/44j9h5nv3vidn4yja2bkn7599gdx12i9-ipmiutil-3.1.1/share/ipmiutil/evt.sh: interpreter directive changed from "/bin/sh" to "/nix/store/9rv2bzx7jz6wjbaxij5qq580qvzksj4i-bash-4.4-p19/bin/sh"
/nix/store/44j9h5nv3vidn4yja2bkn7599gdx12i9-ipmiutil-3.1.1/share/ipmiutil/ipmi_if.sh: interpreter directive changed from "/bin/sh" to "/nix/store/9rv2bzx7jz6wjbaxij5qq580qvzksj4i-bash-4.4-p19/bin/sh"
checking for references to /build in /nix/store/44j9h5nv3vidn4yja2bkn7599gdx12i9-ipmiutil-3.1.1...
moving /nix/store/44j9h5nv3vidn4yja2bkn7599gdx12i9-ipmiutil-3.1.1/sbin/* to /nix/store/44j9h5nv3vidn4yja2bkn7599gdx12i9-ipmiutil-3.1.1/bin
/nix/store/44j9h5nv3vidn4yja2bkn7599gdx12i9-ipmiutil-3.1.1


PowerShell code is wrong

Under "View Topology - PowerShell", #3 has Retrieve a Network Watcher instance, but the code does not work.  The problem is that it has "EastUS" with capital letters, but the actual name is in all lower case and does not match.  Changing it to "eastus" fixes the problem.

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

ID: 6698ed8b-9c0f-8d05-228d-d55b99d5f6cc
Version Independent ID: a211b7b4-7ded-b6c3-2988-0824a2ce4d60
Content: View Azure virtual network topology
Content Source: articles/network-watcher/view-network-topology.md
Service: network-watcher
GitHub Login: @KumudD
Microsoft Alias: kumud

@duanecr , Thank you for your feedback. We will investigate and get back to you shortly.

@duanecr , I tried the same and it does work for me with EastUS in capital letter. Attached screenshot below:

Okay.  Now mine is working as well.  I’m not sure why it didn’t work before.  Thanks for checking.
From: KARTHIK SRINIVAS<EMAIL_ADDRESS>Sent: Monday, September 23, 2019 2:40 PM
To: MicrosoftDocs/azure-docs<EMAIL_ADDRESS>Cc: Duane C<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/azure-docs] PowerShell code is wrong (#39384)
@duanecrhttps://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fduanecr&data=02|01||c9d85fae688a4cb69d2f08d740556556|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637048607819588759&sdata=ZXan82Z6OKaVBhp9vi5iXlALub6J1j6S0muERisKrGo%3D&reserved=0 , I tried the same and it does work for me with EastUS in capital letter. Attached screenshot below:
[image]https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fuser-images.githubusercontent.com%2F47132998%2F65452779-80763280-de5f-11e9-94d1-22c0135001fe.png&data=02|01||c9d85fae688a4cb69d2f08d740556556|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637048607819598776&sdata=k0PtFjcQkqbSgkz2A0ZNa9eQCArbbJvby7iRWehtFtg%3D&reserved=0
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fazure-docs%2Fissues%2F39384%3Femail_source%3Dnotifications%26email_token%3DAEB66HIJGHADNS3Z5HFCMD3QLEEOXA5CNFSM4IZNUPAKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD7L3DOA%23issuecomment-534229432&data=02|01||c9d85fae688a4cb69d2f08d740556556|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637048607819608775&sdata=aBa%2Bq0dcNXibNYkcWCr%2BmE5efonxpjs7mmPfXgfQ%2Brk%3D&reserved=0, or mute the threadhttps://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAEB66HNOKAZ7LPO3QNWT4NTQLEEOXANCNFSM4IZNUPAA&data=02|01||c9d85fae688a4cb69d2f08d740556556|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637048607819618780&sdata=M2lxdSFpAicnyGnlJHMu34YtuoShUQAAOWSa3iss1Y0%3D&reserved=0.


merge from  2D-infinite-map

https://github.com/Krozark/2D-infinite-map/issues/1

resolved by adding map module


Getting started, but then isolated

I'm trying to get started with RazorEngine but I'm having a problem with running it in a sandbox.
My situation:

Started with an empty console application in C#
Installed RazorEngine 4.2.0-beta2 using NuGet.
Working in a single Program.cs that contains some copy/paste actions from the documentation that I could find in the wiki.
Templating already works fine, but my templates are now so powerfull that they also can create files on my file system. Which I really don't want in the web environment where it's going to be used.

I read and applied the isoluation page. But must admit that I'm not an expert on these sandbox topics.
First I didn't got strong names, after applying this so advice I stumbled upon these errors.
Error	1	Assembly generation failed -- Referenced assembly 'RazorEngine' does not have a       strong name	D:\git\presence-engine\RazorExperiment\CSC	RazorExperiment
Error	2	Assembly generation failed -- Referenced assembly 'Microsoft.AspNet.Razor' does not have a strong name	D:\git\presence-engine\RazorExperiment\CSC	RazorExperiment

Could someone give me some hints?

Yes, apparently the Microsoft.AspNet.Razor beta nuget package is not signed therefore you can't use sandboxing with it. You have two options: Either compile Micosoft.AspNet.Razor yourself and sign it (as it is open source) or use the latest stable package.

I forgot to say: We cannot sign RazorEngine in this scenario because we depend on an unsigned reference, so if you go for option 1 you need to sign RazorEngine as well.

Thank you for your hints, it now works! I get an FileIO exception when trying to write something to a file. Just like I wanted. +1:
For future readers, first deinstall your beta and then open up your Package Manager Console and enter (you might want to check this page to see the latest release):
Install-Package RazorEngine -Version 3.7.0

Btw. It's interesting that I got a beta while just using the simple "Manage NuGet packages" window, I would expect it to install the latest stable by default.


Use typing_extensions.Literal for more accurate types

Codecov Report

Merging #106 into master will increase coverage by 0.02%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #106      +/-   ##
==========================================
+ Coverage   97.05%   97.08%   +0.02%
==========================================
  Files           2        2
  Lines         272      274       +2
==========================================
+ Hits          264      266       +2
  Misses          8        8

Impacted Files
Coverage Δ

loggo/loggo.py
97.05% <100%> (+0.02%)
:arrow_up:

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 b2b8d5c...812a704. Read the comment docs.