No code collection

Please confirm this pull request meets the following requirements:

[x] I followed the contributing guidelines: https://github.com/github/explore/blob/main/CONTRIBUTING.md.
[x] I am not the sole author or employee of a company who created the topic or collection I'm changing.

Which change are you proposing?

[ ] Suggesting edits to an existing topic or collection
[ ] Curating a new topic or collection
[ ] Something that does not neatly fit into the binary options above

Editing an existing topic or collection
I'm suggesting these edits to an existing topic or collection:

[ ] Image (and my file is *.png, square, dimensions 288x288, size <= 75 kB)
[ ] Content (and my changes are in index.md)

Please replace this line with an explanation of why you think these changes should be made.

Curating a new topic or collection

[x] I've formatted my changes as a new folder directory, named for the topic or collection as it appears in the URL on GitHub (e.g. https://github.com/topics/[NAME] or https://github.com/collections/[NAME])
[x] My folder contains a *.png image (if applicable) and index.md
[x] All required fields in my index.md conform to the Style Guide and API docs: https://github.com/github/explore/tree/main/docs

Please replace this line with an explanation of why you think this topic or collection should be curated.

Something that does not neatly fit into the binary options above

[ ] My suggested edits are not about an existing topic or collection, or at least not a single one
[ ] My suggested edits are not about curating a new topic or collection, or at least not a single one
[ ] My suggested edits conform to the Style Guide and API docs: https://github.com/github/explore/tree/main/docs

Please replace this line with an explanation of your proposed changes.

Please note: we will close your PR without comment if you do not check the boxes above and provide ALL requested information.

A topic exists for No code. Please feel free to  to add any items that fit to the existing topic. Thanks!

No code is a topic, and no code contribution is a collection.
In no code, build something without writing code; in no code contribution is a list of repositories where you start open source contribution without writing single line code.
@underwoo16 reconsider it and reopen the pull request.


It seems the Sia wallet setup file is infected by Trojan & Malware

It seems virustotal antivirus has found some Trojan and Malware in Sia wallet win setup file. Hope some one can tell me where to download the clean setup exe file, thanks.

https://www.virustotal.com/en/
P.S. It is always good to provide the checksums for any released binaries even though there is a very little chances to get infected GitHub's static file servers.

We provide signed checksums for all downloads: https://github.com/NebulousLabs/Sia-UI/releases/tag/v1.3.0
You can verify the signature by running:
openssl dgst -sha256 -verify sia.pem -signature Sia-UI-v1.3.0-win32-x64.zip.sig Sia-UI-v1.3.0-win32-x64.zip

where sia.pem is the Sia Developer Key.
Antivirus software is susceptible to false positives so I'm not too worried about this.

On that note though, if you ever do end up with a Sia download which has an invalid signature, please let us know, and let us know where you got it from. That would be very interesting, and something we would want to solve quickly.

sure, thanks. Well, but how to be sure that it is a false positive or not?


error TS2374: Duplicate index signature for type 'string'

[READ] Step 1: Are you in the right place?
Yes
[REQUIRED] Step 2: Describe your environment

Operating System version: Github Actions
Firebase SDK version: 11.8.0
Firebase Product: firestore
Node.js version: v18.16.0
NPM version: 11.8.0

[REQUIRED] Step 3: Describe the problem
Steps to reproduce:
I'm simply trying to run npm run build whilst using version 11.8.0 of the firebase-admin node package.
Github Actions fails with the following output:
node_modules/@google-cloud/firestore/types/firestore.d.ts(23,1): error TS6200: Definitions of the following identifiers conflict with those in another file: DocumentFieldValue, DocumentData, PartialWithFieldValue, WithFieldValue, UpdateData, Primitive, NestedUpdateFields, ChildUpdateFields, AddPrefixToKeys, UnionToIntersection, Firestore, GeoPoint, Transaction, BulkWriter, BulkWriterError, WriteBatch, SetOptions, WriteResult, DocumentReference, DocumentSnapshot, QueryDocumentSnapshot, OrderByDirection, WhereFilterOp, Query, QuerySnapshot, DocumentChangeType, CollectionReference, CollectionGroup, QueryPartition, AggregateField, AggregateFieldType, AggregateSpecData, AggregateQuery, AggregateQuerySnapshot, FieldValue, FieldPath, Timestamp, BundleBuilder, v1beta1, v1, OK, CANCELLED, UNKNOWN, INVALID_ARGUMENT, DEADLINE_EXCEEDED, NOT_FOUND, ALREADY_EXISTS, PERMISSION_DENIED, RESOURCE_EXHAUSTED, FAILED_PRECONDITION, ABORTED, OUT_OF_RANGE, UNIMPLEMENTED, INTERNAL, UNAVAILABLE, DATA_LOSS, UNAUTHENTICATED, Filter, FirebaseFirestore
node_modules/@google-cloud/firestore/types/firestore.d.ts(302,5): error TS2374: Duplicate index signature for type 'string'.
node_modules/@google-cloud/firestore/types/firestore.d.ts(2085,5): error TS2374: Duplicate index signature for type 'string'.
../../../../node_modules/@google-cloud/firestore/types/firestore.d.ts(23,1): error TS6200: Definitions of the following identifiers conflict with those in another file: DocumentFieldValue, DocumentData, PartialWithFieldValue, WithFieldValue, UpdateData, Primitive, NestedUpdateFields, ChildUpdateFields, AddPrefixToKeys, UnionToIntersection, Firestore, GeoPoint, Transaction, BulkWriter, BulkWriterError, WriteBatch, SetOptions, WriteResult, DocumentReference, DocumentSnapshot, QueryDocumentSnapshot, OrderByDirection, WhereFilterOp, Query, QuerySnapshot, DocumentChangeType, CollectionReference, CollectionGroup, QueryPartition, AggregateField, AggregateFieldType, AggregateSpecData, AggregateQuery, AggregateQuerySnapshot, FieldValue, FieldPath, Timestamp, BundleBuilder, v1beta1, v1, OK, CANCELLED, UNKNOWN, INVALID_ARGUMENT, DEADLINE_EXCEEDED, NOT_FOUND, ALREADY_EXISTS, PERMISSION_DENIED, RESOURCE_EXHAUSTED, FAILED_PRECONDITION, ABORTED, OUT_OF_RANGE, UNIMPLEMENTED, INTERNAL, UNAVAILABLE, DATA_LOSS, UNAUTHENTICATED, Filter, FirebaseFirestore
../../../../node_modules/@google-cloud/firestore/types/firestore.d.ts(302,5): error TS2374: Duplicate index signature for type 'string'.
../../../../node_modules/@google-cloud/firestore/types/firestore.d.ts(2085,5): error TS2374: Duplicate index signature for type 'string'.
npm ERR! Lifecycle script `build` failed with error:
npm ERR! Error: command failed
npm ERR!   in workspace: ...
npm ERR!   at location: ...
Error: Process completed with exit code 1.

Relevant Code:
package.json:

"dependencies": {
    "firebase-admin": "^11.8.0",
    "firebase-functions": "^4.4.0",
    "pg": "^8.10.0"
  },
"devDependencies": {
    "@types/pg": "^8.6.6",
    "firebase-functions-test": "^3.0.0"
}

Hi @nicklbaert, based on the error message, seems like some functions has been imported from different sources. Could you please double check all the files and make sure the importation are the same?
Meanwhile, there is a similar issue ticket: https://github.com/firebase/firebase-admin-node/issues/734. Adding skipLibCheck in tsconfig might be a workaround.

Hey @milaGGL, thank you for your time and the quick response.
I've double checked everything. The error also occurred seemingly overnight without any relevant changes to our code.
Could it maybe be related to the fact that @google-cloud recently had a new update to version 6.6.0 whilst firebase-admin still uses 6.5.0?

With pleasure. So it was working all fine before, but suddenly started crashing overnight without a change. Have you upgraded any packages in your app?

@milaGGL We had the same CI running without problems 2 days ago. Since then no packages have been changed.

I had this same problem. It sent me down tsconfig-hell for 4+ hours trying to figure it out.
This happened to me because I had a repo with 3 folders; /server /common /worker. They all had firebase-admin package installed (same version), and /server and /worker are both importing from /common. I removed firebase-admin as a dependency in /worker and stopped relying on it, and turned /common into its own local package using a yarn workspace monorepo for all 3, and then had both /worker and /server treat /common as a dependency.
Honestly tsconfig / package.json and all these weird build configurations are just far too complex. 'dev' mode with ts-node and 'prod' mode with node are like two separate conflicting runtime environments that can't agree on how to resolve import paths or dependencies.

Hi @PaulFidika, thank you for sharing this issue. Would it be possible to provide a minimal code so that I can reproduce it on my end?


Starting many watch streams causes jank

Steps to Reproduce
I have 2 tables: notes and subnotes each with 20000 records. A note has one subnote record and to create a relationship between the two tables there is a uuid column in Note table and  parentNoteId in SubNote table.
After loading all the Notes from the database and saving the List in a local variable notes, I click a button Watch subNotes which executes the watch on the subnote query for each note record
This causes a jank immediately when the button was clicked as it can be seen from the animation of the circular progress indicator.
What would be the reason for this jank ?
link to full sample app code
Code sample
 final isarSubNotesInstance = isarInstance.subNotes;

    notes.forEach((element) {
      isarSubNoteSubscription.add(
        isarSubNotesInstance
            .filter()
            .parentNoteIdEqualTo(element.uuid, caseSensitive: false)
            .build()
            .watch(fireImmediately: true)
            .listen((event) {
          subNotes.addAll(event);
        }),
      );
    });

Details

Platform: iPad mini (6th generation) simulator on MacOS.
Flutter version: 3.3.10
Isar version: 3.0.5

[x] I searched for similar issues already
[x] I filled the details section with the exact device model and version
[x] I am able to provide a reproducible example

https://user-images.githubusercontent.com/98470469/214374634-7557fc12-57f1-4049-95fa-54b5894be402.mov

Watching 20000 objects is a very bad idea and jank is expected in such a case. Not everything can be optimized


luv_check_callback NULL dereference

In https://github.com/neovim/neovim/pull/4743#issuecomment-218944511 we ran into a situation where luv_check_callback gets a null data argument.
I notice that most of the luv_check_* functions (luv_check_process, luv_check_poll, luv_check_idle, luv_check_signal, ...) in luv check for handle->data != NULL. But luv_check_stream and luv_check_handle do not.

Thanks, I'll see if I patch this.

I added a quick sanity check, you'll probably get a different error now in whatever was triggering the segfault in neovim.
I'd still like to have a more robust type checking system, but this should at least prevent null deferences for the luv_handle_t.

Thanks!


Roll back Consul and run go mod tidy.

Fix #1560 by removing the direct dependency on Consul and relying on the version used by https://github.com/edgexfoundry/go-mod-registry
Signed-off-by: Brandon Forster<EMAIL_ADDRESS>

Codecov Report

Merging #1561 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #1561   +/-   ##
=======================================
  Coverage   24.38%   24.38%
=======================================
  Files         104      104
  Lines        9638     9638
=======================================
  Hits         2350     2350
  Misses       7109     7109
  Partials      179      179

Continue to review full report at Codecov.

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


build: added a sideEffects property for tree shaking package

Fixes #521

I propose to move the code from default to index.
https://github.com/gravity-ui/markdown-editor/blob/d36c3025ee3091f7d433705a49a638d549b6482a/src/shortcuts/index.ts#L1

I propose to move the code from default to index.
https://github.com/gravity-ui/markdown-editor/blob/d36c3025ee3091f7d433705a49a638d549b6482a/src/shortcuts/index.ts#L1

I added this file to sideEffects array


Linked to the new Pipelines SDK intro from various pages

We recently added an introduction to the Pipelines SDK (https://github.com/kubeflow/website/pull/811). This PR adds links from various pages to the new new intro, so that people can find the intro more easily.
I've also fixed a couple of links that pointed to the obsolete "guides" section - our redirects are handling those links, but it's good to fix them when we find them.
Where necessary, I've adjusted other lines in the "Next steps" sections to ensure that the bullet items have parallel syntax.

This change is

Preview:
https://deploy-preview-827--competent-brattain-de2d6d.netlify.com/docs/notebooks/setup/
https://deploy-preview-827--competent-brattain-de2d6d.netlify.com/docs/pipelines/overview/pipelines-overview/
https://deploy-preview-827--competent-brattain-de2d6d.netlify.com/docs/pipelines/pipelines-quickstart/
https://deploy-preview-827--competent-brattain-de2d6d.netlify.com/docs/pipelines/sdk/install-sdk/
https://deploy-preview-827--competent-brattain-de2d6d.netlify.com/docs/pipelines/tutorials/build-pipeline/
https://deploy-preview-827--competent-brattain-de2d6d.netlify.com/docs/pipelines/tutorials/pipelines-tutorial/
https://deploy-preview-827--competent-brattain-de2d6d.netlify.com/docs/started/getting-started/

/assign @abhi-g

/unassign @abhi-g
/assign @IronPan

/lgtm
/approve


GetIssuer just panics rather than issuing a useful error when there's no networking

Description
GetIssuer panics when there's no network access
https://github.com/sigstore/fulcio/blob/v0.2.0/pkg/config/config_test.go#L104
PASS
ok      github.com/sigstore/fulcio/pkg/challenges       0.270s
=== RUN   TestMetaURLs
=== RUN   TestMetaURLs/AWS_meta_URL
=== RUN   TestMetaURLs/GKE_meta_URL
--- PASS: TestMetaURLs (0.00s)
    --- PASS: TestMetaURLs/AWS_meta_URL (0.00s)
    --- PASS: TestMetaURLs/GKE_meta_URL (0.00s)
=== RUN   TestLoad
--- FAIL: TestLoad (0.00s)
panic: runtime error: invalid memory address or nil pointer dereference [recovered]
        panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x753673]

goroutine 9 [running]:
testing.tRunner.func1.2({0x79cc00, 0xada640})
        testing/testing.go:1209 +0x24e
testing.tRunner.func1()
        testing/testing.go:1212 +0x218
panic({0x79cc00, 0xada640})
        runtime/panic.go:1038 +0x215
github.com/sigstore/fulcio/pkg/config.(*FulcioConfig).GetIssuer(0x0, {0x7fea68, 0x1b})
        github.com/sigstore/fulcio/pkg/config/config.go:85 +0x93
github.com/sigstore/fulcio/pkg/config.TestLoad(0xc0000b9860)
        github.com/sigstore/fulcio/pkg/config/config_test.go:104 +0x165
testing.tRunner(0xc0000b9860, 0x814b28)
        testing/testing.go:1259 +0x102
created by testing.(*T).Run
        testing/testing.go:1306 +0x35a
FAIL    github.com/sigstore/fulcio/pkg/config   0.006s

To reproduce

have the repo
run go mod vendor so we have the dependencies available
docker run -v $PWD:/fulcio --network=none -it golang
cd /fulcio and go test ./... -v

Remediation
There should probably be an error that's more useful than a panic
Also it'd be nice for all tests that require networking to be tagged so we can avoid them within our hermetic nix build environment that doesn't have network access :slightly_smiling_face:

Oh dang that is lame. Thanks for the bug report! I think this test is triggering OIDC discover and making a network call because of it


Additional documentation around vsTestVersion for YAML users

RE: https://github.com/Microsoft/azure-pipelines-tasks/issues/9200

Added additional documentation around vsTestVersion for YAML users.

@Silvenga Thank you for your contribution.


Run main.netlogo model on HPC

Run model (one experiment) and document steps

We could run the model on HPC.
The steps are described here:
https://github.com/mess-nlesc/model/tree/346ba294a48a951ca8fe56bcbb4d9ae5a626913a/docs/netlogoHPC
There is also an example showing how to run it using kunefe:
https://github.com/mess-nlesc/kunefe/pull/34


Do not create unlabelled metric if label names are specified

Avoids creating unused unlabelled metrics when creating labelled metrics.
Some discussion here https://groups.google.com/forum/#!topic/prometheus-developers/SHeWLEliIvE

thanks David - publish this to nuget as v0.0.6

Much obliged.


row_classes align-middle not working

Hi,
Apologies if this is a dup of issue #15.
I've included an icon in a table data that I'm trying to middle align.  I've added the following to my columns array but it's not working:
{
name: "check",
row_classes: "align-middle"
},
My understanding is that "align-middle" should be added to the corresponding td, but that doesn't appear to be happening.  If I manually align middle in DevTools I get the desired behavior (see screencap).

Any help would be greatly appreciated.  Thanks, Peter

Hi @pordonez
Thanks for letting me know this.
I was wondering why it is not working and found that in previous release I commented out few lines of code for testing and forgot to uncomment them.
I fixed this in new release 1.0.29. So could you please update your package to get this working.
Also, if you would like to use advance overriding classes for row, columns, cells, etc,, please checkout the examples here https://rubanraj54.gitbook.io/vue-bootstrap4-table/custom-classes.
Cheers,
Ruby.


Hyprpaper segfaults while setting wallpaper

Software Versions

Arch Linux (Kernel 6.2.2-zen1-1-zen)
Hyprland: https://github.com/hyprwm/Hyprland/commit/4f647a8e8be78d3817f126e41940bef49e81232e (with xwayland: support HiDPI scale and Fix configure_notify event patches)
Hyprpaper: 83867464c523c3ac2f7ce53d2c4b8d4f9b7551cd

Issue
Whenever I run hyprpaper, it crashes with the following:
[LOG] Welcome to hyprpaper!
built from commit 83867464c523c3ac2f7ce53d2c4b8d4f9b7551cd (?)
[LOG] Cleaned old hyprpaper preloads (2), removing 27.1MB
[LOG] Preloaded target /home/fjorge/.config/hypr/wallpapers/forest-with-river.jpg in 284.23ms -> Pixel size: [5312, 2988]
[LOG] hyprpaper socket started at /tmp/hypr/4f647a8e8be78d3817f126e41940bef49e81232e_1678124441/.hyprpaper.sock (fd: 4)
[LOG] configure for eDP-1
[LOG] handlePreferredScale: 1.40 for 564a9f2a15f0
[LOG] Buffer created for target /home/fjorge/.config/hypr/wallpapers/forest-with-river.jpg, Shared Memory usage: 13.6MB
[LOG] Total SM usage for all buffers: 13.6MB
[LOG] Pool buffer missing for available target??
[LOG] Buffer created for target /home/fjorge/.config/hypr/wallpapers/forest-with-river.jpg, Shared Memory usage: 13.6MB
[LOG] Total SM usage for all buffers: 27.1MB
zsh: segmentation fault (core dumped)  hyprpaper

My hyprpaper configuration file consists of:
preload = ~/.config/hypr/wallpapers/forest-with-river.jpg

wallpaper = ,~/.config/hypr/wallpapers/forest-with-river.jpg

Running coredumpctl gdb hyprpaper and then bt within the gdb prompt gives me:
#0  0x0000561cbf28b229 in CHyprpaper::renderWallpaperForMonitor(SMonitor*) ()
#1  0x0000561cbf28ca03 in CHyprpaper::tick(bool) ()
#2  0x00007f1891cc94f6 in ffi_call_unix64 () at ../src/x86/unix64.S:104
#3  0x00007f1891cc5f5e in ffi_call_int
    (cif=cif@entry=0x7ffc0a886ce0, fn=<optimized out>, rvalue=<optimized out>, avalue=<optimized out>, closure=closure@entry=0x0) at ../src/x86/ffi64.c:673
#4  0x00007f1891cc8b73 in ffi_call (cif=cif@entry=0x7ffc0a886ce0, fn=<optimized out>, rvalue=rvalue@entry=0x0, avalue=avalue@entry=0x7ffc0a886db0)
    at ../src/x86/ffi64.c:710
#5  0x00007f18922a9645 in wl_closure_invoke (closure=closure@entry=0x561cc0127d50, target=<optimized out>,
    target@entry=0x561cc01278c0, opcode=opcode@entry=0, data=<optimized out>, flags=1) at ../wayland-1.21.0/src/connection.c:1025
#6  0x00007f18922a9e03 in dispatch_event (display=display@entry=0x561cc0121190, queue=0x561cc0121260) at ../wayland-1.21.0/src/wayland-client.c:1595
#7  0x00007f18922a9ffc in dispatch_queue (queue=0x561cc0121260, display=0x561cc0121190) at ../wayland-1.21.0/src/wayland-client.c:1741
#8  wl_display_dispatch_queue_pending (display=0x561cc0121190, queue=0x561cc0121260) at ../wayland-1.21.0/src/wayland-client.c:1983
#9  0x0000561cbf28cd06 in CHyprpaper::init() ()
#10 0x0000561cbf286db9 in main ()

Additional Information
https://github.com/swaywm/swaybg works perfectly fine.

This seems to only happen with decimal scaling values like you are using (1.4). I use 1.333 so that my 1440p monitor is the same scale as my 1080p one but alas I experience the same issue.

Thought that was fixed. Odd.

This seems to only happen with decimal scaling values like you are using (1.4). I use 1.333 so that my 1440p monitor is the same scale as my 1080p one but alas I experience the same issue.

I tried it and you seem to be right, except for some reason it works with a scaling value of 1.5 as well. It doesn't seem to work with other *.5 values though.

Have the same issue on a 4k monitor with a scaling of 1.6
1.5 works fine, my other FullHD monitor with a scaling of 1 also doesn't have any problems.
So not adding anything new here, this is just a little push at best :]

Can confirm I'm having the same issue on a 1440p monitor with scaling of 1.33.

Also can confirm, displays scaled at 1 work all the time, and some other scalings work some of the time. Some always cause segfaults.

I've since switched to swaybg and everything is working gr8

fixed in 756fccfc53af80254f21db119d833b1caf9b7221


Terminal scroll bar can be small when using fixed terminal dimensions

This is happening because the scrollable element adds overflow: hidden to terminal wrapper which has margin/padding. The fix here would be to add another element as a parent to terminal wrapper and add that as the scrollable element's element.

@Tyriar I don't think this is what we want. I've spent many hours on this, can you give it a try?
My branch is merogge/scroll


Add import and export CSV flow for Members

Details

This PR adds the import and export logic to the Members sections of the workspace. This PR takes into account all raised and fixed bugs for Category section's import/export functions.
Fyi: This PR is created in parallel with PR for Tags import/export which operates on similar files - depending on which gets merged earlier there will be few minor conflicts to take care of.
Fixed Issues

$ https://github.com/Expensify/App/issues/47869
PROPOSAL:
Tests

Import:

Go to any Workspace -> Categories
Press three dots (in header)
Press Import spreadsheet
Press Choose file
Select xls, xlsx, csv or txt file
Select columns to import
Press import
Selected column of chosen file should be imported

Export:

Navigate into workspace.
Enter Members section.
Add some members if you don'e have any.
Click the three-dot icon in top-right corner (Import Spreadsheet and Download CSV options should appear)
Select Download CSV.
"Members-[time] [date]" file should be downloaded with all members in .csv format.

[x] Verify that no errors appear in the JS console

Offline tests

N/A
QA Steps

N/A

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native
https://github.com/user-attachments/assets/72494aad-d59e-4b60-9aaf-3da7e1d99cb6
https://github.com/user-attachments/assets/696ed4b5-d0e8-491d-be2f-32ee41d36c9b

Android: mWeb Chrome
https://github.com/user-attachments/assets/de1be13f-794e-4323-ae93-ac122834d69d
https://github.com/user-attachments/assets/ccbfdd14-36ed-4dde-984c-b0d9e4bbd937

iOS: Native
https://github.com/user-attachments/assets/8a269a20-edc2-417c-932b-de332791fd02
https://github.com/user-attachments/assets/d35568ec-68ba-4feb-969e-e5979e9ecffb

iOS: mWeb Safari
https://github.com/user-attachments/assets/1bac4b4b-6df6-4cac-b265-cfed33441db0
https://github.com/user-attachments/assets/8f9c9e1f-1aaf-4da8-9b5f-f894c3ca62e8

MacOS: Chrome / Safari
https://github.com/user-attachments/assets/38117275-357a-43ea-9753-0b5703276f0b
https://github.com/user-attachments/assets/e1fce270-02cf-41a6-bb97-0e97b62ddc4e

MacOS: Desktop
https://github.com/user-attachments/assets/56d2c3c1-ccf8-45ff-8738-f3d438746970
https://github.com/user-attachments/assets/cd4f1ffe-9e93-4243-8017-ad1e12792481

@Expensify/design PR ready to check out

@rushatgabhane in case of conflicts/change requests please ping me, I'm going to take over from Wiktor as he will be OOO in the next days 😄

@rushatgabhane When do you think you'll be able to finish the review on this one?

Reviewer Checklist

[ ] I have verified the author checklist is complete (all boxes are checked off).
[ ] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

[ ] I verified the steps for local testing are in the Tests section
[ ] I verified the steps for Staging and/or Production testing are in the QA steps section
[ ] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I included screenshots or videos for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

[ ] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[ ] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[ ] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines
[ ] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[ ] If any new file was added I verified that:

[ ] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn't already exist
[ ] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG)

[ ] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[ ] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[ ] I verified that all the inputs inside a form are aligned with each other.
[ ] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[ ] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[ ] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

@madmax330 Merged the newest main for you 😄

Thanks for review @rlinoz, I also merged newest main when applying changes

@madmax330 just LYK I think it's ready for merge

@madmax330 bumping, ready for merge

All tests were passing

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/madmax330 in version: 9.0.40-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Visual studio code javascript debugger

VS Code Version: 1.81.0
OS Version: win8
Node: 16.19, 18.17

Steps to Reproduce:

Create a new angular project
Create a launch json file for setting the chrome debugger
Start the browser, do a change in you editor, add a new line, add a breakpoint, save it(you might need to repeat this step for 2-3 times but usually reproduces after the first save)
After the file is saved and the browser refreshes you will observe that your breakpoint will not hit anymore, seems to be a caching issue, after the browser will be restarted then the breakpoint will hit, the dev tools are showing the correct source code.

This worked before  doing the 2 august 2023 update...

Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.81.0. Please try upgrading to the latest version and checking whether this issue remains.
Happy Coding!

Because of the 1.81 update it doesn't work :(

VS Code version: 1.81.0
Same issue for React app, React version: 16.8 and 17.0.
I have to use WebStorm to debug the code.

same problem here with React. Everything was working fine before the latest update.

/jsDebugLogs

Please collect trace logs using the following instructions:

If you're able to, add "trace": true to your launch.json and reproduce the issue. The location of the log file on your disk will be written to the Debug Console. Share that with us.
⚠ This log file will not contain source code, but will contain file paths. You can drop it into https://microsoft.github.io/vscode-pwa-analyzer/index.html to see what it contains. If you'd rather not share the log publicly, you can email it to<EMAIL_ADDRESS>

this is my log trace:
vscode-debugadapter-affae410.json.gz

Tested on my Mac on a different ReactJS project and got the same problem, after few app changes the breakpoint is not hit:
Version: 1.82.2
Commit: abd2f3db4bdb28f9e95536dfa84d8479f1eb312d
Date: 2023-09-14T05:59:47.790Z
Electron: 25.8.1
ElectronBuildId: 23779380
Chromium: 114.0.5735.289
Node.js: 18.15.0
V8: <IP_ADDRESS>-electron.0
OS: Darwin x64 22.6.0

When I updated VSCode, the debugger loses breakpoints
(Chrome Version 116.0.5845.187 (Official Build) (x86_64))
(VSCode also getting confused about what port to use when launching/connecting browser;
trying 4200 when it knows it should b 4202 or 16872 or whatever)
[This was all working before recent VSCode upgrade]
Version: 1.82.1
Commit:<PHONE_NUMBER>d557a81c9d0b5f8a5a1e9274db5585
Date: 2023-09-08T08:49:32.930Z (2 wks ago)
Electron: 25.8.0
ElectronBuildId: 23503258
Chromium: 114.0.5735.289
Node.js: 18.15.0
V8: <IP_ADDRESS>-electron.0
OS: Darwin x64 22.6.0

But still they are off by a line or two, which is sad and confusing

This is likely to be an issue in your build setup/tooling.

Hmm, the only build setup/tooling I have is angular and vscode.
And it was rock solid until upgrading to 1.81 and now 1.82....

But still they are off by a line or two, which is sad and confusing

This is likely to be an issue in your build setup/tooling.

I have a different build setup/toolin (React App - CRA) and I'm facing the same issue.
And I can confirm that until a couple of versions ago everything was working perfectly.

In re tooling:
I have on project with Angular 14.1 and on with Angular 15.2; both show the problem.
From adding code and then undoing the source (with ng serve recompiling/webpacking/browserloading on each save)
We see that when undo back to the 'original' source (when debugger first triggered 'ng serve') the breakpoints align.
But when running with edited code, it seems that the editor is not using the correct source map.
That is:

save code, start debugger --> ng serve --> browser opens
breakpoints work and aligned with source in vscode editor
edit source (for ex, adding lines of code), save --> ng serve recompiles/webpacks --> brower refreshes
breakpoints not aligned; remove/re-add breakpoint; when invoked editor shows 'caret' at wrong place (for ex in comments, or before/after point of actual code execution)

To make it clear/obvious: add lines of: console.log('your content here');
Note that the reported location of the console log statement in the VSCode DEBUG CONSOLE is incorrect .
Also fun: // comment those console.log statements; set a breakpoint nearby; the breakpoint shows in the comment.

undo in source code (to original state in '1' above), save --> ng serve recompiles/webpacks --> browser refreshed
now/again breakpoints align.

The implication is that the VScode debugger is not using the updated source maps when ng/webpack recompiles.

What is the status here?
Is this being investigated?
Is it reproducible on your end?
Can you find any [recent] mods to the breakpoint/code-mapping code that may be relevant?
Let us know how we can help.
(as things stand, the in-VScode debugger for chrome/javascript/webpack is nearly useless)

What is the status here?
Is this being investigated?
Is it reproducible on your end?
Can you find any [recent] mods to the breakpoint/code-mapping code that may be relevant?
Let us know how we can help.
(as things stand, the in-VScode debugger for chrome/typescript/webpack is nearly useless)

Agree, I have to stop and restart the debugging every 10 mins, it's really annoying

This issue is hard to track down, because this is the process:

You save your file, webpack HMR's it and sends the new file down. Now two things happen in parallel:
(a) the debugger sees the new file come it. It applies the breakpoint location is knows about, then allows the browser to run the file.
(b) VS Code sees the file is saved, and tells the debugger to remove the breakpoint on the old line, and puts it on the new line

If (b) happens before (a), everything is good. But if (a) happens before (b), the breakpoint will initially be on the old location and it may be misplaced or not placed at all.

the in-VScode debugger for chrome/typescript/webpack is nearly useless

This issue pertains solely to HMR behavior with webpack, and such issues would be cleared on a manual refresh of the page. If you're hitting a different problem, please open a separate issue with more information.

Agree, I have to stop and restart the debugging every 10 mins, it's really annoying

It sounds like you're hitting a different issue if you have to start and stop debugging.

It sounds like you're hitting a different issue if you have to start and stop debugging.

Alternatively: It sounds like the issue the you diagnosed is different from the one we are complaining about.
For me, reloading the page solves the problem of "links in the PROBLEMS"** but does not fix breakpoints.
Restarting the 'debugger' starts a new 'ng serve' and that re-syncs the breakpoint/code-map.
.
** Is anyone else complaining that the PROBLEM output initially has links to the compiled code, rather than the source code?
only after clicking one of those does the link to editable source appear in the PROBLEMS.

It sounds like you're hitting a different issue if you have to start and stop debugging.

let me reprashe it: I need to close and re-open the browser so have the new breakpoint line working.
Of course when I close the browser the debugger stops. Hopefully yhis makes more sense

Seems to be working again!
Version: 1.82.3
Commit: fdb98833154679dbaa7af67a5a29fe19e55c2b73
Date: 2023-10-02T11:06:17.496Z
Electron: 25.8.1
ElectronBuildId: 24153832
Chromium: 114.0.5735.289
Node.js: 18.15.0
V8: <IP_ADDRESS>-electron.0
OS: Darwin x64 22.6.0

VS Code 1.83 was just released that improves behaviors of breakpoints across refreshes, you may see better behavior there (though I have not specifically validated to see if it fixes the issue you describe)

Facing the same issue with 1.83 (breakpoint not being mapped to crrect lines after code insertion)
Version: 1.83.0 (user setup)
Commit: e7e037083ff4455cf320e344325dacb480062c3c
Date: 2023-10-03T16:12:16.321Z
Electron: 25.8.4
ElectronBuildId: 24154031
Chromium: 114.0.5735.289
Node.js: 18.15.0
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.19045
Angular 15 project, default setup

Yes same, 1.83 doesn't solve the problem

Hi all,
nothing new about that? It's really frustrating to work on a big project with a lot of maths and be unable to debug without restarting the debugger (and then the browser) every time.

+1 to everything here. Please get this fixed, will have to consider other IDEs soon otherwise :(

For people hitting the "breakpoints are bad until the debugger restarts" issue, please follow https://github.com/microsoft/vscode-js-debug/issues/1803. A fix will be available tonight.

@connor4312 Thank you so much! This has been driving me crazy.
For those finding this post before the next official release, you can get the fix now by installing the nightly: https://github.com/microsoft/vscode-js-debug/tree/main#nightly-extension

For people hitting the "breakpoints are bad until the debugger restarts" issue, please follow microsoft/vscode-js-debug#1803. A fix will be available tonight.

I'm still experiencing this bug, tried both bundled and nightly JS Debugger extension.
It broke starting from VSCode 1.81.1
Current versions:

VSCode: 1.83.1
JavaScript Debugger (Nightly): v2023.11.117
Angular: 16.2.4

The bug happens in multiple configurations:

Single Angular 16 application
Monorepo NX fullstack application (Nest.JS backend and Angular 16 Frontend)
Android Ionic WebApp (Angular 16)

The most easily reproducible is 1), so I took a debug log from it (see below).
1) Single Angular app
To reproduce the bug:

create a blank Angular app with ng new test
open VSCode in the created folder
set a breakpoint to the only one created component
launch the app (F5 --> ng serve)... the breakpoint hits
now edit the file (i.e. add some empty lines before the line with the breakpoint
the line with breakpoint moves down together with the red breakpoint circle
save the file, Angular rebuilds, Chrome reloads the page, the red breakpoint circle goes out-of-sync (up to an empty line)
source file and map are correct if opened in Chrome DevTools (so it seems VSCode is guilty...)

The only way I've found to resync source maps is:

close Chrome (note that ng serve task keeps running in the background)
relaunch Chrome with F5 (ng serve task is already running, so Angular won't recompile anything...)
now breakpoints are synced with .ts sources

This is the captured logfile: breakpoint hit, source edit, save, auto recompile, same breakpoint not hit.
vscode-debugadapter-467f2aad.json.gz
2) Monorepo NX fullstack application
The issue here is the same, but it affects only Frontend changes (as like above).
Editing backend .ts files causes a rebuild+reload of Nest.JS (Node) app and breakpoints remain in sync.
3) Android Ionic WebApp (Angular 16)
NOTE: To debug on a real Android device I use the "Android WebView Debugging" extension (mpotthoff.vscode-android-webview-debug).
Same issue: changing+saving a source file causes the breakpoint to go out-of-sync. I need to disconnect from chrome and reconnect (ng serve still running) to resync.

I'm ready to give further info and do additional tests, if needed.

In the log you captured, the compiled file was unchanged (by adding blank lines.) The fix I added made sourcemaps invalidate whenever the hash of the compiled file changed. The raw case of adding/removing code that doesn't change compiled code can still unfortunately lead to cases where the sourcemap is held onto for longer than ideal, in practice development will involve making substantiative changes that will change the hash.

I'm going to lock this issue since this has repeatedly strayed far off from the issue the original poster mentioned, perhaps due to its generic title and thus ease of discovery via search. If anyone has continued or separate problems, please create new issues for them https://github.com/microsoft/vscode/issues/new/choose


"update apt cache" should be in separate module

"common" and "programming" both needs "update apt cache".

Upgrade packages once a day.


jp2k: libvips built without JPEG2000 support, even when openjpeg 2.5 is installed in global vips

'npm install sharp --build-from-source' has been tried
Question about an existing feature
What are you trying to achieve?

windows 10
nodejs 16.7.0
vips-8.14.1
When you searched for similar issues, what did you find that might be related?

Please provide a minimal, standalone code sample, without other dependencies, that demonstrates this question

Please provide sample image(s) that help explain this question

Did you see https://sharp.pixelplumbing.com/install#custom-libvips ?

The use of a globally-installed libvips is unsupported on Windows

You might be able to copy the "all" variety of DLLs produced/published via https://github.com/libvips/build-win64-mxe into the build/Release directory, but I cannot provide any support for this.

May I know why? I also noticed that jp2 api has been removed from sharp document. Are there any license concern in supporting jp2000?

It looks like the switch to a new JSDocs parser in commit https://github.com/lovell/sharp/commit/ef849fd63907d937afce0d06b07ae778692ec500 accidentally resulted in the removal of jp2 from the docs. I've fixed this in commit https://github.com/lovell/sharp/commit/afed876f9078d032660064dce6d5a1e79dc98995 - thanks for reporting.


How to stop an embedded server

Once gnatsd is embedded and running in a different routine. How do you stop the server so that the program can exit? I saw a previous post on how to run a gnatsd server:
https://github.com/apcera/gnatsd/issues/64

After you start the server, keep the server object around and call Shutdown() on it to stop the server.


Is it possible to sync light/dark with the os theme?

I have got wezterm to respond to the os theme but that doesn't seem to apply to neovim with LazyVim and Neobones theme.
Is there a way to get vim.o.background to sync with wezterms bg?

Yes it is! https://evantravers.com/articles/2023/04/04/wezterm-and-neovim-dark-mode-synced-to-osx/


Warning/error when using an unbound variable is search block?

search
    s  = [trail]
    not(a = [trail:0])

(Terminology for 's' and 'a'? Variable, symbol, ...?)
Possibly related: #445

I'm sorry this went so long without an answer... I think maybe it's been fixed, since the issue to linked to is fixed. I'm going to close this for now, but if you confirm your issue is still happening we can reopen.


R/F Measurement result sometimes has incorrect reach value of 1

Observed in runs of the correctness test on halo-cmm-dev. This uses a fixed dataset and query parameters (time, filters, etc.), and therefore should give the same result every time aside from DP noise (reach: 1296). Instead, we frequently (maybe 10% of runs?) get a reach value of 1.
From @jiayu-google:

Ok, with vidSamplingWidth = 1, the error is not that large, Probability(observing 1296 | truth = 1) < 1e-50. So almost impossible.

Sample
Expected:
reach {
  value: 1296
}
frequency {
  relative_frequency_distribution {
    key: 1
    value: 0.3078817733990148
  }
  relative_frequency_distribution {
    key: 2
    value: 0.6042692939244664
  }
  relative_frequency_distribution {
    key: 3
    value: 0.031198686371100164
  }
  relative_frequency_distribution {
    key: 4
    value: 0.05008210180623974
  }
  relative_frequency_distribution {
    key: 5
    value: 0.004105090311986864
  }
  relative_frequency_distribution {
    key: 6
    value: 0.0024630541871921183
  }
}

Actual:
reach {
  value: 1
}
frequency {
  relative_frequency_distribution {
    key: 1
    value: 0.0738255033557047
  }
  relative_frequency_distribution {
    key: 4
    value: 0.6510067114093959
  }
  relative_frequency_distribution {
    key: 6
    value: 0.026845637583892617
  }
  relative_frequency_distribution {
    key: 7
    value: 0.03355704697986577
  }
  relative_frequency_distribution {
    key: 8
    value: 0.21476510067114093
  }
}

I was able to reproduce this intermittently in local tests. The one common factor is that every time this error occurs, I see an "editVersionMismatch" error in the logs. This appears to be related to #680.


Fix: Using the Latest  GitHub Release type filter should return the release marked as latest

Fix #969
Another approach than https://github.com/updatecli/updatecli/pull/988

Test
To test this pull request, you can run the following commands:
cp <to_package_directory>
go test

Additional Information
Tradeoff

Potential improvement

Proposal:
query getLatestRelease($owner: String!, $repository: String!) {
  rateLimit {
    cost
    remaining
    resetAt
  }
  repository(owner: $owner, name: $repository) {
    latestRelease {
      id
      name
      tagName
    }
  }
}

when "Latest: true" WDYT?

that

Proposal:
query getLatestRelease($owner: String!, $repository: String!) {
  rateLimit {
    cost
    remaining
    resetAt
  }
  repository(owner: $owner, name: $repository) {
    latestRelease {
      id
      name
      tagName
    }
  }
}

when "Latest: true" WDYT?

That would be a better query as it would reduce the amount of information retrieved from the API which ultimately will benefit the api limit usage

I was able to update the unit test (pkg/plugins/scms/github/release_test.go) to cover:

The issue I see on the main branch
The "Draft" and "Prerelease" cases from #969
The "Latest" case as you described it + implemented it in the current PR

On the main branch (commit 482425f202d7378106dc02b640b2504024010aa4)
ok  	github.com/updatecli/updatecli/pkg/plugins/scms/github	0.684s	coverage: 41.3% of statements

Click to view the new content for the `pkg/plugins/scms/github/release_test.go` test file
package github

import (
	"fmt"
	"testing"

	"github.com/stretchr/testify/assert"
	"github.com/stretchr/testify/require"
)

func TestSearchReleases(t *testing.T) {
	tests := []struct {
		name         string
		spec         Spec
		releaseType  ReleaseType
		mockedQuery  *releasesQuery
		mockedError  error
		wantReleases []string
		wantErr      bool
	}{
		{
			name: "Case with a mix of releases (draft, prerelease, release) and default ReleaseType filter",
			spec: Spec{
				Owner:      "updatecli",
				Repository: "updatecli",
				Token:      "superSecretTokenForJoe",
				Username:   "joe",
			},
			mockedQuery: &releasesQuery{
				RateLimit: RateLimit{
					Cost:      1,
					Remaining: 5000,
				},
				Repository: struct {
					Releases repositoryRelease `graphql:"releases(last: 100, before: $before, orderBy: $orderBy)"`
				}{
					Releases: repositoryRelease{
						TotalCount: 4,
						PageInfo: PageInfo{
							HasNextPage: false,
							EndCursor:   "Y3Vyc29yOnYyOpK5MjAyMC0wMi0xOVQyMTozMDoxMyswMTowMM4BYOFb",
						},
						Edges: []releaseEdge{
							{
								Cursor: "Y3Vyc29yOnYyOpK5MjAyMi0wMS0xOFQxOTo0Nzo1MyswMTowMM4Da8vn",
								Node: releaseNode{
									Name:    "v0.18.4 🌈",
									TagName: "v0.18.4",
									IsDraft: true,
								},
							},
							{
								Cursor: "Y3Vyc29yOnYyOpK5MjAyMi0wMS0xOFQxOTo0Nzo1MyswMTowMM4Da8vn",
								Node: releaseNode{
									Name:     "v0.18.3",
									TagName:  "v0.18.3",
									IsLatest: true,
								},
							},
							{
								Cursor: "Y3Vyc29yOnYyOpK5MjAyMS0xMS0xM1QxMjozNzoxMiswMTowMM4DK66W",
								Node: releaseNode{
									Name:         "v1.0.0",
									TagName:      "v1.0.0",
									IsPrerelease: true,
								},
							},
							{
								Cursor: "Y3Vyc29yOnYyOpK5MjAyMC0wMi0xOVQyMTozMDoxMyswMTowMM4BYOFb",
								Node: releaseNode{
									Name:    "v0.0.1",
									TagName: "v0.0.1",
								},
							},
						},
					},
				},
			},
			wantReleases: []string{"v0.0.1", "v0.18.3"},
		},
		{
			name: "Case with a mix of releases (draft, prerelease, release) and a ReleaseType with draft, prerelease and releases",
			spec: Spec{
				Owner:      "updatecli",
				Repository: "updatecli",
				Token:      "superSecretTokenForJoe",
				Username:   "joe",
			},
			releaseType: ReleaseType{
				Draft:      true,
				PreRelease: true,
				Release:    true,
			},
			mockedQuery: &releasesQuery{
				RateLimit: RateLimit{
					Cost:      1,
					Remaining: 5000,
				},
				Repository: struct {
					Releases repositoryRelease `graphql:"releases(last: 100, before: $before, orderBy: $orderBy)"`
				}{
					Releases: repositoryRelease{
						TotalCount: 4,
						PageInfo: PageInfo{
							HasNextPage: false,
							EndCursor:   "Y3Vyc29yOnYyOpK5MjAyMC0wMi0xOVQyMTozMDoxMyswMTowMM4BYOFb",
						},
						Edges: []releaseEdge{
							{
								Cursor: "Y3Vyc29yOnYyOpK5MjAyMi0wMS0xOFQxOTo0Nzo1MyswMTowMM4Da8vn",
								Node: releaseNode{
									Name:    "v0.18.4 🌈",
									TagName: "v0.18.4",
									IsDraft: true,
								},
							},
							{
								Cursor: "Y3Vyc29yOnYyOpK5MjAyMi0wMS0xOFQxOTo0Nzo1MyswMTowMM4Da8vn",
								Node: releaseNode{
									Name:     "v0.18.3",
									TagName:  "v0.18.3",
									IsLatest: true,
								},
							},
							{
								Cursor: "Y3Vyc29yOnYyOpK5MjAyMS0xMS0xM1QxMjozNzoxMiswMTowMM4DK66W",
								Node: releaseNode{
									Name:         "v1.0.0",
									TagName:      "v1.0.0",
									IsPrerelease: true,
								},
							},
							{
								Cursor: "Y3Vyc29yOnYyOpK5MjAyMC0wMi0xOVQyMTozMDoxMyswMTowMM4BYOFb",
								Node: releaseNode{
									Name:    "v0.0.1",
									TagName: "v0.0.1",
								},
							},
						},
					},
				},
			},
			wantReleases: []string{"v0.0.1", "v1.0.0", "v0.18.3", "v0.18.4"},
		},
		{
			name: "Case with a mix of releases (draft, prerelease, release) and a ReleaseType with 'Latest'",
			spec: Spec{
				Owner:      "updatecli",
				Repository: "updatecli",
				Token:      "superSecretTokenForJoe",
				Username:   "joe",
			},
			releaseType: ReleaseType{
				Latest: true,
			},
			mockedQuery: &releasesQuery{
				RateLimit: RateLimit{
					Cost:      1,
					Remaining: 5000,
				},
				Repository: struct {
					Releases repositoryRelease `graphql:"releases(last: 100, before: $before, orderBy: $orderBy)"`
				}{
					Releases: repositoryRelease{
						TotalCount: 4,
						PageInfo: PageInfo{
							HasNextPage: false,
							EndCursor:   "Y3Vyc29yOnYyOpK5MjAyMC0wMi0xOVQyMTozMDoxMyswMTowMM4BYOFb",
						},
						Edges: []releaseEdge{
							{
								Cursor: "Y3Vyc29yOnYyOpK5MjAyMi0wMS0xOFQxOTo0Nzo1MyswMTowMM4Da8vn",
								Node: releaseNode{
									Name:    "v0.18.4 🌈",
									TagName: "v0.18.4",
									IsDraft: true,
								},
							},
							{
								Cursor: "Y3Vyc29yOnYyOpK5MjAyMi0wMS0xOFQxOTo0Nzo1MyswMTowMM4Da8vn",
								Node: releaseNode{
									Name:     "v0.18.3",
									TagName:  "v0.18.3",
									IsLatest: true,
								},
							},
							{
								Cursor: "Y3Vyc29yOnYyOpK5MjAyMS0xMS0xM1QxMjozNzoxMiswMTowMM4DK66W",
								Node: releaseNode{
									Name:         "v1.0.0",
									TagName:      "v1.0.0",
									IsPrerelease: true,
								},
							},
							{
								Cursor: "Y3Vyc29yOnYyOpK5MjAyMC0wMi0xOVQyMTozMDoxMyswMTowMM4BYOFb",
								Node: releaseNode{
									Name:    "v0.0.1",
									TagName: "v0.0.1",
								},
							},
						},
					},
				},
			},
			wantReleases: []string{"v0.18.3"},
		},
		{
			name:        "Case with error returned from github query",
			mockedQuery: &releasesQuery{},
			mockedError: fmt.Errorf("Random error from GitHub API."),
			wantErr:     true,
		},
	}
	for _, tt := range tests {
		t.Run(tt.name, func(t *testing.T) {
			require.NotNil(t, tt.mockedQuery)

			sut := Github{
				Spec: tt.spec,
				client: &MockGitHubClient{
					mockedQuery: tt.mockedQuery,
					mockedErr:   tt.mockedError,
				},
			}
			tt.releaseType.Init()

			got, err := sut.SearchReleases(tt.releaseType)

			if tt.wantErr {
				assert.Error(t, err)
				return
			}

			require.NoError(t, err)

			assert.Equal(t, tt.wantReleases, got)
		})
	}
}

Result of the test on the main branch (failing as expected because of the bug I described):
time="2022-11-19T14:26:45+01:00" level=error msg="\tRandom error from GitHub API."
--- FAIL: TestSearchReleases (0.00s)
    --- FAIL: TestSearchReleases/Case_with_a_mix_of_releases_(draft,_prerelease,_release)_and_default_ReleaseType_filter (0.00s)
        /Users/dadou/workspace/updatecli/updatecli/pkg/plugins/scms/github/release_test.go:238:
            	Error Trace:	/Users/dadou/workspace/updatecli/updatecli/pkg/plugins/scms/github/release_test.go:238
            	Error:      	Not equal:
            	            	expected: []string{"v0.0.1", "v0.18.3"}
            	            	actual  : []string{"v0.0.1"}

            	            	Diff:
            	            	--- Expected
            	            	+++ Actual
            	            	@@ -1,4 +1,3 @@
            	            	-([]string) (len=2) {
            	            	- (string) (len=6) "v0.0.1",
            	            	- (string) (len=7) "v0.18.3"
            	            	+([]string) (len=1) {
            	            	+ (string) (len=6) "v0.0.1"
            	            	 }
            	Test:       	TestSearchReleases/Case_with_a_mix_of_releases_(draft,_prerelease,_release)_and_default_ReleaseType_filter
    --- FAIL: TestSearchReleases/Case_with_a_mix_of_releases_(draft,_prerelease,_release)_and_a_ReleaseType_with_draft,_prerelease_and_releases (0.00s)
        /Users/dadou/workspace/updatecli/updatecli/pkg/plugins/scms/github/release_test.go:238:
            	Error Trace:	/Users/dadou/workspace/updatecli/updatecli/pkg/plugins/scms/github/release_test.go:238
            	Error:      	Not equal:
            	            	expected: []string{"v0.0.1", "v1.0.0", "v0.18.3", "v0.18.4"}
            	            	actual  : []string{"v0.0.1", "v1.0.0", "v0.18.4"}

            	            	Diff:
            	            	--- Expected
            	            	+++ Actual
            	            	@@ -1,5 +1,4 @@
            	            	-([]string) (len=4) {
            	            	+([]string) (len=3) {
            	            	  (string) (len=6) "v0.0.1",
            	            	  (string) (len=6) "v1.0.0",
            	            	- (string) (len=7) "v0.18.3",
            	            	  (string) (len=7) "v0.18.4"
            	Test:       	TestSearchReleases/Case_with_a_mix_of_releases_(draft,_prerelease,_release)_and_a_ReleaseType_with_draft,_prerelease_and_releases
    --- FAIL: TestSearchReleases/Case_with_a_mix_of_releases_(draft,_prerelease,_release)_and_a_ReleaseType_with_'Latest' (0.00s)
        /Users/dadou/workspace/updatecli/updatecli/pkg/plugins/scms/github/release_test.go:238:
            	Error Trace:	/Users/dadou/workspace/updatecli/updatecli/pkg/plugins/scms/github/release_test.go:238
            	Error:      	Not equal:
            	            	expected: []string{"v0.18.3"}
            	            	actual  : []string{"v0.0.1", "v0.18.3"}

            	            	Diff:
            	            	--- Expected
            	            	+++ Actual
            	            	@@ -1,2 +1,3 @@
            	            	-([]string) (len=1) {
            	            	+([]string) (len=2) {
            	            	+ (string) (len=6) "v0.0.1",
            	            	  (string) (len=7) "v0.18.3"
            	Test:       	TestSearchReleases/Case_with_a_mix_of_releases_(draft,_prerelease,_release)_and_a_ReleaseType_with_'Latest'
FAIL
FAIL	github.com/updatecli/updatecli/pkg/plugins/scms/github	0.289s
FAIL

Result on this PR (commit c9647687aba921fa7b65f6a7ea57a481b8676533)
ok  	github.com/updatecli/updatecli/pkg/plugins/scms/github	0.688s	coverage: 42.0% of statements

@dduportal Did you push the updated test somewhere ? Or should I copy paste the code from your example?

@dduportal Did you push the updated test somewhere ? Or should I copy paste the code from your example?

I did not push anything: you have to copy and paste :)

@dduportal Thanks for your UT suggestion


Registry docs: vcpkg.json should be baseline.json

Type of issue
Typo
Description
Here:

You meant to write baseline.json, not vcpkg.json, right? As far as I am aware, there's no vcpkg.json in a registry.
The same text occurs once more further down on the docs page (two times in total).
Page URL
https://learn.microsoft.com/en-us/vcpkg/maintainers/registries
Content source URL
https://github.com/Microsoft/vcpkg-docs/blob/main/vcpkg/maintainers/registries.md
Document Version Independent Id
90493daf-4ff2-0055-23a9-f22ea9a63e26
Article author
@vicroms
Metadata

ID: 90493daf-4ff2-0055-23a9-f22ea9a63e26
Service: vcpkg

@patrikhuber have you looked at https://learn.microsoft.com/vcpkg/produce/publish-to-a-git-registry. That article explains how to use the x-add-version command to update these files in your own Git-based registries. If you need further assistance feel free to email me at<EMAIL_ADDRESS>

What I believe is the typo in the docs mentioned above - the text above probably means baseline.json, not vcpkg.json

The article needs to be reworked a lot, so please read the clarifications below. In this case it is not a typo, the vcpkg.json the docs are referring to is the one in the port's directory.

There is a vcpkg.json in the example registry repo, and it says "The dependency list should be populated with every port in the registry". However this is not documented at all in the registries docs. Also the main vcpkg registry (https://github.com/microsoft/vcpkg/) doesn't contain a vcpkg.json. So is this file required, or recommended, or not? This should be documented on https://learn.microsoft.com/en-us/vcpkg/maintainers/registries.

That vcpkg.json file has a different purpose, it is used for Continuous Integration testing. Its purpose is described here: https://learn.microsoft.com/vcpkg/produce/test-registry-ports-gha. The curated registry at Microsoft/vcpkg doesn't contain that file because it uses a different method for its CI testing that is not suited for registry maintainers.

Versions database
The versions database is comprised of two components, the baseline file and a set of versions files. The x-add-version command should be used to maintain these files up to date without need of manual editing. It is expected that the versions database is updated each time a port is changed.
Baseline
All registries must contain a file named baseline.json located in <registry root>/versions/baseline.json.
The purpose of the baseline file is to describe the set of versions that are considered to be the latest for all ports in the registry.
The layout of the file is a dictionary of named baselines. And each baseline must contain a dictionary that maps a port to its current version. For Git-based registries, a baseline named "default" is required to exist.
Example baseline.json file:
{
  "default": {
    "foo": { "baseline": "1.0.0", "port-version": 0 },
    "bar": { "baseline": "2024-08-01", "port-version": 1 },
    "baz": { "baseline": "vista-xp", "port-version": 0 },
  }
}

Each baseline version entry is an object with the following properties:

baseline: the value is the port's version as it appears in the version field in the port's vcpkg.json file.
port-version: the value is the port's port-version as it appears in the port's vcpkg.json file.

Version files
Each port in the registry must have a corresponding versions file. The versions file is a JSON file named the same as its corresponding port, for example, a port named foo must have a corresponding foo.json file.
vcpkg expects the versions files to be stored in the following location <registry root>/versions/<prefix>/<port name>.json , where <prefix> is the first letter of the port name followed by a hyphen. For example, the versions file for port foo must be stored in <registry root>/versions/f-/foo.json.
The purpose of the versions file is two-fold:

List all available versions of each port
Point to the retrieval locations of each of these versions.

The layout of the version file is an object containing a "versions" array, with each entry in that array being a version object.  A version object must contain the following properties:

A version property: The property's key and value must match the ones used by the port in its vcpkg.json file. The key must be one of version, version-semver, version-date, or version-string; the value must be the version as it appears in the port's manifest file (vcpkg.json).
port-version: the value is the port's port-version as it appears in the port's vcpkg.json file.
git-tree: (only on Git-based registries) the value is the git-tree SHA corresponding to the port's directory. This is a SHA calculated by hashing the contents of the port's directory; this git-tree SHA can be used by Git to retrieve the contents of the port matching the provided git-tree. This makes it possible for vcpkg to retrieve old versions of ports from the registries Git history.
path: (only on filesystem registries) the value is the full path to a directory containing the port files for the specific version.

Example of 3fd's version file (<registry root>/3-/3fd.json):
{
  "versions": [
    {
      "git-tree": "81e9fd75ff6a4fee6ab7a5d4d09e7e3a735fbaaa",
      "version": "2.6.3",
      "port-version": 4
    },
    {
      "git-tree": "0bfff492ed0b9ee3f31bb7593443572bc0fcf2d4",
      "version": "2.6.3",
      "port-version": 3
    },
    {
      "git-tree": "3b52e6aff44ca4e11335754570701f692ea14184",
      "version": "2.6.3",
      "port-version": 2
    },
    {
      "git-tree": "622078647d4fff0a51a26a4ecff2ba9109e5764d",
      "version": "2.6.3",
      "port-version": 1
    },
    {
      "git-tree": "73ad3c823ef701c37421b450a34271d6beaf7b07",
      "version-string": "2.6.3",
      "port-version": 0
    },
    {
      "git-tree": "70ed3ae824a2f31ed56b6c6105232bfe2aebe43e",
      "version-string": "2.6.2",
      "port-version": 3
    },
    {
      "git-tree": "abd29087cbcde4a7416618fea70094c09fa16c37",
      "version-string": "2.6.2-3",
      "port-version": 0
    },
    {
      "git-tree": "963060040c3ca463d17136e39c7317efb15eb6a5",
      "version-string": "2.6.2-2",
      "port-version": 0
    },
    {
      "git-tree": "548c90710d59c174aa9ab10a24deb69f1d75ff8f",
      "version-string": "2.6.2-1",
      "port-version": 0
    },
    {
      "git-tree": "67d60699c271b7716279fdea5a5c6543929eb90e",
      "version-string": "2.6.2",
      "port-version": 0
    }
  ]
}

Fixed in #333


Write of stale file after Delete

As there is no locking, the following could happen with a file A:

Download of file Av1 not in cache is initiated by client 1.
Cache owner issues delete of Av1. Av1 is deleted from cache. Av2 is now available on origin.
Download of file Av1 completes and is written to cache.
If client 2 requests file A, he will be served the stale file Av1, rather than the server retrieving newer version Av2.

Step 3. above must fail.
A possible solution is to record the start time of 1. and  deletion time of 2. and compare them before writing to the cache.
Suggestions are welcome!
Note: This is inline with issue #17 where the lack of locking causes problems, but this case is more severe. If you are aware of any other issues cause by the lack of locks, please comment here.

A possible solution is to record the start time of 1. and deletion time of 2. and compare them before writing to the cache.

As this will be a rare thing I would suggest you do this optimistic locking on the cache level and not individual files: Set a timestamp on any delete from cache and do not accept any writes started before that time. You would need a mutex to set and check that value.

I agree that doing it at the cache level suffices. I will implement this tomorrow.

Fixed in https://github.com/alexandres/poormanscdn/commit/19c530961f6bbf3fba060d2def6f110522f44624


Refractoring Point class

I would like to add a lot more overloaded methods,
aswell as overloading operators for :

sum
substraction
equality

I would also rename tol to eps (short for epsilon or also precision value called)
I think eps would be understood better
and add a default value like 1e-6
Add some documentation explaining, what

dmx
dm
length
does later on

        public bool IsCorner();
        public bool IsLeft();
        public bool IsBevel();
        public bool IsInnerbevel();

I would consider putting these methods outside, but I am not sure about this one.
It would make the class little bit cleaner
        public bool IsCorner(Point p);
        public bool IsLeft(Point p);
        public bool IsBevel(Point p);
        public bool IsInnerbevel(Point p);

How about making the IsCorner(Point point) methods static?

Of course, I played with the idea, that the class does not have to be part of the Point class. But sure let us go static for now


COM display is not updated when segment's mass center location is edited.

Display of COM from Bodies Node (that worked in 3.3) is not supported by 4.0 GUI.

I can display the mass center of bodies on my Mac. Not sure how the new behavior compares to functionality in 3.3

Should be exactly the same except in the past we used a mesh file with part green part black, now just green sphere AFAIK

I can display the COM for each body, but when I change the location of the mass_center in the properties pane, the visualization of the COM does not change. If I save the model (with the new COM location), close the model, reopen, and display COM, the new COM is seen.

I moved this issue back to the to-do list and updated it's title to reflect the problem.

Working
W10. OpenSim-cedd8d22-2018-05-31-win64.exe


Passwords

Looks nice I am about to try it out. Looking at it would be neat if could support matching password validation (common scenario on registration forms)..
Also some of the English needs to be touched up in the default messages.  Looks very nice though, thank you.

Interesting suggestion. Should be easy to implement. For now you can use:
https://github.com/TheSharpieOne/angular-input-match (untested by me)

I'll added a match directive. Have a look at the readme to find out if it works for you.

Perfect looks good.  I'll open a pull request with some suggestions for the English stuff.  Thanks again and nice work!


Promptfile not all formats available

If I try to download a Video from Promptfile, the option -F gives me only "sd" with 703.55MiB, but on the website the file is 1.62 GB and if I downlod it in the browser the file is also 1.62 GB.
Does someone know a fix?

Post the full output you get with the --verbose option

[debug] System config: []
[debug] User config: []
[debug] Command-line args: [u'-F', u'--verbose', u'http://www.promptfile.com/l/AA3B278789-1E80A5AD27']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2015.07.07
[debug] Python version 2.7.3 - Linux-3.18.11-v7+-armv7l-with-debian-7.8
[debug] exe versions: avconv 9.14-6, avprobe 9.14-6
[debug] Proxy map: {}
[PromptFile] AA3B278789-1E80A5AD27: Downloading webpage
[PromptFile] AA3B278789-1E80A5AD27: Downloading video page
[info] Available formats for AA3B278789-1E80A5AD27:
format code  extension  resolution note
sd           mkv        unknown


evo: Refactor (Add/Update/Remove)MNs to do the job in one go

Instead of hashing the value and querying mnUniquePropertyMap both 2 or 3 times per property.
Also unify their error messages while at it.

Good point! 👍 Added


New Debug Controls In Command Center Needs Some Layout Changes

Type: Bug
This is about #192592
Currently the debug controls in the command center look like this. And its really not pretty, since you have side loaded with elements and the other side wide empty:

I propose that you change the • with a flexible space and have the monaco-toolbar's flex direction set to row-reverse and have this look:

It feels more spacious and even on the both sides. Also the window title is clearly divided from the debug controls.
VS Code version: Code - Insiders 1.83.0-insider (4268e464763087044d0c1b5bdd37ebbe683cadfa, 2023-09-29T20:44:05.310Z)
OS version: Darwin arm64 23.0.0
Modes:

P.S. If you agree, I would love to contribute the code since I already have figured the modifications needed.

P.S. If you agree, I would love to contribute the code as I already have figured the modifications needed.

could you have a try and maybe this will be happened


Can we use existing parsers?

https://github.com/vpdb/vpx-js/blob/master/lib/scripting/grammar/grammar.bnf
or
https://github.com/wine-mirror/wine/blob/master/dlls/vbscript/parser.y (bison)

switch to https://github.com/francisdb/vbscript.rs


when using TestSuite.run with listeners, listeners are not unregistered

let a and b be instances of TestSuite.
If i run a.run(listeners='listener.py') and then after i run b.run() then listener will still be used during execution of TestSuite b.

Seems this fixes the problem:
https://github.com/robotframework/robotframework/pull/1993

Have you tested does this happen also with robot.run API or only with TestSuite.run?

I will check that.

I have tried and this does not happen with robot.run.

Interesting. Have you analyzed why not?

So far i was not able to figure that out.

I found the reason.
When I call robot.run, execute' method use _loggingcontextmanager. This manager callsclosemethod on listener object. This method clearsself._loggersin logger object. When usingTestSuite.runnon of that is called. Anyway I think I am on the track with my fix to unregister listeners inclose` method for output object. Let me know what do you think.

Great that you found the root cause! Your fix sounds good too. It would great if you could create a PR with unit tests and your fix. I can then review it and look at the related code too.

It is already done: https://github.com/robotframework/robotframework/pull/1993
Or do you mean we need something more?

Sorry, forgot about that. Hopefully I have time to look at it and some other PRs tomorrow.

PR #1993 was merged in 0886b61. This issue can be considered done. Thanks @WojtekKowaluk!!

Unfortunately the fix in PR #1993 broke listener interface slightly. Now that listeners are closed already after execution has ended, they do not get notification when log and report are created. There are tests that catch this error but unfortunately our CI has been down lately and the PR wasn't automatically tested.
Good news is that I have a new fix that looks promising. The idea is to use LOGGER as a context manager so that it can be nested, and automatically call LOGGER.close() when the context manager on top exits.

I'm sorry to hear that. :(

No worries. This definitely wasn't easy to spot from the code. Obviously it would have been a good idea for you to run all tests on your machine too, but the real problem was that CI was down. Anyway, all tests are now passing on my machine.

Fixed by a4c4ae1.


How to use Dynamic Model to validate the restful api input request?

What steps will reproduce the problem?
I want to validate the post input from my app client, which some attributes has been required.
And because some attributes are Active Record  irrelevant, so I try to use Dynamic Model on validation.
What is the expected result?
What do you get instead?
The post data is this:
public function actionGet_school_list_test()
    {
        $this->sendEncryptRequestParams([
            'lang' => 0,
            'location_id' => 0,
            'grade_id' => 0,
            'school_type_id' => 0,
            'token' => Http::createUserToken(1),
        ]);

        return $this->actionGet_school_list();
    }

and the called action is this:
public function actionGet_school_list()
    {
        //获取并验证参数
        if (empty($request = $this->parseRequest()))
            return $this->createErrorResponse();

        $model = DynamicModel::validateData($request, [[['lang', 'location_id', 'grade_id', 'school_type_id', 'token'], 'required']]);
        if ($model->hasErrors())
        {
            return $this->createResponse([]);
        }

        $expect = ['lang' => 0, 'location_id' => 0, 'grade_id' => 0, 'school_type_id' => 0, 'token' => 1];
        if ($this->validateRequest($request, $expect) == false){
            Http::$ERR_NO =  Http::$ERR_NO_PARAM_ERROR;
            Http::$ERR_STR =  Http::$ERR_PARAM_ERROR;
            return $this->createErrorResponse();
        }

//        获取数据并返回
        $schools = School::find()->getSchoolListByFilter($request);

        return $this->createResponse($schools);
    }

But when some attributes are do not exist in the post, and required validator works,
some error has been given:
{
"name": "Unknown Property",
"message": "Getting unknown property: yii\base\DynamicModel::location_id",
"code": 0,
"type": "yii\base\UnknownPropertyException",
"file": "/mnt/hgfs/Code/wenxiaoyou/vendor/yiisoft/yii2/base/Component.php",
"line": 143,
So i wonder if I use  The Dynamic Model in a  wrong way, or there is aother way to do the job?
Additional info

Q
A

Yii version
2.0.7

PHP version
7.0.4

Operating system
CentOS 7 64bit

my fault

Can you please let me know what was the issue? because I am facing same one.
Thanks in Advance.


refactor: improve the semantics of the method

#181404871
Checklist:

[ ] Have you added or updated tests to validate the changed functionality?
[ ] Have you added Draft Release Notes in docs/draft-release-notes.md?
[x] Have you followed the Conventional Commits specification?

I have reviewed csb-brokerpak-[aws, azure] and do not use the testing framework. The csb-brokerpak-gcp will be modified in a later pull request.
If you believe that it is not necessary to make parallel change and directly modify the method, or that I am wrong in this change, please let me know.

Thank you very much @blgm!! I just added the explanation in the draft releases notes.


Optimizing how we read the wikipedia dump

The wikipedia dump file  latest-all.json.bz2 (from https://dumps.wikimedia.org/wikidatawiki/entities/) is enormous:

~80GB compressed as bz2
~1.5TB uncompressed
100M lines (which are wikipedia entries)

Reading it efficiently is a hard problem. Today, we speed that up by:

Building an index on the first run, which takes many hours (I didn't time it exactly)
After that, we rely on the index to read it in parallel using multi-processing

On my Macbook M1, it still takes 65m to process it once we have the index.
I don't know that we can do much to read the entire file faster. But let's step back...
Out of those 100M entries, we ignore the wide majority of them because they don't have the numeric-id we care about:
if not(line.startswith(b'{"type":"item"') and quick_byte_match.search(line)):
    continue

Specifically, we are skipping all but 3.6M entries, so we only look at 3.6% of the overall entries.
This offers a very simple optimization opportunity: on the first run, we can filter out the lines we don't need, and save the result as a separate file, e.g. latest-all-filtered.json.
We can actually do additional filtering by observing the following:

Each entry has 5 sub-objects: labels, descriptions, aliases, claims, and sitelinks
We never look at descriptions and aliases, so we can completely remove them
We only care about a subset of the claims, so can can filter out the rest. Specifically, we care about at { "P31", "P685", "P846", "P850", "P1391", "P5055", "P830", "P141", "P627", "P961" }
From what I can see, we only look at the en entry under labels, so we can filter the rest out
Seems we're using all the sitelinks, so we'd leave those alone

We can probably do more aggressive things, but with more complexity and diminishing returns.
If we do all the above, we end up with a file that has size 9.3GB uncompressed, which is 0.06% of the original uncompressed file. It's also a lot smaller than the original compressed size of 80GB. At that point, it is small enough that there is no real reason to compress it and have to deal with the bz2 complexity and runtime cost.
To summarize, the proposed algorithm is:

On first run, instead of building a bz2 offset file, build an uncompressed filtered json file
Any time after, just use the uncompressed filtered json directly, bypassing the original bz2 altogether.

In my quick test, the processing takes about 2.5 minutes (after we create the filtered file), compared to the current 65m (after we create the bz2 index). And that's without multiple processing. If we add multi-processing, it would likely be way under a minute.
Obviously, we'll need to pay the cost of creating the smaller file each time we get a new dump, but we're already paying a higher cost than that today when we build the index (which is more expensive that the filtering phase).
Please let me know what you think about this approach.

The problem here is that we can't guarantee whether a common-name item or the taxon item to which it refers come first in the JSON dump.

@hyanwong Here is a possible idea:

When we do the filtering phase on the original dump, initially save the vernacular and taxon items to two different files.
At the end, put them together into one file by simply concatenating them (I assume with taxa before vernacular?).
Then during tree generation, we'll be guaranteed never to encounter a vernacular item before encountering the taxa that it maps to.

Could that save us from doing multiple passes at all?
Though I'm actually not sure, because at the time we process the dump, we don't yet have the popularity. So even with the taxa/vernacular ordering guarantee, we would not yet know how to set only_if_more_popular for the override logic.
WDYT?

This optimization is in.


Update Sugar when UPP settings property is updated

Related to https://github.com/zooniverse/Panoptes-Front-End/issues/4428, Panoptes could update Sugar when the UPP settings property is updated (whether it's from caesar or from a project owner using the python client). Then PFE can subscribe and notify the user of workflow promotion correctly. I think this worked in the past because we were polling the API via the ChangeListener and PromiseRenderer components, but those got removed and I don't think we noticed that this got broken in the process.

Just posting here Zach's message from slack:
for trouille: Sarah, Amy and I dove into figuring out the PFE notifications/sugar situation. Sugar seems to be working and events are coming over the websocket. However, nothing in the UI appears to be doing any listening and there aren’t any examples of elements that are dynamic based on them. This was broken at some point in the recent past (since GS promotion), probably during an ES6 conversion.
The reason for this adventure was to provide feedback to users when they have been workflow promoted (for Snapshot WI or Gravity Spy) without a refresh. In order to accomplish this, I’m going to build a Sugar notification worker into panoptes and fire it off when a project updates a user’s project preferences. The UI will then have to be updated to do whatever is appropriate when that particular event is pushed by sugar.

Let's open a relevant issue if time is allocated to this.


Obtaining ground truth occupancy grids

Hi.
I am developing a project that needs the ground truth occupancy grid of the map (either 2D or 3D, preferably the latter), but I couldn't find any documentation regarding that. Does anyone know how can this be achieved? Thanks in advance.

Currently I have used Lidar sensor to obtain the occupancy grid. But I still expect for a better choice.

It depends on the data you need.
With the Semantic LIDAR, you get the semantic tag (house, ground, road, ...) and index of the object.
https://carla.readthedocs.io/en/latest/ref_sensors/#semantic-lidar-sensor
For the camera, there exists a semantic version, too.
https://carla.readthedocs.io/en/latest/ref_sensors/#semantic-segmentation-camera
What kind of data do you need for your occupancy grid?

hello, what is the issue that is to be fixed ??

Hi,
Should I close this issue? Or do you still need help with this?
Marcel

please close it, thank you
will ir be alright to ask any questions after closing the issue ??
On Fri, 3 May 2024 at 18:12, Marcel Pi @.***> wrote:

Hi,
Should I close this issue? Or do you still need help with this?
Marcel
—
Reply to this email directly, view it on GitHub
https://github.com/carla-simulator/carla/issues/7197#issuecomment-2092941296,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A2PUJAXJNUJF6BERWIC3JJDZAOA4RAVCNFSM6AAAAABEADX46WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAOJSHE2DCMRZGY
.
You are receiving this because you commented.Message ID:
@.***>

Currently I have used Lidar sensor to obtain the occupancy grid. But I still expect for a better choice.

Hi, Have you met any point-clouds aligning problems when you merged point-clouds of different frame?


[Grid] Add 'root' to GridClassKey typing

Root was missing for type GridClassKey.

[x ] I have followed (at least) the PR section of the contributing guide.

Closes #16796

@hendrikskevin It's a great first pull request on Material-UI 👌🏻. Thank you for working on it!


snabbdom modules parameter in startApp is redundant

Snabbdom modules parameter when calling startApp is redundant, why not require all the modules and pass them to the snabbdom init instead.

Hello,
I used to do that but the whole point of snabbdom modules is that they are opt-in (each module contribute a bit to the diffing runtime cost and you might not use every capabilities on every single project, for instance inline styles) and you may want to load any number of custom extras modules, some of which may fully replace the snabbdom "official" equivalent.

You might be correct, then what about implementing the parameter as optional and if present, then obey the passed value, if not - create default set of modules.
Sorry I'm writing to closed issue


Sometime, the json generated with the llm is not correct. This pull request fix it

** Description**
Help the llm to generate a correct json format.
This patch reduces the probability to generating this error.
*** Issue **
Sometime, the json generated with the llm is not correct.  When the llm must generate a list of objects. The last item has an invalid comma.
{"a":["a",
        "b",  # Not, invalid comma at end
        ]
 }

** Tag maintainer:***
@baskaryan
Twitter handler:
pprados

@pprados  let me know if OK to close PR? This is probably too much effort to benchmark


autoLoadServices attribute may not work

Hi James
I just upgraded from NuGet package 4.1.3 to 4.1.5 and my custom image handler no longer returned images :-/ After a quick compare I saw that the security.config default file that was written on top of my original one contained  instead of . As my image.axd service is loaded automatically I promptly added autoLoadServices="true", but then got this message:
Server Error in '/' Application.
Configuration Error
Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.
Parser Error Message: Unrecognized attribute 'autoLoadServices'. Note that attribute names are case-sensitive.
Then I noted that you had done some changes related to the autoload handling (https://github.com/JimBobSquarePants/ImageProcessor/commit/65e95ad9cdc2bc87bda535ed13289310bf8c8db7), so I removed the attribute and added my image.axd handler to the configuration file, and now it works.
So - is it intentional that the default security.config file cant also autoload handlers, so to say. Or am I misunderstanding things? I can't see what good autoload is for, if you can't use it along with the specified handlers.
BR, Jan

Hi Jan,
I changed the behaviour so that by having a configuration file in place it will only load the services contained with the configuration file by default. Which reminds me... I need to update the documentation!
It was better for security and also meant that settings were loaded properly. The autoLoadServices property served no real function other than to cause confusion.
To me, this makes sense. If you want to run everything as default. Don't add configuration. If you want to edit the defaults. Add the configuration and the system will run from that alone.
Cheers
James

Hi,
OK, that makes sense. So if I remove the configuration, I get the default behaviour - but if I add the configuration (which I need) I also have to add the LocalFileImageService to the configuration if I want to use the "default" behavour along with my own module?
/Jan

Yeah, that's right. It'll ensure that you only get what you need and make any issues easier to debug.

Alright - thank you :o)


Form helper take2

Fix #136
This moves the easter-egg form helper into a more official and usable sidekick plugin.
Test URLs:

Before: https://main--stewart--hlxsites.hlx.live/en/about-stewart/supplier-diversity-at-stewart
After: https://form-helper-take2--stewart--hlxsites.hlx.live/en/about-stewart/supplier-diversity-at-stewart

Magic, @shsteimer.


Simply fix:  syntax/help - helpHeadline highlight element chararcter

Simply fix for help syntax:

Add ' to helpHeadline

For usr_10.txt - WHEN IT DOESN'T WORK small caption.
https://github.com/vim/vim/blob/28c56d501352bd98472d23667bade683877cadcc/runtime/doc/usr_10.txt#L740
It does not highlighted.

I'll include it, thanks


Update to README.md to include imgui_tables.cpp

The latest version of imgui requires that the imgui_tables.cpp file be included in order to use the library. I've updated the README manual install instructions to include this change.

Looks good, thanks


VS Code does not show diagnostics for C files

When opening a C file using VS Code with SourceKit-LSP as the language server, no diagnostics are shown. This seems to be because the diagnostic’s source is clang and that’s not in DiagnosticsManager.sourcekit. Since we forward the diagnostic’s source from clangd here, I wonder whether it would be possible to generalize the implementation of DiagnosticsManager to consider everything that’s not from swiftc as a SourceKit diagnostics.
I think build errors from C files in a SwiftPM package also don’t show up in the Problems view.

Verified with 2cd60ca0c11d1604db33a21e9940e3bfc55b46e8