Typescript support for cy.takeSnapshot is missing in index.d.ts

Describe the bug
No typescript support is added for the cy.takeSnapshot command
To Reproduce
Try to use cy.takeSnapshot() in a typescript Cypress test
Expected behavior
Typescript knows about the takeSnapshot command added
declare global {
  namespace Cypress {
    interface Chainable<Subject = any> {
      takeSnapshot(name?: string): Chainable<void>;
    }
  }
}

needs to be in the index.d.ts that is in dist/

@cellog thanks for letting us know. We've gone ahead and added typings for cy.takeSnapshot(), upgrade @chromatic-com/cypress to version 0.6.8 or higher to take advantage of that!

@skitterm I am unusre but we still have this issue on the 0.6.17, is there more to it then just installing it?
{
  "compilerOptions": {
    "target": "ES2020",
    "useDefineForClassFields": true,
    "lib": ["ES2020", "DOM", "DOM.Iterable"],
    "module": "ESNext",
    "skipLibCheck": true,

    /* Bundler mode */
    "moduleResolution": "bundler",
    "allowImportingTsExtensions": true,
    "resolveJsonModule": true,
    "isolatedModules": true,
    "noEmit": true,
    "jsx": "react-jsx",

    /* Linting */
    "strict": true,
    "noUnusedLocals": false,
    "noUnusedParameters": false,
    "noFallthroughCasesInSwitch": true,

    "baseUrl": "./",
    "paths": {
      "#/*": ["./src/*"],
      "#Apps/*": ["./src/Apps/*"],
      "#JourneyComponents/*": ["./src/Apps/Journey/UI/components/*"],
      "#WidgetComponents/*": ["./src/Apps/Widget/UI/components/*"],
      "#SharedComponents/*": ["./src/components/*"],
      "#JourneySteps/*": ["./src/Apps/Journey/UI/steps/*"],
      "#WidgetSteps/*": ["./src/Apps/Widget/UI/steps/*"],
      "#configs/*": ["./src/configs/*"],
      "#hooks/*": ["./src/hooks/*"],
      "#api/*": ["./src/api/*"],
      "#types/*": ["./src/types/*"],
      "#utils/*": ["./src/utils/*"],
      "#state/*": ["./src/state/*"],
      "#i18n/*": ["./src/i18n/*"]
    }
  },
  "include": ["src", "client-themes/themes"],
  "references": [{ "path": "./tsconfig.node.json" }],
  "exclude": ["src/tests/e2e/downloads"]
}


Move image encoding out of main create_db thread

Fixes #254 (coming from #245)
Improves CPU utilization when creating encoded LMDB datasets.
Tools used to debug: cProfile.

Confirmed by @michaelholm-ce.


Remove nodepools from addClusterV5 request body

Towards https://github.com/giantswarm/giantswarm/issues/5465
As detailed in https://github.com/giantswarm/giantswarm/issues/5465#issuecomment-528360513 we decided to simplify v5 cluster creation, removing the possibility to define node pools in the same request.

Ping @tuommaki - This needs your eyeballs


ui should record the fold state of the sidebar

Current Behavior

Proposed Behavior
When refresh the page, the sidebar should keep the previous fold state.

done， check on pre environment


DBZ-6031 Support compression/logging clauses after LOB storage clauses

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

@Naros Applied, thanks


Broken Twitter link in README

The Twitter link in the first paragraph of the README is broken, just wanted to raise this to someone's attention :)

Thanks

uh.. 🤦♂
should have remained tunnckocore 😁

I'm with ya man, just wanted to let you guys know!

I got back the old handle.


[NCL-6359] Add managedsvc suffix to service builds

All Submissions:

[x] Have you added a note in the CHANGELOG wiki for your change?
[ ] Have you added unit tests for your change?

retest this please

Oops, stupid me, I wanted to merge the one in Orch, not the one in Repour :-( @thescouser89 Please review it anyway and if you have any suggestions, I'll implement them in another PR.

LGTM! :)


[Feature] Force Mic On

I'm using:

Device: PC
OS: Windows 11
Browser: Edge

I want to suggest this feature:
Enable microphone on game launch, if possible.
Thank you!

I think the fastest way to test is by playing either GTA Online or Battlefield 2042
Both have indicators for when your voice is detected


Compatibility with Aurora on Geostar?

Wondering if anyone has gotten this package to work with a Geostar unit.
Geostar is made by Waterfurnace as their slightly more budget brand, but has the exact same Aurora tech (uses an AID tool) and RJ45 AID tool port.
Originally I could not get MQTT Explorer to connect. I was on a Raspberry Pi 0W with 32-bit Raspberry Lite OS. I changed over to a Pi 3B+ with the same OS. Still not able to connect. I found another issue here and edited to the /etc/mosquitto/mosquitto.conf to contain the port and and allow anonymous. I was then able to connect to MQTT via the explorer.
I'm getting a read out in MQTT that updates every few seconds, but it's full of only counts of "sent" "received" and other non useful information.

Thank you!

If helpful, here is the plate info on front of the unit:

And here is my serial number breakdown with the variables highlighted:

I know of at least one person that is using it with GeoStat branded units.

Got it, thank you. Is there somewhere you could point me to to find logs regarding what's going wrong? Thank you.


Event frequency balance pass

About the PR

this PR is a mostly holistic balance pass over the weights of every event using the tools from #27718 to guide balance. you can see exactly what was changed below
other changes not directly related to event weights:

falsealarm was disabled. it sucks. see #27720
'ventcritters' rule was removed as it was a duplicate of mousemigration
mimicvendor rule was changed to have a higher per-vendor chance of creating a mimic as it was generally unimpactful otherwise
sentience maxoccurrences set to 1, reoccurrencedelays removed or lowered for some events
playercount requirements lowered for some events
ratking chance slightly increased. entirely vibes based change. i just figured he wasnt seen enough

note that this is 'ideal' balancing done assuming that most of these events work roughly as intended. a lot of them dont (i.e. meteors) and have a problem of biasing towards smaller grids which desperately needs to be fixed
Why / Balance

events are in a weird spot right now (tile biasing mentioned above, some not-really-working events, not enough events) especially with my pr that increased frequency overall. this pr aims to solve some of that keeping a couple things in mind:

low-impact events can be common across rounds but should generally not be happening many times within one round
antag-creating/impactful events such as that should be ~around 1/4 to 1/6 per round chance
job gameplay-adding events (anomaly, artifact, gasleak, breaker flip, etc) should generally be 1/2 to 2/3 per round chance and be uncapped
high variance is best
reoccurrence delays/caps are usually not necessary and its better to just let probability decide for these cases
when an event is chosen to occur, it should actually have some effect on the round, rather than some chance of not doing anything

Technical details

Media

[x] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

this is a slightly unreadable image showing pre-balance numbers (on the left) versus post-balance numbers (on the right) and what events roughly changed

Breaking changes

n/a. no actual code was removed
Changelog

:cl:

add: Event weights have been tweaked across the board, and some events removed (such as false alarm) to hopefully allow for a more interesting and varied slate of random occurrences per round.

heres 5 'single-round simulations' (~60 players, ~70-110 minute round) to get an idea of how it ideally feels:
# round 1
(MeteorSwarm, 2),
(MimicVendorRule, 2),
(GiftsMedical, 1),
(CockroachMigration, 1),
(VentClog, 1),
(GasLeak, 1),
(BreakerFlip, 1),
(GiftsJanitor, 1),
(BluespaceLocker, 1),
(GiftsSpacingSupplies, 1),
(SolarFlare, 1),
(GiftsEngineering, 1),

# round 2
(BluespaceArtifact, 2),
(MassHallucinations, 2),
(SolarFlare, 2),
(ClosetSkeleton, 1),
(CockroachMigration, 1),
(VentClog, 1),
(ImmovableRodSpawn, 1),
(RandomSentience, 1),
(SpiderSpawn, 1),
(AnomalySpawn, 1),
(KudzuGrowth, 1),
(GiftsEngineering, 1),

# round 3
(CockroachMigration, 2),
(BreakerFlip, 2),
(ClosetSkeleton, 1),
(MouseMigration, 1),
(BluespaceArtifact, 1),
(VentClog, 1),
(GasLeak, 1),
(ImmovableRodSpawn, 1),
(RandomSentience, 1),
(RevenantSpawn, 1),
(MassHallucinations, 1),
(AnomalySpawn, 1),
(KudzuGrowth, 1),

# round 4
(BreakerFlip, 3),
(SleeperAgentsRule, 3),
(GiftsMedical, 1),
(BluespaceArtifact, 1),
(SpiderClownSpawn, 1),
(ImmovableRodSpawn, 1),
(RandomSentience, 1),
(AnomalySpawn, 1),

# round 5
(IonStorm, 1),
(PowerGridCheck, 1),
(BluespaceLocker, 1),
(SpiderSpawn, 1),
(MimicVendorRule, 1),
(AnomalySpawn, 1),
(KudzuGrowth, 1),


Add destroyed column to BookmarkLocation table (##3729)

Description (required)
Fixes #3729
What changes did you make and why?

Database version changed from 12 to 13
Migration to add column location_destroyed to BookmarkLocation table
Updated Tests and Dao to reflect the new column

Tests performed (required)
Tested {prodDebug, betaDebug} on {Pixel 2 emulator} with API level {28}.
Checked for successful database migration (on emulator) as well.

Codecov Report

Merging #3774 into master will decrease coverage by 0.00%.
The diff coverage is 0.00%.

@@             Coverage Diff             @@
##             master   #3774      +/-   ##
===========================================
- Coverage      7.01%   7.01%   -0.01%
  Complexity      319     319
===========================================
  Files           290     290
  Lines         12614   12623       +9
  Branches       1007    1008       +1
===========================================
  Hits            885     885
- Misses        11661   11670       +9
  Partials         68      68

Impacted Files
Coverage Δ
Complexity Δ

...mons/bookmarks/locations/BookmarkLocationsDao.java
0.00% <0.00%> (ø)
0.00 <0.00> (ø)

...in/java/fr/free/nrw/commons/data/DBOpenHelper.java
0.00% <ø> (ø)
0.00 <0.00> (ø)

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 df76aef...4dd1608. Read the comment docs.

@ashishkumar468 are there any further tickets for Room migration? It isn't very beneficial to the project to keep maintaining these unwieldy classes

@macgills Not that I know of, this should be it :)

@ashishkumar468 I'll create a ticket for converting each remaining ContentProvider so?

Yes that would be great, thanks :)


[BUG] marshalling of output is non-deterministic

Is there an existing issue for this?

[X] I have searched the existing issues

Konveyor version
e73e5df290d7c74aa1e58b60c1c7356252822984
Priority
Major
Current Behavior
When running integration tests (either locally, or on Github), the output of the analyzer/dep-analyzer sometimes has a different ordering. In this case, tests based on yq and diff fail, though there is no semantic difference in the results.
Expected Behavior
Output should be stable and preserve ordering when executed on the same input.
How Reproducible
Sometimes
Steps To Reproduce
export PODMAN_BIN=docker # or 'podman' of course ...
... # Build images like in the mentioned Github Action
${PODMAN_BIN} run -v $(pwd)/demo-output.yaml:/analyzer-lsp/output.yaml:Z localhost/testing:latest
diff
<(sort <(sed 's/incidents.[0-9]+/incidents.x/g' <(yq -P 'sort_keys(..)' -o=props <(git show HEAD:demo-output.yaml))))
<(sort <(sed 's/incidents.[0-9]+/incidents.x/g' <(yq -P 'sort_keys(..)' -o=props <(cat demo-output.yaml))))
Environment
No response
Anything else?

The problem was already discussed in Slack (thanks to @shawn-hurley and @JonahSussman)
When marshalling is done in a deterministic way, comparison of results could be simplified

Thanks!


Updated Backends in Tutorial

Updated the backend systems in the "Understanding the different backends" tutorial.

I resolved the conflicts.  Can we merge this pull now?


Use inputParser for initialization

The MATLAB inputParser class makes it easier to have optional arguments in MATLAB.  This patch switches the class intialization method to use the inputParser class to handle optional arguments.  Since the inputParser class also accepts arguments as structs, this is fully backwards-compatible.  However, it also lets you specify arguments as name/value pairs.
This patch also adds additional optional arguments and updates the README to reflect the changes.

Great! Thanks!


Fixed typehint in src/Casts/DateTimeInterfaceCast.php

Fixed typehint of $type variable
Added suppression of exception on DateTime creation

Good for you @rubenvanassche ?

Looks great! Thanks!


Start in home directory

Expected behavior when starting black-screen is that it starts in the home directory

@ashyon Can you give some more information?
I'm running Ubuntu 14.04 and when I run npm start black-screen starts in the home directory.

It restores the previous working directory by design. Please vote if you'd rather have it always start in the home directory.

I would rather just have a way to set the default starting directory for startup/new tabs

agreed, we need a settings page for sure.

Any update on this? :)

@kiwo12345 I believe starting a new session in the same directory as the previous one is more convenient. Just execute cd to get into your home directory.

@vlad-shatskyi Yea ofc I can just execute cd.
I am just used to always open a new tab in root, thats why I asked :)


docs: add new demo pages

:tada: This pull request is included in version<EMAIL_ADDRESS>:tada:
The release is available on GitHub release

:tada: This pull request is included in version<EMAIL_ADDRESS>:tada:
The release is available on GitHub release

:tada: This pull request is included in version<EMAIL_ADDRESS>:tada:
The release is available on GitHub release


How to handle artifacts using SUMO?

Hello, I'm wondering how to handle artifacts with the use of SUMO.
I understand that SUMO was trained only on clean data.
Would it be valid to first run the SUMO detector on all N2 stages of a recording and then exclude all the spindles occurring during an artifact? Can a huge artifact corrupt how SUMO detects the spindle on clean data near the artifact?
If I need to provide only clean data to SUMO: Does SUMO need 115s of clean data to work properly? On the GitHub you provided as demo data a single 30s epoch, so it looks like we can use SUMO properly with a shorter amount of data (I mean shorter than 115s). What is the minimum signal duration we can use to run SUMO on? This is important if we need to extract only clean segments.
Thank you !

Hi @klacourse,
I'm sorry for the very late reply. Unfortunately, the main developer of SUMO is no longer with our team, and I only recently noticed your message. I hope you still find this information useful.

Would it be valid to first run the SUMO detector on all N2 stages of a recording and then exclude all the spindles occurring during an artifact? Can a huge artifact corrupt how SUMO detects the spindle on clean data near the artifact?

Yes, SUMO is affected by high amplitude artifacts. If the artifact is too large, it will likely affect data normalization during preprocessing and reduce the number of spindles detected. I recommend to clean/remove artifacts first and then identify sleep spindles on N2 stages using SUMO.

If I need to provide only clean data to SUMO: Does SUMO need 115s of clean data to work properly? On the GitHub you provided as demo data a single 30s epoch, so it looks like we can use SUMO properly with a shorter amount of data (I mean shorter than 115s). What is the minimum signal duration we can use to run SUMO on? This is important if we need to extract only clean segments.

In theory, SUMO works on any duration of data. However, the neural network has a receptive field of about 4.5 seconds, i.e., the model uses up to the last 2.25 seconds and up to the next 2.25 seconds to make a prediction for a datapoint. In other words, data at the beginning (the first 2.25 seconds) or the end (the last 2.25 seconds) of a signal will not have the full context of data available for optimal prediction. We recommend using at least 30 seconds of data to ensure that the model has enough context to accurately predict spindles.
Best wishes!


Sync Book Store instructions to JS track

@SleeplessByte, I've synced the updated Book Store instructions to this track, with no other changes. This PR is per your comment on this forum topic. Thanks!

Changed the append file as mentioned in the forum too.

@SleeplessByte just a reminder about this.


Split long words in several spots where they are shown (in the frontend)

When a Cree word is long, we need to split that, using primarily hyphens (which might have morpheme boundaries attached to them). I don't think we should use morpheme boundaries occurring without a hyphen to split words.

Front page:
Production (this actually does not work properly with morpheme boundaries):

Refactoring:  https://itwewina.altlab.dev/search/?q=ê-kî-nitawi-kâh-kîmôci-kotiskâwêyâhk

Paradigms
Production: https://itwewina.altlab.app/word/kiskinwahamâkosiw/?paradigm-size=basic

Refactoring: https://itwewina.altlab.dev/word/kiskinwahamâkosiw

An even better long entry for testing is: nêhiyawi-kiskinwahamâkosiw (https://itwewina.altlab.app/word/nêhiyawi-kiskinwahamâkosiw/)


The 'Preview' button is broken on the autoflagging conditions

The first time you go to set your autoflagging conditions, the preview button works great, it gives you a nice helpful preview. If you go to edit your conditions afterwards, however, the preview button does nothing. You click, and it gives the exact same stats as before.

I've repro'd this before

I have repro'd this too IIRC.

This is related to the bug we've been seeing with the multiple-select not showing up on the first page load - clicking the Preview button often does nothing on the first page load, either. You can verify that by using the Network tab of your browser developer tools - the Preview button should issue a network request, but often doesn't on first load.
Fixed (I hope) in c19a260919db85a25250118b943fb329e5fd8fd7, pending deploy.


Some changes in the PG VNet concepts

Based on customer feedback

@kummanish : Thanks for your contribution! The author, @mbolz, has been notified to review your proposed change.

@bolzmj - Would you review the proposed changes? Would you also update the author metadata in the article and set it to your GitHub alias "bolzmj"? Thanks

Cool. Just saw that you can now suggest changes for commit. Did that. Will update to bolzmj after merge.


LEARNER-8636 - Remove Travis from the repo

Description
LEARNER-8636
Delete .travis.yml

Will open a new PR with the correct branch name


Toc is not displayed correctly

When the network is slow, it is easy to appear as shown in the following figure:

Reset state.page.headings in beforeRouteUpdate?

The dev branch has solved the problem


Deprecate Table and its related components

Since the td and tr tags are rendered so much while showing data, they should not be Blazor component due to performance issue. It is not Best Practice due to adding many components to component hierarchy.

related to #1384


Python: remove format = "setuptools"; as default

There has been some discussion on whether to make this format = "pyproject"; or to just infer the format from the contents of the src.
Breaking out #115272 into individual tasks
cc @fridh

We might want to go a step further and remove format altogether: #253154

This is done.


servermiddleware routes are not recognized

module.exports = {
  serverMiddleware: [
      { path: '/api', handler: '~/api/index.js' }
  ]

does not actually pick up requests to /api/* and does not generate a route in .nuxt/router.js.
module.exports = {
  serverMiddleware: [
      '~/api/index.js'
  ]

does pick everything up though, however this leaves you to check the url in the middleware and applies to every request which is not efficient - or neat.
 "version": "1.0.0-rc6",

Have a look here https://github.com/nuxt/nuxt.js/issues/1312
I am able to use express as middleware using the method described.

I can see that that very simple example works, but it does not really use express routing either. e.g. this does not work:
const express = require('express')

const app = express()

app.get('/api/say/:word', (req, res) => {
  res.json(req.params)
})

module.exports = {
  path: '/api',
  handler: app
}

@colwilson
It works for me, but you have to configure it right. As it is now, you have too many /api in your code.
Your nuxt.config.js should contain this:
    serverMiddleware: [
        '~/api/index.js',
    ]

and /api/index.js should look like this:
const app = require('express')()
module.exports = { path: '/api', handler: app }

app.get('/say/:word', (req, res) => {
  res.json(req.params)
})

@pbastowski
Thanks a lot that works now.

@pi0 @Atinux
You probably get a lot of these types of questions, "stuff doesn't work", "how do I", "please alow xxxx in NUXT", right? I have asked this type of question here myself and got a good answer from pi0.
So, I was thinking that there must be some way to turn these issues/questions/requests and answers into a FAQ or wiki, which supplements the docs. The docs don't usually cover specialised questions and it's a shame to lose them.
I know we can all search through the issues, which helps in many cases, especially if issues are marked with a good label. However, a distilled version of the issues with specific questions and answers could be a great benefit to the community.
For example, this current issue, as reported by colwilson, has a heading "servermiddleware routes are not recognized". Now that we know what he actually was asking, we could rename it to "How to use serverMiddleware config option to add express routing to NUXT apps", or something like that. Maybe even link to these issues from the NUXT web site.
What do you think?

Hi @pbastowski
This is pretty funny since I am currently working on a way to list Github Issues on Nuxt.js directly, I hope to release it pretty soon, I'm sure it will improve a lot our documentation website.
Thank you for your idea and feedback!

Hi @atinux
I'm glad to hear it :)
Paul

I'm glad to have the issue sorted and would happily contribute if there was
a process
to do so.
On Mon, 28 Aug 2017, 14:53 pbastowski<EMAIL_ADDRESS>wrote:

Hi @Atinux https://github.com/atinux
I'm glad to hear it :)
Paul
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/nuxt/nuxt.js/issues/1486#issuecomment-325359495, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAAYymqz3SUmeN1CFAD0v5a_UMcdevTwks5scsZcgaJpZM4PDaVX
.


railway: 2.0.8 -> 2.0.10

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/railwayapp/cli/releases.
meta.description for railway is: "Railway CLI"
meta.homepage for railway is: "https://railway.app"
meta.changelog for railway is: ""
Updates performed

Golang update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 2.0.10 in filename of file in /nix/store/8a3wcgd6lxsznhzx9vphb8hj8k53xyl0-railway-2.0.10

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

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
railway

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/8a3wcgd6lxsznhzx9vphb8hj8k53xyl0-railway-2.0.10 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

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

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/8a3wcgd6lxsznhzx9vphb8hj8k53xyl0-railway-2.0.10
ls -la /nix/store/8a3wcgd6lxsznhzx9vphb8hj8k53xyl0-railway-2.0.10/bin

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

1 package built:

railway

Maintainer pings
cc @Craftzman7 for testing.

Result of nixpkgs-review pr 188717 run on x86_64-linux 1

1 package built:

railway


Add option to pass free-form TF parameters

First step towards https://github.com/packit/packit-service/issues/1627
TODO:

[x] Write new tests or update the old ones to cover new functionality.
[x] Update doc-strings where appropriate.
[ ] Update or write new documentation in packit/packit.dev. (I will do this once the logic is implemented in p-s)

/packit retest

/packit test

/packit test

/packit-stg test

recheck

recheck


Attachments

I love this idea of this and something that could work for us internally. However, is there any way that you could add attachments to when you submit an expense? i.e. Upload a picture of your receipt?

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

ID: 379862e0-89e8-8e6b-b686-77d6836f0434
Version Independent ID: 29fc7f25-b6b5-26d2-69f3-eada7fff64b3
Content: Install and configure the Expense Report sample for canvas apps - PowerApps
Content Source: powerapps-docs/maker/canvas-apps/expense-report-install.md
Service: powerapps
GitHub Login: @caburk
Microsoft Alias: caburk

The simplest way to do this is adding the "Attachments" field to the form. This will add an attachment control to upload images and save them to the SharePoint list.
Here are step by step instructions to do this: https://docs.microsoft.com/en-us/powerapps/maker/canvas-apps/working-with-forms#create-a-record

Closing the issue.


Docker container crashes after upgrading to any version greater the 5.8.3

Title says it all, Where as all old versions seems to be working fine
Ubuntu 20
Logs:
[2022-08-23 20:48:23] INFO Ghost is running in production...
[2022-08-23 20:48:23] INFO Your site is now available on https://droidmodders.com/
[2022-08-23 20:48:23] INFO Ctrl+C to shut down
[2022-08-23 20:48:23] INFO Ghost server started in 1.905s
[2022-08-23 20:48:24] ERROR connect ECONNREFUSED <IP_ADDRESS>:3306
connect ECONNREFUSED <IP_ADDRESS>:3306
"Unknown database error"
Error ID:
500
Error Code:
ECONNREFUSED

Error: connect ECONNREFUSED <IP_ADDRESS>:3306
at /var/lib/ghost/versions/5.10.1/node_modules/knex-migrator/lib/database.js:57:19
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1247:16)
[2022-08-23 20:48:24] WARN Ghost is shutting down
[2022-08-23 20:48:24] WARN Ghost has shut down
[2022-08-23 20:48:24] WARN Your site is now offline
[2022-08-23 20:48:24] WARN Ghost was running for a few seconds

See https://github.com/docker-library/ghost/pull/323#issuecomment-1212554428 (temporary solutions are to downgrade to 5.8 or add those environment variables - long term solution is to migrate to MySQL).
Duplicate #331
Duplicate #327

See #323 (comment) (temporary solutions are to downgrade to 5.8 or add those environment variables - long term solution is to migrate to MySQL).
Duplicate #331 Duplicate #327

I migrated to MySQL and the Ghost instance cannot connect to the MySQL server.
I launched the same config 2 weeks ago and it worked well, I don't understand why it does not work at the moment.
See #331


Custom webpack build docs 404s

Expected Behavior
Here are the webpack versions I am using to orchestrate custom dev, staging, and prod bundling for a react + tailwind thing.
"webpack-cli": "^4.7.0",
"webpack-dev-server": "^3.11.2",
"webpack-merge": "^5.7.3"

For example, I have a root config that merges a dev/staging/prod webpack config with a web pack common config.
I have no clue if this is tractable with the current documentation.
Actual Behavior
https://developers.cloudflare.com/workers/cli-wrangler/webpack -> https://developers.cloudflare.com/workers/cli-wrangler/webpack/configuration#build = 404
Section that requires update
General guidance would be helpful!
https://developers.cloudflare.com/workers/cli-wrangler/webpack/configuration#build
Additional information

Example webpack.config.js
const { merge, mergeWithCustomize } = require('webpack-merge'); const common = require('./webpack.common.js'); const productionConfig = require('./webpack.prod.js'); const stagingConfig = require('./webpack.staging.js'); const developmentConfig = require('./webpack.dev.js');
module.exports = env =>  {       if(env.development || CF_KV.ENVIRONMENT == "development"){       return merge(common, developmentConfig);     } else if(env.production || ENVIRONMENT == "production"){       return merge(common, productionConfig);     } else if (env.staging || ENVIRONMENT == "staging"){       return merge(common, stagingConfig);     } else{       throw new Error('No matching configuration was found!');     } };
CL Error on wrangelr dev

For the record, the node webpack stuff works with how I have it configured when I use npm run dev/ build/start, etcetera.

TL;DR
webpack-merge uses webpack  5 —https://github.com/survivejs/webpack-merge/blob/develop/package.json.
wrangler seems to use  "webpack": "4.33.0".
Next Steps?
Any ideas on potential workarounds?
Meanwhile, I am going to fork and roll back and work within current wrangler support versions.

We've fixed the 404 link here - @BenjiFischman can you open an issue in Wrangler for the webpack dependency issue?


[Fix #6592] Fix Readme coverage badge

Fixes: #6592
Replace the coverage badge in README.md

Before submitting the PR make sure the following are checked:

[X] Wrote good commit messages.
[X] Commit message starts with [Fix #issue-number] (if the related issue exists).
[X] Feature branch is up-to-date with master (if not - rebase it).
[X] Squashed related commits together.
[ ] Added tests.
[ ] Added an entry to the Changelog if the new code introduces user-observable changes. See changelog entry format.
[X] The PR relates to only one subject with a clear title
and description in grammatically correct, complete sentences.
[X] Run bundle exec rake default. It executes all tests and RuboCop for itself, and generates the documentation.

Thanks for working on this! I really appreciate it! 🙇


Watermark overlay before export

Very nice job on this lib !
Is there a way to add the SCWatermarkOverlayView on the preview, before exporting ? I would like the user be able to see it's composition before export.
One way would be to add the UIView above the current preview view, but is it a good way, will the result always be the same as in export ?
Thanks in advance.

I've tried to insert SCWatermarkOverlayView as a subview on SCVideoPlayerViewController. As I expected, the result was NOT the same as in the export. Indeed, the frame are not the same. For example, an overlay text with font size of 40 will appear huge on preview, and normal in export.
I've made a quick workaround with scale factor for that but there's must be a better way.
Example : If you save your videos in high quality their height will be of 1280. iPhone 5's height is 568. Scale --> 1280/568 = 2.253.
So you'll have to reduce every element on the overlay view by 2.253 if you want them to appear the same on preview and export.
Add this (for example) to SCWatermarkOverlayView and call it in SCVideoPlayerViewController :
`-(void) scaleElementsWithDivideValue:(CGFloat)divideValue {
_watermarkLabel.font = [UIFont boldSystemFontOfSize:40/divideValue];
marginOffset = marginOffset/divideValue;
[self layoutSubviews];

}`
Call it this way on SCVideoPlayerViewController in viewDidLoad :
    SCWatermarkOverlayView *overlay = [[SCWatermarkOverlayView alloc]initWithFrame:self.view.frame];     overlay.userInteractionEnabled = NO;     [overlay scaleElementsWithDivideValue:1280/self.view.frame.size.height];     [self.view insertSubview:overlay aboveSubview:self.filterSwitcherView];
If there's a better solution I'll be glad to hear about it ! :)


Set up a Dinero bookkeeping account

I've settled on using Dinero for bookkeeping. Set up an account and get familiar with its functionality.

Blocked on #1 (need to connect a bank account).


Commenting test spec due to config issue #1895

What is the purpose of this change? What does it change?

Comment out the affected test
Was the change discussed in an issue?
No, but the reason is described here in - https://github.com/openshift/odo/issues/1895#issuecomment-510114737

How to test changes?

make test-e2e-scenarios

ping @kadel

/test integration

[odo] Pushing to component nodejs of type local
[odo]  •  Waiting for component to start  ...
[odo]  ✗  Waiting for component to start [4m]
[odo]  ✗  waited 4m0s but couldn't find running pod matching selector: 'deploymentconfig=nodejs-app'

/test integration

/hold

This PR https://github.com/openshift/odo/pull/1900 resolved the tests so we might not need to uncomment them

This PR #1900 resolved the tests so we might not need to uncomment them

@girishramnani Thanks for the quick pr. Will try pr #1900 locally

Closing as #1900 will fix the regression issue. So no need to comment any test spec.


Modify to use claims as information.

Summary
Modify to use claims as information.
Purpose
config.json is still there because the information in the claim is not used.
Contents
Delete config.json
Modify to use claims as information.
Fix test
Testing Methods Performed
CI

@arukuka
I have corrected the points you raised.
I would appreciate your confirmation.


GEODE-7828: Convert backing store for Redis Hashes and Sets to single regions

GEODE-7843 fixes sporadic test failures for HSETNX

Failed test in distributedTests is unrelated to this PR


Remove postgres database check from notification writer smoketests

Description
This test fails when run within the docker compose environment as the database created for the notification writer is called "notification". Since the database existence is tested by the "Check if CCX Notification database can be reached" scenario, this one can be removed. (No need to update scenario list. The test probably got added again by a bad rebase of mine, as I did remove it in a previous PR)
Type of change

Non-breaking change in test steps implementation

Testing steps
N/A
Checklist

[ ] Pylint passes for Python sources
[ ] sources has been pre-processed by Black
[ ] updated documentation wherever necessary

why? this seems to be a perfect example of smoke test

This assumes there is an existing database named test. I don't think it has real value as a smoke test in the notification-related tests. But maybe instead of removing it I can change test to notification?

why? this seems to be a perfect example of smoke test

This assumes there is an existing database named test. I don't think it has real value as a smoke test in the notification-related tests. But maybe instead of removing it I can change test to notification?

yeah, it has to be the same DB as used in other features

why? this seems to be a perfect example of smoke test

This assumes there is an existing database named test. I don't think it has real value as a smoke test in the notification-related tests. But maybe instead of removing it I can change test to notification?

yeah, it has to be the same DB as used in other features

There is another test scenario right below the one I removed, called Check if CCX Notification Writer database can be reached, that does the same smoke test but with the notification database instead of test database. We're good with just that one, or do you mean we should test for the existence of the test database since it is used in other features?

The removed scenario and the next one are basically the same but with different database, aren't they?


How to measure speed with the library ?

How to measure speed with the library ? Thanks

Velocity is a result of distance/time. I would subtract the current distance with the previous distance and then divide that by the time between the two samples.

@edspark thank you. So, how to get the sensor timestamp ? Because the sensor does not have constant framerate.

If you're using Arduino, you can use millis() to save time at each sample.


Allow restore operation for migrated resources

How to categorize this PR?

/area control-plane-migration
/kind enhancement
What this PR does / why we need it:
This PR makes it possible to restore extension resources that have already been migrated. This is needed for #4584
Which issue(s) this PR fixes:
None
Special notes for your reviewer:
I've modified the ComputeOperationType() function so that it always returns the correct operation and we don't have to check for annotations on the resource outside of that function to determine whether the operation is restore, migrate or  reconcile
I've removed the lines of code here: https://github.com/gardener/gardener/blob/cedb8b3aadd71cbfae984bd15261b949b0f096e1/extensions/pkg/controller/controlplane/genericactuator/actuator.go#L283-L287
Since I have modified this check https://github.com/gardener/gardener/blob/cedb8b3aadd71cbfae984bd15261b949b0f096e1/extensions/pkg/controller/controlplane/genericactuator/actuator.go#L275 to also check if the current operation is NOT migrate
If those lines of code are present, the Controlplane will get stuck in an infinite reconciliation loop when we try to restore it during migration if the shoot is hibernated as the replicas of the kube-apiserver are 0 at that time and the restore operation is never considered successful by the gardenlet as the gardenr.cloud/operation=restore annotation is still present on the resource. This all means that the migration flow can not continue to the next step to scale up the kube-apiserver. However, I could not find an easy way to resolve the check whether the operation is successful or not.
I think that it's safe to remove lines 283-287 since they are only called when a hibernated shoot is being deleted, but not when a shoot is created or during a normal wake up and they simply requeue the reconciliation until the kube-apiserver gets scaled up. If the requeue is skipped, the controlplane components will anyway be scaled up, but they will be restarted a few times before the kube-apiserver comes up. The original issue - #260 seems to be fixed without those lines. @rfranzke @stoyanr perhaps you can doublecheck if my assumption is correct here.
Release note:

Extensions that have been successfully migrated can now be restored.

Most of these changes don't have any immediate impact on g/g, they only become active if a provider extension is revendored. They have also been tested as part of #4584 (initially the commit included in this PR has been part of that PR). I think it should be ok to include them in v1.31.
/milestone v1.31

@stoyanr feel free to merge this one :)

@timebertt Thanks! Just to be sure, I ran yet another migration test with this PR, it was successful.


Added import numpy statements

Hope I got them all 😬

Codecov Report

Merging #453 (99b7a4a) into master (f95fc9a) will decrease coverage by 0.90%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #453      +/-   ##
==========================================
- Coverage   73.47%   72.57%   -0.91%
==========================================
  Files         115      115
  Lines       13891    13891
==========================================
- Hits        10207    10081     -126
- Misses       3684     3810     +126


Add a switch to scope node groups to a single subnet

Is your request related to a new offering from AWS?
No
Is your request related to a problem? Please describe.
Currently node groups are created with all the subnets that are passed in via subnet_ids. This causes issues when using Cluster Autoscaler and running stateful workloads backed by EBS volumes, as the EBS volumes are AZ locked. Having node group scoped to a single subnet is also recommended by AWS when working with stateful workloads.
The module currently does check to see if each value in the eks_managed_node_groups has a subnet_id field but it's somewhat difficult to generate the correct data structure downstream of the module.
The required data structure for creating 3 node groups that only have a single subnet associated.
managed_node_groups  = {
    t3medium-a = {
        instance_types = [
            "t3.medium",
            "t3a.medium",
         ]
        labels         = {
            instance_family = "t3x.medium"
            type            = "spot"
         }
        subnet_ids     = [
            "a",
         ]
     }
    t3medium-b = {
        instance_types = [
            "t3.medium",
            "t3a.medium",
         ]
        labels         = {
            instance_family = "t3x.medium"
            type            = "spot"
         }
        subnet_ids     = [
            "b",
         ]
     }
    t3medium-c = {
        instance_types = [
            "t3.medium",
            "t3a.medium",
         ]
        labels         = {
            instance_family = "t3x.medium"
            type            = "spot"
         }
        subnet_ids     = [
            "c",
         ]
     }
 }

Describe the solution you'd like.
A variable bool to generate managed node groups per subnet passed in via subnet_ids. So for example if we pass in a single managed node group t3medium and three subnet_ids we'd end up with the three t3medium node groups above.
Currently we are achieving this downstream using the following:
  eks_managed_node_groups = merge([
    for subnet_id in local.subnet_ids : {
      for node_group_name, node_group_config in var.eks_managed_node_groups :
      format("%s-%s", node_group_name, subnet_id) => {
        instance_types = node_group_config.instance_types
        labels         = node_group_config.labels
        subnet_ids     = [subnet_id]
      }
    }
  ]...)

Describe alternatives you've considered.
Documenting the solution to combine the subnet_ids and the eks_managed_node_groups so people can use that approach if they wish to do this.
Additional context

unfortunately I don't think this is feasible from the module's perspective. there are two options users can take:

The long form like you've shown above where subnet_ids is a list containing one subnet ID
Users can attempt to construct their own map comprehension to achieve this thought I suspect you could face issues with https://github.com/hashicorp/terraform/issues/4149

also - I would look into https://karpenter.sh/ instead of cluster autoscaler since it handles this scenario (still early days for that project though)

@bryantbiggs Could you expand on why you don't think this is feasible from the module perspective? We're currently creating the necessary inputs upstream so I don't understand why this couldn't be handled by the module. Although if it's not desirable for the module to add the additional logic I can understand that.
I'll definitely have a look at Karpenter though thanks for the suggestion!

yes, the module is designed to afford users the opportunity to do this looping/comprehension to build their desired node groups, but that is because the module was designed to create "one of" not a defined set at a time. trying to take in a list and build out the desired node groups would severely impact the flexibility that is currently provided to users. therefore, its just not something that we can consider at this time

Ok, thanks for taking the time to explain.


⚠ Bofrost.fr has degraded performance

In f80ea50, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1123 ms

Resolved: Bofrost.fr performance has improved in 5867080 after 6 minutes.


[FLINK-8515] update RocksDBMapState to replace deprecated remove() with delete()

What is the purpose of the change
RocksDBMapState is currently using rocksdb#remove() which is deprecated. Should be replaced with rocksdb#delete()
Brief change log
update RocksDBMapState to replace deprecated remove() with delete()
Verifying this change
This change is already covered by existing tests, such as StateBackendTestBase#testMapState()
Does this pull request potentially affect one of the following parts:
none
Documentation
none

This change has already gotten in via another commit.
@bowenli86 can you close this PR?
Thank you for the contribution!


Upgrade Spring Dependences & HAL Browser

References

Fixes CVE-2021-22060 (https://github.com/DSpace/DSpace/security/dependabot/8)
Fixes CVE-2022-22965

Description

Upgrade us to the latest version of Spring dependencies. This requires some minor code refactors to align with latest Spring code. This PR updates us to these versions:

Spring 5.3.16
Spring Boot 2.6.4
Spring Security 5.6.2

Migrate to installing HAL Browser via WebJARs (as it's no longer included in Spring Data REST)

Updated Hal Browser to use Bootstrap 4, based heavily on https://github.com/mikekelly/hal-browser/pull/102.  This required code HTML & CSS changes to the HAL Browser
Updated HAL Browser dependencies / vendor libraries, by switching them to use latest version available via WebJar.
NOTE: These HAL Browser updates were minor, but should allow us to remain on HAL Browser until HAL Explorer becomes more widely used, see #3017

Also upgraded to latest version of Solr (version 8.9.0) which doesn't cause SWORDv2 to break (see #8188)

NOTE: This PR has a few IT cleanup commits which overlap with PR #8195, as these changes were necessary in both these PRs to get all tests to pass. After one PR is merged though, I'll rebase the other.
Instructions for Reviewers

Review/scan code changes
More importantly, install this PR & try out the HAL Browser at http://localhost:8080/server/

Make sure all normal actions work properly. Browse around, try login & logout, etc.
You may notices some minor differences in style/CSS after the upgrade to Bootstrap 4, but all buttons, etc should work fine.

NOTE FOR REVIEWERS: This PR passes all required tests despite the red (❌ ).  It seems to be failing a Snyk check simply because it cannot access the Snyk account anymore. Unfortunately, I don't see any way to remove that Snyk check from this PR other than by recreating the PR entirely.  I have however removed this Snyk check from future PRs, as it seems like something changed in Snyk recently that causes it to be less stable for PR checks.

@benbosman and @abollini : I've assigned this to review to both of you as I think it's important to get several people to test the changes (especially from the HAL Browser).  Please feel free to delegate it to someone else on your team.
Also note that you should ignore the red ❌ on this PR.  The failing check is an old Snyk check (which has been removed/replaced for future PRs, as it was failing cause of connection issues to Synk). For some reason, I cannot seem to disable or remove that check from this PR.  So, it should just be ignored.

NOTE: I just rebased this on latest main and updated to the latest versions of Spring & Spring Boot (to avoid the newly announced CVE-2022-22965).

Hi @tdonohue, I have seen your changes and they seem ok to me. The only thing I have doubts about is introducing a lot of @Lazy annotations on various classes or attributes to autowired. It is not clear to me why the problem is not already there. However to me this indicates that there is a questionable class design to be reviewed (such as the circular dependency between ConverterService and the Utils class using one of the other's methods without a clear criterion). Rather than using lazy annotation I would try to review the accountability of each class and try to remove the circular dependencies. Introducing too many Lazy can lead to configuration problems emerging too late, with the application already running, rather than at startup.


Changing a property to use getters/setters alters behavior of Object.keys because property set on protoype and not instance

TypeScript Version:  2.2.1 / nightly (2.2.0-dev.201xxxxx)
When I transition from a using a basic property to one using getters/setters code behavior changes. This is because property show up in Object.keys while properties with getters/setters are set on the prototype and therefore don't show up using Object.keys. Using getters and setters should probably encapsulate a property instead of changing its behavior. Note that this setting of properties on the prototype will mess up the stuff in https://github.com/tc39/proposal-class-public-fields/blob/24232cb/README.md#instance-field-declaration-process
Code
class Greeter {
    //greeting: string;
    _greeting: string;
    constructor(message: string) {
        this.greeting = message;
    }
    greet() {
        return "Hello, " + this.greeting;
    }

    get greeting(): string {
        return this._greeting;
    }

    set greeting(g: string) {
        this._greeting = g;
    }
}

let greeter = new Greeter("world");

alert(Object.keys(greeter))

Expected behavior:
Alert includes greeting because using getters and setters shouldn't change external behavior
Actual behavior:
Alert doesn't include greeting (just _greeting) because property is defined on prototype which is not iterated by Object.keys

This is the ES6 behavior.


Integrated dark/light mode icon with fully working functionality

I have added a dark/light mode toggle icon for easy switching between themes. It’s fully functional, offering smooth transitions and remembering your preference across pages. The icon changes (e.g., sun/moon) based on the active mode, enhancing user experience with real-time feedback.

@PorePranav I have made the changes what you have said so , please merge it

@kumartushar0605 I have merged your PR, thank you for your contributions!

Hi @PorePranav, I hope you're doing well! I was wondering if I should be sourcing the environment variables myself, or if they are provided for the project? Thanks in advance!

Follow up question, do you have styling guide for the dark mode?

Hi @PorePranav, I hope you're doing well! I was wondering if I should be sourcing the environment variables myself, or if they are provided for the project? Thanks in advance!

Thanks for reaching out! For the project, you’ll need to implement your own environment variables. Since you're focusing on the dark mode implementation, the only environment variables you’ll need to set up for the backend are the database URL and the JWT-related variables.
For your reference, you can find examples of the environment configuration in the repository under .env.example. This should give you a clear idea of what’s required.
As for your question about a styling guide for dark mode, there isn't a specific guide. However, I recommend using colors that are related to the ones already defined in the Tailwind config as a reference. Feel free to unleash your creativity and have fun with it!
If you have any further questions or need assistance, don’t hesitate to ask!
Thank you!

Also, let's continue the conversion on issue #6 rather than here on the PR

Hi @PorePranav, I hope you're doing well! I was wondering if I should be sourcing the environment variables myself, or if they are provided for the project? Thanks in advance!

Thanks for reaching out! For the project, you’ll need to implement your own environment variables. Since you're focusing on the dark mode implementation, the only environment variables you’ll need to set up for the backend are the database URL and the JWT-related variables.
For your reference, you can find examples of the environment configuration in the repository under .env.example. This should give you a clear idea of what’s required.
As for your question about a styling guide for dark mode, there isn't a specific guide. However, I recommend using colors that are related to the ones already defined in the Tailwind config as a reference. Feel free to unleash your creativity and have fun with it!
If you have any further questions or need assistance, don’t hesitate to ask!
Thank you!

Hi @PorePranav,
Thank you so much for your detailed response! Got it, I'll go ahead and implement the environment variables accordingly. I appreciate the heads-up regarding the dark mode design as well. I’ll try to experiment with the colors based on the Tailwind config, though design isn't really my strong suit. I’ll see what I can come up with!
Thanks again for your guidance! If I have any other questions, I’ll be sure to reach out.

Also, let's continue the conversion on issue #6 rather than here on the PR

Alright, thank you 🙏


Istioctl or the operator warns of installing different istio version than the operators itself

(This is used to request new product features, please visit https://discuss.istio.io for questions on using Istio)
Describe the feature request
In the operator CR there is a field to specify which version of istio to install.
There can be a situation where a istioctl o the istio-operator with a version 1.5.x tries to apply an IstioOperaotr manifest with a version 1.6.x making istiod deployment not matching due to differences in versions
istioctl or the operator populates the istio manifest based on its own version (1.5.x) but setting the image contianers at the version specified in the IstioOperator manifest (1.6.x)
It would be very helpful that this is stated at installation time. Or even blocked, since it makes no sense to use an installer (istioctl/operator) with a different version than the object to install (istio components)
Describe alternatives you've considered
Affected product area (please put an X in all that apply)
[ ] Configuration Infrastructure
[ ] Docs
[ X ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
Affected features (please put an X in all that apply)
[ X ] Multi Cluster
[ ] Virtual Machine
[ X ] Multi Control Plane
Additional context

Duplicate of https://github.com/istio/istio/issues/18487.


unable to upload jar to GCP Artifact Registry due to IOException

I ran into error when I tried to upload package to GCP Artifact Registry. As I mention later, however, manually uploading jar  works. So, I guess UrlConnection and/or UrlHandler are/is the culprit.
Perhaps, we need connection.setFixedLengthStreamingMode(size) to send a larger file.
environment and full stacktrace

Java 11, 17
Scala 2.12
OSX

[error] java.io.IOException: Error writing request body to server
[error]         at java.base/sun.net.www.protocol.http.HttpURLConnection$StreamingOutputStream.checkError(HttpURLConnection.java:3820)
[error]         at java.base/sun.net.www.protocol.http.HttpURLConnection$StreamingOutputStream.write(HttpURLConnection.java:3802)
[error]         at java.base/java.io.InputStream.transferTo(InputStream.java:783)
[error]         at java.base/java.nio.file.Files.copy(Files.java:3213)
[error]         at org.latestbit.sbt.gcs.artifactregistry.GcsArtifactRegistryIvyUrlHandler$$anon$1.writeTo(GcsArtifactRegistryIvyUrlHandler.scala:93)
[error]         at com.google.api.client.http.javanet.NetHttpRequest$DefaultOutputWriter.write(NetHttpRequest.java:76)
[error]         at com.google.api.client.http.javanet.NetHttpRequest.writeContentToOutputStream(NetHttpRequest.java:174)
[error]         at com.google.api.client.http.javanet.NetHttpRequest.execute(NetHttpRequest.java:117)
[error]         at com.google.api.client.http.javanet.NetHttpRequest.execute(NetHttpRequest.java:84)
[error]         at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:1012)
[error]         at org.latestbit.sbt.gcs.artifactregistry.GcsArtifactRegistryIvyUrlHandler.upload(GcsArtifactRegistryIvyUrlHandler.scala:98)
[error]         at org.apache.ivy.util.url.URLHandlerDispatcher.upload(URLHandlerDispatcher.java:82)
[error]         at org.apache.ivy.util.FileUtil.copy(FileUtil.java:150)
[error]         at org.apache.ivy.plugins.repository.url.URLRepository.put(URLRepository.java:84)
[error]         at sbt.internal.librarymanagement.ConvertResolver$LocalIfFileRepo.put(ConvertResolver.scala:368)
[error]         at org.apache.ivy.plugins.repository.AbstractRepository.put(AbstractRepository.java:130)
[error]         at sbt.internal.librarymanagement.ConvertResolver$ChecksumFriendlyURLResolver.put(ConvertResolver.scala:118)
[error]         at sbt.internal.librarymanagement.ConvertResolver$ChecksumFriendlyURLResolver.put$(ConvertResolver.scala:105)
[error]         at sbt.internal.librarymanagement.ConvertResolver$$anonfun$defaultConvert$lzycompute$1$PluginCapableResolver$1.put(ConvertResolver.scala:165)
[error]         at org.apache.ivy.plugins.resolver.RepositoryResolver.publish(RepositoryResolver.java:216)
[error]         at sbt.internal.librarymanagement.IvyActions$.$anonfun$publish$5(IvyActions.scala:504)
[error]         at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
[error]         at scala.util.Try$.apply(Try.scala:213)
[error]         at sbt.internal.librarymanagement.IvyUtil$.retryWithBackoff(IvyUtil.scala:22)
[error]         at sbt.internal.librarymanagement.IvyActions$.$anonfun$publish$4(IvyActions.scala:503)
[error]         at sbt.internal.librarymanagement.IvyActions$.$anonfun$publish$4$adapted(IvyActions.scala:501)
[error]         at scala.collection.Iterator.foreach(Iterator.scala:943)
[error]         at scala.collection.Iterator.foreach$(Iterator.scala:943)
[error]         at scala.collection.AbstractIterator.foreach(Iterator.scala:1431)
[error]         at scala.collection.IterableLike.foreach(IterableLike.scala:74)
[error]         at scala.collection.IterableLike.foreach$(IterableLike.scala:73)
[error]         at scala.collection.AbstractIterable.foreach(Iterable.scala:56)
[error]         at sbt.internal.librarymanagement.IvyActions$.publish(IvyActions.scala:501)
[error]         at sbt.internal.librarymanagement.IvyActions$.$anonfun$publish$3(IvyActions.scala:143)
[error]         at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
[error]         at sbt.internal.librarymanagement.IvyActions$.withChecksums(IvyActions.scala:157)
[error]         at sbt.internal.librarymanagement.IvyActions$.withChecksums(IvyActions.scala:150)
[error]         at sbt.internal.librarymanagement.IvyActions$.$anonfun$publish$1(IvyActions.scala:143)
[error]         at sbt.internal.librarymanagement.IvyActions$.$anonfun$publish$1$adapted(IvyActions.scala:133)
[error]         at sbt.internal.librarymanagement.IvySbt$Module.$anonfun$withModule$1(Ivy.scala:245)
[error]         at sbt.internal.librarymanagement.IvySbt.$anonfun$withIvy$1(Ivy.scala:209)
[error]         at sbt.internal.librarymanagement.IvySbt.sbt$internal$librarymanagement$IvySbt$$action$1(Ivy.scala:72)
[error]         at sbt.internal.librarymanagement.IvySbt$$anon$1.call(Ivy.scala:82)
[error]         at xsbt.boot.Locks$GlobalLock.withChannel$1(Locks.scala:113)
[error]         at xsbt.boot.Locks$GlobalLock.withChannelRetries$1(Locks.scala:91)
[error]         at xsbt.boot.Locks$GlobalLock.$anonfun$withFileLock$1(Locks.scala:119)
[error]         at xsbt.boot.Using$.withResource(Using.scala:12)
[error]         at xsbt.boot.Using$.apply(Using.scala:9)
[error]         at xsbt.boot.Locks$GlobalLock.withFileLock(Locks.scala:119)
[error]         at xsbt.boot.Locks$GlobalLock.ignoringDeadlockAvoided(Locks.scala:71)
[error]         at xsbt.boot.Locks$GlobalLock.withLock(Locks.scala:59)
[error]         at xsbt.boot.Locks$.apply0(Locks.scala:47)
[error]         at xsbt.boot.Locks$.apply(Locks.scala:36)
[error]         at sbt.internal.librarymanagement.IvySbt.withDefaultLogger(Ivy.scala:82)
[error]         at sbt.internal.librarymanagement.IvySbt.withIvy(Ivy.scala:203)
[error]         at sbt.internal.librarymanagement.IvySbt.withIvy(Ivy.scala:200)
[error]         at sbt.internal.librarymanagement.IvySbt$Module.withModule(Ivy.scala:244)
[error]         at sbt.internal.librarymanagement.IvyActions$.publish(IvyActions.scala:133)
[error]         at sbt.Classpaths$.$anonfun$publishTask$4(Defaults.scala:3553)
[error]         at sbt.Classpaths$.$anonfun$publishTask$4$adapted(Defaults.scala:3546)
[error]         at scala.Function1.$anonfun$compose$1(Function1.scala:49)
[error]         at sbt.internal.util.$tilde$greater.$anonfun$$u2219$1(TypeFunctions.scala:62)
[error]         at sbt.std.Transform$$anon$4.work(Transform.scala:68)
[error]         at sbt.Execute.$anonfun$submit$2(Execute.scala:282)
[error]         at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:23)
[error]         at sbt.Execute.work(Execute.scala:291)
[error]         at sbt.Execute.$anonfun$submit$1(Execute.scala:282)
[error]         at sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:265)
[error]         at sbt.CompletionService$$anon$2.call(CompletionService.scala:64)
[error]         at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
[error]         at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
[error]         at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
[error]         at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
[error]         at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
[error]         at java.base/java.lang.Thread.run(Thread.java:833)

NOTE: To my surprise, uploading jar by hand works
Strangely, I can manually upload jar to ArtifactRegistry by the following code.
//> using lib "com.lihaoyi::requests:0.8.0"
def run =
    val cred = "Bearer ******************"
    val v = "0.0.0-SNAPSHOT"
    val region = "asia-northeast1"
    val project: String = ???
    val reponame: String = ???
    val baseurl = s"https://$region-maven.pkg.dev/$project//$reponame/com/example/packagename_2.12/$v/packagename_2.12-$v."
    val localfilename =  s"/path/to/packagename/target/scala-2.12/packagename_2.12-$v."
    val h = Map("Authorization"->cred)
    val jarurl = baseurl + "jar"
    val jarsrc = new java.io.File(localfilename + "jar")
    val (url,file) = req
    // uploading without multipart also works
    val res = requests.put(
        jarurl,
        data = requests.MultiPart(
        requests.MultiItem("file", jarsrc, jarsrc.getName())
        ),
        headers = h,
    )
    println(res)

I suspected we should use multipart request instead of HttpContent in GcsArtifactRegistryIvyUrlHandler  to transfer a large file, but I was wrong.
It turned out that uploading without multipart also works.
 val res = requests.put(
    jarurl,
    data = jarsrc,
    headers = h,
)

There is another strange behavior, which may or may not be relevant to this error.
The size of my jar before upload is 575928, but it increases to 576106 after multipart upload and download while the size of my pom does not change after downloading uploaded one.
val (url,_) = req
val res = requests.get(
    url,
    headers = h,
    autoDecompress=false
)
println(res.contents.size)

I suspect openConnection for ArtifactRegistry is handled by default URLStreamHandler instead of GcsArtifactRegistryUrlHandler as URLStreamHandler doc says

abstract class URLStreamHandler: URLStreamHandler
The abstract class URLStreamHandler is the common superclass for all stream protocol handlers. A stream protocol  handler knows how to make a connection for a particular protocol type, such as http or https.

In most cases, an instance of a URLStreamHandler subclass is not created directly by an application. Rather, the first time a protocol name is encountered when constructing a URL, the appropriate stream protocol handler is automatically loaded.

Hm, this is interesting. So I assume this happens only for relatively big files? Let me test it in my env first.

Ah, you didn't just change the order, but also the URL still pointing to previous scheme. 🤔

I suspect openConnection for ArtifactRegistry is handled by default URLStreamHandler instead of GcsArtifactRegistryUrlHandler

This was actually even designed like that: GcsArtifactRegistryIvyUrlHandler didn't have to use GcsArtifactRegistryUrlConnection anymore since it also uses googleHttpRequestFactory and common HTTPS is enough.

Please clarify a bit more your case:

Does it happen all the time (100% reproducible?)
Does it happen regardless of the file sizes?

Does it happen all the time (100% reproducible?)

"java.io.IOException: Error writing request body to server" always happen when I run publish command.

Does it happen regardless of the file sizes?

I'm not sure it depends on file sizes. Sorry.
At first, I suspected that changing HttpConnection settings like setFixedLengthStreamingMode  would solve the issue, but in vain.

![image](https://user-images.githubusercontent.com/1316837/231512253-ffd7983c-efb3-4e59-bd8f-35fe1187b20d.png)

[info] Publishing artifact to 'artifactregistry://europe-north1-maven.pkg.dev/latestbit/latestbit-artifacts-snapshots/org/latestbit/sbt-gcs-plugin-playground-artifact-publish_2.12/0.0.12-SNAPSHOT/sbt-gcs-plugin-playground-artifact-publish_2.12-0.0.12-SNAPSHOT.pom'...
[info] Publishing artifact to 'artifactregistry://europe-north1-maven.pkg.dev/latestbit/latestbit-artifacts-snapshots/org/latestbit/sbt-gcs-plugin-playground-artifact-publish_2.12/0.0.12-SNAPSHOT/sbt-gcs-plugin-playground-artifact-publish_2.12-0.0.12-SNAPSHOT.pom.sha1'...
[info] Publishing artifact to 'artifactregistry://europe-north1-maven.pkg.dev/latestbit/latestbit-artifacts-snapshots/org/latestbit/sbt-gcs-plugin-playground-artifact-publish_2.12/0.0.12-SNAPSHOT/sbt-gcs-plugin-playground-artifact-publish_2.12-0.0.12-SNAPSHOT.pom.md5'...
[info] 	published sbt-gcs-plugin-playground-artifact-publish_2.12 to artifactregistry://europe-north1-maven.pkg.dev/latestbit/latestbit-artifacts-snapshots/org/latestbit/sbt-gcs-plugin-playground-artifact-publish_2.12/0.0.12-SNAPSHOT/sbt-gcs-plugin-playground-artifact-publish_2.12-0.0.12-SNAPSHOT.pom
[info] Publishing artifact to 'artifactregistry://europe-north1-maven.pkg.dev/latestbit/latestbit-artifacts-snapshots/org/latestbit/sbt-gcs-plugin-playground-artifact-publish_2.12/0.0.12-SNAPSHOT/sbt-gcs-plugin-playground-artifact-publish_2.12-0.0.12-SNAPSHOT.jar'...
[info] Publishing artifact to 'artifactregistry://europe-north1-maven.pkg.dev/latestbit/latestbit-artifacts-snapshots/org/latestbit/sbt-gcs-plugin-playground-artifact-publish_2.12/0.0.12-SNAPSHOT/sbt-gcs-plugin-playground-artifact-publish_2.12-0.0.12-SNAPSHOT.jar.sha1'...
[info] Publishing artifact to 'artifactregistry://europe-north1-maven.pkg.dev/latestbit/latestbit-artifacts-snapshots/org/latestbit/sbt-gcs-plugin-playground-artifact-publish_2.12/0.0.12-SNAPSHOT/sbt-gcs-plugin-playground-artifact-publish_2.12-0.0.12-SNAPSHOT.jar.md5'...
[info] 	published sbt-gcs-plugin-playground-artifact-publish_2.12 to artifactregistry://europe-north1-maven.pkg.dev/latestbit/latestbit-artifacts-snapshots/org/latestbit/sbt-gcs-plugin-playground-artifact-publish_2.12/0.0.12-SNAPSHOT/sbt-gcs-plugin-playground-artifact-publish_2.12-0.0.12-SNAPSHOT.jar
[info] Publishing artifact to 'artifactregistry://europe-north1-maven.pkg.dev/latestbit/latestbit-artifacts-snapshots/org/latestbit/sbt-gcs-plugin-playground-artifact-publish_2.12/0.0.12-SNAPSHOT/sbt-gcs-plugin-playground-artifact-publish_2.12-0.0.12-SNAPSHOT-sources.jar'...
[info] Publishing artifact to 'artifactregistry://europe-north1-maven.pkg.dev/latestbit/latestbit-artifacts-snapshots/org/latestbit/sbt-gcs-plugin-playground-artifact-publish_2.12/0.0.12-SNAPSHOT/sbt-gcs-plugin-playground-artifact-publish_2.12-0.0.12-SNAPSHOT-sources.jar.sha1'...
[info] Publishing artifact to 'artifactregistry://europe-north1-maven.pkg.dev/latestbit/latestbit-artifacts-snapshots/org/latestbit/sbt-gcs-plugin-playground-artifact-publish_2.12/0.0.12-SNAPSHOT/sbt-gcs-plugin-playground-artifact-publish_2.12-0.0.12-SNAPSHOT-sources.jar.md5'...
[info] 	published sbt-gcs-plugin-playground-artifact-publish_2.12 to artifactregistry://europe-north1-maven.pkg.dev/latestbit/latestbit-artifacts-snapshots/org/latestbit/sbt-gcs-plugin-playground-artifact-publish_2.12/0.0.12-SNAPSHOT/sbt-gcs-plugin-playground-artifact-publish_2.12-0.0.12-SNAPSHOT-sources.jar
[info] Publishing artifact to 'artifactregistry://europe-north1-maven.pkg.dev/latestbit/latestbit-artifacts-snapshots/org/latestbit/sbt-gcs-plugin-playground-artifact-publish_2.12/0.0.12-SNAPSHOT/sbt-gcs-plugin-playground-artifact-publish_2.12-0.0.12-SNAPSHOT-javadoc.jar'...
[info] Publishing artifact to 'artifactregistry://europe-north1-maven.pkg.dev/latestbit/latestbit-artifacts-snapshots/org/latestbit/sbt-gcs-plugin-playground-artifact-publish_2.12/0.0.12-SNAPSHOT/sbt-gcs-plugin-playground-artifact-publish_2.12-0.0.12-SNAPSHOT-javadoc.jar.sha1'...
[info] Publishing artifact to 'artifactregistry://europe-north1-maven.pkg.dev/latestbit/latestbit-artifacts-snapshots/org/latestbit/sbt-gcs-plugin-playground-artifact-publish_2.12/0.0.12-SNAPSHOT/sbt-gcs-plugin-playground-artifact-publish_2.12-0.0.12-SNAPSHOT-javadoc.jar.md5'...
[info] 	published sbt-gcs-plugin-playground-artifact-publish_2.12 to artifactregistry://europe-north1-maven.pkg.dev/latestbit/latestbit-artifacts-snapshots/org/latestbit/sbt-gcs-plugin-playground-artifact-publish_2.12/0.0.12-SNAPSHOT/sbt-gcs-plugin-playground-artifact-publish_2.12-0.0.12-SNAPSHOT-javadoc.jar
[success] Total time: 28 s, completed 12 Apr 2023, 17:47:15

I just tested publishing 100Mb jar file for my test registry and it worked.
Can you reproduce this issue with:

clone repository in the some temp dir
run sbt in that dir
then use project sbtGcsArtifactRepositoryPlaygroundToResolve
then publish

My environment:
java -version
openjdk version "11.0.18" 2023-01-17 LTS
OpenJDK Runtime Environment Corretto-<IP_ADDRESS>.1 (build 11.0.18+10-LTS)
OpenJDK 64-Bit Server VM Corretto-<IP_ADDRESS>.1 (build 11.0.18+10-LTS, mixed mode)

sbt version in this project: 	1.8.2
sbt script version: 1.8.2

Also, I have multiple pipelines using this plugin, and they never failed. We have some differences that we need to find.

Also, I have multiple pipelines using this plugin, and they never failed. We have some differences that we need to find.

On reading this, I looked again and I found I made a silly mistake 😰
So sorry, I found my artifact registry path was wrong, which resulted in "Error writing request body to server" 😅
This solves my issue.
-  "My Maven Artifact Registry" at "artifactregistry://asia-northeast1-maven.pkg.dev/<project>//<registry>"
+  "My Maven Artifact Registry" at "artifactregistry://asia-northeast1-maven.pkg.dev/<project>/<registry>"

Thanks for taking your time to identify error causes.

On reading this, I looked again and I found I made a silly mistake cold_sweat

Great you found the problem. Probably I need to think about error handling to make it obvious when it fails with cryptic errors like this.

Yeah, and I don't think GcsArtifactRegistryUrlConnection needs concrete implementation.
https://github.com/abdolence/sbt-gcs-resolver/pull/44


feat: add default value for template parameters

Description

Now you as template author could define a default value for template properties. If user pass parameter value in start command, for sure, it will be used as value of parameter.
Tested with https://github.com/asyncapi/java-spring-template/pull/37

Related issue(s)
Resolves #339

@Tenischev I've just added one last comment to docs, the rest looks awesome. I also played with it locally and lgtm
do you plan to extend this PR https://github.com/asyncapi/java-spring-template/pull/37 to use https://github.com/asyncapi/generator-hooks/blob/master/src/index.js ? as not it should be possible

Also updated https://github.com/asyncapi/java-spring-template/pull/37

Agree. This feature is really cool 👏


Incorrect behavior of the AppBar component on a custom theme

When trying to create a custom theme using createTheme, and connecting the AppBar component as a nested component below the DOM,
the AppBar component is crushed. A similar problem does not reproduce when using createMuiTheme

[x] The issue is present in the latest release.
[x] I have searched the issues of this repository and believe that this is not a duplicate.

Current Behavior 😯
I am trying to add a new palette using createTheme:
import {createTheme} from '@mui/system';

export const themeOptions = createTheme({
  palette: {
    type: 'light',
    primary: {
      main: '#022B3A',
    },
    secondary: {
      main: '#f50057',
    },
  },
});

export default themeOptions;

and trying to use AppBar passing it in context ThemeProvider
import themeOptions from '../theme';

const App = () => {
  const content = useRoutes(routes);
  return (
    <ThemeProvider theme={themeOptions}>
      <GlobalStyles/>
      {content}
    </ThemeProvider>
  );
};

import {Toolbar, Typography} from '@mui/material';
import AppBar from '@mui/material/AppBar';
import React from 'react';

const TopMenu = () => {
  return (
    <AppBar color="primary">
      <Toolbar>
        <Typography variant="h6" component="div" sx={{flexGrow: 1}}>
            News
        </Typography>
      </Toolbar>
    </AppBar>
  );
};
export default TopMenu;

AppBar component breaks like in the screenshots below:
log error
AppBar log
fullcode on github https://github.com/netaspid/aspid_blog_react
Expected Behavior 🤔
The component must not break. it's ok, if there will be incorrect behavior or display, but the fact that styling breaks the component is wrong
Steps to Reproduce 🕹
Steps:

Install mui, declare a new theme via createTheme
Make a new component inside ThemeProvider with custom theme
Try to add AppBar like on the code examples above

Your Environment 🌎

`npx @mui/envinfo

  System:
    OS: Linux 5.4 Ubuntu 20.04.2 LTS (Focal Fossa)
    CPU: (8) x64 Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz
    Memory: 14.76 GB / 18.63 GB
    Container: Yes
    Shell: 5.8 - /bin/zsh
  Binaries:
    Node: 10.24.1 - ~/.nvm/versions/node/v10.24.1/bin/node
    npm: 6.14.12 - ~/.nvm/versions/node/v10.24.1/bin/npm
  Managers:
    Apt: 2.0.4 - /usr/bin/apt
  Utilities:
    Make: 4.2.1 - /usr/bin/make
    GCC: 9.3.0 - /usr/bin/gcc
    Git: 2.25.1 - /usr/bin/git
  Virtualization:
    Docker: 20.10.8 - /usr/bin/docker
  IDEs:
    Nano: 4.8 - /usr/bin/nano
    VSCode: 1.61.0 - /home/netaspid/.vscode-server/bin/ee8c7def80afc00dd6e593ef12f37756d8f504ea/bin/code
    Vim: 8.1 - /usr/bin/vim
  Languages:
    Bash: 5.0.17 - /usr/bin/bash
    Perl: 5.30.0 - /usr/bin/perl
    Python: 2.7.18 - /usr/bin/python
    Python3: 3.8.5 - /usr/bin/python3`
Browser Google Chrome 94.0.4606.71

@netaspid you should import { createTheme } from '@mui/material/styles';. May I ask how do you end up with @mui/system?

Yes indeed When I try importing from styles, nothing breaks and everything works well. I probably didn't see the correct import line in the documentation. I'm sorry!

Is it because of the auto-import in your IDE?


configure ziti router policies

zrok creates a router policy for each identity that matches #all routers. This is a fine default, but in many Ziti networks, not all routers' edge listeners are reachable by all identities.
The most common example is that there are two types of routers: public and not-public. It would be helpful to be able to configure zrok to create router policies that match routers with a custom attribute like #public-routers. The attribute itself isn't predictable, so it needs to be configurable.
This could take the form of a single new controller property in the ziti section like router_attribute.

Will be addressed by a larger initiative around policies and configuration (#310).


suggestion

Dynamic item swapping. Perhaps you could add a way for bots to switch their items during cooldown, like the magic sticks, swapping for another item. This could also work with the refresher, etc.

Thanks lazarinos. Bots do swap some items. but yea a better swapping strategy would be good. Tho i don't think switch item during cooldown is a directly good strategy because items like refresher we almost always dont want to swap just because its in cd. this is because if you swap, the cd time gets doubled, and you dont get the regens the refresher provides. There are good aspect about swap for sure, if you can provide more specific suggestion I would be more appreciated.


Sponsor page: Change text colour of bulleted list to black

Current text colour for bulleted list is navy-purple, may mislead users into thinking that it is clickable text.

Pls change text to #black (17,17,17)


Missing write option variable_names/1

README.md misses the write option variable_names/1 (since Cor.3).

@UWN Thank you very much for pointing out! I implemented variable_names/1 as a write option and released v0.9.1.
You can check it via 1pl, the top level command for testing.
$ go install github.com/ichiban/prolog/cmd/1pl@latest
go: downloading github.com/ichiban/prolog v0.9.1
$ $(go env GOPATH)/bin/1pl
Top level for ichiban/prolog v0.9.1
This is for testing purposes only!
See https://github.com/ichiban/prolog for more details.
Type Ctrl-C or 'halt.' to exit.
?- write_term('F'(X, Y), [quoted(true), variable_names(['Foo'=X, 'Bar'=X, 'Baz'=Y])]), nl.
'F'(Foo, Baz)
X = _1009,
Y = _1023.

Please note that there are many specific errors in specific situations. See the error classes for an overview. I just started with query #1.
?- write_term(T,[quoted(true),
|-  variable_names([N=T])]).
2022/04/08 21:22:17 error(domain_error(write_option, variable_names(_1033)), 'Invalid value for write_option.') % unexpected

Expected: instantiation_error.
As for the second argument of error/2 you can certainly put there what you believe is best. But many just indicate the predicate as such. "Invalid value" is pretty ambiguous in Prolog terminology. In particular, because a variable is not really considered to be a value.

Reopened, because #1 is still not solved.

Reopened, because #1 is still not solved.

@UWN Thank you very much for pointing this out! I fixed write_term/3 so that it raises respective exceptions for invalid variable_names. Also, the second argument of error/2 is now the predicate indicator.
$ git checkout main
Already on 'main'
Your branch is up to date with 'origin/main'.
$ go install github.com/ichiban/prolog/cmd/1pl
$ $(go env GOPATH)/bin/1pl
Top level for ichiban/prolog (devel)
This is for testing purposes only!
See https://github.com/ichiban/prolog for more details.
Type Ctrl-C or 'halt.' to exit.
?- write_term(T,[quoted(true),
|-  variable_names([N=T])]).
2022/06/17 09:56:10 error(instantiation_error, write_term/3)
?-

Very good. Now there is #11 and 12.
The test cases are also available as Questions Using Answer Descriptions (quad).
(And, as far as I understand, your length/2 updates are not present in the main branch, right?)

Note that case 11 is highlighted as a "regular use" case. So it is very likely that this case occurs also in error free programs.

length/2 is not yet in the main branch since it conflicts with the recent parser/lexer overhaul. I'll merge it into the main branch next.

@UWN I went through all the cases in http://www.complang.tuwien.ac.at/ulrich/iso-prolog/variable_names. The latest release passes them.
$ go install github.com/ichiban/prolog/cmd/1pl@latest
go: downloading github.com/ichiban/prolog v0.10.0
$ $(go env GOPATH)/bin/1pl
Top level for ichiban/prolog v0.10.0
This is for testing purposes only!
See https://github.com/ichiban/prolog for more details.
Type Ctrl-C or 'halt.' to exit.
?- T = a, N = 'Any', /**/write_term(T,[quoted(true),variable_names([N=T])]).
aT = a,
N = 'Any'.
?- T = '$VAR'(9), N = '_', /**/write_term(T,[quoted(true),variable_names([N=T])]
).
'$VAR'(9)T = '$VAR'(9),
N = '_'.

#13 is incorrect. The variable name has to start with an underscore. The remaining letters are implementation dependent. But you cannot just write out a variable name without that underscore.
?- write_term(T,[quoted(true),variable_names(['X'=X,'Y'=Y,'Z'=Z])]).
TT = T,
X = _2121,
Y = _2135,
Z = _2149.
?- write_term(T,[quoted(true),variable_names(['X'=X,'Y'=Y,'Z'=Z])]), false.
Tfalse.
?- write_term(Txc,[quoted(true),variable_names(['X'=X,'Y'=Y,'Z'=Z])]), false.
Txcfalse.

As of newly released v0.10.3, write_term/3 binds non-anonymous variables with fresh anonymous variables.
$ go install github.com/ichiban/prolog/cmd/1pl@latest
go: downloading github.com/ichiban/prolog v0.10.3
$ $(go env GOPATH)/bin/1pl
Top level for ichiban/prolog v0.10.3
This is for testing purposes only!
See https://github.com/ichiban/prolog for more details.
Type Ctrl-C or 'halt.' to exit.
?- write_term(T,[quoted(true),variable_names(['X'=X,'Y'=Y,'Z'=Z])]).
_1159T = _1162,
X = _1100,
Y = _1114,
Z = _1128;
?- write_term(T,[quoted(true),variable_names(['X'=X,'Y'=Y,'Z'=Z])]), false.
_1261false.
?- write_term(Txc,[quoted(true),variable_names(['X'=X,'Y'=Y,'Z'=Z])]), false.
_1367false.

#51:
?- VN_list = [T='T'|non_list], /**/write_term(T,[variable_names(VN_list)]).
2022/08/01 19:37:34 error(instantiation_error,write_term/3), unexpected

write_term/3 binds non-anonymous variables with fresh anonymous variables.

There would be nothing wrong to include the original name somehow. However, it is important that the actual printed name starts with _ and (certainly) that it is unique, at least within a single write_term/3.

https://github.com/ichiban/prolog/issues/188#issuecomment-1201511476
I think you're referring to #35 which accepts instantiation_error while #51 accepts domain_error(write_option,variable_names([=(T,_)|non_list]))
$ $(go env GOPATH)/bin/1pl
Top level for ichiban/prolog v0.10.3
This is for testing purposes only!
See https://github.com/ichiban/prolog for more details.
Type Ctrl-C or 'halt.' to exit.
?- VN_list = [T='T'|non_list], write_term(T, [variable_names(VN_list)]). % #35
2022/08/02 08:59:20 error(instantiation_error,write_term/3)
?- VN_list = ['T'=T|non_list], write_term(T, [variable_names(VN_list)]). % #51
2022/08/02 08:59:33 error(domain_error(write_option,variable_names([=(T,_1164)|non_list])),write_term/3)
?-

You are right, I was wrong. Please check your new entry!


Culture info ru-BY missed in .NET core 2.0.6 on Windows Server 2012 R2

I have Localization on my asp.net core 2.0.6 and it's working on local machine. But when I publish to IIS on server 2012 r2 it's throwing an exception
Application startup exception: System.Globalization.CultureNotFoundException: Culture is not supported.
Parameter name: name
ru-by is an invalid culture identifier.
at System.Globalization.CultureInfo.InitializeFromName(String name, Boolean useUserOverride)
According to the link https://msdn.microsoft.com/en-us/library/cc233982.aspx it's valid culture info.
Event microsoft has this localization on site https://www.microsoft.com/ru-by

This issue was moved to dotnet/corefx#28145


More detailed text message notifications

Related to #188
Updates

When a volunteer claims shift social workers are sent a text with full name of volunteer.
When a volunteer releases themselves from a shift social workers are sent text with full name of the volunteer.

Excellent, thanks @haseebelahi!


Pull requests UI failed in Chinese but not in English

Can you point out where the bug is?

cannot reproduce now.

Closing, please reopen if there is still a problem in latest version


RAID0 btrfs root missing device

I get the following error (or a variation of it with the other device in the array) after the bootloader:
[1.445824] BTRFS error (device nvme0n1p2): devid 2 uuid 5ee17996-0a1f-40a6-b
7b3-b12b5a35a2e4 is missing
[1.446384] BTRFS error (device nvme0n1p2): failed to read the system array: -2
[1.446506] BTRFS error (device nvme0n1p2): open_ctree failed

My systemd-boot entry looks like this:
title   Arch linux w/ Booster
linux   /vmlinuz-linux
initrd  /amd-ucode.img
initrd  /booster-linux.img
options root=UUID=beb9b779-e5a1-43ea-be97-df3148393954 resume=UUID=5ef5e6dc-ac6e-47fb-93ab-591e7e21a6b5 rw rootflags=relatime,ssd,space_cache=v2,subvolid=5,subvol=/

I have tried setting universal in the config, and adding btrfs to each of the modules and modules_force_load lists.

Output of blkid
/dev/nvme0n1p1: UUID="BBC3-10DA" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="7d8f74f7-9a34-4b6e-ad8a-caf11ca20769"
/dev/nvme0n1p2: UUID="beb9b779-e5a1-43ea-be97-df3148393954" UUID_SUB="09f5696a-f51e-4b05-96b6-53db26ff1536" BLOCK_SIZE="4096" TYPE="btrfs" PARTUUID="698a8e99-9f38-477f-9e6e-623320cfa464"
/dev/nvme1n1p2: UUID="beb9b779-e5a1-43ea-be97-df3148393954" UUID_SUB="5ee17996-0a1f-40a6-b7b3-b12b5a35a2e4" BLOCK_SIZE="4096" TYPE="btrfs" PARTUUID="2b4f5e6f-b022-4972-9a38-f5e39e778106"
/dev/nvme1n1p1: UUID="5ef5e6dc-ac6e-47fb-93ab-591e7e21a6b5" TYPE="swap" PARTUUID="d01ab3bd-d24e-40ad-a010-7565d6c36335"

fstab
# /dev/nvme0n1p2
UUID=beb9b779-e5a1-43ea-be97-df3148393954	/         	btrfs     	rw,relatime,ssd,space_cache=v2,subvolid=5,subvol=/	0 1

# /dev/nvme0n1p1
UUID=BBC3-10DA      	/boot     	vfat      	rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro	0 2

# /dev/nvme1n1p1
UUID=5ef5e6dc-ac6e-47fb-93ab-591e7e21a6b5	none      	swap      	defaults  	0 0

Thank you for the report.
What is the mkfs.btrfs command that initializes such configuration?

mkfs.btrfs -f -d raid0 /dev/nvme0n1p2 /dev/nvme1n1p2
Possibly related to #193, I believe there's supposed to be a hook for btrfs that waits for devices to be ready before attempting to mount

This issue is not related to #193. It is actually something similar to #97.
Right now, booster tries to mount the btrfs array as soon as one device is found. Instead, the boosters' btrfs integration code should learn to handle the array assembly incrementally.

I added an integration test that exposes this problem.
The fix would be issuing ioctl BTRFS_IOC_DEVICES_READY with name set to one of the devices in the btrfs array. It is exactly the same logic as done by btrfs device ready $name. The commit above tries to do it.
Unfortunately, it does not work. Here is the kernel log from the test:
[    1.428391] booster: loading module btrfs
[    1.515173] Btrfs loaded, crc32c=crc32c-intel, zoned=yes, fsverity=yes
[    1.516205] booster: udev event {Action:add KObj:/devices/virtual/misc/btrfs-control Env:map[ACTION:add DEVNAME:btrfs-control DEVPATH:/devices/virtual/misc/btrfs-control MAJOR:10 MINOR:234 SEQNUM:1137 SUBSYSTEM:misc]}
[    1.518283] booster: udev event {Action:add KObj:/module/btrfs Env:map[ACTION:add DEVPATH:/module/btrfs SEQNUM:1138 SUBSYSTEM:module]}
[    1.519611] booster: !!!!!!! BTRFS_IOC_DEVICES_READY for /dev/sda1
[    1.520681] BTRFS: device fsid 5eaa0c1c-e1dc-4be7-9b03-9f1ed5a87289 devid 1 transid 8 /dev/sda1 scanned by init (178)
[    1.522213] booster: mounting /dev/sda1->/booster.root, fs=btrfs, flags=0x0, options=
[    1.523610] booster: udev event {Action:add KObj:/devices/virtual/bdi/btrfs-1 Env:map[ACTION:add DEVPATH:/devices/virtual/bdi/btrfs-1 SEQNUM:1139 SUBSYSTEM:bdi]}
[    1.523790] BTRFS info (device sda1): using crc32c (crc32c-intel) checksum algorithm
[    1.526300] BTRFS info (device sda1): using free space tree
[    1.527574] BTRFS error (device sda1): devid 2 uuid af7b3f58-e32f-49ac-aa8d-5c82b046a466 is missing
[    1.528850] BTRFS error (device sda1): failed to read the system array: -2
[    1.530117] BTRFS error (device sda1): open_ctree failed
[    1.531034] booster: mount(/dev/sda1): invalid argument
[    1.531807] booster: udev event {Action:remove KObj:/devices/virtual/bdi/btrfs-1 Env:map[ACTION:remove DEVPATH:/devices/virtual/bdi/btrfs-1 SEQNUM:1140 SUBSYSTEM:bdi]}

[    1.520681] BTRFS: device fsid 5eaa0c1c-e1dc-4be7-9b03-9f1ed5a87289 devid 1 transid 8 /dev/sda1 scanned by init (178) is caused by the BTRFS_IOC_DEVICES_READY and my expectation that by the end of ioctl this array should be ready to use. Unfortunately, mounting still fails.
Does BTRFS_IOC_DEVICES_READY on one device waits until the whole array is ready? cc some folks who knows the kernel btrfs logic better @adam900710 @fdmanana

I just pushed a commit that aims to fix this bug. Could you please pull wip branch, build it and see if booster works for you?

I just pushed a commit that aims to fix this bug. Could you please pull wip branch, build it and see if booster works for you?

Sorry for hijacking this topic, I didn't saw it yesterday and created this in discussion section https://github.com/anatol/booster/discussions/195. I tried this new commit but didn't change anything, but maybe I'm doing something wrong.
If I have two encrypted disks I only need to put once root information for it?
title Arch Linux
linux /vmlinuz-linux
initrd /amd-ucode.img
initrd /booster-linux.img
options rd.luks.name=0d363017-ac94-458f-9fc0-803c6b114465=additionaldisk rd.luks.name=6e4c6f50-ab67-429e-b5d8-5ef53929f429=samsung root=UUID=726660ee-aab3-4025-aed5-3b58961f0616 rw rootflags=compress-force=zstd,discard=async,subvol=arch

Hi @roland-rollo, your issue sounds related to this one.
Could you please enable debug log with booster.log=debug,console Linux boot option and then share the information printed during the boot?

I booted with
options rd.luks.name=0d363017-ac94-458f-9fc0-803c6b114465=additionaldisk rd.luks.name=6e4c6f50-ab67-429e-b5d8-5ef53929f429=samsung root=UUID=726660ee-aab3-4025-aed5-3b58961f0616 rw rootflags=compress-force=zstd,discard=async,subvol=arch booster.log=debug,console

but doesn't see this with journal -b. Is there procedure for capture all this text properly (if I'm dumb) or only shooting a photo is an option?

@roland-rollo
I expect that the kernel logs also have a line like BTRFS: device fsid 5eaa0c1c-e1dc-4be7-9b03-9f1ed5a87289 devid 1 transid 8 /dev/sda1 scanned by init (178) right before mount(). Did you rebuild the image after the booster upgrade using /usr/lib/booster/regenerate_images?

@anatol Yes, I used /usr/lib/booster/regenerate_images. I didn't see anything in journalctl, like it isn't recorded to it. I tried today build booster and recreate everything, but again with the same result.

@roland-rollo I pushed another proposed fix to wip branch. Please try it let me know if it helps with your btrfs raid0 configuration.

@anatol Gloria, May Linus Torvalds bless you! It show error, but booted without problem.
Without scrolling, my configuration:
sudo blkid
/dev/mapper/samsung: LABEL="blackrainbow-root" UUID="726660ee-aab3-4025-aed5-3b58961f0616" UUID_SUB="623fb88c-925c-4bfb-ba9c-ebbd852a8e3d" BLOCK_SIZE="4096" TYPE="btrfs"
/dev/nvme0n1: UUID="0d363017-ac94-458f-9fc0-803c6b114465" TYPE="crypto_LUKS"
/dev/mapper/stary: LABEL="blackrainbow-root" UUID="726660ee-aab3-4025-aed5-3b58961f0616" UUID_SUB="5636ac3e-b62d-4088-9c0c-ec53a95e5936" BLOCK_SIZE="4096" TYPE="btrfs"
/dev/nvme1n1p2: UUID="6e4c6f50-ab67-429e-b5d8-5ef53929f429" TYPE="crypto_LUKS" PARTUUID="98982efc-55ec-ea41-9af3-58911c471435"
/dev/nvme1n1p1: UUID="52A4-7400" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="33ef44af-b130-5d44-a091-0b1cf8d019a2"

cat /etc/booster.yaml
  dhcp: on
universal: false
compression: zstd
mount_timeout: 0s
strip: true
extra_files: busybox,nvim
vconsole: true
enable_lvm: false
enable_mdraid: true
enable_zfs: false

cat /etc/fstab
# Static information about the filesystems.
# See fstab(5) for details.

# <file system> <dir> <type> <options> <dump> <pass>
# /dev/mapper/arch LABEL=blackrainow
UUID=726660ee-aab3-4025-aed5-3b58961f0616	/         	btrfs     	rw,compress-force=zstd,discard=async,subvol=arch	0 0

# /dev/nvme0n1p1
UUID=52A4-7400      	/boot     	vfat      	rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro	0 2

# /dev/mapper/arch LABEL=blackrainow
UUID=726660ee-aab3-4025-aed5-3b58961f0616	/home     	btrfs     	rw,compress-force=zstd,discard=async,subvol=home	0 0

# /dev/mapper/arch LABEL=blackrainow
UUID=726660ee-aab3-4025-aed5-3b58961f0616	/.snapshots	btrfs     	rw,compress-force=zstd,discard=async,subvol=.snapshots	0 0

cat /boot/loader/entries/arch.conf
title Arch Linux
linux /vmlinuz-linux
initrd /amd-ucode.img
initrd /booster-linux.img
options rd.luks.name=0d363017-ac94-458f-9fc0-803c6b114465=stary rd.luks.name=6e4c6f50-ab67-429e-b5d8-5ef53929f429=samsung root=UUID=726660ee-aab3-4025-aed5-3b58961f0616 rw rootflags=compress-force=zstd,discard=async,subvol=arch booster.log=debug,console

sudo btrfs fi usage /
Overall:
    Device size:		   2.28TiB
    Device allocated:		 878.07GiB
    Device unallocated:		   1.43TiB
    Device missing:		     0.00B
    Device slack:		     0.00B
    Used:			 703.68GiB
    Free (estimated):		   1.59TiB	(min: 903.00GiB)
    Free (statfs, df):		   1.59TiB
    Data ratio:			      1.00
    Metadata ratio:		      2.00
    Global reserve:		 512.00MiB	(used: 0.00B)
    Multiple profiles:		        no

Data,single: Size:872.01GiB, Used:699.79GiB (80.25%)
   /dev/mapper/samsung	 872.01GiB

Metadata,RAID1: Size:3.00GiB, Used:1.94GiB (64.75%)
   /dev/mapper/samsung	   3.00GiB
   /dev/mapper/stary	   3.00GiB

System,RAID1: Size:32.00MiB, Used:128.00KiB (0.39%)
   /dev/mapper/samsung	  32.00MiB
   /dev/mapper/stary	  32.00MiB

Unallocated:
   /dev/mapper/samsung	 987.67GiB
   /dev/mapper/stary	 473.89GiB

Here is log with error. Tried full raid0 and raid1 without problem. @ashakoor Could you try now?

It show error, but booted without problem.

The new solution I provided tries to mount the root partition until it succeeds. In the case of RAID0 once the first device is registered and booster tries to mount it fails as the array is not fully assembled. With the next block device, it succeeds.


error in config file

"// Mew evolves to Mewtwo": {},
I'm not sure what this does, but Mew does NOT evolve into Mewtwo

The // at the start means it is just a comment.
Probably an oversight by whoever made the example config file.

I think what @CtrlAltDefeat94 means is that Mew doesn't evolve into Mewtwo, they are 2 separates pokemon.

Everyone knows that when two mews love each other very much...


wrong mean of complex values

What happened?
Seen in #4972
import xarray as xr
import numpy as np

array = np.array([0. +0.j, 0.+np.nan * 1j], dtype=np.complex64)
var = xr.Variable("x", array)
print(var.mean().data)
print(array.mean())

0j
(nan+nanj)

What did you expect to happen?
No response
Minimal Complete Verifiable Example
No response
MVCE confirmation

[ ] Minimal example — the example is as focused as reasonably possible to demonstrate the underlying issue in xarray.
[ ] Complete example — the example is self-contained, including all data and the text of any traceback.
[ ] Verifiable example — the example copy & pastes into an IPython prompt or Binder notebook, returning the result.
[ ] New issue — a search of GitHub Issues suggests this is not a duplicate.

Relevant log output
No response
Anything else we need to know?
No response
Environment

Sorry false alarm. My debugging code was missing skipna.


Dark Keyboard, As some apps have.

This is a (multiple allowed):

[ ] bug
[ ] enhancement
[x] feature-discussion (RFC)

So I have seen in many apps including safari a dark keyboard, and no matter how hard i try i can never find out how it works i have seen websites do it in safari on ios, but i can never figure out how to do it, So if Framework7 could have a dark keyboard or even a custom keyboard for it that would be amazing! Also i have looked up if it is possible to have a custom keyboard on ios safari it is, it just takes a lot of javascript, css and html so yeah. I hope this actually becomes a feature or a plugin!

I'm going to say this is massively out of scope. However plugins/PRs are welcome.


Shall we support DMG dowload from an EPUB?

 for The pub-foreign_bad-fallback test results in the DMG file beeing proposed to dowload by Thorium (Explorer window opens to select a place to save the DMG).
This makes the test N/A because we support DMG but is this good for user?
On another point of view an EPUB could include a DMG (or EXE or whatever) that user could download thru a concrete action (activating a link a link). I know no use case but why not, as an example an Author could propose a progam included in his technical book.

We prefer not supporting because it is a possible security issue for the user.