[ldd-msn,ldd-msn_surface] Extend the legal regex for all SCLK related values to 9 decimal places

Issue Type
Enhancement
Describe the issue identified (if applicable)
Please extend the regex for all msn and msn_surface SCLK fields to include 9 decimal places in the fractional component.
Describe the solution you'd like
Originally, this started off as a needed update for a single field under M20:
https://github.com/pds-data-dictionaries/ldd-m2020/issues/10
..but it seems this approach should be generalized for all SCLK fields captured under msn and msn_surface namespaces.
Describe alternatives you've considered
Leaving as-is is possible, tho not ideal as it will introduce inconsistency.
The original 6-figures was a recommended guess.
LDD Dictionary Version
msn: 1.E.0.0
msn_surface: 1.D.0.0_<IP_ADDRESS>
For bug fixes, note the LDD dictionary version in question.
PDS4 IM Version
UNK
Need-by Date
Request is made for consistency, so there is no hard need by date.
Additional context
@rgdeen may have some more information on which fields should be included.

I have no issue with 10.  I’d rather be consistent if someone else needs 10.   It’s not like it’s a problem to have too much precision in pretty much any context I can think of... and people can always add a mission specific constraint for less if they need it.   You can’t add a mission specific constraint for more.
-Bob
Sent from my iPad

On Mar 31, 2021, at 11:35 AM, Trent Hare @.***> wrote:

@nttoole We will copy the M2020 dictionary update to both of these. I find it odd that allowable lengths for this are different for different missions. I was just asked to extend it to 10 in another dictionary.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

I’m not in general in favor of being too restrictive so I’m happy keeping it general unless someone really feels strongly otherwise.
-Bob
Sent from my iPad

On Mar 31, 2021, at 11:53 AM, Trent Hare @.***> wrote:

@nttoole @rgdeen Well for better or worse when msn or msn_surface were created they don't have a forced "pattern" for SCLK attributes...
Should we force a pattern or keep this open (and leave alone) for both msn and msn_surface?
Mars2020 pattern: https://github.com/pds-data-dictionaries/ldd-m2020/blob/e06cbb5220954cfbb9c457f2b37c38da26123810/src/PDS4_MARS2020_IngestLDD.xml#L294
msn - a string less than 256...
https://github.com/pds-data-dictionaries/ldd-msn/blob/3d1de7f792558de53bcb562bb6abf37f453b5f34/src/PDS4_MSN_IngestLDD.xml#L145
msn_surface uses any string too. e.g.
https://github.com/pds-data-dictionaries/ldd-msn_surface/blob/8e44b7a7f4c8b9078010611acd08bcbca9ac94cc/src/PDS4_MSN_SURFACE_IngestLDD.xml#L364
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

Agreed, in this instance, the more open, the better.

@nttoole @rgdeen @sslavney Okay so I plan on closing this ticket with no updates to msn or msn_surface.
I'm sorry I brought up 10 for a length (I think it just confused things). But I will assume Mars2020 dictionary will remain at 9 (again msn and msn_surface will not have any length restriction).


CA2202 - use null propagation instead (syntactic sugar)

In the example of https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2202-do-not-dispose-objects-multiple-times?view=vs-2019
please change the finally statement from
if(stream != null)
stream.Dispose();
to
   stream?.Dispose();

@qub1n Thank you for the feedback!
@TerryGLee Are these documents auto-generated?
If so, the issue should be re-assigned.

These docs are not auto-generated. The OP is referring to the null-conditional operator. @WilliamAntonRohm Feel free to update the example and perhaps add a link to the null-conditional operator docs in a TIP box below the example.

Private repo PR 5009 contains the new code -- https://github.com/MicrosoftDocs/visualstudio-docs-pr/pull/5009.

The updated code sample document should be live by tomorrow.


Move bundle viz into a plugin

bundle viz generates a basic ERD graph using graphviz. While useful, it could be improved, which would expand its scope and footprint. More realistically, it is a neat feature that could be split off into its own project and loaded using the new plugin API. To that end, I'd like to do the following:

[ ] split existing functionality into a new bundler-viz project
[ ] load bundler-viz using plugin API

This would remove the graphviz dependency from bundler core, allow for forward development to improve bundler visualization tools, and provide a roadmap for future bundler plugin development by interested parties.
cc @lynnco and @indirect

Since this is technically a breaking change, it'll have to come in a major version bump

@segiddins agreed. I'm unsure as to the roadmap for the project, but would a dep warning for the next release SOP?

@segiddins alternatively, we could keep the current implementation as a fallback if a new plugin version was not installed, and print a dep notice about the plugin to point it out?

Yeah, that could work. Only danger being the user having a different bundle-viz executable in their path

Since we’re already planing major version bump in the near-ish future, this seems good to me 👍
On Nov 16, 2016, 8:43 AM -0800, Samuel Giddins<EMAIL_ADDRESS>wrote:

Yeah, that could work. Only danger being the user having a different bundle-viz executable in their path
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub (https://github.com/bundler/bundler/issues/5180#issuecomment-260999706), or mute the thread (https://github.com/notifications/unsubscribe-auth/AAAATuWVVXNr4opdo5afjrrM7d3HHdC2ks5q-zKhgaJpZM4K0Ake).

@roseaboveit and I knocked out a straight port of the viz code into a new plugin gem here https://rubygems.org/gems/bundler-dependency_graph
It is mostly an MVP that let us get a working example of a Bundler::Plugin::API based project, as no one could point us towards any that currently exist in the wild. In the process, we found a number of issues with the API which we'll tag in other issues. Our goal is to reach a level of feature parity with viz before proposing a removal PR against an eventual 2.0 release.

Hey, I'm trying to get a sense of our progress on 2.0, so what's the status of the plugin bundle viz command?

IMO, we can extract the existing viz command into the bundler/bundle-viz repo, ship it as the gembundle-viz, and then this plugin work can continue 👍

I've made up-to-date extraction here https://github.com/fatkodima/bundler-visualize
Let me know, what you think.

Thanks @fatkodima!
The work left to be done is to decide on the final name for the repository and the actual command, to decide whether it should live under the bundler organization or whether an external plugin is also fine, and to verify everything is working properly and provide a smooth deprecation path.
So, since the plugin has already been extracted which was the point of this ticket, I'm going to close it, and move further discussion to https://github.com/bundler/bundler/issues/7041.


@JuliaRegistrator register

@JuliaRegistrator register

@JuliaRegistrator register

Error while trying to register: "Tag with name v0.3.0 already exists and points to a different commit"

@JuliaRegistrator register

Registration pull request created: JuliaRegistries/General/107227
Tip: Release Notes
Did you know you can add release notes too? Just add markdown formatted text underneath the comment after the text
"Release notes:" and it will be added to the registry PR, and if TagBot is installed it will also be added to the
release that TagBot creates. i.e.
@JuliaRegistrator register

Release notes:

## Breaking changes

- blah

To add them here just re-invoke and the PR will be updated.
Tagging
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v0.3.1 -m "<description of version>" a15f4a1f17f9cbc7046e9789ccf472b4cb9e21c0
git push origin v0.3.1

Also, note the warning: This looks like a new registration that registers version 0.3.1.
Ideally, you should register an initial release with 0.0.1, 0.1.0 or 1.0.0 version numbers
This can be safely ignored. However, if you want to fix this you can do so. Call register() again after making the fix. This will update the Pull request.

@JuliaRegistrator register

@JuliaRegistrator register

Registration pull request created: JuliaRegistries/General/107231
Tip: Release Notes
Did you know you can add release notes too? Just add markdown formatted text underneath the comment after the text
"Release notes:" and it will be added to the registry PR, and if TagBot is installed it will also be added to the
release that TagBot creates. i.e.
@JuliaRegistrator register

Release notes:

## Breaking changes

- blah

To add them here just re-invoke and the PR will be updated.
Tagging
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v0.3.1 -m "<description of version>" d52eda69f1a7685f0b0680d14b0bd40c13b49232
git push origin v0.3.1

Also, note the warning: This looks like a new registration that registers version 0.3.1.
Ideally, you should register an initial release with 0.0.1, 0.1.0 or 1.0.0 version numbers
This can be safely ignored. However, if you want to fix this you can do so. Call register() again after making the fix. This will update the Pull request.

@JuliaRegistrator register
Release notes:

The package name is changed from JuMag.jl to MicroMagnetic.jl
The KernelAbstractions.jl is used to support other platforms

Registration pull request created: JuliaRegistries/General/107408
Tagging
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v0.3.1 -m "<description of version>" 1d7fc62bf5fa1897e7ef8252c799e6b24ea0f1ed
git push origin v0.3.1

Also, note the warning: This looks like a new registration that registers version 0.3.1.
Ideally, you should register an initial release with 0.0.1, 0.1.0 or 1.0.0 version numbers
This can be safely ignored. However, if you want to fix this you can do so. Call register() again after making the fix. This will update the Pull request.


signatures: upgrade to notation 1.0.0-rc.1 and call notation-go libs instead of invoking notation directly in UTs

Is your feature request related to a problem? Please describe.
zot invokes "notation" directly in UTs.
https://github.com/project-zot/zot/blob/main/pkg/api/controller_test.go#L3457
We can test/assert individual steps.
Describe the solution you'd like
Instead, can we link to this?
https://github.com/notaryproject/notation-go
Additional context
https://github.com/notaryproject/notation/pull/141

In progress.

Fixed in #1104


MSID: 99424 Version: 1 DOI: 10.1101/2<IP_ADDRESS>2841

MSID: 99424
Version: 1
Preprint DOI: https://doi.org/10.1101/2<IP_ADDRESS>2841
Step 1. Awaiting reviews
Editorial to post reviews via hypothesis
Useful links:

DocMap: https://data-hub-api.elifesciences.org/enhanced-preprints/docmaps/v2/by-publisher/elife/get-by-manuscript-id?manuscript_id=99424
New model tracking: https://docs.google.com/spreadsheets/d/1_fHaoOy7hjyocptKtVJRijeNpUY4hBS7Ck_aVmx6ZJk/
Reviews on sciety: https://sciety.org/articles/activity/10.1101/2<IP_ADDRESS>2841

For trouble shooting (e.g. no Docmaps available):

DocMap issue addressing: https://miro.com/app/board/uXjVNCwK6EI=/
Explore DataHub DocMaps API: https://lookerstudio.google.com/reporting/4c2f0368-babb-4beb-b5b3-497e7e7b0f08/page/ejphD
Unmatched submissions and preprints: https://lookerstudio.google.com/u/0/reporting/9f86204f-3bf7-477c-9b18-5c5ef141bf69/page/p_gxi57ha93c
Unmatched manuscripts spreadsheet: https://docs.google.com/spreadsheets/d/15QcK8w-ssB7109RQEDtFpJPZ0J5HTGxoHa_2TtpMBbg/edit#gid=1336081641

Step 2. Preview reviewed preprint
Production QC content ahead of publication
Instructions:

QC preview: https://prod--epp.elifesciences.org/previews/99424v1
Update ticket with any problems (add blocked label)
When QC OK, add QC OK label to ticket and add publication date and time to https://docs.google.com/spreadsheets/d/1amAlKvdLcaDp5W8Z8g77NmkwbMF5n_u89ArSqPMO8jg
Move card to next column
(At end of the day post link in #enhanced-preprint and ask for PDF to be generated)

Useful links:

Preprint DOI :  https://doi.org/10.1101/2<IP_ADDRESS>2841
Confirm reviews returned by EPP: https://prod--epp.elifesciences.org/api/reviewed-preprints/99424/v1/reviews
To update the MECA path in the docmap: https://docs.google.com/spreadsheets/d/1mctCQuNFBjSn97Lihy7_vBO6z7-N-oqyLv4clyi6zHg

Step 3: Awaiting search reindex
This step adds the reviewed preprint to the homepage: https://elifesciences.org
The search reindex is triggered once an hour. We need the reviewed preprint to be indexed as the search application serves the journal homepage.
Useful links:

Jenkins pipeline to reindex search can be triggered sooner or monitored here: https://alfred.elifesciences.org/job/process/job/process-reindex-reviewed-preprints/

Step 4: Published! PDF requested
Waiting for PDF to be generated
Useful links:

PDF tracking: https://docs.google.com/spreadsheets/d/106_XeDjmuBae7gexOTNzg60lapeqjl2aRn9DzupGyS8/

Step 5: Introduce PDF to data folder and git repo
Upload PDF to relevent folder in git repo https://github.com/elifesciences/enhanced-preprints-data/
Step 6: Done!

[ ] Kettle is on!

The reviews were posted to the preprint v1 which was published in May 2023. The authors have since published two further versions. Moving the reviews over to the latest version, the v3, and loading that MECA package.

warn: [title-upper-case] Content of  element is entirely in upper case: Is that correct? 'MAUTHNER CELL RESPONSES ARE SENSITIVE TO THE DYNAMICS OF VISUAL TECTAL STIMULI'
warn: [title-upper-case] Content of  element is entirely in upper case: Is that correct? 'MULTISENSORY ENHANCEMENT IN THE MAUTHNER CELL'
warn: [title-upper-case] Content of  element is entirely in upper case: Is that correct? 'TECTAL- AND AUDITORY-EVOKED FEEDFORWARD INHIBITIONS EXHIBIT DISTINCT TEMPORAL DYNAMICS'
warn: [title-upper-case] Content of  element is entirely in upper case: Is that correct? 'STIMULUS TEMPORAL ORDER AND MODALITY AFFECT STIMULI INTEGRATION'
warn: [title-upper-case] Content of  element is entirely in upper case: Is that correct? 'MULTISENSORY INTEGRATION IN THE MAUTHNER CELL SHOWS INVERSE EFFECTIVENESS'

Supplementary figure 1 moved to bottom of article


fix: performance improvements for node stop

Description
This pull request changes the following:

performance improvements for node stop
added check for server unavailable in read lease

Related Issues

Closes #

:tada: This PR is included in version 0.32.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


expr syntax doesn't match docstring

Tiny inconsistency:
Docstring for expr calls for bands specified by 'B', but regex only matches 'b'.
https://github.com/cogeotiff/rio-tiler/blob/master/rio_tiler/utils.py#L738
Suggestion to match both cases: r"[bB](?P<bands>[0-9A]{1,2})"
Happy to make PR, just let me know which case(s) should be used.

hey @phloem7,
That's sound really good and simple PR to do 😄
I'll be happy to review it


ICLR Blogpost Submission

Hi, hereby our pull request for the ICLR Blogpost Track. Note that this is still a work in progress, meaning that for now we have only provided an outline + set the right documents in place. We will add the actual contents of the blog in the coming days, prior to the deadline.

Apologies -- wanted to submit a PR to the staging repo instead of the main.


extrinsic cal from recorded footage

As the number of cameras increases, a bottleneck is presented by running charuco search on all frames concurrently. A potential improvement of the workflow would involve recording an attempt at the calibration and the processing it to generate a capture volume.

Alright...this is an old one. At this point I need to figure out how to integrate a widget for the extrinsic calibration. I think it would be valuable to be able to preview a frame to ensure that the orientation of the camera is correct (even if the control of the rotation still happens on the intrinsic calibration tab).

With this, the intention is to run this through the CaptureVolume widget


Score vs Rank

Total Score does not determine the rank?
Steps to reproduce the behavior:
I simply used the robocode-tankroyale-gui-0.24.4.jar and sample bots.

Set rounds to 2+
Add 3+ bots
See scoreboard

Expected behavior
Highest scorer should receive 1st rank.
Screenshots

Desktop (please complete the following information):

Windows 11

Java info:
java 17.0.11 2024-04-16 LTS
Java(TM) SE Runtime Environment (build 17.0.11+7-LTS-207)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.11+7-LTS-207, mixed mode, sharing)

@russellpeiris Thank you for the bug report. 🙂👍
Looking at the scores/points, the order of looks correct.
But you are right that the rank is wrong. So I will fix this for the next release. 🙂

@russellpeiris Fixed for the next release. 🙂

A fix for this issue is included in release 0.25.0


[flash/dv] Move some OTF methods and enable flash init in otp_rst test

Hi,
This PR is changing 2 small things:

Moving some OTF methods to the env_cfg since those methods should be overriden in some cases in the extending close-source environment.
Enable flash initiation between transactions in flash_ctrl_otp_reset. This required because in some seeds the test apply reset during the RMA entry process which can make the flash data to be unknown (RMA entry starts with erasing the flash data & special partitions ). In this case, the flash should be reinitialized because the special partitions are read before each iteration after the reset.
Thanks!

Thanks!


instanceof is broken when class extends Error type

TypeScript Version:  2.1.1
class BaseError extends Error {}
class Error1 extends BaseError {}

let error = new Error1();
console.log(error instanceof Error1);

Expected behavior:
prints true.
Actual behavior:
prints false.
Note:
This happens only when a type extends Error.
After removing extends Error from BaseError everything works as expected.
Links
Test case

Unfortunately this is a change that we made to try to try to adopt a more standard-compliant emit so that we could enable Polymer to work with TypeScript.
For background, was an intentional change in 2.2 (see #12123 and the section on our wiki), but is difficult to overcome through compilation. I believe there's some conversation in #12790 for workarounds.
A workaround you can take now is create an intermediate class that you can extend from.
export interface MyErrorStatic {
    new (message?: string): RxError;
}
export interface MyError extends Error {}

export const MyError: MyErrorStatic = function MyError(this: Error, message: string) {
    const err = Error.call(this, message);
    this.message = message;
    this.stack = err.stack;
    return err;
} as any;

export class HttpError extends MyError {
    // ...
}

In TypeScript 2.2, you'll be able to set the prototype on your own.
// Use this class to correct the prototype chain.
export class MyError extends Error {
    __proto__: Error;
    constructor(message?: string) {
        const trueProto = new.target.prototype;
        super(message);

        // Alternatively use Object.setPrototypeOf if you have an ES6 environment.
        this.__proto__ = trueProto;
    }
}

Sorry for the inconvenience of this.

Seriously...
https://media.giphy.com/media/sIE0hveuiwCNG/giphy.gif

What's the issue this is a duplicate of? I think this is still unresolved.

For anyone looking for a workaround that will let them test their custom error classes, I made a shim that does so: DanielSchaffer/ts-custom-error-shim

@cjam You can set the prototype yourself as noted here: https://github.com/Microsoft/TypeScript/wiki/Breaking-Changes#extending-built-ins-like-error-array-and-map-may-no-longer-work

@cjam breaking point reached, tired of JS stuff, I'm now digging into ReasonML.

Was this fixed?

Workaround, requires unique attrs on each error:
function isError1(error: Error): error is Error1 {   return (<Error1>error).attr1 !== undefined; }

I ran into this today.  Is this a bug?

@DanielRosenwasser I think this should be re-opened; this feels seriously broken as-is.

Locking due to unproductive/repetitive discussion
[Please read the FAQ entry for details][(https://github.com/Microsoft/TypeScript/wiki/Breaking-Changes#extending-built-ins-like-error-array-and-map-may-no-longer-work)


add logging to Signal

This PR proposes

automatic logging configuration on import of ophyd/log.py - taken from caproto with one change described below
logging calls in the Signal class

The logging configuration in caproto is used as a template, but the file handler has been changed to TimedRotatingFileHandler set to rollover to a new file every week and to keep the last four log files.

By the way, :+1: for using TimedRotatingFileHandler as our default file handler. I would support moving that into caproto as well.

[ ] Make self.log on OphydObj a LoggerAdapter that refers to one global logger and wraps up the object name, rather than separate Logger instances for each object name. https://github.com/bluesky/ophyd/blob/3cbf73b8f71b9c2494ffb097ac1a5e9b5c0f1e23/ophyd/ophydobj.py#L184
[ ] Log set_and_wait timeout at higher than DEBUG level. Maybe ERROR or exception. https://github.com/bluesky/ophyd/pull/785/files#diff-0aa5a9ffa6e34986979d3e945c34f14cR236
[ ] Log at INFO level next to all calls to self._write_pv.put, .get, and .get_with_metadata. Same for self._read_pv.get and .get_with_metadata.
[ ] Inside the value property, distinguish between returning the cached value self._readback and a fresh value from calling self.get().
[ ] Log inside StatusBase._finished() when an action completes. Do not log when a status object is returned; this is not really actionable/impactful. https://github.com/bluesky/ophyd/blob/3cbf73b8f71b9c2494ffb097ac1a5e9b5c0f1e23/ophyd/status.py#L119

Many Linux programs having rotating logs have 10 last logs saved. I think I'd make sense to keep 10 last logs for ophyd as well, but it should be configurable.
Also, I don't see where TimedRotatingFileHandler is used. Was everything committed?

@jklynch This comment notes some issues that are relevant to the changes here. Might as well address them while we are at it.

I found and fixed the problem referenced in #788 as line 188 of ophydobj.py. The similar one referenced as line 682 of signal.py is not present in the version I'm working with. I did find and fix another error of that type at line 792.

E   ValueError: numpy.ufunc size changed, may indicate binary incompatibility. Expected 216 from C header, got 192 from PyObject


[OneExplorer] Support MondrianViewer

This commit supports MondrianViewer in OneExplorer.

GIF
This is how it's drafted so far:
1. Show mondrian and log files under the directory. (Cannot find a parent tflite file)

2. Provide a `hide` toggle button

(I have changed the modelfile icon to make it notified more than so-called extra files)

In future, when someone wants to add a file type into one explorer,
maybe there could be some API, for example,
registerFile({ endsWith: "tracealloc.json", icon: "graph-scatter", { openType: "custom", customName: "'onevscode.mondrianViewer'" } ...  });

I think it would be very convenient.

@hyunsik-yoon Thanks for the suggestion :-D

All merged :-D


🐛 Bug Report: plugin-cloudbuild rerun workflow is blocked by CORS error

📜 Description
The plugin @backstage/plugin-cloudbuild is great and loads initial requests for build history without any issues. However, when the Rerun workflow button is pressed, the request is blocked by a CORS error Reason: CORS header ‘Access-Control-Allow-Origin’ missing. This is true in local development as well as our production instance.
👍 Expected behavior
The Rerun workflow button can be used in backstage without being blocked by CORS errors.
👎 Actual Behavior with Screenshots
The builds load, but the rerun workflow button fails:

Requests to /builds are successful, whereas a request to retry a single row's workflow is blocked by CORS.

👟 Reproduction steps
Click on the Rerun workflow button from the plugin-cloudbuilds builds table.
📃 Provide the context for the Bug.
No response
🖥 Your Environment
OS:   Darwin 21.6.0 - darwin/x64
node: v16.18.1
yarn: 1.22.0
cli:  0.20.0 (installed)
backstage:  1.7.0
Dependencies:
@backstage/app-defaults                          1.0.7, 1.0.8
@backstage/backend-common                        0.15.2, 0.16.0
@backstage/backend-plugin-api                    0.1.3, 0.1.4
@backstage/backend-tasks                         0.3.6, 0.3.7
@backstage/catalog-client                        1.1.1, 1.1.2
@backstage/catalog-model                         1.1.2, 1.1.3
@backstage/cli-common                            0.1.10
@backstage/cli                                   0.20.0
@backstage/config-loader                         1.1.5, 1.1.6
@backstage/config                                1.0.4, 1.0.3
@backstage/core-app-api                          1.1.1, 1.2.0
@backstage/core-components                       0.11.2, 0.12.0, 0.9.5
@backstage/core-plugin-api                       1.1.0, 1.0.7
@backstage/dev-utils                             1.0.8
@backstage/errors                                1.1.3, 1.1.2
@backstage/integration-react                     1.1.5, 1.1.6
@backstage/integration                           1.3.2, 1.4.0
@backstage/plugin-adr-backend                    0.2.2
@backstage/plugin-adr-common                     0.2.2
@backstage/plugin-adr                            0.2.2
@backstage/plugin-api-docs                       0.8.10
@backstage/plugin-app-backend                    0.3.37
@backstage/plugin-auth-backend                   0.17.0
@backstage/plugin-auth-node                      0.2.6
@backstage/plugin-catalog-backend-module-github  0.1.8
@backstage/plugin-catalog-backend                1.5.0
@backstage/plugin-catalog-common                 1.0.7, 1.0.8
@backstage/plugin-catalog-graph                  0.2.22
@backstage/plugin-catalog-import                 0.9.0
@backstage/plugin-catalog-node                   1.2.0, 1.2.1
@backstage/plugin-catalog-react                  1.2.0, 1.2.1
@backstage/plugin-catalog                        1.6.0, 1.6.1
@backstage/plugin-cloudbuild                     0.3.11
@backstage/plugin-github-actions                 0.5.10
@backstage/plugin-home                           0.4.27
@backstage/plugin-org                            0.5.10
@backstage/plugin-permission-common              0.7.0, 0.7.1
@backstage/plugin-permission-node                0.7.0
@backstage/plugin-permission-react               0.4.6, 0.4.7
@backstage/plugin-proxy-backend                  0.2.31
@backstage/plugin-scaffolder-backend             1.7.0
@backstage/plugin-scaffolder-common              1.2.1
@backstage/plugin-scaffolder                     1.7.0
@backstage/plugin-search-backend-module-pg       0.4.1
@backstage/plugin-search-backend-node            1.0.3
@backstage/plugin-search-backend                 1.1.0
@backstage/plugin-search-common                  1.1.0, 1.1.1
@backstage/plugin-search-react                   1.2.0, 1.2.1
@backstage/plugin-search                         1.0.3
@backstage/plugin-stack-overflow                 0.1.7
@backstage/plugin-tech-radar                     0.5.17
@backstage/plugin-techdocs-backend               1.4.0
@backstage/plugin-techdocs-module-addons-contrib 1.0.5
@backstage/plugin-techdocs-node                  1.4.1
@backstage/plugin-techdocs-react                 1.0.6, 1.0.5
@backstage/plugin-techdocs                       1.3.3
@backstage/plugin-todo-backend                   0.1.35
@backstage/plugin-todo                           0.2.13
@backstage/plugin-user-settings                  0.5.0
@backstage/release-manifests                     0.0.6
@backstage/test-utils                            1.2.1, 1.2.2
@backstage/theme                                 0.2.16
@backstage/types                                 1.0.0, 1.0.1
@backstage/version-bridge                        1.0.1, 1.0.2
👀 Have you spent some time to check if this bug has been raised before?

[X] I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

[X] I have read the Code of Conduct

Are you willing to submit PR?
No, I don't have time to work on this right now

Sorry to hear that you're having issues, I was not expecting an OPTIONS request given that's for a GET request. Have this worked in your instance previously? We have not received any other reports of this issue. Perhaps @ebarriosjr that authored the plugin could provide some guidance or verify with his installation.

quick-bit-suggestion:
To fix this issue, you will need to ensure that the server handling the request is properly configured to allow cross-origin requests from the domain that is making the request. This can typically be done by adding the appropriate CORS headers to the server's response.
For example, to allow all domains to make cross-origin requests to the server, you could add the following header to the server's response:
Access-Control-Allow-Origin: *
Alternatively, you can specify a specific domain or list of domains that are allowed to make cross-origin requests by replacing the asterisk with the domain or list of domains.
You may also need to configure the server to allow other CORS headers, such as 'Access-Control-Allow-Methods' and 'Access-Control-Allow-Headers', depending on the requirements of your application.
Once you have properly configured the server to allow cross-origin requests, the CORS error should be resolved and the request should be able to complete successfully.

Thank you both for responding!
Configuring app-config.yaml with CORS server settings seems to have no effect on this. I receive the same response back about the missing access-control-allow-origin CORS header. Is there a different place I should be configuring it for this plugin?
  cors:
    origin: ${APP_BASE_URL}
    methods: [GET, HEAD, PATCH, POST, PUT, DELETE]
    credentials: true
    Access-Control-Allow-Origin: '*'

The retry workflow has never worked on our project, it was just added and the initial load for builds works as expected, just not the retry workflow.
That's why this one is particularly confusing, because the original request is great, which also has CORS referrer type but succeeds. There's no preflight OPTIONS request with those, though. The requests are made from the plugin, so I don't have control over that part.
Maybe I'm missing configuration for it? Any help is appreciated.

@ciprianna What they meant was, you need to ensure that the target system returns CORS headers, so that particular thing isn't something that can be configured in Backstage itself. This is just how browser CORS security is implemented. It just refuses entirely to speak to external systems unless permitted to, under certain circumstances, for security reasons.

But yeah I agree though, since the initial load works, it's a bit odd that this fails. Maybe the CORS thing is a red herring after all?
The retry callback actually triggered, is this one. It's part of how useAsyncRetry works; it's just a function it returns that you can call to tell it to do the same thing it already did once more. So ... yeah I am not sure why that wouldn't work if the first one did.
Only thing I can think of off the top of my mind is, could the browser be treating the two events differently? Is one seen as a user interaction but the other one is seen as a "background" one, such that the latter is treated more harshly? Honestly not sure.

@freben , thank you for clarifying and for your response. I was checking out the documentation for cloud build, and the retry is supposed to be a POST. So it's not authorizing correctly because that route isn't set up as a GET. If I add the method to the fetch request:
async reRunWorkflow(options) {
    await fetch(
      `https://cloudbuild.googleapis.com/v1/projects/${encodeURIComponent(
        options.projectId
      )}/builds/${encodeURIComponent(options.runId)}:retry`,
      {
        method: 'POST',
        headers: new Headers({
          Accept: "*/*",
          Authorization: `Bearer ${await this.getToken()}`,
        })
      }
    );
  }

then it works as expected with Google cloud build. I wonder if this is happening for anyone else, though? Is this only the case for my instance?

I double-checked this in the Backstage repo. When hooking up my cloudbuild credentials there, it had the same issue. I opened a PR to fix the method here: https://github.com/backstage/backstage/pull/15729.

Fixed in https://github.com/backstage/backstage/pull/15729


WIP: Fix cpp

Hi,
Trying to fix #25, I managed to fix cpp branch to compile code, but it still does not work for me, says:
pi@raspberrypi:~ $ ./cam_overlay_cpp/cam_overlay/bin/camoverlay.bin
Initialising DisplayBcm...
Initialising GL context...
* failed to add service - already in use?

@meekys, could you try find problem?

Hi @egisz
Great work there fixing the issues you've found.
I'd say the "failed to add service - already in use?" could be related to this? (Basically the vc4-kms-v3d overlay conflicts with the overlay in cam_overlay) It's not something I've had a chance to test with yet, but I'll see if I can get my pi into a working state to test with soon, see if there's an alternative we can use when this overlay exists. (It might just be a plain old conflict tho)
https://www.raspberrypi.org/forums/viewtopic.php?t=12581#p1234005
If you're running X11, you might be able to force cam_overlay to run with the X11 display instead? --display X11

Hi,
I want wanted to use it without x11, but I'll test once I have chance.
I tested other project which works fine for me. https://github.com/AndrewFromMelbourne/dmxwebcam
Tried to compare code, but it wasn't easy...


Better typing for Elements?

In particular it would be nice to have an element type that has the props as a generic parameter, like how React.Element does. This allow for imo much safer/more accurate types for e.g. Switch. At the moment every component just awkwardly returns a JSX.Element regardless of what it actually is. Is this is a limitation of non-react jsx support in typescript?

Pretty much from my understanding. They expect everything to be of a generic node type. This is even more annoying with intrinsic elements where Solid would clearly benefit from:
const div = <div/>; // this should be an HTMLDivElement

Something might be possible here that I'm not aware of. There are a number of open issues around TSX that seem to refer to parts of this problem, but there are a lot of subtleties. As far as I know React has the same limitation though. Although given their JSX generally returns VDOM nodes it isn't a big deal.
As far as I know React.Element isn't a generic. Are you referring to how you can do that with Components?... Solid has a component type when authoring. Like:
import { Component } from "solid-js";

const MyComp: Component<MyCompProps>(props) { .... }

Although I don't think this helps with Children.
Maybe someone a bit more experienced with TS can help clarify this a bit?

As far as I know React.Element isn't a generic.
It is actually; see https://github.com/DefinitelyTyped/DefinitelyTyped/blob/491f394a3ee3432d00284bbc204e775e3dcc5ca5/types/react/index.d.ts#L146

Plain HTML elements (as in e.g. <div/>) do also get quite granular types in React. I think this is due to their design of their JSX factory rather than any magical treatment by TypeScript; see https://github.com/DefinitelyTyped/DefinitelyTyped/blob/491f394a3ee3432d00284bbc204e775e3dcc5ca5/types/react/index.d.ts#L2657.
Does Solid do anything special with the Babel plugin to transform jsx? I understand atm the way to compile .tsx with Solid is through TS's "preserve" mode which just outputs a .jsx (which then babel is happy to consume) -- if there's nothing magic in there then maybe all that needs to be done is to define a React-esque jsxFactory and jsxFragmentFactory.

Some more inspiration can be found with Preact, probably, see https://github.com/preactjs/preact/blob/master/src/index.d.ts and https://github.com/preactjs/preact/blob/master/src/jsx.d.ts =)

Yeah the types are actually based on Preacts and Infernos as far as I could take it.
Ah.. yes React.Element is generic but React's JSX.Element isn't. It just says that it is a React.Element with any.
https://github.com/DefinitelyTyped/DefinitelyTyped/blob/491f394a3ee3432d00284bbc204e775e3dcc5ca5/types/react/index.d.ts#L2940
React.Element is a VDOM node as is Preacts VNode. They are basically the output from the JSX not the input. So like restricting props is handled by the function definition of the component, and any props on React.Element are just there to define the output. But Solid's output is nothing specific. It's a DOM node, or array of DOM Node, or a function, or a string etc.. there isn't a specific type that is returned from a Component.
I'm not sure how that bit with ReactHTML works but their nodes coming back are VDOM nodes so I'm not sure they'd ever be in the Div scenario I was talking about. There are a couple open typescript issues about this. I'd need to dig them up.
Which as you can guess by my answers Babel's plugin to transform JSX is completely different. It looks like JSX but it might as well be Svelte. In order to do accomplish what the library needs I do completely different transforms, as simple HyperScript would be inefficient to handle reactive wrapping or real DOM creation. Standard JSX to HyperScript transformation is designed for repeated top-down re-execution.

Which as you can guess by my answers Babel's plugin to transform JSX is completely different. It looks like JSX but it might as well be Svelte. In order to do accomplish what the library needs I do completely different transforms, as simple HyperScript would be inefficient to handle reactive wrapping or real DOM creation. Standard JSX to HyperScript transformation is designed for repeated top-down re-execution.

Drat. Still, it might be beneficial to have a custom jsxFactory that emits code that's immediately gobbled up by the Babel plugin, but for producing nice types for the user in TypeScript-land.

That being said I do wonder if there is something that can be done for Switch/Match. Everytime I've tried it's complained I wasn't returning a JSX.Element unless I changed the definition to be really wide (basically any)

Personally I just don't bother with Switch/Match but use the following:

export default function Switch<
  K extends string | number | symbol,
  Options extends { [k in K]: JSX.Element },
>(props: {
  fallback?: JSX.Element,
  value: K,
  options: Options
}) {
  return suspend(() => {
    return props.options[props.value] ?? props.fallback;
  });
}

// example
// currentRoute.name: 'home' | 'profile' | 'self';
<Switch
  value={currentRoute.name}
  options={{
    home: <Home />,
    profile: <Profile id={currentRoute.params.id} />,
    self: <Self />
  }}
/>

My head is not fully around how suspense/reactivity works in Solid yet so I am not sure if this has any drawbacks over the default.
There might be a way to do it now with children with some faking of nominal types, like
interface IsMatch {__isMatch: void}
function Match(): JSX.Element & IsMatch { ...; return element as JSX.Element & IsMatch; }
interface SwitchProps { children: (JSX.Element & IsMatch)[] }
function Switch(props: SwitchProps) {...}

Hmm.. I guess the one thing I'm missing, is outside of the Switch Match case where there are specific children, which you aren't using, what's the missing part? As far as I know typing works reasonably well? Like it properly checks props on Components etc.. From JSX perspective JSX.Element is React.Element<any, any> in React so while it always produces a VDOM node generally it is a background thing as end users don't interact with them much?
The types are fairly extensive right down to proper attributes for each type of Intrinsic Element(https://github.com/ryansolid/solid/blob/master/packages/solid/src/rendering/jsx.ts). I never really thought much of what the VDOM node was doing. Like what about the React solution works differently that you are looking for in terms of typing?

Hmm.. I guess the one thing I'm missing, is outside of the Switch Match case where there are specific children, which you aren't using, what's the missing part? As far as I know typing works reasonably well? Like it properly checks props on Components etc.. From JSX perspective JSX.Element is React.Element<any, any> in React so while it always produces a VDOM node generally it is a background thing as end users don't interact with them much?
The types are fairly extensive right down to proper attributes for each type of Intrinsic Element(https://github.com/ryansolid/solid/blob/master/packages/solid/src/rendering/jsx.ts). I never really thought much of what the VDOM node was doing. Like what about the React solution works differently that you are looking for in terms of typing?

Ah, I thought that the type inference for JSX.Element would basically constrain React.ReactElement<any, any>, to whatever the actual type of children was but looks like I was mistaken. any always wins =D. There's an ongoing TypeScript issue here https://github.com/Microsoft/TypeScript/issues/14729 .
As for bikeshedding Switch/Match IMO just don't use childrenat all, or typechildrenas something other thanJSX.Element` which doesn't defeat type inference -- like this is perfectly legal and does prevent invalid "children":
function Switch(props: { ..., children: [boolean, JSX.Element][] }) {...}
<Switch>{[
  [foo===bar, <FooBar/>],
  [baz===bar, <BazBar/>],
  [foo===baz, <FooBaz/>],
  [true, 'dunno'],
]}</Switch>

(In that case I don't really see the point of using children at all as opposed to just an ordinary prop, but there are libraries in the wild doing it e.g. react-virtualized)

Yeah.. unfortunately ergonomics and clear syntax cues are going to win out against TS every time. Solid's compiler look at the JSX structure to determine how to wrap reactive expressions. Moving to all objects would require the end user to wrap things themselves to retain granularity to prevent unnecessary DOM creation as it is much harder(impossible) to analyse intent.
Like in your examples you'd be creating the other non-travelled routes unnecessarily since to resolve the array or object you resolve all properties. You can avoid this by wrapping each path with a function you execute when the condition is met. However using separate props on children components the compiler knows to do that automatically. This automatic propagation of lazy evaluation is key.
Render props are fine though instead of Children but still problem if rendering JSX in them as still just JSX.Element.
Generally I've found JSX a weaker area for TS and sort of caution people that TS while mature in other areas really isn't here. There are some spec features they don't support at all like namespaces, which could make a big difference for library like this. There are limitations on typing. Certain rules around identifying intrinsic elements that are too restrictive to handle natural patterns for alternate renderers like Native. Lack of consensus on Fragment support. Typing tied to JSXFactory unless you are willing pollute global namespace, or force an import in every file. I'm sure TS will get there one day.


Draw polygons on UIView

Hi,
I would like to draw my Polygons directly on an UIView. I don't have the need for an underlying map since the geojson file I'm parsing is basically represeting paths for drawing a polygon for every single country in the world. So the end result would be a world map drawn with polygons.
The reason why I don't want an underlying map:

The rendering time of the map is too slow
I don't have a need for any labels, roads or other map information
I can't zoom out and show the entire world with MapKit.

I use below methods to parse the geojson file and get geometries from it:
func overlayEntireMap(completion: @escaping () -> Void) {
        background {
            if let geoJSONURL = Bundle.main.url(forResource: "countries", withExtension: "geojson") {
                if let features = try! Features.fromGeoJSON(geoJSONURL) {
                    self.features = features
                    self.drawPolygonsFromFeatures(features)
                }
                completion()
            }
        }
    }

func drawPolygonsFromFeatures(_ features: Features) {
        for feature in features {
            if let geometries = feature.geometries {
                for geometry in geometries {

                }
            }
        }
    }

So I hope you have a solution for this :)

Check out Polygon's draw function in https://github.com/GEOSwift/GEOSwift/blob/master/GEOSwift/QuickLook.swift#L111 for an example. Given a MKMapRect, it renders the shape into a graphics context. While you probably won't want to use this function itself, you should be able to adapt the code to your use case.

Thank you for your reply. However I'm not really sure how I go from having a Geometry object to having a Polygon object? Could you maybe show a code-example?
I can see that I can reach the "debugQuickLookObject" by writing geometry.debugQuickLookObject(), but the Polygon object I get from this object is a MKPolygon.
So some assistance would be greatly appreciated :)

This question would be more appropriate on Stack Overflow, where you could get help from more people that just the ones watching the issues in this repo.
Analogous to the implementation of debugQuickLookObject, you can create your own function that outputs a data structure that you can use to draw the polygon.

On 11 Dec 2018, at 1:43 pm, siltrifork<EMAIL_ADDRESS>wrote:
Thank you for your reply. However I'm not really sure how I go from having a Geometry object to having a Polygon object? Could you maybe show a code-example?
I can see that I can reach the "debugQuickLookObject" by writing geometry.debugQuickLookObject(), but the Polygon object I get from this object is a MKPolygon.
So some assistance would be greatly appreciated :)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

I already asked on Stack Overflow (https://stackoverflow.com/questions/53613266/swift-convert-mkpolygon-to-uibeizerpath-and-draw-path-on-uiview). The questions is with a bit different approach than asked here, but I thought it would be more likely to get an answer from you guys than the Stack Overflow community.
Anyway I will try and see if I can make magic happen.

I already asked on Stack Overflow (https://stackoverflow.com/questions/53613266/swift-convert-mkpolygon-to-uibeizerpath-and-draw-path-on-uiview). The questions is with a bit different approach than asked here, but I thought it would be more likely to get an answer from you guys than the Stack Overflow community.
Anyway I will try and see if I can make magic happen.

@siltrifork I have the exact same use case, want to render a complete world map directly from GeoJSON -- did you manage to find some easy way to do so?

I’ll mark this as a feature request. Perhaps we can add something to make this easier in the future.
Sent with GitHawk

@siltrifork I have the exact same use case, want to render a complete world map directly from GeoJSON -- did you manage to find some easy way to do so?

@alexcurylo - No unfortunately not. I still use MapKit, but I ended up with a solution where I render every tile on the map with an overlay so the entire map becomes blank. Then I draw the polygons with mapkit and kind of game the result I wanted.
So I'm happy that this has become a feature request, so we can work smarter in the future 👍

It actually turned out not too hard to parse GeoJSON into reasonable looking UIBezierPaths, at least with my particular file; take a look at WorldMap.swift here if you like, I imagine it'd be more performant than MapKit rendering...

I'd love to see this functionality provided in an add-on library in the GEOSwift family. Maybe something like GEOSwiftCoreGraphics?


Namespace docs

Part of https://github.com/dotnet/aspnetcore/issues/27286

Docs Build status updates of commit 8a06e14:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

aspnet-core/xml/ns-Microsoft.AspNetCore.JsonPatch.Adapters.xml
:white_check_mark:Succeeded
View

aspnet-core/xml/ns-Microsoft.AspNetCore.JsonPatch.Converters.xml
:white_check_mark:Succeeded
View

aspnet-core/xml/ns-Microsoft.AspNetCore.JsonPatch.Exceptions.xml
:white_check_mark:Succeeded
View

aspnet-core/xml/ns-Microsoft.AspNetCore.JsonPatch.Helpers.xml
:white_check_mark:Succeeded
View

aspnet-core/xml/ns-Microsoft.AspNetCore.JsonPatch.Internal.xml
:white_check_mark:Succeeded

aspnet-core/xml/ns-Microsoft.AspNetCore.JsonPatch.Operations.xml
:white_check_mark:Succeeded
View

aspnet-core/xml/ns-Microsoft.AspNetCore.JsonPatch.xml
:white_check_mark:Succeeded
View

aspnet-core/xml/ns-Microsoft.AspNetCore.Localization.Routing.xml
:white_check_mark:Succeeded
View

aspnet-core/xml/ns-Microsoft.AspNetCore.Localization.xml
:white_check_mark:Succeeded
View

aspnet-core/xml/ns-Microsoft.JSInterop.Implementation.xml
:white_check_mark:Succeeded
View

aspnet-core/xml/ns-Microsoft.JSInterop.Infrastructure.xml
:white_check_mark:Succeeded
View

aspnet-core/xml/ns-Microsoft.JSInterop.WebAssembly.xml
:white_check_mark:Succeeded
View

aspnet-core/xml/ns-Microsoft.JSInterop.xml
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

Thank you for the PR, @SteveSandersonMS!


Delete datapacks

Coverage remained the same at 88.293% when pulling 48df5bdda8a02f870d6dd7f7cd43bf855d6f879f on 17819-DeleteRunsButton into 4f0464c9187b652a0977322a6cd6d46e2d2e3979 on master.

Coverage remained the same at 88.293% when pulling 48df5bdda8a02f870d6dd7f7cd43bf855d6f879f on 17819-DeleteRunsButton into 4f0464c9187b652a0977322a6cd6d46e2d2e3979 on master.


Core changes to support Splinter memory allocation using shared memory segment.

NOTE: This is dev-version of shared-memory support for Splinter. This is not meant to be merged into /main as-is.
This is a draft PR mainly for colleagues to view the diffs to understand the nature of the changes.
Description of the changes, synthesized from git log message(s):
Core changes to support running Splinter with allocated shared memory.
This commit brings in basic support to create a shared memory segment and to redirect all memory allocation primitives to shared memory.
Currently, we only support a simplistic memory mgmt; i.e. only-allocs, and no frees. With shared segments of 1-2 GiB we can run many functional and unit tests.
Some caveats and fixes implemented to get some tests to run cleanly:
o Redirect large allocations to use malloc(), and not the shmem allocation.

  We currently do not support free() for shared memory based allocation.
  Some sub-systems that allocate and free large chunks repeatedly use
  up too much shared memory, causing tests to fail  .

This commit fixes that issue by re-directing following clients to fall-back to using regular malloc() / free() interfaces:
  - merge_iterator_create()
  - merge_iterator_destroy(),
  - trunk_range() - trunk_range_iterator
  - trunk_range_iterator_deinit()
  - btree_pack_req_init()
  - btree_pack_req_deinit()

With these changes, unit-test splinter_test now succeeds using shared memory:
o Rework existing tests to support --use-shmem arg to run w/ shared segment.
Apply --use-shmem as the very 1st arg for different tests so that they can now leverage shared memory support. Following tests are / should be working with this fix:
 - limitations_test
 - splinterdb_quick_test
 - writable_buffer_test
 - task_system_test
 - splinter_test
 - btree_test

With this argument, splinterdb_create_or_open() will now create a heap, i.e., allocate shared segment, if the calling test has not already done so.
NOTE: unit/btree_test still goes through shm-free code due to the use
      of scratch_buffer space in this test masquerading as heap-id.
      Investigate and resolve.

o Fix bugs & refactoring to enable unit stress-tests.
Minor rearrangement of code and fixing bugs. This commit now enables running btree_test and splinterdb_stress_test unit-tests with --use-shmem option.
o Enhances memory alloc/free diags to print name of object.
To better understand for which object memory allocation or free is occurring, this commit makes minor changes to caller-macros that allocate / free memory to also print object's name using STRINGIFY() on the parameter 'v'.
o Rework unit-testing, main.c, Makefile to support --use-shmem
Change test.sh also to run unit-tests with --use-shmem

Update: This draft PR was pushed out to bring to the attention of the Core SplinterDB dev team the initial support for shared memory added to Splinter. This was in Oct 2022. Since then, that effort has matured a lot more and we have successfully run integration tests with that functionality. This code is now in /shmem private dev branch.
I am currently working on de-mangling multiple commits and am re-applying that on top of latest /main, @SHA 1f09113f, to get few coherent independent change-sets for external viewing.
There is no more a need for this PR to float around as this work is being re-factored / re-implemented.


ARTEMIS-1356 Avoid allocations and atomic operations to recognize handler's thread

Uses a cached marker instance to recognize an handler's thread, avoiding allocations and atomic operations.

@clebertsuconic
Here:
https://github.com/apache/activemq-artemis/blob/e81c8c26d02f156e75fe03cb8cc8ad92e4bca30e/artemis-server/src/main/java/org/apache/activemq/artemis/core/protocol/core/ServerSessionPacketHandler.java#L231
On each first ThreadLocal::get call from a different thread, the ThreadLocal allocates and cache (locally to the thread) a new AtomicBoolean.
In addition, the AtomicBoolean::get and AtomicBoolean::set operations can be avoided to "mark" the handler thread...


Error in Building and Installing packages on Windows using Visual Studio 2017

When trying to build on Windows following instructions here, I could successfully run everything up to cmake -G "Visual Studio 14 Win64" .. . But when I open the Visual Studio and try to build the mxnet project (on Visual Studio 2017 Enterprise), I get the following error.

I got no error for all previous steps, is there anything else that I should do?

iomp5.lib should be the library file needed when building mxnet with mkl support, which should be found under mkl folder. You can manually add the path following the instruction here

Also, I strongly suggest using VS2015 as OpenCV does not support VS2017.

Thank you @lightingghost, however I checked the mkl folder and just noted that iomp5.lib is not there. I had got the latest mkl from here and installed. Should an older version of mkl be installed instead?
Thank you @sxjscience, if the iomp5.lib issue is solved and VS 2017 still gives errors, I will try with VS 2015.

@cgraywang

@dl002 I think iomp5 is the file name under linux, while under window you should be able to find libiomp5md.lib. I remember I changed all the occurrence of iomp5 to libiomp5md in the CMakeLists.txt when I build mxnet by myself. Can you have a try?

@lightingghost In windows also there is no lib called libiomp5md.lib. So I just removed iomp5 from Additional Dependencies in Linker -> Input and the Visual Studio project mxnet in .sln built without issue (with VS2017). This created a dll libmxnet.dll in my Release folder. Can I now use this dll in my personal project? Do I have to build all projects and get dlls?

@dl002 You can try to python setup.py develop and then import mxnet to see if there is any problem.

@dl002 after testing, to build with VS2017 successfully is to call the following command to convert it to the right version (14.11):
"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat" -vcvars_ver=14.11
please also check whether the above path to the build directory of VS2017 is the same as the one on your machine. Thanks
@yajiedesign

@lightingghost thanks a lot, I found libiomp5md.lib inside the compiler folder, earlier I checked the mkl folder. With that added, the project mxnet got built correctly and produced the following inside the Release folder.
libmxnet.dll
libmxnet.exp
libmxnet.lib

@sxjscience can you please tell me how to run the tests? I am planning to use mxnet with C++. Is it mentioned here?
@cgraywang it was VS2017 that I built with, do I have to run the command again?

@cgraywang thank you I will do that.
Thank you everyone for all the inputs!


Adopt John Papa Angular Styleguide?

Context: https://github.com/UW-Madison-DoIT/angularjs-portal/pull/601#discussion_r107953751
https://github.com/johnpapa/angular-styleguide/blob/master/a1/README.md
https://github.com/dustinspecker/eslint-config-angular

I like
"We adopt Google Style."
because it's pithy, it's defensible, it applies across a swath of technologies and languages, it aligns with a couple of our tech choices (Angular, Material), and it's self-maintaining (presumably Google will get around to having a style guide for whatever the new hotness is whenever it comes along).
We'll probably have to make pragmatic exceptions and extensions to "We adopt Google Style." I'd like to do that as little as possible.
So, if angularjs-google-style can fly, I think it should.

@apetro The angularjs-google-style guide is for using Angular specifically pulled into Google's closure compiler.
It looks like the parts of the guide that can be generalized, line up with the John Papa's styleguide and the ESLint Plugin

Google Angular applications should use the 'controller as' style to export the controller onto the scope. This is fully implemented in Angular 1.2 and can be mimicked in pre-Angular 1.2 builds.

https://github.com/johnpapa/angular-styleguide/blob/master/a1/README.md#controlleras-controller-syntax
https://github.com/dustinspecker/eslint-config-angular/blob/master/index.js#L12

All DOM manipulation should be done inside directives. Directives should be kept small and use composition.

https://github.com/johnpapa/angular-styleguide/blob/master/a1/README.md#manipulate-dom-in-a-directive

Do not use $ to prepend your own object properties and service identifiers. Consider this style of naming reserved by AngularJS and jQuery.

https://github.com/johnpapa/angular-styleguide/blob/master/a1/README.md#factory-and-service-names

Backlogged a JIRA story to discuss this as a team.

After fussing with this for a while, I'm pretty certain we're currently not in a position to adhere fully to John Papa's style guide. The limiting factor at the moment is the controller-as rule. The way we have set up our directives and our controller initialization doesn't give us a straightforward path forward.
Within the MyUW team (specifically the members that attended ngConf) there's agreement that the John Papa style guide is valuable and adoption would benefit the project. We intend to use the style guide for the upgrade to Angular 4.
We need to make a decision for the current codebase, whether to adopt the style guide sans controller-as, or to leave our style guide selections as they are for the moment.
I'm very appreciative of Christian Murphy for his effort in https://github.com/UW-Madison-DoIT/angularjs-portal/pull/608. However, if we were to adopt the style guide without controller-as, I think we would want to make a new, cleaner pull request.

It was just an idea I wanted to put out there, in the vein of adopting standard styleguides. :thought_balloon:
I absolutely do not want this to be disruptive to the team's development process. :no_good_man:
I'm going to close this ticket and the related #608 out. :no_entry_sign:
Feel free to reused any of the pieces if you do want to adopt the styleguide, sans controller-as in the future.
Thanks for your time and consideration!

Don't close the issue yet! We haven't finished!

Oh? Sorry :sweat:

https://github.com/UW-Madison-DoIT/angularjs-portal/pull/615
I pulled together the changes that you made without the angular/controller-as stuff

Don't worry, you're not being disruptive to the development process.  This sprint I had a ticket to evaluate and work on this issue, so being active here is precisely within the development process!

Merged #615


Amount has at most 2 decimals

Need to check whether some countries could have more. This check might not apply to unit values.
Noticed that some publishers have potential floating point issues, like 28274.399999999998
For example, at time of writing this package has that number: https://contratacionesabiertas.osce.gob.pe/api/v1/releasesAfter?format=json&order=desc&searchAfter=1683120791420%2C1209600000000%2Cocds-dgv273-seacev2-951934-2023-05-03T08%3A33%3A11.420620-05%3A00&first=ocds-dgv273-seacev3-2023-10432-11-2023-07-28T08%3A31%3A20.871956-05%3A00
Process loads data with simplejson to avoid floating point issues. Pelican would need to do similar.

I also see numbers like<PHONE_NUMBER> in DR's dataset.
In some cases, DR cancels contracts with many decimal places (because the decimal was misplaced – usually where a thousands separator should be).


[SPARK-38704][PYTHON] Support string inclusive parameter of Series.between

What changes were proposed in this pull request?
Support string inclusive parameter of Series.between
Why are the changes needed?
To reach parity with Pandas.
Does this PR introduce any user-facing change?
Yes. String inclusive is supported now as below.
        >>> s = ps.Series([2, 0, 4, 8, np.nan])

        With `inclusive` set to "both" boundary values are included:

        >>> s.between(0, 4, inclusive="both")
        0     True
        1     True
        2     True
        3    False
        4    False
        dtype: bool

        With `inclusive` set to "neither" boundary values are excluded:

        >>> s.between(0, 4, inclusive="neither")
        0     True
        1    False
        2    False
        3    False
        4    False
        dtype: bool

        With `inclusive` set to "right" only right boundary value is included:

        >>> s.between(0, 4, inclusive="right")
        0     True
        1    False
        2     True
        3    False
        4    False
        dtype: bool

        With `inclusive` set to "left" only left boundary value is included:

        >>> s.between(0, 4, inclusive="left")
        0     True
        1     True
        2    False
        3    False
        4    False
        dtype: bool

How was this patch tested?
Unit tests.

@ueshin @HyukjinKwon @itholic Thanks!

Merged to master.


Update the configmanagement v1 CRDs to match the generated manifests

The configmanagement v1 CRDs haven't been updated quite a while. There is no make target to automatically update them.
This commit updates them to match the generated version. The change includes field reordering and expansion.
It also removes the namespace-config-crd.yaml because it is not used by the RootSync/RepoSync API.

Are there any breaking changes here?

Are there any breaking changes here?

No breaking changes. It only reorders some fields, and expand the metav1.TypeMeta and metav1.ObjectMeta. There will be a new field added later, that's why I want to make a separate PR for non-breaking changes.

/lgtm
/assign @janetkuo


Validate the existence of the model specified in --model

Changes
the openAI client that connects to endpoint_url has a list of models the server can chat with.
We need to look through that list and ensure the user specified --model or -m exists in that list
Which issue is resolved by this Pull Request:
Resolves #753

I removed the hold because #935 was merged. This will have to be updated to account for those changes. We should definitely validate the requested model and raise a friendly error if it's not there, but you'll have to account for the code from #935 that handles the case of running a non-default model from ilab serve and then running ilab chat with no arguments. That has always worked even though the code asks for the wrong model name. #935 made it so the chat UI reflected the actual model we connected to.
When something specific and non-default is requested though, whether it's local or a remote endpoint URL, this validation is good and can help us give a more friendly error than getting a 404 Not Found error a bit later.

@Mergifyio rebase

sorry @russellb I totally missed that! Fixed now, want to let the tests run since I realized running ilab chat fails since the default for the model flag is now incorrect

@russellb I did the following and it worked:

nano config.yaml, change it to:

  context: default
  greedy_mode: false
  logs_dir: data/chatlogs
  max_tokens: null
  model: models/merlinite-7b-lab-Q4_K_M.gguf
  session: null
  vi_mode: false
  visible_overflow: true
general:
  log_level: INFO
generate:
  chunk_word_count: 1000
  model: models/merlinite-7b-lab-Q4_K_M.gguf
  num_cpus: 10
  num_instructions: 100
  output_dir: generated
  prompt_file: prompt.txt
  seed_file: seed_tasks.json
  taxonomy_base: origin/main
  taxonomy_path: taxonomy
serve:
  gpu_layers: -1
  host_port: <IP_ADDRESS>:8000
  max_ctx_size: 4096
  model_path: models/granite-7b-lab-Q4_K_M.gguf

ilab serve
ilab chat

(venv) cdoern@cdoern-thinkpadp16vgen1:~/Documents/instructlab$ ilab chat
╭────────────────────────────────────────────── system ───────────────────────────────────────────────╮
│ Welcome to InstructLab Chat w/ MODELS/GRANITE-7B-LAB-Q4_K_M.GGUF (type /h for help)                 │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────╯
>>>                                                                                [S][default]

let me know if you are doing something different

maybe you didn't specify the .gguf part?

@hickeyma @russellb PTAL, I would like this fix to be in for today's release

@russellb I did the following and it worked:

nano config.yaml, change it to:

  context: default
  greedy_mode: false
  logs_dir: data/chatlogs
  max_tokens: null
  model: models/merlinite-7b-lab-Q4_K_M.gguf
  session: null
  vi_mode: false
  visible_overflow: true
general:
  log_level: INFO
generate:
  chunk_word_count: 1000
  model: models/merlinite-7b-lab-Q4_K_M.gguf
  num_cpus: 10
  num_instructions: 100
  output_dir: generated
  prompt_file: prompt.txt
  seed_file: seed_tasks.json
  taxonomy_base: origin/main
  taxonomy_path: taxonomy
serve:
  gpu_layers: -1
  host_port: <IP_ADDRESS>:8000
  max_ctx_size: 4096
  model_path: models/granite-7b-lab-Q4_K_M.gguf

ilab serve
ilab chat

(venv) cdoern@cdoern-thinkpadp16vgen1:~/Documents/instructlab$ ilab chat
╭────────────────────────────────────────────── system ───────────────────────────────────────────────╮
│ Welcome to InstructLab Chat w/ MODELS/GRANITE-7B-LAB-Q4_K_M.GGUF (type /h for help)                 │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────╯
>>>                                                                                [S][default]

let me know if you are doing something different

It looks like the difference is that your config.yaml was generated after the changes made in your PR. If you have a config using the defaults from prior to this PR, it breaks.
chat:
  context: default
  greedy_mode: false
  logs_dir: data/chatlogs
  max_tokens: null
  model: merlinite-7b-lab-Q4_K_M
  session: null
  vi_mode: false
  visible_overflow: true
general:
  log_level: INFO
generate:
  chunk_word_count: 1000
  model: merlinite-7b-lab-Q4_K_M
  num_cpus: 10
  num_instructions: 100
  output_dir: generated
  prompt_file: prompt.txt
  seed_file: seed_tasks.json
  taxonomy_base: origin/main
  taxonomy_path: taxonomy
serve:
  gpu_layers: -1
  host_port: <IP_ADDRESS>:8000
  max_ctx_size: 4096
  model_path: models/merlinite-7b-lab-Q4_K_M.gguf

$ ilab serve
$ ilab chat
Executing chat failed with: Model merlinite-7b-lab-Q4_K_M is not served by the server.

@russellb I did the following and it worked:

nano config.yaml, change it to:

  context: default
  greedy_mode: false
  logs_dir: data/chatlogs
  max_tokens: null
  model: models/merlinite-7b-lab-Q4_K_M.gguf
  session: null
  vi_mode: false
  visible_overflow: true
general:
  log_level: INFO
generate:
  chunk_word_count: 1000
  model: models/merlinite-7b-lab-Q4_K_M.gguf
  num_cpus: 10
  num_instructions: 100
  output_dir: generated
  prompt_file: prompt.txt
  seed_file: seed_tasks.json
  taxonomy_base: origin/main
  taxonomy_path: taxonomy
serve:
  gpu_layers: -1
  host_port: <IP_ADDRESS>:8000
  max_ctx_size: 4096
  model_path: models/granite-7b-lab-Q4_K_M.gguf

ilab serve
ilab chat

(venv) cdoern@cdoern-thinkpadp16vgen1:~/Documents/instructlab$ ilab chat
╭────────────────────────────────────────────── system ───────────────────────────────────────────────╮
│ Welcome to InstructLab Chat w/ MODELS/GRANITE-7B-LAB-Q4_K_M.GGUF (type /h for help)                 │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────╯
>>>                                                                                [S][default]

let me know if you are doing something different

It looks like the difference is that your config.yaml was generated after the changes made in your PR. If you have a config using the defaults from prior to this PR, it breaks.
chat:
  context: default
  greedy_mode: false
  logs_dir: data/chatlogs
  max_tokens: null
  model: merlinite-7b-lab-Q4_K_M
  session: null
  vi_mode: false
  visible_overflow: true
general:
  log_level: INFO
generate:
  chunk_word_count: 1000
  model: merlinite-7b-lab-Q4_K_M
  num_cpus: 10
  num_instructions: 100
  output_dir: generated
  prompt_file: prompt.txt
  seed_file: seed_tasks.json
  taxonomy_base: origin/main
  taxonomy_path: taxonomy
serve:
  gpu_layers: -1
  host_port: <IP_ADDRESS>:8000
  max_ctx_size: 4096
  model_path: models/merlinite-7b-lab-Q4_K_M.gguf

$ ilab serve
$ ilab chat
Executing chat failed with: Model merlinite-7b-lab-Q4_K_M is not served by the server.

Yep, this seems expected to me since we changed the defaults. Maybe a note in the release about this?

@hickeyma your comments were addressed, thanks for the reviews! I added that test back and expected it to fail, I also added DEFAULT_MODEL_OLD which I think makes it more clear as to why those constants changed.
The most recent push incorporated @leseb's idea to print the served models when we fail.
Dropping the blocking changes requested since all of the comments have been incorporated, and i want to ensure we have some time with this in before cutting the release :)


Host certificate lambda

Lambda is modified to allow the option to create host certificates.

Thanks for the PR, and it is a great feature to add!  I've got a some feedback on it, that i'll write up next week.

Any updates on this @russell-lewis ?

Sorry about the delays, I had some other urgent issues to attend to last week and this week.  I'll try to get back to you next week.

Thanks for your comments, @russell-lewis. I've been working on a lyft-specific host lambda (which has since diverged from this branch), but I can address the comments in this branch soon.

@vivianho Sounds good to me.  Let me know if you'd like me to take a look at that other branch so we can get/keep things aligned.


fix(validator): Fixed a bug in hono/validator where URL Encoded Data could not be validated if the Content-Type included charset.

Fix #3296
The author should do the following, if applicable

[x] Add tests
[x] Run tests
[x] bun run format:fix && bun run lint:fix to format the code
[ ] Add TSDoc/JSDoc to document the code

Hi @uttk
It's a real bug! Thank you!

@yusukebe
Thank you! still as fast as ever 😹


How to let the application log out an inactive user ?

I would like to have my application to log out an inactive user and present a specific logout view, but I see now way to do so
When a user becomes inactive according to the configured limit, current_user returns nil.
I implemented a periodically remote function that calls a controller action that asks if current user is nil and then logs out the user
but this fails as the last_activity_time is updated at each request
However, then I cannot see how to log out an inactive user as any controller action or ajax call, i.e request, will update the  last_activity_time if the user is logged_in?
I something missing in sorcery or is it just me that do not know how to use sorgery ?
The problem would be solved if sorgery could be configured to not register activity when named action is called

That should be easy to add ( what you wrote in the end ).
On Sun, Nov 27, 2011 at 2:07 PM, Marmolin <
<EMAIL_ADDRESS>
wrote:

I would like to have my application to log out an inactive user and
present a specific logout view, but I see now way to do so
When a user becomes inactive according to the configured limit,
current_user returns nil.
I implemented a periodically remote function that calls a controller
action that asks if current user is nil and then logs out the user
but this fails as the last_activity_time is updated at each request
However, then I cannot see how to log out an inactive user as any
controller action or ajax call, i.e request, will update the
last_activity_time if the user is logged_in?
I something missing in sorcery or is it just me that do not know how to
use sorgery ?
The problem would be solved if sorgery could be configured to not register
activity when named action is called

Reply to this email directly or view it on GitHub:
https://github.com/NoamB/sorcery/issues/162

will you add it ?
Could you tell me when you have added it

I found a simple solution to my question, Just add skip_after_filter :register_last_activity_time_to_db, :only =>:forced_logout to skip activation registration for :forced_logout
In that action I then tested for current_users.include?(current_user) to find if the user has been inactive too long  and if so logged out the user and render an appropriate view.
However that demands a remote peridiodically function to request forced logout and as that makes the application more  instabil I finally went for a solution with a  before filter :forced_logout that makes the activity_limit_ test each time the user request an action


Import suggestions for referenced project include files in outDir

TypeScript Version:  4.0.3

Search Terms: auto imports
Code
Reduced test case: https://github.com/OliverJAsh/ts-project-references-playground/tree/imports-bug. Below I have inlined the code from this repository.
shared/tsconfig.json:
{
  "compilerOptions": {
    "composite": true,
    "outDir": "../target-tsc-build/",
    "rootDir": ".."
  },
  "files": ["./main.ts"]
}

shared/main.ts:
export const shared = 1;

webpack/tsconfig.json:
{
  "compilerOptions": {
    "outDir": "../target-tsc-build/",
    "rootDir": "..",
    "baseUrl": "./",
    "paths": {
      "shared/*": ["../shared/*"]
    }
  },
  "files": ["a.ts", "b.ts"],
  "references": [
    {
      "path": "../shared/tsconfig.json"
    }
  ]
}

webpack/a.ts:
import { shared } from "shared/main";

console.log(shared);

webpack/b.ts:
console.log(shared);

Expected behavior:
When I open webpack/b.ts

TypeScript should suggest importing symbol shared from shared/main. There should be no other suggestions.
Activating auto import should result in:import { shared } from "shared/index";

console.log(shared);

Actual behavior:

TypeScript suggests importing symbol shared from ../target-tsc-build/shared/main (the file in outDir) and then shared/main.

Activating auto import results in:import { shared } from "../target-tsc-build/shared/main";

console.log(shared);

The outDir file is the primary suggestion, therefore it is used for auto import:

Import suggestions should never be provided for compiled files—only source files.
Note I also tried adding exclude: ["./target-tsc-build/"] and "declarationMaps": true to all configs, but that didn't seem to help.
Playground Link:
Related Issues:

Looks like a duplicate of https://github.com/microsoft/TypeScript/issues/38856; have you tried the nightly?

Yes that seems to fix it ❤ Closing this as a duplicate.


Performance

How does this match up against lets say a Python or NodeJS websocket server?
(I'm looking to start a project for which i need websockets, trying to get the best performance out of it)

If you're looking for super-efficient WS Server I would suggest you an C++ implementation.
The component in PHP has advantage: fast implementation and integration with your existing projects.
I would like to have some benchmarks to show people difference between other projects. But currently I have no time to do that. However, if you're interested in this project I'll help you to understand component's basics if you want to.


Add asset getter and version check to 3D Tiles

Code change for https://github.com/AnalyticalGraphicsInc/3d-tiles/pull/56.
Note that this does not pass tilesetVersion when making requests.  @mramato can handle that separately.

Looks good to me.

Merged.


Index out of bounds exception during Konami Kart Racers

Was running in release mode so only got the bare bones of exception info saying it was in DrawTextModeScanline

Tested this now, the failure is accessing vram for tile 769 just as a race starts. The base block is 3 and tileY is 7 and it's a large palette.
So calculation is 3 * 0x4000 + 769 * 64 + tileX (0) + 7 * 8 which is C000 + C040 + 0 + 0x38 which is 0x1_8078 and VRAM is 0x18000.
What's supposed to wrap here?

Fix this by assuming that out of bounds reads caused by tiles get ignored rather than wrapped. Played a full race and everything looked fine


multiple objects of the same class

hi,thank you for your great work!
I have some problem of multiple objects of the same class.your work use semantic segmentation to  separate different classes of objects,but if multiple objects of same class in my sence,i think it can't be divide into different instance,and can't estimate pose .so your code is fit to multiple objects of the different classes.I don't know if my understanding is right. I hope to get your answer

Hi, I am very happy to find your questions. I also want to clarify if PNV3D can be used to detect multiple objects of the same class or multiple objects of the different classes, and also the same question about the next work - FFB6D. I want to ask that have you got a clear understanding of your question now? I am looking forward to your answer! @tonglily

@jacky-ch93 @tonglily Hey guys, have you found an answer ?
Thanks in advance

i think pvn3d can't be used to detect multiple objects of the same class or multiple objects of the different classes in the same time.but you can refer the following paper :https://ieeexplore.ieee.org/abstract/document/8967895 .

i think pvn3d can't be used to detect multiple objects of the same class or multiple objects of the different classes in the same time.but you can refer the following paper :https://ieeexplore.ieee.org/abstract/document/8967895 .


Issue 52 58

Closes #52
Closes #58

Fixed BoredAPI is down issue: Original API was shifted to a different domain. New domain is bored.api.lewagon.com/
Moved API Logic to a dedicated file under services/api.ts
Simplified App & BoredBox Components
Moved Buttons rendering logic to ButtonContainer Component - buttons specs are passed as props
Minimized redundant useState logic: Multiple states were used to monitor same/similar thing

selectedFact &selectedButton: Now uses selectedFact state only (is required in FactBox Component as well)
isClosed & isRotated: Now uses isClosed state to set close button transform.

Also made a few changes on my own

Fix Dark Mode: Dark mode styles weren't the best, so improvised a bit.
BoredBox now transitions to height when closing or opening.
Removed some console.logs that weren't necessary.

Thank you for the contribution @vincyy24


What is the correct way to pass a Sprite to a displacementFilter?

I'm trying to use a displacementFilter, this is my code:
const Filter = withFilters(Container, {
    displacement: filters.DisplacementFilter,
})

<Filter displacement={{ displacement: displacementSprite.current }} scale={{ x: scaleX, y: 0 }}>
    <AppConsumer>{ app =>
            <Sprite
              onMount={setup(app)}
              ref={displacementSprite}
              image={ripple}
              anchor={0.5}
              x={app.renderer.width / 2}
              y={app.renderer.height / 2}
            />}
    </AppConsumer>
</Filter>

But i get the error Cannot set property 'renderable' of undefined, maybe i'm missing something because i'm trying to pass the sprite through a React Ref.
What is the correct way to pass a Sprite to a displacementFilter?
Additional info

@inlet/react-pixi version: ^1.2.19
React version: ^16.12.0
ReactDOM version: ^16.12.0
PIXI version: ^5.2.4

Hi @andreademasi,
Oops, it seems the withFilter didn't take constructor arguments into account. I've just pushed a fix and now the filter prop can have a construct property, which basically expects the constructor params.
For example:
<Filters displacement={{ construct: [MySprite], ...otherDisplacementMembers }}>

Note: The Displacement filter needs a sprite as a reference and it needs to be added to the scene else you'll get the no renderable error. Use a ready state and render the filters should do the trick though.
Here's an example of the displacement filter in action:
https://codepen.io/inlet/pen/37ab46cc29a225ec30cd1511285abbc5?editors=0010

Thanks for the fast fix @inlet . I was wondering if you can help me with understanding how to manipulate PixiFilter parameters. I'm trying to achieve a "ripple effect" on a image that follows mouse pointer, however nothing happens on screen. Here's my code:
const Filters = withFilters(Container, {
    displacement: filters.DisplacementFilter
});

const PixiComponent = () => {
    const displacementSprite = useRef(null);
    const posX = useRef(0);
    const [renderFilter, setRenderFilter] = useState(false);
    const [x, setX] = useState(0);
    const [fsx, setFSX] = useState(0);
    const [ssx, setSSX] = useState(0);

    let vx, spriteX = 0, filterScaleX = 0, spriteScaleX = 0;

    useEffect(() => {
        setRenderFilter(true);
    }, [])

    const loop = () => {  // Logic for moving the displacement filter
        requestAnimationFrame(loop);
        vx += (posX.current - spriteX) * 0.045;
        spriteX = vx;
        setX(spriteX)
        let disp = Math.floor(posX.current - spriteX);
        if (disp < 0) disp = -disp;
        let fs = map(disp, 0, 500, 0, 120);
        disp = map(disp, 0, 500, 0.1, 0.6);
        spriteScaleX = disp;
        filterScaleX = fs;
        setSSX(spriteScaleX)
        setFSX(filterScaleX)
    };

    useEffect(() => {
        function onPointerMove(event) {
            posX.current = event.clientX;
        }
        document.addEventListener("mousemove", onPointerMove)
        return () => {
            document.removeEventListener("mousemove", onPointerMove)
        }
    }, [])

    const setup = (app) => {
        posX.current = app.renderer.width / 2;
        spriteX = app.renderer.width / 2
        setX(app.renderer.width / 2)
        vx = spriteX;
        loop();
    }

    const map = (n, start1, stop1, start2, stop2) => {
        let newval = (n - start1) / (stop1 - start1) * (stop2 - start2) + start2;
        return newval;
    };

    return (
        <Stage
            width={window.innerWidth}
            height={window.innerHeight}
            onMount={app => setup(app)}
            raf={false}
            interactive={true}
        >
            <AppConsumer>{app =>
                <Sprite
                    ref={displacementSprite}
                    image={ripple}
                    anchor={0.5}
                    x={x}
                    y={app.renderer.height / 2}
                    scale={{ x: ssx, y: 0 }}
                    interactive={true}
                />
            }
            </AppConsumer>
            {renderFilter && (
                <Filters
                    displacement={{
                        construct: [displacementSprite.current],
                        scale: {
                            x: fsx,
                            y: 0
                        }
                    }}
                    interactive={true}
                >
                    <AppConsumer>{app =>
                        <Sprite
                            interactive={true}
                            image={bg}
                            width={app.renderer.width}
                            height={app.renderer.height}
                        />}
                    </AppConsumer>
                </Filters>
            )}
        </Stage>
    )
}

I'm not sure if i should use react state for the sprite and filter props or just simple variables. Could it be that the custom raf is not triggering the render (?)
Here's an example of the effect i'm trying to achieve:


Bug: test_function_def_requirements_shadowed_after is wrong

In test_requirements.py the following test is wrong:
def test_function_def_requirements_shadowed_after():
    node = _parse(
        """
        def function():
            a
            a = b
        """
    )
    assert _dep_names(node) == ["b"]

The requirements of function are ["a", "b"].
This code
b = 1

def fun():
    a
    a = b

fun()

shows that both a and b are indeed a requirement since it raises an UnboundLocalError and thus is not valid.

I don't think this is correct. Let's consider what "requirements" are. Within ssort we use the term "requirements" to refer to all variables of a statement that are NOT bound by the statement itself. That is, any variable whose definition is outside the scope of a statement is a "requirement" of that statement. So, within the context of a function definition, the requirements of that function definition are all non local variables used in that function. I think the error you get when executing the function in question is very telling here. It's an UnboundLocalError, meaning a is indeed a local variable and therefore not a requirement of the function. This specific case is pretty tricky though and requires you to know that global and local variables of the same name cannot both be used with a functions body.

Interesting.
So basically the difference between a "runtime" requirement (i.e. when we execute the function) and a "parse-time" requirement (i.e. when the function definition is executed).
Does the current implementation differ between those two types of requirements?

So basically the difference between a "runtime" requirement (i.e. when we execute the function) and a "parse-time" requirement (i.e. when the function definition is executed).

Not quite, although that is also a thing and very closely related.  This test is about scope (i.e. where a variable is loaded from) and both python and ssort determine this statically.
We do distinguish between "runtime" and "parse-time" requirements as you describe them (i.e. when a variable is loaded) when sorting methods:

https://github.com/bwhmather/ssort/blob/f9869861343c0f120e15502b2b01b4c6c158e20c/src/ssort/_ssort.py#L234-L236
https://github.com/bwhmather/ssort/blob/f9869861343c0f120e15502b2b01b4c6c158e20c/src/ssort/_ssort.py#L307-L312

When sorting everything else, we assume that the only place where a distinction between "runtime" and "parse-time" requirements is interesting is when there is a cycle.  In this case we leave it to the programmer to figure out a working order.


removing minishift support from makefiles and updating readme

fix wrt to: https://issues.redhat.com/browse/CRT-904

appen to be provisioned to OpenS

oh, my bad!
I could just close this PR then, would that be okay @alexeykazakov ?

@alexeykazakov Just out of curiosity - do you really still use Minishift for that? Or would you use it?

I used it during development before switching to Sandbox.


Build dep resolver and ldflags

This patchset changes the dependency-resolver.py to follow what @cmarcelo, @lucasdemarchi and I discussed yesterday, also, adds the missing ldflags support.
@ulissesf could you check where we should set the -extra-ldflags for pthread since you've touched these codes?

look, this patchset brings a patch from @ulissesf which is already here https://github.com/solettaproject/soletta/pull/141

I'm checking why this is failing on ubuntu...

ok, now it builds on ubuntu :)

just sent new version, https://github.com/solettaproject/soletta/pull/143
closing this one
@lpereira this v2 I've just sent doesn't implement any version check.


Fix "Draw Wall Repeat" modifier handling on Linux

This fixes https://github.com/johnnovak/gridmonger/issues/1

Tested on 5.19.7-arch1-1 #1 SMP PREEMPT_DYNAMIC Mon, 05 Sep 2022 18:09:09 +0000 x86_64 GNU/Linux with IBus input and i3wm. Works! :+1:

Tested on 5.19.7-arch1-1 #1 SMP PREEMPT_DYNAMIC Mon, 05 Sep 2022 18:09:09 +0000 x86_64 GNU/Linux with IBus input and i3wm. Works! 👍

Thanks @Th30n


Documentation for pl.LightningModule that includes many nn.Modules

I have a pl.LightningModule (pytorch-lightning) that includes many nn.Modules.
It's not obvious from the documentation how I can profile all the LightningModule tensors and the subordinate Module tensors. Could you please provide an example?

Here is an example:
https://colab.research.google.com/github/PytorchLightning/pytorch-lightning/blob/master/notebooks/01-mnist-hello-world.ipynb
In my code (not the colab above, but a similar style), I don't OOM when I create the model. I OOM when I run
trainer.fit(model)

How do I memory profile why I OOM?

THX for reporting. I'll investigate the integration with pytorch lightning in this weekend.
But in principle, the only thing need to be done is to add the forward function into the line_profiler.

It looks like our current implementation cannot profiling the detailed memory usage inside nn.Module. However you can work this around by simply defining a dummy container Module like:
class Net(pl.Module):
    def __init__(self):
        super().__init__()
        self.conv1 = nn.Conv1D(xxx)
    @profile
    def forward(self, input):
        out = self.conv1(input)
        return out

@Stonesjtu if I have an nn.Module that contains other nn.Modules (which in turn contain other nn.Modules), do I add @profile decorator to all nn.Modules to see what is happening? Thank you for the help.

A common workflow is to profile top-down. Usually 2 or 3 profile should give you an overall memory consumption statistics.

@Stonesjtu wanted to ping on this issue to see if there is a better way to use memlab with lightning now.

@turian Does the MemReporter work for you? It says it is supposed to work recursively on more complicated nn.Modules.


No characteristic is passed on 'characteristicsDiscover' at a central component.

Hello Sandeep,
I’m very happy using your noble/bleno modules.
I was able to use both noble/bleno modules successfully on a raspberry pi with raspbian.
But now I have a problem when running the same bleno based peripheral peripher.js on a raspberry with raspbian 4.1.13 + nodejs V4.2.3.
A central component (built using noble, or an iOS app, and assuming they are OK) receives an event ‚on characteristicsDiscover‘, but the characteristics passed is empty (length = 0). What could be the reasons for this Problem at the peripheral?
I would be very happy if your could help me.
Thank you.
BlenoIssue.zip

@kaippp looks ok to me, central OS X 10.11 and peripheral Raspberry Pi.
$  node bleno-issue-161.js
noble = central
on -> stateChange: poweredOn
startScanning 00
on -> scanStart
startScanning 99
on -> discover: {"id":"1861702501ef4f9da58583e21c642dd8","address":"00:19:0e:11:28:17","addressType":"unknown","connectable":true,"advertisement":{"localName":"raspberrypi","serviceData":[],"serviceUuids":["2215f5762aa942e4a300ceb07484b415"]},"rssi":-87,"state":"disconnected"}
connecting
on -> connect
on -> scanStop
on -> peripheral services discovered:
serviceIndex = 0
on -> service characteristics discovered {"uuid":"9666ffd4b3d14985a4051ef2a6dbb283","name":null,"type":null,"properties":["notify"]}
on -> characteristic notify true

Also, screenshot from LightBlue on OS X:

Could you share a screenshot of what LightBlue on iOS shows for the services and characteristics of the bleno peripheral?

Hello Sandeep,
thank you for your response.
Attached are the screenshots (upper + lower parts) of the LightBlue app on iPad connecting to peripher.js that runs on a Raspberry pi.
The characteristic was not displayed by the LightBlue app.
Raspberry pi:

Raspbian Linux 4.1.13-v7+
Node v4.2.4
bluez 5.23 (If the bluetoothd process was killed, peripher.js doesn't work at all)

Note: If the same peripher.js runs on the same Raspberry but with the following software, than there is no problem.

Raspbian Linux 4.1.7-v7+
Node 0.10.40
bluez 4.99

kaippp
LightBlue-peripher.js.zip

@kaippp still looks like bluetoothd was still interfering when you are using BlueZ 5.23.
Can you confirm is was not running? pgrep bluetoothd
There are also some instruction here to stop it: https://github.com/sandeepmistry/bleno#linux

@sandeepmistry
pi@raspberrypi:~ $ apt-show-versions bluez
bluez:armhf/jessie 5.23-2+b1 uptodate
pi@raspberrypi:~ $ apt-show-versions bluetooth
bluetooth:all/jessie 5.23-2 uptodate
When bluetoothd is running, peripher.js, missing expected onSubscribe event, shows:
bleno = peripheral
on -> stateChange: poweredOn, address = 00:15:83:d2:07:9d
on -> advertisingStart: success
ctor SampleService
ctor NotifyOnlyCharacteristic
on -> servicesSet: success
on -> accept, client: 45:f1:40:cd:e9:e4
on -> rssiUpdate: -50
After stopping bluetoothd by "sudo service bluetooth stop", peripher.js shows only one line:
bleno = peripheral
On the same raspberry, when bluetoothd is running, a noble program works well; But when bluetoothd is stopped, the noble program doesn't work at all.
It seems that bluetoothd is still required; Without it bleno/noble don't work at all.

@kaippp when you stop bluetoothd it powers off the Bluetooth adapter. You need to use sudo hciconfig hci0 up to power up manually.

Indeed, the bleno module is absolute OK.
On my raspberry pi with bluez 5.23, I must do the following to solve the problem:

sudo service bluetooth stop
sudo hciconfig hci0 up

@sandeepmistry Thank you very much for your support. I'm happy to have the problem solved.

@kaippp great! I've added a note in the read me for this (https://github.com/sandeepmistry/bleno/commit/821eaf64b262ba0ea01f564282f68240d0836e7d).


Wait for the commands to finish

Currently, if I let cargo watch execute some long-running command and I save a file again while the command is still running, the command gets killed and is run again.
I'd like an option that would change the behaviour and let the command finish before starting it again. If something was changed while the command was still running (possibly multiple times), it would start it after the previous run completed.
My use case is something like this. I start cargo watch -x doc, open relevant part of documentation in the browser and start editing the documentation comments in the source files. If I save only from time to time, the documentation is rebuilt on each save, the browser reloads the documentation and I can keep an eye on how it looks like and fix any formatting issues, etc. However, if I save too often (which I'm used to), the command never finishes and I get no updates of the documentation in the browser. In my opinion, having less often updates is better than having none at all.
I have similar problem with other scenarios, like running cargo watch -x test --all ‒ it keeps compiling and compiling and never gets to actually run the tests.

If you can figure out a watchexec command/options that do that, I can add a flag here that would set those.

I believe the needed flag is not setting restart. This does what I want (well, with a bit different command and limited to only some files to be watched, but it doesn't kill and restart the command):
watchexec -e md -w doc/ make doc

I think setting this to false would solve my problem: https://github.com/passcod/cargo-watch/blob/master/src/main.rs#L146

Done in 5.1.0.

Thank you, this was super fast :-).


Support for examples in separate file or store

Thinking of csv, Airtable, or even sqlite.  Anything that opens the possibility to expose the examples to others for viewing or (reviewed) editing.
Not quite property-based testing, but I could also see a place for test case generation (via custom generator) that could populate such a data store of test examples.

v0.1.0 adds very experimental support for CSV and TSV files as sources of parameters. If this is useful, I'd welcome any feedback you have. One day we could maybe work this into other sources you mentioned (I'd personally love to see us able to pull from Notion...).