Sepetember 22 Release

Checklist
All items have to be completed before a PR is merged

[x] Adhere to Contribution Guidelines
[ ] Updates to Decision Records considered?
[ ] Updates to documentation at DX@Scale Guide considered?
[ ] Tested changes?
[ ] Unit Tests new and existing passing locally?

Codecov Report
Base: 57.79% // Head: 51.85% // Decreases project coverage by -5.94% :warning:

Coverage data is based on head (9e7e2db) compared to base (be7cfe8).
Patch coverage: 59.84% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1126      +/-   ##
==========================================
- Coverage   57.79%   51.85%   -5.95%
==========================================
  Files          58       74      +16
  Lines        1995     3321    +1326
  Branches      433      710     +277
==========================================
+ Hits         1153     1722     +569
- Misses        790     1599     +809
+ Partials       52        0      -52

Impacted Files
Coverage Δ

packages/core/src/git/Git.ts
4.87% <0.00%> (-1.72%)
:arrow_down:

packages/core/src/org/SFPOrg.ts
39.58% <0.00%> (ø)

...kages/core/src/package/components/MetadataCount.ts
90.00% <ø> (ø)

.../core/src/package/components/PackageToComponent.ts
18.18% <ø> (ø)

...werscripts-cli/src/impl/changelog/CommitUpdater.ts
91.66% <ø> (ø)

...powerscripts-cli/src/impl/changelog/OrgsUpdater.ts
83.33% <ø> (ø)

...rscripts-cli/src/impl/changelog/WorkItemUpdater.ts
100.00% <ø> (ø)

packages/core/src/git/GitTags.ts
50.00% <33.33%> (-2.95%)
:arrow_down:

...e/src/package/packageMerger/PackageMergeManager.ts
84.05% <84.05%> (ø)

packages/core/src/package/SfpPackageBuilder.ts
70.34% <85.71%> (+53.79%)
:arrow_up:

... and 38 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Change legend to use absolute positions.

I noticed that the legend was not right when plotting ctf data:

I suggest we change the legend to use absolute locations instead of the layout positions.

Codecov Report

Merging #4239 into master will decrease coverage by <.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #4239      +/-   ##
==========================================
- Coverage   86.19%   86.18%   -0.01%
==========================================
  Files         358      358
  Lines       65009    65007       -2
  Branches     9912     9912
==========================================
- Hits        56036    56029       -7
- Misses       6243     6246       +3
- Partials     2730     2732       +2

is this image from master or from the fixed PR?

From master.

ok. How does it look like with this branch?

@jaeilepp if you checked on a couple of datasets than it does not break anything +1 for merge

I checked and it works fine. The only problem is that the edges get crowded like it does in the figure.

@jaeilepp could there be an equivalent to outlines='skirt' for the legend?

Actually it is using outlines='skirt'.

... oh. Errr, good. Also I guess that's a different issue altogether.

This moves us toward #3987 which is good. See there for further discussion, but this is already some progress so +1 from me.

LGTM

Of course we have another Pandas regression in our tests. Grrr

thanks @jaeilepp


New version: Mihomo-Party.Mihomo-Party version 1.5.3

Pull request has been created with WinGet Releaser :rocket:
Microsoft Reviewers: Open in CodeFlow

Automatic Validation ended with:

Executable C:\Users\Validator\AppData\Local\Microsoft\WinGet\Packages\EliFulkerson.tcping__DefaultSource\tcping.exe returned exit code: 1
Executable C:\Users\Validator\AppData\Local\Microsoft\WinGet\Links\tcping.exe returned exit code: 1

(Automated response - build 897.)


anonPFP-SpeedyGo55

Write a short description about your art piece, such as what your artwork represents and your experience drawing it!
Next, make sure you go through each item in the following checklist. Delete this line after!

[x] I have read the steps to getting a blot
[x] I am submitting art that...

[x] is algorithmically generated (will meaningfully change each time the program is run)
[x] is your own work that is not copied from somewhere else
[x] is drawable through the editor(does not use outside tools)
[x] doesn't call Math.random() (See the documentation on randomness)
[x] is drawable on Blot itself (doesn't have lines overlap more than 5 times)

[x] Doesn't overlap lines more than 5 times
[x] Fits in the working area of 125x125mm
[x] Doesn't rely on colour to look good

If you used based your art on something else, used a tutorial, or remixed it from something else, please link it here:
Lastly, link a picture of your art piece here:

Oops! So sorry for missing this PR! This is a great start, but falls short of the blot submission requirements! (due to not being random and simplicity) Please change your art to be random every time! I can re-review it once done :)

updated!

Hey! Unfortunately, we are still looking for pieces with more effort, If you could create this person with a landscape behind, or something like that, I would be happy to re-review! I am going to close this PR for now due to how old it is, please create a new PR once updated!


how to add new line manually

http://stackoverflow.com/questions/14568409/jade-lang-how-to-add-a-new-line-manually
I tried add
= "\n"

it does not work

Why is it important to have a newline? What are you intending to do?


Prisma deploy error in production but no data in the log

Today we deployed in production and we get an error
Error: P3009
migrate found failed migrations in the target database, new migrations will not be applied. Read more about how to resolve migration issues in a production database: https://pris.ly/d/migrate-resolve
The `20220414162927_prisma_upgrade` migration started at 2022-04-16 16:28:01.302 UTC failed with the following logs:

When we checked the logs in _prisma_migrations, no issued was found and the migration was successfully applied.

It looks like the NPM warning triggered this wrong error message. (NPM 8.7.0 was released 2 days ago) https://www.npmjs.com/package/npm
Full Log:
Prisma schema loaded from prisma/schema.prisma
--
Datasource "db": MySQL database "na" at "db-prod-principal-database.us-west-2.rds.amazonaws.com:3306"
60 migrations found in prisma/migrations
Applying migration `20220414162927_prisma_upgrade`
Done in 72.52s.
Prisma schema loaded from prisma/schema.prisma
Datasource "db": MySQL database "na" at "db-prod-principal-database.us-west-2.rds.amazonaws.com:3306"
60 migrations found in prisma/migrations
Error: P3009
migrate found failed migrations in the target database, new migrations will not be applied. Read more about how to resolve migration issues in a production database: https://pris.ly/d/migrate-resolve
The `20220414162927_prisma_upgrade` migration started at 2022-04-16 16:28:01.302 UTC failed with the following logs:
npm notice
npm notice New minor version of npm available! 8.5.5 -> 8.7.0
npm notice Changelog: <https://github.com/npm/cli/releases/tag/v8.7.0>
npm notice Run `npm install -g<EMAIL_ADDRESS>to update!
npm notice
Prisma schema loaded from prisma/schema.prisma
✔ Generated Prisma Client (3.12.0 \| library) to ./node_modules/@prisma/client in 3.13s
You can now start using Prisma Client in your code. Reference: https://pris.ly/d/client

import { PrismaClient } from '@prisma/client'
const prisma = new PrismaClient()

Type "Node" is missing a "__resolveType" resolver. Pass false into "resolverValidationOptions.requireResolversForResolveType" to disable this warning.
🚀 Server ready at http://localhost:4000/ - Env: production

What commands exactly are you running there? The output is a bit unexpected to us.

Not sure if related, but we were also getting errors with this specific code for a failed migration:
2022-04-27T10:14:17.553Z prisma:migrateEngine:rpc SENDING RPC CALL {"id":2,"jsonrpc":"2.0","method":"applyMigrations","params":{"migrationsDirectoryPath":"/home/node/app/prisma/migrations"}}
2022-04-27T10:14:17.687Z prisma:migrateEngine:rpc {
jsonrpc: '2.0',
error: {
code: 4466,
message: 'An error happened. Check the data field for details.',
data: {
is_panic: false,
message: 'migrate found failed migrations in the target database, new migrations will not be applied. Read more about how to resolve migration issues in a production database: https://pris.ly/d/migrate-resolve\n' +
'The `20220426103019_extend_invite_model` migration started at 2022-04-27 10:14:02.792767 UTC failed with the following logs:\n' +
'\n',
meta: [Object],
error_code: 'P3009'
}
},
id: 2
}
Error: Error: P3009
migrate found failed migrations in the target database, new migrations will not be applied. Read more about how to resolve migration issues in a production database: https://pris.ly/d/migrate-resolve
The `20220426103019_extend_invite_model` migration started at 2022-04-27 10:14:02.792767 UTC failed with the following logs:
at Object.<anonymous> (/home/node/app/node_modules/prisma/build/index.js:110362:25)
at Object.handleResponse (/home/node/app/node_modules/prisma/build/index.js:110230:36)
at LineStream3.<anonymous> (/home/node/app/node_modules/prisma/build/index.js:110322:16)
at LineStream3.emit (node:events:526:28)
at addChunk (node:internal/streams/readable:315:12)
at readableAddChunk (node:internal/streams/readable:289:9)
at LineStream3.Readable.push (node:internal/streams/readable:228:10)
at LineStream3._pushBuffer (/home/node/app/node_modules/prisma/build/index.js:110109:17)
at LineStream3._transform (/home/node/app/node_modules/prisma/build/index.js:110103:8)
at LineStream3.Transform._write (node:internal/streams/transform:184:23)

Not sure if we did anything wrong here, but I would have assumed the logs should indicate what exactly failed 🤔
For us the issue was adding foreign key constraints to columns, the existing data referenced non existing foreign keys though which obviously lets it fail. We figured that out quite fast, but I could imagine for bigger schema migrations it could get tricky to even grasp what went wrong?
Is this the expected output for failed migrations, or did I miss something? We are using version 3.12.0. Could it be that I missed the initial try of applying the migrations which shows a more helpful error and the logs from above are just emitted when you "retry" to apply the schema migrations through npx prisma migrate deploy (we are using k8s in prod like envs - so it could be the k8s job which applies the migration has been automatically been retried).

No, obviously a failing migration should output the actual failure message.
Do you still have the failing migration (SQL), and maybe the state of the tables (SQL) before that? It would be optimal for us if we can reproduce running the same migrate deploy that failed for you but did not output any information.

No, obviously a failing migration should output the actual failure message.
Do you still have the failing migration (SQL), and maybe the state of the tables (SQL) before that? It would be optimal for us if we can reproduce running the same migrate deploy that failed for you but did not output any information.

Great to hear that my expectations aren't too off here. I will try to come up with a reproduction the next few days :v:

@janpio it seems to work like expected, I tried to setup a reproduction at https://github.com/Onlim/prisma-repro and it outputs a more useful error message the first time:
prisma-repro on  add-foreign-key-constraint [?] is 📦 v1.0.0 via ⬢ v16.14.2
➜ npx prisma migrate deploy
Environment variables loaded from .env
Prisma schema loaded from prisma/schema.prisma
Datasource "db": PostgreSQL database "prisma-repro", schema "public" at "localhost:5432"

2 migrations found in prisma/migrations

Applying migration `20220430142956_add_foreign_key_constraint`
Error: P3018

A migration failed to apply. New migrations cannot be applied before the error is recovered from. Read more about how to resolve migration issues in a production database: https://pris.ly/d/
migrate-resolve

Migration name:<PHONE_NUMBER>2956_add_foreign_key_constraint

Database error code: 23503

Database error:
ERROR: insert or update on table "Post" violates foreign key constraint "Post_authorId_fkey"
DETAIL: Key (authorId)=(99999) is not present in table "User".

DbError { severity: "ERROR", parsed_severity: Some(Error), code: SqlState("23503"), message: "insert or update on table \"Post\" violates foreign key constraint \"Post_authorId_fkey\"", deta
il: Some("Key (authorId)=(99999) is not present in table \"User\"."), hint: None, position: None, where_: None, schema: Some("public"), table: Some("Post"), column: None, datatype: None, con
straint: Some("Post_authorId_fkey"), file: Some("ri_triggers.c"), line: Some(2465), routine: Some("ri_ReportViolation") }

When retrying npx prisma migrate deploy a second time it outputs what I've observed for our application above:
➜ npx prisma migrate deploy
Environment variables loaded from .env
Prisma schema loaded from prisma/schema.prisma
Datasource "db": PostgreSQL database "prisma-repro", schema "public" at "localhost:5432"

2 migrations found in prisma/migrations

Error: P3009

migrate found failed migrations in the target database, new migrations will not be applied. Read more about how to resolve migration issues in a production database: https://pris.ly/d/migrate-resolve
The `20220430142956_add_foreign_key_constraint` migration started at 2022-04-30 14:30:35.283825 UTC failed with the following logs:

So like I assumed I just missed the logs for the first run of npx prisma migrate deploy due to our kubernetes setup. Sorry for the noise 😄

Not noise at all, we need to fix this! You should never end up in a situation where the CLI tells you with the following logs: and then nothing follows, it's that easy. We'' have to check how deploy is supposed to work and know the previous log output, and what we can do to fix that. (Also it seems we might benefit from making it clearer that an old migrate run failed, not the current one - I did definitely not catch that when reading the output you posted before.)

Also it seems we might benefit from making it clearer that an old migrate run failed, not the current one - I did definitely not catch that when reading the output you posted before

To be honest that's also something which surprised me. Coming from rails world when a migration fails it is not recorded in the migrations table and therefore you don't have to rollback a failed migration. By default, a migration either succeeded completely or not at all (as it is per default run in a transaction, you have to explicitly opt out of the "save" behavior). This is out of the scope of this issue though as I've read various other tickets which talk about this.


Template type instances generated in separate modules do not generate include statements in C code

Here is an example in some code I've been writing:
UnsafeArray.ooc
UnsafeArray: cover template <T> {
    data: T*
    length: Int

    init: func@ (=length) {
        data = gc_malloc(T size * length)
    }

    operator [] (i: Int) -> T {
        data[i]
    }

    operator@ []= (i: Int, t: T) -> T {
        data[i] = t
    }
}

Bitmap.ooc
import ../UnsafeArray

RgbColor: cover {
    r, g, b: UInt8

    init: func@ (=r, =g, =b)
}

Bitmap: class {
    width, height: Int
    data: UnsafeArray<RgbColor>

    pixelCount ::= width * height
    /* ...  */
}

This piece of code generates invalid C code because the generated template instance does not have access to RgbColor's declaration.
Rock should automatically deduce what additional imports are needed and add them to the template type's module.

Temporary fix is obviously adding imports manually (e.g. import Bitmap in this example)


Flag --recreate-pods broken

The flag --recreate-pods no longer works as expected. There are two problems:

If there is no patch, recreation is not executed. But excactly when there is no patch the flag would be useful. When the feature was added, the function would not immediately return when there was no patch. The following commit seems to have changed this: https://github.com/kubernetes/helm/commit/0f461ba8b55cdfad6d10c8fa9caa658ecddefbd6#diff-a483d6c0863082c3df21f4aad513afe2R394. Was this change intentional?
Only resources with specific API versions have been eligible for a restart since the check for a selector was introduced in #1956. I'm working on a fix for the first point. I managed to get recreation working for Deployments with APIVersion extensions/v1beta1 only, not for apps/v1beta1 onwards. This should not depend on specific APIVersions.

@bacongobbler , @mattfarina , @unguiculus
Is it possible that this patch is the reason my upgrade with recreate pods immediately terminates all pods in my StatefulSet?  I find the same result with updateStrategy OnDelete as with RollingUpdate.
Ideally, recreate pods would do a rolling update where appropriate and block where OnDelete is used -- and I believe this was previously the case (as of tiller v2.8.0).  OnDelete required manual intervention even when supplying recreate pods on v2.8.0. Rolling update allowed the recreate pods flag to roll through pods.
On a cluster with tiller v2.8.2 I lost zookeeper quorum in this way.
Thoughts?


SSW functions only return highest scoring alignment

I read the contribution guidelines, but I'm hesitant about doing work that has already been hashed out and I can't imagine this is a new issue (though I couldn't find an existing one): I need to get all alignments from a local alignment between two sequences, but I'm seeing only best match returned right now.
There are several implementations (e.g. a Python one, a wrapped C extension), so not sure if this is the reason why I'm just seeing best match? Perhaps the Python version was too slow so a decision was made to exit after best match? At least in the Python version the traceback of the scoring matrix is only retaining and returning best_score - not sure why it's only considering "best" everything and leaving off the rest.
This was kind of a surprise since the docs say that the TabularMSA contains "the aligned sequences", which I took to mean all the alignments with scores greater than the filter, but it's looking like the "aligned sequences" the docs refer to are the target and just the best alignment sequence.

Well, I'm going to close this. It's not very obvious, but I guess the expectation from SW is that it just returns the optimal. Waterman & Eggert or Waterman & Byer I guess published 4 years after SW on getting sub-optimal alignments, but that wasn't in the original SW. Seems like a technicality, but fair enough based on what I gathered peoples' expectations are for SW around the web.


Created my LinkFree Profile

@thebarshablog I added inline comments

Oh why did you close the pull request @thebarshablog ? You can make additional changes and GitHub will add it to the PR

Oh why did you close the pull request @thebarshablog ? You can make additional changes and GitHub will add it to the PR

Hey @eddiejaoude , please check my recent pull-request. Sorry, I decided to delete my previous fork because I made a lot of untracked edits and needed to declutter.

I need to start adding the events I'm going to be part of in my LinkFree profile but I am having some trouble adding it. It could be a step I may be missing. Is anyone up to show how they have added the events in their profile?

@thebarshablog did you manage to add events? Here are the docs, any questions let us know https://linkfree.eddiehub.io/docs/how-to-guides/events

@thebarshablog did you manage to add events? Here are the docs, any questions let us know https://linkfree.eddiehub.io/docs/how-to-guides/events

Yes I did!


Review: ViewBills and ViewBill

Overview
Review Branch
review-1
Files to review

ViewBills.jsx
ViewBill.jsx

Checklists

Architecture
Design
JS
React

Due date
9/13/2022
For more information
The review process is documented at: https://courses.ics.hawaii.edu/ics414f22/morea/review/reading-idpm-review.html

Viewbills.jsx
Add some comments?
TODO: Both of the mobile/non mobile views contain almost all of the same code. Is it possible to combine these more?

ViewBill.jsx
Many lines of code, maybe add some comments to separate the sections?

ViewBills.jsx, ViewBills.jsx
Refactor names to make it easier to identify which is which

ViewBills.jsx
DE-01: Can refactor code to dynamically change css class of html using javascript variables instead of repeating code.
if (mobileView) {
var bills-class = ‘mb-3’
}  else {
var bills-class = ‘flex-column’
}
return (
<Tab.Container id={PAGE_IDS.VIEW_BILLS} defaultActiveKey="all-bills">

Offices

{officeNames.map(office => <Nav.Item><Nav.Link eventKey={office.eventKey}>{office.name}</Nav.Link></Nav.Item>)}

<Tab.Content>
{officeNames.map(officeName => )}
</Tab.Content>

</Tab.Container>
);
ViewBill.jsx
DE-01: Create iterative to reduce amount of repeated code

ViewBills.jsx
refactor components for readability.
ViewBill.jsx
for repeated segments, use map on an array to make it more readable

ViewBill.jsx, ViewBills.jsx

File names very are similar
Add comments giving brief description of files


HttpClientExtensions safe methods shouldn't require content

Extension methods like PostSafeAsync() that have an HttpContent parameter are requiring that the value be non-null when nu;; is allowed.

FIXED for neonLIBRARY v1.13.0


Image spans more than  div in which it is contained

markup used
.demo-class {
height: 100px;
width: 100px;
}
css used

@mandar-k I believe this is intentional, but you'll have to provide a better example.

Closing due to not enough info and lack of response.


create a draggable marker

I'm currently wondering what's the best way to create draggable markers.
Easiest way would be to do it like the mapbox example, using mouseenter, mouseleave, mouseup  and mousedown  but I realised you didn't implement the last event.
So I'm a bit confused. Using onDrag doesn't seem to be a good idea as  dragPan.disable() needs to be called at some point.
Last solution would be to get the map instance with ref and use its mousedown event, which seems a bit hacky.
What's your opinion?

Hey @Mencls, thanks for the issue someone already asked that at some point but I lost track of this feature, I think this is something that could come with the version 2.0.0. In term of API I think it should be a prop you have on the Feature component like so
<Feature
  coordinates=[0,0]
  draggable={true}
/>

And all the logic that detect mouseup / mousedown and set the geojson data should sit at the Layer level I think.
Just for reference: https://www.mapbox.com/mapbox-gl-js/example/drag-a-point/

I agree, a draggable prop on the Feature component would be great. Also an onDragEnd event would definitely be useful, in order to update the data if needed.
Thanks for the update!

https://github.com/alex3165/react-mapbox-gl/pull/256 is a first step toward a draggable feature

https://github.com/alex3165/react-mapbox-gl/pull/257 should do the trick

I will close this issue as it is been resolved with the version 2.0.0. Please use https://github.com/alex3165/react-mapbox-gl/issues/237 to be updated on the state of 2.0.0.

Hey. I'm lost, was a draggable marker created, or were you talking about draggable feature ?

Hey, we were talking about draggable feature


bug: The chat gets truncated halfway through response

Version
v1.10
Describe the bug
when the chat responds to a prompt, if the response is too long it gets truncated, i've tried many models its the same for each one, that leads me to understand that its an issue from cody itself on how it handles the text streams, a nice solution would be implementing something like chatgpt or gemini, that let the chat finish off the response, thanks in advance, overall cody rocks, you just need to know how to command it properly, great job!
Expected behavior
when i make a prompt to the chat i expect it to give me the full answer or at least prompt me with a button or other mechanism to finish off the response that was being generated, it had happened to me that if the follow up prompt is not accurate, the follow up has nothing to do with what was previously being answered.
Additional context
No response

Thanks for reporting! We have increased Cody's output limit, it should now be much rarer to see Cody truncating the response like this. Let us know if you encounter any more issues!
This change will be available in this weeks Cody release, which is scheduled to go out either today or tomorrow.

thanks for addressing the issue!


Use PS 7.4 examples for Runtime Environment APIs

ARM (Control Plane) API Specification Update Pull Request

[!TIP]
Overwhelmed by all this guidance? See the Getting help section at the bottom of this PR description.

PR review workflow diagram
Please understand this diagram before proceeding. It explains how to get your PR approved & merged.

Purpose of this PR
What's the purpose of this PR? Check the specific option that applies. This is mandatory!

[ ] New resource provider.
[ ] New API version for an existing resource provider. (If API spec is not defined in TypeSpec, the PR should have been created in adherence to OpenAPI specs PR creation guidance).
[ ] Update existing version for a new feature. (This is applicable only when you are revising a private preview API version.)
[ ] Update existing version to fix OpenAPI spec quality issues in S360.
[ ] Convert existing OpenAPI spec to TypeSpec spec (do not combine this with implementing changes for a new API version).
[X] Other, please clarify:

Use PS 7.4 in the example request and responses in the REST API documentation

Due diligence checklist
To merge this PR, you must go through the following checklist and confirm you understood
and followed the instructions by checking all the boxes:

[x] I confirm this PR is modifying Azure Resource Manager (ARM) related specifications, and not data plane related specifications.
[x] I have reviewed following Resource Provider guidelines, including
ARM resource provider contract and
REST guidelines (estimated time: 4 hours).
I understand this is required before I can proceed to the diagram Step 2, "ARM API changes review", for this PR.

Additional information

 Viewing API changes
For convenient view of the API changes made by this PR, refer to the URLs provided in the table
in the Generated ApiView comment added to this PR. You can use ApiView to show API versions diff.

Suppressing failures
If one or multiple validation error/warning suppression(s) is detected in your PR, please follow the
suppressions guide to get approval.

Getting help

First, please carefully read through this PR description, from top to bottom. Please fill out the Purpose of this PR and Due diligence checklist.
If you don't have permissions to remove or add labels to the PR, request write access per aka.ms/azsdk/access#request-access-to-rest-api-or-sdk-repositories
To understand what you must do next to merge this PR, see the Next Steps to Merge comment. It will appear within few minutes of submitting this PR and will continue to be up-to-date with current PR state.
For guidance on fixing this PR CI check failures, see the hyperlinks provided in given failure
and https://aka.ms/ci-fix.
For help with ARM review (PR workflow diagram Step 2), see https://aka.ms/azsdk/pr-arm-review.
If the PR CI checks appear to be stuck in queued state, please add a comment with contents /azp run.
This should result in a new comment denoting a PR validation pipeline has started and the checks should be updated after few minutes.
If the help provided by the previous points is not enough, post to https://aka.ms/azsdk/support/specreview-channel and link to this PR.

@ramoka178 anything pending from our side? I am not having access to add/modify labels, please could you add it if the changes looks fine so that the PR is merged?


GLMakie.jl and GLFW.jl fails to run due to missing libs (Julia)

Describe the bug
Both GLMakie.jl and GLFW.jl return ERROR: GLFWError (API_UNAVAILABLE): GLX: No GLXFBConfigs returned
Steps To Reproduce
Steps to reproduce the behavior:

Install julia-bin
Enter Julia REPL
import Pkg; Pkg.add("GLFW"); using GLFW; GLFW.Window()

Expected behavior
Julia should open an empty window.
Screenshots
Result:

Expected result:

Additional context
steam-run julia fixes the problem.
Notify maintainers
@rob @garrison @raskin
Metadata
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 5.18.12-zen1, NixOS, 22.11 (Raccoon), 22.11.20220720.614a842`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.10.3`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

Stack trace:
strace.log

I solve this with nix-ld and a Julia wrapper script.
See https://github.com/wentasah/nix-conf/blob/34ffe8c9d550a112edfe1984ae6a50405c9286cf/pkgs/julia-wrapper/default.nix
and https://github.com/wentasah/nix-conf/blob/34ffe8c9d550a112edfe1984ae6a50405c9286cf/steelpick/configuration.nix#L192.
You would need to add OpenGL libraries to the list of libraries in the wrapper script.

I solve this with nix-ld and a Julia wrapper script. See https://github.com/wentasah/nix-conf/blob/34ffe8c9d550a112edfe1984ae6a50405c9286cf/pkgs/julia-wrapper/default.nix and https://github.com/wentasah/nix-conf/blob/34ffe8c9d550a112edfe1984ae6a50405c9286cf/steelpick/configuration.nix#L192. You would need to add OpenGL libraries to the list of libraries in the wrapper script.

How would I go on doing that? Tried adding opengl to the libs and seemingly nothing changed.

Hmm, the trick with nix-ld allowed me to use Plots.jl under NixOS, but it seems that GLFW.jl needs something more.
I can get the black window from your example shown when I run julia as:
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/run/opengl-driver/lib julia

However, I'm not sure whether it is safe to make this by default. I'd need to understand more about how Julia loads shared libraries to its address space.

That does seem to work, any recommendations as to how to write that into the wrapper with the rest of the libs?

I ended up with the following wrapper (see here):
writeShellScriptBin "julia" ''
  # Set variables for nix-ld
  export NIX_LD=${stdenv.cc.libc}/lib/ld-linux-x86-64.so.2
  export LD_LIBRARY_PATH="$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}/run/opengl-driver/lib"
  exec ${julia}/bin/julia "$@"
''

For some reason, the libraries and their locations in NIX_LD_LIBRARY_PATH variable are no longer needed. Perhaps, newer Julia versions already contain those libraries and Julia can find them well. However, NIX_LD is still needed for Plots.jl. I don't fully understand why, but it works.

Alright, thank you for the solution.


Validate configuration at the end of parsing

This ensures we fail fast when detect that a user-supplied value in the build configuration is not valid.
This helps guard against package names like boost-"atomic", which we saw recently (see https://github.com/wolfi-dev/os/pull/2269).
Note: For names of packages and subpackages, this implementation requires the following:

all letters are lowecase
must start with letter
the only valid characters are letters, numbers, periods (.), dashes (-), and underscores (_)

Underscores in package names are very rare, but they do exist in Wolfi right now. If we wanted, we could disallow underscores and update any offending package names accordingly:

libnetfilter_conntrack
libnetfilter_cthelper
libnetfilter_cttimeout
libnetfilter_queue
ruby3.2-http_parser.rb

Let me check our YAMLs against this branch before merging this time :)

db.yaml
Error: validating configuration: build configuration is invalid: subpackage name "db-c++" (subpackages index: 3) must match regex "^[a-z][a-z0-9_.-]*$"
2023/05/24 09:49:20 error during command execution: validating configuration: build configuration is invalid: subpackage name "db-c++" (subpackages index: 3) must match regex "^[a-z][a-z0-9_.-]*$"

I think db-c++ is a valid subpackage name, as it is the one used in Alpine.

The regexp would also block something like 389-directory-server, which is a real package in some other distros.

@kaniini Added support for + and uppercase letters, and for numbers to be able to start the package name.


Scrollable dialog?

When I have the phone in landscape with the keyboard showing, my dialog gets cut off.  Is there a way to scroll it up and down to bring it into view?
Thanks,
Alvaro

+1
I would also like to know whether this feature is enabled.

in dialogContent, use scrolview as given below
<DialogContent style={------your styling------------ }>

<Text style={------your styling------------}>----your content

if you have any issue, please let me know.


Improve Realtime Active Thread Chart smoother. #1430

Improve Realtime Active Thread Chart smoother.

@emeroad Could you please review this PR.   :)


ARC-1559 Use gitHubAppId for processing message in queue

What's in this PR?
Why
Added feature flags
Affected issues
Jira Issues
How has this been tested?
Include how to test if applicable
Whats Next?

Curious what's the rollout strategy? I see no feature flag in the PR, guess the switch is somewhere else?

Curious what's the rollout strategy? I see no feature flag in the PR, guess the switch is somewhere else?

NO FF here. So the whole chain is 1) GHES webhook received the UUID, 2) webhook middleware find the app 3) handler put it to queue (or use it for installation-client) 4) queue processor pick it (uuid) up from the queue and use it.
This PR is for the 4) ( and a little bit of 3). Since there's no FF for 1) and 2), and the code should be compatible with cloud, therefore there's no FF for 3 and 4.

For rolling out, code will be there, but data won't be containing the uuid until someone install a GHES on prod.

Gotcha! Thanks @gxueatlassian  :)


Are there any functions I need to be specifically calling in the callback overrides ?

Got it working by removing the mRecord.setRenderCallback(this)


cost_map_core build error

Hello
Cost_map_core build is failing. cost_map::CostMap is referring elements which are not declared as members for this class.
cost_map_iterator.cpp:19:3: error: ‘mapIndexWithinRange’ is not a member of ‘grid_map’
grid_map::mapIndexWithinRange(endIndex_, size_);
spiral_iterator.cpp:30:7: error: ‘checkIfIndexWithinRange’ is not a member of ‘grid_map’
if (grid_map::checkIfIndexWithinRange(indexCenter_, bufferSize_)) pointsRing_.push_back(indexCenter_);
89:9: error: ‘checkIfIndexWithinRange’ is not a member of ‘grid_map’
if (grid_map::checkIfIndexWithinRange(pointInMap, bufferSize_)) {
polygon_iterator.cpp:85:3: error: ‘limitPositionToRange’ is not a member of ‘grid_map’
grid_map::limitPositionToRange(topLeft, mapLength_, mapPosition_);
polygon_iterator.cpp:86:3: error: ‘limitPositionToRange’ is not a member of ‘grid_map’
grid_map::limitPositionToRange(bottomRight, mapLength_, mapPosition_);
circle_iterator.cpp:87:3: error: ‘limitPositionToRange’ is not a member of ‘grid_map’
grid_map::limitPositionToRange(topLeft, mapLength_, mapPosition_);
circle_iterator.cpp:88:3: error: ‘limitPositionToRange’ is not a member of ‘grid_map’
grid_map::limitPositionToRange(bottomRight, mapLength_, mapPosition_);
..........
..........
ellipse_iterator.cpp:95:3: error: ‘limitPositionToRange’ is not a member of ‘grid_map’
grid_map::limitPositionToRange(bottomRight, mapLength_, mapPosition_);

This is due to renaming changes in grid_map_core: https://github.com/ethz-asl/grid_map/commit/076a8b46fa193414b0cba4e8ebbebc730b032153#diff-46252e3b0e9495873facb5ed40daf9dc
@stonier Could you please adapt them in your code?


Enabling debug breaks deployment

The code directory is empty.
helm install reana reanahub/reana -f values.yaml --version 0.9.0-alpha.8 --debug --wait

kubectl -n default exec deployment/reana-server -c rest-api -- \
        ls .

❯ kubectl version --short
Flag --short has been deprecated, and will be removed in the future. The --short output will become the default.
Client Version: v1.26.0
Kustomize Version: v4.5.7
Server Version: v1.25.4

Hi @mosoriob , could you please also provide the values.yaml file that you are using to deploy REANA?

This is the file
# Default values for reana.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.

# reana_hostname: reana.cern.ch
# `reana_hostname` should be set for third party integrations to work and for
# production deployments to be secure.

reana_hostname: "reana.local"

debug:
  enabled: true
eos:
  enabled: false

workspaces:
  retention_rules:
    maximum_period: forever
    cronjob_schedule: "0 2 * * *"  # everyday at 2am
  paths:
    - /var/reana:/var/reana

compute_backends:
  - kubernetes

shared_storage:
  backend: hostpath  # hostpath | cephfs | nfs
  volume_size: 200
  access_modes: ReadWriteMany
  shared_volume_mount_path: "/var/reana"
  hostpath:
    root_path: "/var/reana"

secrets:
  database: {}
  gitlab: {}
  cern:
    sso: {}
  reana: {}

# External database service configuration
db_env_config:
  REANA_DB_NAME: "reana"
  REANA_DB_PORT: "5432"
  # There are two more environment variables that should be set in order
  # to connect to a database:
  # REANA_DB_USERNAME: containing the database user name.
  # REANA_DB_PASSWORD: containing the password for the user previously set.
  # Both environment variables should be set inside a Kubernetes secret:
  # `[release-name]-db-secrets`

# REANA components configuration
components:
  reana_ui:
    enabled: true
    docs_url: https://docs.reana.io
    forum_url: https://forum.reana.io
    imagePullPolicy: IfNotPresent
    image: reanahub/reana-ui:0.9.0-alpha.7
  reana_db:
    enabled: true
  reana_server:
    imagePullPolicy: IfNotPresent
    image: reanahub/reana-server:0.9.0-alpha.8
    environment:
      REANA_MAX_CONCURRENT_BATCH_WORKFLOWS: 30
      REANA_SCHEDULER_REQUEUE_SLEEP: 15
      REANA_SCHEDULER_REQUEUE_COUNT: 200
      REANA_USER_EMAIL_CONFIRMATION: true
      REANA_WORKFLOW_SCHEDULING_POLICY: "fifo"
      REANA_WORKFLOW_SCHEDULING_READINESS_CHECK_LEVEL: 9
      REANA_RATELIMIT_GUEST_USER: "20 per second"
      REANA_RATELIMIT_AUTHENTICATED_USER: "20 per second"
      REANA_RATELIMIT_SLOW: "1/5 second"
    uwsgi:
      processes: 6
      threads: 4
      log_all: true
      log_4xx: true
      log_5xx: true
  reana_workflow_controller:
    imagePullPolicy: IfNotPresent
    image: reanahub/reana-workflow-controller:0.8.1
    environment:
      SHARED_VOLUME_PATH: /var/reana
      REANA_JOB_STATUS_CONSUMER_PREFETCH_COUNT: 10
  reana_workflow_engine_cwl:
    image: reanahub/reana-workflow-engine-cwl:0.9.0-alpha.5
  reana_workflow_engine_yadage:
    image: reanahub/reana-workflow-engine-yadage:0.9.0-alpha.5
  reana_workflow_engine_serial:
    image: reanahub/reana-workflow-engine-serial:0.9.0-alpha.5
  reana_workflow_engine_snakemake:
    image: reanahub/reana-workflow-engine-snakemake:0.9.0-alpha.6
  reana_job_controller:
    image: reanahub/reana-job-controller:0.9.0-alpha.8
  reana_message_broker:
    imagePullPolicy: IfNotPresent
    image: reanahub/reana-message-broker:0.9.0-alpha.1

notifications:
  enabled: false
  email_config: {}
  system_status: "0 0 * * *"

# Accessing the cluster from outside world
ingress:
  enabled: true
  annotations:
    kubernetes.io/ingress.class: public
  tls:
    self_signed_cert: false

# Permissions
serviceAccount:
  create: true
  name: reana

# Traefik's chart values.yaml
traefik:
  enabled: false

# Quota
quota:
  enabled: true
  periodic_update_policy: "{{ .Values.quota.disk_update }}"
  workflow_termination_update_policy: "{{ .Values.quota.termination_update_policy }}"
  # backward compatibility
  disk_update: "0 3 * * *"  # everyday at 3am
  termination_update_policy: ""

I am not sure what your use case is, feel free to describe more in depth what you would like to achieve so that we can see if there are some alternative solutions to your problem.
In any case, the /code directory inside REANA's pod is used to enable live reload. The code you have on your local computer is mounted inside the pods so that they can auto-refresh when it is modified. If that directory is empty it means that there are some issues with how directories on your local computer are mounted inside the k8s cluster. Note that you need to use Docker images built in debug mode, as the ones available on DockerHub will not load code from /code.
In particular, REANA expects to find under the /code directory on your  k8s "host" the repositories containing the source code of all the components (e.g. /code/reana-server for reana-server, /code/reana-workflow-controller for reana-workflow-controller, etc), so that they can be mounted inside each pod. There are different ways to set this up depending on which tool you use to create k8s clusters (e.g. kind, minikube, etc), but in general each of them provides a way to mount some local directories inside the k8s cluster. See for example kind's Extra Mounts or minikube's Mounting filesystems.
The easiest way to achieve all this is to follow the related guide Using live code reload and debug mode, so that you can create a kind cluster with the right settings and build all the Docker images in debug mode. Before this, you also need to set up your system and clone sources. This might be overkill depending on your needs, as you will be setting up a full development environment.
On an unrelated note, I see that you are using all the latest alpha Docker images except for reana-workflow-controller, which is set to version 0.8.1. You should use matching versions for all the components, as otherwise there might be incompatibilities between them.

Thanks for the response.
I didn't figure out that code you have on my computer (obviously 😵💫 )


Unauthorized: /auth/jwt/create/

I install Djoser with JWT. I am able to activate the user with the Postman. When I send a POST request to this url: /auth/jwt/create/ I get this message from postman:  "detail": "No active account found with the given credentials".

Did you verified the username and password you are providing while making the request?

https://stackoverflow.com/questions/65156272/i-am-creating-a-django-api-for-the-purpose-of-authentication-i-implemented-dj
This is my code...

code is looking fine. Can you share the screenshot of accessing API using Postman?

Yes, I send this body and I get Postman response: "No active user with given credentials"

Did you activate the account before accessing this endpoint?

Yes, I did it. I received an email: an account is activated and ready to use. I checked the database. The record is existing.

The last resort is to check the username and password you might have missed something. Are you providing email as a username?

Yes, I did it. I received an email: an account is activated and ready to use. I checked the database. The record is existing.

Hello. "is_active" field is 1 in the database record?

Yes.

I'm closing the issue as it is not djoser related problem.
btw, @epetrov1 I answered your question on stackoverflow.


Adding github workflow for contributing to fluentd

Describe detail step-by-step of using github to contribute to
fluentd project.
Co-Authored-By: Dao Cong Tien<EMAIL_ADDRESS>Signed-off-by: Nguyen Hai Truong<EMAIL_ADDRESS>

Wow, great addition. Thanks!


Avatar?

Browser gives in console a TypeError: Cannot read property 'avatar' of undefined
It seems avatar is no longer a property of /me
Do we need to work it around to /me/photo?

I actually put in the plumbing for the avatar, but this tutorial doesn't cover getting it from Graph (that's something we're planning on adding later in additional tutorials that build on this simple app). So for now it's by design that you get the default avatar always.
What you'd need to do is update the getUser method in auth.service.ts to make an additional call to /me/photo/$value like:
let userPhotoStream = await graphClient.api('/me/photo/$value').getStream(null);

This returns a ReadableStream. You'd need to read all the data out of it, convert it to a base64 string and generate a Data URI, then save that in the user.avatar.


Platform.name is not detecting firefox in iPad

platform.name is returning Safari when I run my application on Firefox of iPad.

iPad 6th generation with software version 14.2(18B92)
On printing the navigator.userAgent I am getting the following messages
Safari: Mozilla/5.0 (Machintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.1 Safari/605.1.15
Firefox: Mozilla/5.0 (Machintosh; Intel Mac OS X 10_15_4) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1 Safari/605.1.15
Chrome: (iPad; CPU OS 14_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CricOS/87.0.4280.77 Mobile/15E148 Safari/604.1.1
because of this I am not able to identify Firefox browser.
Is there any other way to detect Firefox in iPad.

Since it appears that Firefox on iPad does not provide any distinguishing feature in its user-agent, we would be unable to differentiate between Safari and Firefox.


sequence of ascii parsers should render a string

Another Parser vs Spirit comparison. Apparently, Boost.Spirit assigns to a sequence of ascii parsers a stirng-attribute.
#ifdef WITH_BOOST_SPIRIT
#include <boost/fusion/adapted/struct/adapt_struct.hpp>
#include <boost/spirit/include/qi.hpp>
namespace bp = boost::spirit::qi;
#else
#include <boost/parser/parser.hpp>
namespace bp = boost::parser;
#endif

int main()
{
  auto myParser = (bp::ascii::alnum >> bp::ascii::alnum);

  std::string input = "MM";
  std::string result;

#ifdef WITH_BOOST_SPIRIT
  auto begin = input.begin();
  bool b = bp::phrase_parse(begin, input.end(), myParser, bp::ascii::space, result);
#else
  auto b = bp::parse(input, myParser, bp::ws, result);
#endif

  if (b)
    std::cout << ":-) " << result << std::endl;
  else
    std::cout << ":-(" << std::endl;
}

Yeah.  That's because ATTR(x) >> ATTR(x) is std::vector<ATTR(x)> in the general case as far as I know.  The ascii parsers have char attributes, so they produce std::vector<char>, but there's a special case that makes that std::string instead.
That has changed in my lib in the last week or so.  Remember #36?  I used to take adjacent attributes of any type T and give them the attribute type std::vector<T>.  I no longer do that.  There were technical reasons why, but moreover, If I write int_ >> int_ I want two ints.  I did not say anything about an unbounded sequence of ints.  It just plain feels wrong to me that int_ >> int_ should produce a std::vector<int> instead of a std::tuple<int, int>.


Microsoft Visual C++ 14.0 issues towards latest 2019 versions 14.21.xxxxx

Current Problem
building 'minorminer._minorminer' extension
error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual
C++ Build Tools": https://visualstudio.microsoft.com/downloads/
Around 10GB extra on almost full SSD
Proposed Solution
implement the use of the microsoft visual C++2019 redistributable(x64) - 14.21.27702 or latest version in order to save several GB on SSD
Alternatives Considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
thx

Some solutions?


feat: remote mdx - optimize images

Closes #693
Testing / reviewing
Should use next/image and be optimized (not have image_container class)
http://localhost:3000/samples/remote-mdx-test

closing: we're starting over


Scan source for documentation issues

Could we add support to DocWarden to scan source for comment-based doc violations? For example, references to docs.microsoft.com should not include the culture (e.g. "en-us") in the URL. The service will user the browser's preferred language(s) to direct the user to the appropriate language automatically. The Docs Authoring Pack (docsmsft.docs-authoring-pack) for VSCode, for example, checks this for .md files, but recently @mairaw has graciously been submitting PRs to fix the same violation in .cs files. This makes our comment-based docs much more accessible to users and doesn't need to understand much about the source language. In fact, for this particular rule it may not even have to understand different syntaxes for comments since it could just scan for any URL for docs.microsoft.com (though, admittedly, that's a pretty specific rule and not really generalized).

@KarishmaGhiya this type of link guidance rules should fit in with the other link validation stuff you are working on. We probably should add a rule to the link guidance and then add it and any other link checks in our verify links script.

We are going to enable the locale checking in PR: https://github.com/Azure/azure-sdk-tools/pull/895

We have enabled the check of the culture in md now.
As far as I know, documentation has more rules need to follow besides of culture check in doc.microsoft.com. So it is better to have language to set and check its own rule sets.
Close this one. Please reopen another issue if it has to do documentation scan.


Fix params option of check_double_backward

This PR fixes the bug of check_double_backward with params option. In order to fully support it, it adds params_grad_grad option. It should be merged before v3 RC, otherwise it will be another breaking change.

Please fix the flake8 error.

Fixed.

jenkins, test this please

LGTM!


Secure download link error message

Hi there, I have followed your guide in order to secure download links via License Keys here: https://w-shadow.com/blog/2013/03/19/plugin-updates-securing-download-links/
It works great however when a user doesn't have a valid license and they try to update the plugin they get a generic forbidden error message (see screenshot attached).

Within the extended class in the Wpup_UpdateServer::checkAuthorization($request) method I have defined an error message using $this->exitWithError($message, 403); but the passed message does not get displayed when the user tries to update. Do you have any recommendations on how I can get this message to display in place of the Update failed: Download failed. Forbidden default message.
Thanks, Hayden

You can ignore this issue. I have resolved it. For anyone else wanting to achieve this I removed the download link from the metadata if the license key is not valid (this is also covered in the article linked above). I then used the following filter to add a message to the update notice if the download link is not present:
add_action( 'in_plugin_update_message-your-plugin/your-plugin.php', 'add_upgrade_message', 10, 2 );

function add_upgrade_message( $plugin_data, $new_data ) {

  if( !$plugin_data['package'] ):
    echo 'You must have a valid license key to update.';
  endif;

}

This way users still see that an update is available but if they don't have a license key activated in the plugin's settings they will not have the update link and instead be shown a message detailing they need a licence key.
Thanks Hayden


Find smallest letter greater than the target

#203
Find smallest letter greater than the target in Java

They are not considering dsa,cp,algorithm repository :(
all the pr will not be considered in hacktoberfest but your contribution will be for lifetime, this will help many students to practice dsa .
Thank you for your contribution :)
you can contribute to other repo


feat: Adds Locale parameter to Calendar widgets

Description
Currently there is no way to control the Date Picker's localization
This PR adds the locale field to DayView,  WeekView and MonthView widgets which gets passed to the showDatePicker
If no locale is provided showDatePicker will behave the same way as it currently does.
Checklist

[x] The title of my PR starts with a Conventional Commit prefix (fix:, feat:, docs: etc).
[ ] I have followed the Contributor Guide when preparing my PR.
[x] I have updated/added tests for ALL new/updated/fixed functionality.
[x] I have updated/added relevant documentation in docs and added dartdoc comments with ///.
[ ] I have updated/added relevant examples in examples or docs.

Breaking Change?

[ ] Yes, this PR is a breaking change.
[x] No, this PR is not a breaking change.

@ahmetakil Thank you very much for creating this PR. Unfortunately, we cannot merge it right now. Currently, there are many arguments in the CalendarView widget, making it complicated to use. Adding one more parameter would increase its complexity. Additionally, this parameter is passed in a function that can be overridden by passing builder methods to the respective widgets, rendering this argument unnecessary.
We might add this in the future once we figure out how to reorganize the widget parameters, but right now, we do not have any plans to add it. I suggest creating an issue to ensure this gets implemented in the future.


Add new Resource File Instance for GEOS-IT

What is it?
The new GEOS-IT that is starting in late 2021 is based on GOCART tag v1.0.1 which only contains the old Legacy GOCART implementation. To improve the simulation of anthopogenic aerosols we will use the CEDS emissions.
New Feature
This new resource file instance should use the CEDS anthropogenic emissions and the MODAPS based (non-NRT, LANCE) version of QFED.  Dust and Seasalt will not be modified.

In Chem this can not incorporate the change in Henry's Law for ammonia - agreement reached at NWP group. This is motivated by the fact that 5.29 will be used for FP and more importantly for the long-run of GEOS-IT.

unfortunately the changes for emissions are causing the model to crash:
pe=00287 FAIL at line=02059    MAPL_ExtDataGridCompMod.F90              <Clim year must be month template "%m2">
pe=00287 FAIL at line=01042    MAPL_ExtDataGridCompMod.F90              <status=1>
pe=00287 FAIL at line=01840    MAPL_Generic.F90
I have tested that use of the standard OPS emissions work just fine. So something is amiss in the new files or the dir structure or something ... don't know yet want the problem.

I think I found the problem ... testing ...

@rtodling @amdasilva
Can you point me to the updated ExtData rc files? Sounds like you are trying to do something that is not supported, a look at the rc files should hopefully let me see what the problem is.

I placed two ExtData.rc files under:
/discover/nobackup/rtodling/4AMS/
one subdirectory is OPS (that works); another is GEOSIT (the new one that does not work).
I've been doing some check to see if I find missing files somewhere; so far I have not ... I wonder if one of the files is corrupt. I am running on 20190625.
I can already detect other issues: some of the data only goes as far back as 1999 - GEOSIT starts (in spin-up mode) in 1997.
E.g.:
chemistry/CEDS/v2021-04-21/sfc/NH3-em-anthro_CMIP_CEDS_gn.x2304_y1441_t12.1999.nc4
is the earliest of its type (there are other types in this collection of CEDS that suffer from the same issue)
another case is here:
MERRA2GMI/v0.0.0/L72/MERRA2_GMI.tavg24_3d_dac_Nv.x576_y361_t12.%y4.nc4

I am just noticing that we have (in both old and new) tons of wired files to Anton's home dir:
/home/adarmeno/projects/SOAG/
what is this?

@rtodling
What is the actual directory that gets linked under ExtData for the GEOSIT run so I can look at the files? As far as the rest of the gocart setup, is this just OPS with new ExtData.rc and linking in a different chemistry directory
As for the files in people personal spaces, that's between the ops group and the maintains of those particular file sets/individual ExtData rc files to get those datasets to the ops space rather than individual user spaces.

chemistry

That's a new directory now.
I deleted my comments of personal dir stuff - I realized this is all stuff that is under development not used by anyone else. No need to worry about it

chemistry

No, what is the absolute path that gets linked under ExtData in the scripting, I can't find the files without that.

It's tough to figure out which entry is doing this. That's what I am trying to do ... can do a cross-validation test replace parts of the new w/ the working parts of the old ...

Just committed update with fix templates for the CEDS emissions in @GOCART.
For GEOSchem_GridComp, ignore my branch and go back to rt1.6.2


Single page settings

Requirements

Filling out the template is required. Any pull request that does not include enough information to be reviewed in a timely manner may be closed at the maintainers' discretion.

[ ]  issue was opened to discuss proposed changes before starting implementation.
[x]  during development, node version specified in package.json was used.
[x]  package versions and package-lock.json were not changed (npm install --no-save).
[x]  app version number was not changed.
[ ]  all new code has tests to ensure against regressions.
[ ] npm run lint reports no offenses.
[x] npm run test is error-free.
[ ]  README and CHANGELOG were updated accordingly.

Description of the Change
I unified all settings pages under a single one, with one main script handling it.
The internal semantic division is kept mostly unchanged, so settings are still treated in three separated groups (settings, settings2, settings3).
To keep the very same layout, I implemented a purely CSS carousel following this tutorial.
Now scrolling through the settings panes is smooth thanks to the customizable CSS transition function, and doesn't require the new page load lag anymore.
Other information

Before
After

If required I can post a recording of the changes applied.
If and when merged, the next step could be refactoring the slighlty big settings file.
Sorry for not opening a dedicated issue before, it's really been a quick idea that worked out good.

Thanks, I will test it around ;]

I like it, but there are some problems I have found:

on first 2 pages I have some scrollbar at the bottom, but not on 3th and it makes page jump a bit
Also when you change the language on 3th page it jumps to the 1st page

So, two bugs:

[ ] on first 2 pages I have some scrollbar at the bottom, but not on 3th and it makes page jump a bit

[ ] when you change the language on 3th page it jumps to the 1st page

I'm able to replicate both.

easy to fix, patch on its way
this one seems tricky.

I have not investigated yet how you (or i18next) propagate the new language data, but it seems to me like a page refresh, in which case I'm not sure how to retain the panes status. If this is a strict requirement I'll need a couple days to think about it.

Yeah, I think when we change the language, we wanna stay at the same page. You might be able to do that with # link.
How difficult would be to add one more page to settings?

Reworking the settings based on designs from designer so closing this one.


Enable bucket key for reducing the cost of SSE-KMS with Amazon S3

Signed-off-by: Krishna Mohan Bandi<EMAIL_ADDRESS>what

Allow S3 bucket key to be enabled to reduce the cost of SSE-KMS usage with Amazon S3

why

When KMS encryption is enabled for an Amazon S3 bucket, there is a limit on the number of KMS API calls that can be made. Enabling bucket key not only allows to reduce the number of KMS API calls but also reduces the cost of SSE-KMS with Amazon S3.

references

https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-key.html
closes #114

/test all

Looks like you forgot to update examples/complete/main.tf and add the bucket_key_enabled variable in the module invocation.

/test all


how to use in yii2-advanced

I don't know <?php echo \yii2mod\comments\widgets\Comment::widget([     'model' => $model,     'relatedTo' => 'User ' . \Yii::$app->user->identity->username . ' commented on the page ' . \yii\helpers\Url::current() // for example ]); ?> about what is the '$model'. Is't a model =new user?

Hi,  for example:
$model = PostModel::findOne(['title' => 'some post title']);
$model = UserModel::find()->where(['email' => 'some email'])->one();

Can I use it in yii2 -advanced/frontend/views straightly? Thank you.

I saw the second closed issues. May I have to use 'en-US' in my application if I want to use this.

Can I use it in yii2 -advanced/frontend/views straightly? Thank you.

yes, of course. Code for example:

// In your controller

$post = PostModel::findOne(['title' => 'your post title']);

return $this->render('your view', [
  'post' => $post
]);

// In your view file

<?php echo \yii2mod\comments\widgets\Comment::widget([
    'model' => $post,
    'relatedTo' => 'User ' . \Yii::$app->user->identity->username . ' commented on the page ' . \yii\helpers\Url::current() // for example
]); ?>

May I have to use 'en-US' in my application if I want to use this.

Yes, of course.  Yii2 by default used the 'en-US' language.

What's the 'PostModel' ?

What's the 'PostModel' ?

This model just for example, you need to use your own models in your project.


⚠ Spryr has degraded performance

In 9d2906f, Spryr (https://spryr.com) experienced degraded performance:

HTTP code: 200
Response time: 5232 ms

Resolved: Spryr performance has improved in 56f3264 after 16 minutes.


Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.
Pending Approval
These branches will be created by Renovate only once you click their checkbox below.

[ ] Update actions/checkout action to v4
[ ] Update actions/setup-node action to v4
[ ] Update dependency @types/node to v20
[ ] Update dependency log-update to v6
[ ] 🔐 Create all pending approval PRs at once 🔐

Awaiting Schedule
These updates are awaiting their schedule. Click on a checkbox to get an update now.

[ ] Pin dependency @types/node to v18.18.7
[ ] Lock file maintenance

Pending Status Checks
These updates await pending status checks. To force their creation now, click the checkbox below.

[ ] Update docker/build-push-action action to v6

Detected dependencies
dockerfile

Dockerfile

github-actions

.github/workflows/release.yml

actions/checkout v2
actions/setup-node v2
actions/create-release v1
actions/checkout v4
docker/setup-qemu-action v3
docker/setup-buildx-action v3
docker/login-action v3
docker/login-action v3
docker/metadata-action v5
docker/build-push-action v5

npm

package.json

cac ^6.7.14
chalk ^5.3.0
fastq ^1.15.0
jest-diff ^29.7.0
log-update ^5.0.1
@types/node ^18.18.7
node >=20

nvm

.nvmrc

node 20

Check out this project: https://github.com/7AXEL/Web2APK


Added Laravel 11 support

This PR adds Laravel 11 support to the package.

@Tofandel please let me know if there are any issues with this PR!

Thanks, I didn't really test laravel 11 yet, I don't think any breaking change affects this though so I released it, let me know if there is any issue

Thanks! Will be in touch if I find any issues.


Crashes on startup if beacon node not yet ready.

It seems during the start-up, if the beacon node is not yet ready to serve traffic, eth2stats will crash.
This causes a problem when running both of them in a kubernetes pod together.  The pod starts up, starting a beacon node, and eth2stats.  The beacon node takes a little time to be able to start serving traffic, but eth2stats attempts immediately, fails, and crashes.  This causes all the containers to be restarted, and we get into an infinite loop of failure.
Would it make sense to have some retry/back-off mechanism at startup to be more forgiving of the beacon node not yet being ready?

weird, it was supposed to wait indefinitely.
thanks, will investigate.
does it give any specific error message when crashing?

Not really, usually I am just seeing logs stop with no error other than RPC failures.  The full output will generally be one of these two cases:
time="2020-02-10T23:57:26Z" level=info msg="Could not load config file. Falling back to args. Error: Config File \"config\" Not Found in \"[/]\"" module=main
time="2020-02-10T23:57:26Z" level=debug msg="[main] Debug mode"
time="2020-02-10T23:57:26Z" level=info msg="[prysm] setting up beacon client connection"
time="2020-02-10T23:57:26Z" level=info msg="[core] setting up eth2stats server connection"
time="2020-02-10T23:57:26Z" level=debug msg="[core] looking for existing token"
time="2020-02-10T23:57:27Z" level=debug msg="[core] found token"
time="2020-02-10T23:57:27Z" level=info msg="[core] getting beacon client version"

OR
time="2020-02-10T23:57:26Z" level=info msg="Could not load config file. Falling back to args. Error: Config File \"config\" Not Found in \"[/]\"" module=main
time="2020-02-10T23:57:26Z" level=debug msg="[main] Debug mode"
time="2020-02-10T23:57:26Z" level=info msg="[prysm] setting up beacon client connection"
time="2020-02-10T23:57:26Z" level=info msg="[core] setting up eth2stats server connection"
time="2020-02-10T23:57:26Z" level=debug msg="[core] looking for existing token"
time="2020-02-10T23:57:27Z" level=debug msg="[core] found token"
time="2020-02-10T23:57:27Z" level=info msg="[core] getting beacon client version"
time="2020-02-10T23:57:27Z" level=info msg="[core] got beacon client version" version="Prysm/Git commit: {STABLE_GIT_COMMIT}. Built at: 2020-02-10T23:39:53Z"
time="2020-02-10T23:57:27Z" level=info msg="[core] getting beacon client genesis time"
time="2020-02-10T23:57:27Z" level=info msg="[core] got beacon client genesis time" genesisTime=1578614400
time="2020-02-10T23:57:27Z" level=info msg="[core] awaiting connection to eth2stats server"
time="2020-02-10T23:57:27Z" level=info msg="[core] getting chain head for initial feed"
time="2020-02-10T23:57:27Z" level=error msg="[prysm] rpc error: code = Internal desc = Could not get finalized block"
time="2020-02-10T23:57:27Z" level=fatal msg="[core] rpc error: code = Internal desc = Could not get finalized block"

and then exit with code 1.

thanks, thinking how to handle this. not that trivial because i'm not sure what to use as a "healthy" prysm trigger...

@timmyers could you try with docker image alethio/eth2stats-client:dev ?
it should be a lot more forgiving with the kind of interruptions you are worried about
(could be a bit verbose)
would appreciate you testing it as well
cheers

Just tried it out, seemed to work great!

super cool, released it under latest and v0.0.6


organize bindings

crypto is a possible example, eg with blake2 added there
would like functions in individual files, and mod.rs/base.rs for common code, eg imports
an information architecture (IA) example to draw upon is gnome/xfce/kde application menus, eg office, network, system, multimedia, graphics, etc

reactions?
# system
time
fs

# string
case <- heck
mime
uuid
sets <- stringset (rename into_table->to_table)
regex
diff

# text
yaml
json
scl
select

# archive
zip
tar

# app
git
tera
markdown
tantivy
log
web-server <- server
web-client <- client

web-server and web-client and such variants should go into web

hmm.. git seems to have lost the history of every file
and yet github shows where it came from - but only in the commit

Could you explain? The history is still there for me

Ok I see what youre referring too which I find a bit strange but from what I see, it is how git work when it comes to moving a file. The history is still there though if you run git log --follow <path/to/file> (which is what my client does by default).

The history is still there though

cool. ty


issue with Losing Cookies on Vercel Deployment with Custom Domain

After deploying my website with Vercel and utilizing the custom domain feature, I've encountered an issue where the website loses cookies information after some time. As a result, I need to manually clear cookies and log in again to my DuckDuckGo account for the site to function properly. Interestingly, when using Vercel's official domain, this problem does not occur.
Expected Behavior: Cookies information should persist consistently, regardless of whether a custom domain or Vercel's official domain is used.

Hi,
The DDG account-related functionality does not use cookie. What kind of problem are you experiencing? Can you reproduce it using 'Our hosted'?


slower training from vector-leaf models when it should be faster

Currently, training a vector-leaf model is slower than training a one-model-per-target model. I'm not sure how this is possible.
Let say you have 50 outputs with regression, then a vector-leaf model should try to find the data split such that the average loss (over the 50 losses, one loss for each output) is minimized. Since calculating the average loss is fast and you are making a single model, this should be close to 50 times faster than training 50 models (one for each output). Why is this not the case? Is there a way to actually get a speedup?
Example:
import xgboost as xgb
import numpy as np
X = np.random.normal(size=(1000, 50))
y = np.random.normal(size=(1000, 50))
data = xgb.QuantileDMatrix(data=X, label=y)

# 4.41 seconds
xgb_dict = {'objective': 'reg:squarederror', "tree_method": 'hist', 'device': 'cpu'}
out = xgb.train(xgb_dict, data, num_boost_round=10)

# 6.81 seconds
xgb_dict = {'objective': 'reg:squarederror', "tree_method": 'hist', 'device': 'cpu', 'multi_strategy': "multi_output_tree"}
out = xgb.train(xgb_dict, data, num_boost_round=10)

There are several potential causes of the slowdown. With a single model, XGBoost is likely to grow a larger model, for a tree model, the number of leaves can be exponential with the depth of the tree, which drives the number of histograms being built to be exponential. Then the vector leaf implementation is not yet well optimized since it's still a work in progress. Lastly, training speed is not the primary objective for having vector leaves, we have some other optimizations being planed for large number of targets.


CloudKitOperation: ability to add configuration to the next (retry) operation

This PR adds two new public methods:
class CloudKitOperation {
+    func setPrepareForRetryHandler()
}

class BatchedCloudKitOperation {
+    func setPrepareForNextOperationHandler()
}

CloudKitOperation:
CloudKitOperation.setPrepareForRetryHandler():
Sets a handler block which receives a closure that can be used to add configuration blocks to the retry operation.
This will be useful for some of the new (iOS 10 / macOS 10.12) CloudKit operations that use pipelining, like CKFetchRecordZoneChangesOperation (where the client code may want to update the previousServerChangeToken for a zone in the event of prior partial success that was persisted).
Hypothetical pseudo-code example (doesn't work yet because support for the new CloudKit operations isn't yet included):
var recordsChanged: [CKRecord] = []
var recordIDsDeleted: [CKRecordID] = []

let zone1 = CKRecordZoneID(zoneName: "zone1", ownerName: CKCurrentUserDefaultName)
let zone2 = CKRecordZoneID(zoneName: "zone2", ownerName: CKCurrentUserDefaultName)
var currentChangeTokens: [CKRecordZoneID: CKServerChangeToken] = [zone1: nil, zone2: nil] // fresh/first download of changes
var zoneCompleted: [CKRecordZoneID: Bool] = [zone1: false, zone2: false]

let zone1Options = CKFetchRecordZoneChangesOptions()
let zone2Options = CKFetchRecordZoneChangesOptions()
zone1Options.previousServerChangeToken = currentChangeTokens[zone1]
zone2Options.previousServerChangeToken = currentChangeTokens[zone2]
let zones = [zone1, zone2]

let operation: CloudKitOperation<CKFetchRecordZoneChangesOperation> = CloudKitOperation { CKFetchRecordZoneChangesOperation() }

operation.recordZoneIDs = zones
operation.optionsByRecordZoneID = [zone1: zone1Options, zone2: zone2Options]

operation.recordChangedBlock = { record in
    recordsChanged.append(record)
}
operation.recordWithIDWasDeletedBlock = { recordID in
    recordIDsDeleted.append(recordID)
}
operation.recordZoneChangeTokensUpdatedBlock = { (recordZoneID, serverChangeToken, clientChangeTokenData) in
    currentChangeTokens.updateValue(serverChangeToken, forKey: recordZoneID)
}
operation.recordZoneFetchCompletionBlock = { (recordZoneID, serverChangeToken, clientChangeTokenData, moreComing, recordZoneError) in
    currentChangeTokens.updateValue(serverChangeToken, forKey: recordZoneID)
    zoneCompleted.updateValue(true, forKey: recordZoneID)
    // handle error if needed here, but shouldn't be required - error should bubble up to an operationError in fetchRecordZoneChangesCompletionBlock
    // moreComing is always false unless fetchAllChanges is set to false (fetchAllChanges default is true)
}
operation.fetchRecordZoneChangesCompletionBlock = {
    // if reached here, success - handle the fact that the fetch of all changes is complete
}

operation.setPrepareForRetryHandler { addConfigureBlock in
    addConfigureBlock { nextOperation in
        // only retry with zones that haven't completed
        // and ensure that the per-zone previousServerChangeToken is the last-processed one
        let incompleteZones = zones.filter { (recordZoneID) -> Bool in
            return !(zoneCompleted[recordZoneID] ?? false)
        }
        nextOperation.recordZoneIDs = incompleteZones

        var optionsForIncompleteZones: [CKRecordZoneID: CKFetchRecordZoneChangesOptions] = [:]
        for zone in incompleteZones {
            let options = CKFetchRecordZoneChangesOptions()
            options.previousServerChangeToken = currentChangeTokens[zone]
            optionsForIncompleteZones[zone] = options
        }
        nextOperation.optionsByRecordZoneID = optionsForIncompleteZones
    }
}

BatchedCloudKitOperation:
BatchedCloudKitOperation.setPrepareForNextOperationHandler():
Sets a handler block which receives a closure that can be used to add configuration blocks to the next CloudKitOperation (i.e. when the current CloudKitOperation returns with moreComing == true)
For example, if the "next" operation needs to use the updated serverChangeToken:
batchedOperation.setPrepareForNextOperationHandler { addConfigureBlock in
    addConfigureBlock { nextOperation in
        nextOperation.previousServerChangeToken = currentServerChangeToken // <-- (retrieved/persisted elsewhere)
    }
}

Hi @swiftlyfalling - not had a chance to look though this yet - unfortunately, won't get to it until tomorrow now...

@swiftlyfalling - looks good. I made a few comments, nothing too serious. Also, would be great if you could pull development into the branch.
Also, and I know this was my suggestion... but just so that we're clear... the prepareForRetryOperation handler, is a closure which receives a closure which receives a configure closure which receives the operation....
While this is the most flexible - as it allows the framework consumer to do whatever they want in that closure, I'm am wondering if it's a bit complicated. As in, you have to call this block, with another closure, which will receive the operation.
We could, I think, make it so that the prepareForRetryOperation handler receives the operation, and the framework consumer can set it up there. Internally, we would then optionally execute this block at the correct time.
To re-iterate I'm not looking to change it necessarily, I'm just re-visiting the decision to double check what makes sense for the consumer. What do you think?
(Otherwise - the code & tests look great 🙌)

Will make the suggested code tweaks later today.
Regarding the structure of this addition:
If the goal is simply to permit changing the next operation's parameters, the "simpler" method you proposed could work. (Although it would seem to require more code changes to other things, like Repeated/RetryOperation.)
But this method could also be extended to support other functionality.
For example:
What if a consumer wants to override the default retry behavior, regardless of the cause of the retry (i.e. regardless of the specific CKError) based on some other state?
Instead of them having to set an error handler for every single error code that needs to potentially retry (and thus duplicate the built-in retry support), they can just set this handler, once. (It would obviously need to be changed to also provide the suggested delay & configure, and return a new one.)

This PR adds two new public methods:
class CloudKitOperation {
+    func setFinallyConfigureRetryOperationBlock()
}

class BatchedCloudKitOperation {
+    func setConfigureNextOperationBlock()
}

CloudKitOperation:
CloudKitOperation. setFinallyConfigureRetryOperationBlock():
Sets a block that can be used to configure retry operations, after the error handler configures them.
This will be useful for some of the new (iOS 10 / macOS 10.12) CloudKit operations that use pipelining, like CKFetchRecordZoneChangesOperation (where the client code may want to update the previousServerChangeToken for a zone in the event of prior partial success that was persisted).
Hypothetical pseudo-code example (doesn't work yet because support for the new CloudKit operations isn't yet included):
var recordsChanged: [CKRecord] = []
var recordIDsDeleted: [CKRecordID] = []

let zone1 = CKRecordZoneID(zoneName: "zone1", ownerName: CKCurrentUserDefaultName)
let zone2 = CKRecordZoneID(zoneName: "zone2", ownerName: CKCurrentUserDefaultName)
var currentChangeTokens: [CKRecordZoneID: CKServerChangeToken] = [zone1: nil, zone2: nil] // fresh/first download of changes
var zoneCompleted: [CKRecordZoneID: Bool] = [zone1: false, zone2: false]

let zone1Options = CKFetchRecordZoneChangesOptions()
let zone2Options = CKFetchRecordZoneChangesOptions()
zone1Options.previousServerChangeToken = currentChangeTokens[zone1]
zone2Options.previousServerChangeToken = currentChangeTokens[zone2]
let zones = [zone1, zone2]

let operation: CloudKitOperation<CKFetchRecordZoneChangesOperation> = CloudKitOperation { CKFetchRecordZoneChangesOperation() }

operation.recordZoneIDs = zones
operation.optionsByRecordZoneID = [zone1: zone1Options, zone2: zone2Options]

operation.recordChangedBlock = { record in
    recordsChanged.append(record)
}
operation.recordWithIDWasDeletedBlock = { recordID in
    recordIDsDeleted.append(recordID)
}
operation.recordZoneChangeTokensUpdatedBlock = { (recordZoneID, serverChangeToken, clientChangeTokenData) in
    currentChangeTokens.updateValue(serverChangeToken, forKey: recordZoneID)
}
operation.recordZoneFetchCompletionBlock = { (recordZoneID, serverChangeToken, clientChangeTokenData, moreComing, recordZoneError) in
    currentChangeTokens.updateValue(serverChangeToken, forKey: recordZoneID)
    zoneCompleted.updateValue(true, forKey: recordZoneID)
    // handle error if needed here, but shouldn't be required - error should bubble up to an operationError in fetchRecordZoneChangesCompletionBlock
    // moreComing is always false unless fetchAllChanges is set to false (fetchAllChanges default is true)
}
operation.fetchRecordZoneChangesCompletionBlock = {
    // if reached here, success - handle the fact that the fetch of all changes is complete
}

operation.setFinallyConfigureRetryOperationBlock { nextOperation in
    // only retry with zones that haven't completed
    // and ensure that the per-zone previousServerChangeToken is the last-processed one
    let incompleteZones = zones.filter { (recordZoneID) -> Bool in
        return !(zoneCompleted[recordZoneID] ?? false)
    }
    nextOperation.recordZoneIDs = incompleteZones

    var optionsForIncompleteZones: [CKRecordZoneID: CKFetchRecordZoneChangesOptions] = [:]
    for zone in incompleteZones {
        let options = CKFetchRecordZoneChangesOptions()
        options.previousServerChangeToken = currentChangeTokens[zone]
        optionsForIncompleteZones[zone] = options
    }
    nextOperation.optionsByRecordZoneID = optionsForIncompleteZones
}

BatchedCloudKitOperation:
BatchedCloudKitOperation.setConfigureNextOperationBlock():
Set a block that can configure the next internal CloudKitOperation (i.e. if moreComing == true)
The operation passed-into the block will be the next operation, already configured like the previous operation. Use this block to make any additional required changes.
For example, if the "next" operation needs to use the updated serverChangeToken:
batchedOperation.setConfigureNextOperationBlock { nextOperation in
    nextOperation.previousServerChangeToken = currentServerChangeToken // <-- (retrieved/persisted elsewhere)
}

I also added some documentation for BatchedCloudKitOperation.

For clarity on the order of operations (in case anyone is curious about how CloudKitOperation works):
When a CloudKitOperation experiences an error*:

If a custom error handler for the specific error code was set by the client (i.e. by calling setErrorHandlerForCode on the CloudKitOperation), that custom error handler will be called.
Else, if a default error handler for the specific error code is set (in class CloudKitRecovery), that default error handler will be called.
If no error handler is set for the specific error code, the CloudKitOperation finishes with the error.
If an error handler is called, it is provided with:

the current underlying CKOperation that errored
the error
a log variable (for the purpose of logging diagnostic information)
a suggested suggestion of (delay & configure block);

the suggested.configure configure block is the last CKOperation's configure block

The error handler returns an optional tuple of (delay & configure block) as the response.
If the error handler returns nil, the CloudKitOperation finishes with the error.
If the error handler returns a (delay & configure block), it indicates that the CKOperation should be retried after the specified delay, and configured with the specified configure block.
After the new (retry) operation is configured by the configuration block returned by the error handler, the retry operation is passed to the finallyConfigureRetryOperationBlock (if one was set by a call to CloudKitOperation.setFinallyConfigureRetryOperationBlock), which has a chance to further configure it.

* Error handling/recovery requires setting the CKOperation-specific completion block on the CloudKitOperation. See the CloudKitOperation documentation.


Use a local copy of font awesome instead of a CDN

Loading css and font files from an external resource violates strict Content-Security-Policy. We don't want to make an exception for a CDN because we want to maintain a very strict policy.
I've removed the .ttf, .eot and .woff font variants as they are for compatibility with browsers we don't support. References to these files have been removed from the minified css file provided by Font Awesome.
Files downloaded from: https://fontawesome.com/v4/get-started/

This is great. Thanks all.


Migrate extension to node 18

Can we also upgrade the node used by devcontainers/codespaces? cc/ @anthonykim1
Yes! That should be totally possible @karrtikr
I can take care of that.

Compile passes

I assume this was run inside the api directory.

Yes it was run in the API directory.

@karthiknadig Error is coming from a package https://www.npmjs.com/package/gulp-typescript which hasn't been updated in 4 years, so likely isn't adaptive to Node18.
Is there a way to make the package use our "source-map" dependency instead of its own node_modules/gulp-typescript/node_modules/source-map?

Can we just drop gulp? Use nox as task runner.

@karthiknadig https://github.com/microsoft/vscode-python/pull/21937#issuecomment-1709214941 should be fixed now.

Can we just drop gulp? Use nox as task runner.

Except for one package

I think we can find nox-equivalent for most other stuff.

We should also create/link an issue corresponding to this PR.

Okay, will do! Thank you

@karthiknadig I think we can move everything over to nox. See here for implementation of node-has-native-dependencies. It is just looking for files by name binding.gyp: https://github.com/sramam/node-has-native-dependencies/blob/master/index.js

Did not have permission to rebase and force push on this branch hence created a new PR: https://github.com/microsoft/vscode-python/pull/22135.


remove update_index and wagtailsearch backends

Please update the docs to reflect this change

@miltontony there is an open PR #405 for updating the doc with the V5 changes, I will update these changes there


JSX: Does not respect significant whitespace around expressions

Describe the bug
Dprint incorrectly erases whitespace around a single JSX expression inside single-line JSX elements.
dprint-plugin-typescript version: 0.80.2
See dprint playground vs prettier playground for the same code sample. Prettier maintains spaces in both cases.
In both case when rendered into the browser with React, we get observably different behavior from the input. With space before and after, the element has 3 child text nodes. If we erase the space before and after we only have 1 child text node. This difference can be observed if we set white-space: pre on the affected elements.
Interestingly, pre is formatted differently from div.
Input Code
<>

 {"hello"}

 {"hello"}

</>

Expected Output
<>

 {"hello"}

 {"hello"}

</>

Actual Output
<>

{"hello"}

 {"hello"}

</>

I started looking at this and this behavior is tested here with documented expectations that contradict this issue:
https://github.com/dprint/dprint-plugin-typescript/blob/697da587116633b939057112ff9e3f34a12afa29/tests/specs/jsx/JsxElement/JsxElement_Spaces.txt#L9-L13
That test case does not use space and a JSX expression containing a string (and has the same childNode length) but is still an observable difference at runtime from the input as authored.


GetQuestID replacement for pre-4.0 clients

Couldn't that be its own addon/lib? Other addons might benefit, and it's well scoped.

It could be, but I'm not sure how failproof it is. Currently its data is limited to quests that have VO, I haven't tried checking what's the situation if I include all Vanilla quests and also TBC and WotLK quests. Don't know what the database size will be either.
But the biggest issue is that it relies on DB data to be the same between the DB used for this addon (vmangos) and the DB used on the server you're currently playing on. If a quest is offered/rewarded by a different NPC - the lookup might fail. If quests texts differ in some way - the lookup will fail. I tried to minimize the latter by excluding everything except for latin characters from the hash. This is less of an issue when used within just this addon: if there's a mismatch in the quest text or the npc - it's ok to fail the ID lookup, because that probably means that the VO would be wrong too (wrong race/gender of the speaker, wrong words). But it this was a general library - such behavior won't fly.
And then there's the issue of other locales. Again, in this addon this doesn't matter, because the VO is english-only, so we only need to care about players on the english client. But each other locale would require its own hash lookup database. But that's the lesser evil still. The greater evil is UTF-8. Lua patterns work with latin text just fine, but double-byte+ characters in UTF-8 would break it completely, as Lua is going to treat each byte as a separate character. Any sort of work with non-english text in Lua has to be done through external UTF-8 libraries, and I doubt there's one that reimplements patterns (or even regexps) to make them UTF-8 compatible.

im working on a 1.12 replacement

I'm going with MrThinger's implementation so that we can share the code and data between 1.12 and 3.3.5. My solution stays up in my repo for historical reasons, might help someone someday.


chore: Prepare 3.5.0 release

Detail

Release 3.5.0

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

AWS CodeBuild CI Report

CodeBuild project: GitHubCodeBuild8756EF16-4rfo0GHQ0u9a
Commit ID: 4b0a95b0d126579cddc1d339f828f2a630bb6a61
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubDistributedCodeBuild6-jWcl5DLmvupS
Commit ID: 4b0a95b0d126579cddc1d339f828f2a630bb6a61
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubCodeBuild8756EF16-4rfo0GHQ0u9a
Commit ID: 6497948fb3a7b1f11107dfba928187932551784b
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubDistributedCodeBuild6-jWcl5DLmvupS
Commit ID: 6497948fb3a7b1f11107dfba928187932551784b
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository


Encoding::UndefinedConversionError when using console formatter

During printing content from some ssh output we sometime notice this error:
"\xE2" from ASCII-8BIT to UTF-8 (Encoding::UndefinedConversionError)
/usr/local/share/gems/gems/cucumber-1.2.3/lib/cucumber/formatter/console.rb:187:in write' /usr/local/share/gems/gems/cucumber-1.2.3/lib/cucumber/formatter/console.rb:187:inputs'
/usr/local/share/gems/gems/cucumber-1.2.3/lib/cucumber/formatter/console.rb:187:in print_message' /usr/local/share/gems/gems/cucumber-1.2.3/lib/cucumber/formatter/console.rb:175:inblock in print_messages'
/usr/local/share/gems/gems/cucumber-1.2.3/lib/cucumber/formatter/console.rb:175:in each' /usr/local/share/gems/gems/cucumber-1.2.3/lib/cucumber/formatter/console.rb:175:inprint_messages'
/usr/local/share/gems/gems/cucumber-1.2.3/lib/cucumber/formatter/pretty.rb:153:in step_name' /usr/local/share/gems/gems/cucumber-1.2.3/lib/cucumber/ast/tree_walker.rb:174:inblock in send_to_all'
/usr/local/share/gems/gems/cucumber-1.2.3/lib/cucumber/ast/tree_walker.rb:172:in each' /usr/local/share/gems/gems/cucumber-1.2.3/lib/cucumber/ast/tree_walker.rb:172:insend_to_all'
/usr/local/share/gems/gems/cucumber-1.2.3/lib/cucumber/ast/tree_walker.rb:166:in broadcast' /usr/local/share/gems/gems/cucumber-1.2.3/lib/cucumber/ast/tree_walker.rb:112:invisit_step_name'
/usr/local/share/gems/gems/cucumber-1.2.3/lib/cucumber/ast/tree_walker.rb:105:in block in visit_step_result' /usr/local/share/gems/gems/cucumber-1.2.3/lib/cucumber/ast/tree_walker.rb:163:inbroadcast'
/usr/local/share/gems/gems/cucumber-1.2.3/lib/cucumber/ast/tree_walker.rb:104:in visit_step_result' /usr/local/share/gems/gems/cucumber-1.2.3/lib/cucumber/ast/step_invocation.rb:43:invisit_step_result'
/usr/local/share/gems/gems/cucumber-1.2.3/lib/cucumber/ast/step_invocation.rb:39:in `accept'
...

I have been seeing this error and exit a lot lately using the junit or prettyface formatters. Have seen it using 1.3.18 and 1.3.19 (haven't migrated to 2.0 yet). Unfortunately, this happens intermittently and rarely on a particular scenario. Not sure if this helps but ran a quick check to see if there's any non UTF-8 chars in any of my files, but looks like everything is UTF-8.
all_encoding = []
Dir.glob('features/**/*.rb').each do |file|
  all_encoding.push(File.open(file).map { |line| line.to_s.encoding })
end

all_encoding.flatten.count { |encoding| encoding.name != 'UTF-8' } # 0

As a workaround, wondering if there's a simple way to globally swallow the exception so that our test executions don't randomly terminate.
Let me know if there's anything I can provide to help triage the issue. Has anyone else been running into this lately?

In my experience the problematic string may come from one of library/sdk call, so encoding of your files are not the only possible source of the problem :(
As for helpful information: more up-to-date backtrace and (if you will be able to create one) the test.

Closing due to inactivity. If you find this issue in newer versions of Cucumber please reopen.


docs(tutorials): add Setup OpenTelemetry tutorial

Hey, I just made a Pull Request!
Adds a simple tutorial to setup OpenTelemetry in a Backstage project using simple Console exporters.
This should close #20155. Tell me if you see something's missing!
:heavy_check_mark: Checklist

[ ] ~A changeset describing the change and affected packages. (more info)~
[X] Added or updated documentation
[ ] ~Tests for new functionality and regression tests for bug fixes~
[ ] ~Screenshots attached (for UI changes)~
[X] All your commits have a Signed-off-by line in the message. (more info)

Hey @awanlin, thanks for the review!

I'd like to keep #20155 open as I see this as the first step, I'd eventually like to see how to actually use the Traces and how to add more metrics. Hope that's alright with you?

Yes of course, there's still work to do in my opinion.
It would be nice to also have an exhaustive listing of available metrics per package/plugin. We just started to play with metrics on our side, maybe I'll hack a follow-up PR to add this list as a reference somewhere.

@benjdlambert, can you merge this? It's a docs only change so the E2E tests are not related

Thanks again @tcardonne and thanks for the merge @benjdlambert 🚀


Loosen things that cause style version check to fail

Guard against emptry strings in version checks
Change fatal-error to warning and disable style check when wrong version

This outputs too many warnings (one per child style target).  Fix incoming

Good catch! I also ran into this sort of error while testing the yapf formatter if yapf wasn't the right version or if it wasn't in the Python module search path.


VIC (very important change) - Fixes highly critical bug

titel.
I can't unsee this now. Please fix!!!!

Thanks, epic PR!


remove unit tests which describe exactly what the code describes

@johnbellone not sure who had written these, but I've seen a lot of this since test-kitchen started picking up speed. It doesn't help that the very first example of test-kitchen (back at the 2nd annual community summit) was for installing a Redis instance using one of these types of tests. We need to advocate for functional tests for recipes and not unit tests. They are absolutely and completely useless.
Unit tests for recipes are just code duplication which makes things more difficult to maintain while completely missing the point of testing functionality. Recipes aren't a unit of code, they are a set of instructions which build a feature. They can only be properly tested by a functional test. We should avoid merging these types of tests into our codebase.
The LWRP unit tests are marginally useful so I've left them. They could just as easily be tested by a functional test as well (and they should).

Coverage remained the same at 100.0% when pulling ed9cb74095e6f9fb36ad93fcfd8709d08889d10a on remove-useless-tests into e332fc94e763259d8662a8e8ecbd55983671282c on master.


[Bug]: Error is displayed when a new application is created

Is there an existing issue for this?

[X] I have searched the existing issues

Description
"Please enter a valid parameter applicationid" is displayed whenever a new application is created.

https://loom.com/share/a4fe9987e36c46439efaf955ce617061
Steps To Reproduce

Create a new application in any organization and observe the error

Public Sample App
No response
Version
Cloud

@shwetha-ramesh @Parthvi12 I am not able reproduce this issue, i tried in multiple organisations.
https://www.loom.com/share/b50e6b6144c54b86bea2f6f2f010bb5c

@AnaghHegde it's very sporadic. I don't see it happening for me as well as of now.

@AnaghHegde I am observing this issue on prod today. Every-time I launch any app in edit mode the error is displayed.

@vivekverma2312 can you plese verify which API is failing? We have seen this issue with threads API which was fixed earlier by @albinAppsmith.

@AnaghHegde @abhvsn - reopening this issue as it is till reproducible on prod.

I am facing this issue, when I open an existing app.

To reproduce this issue:


feat: adding the use of topsort sdk for reporting events

This PR adds the use of Topsort.js SDK for reporting events
You can see the use inside analytics in this video
Library size
Before Change:
dist/ts.mjs  9.04 kB │ gzip: 3.21 kB
dist/ts.js  6.32 kB │ gzip: 2.72 kB
After Change:
dist/ts.mjs  10.37 kB │ gzip: 3.61 kB
dist/ts.js  7.63 kB │ gzip: 3.22 kB

I would like to understand why the size grows. Since its so small, can you peek into the diff?

I would like to understand why the size grows. Since its so small, can you peek into the diff?

The difference comes from:

The error handling in the SDK (AppError)
Configuration validation (used to verify required fields coming in the request)
withValidation (HOF used to wrap functions that we will validate fields)
Request handling (The class API Client we use to wrap the function calls for better error handling)
Use of URL construction (used for better error messages for invalid URL) - new URL(url)

Please feel free to check the diff here as well


Fix failing circuit diagrams for Toffoli bloq when used in a Cirq circuit

Currently using CNOT or Toffoli bloq's in a cirq circuit raises an error when you try to print the circuit
Adds ModPlus type to _wire_symbol_to_cirq_diagram_info. Also, @mpharrigan How do we keep the interop in sync with new WireSymbol classes? Should we add a text/pretty_str style property to WireSymbol class?

yes, we can add a new property to WireSymbol if we want to factor out this conversion logic

@mpharrigan I've updated the ModPlus conversion to always return X so it matches cirq style diagrams by default. PTAL