Highdicom allows incorrectly formatted "person name" (PN) attributes

There are a few places where the highdicom API requests str parameters and directly encodes them as attributes with value representation PN (person name). This includes but (but may not be limited to) the content_creator_name parameter of the segmentation SOP constructor, and the verifying_observer_name parameter of the EnhancedSR, ComprehensiveSR, and Comprehensive3DSR constructors.
The format of a PN attribute is quite specific - you can't just enter free text here. See the PN entry in this table. Briefly, for human names there are five fields (family name, given name, middle name, name prefix, name suffix) that should be separated by caret characters (^). See also the examples in the standard.
Unfortunately, no attempt is made at the pydicom level to enforce or check correct formatting. This propagates to highdicom. Therefore there is no checking or enforcement on these in highdicom, nor any documentation that there is even a format that should be followed. I suspect that the result is that the vast majority of users will pass "John Doe" instead of "Doe^John" and end up with incorrectly formatted attributes.
I consider these formatting details to be far lower level than users of highdicom should have to understand in order to create objects with correctly formatted PN attributes.
I am happy to work on a solution. Here are a few options that come to mind:

(My preferred solution): Create a PersonName object (either in the highdicom.content module or a new highdicom.vrmodule perhaps) with a constructor that takes the five parts of the name (family name, given name, middle name, name prefix, name suffix), any of which can be None, and has a method that returns the correctly formatted string. Then change the API of the various parts of the code expecting person names as string to instead expect PersonName objects.
Continue to expect strings but check that the format is correct (difficult because in theory each component can contain a space and components can be missing)
Try to fix this at the pydicom level.

@hackermd thoughts?

For reference: https://support.dcmtk.org/docs/classDcmPersonName.html

I think it would be ideal if we could address that at the pydicom level. I realized that there are several issues with VRs (DS, PN, DA, etc.) and that pydicom does not enforce correct value representation.
@darcymason would you be open to changing the pydicom approach and add functionality for asserting correct value representation (max value length, set of characters, etc.)?

Create a PersonName object (either in the highdicom.content module or a new highdicom.vrmodule perhaps) with a constructor that takes the five parts of the name (family name, given name, middle name, name prefix, name suffix), any of which can be None, and has a method that returns the correctly formatted string. Then change the API of the various parts of the code expecting person names as string to instead expect PersonName objects.

I like the approach, but would rely on pydicom.valuerep.PersonName instead. Would that work?
Highdicom callables could then have name: Union[str, pydicom.valuerep.PersonName] and we internally store the attributes using pydicom.valuerep.PersonName.
@CPBridge What do you think?

I think it would be ideal if we could address that at the pydicom level. I realized that there are several issues with VRs (DS, PN, DA, etc.) and that pydicom does not enforce correct value representation.

Traditionally pydicom has avoided being overly strict because there are so many files with invalid DICOM that it causes a lot of troubles (just take a look at the issue list).  We have put some checks in place over time, though, in conjunction with the config.enforce_valid_values flag, which does now enforce things like valid length and values for DS, IS and a number of other things, if set to True.
I'd be open to PRs adding such DICOM validity checks to PersonName (when the config flag is True).

difficult because in theory each component can contain a space and components can be missing)

Which I think means the example "John Doe" is actually valid, so this can be a bit tricky, as noted.

with a constructor that takes the five parts of the name (family name, given name, middle name, name prefix, name suffix), any of which can be None, ...

I think this could be a good class method on the pydicom PersonName class, if you wish to add it:
e.g. something like
person_name = PersonName.from_components(...)   # or .from_component_groups(...) maybe?

and has a method that returns the correctly formatted string.

If there is something needed beyond the __str__ value, then sure.
Anyway, summarizing, I'd be happy to entertain pydicom PRs for stricter checks in conjunction with the config flag, and e.g. class methods or others that might be useful.

Thanks @darcymason. I think you are right that adding checks is probably impossible because there are ambiguous cases. I like the suggestion for from_componentsand will work on a pydicom PR for this. I imagine __str__ is sufficient as you say.

@hackermd I think when a user import highdicom, we should probably set the pydicom.config.enforce_valid_valid to True to make use of the checks that do exist in pydicom. What do you think? Maybe this should do into highdicom.__init__?

I like the approach, but would rely on pydicom.valuerep.PersonName instead. Would that work?

Highdicom callables could then have name: Union[str, pydicom.valuerep.PersonName] and we internally store the attributes using pydicom.valuerep.PersonName.

@hackermd  the problem with this approach is that checks enforcing the validity of Person Name attributes is much harder (and probably impossible) than simply forcing people to use a constructor that makes them individually specify each component. E.g. it's much easier to make sure someone doesn't enter "John Doe" when they mean "Doe^Joe" by making them pass 'John' and 'Doe' separately than it is to try and work out after the fact that when they entered "John Doe" they actually meant "Doe^John". If we assume that it is impossible to implement checks at the pydicom level (even with the enfore_valid_values flag) and then if we do as you suggest and let people pass pydicom.valuerep.PersonName objects, then I imagine what will happen is that everyone will just use the main __init__ method for PersonName and do this:
dcm = Segmentation(
    ...
    content_creator_name=pydicom.valuerep.PersonName("Jonathan Horatio Doe-Smyth, 11th Earl of Dribbling"),
    ...
)

which is a perfectly valid way to create a pydicom.valuerep.PersonName, and we have essentially no way to check this, we're back at square one.
I would still be tempted to have a highdicom subclass that users of highdicom are required to use when constructing objects that forces users to go through a constructor with components, but then under the hood pass off the construction of the name string to as-yet non-existent functionality in pydicom.

See https://github.com/pydicom/pydicom/pull/1331

@hackermd I think when a user import highdicom, we should probably set the pydicom.config.enforce_valid_values to True to make use of the checks that do exist in pydicom. What do you think? Maybe this should go into highdicom.__init__?

Not sure whether this would be such a good idea. The library also provides utilities for reading data and we may not want those to fail with every compliance issue. The ideal behavior would in my opinion be restrictive upon dataset creation (writing) and permissive upon parsing (reading). It's unfortunate that this is a global variable and cannot be set for individual instances of pydicom.dataset.Dataset.

I would still be tempted to have a highdicom subclass that users of highdicom are required to use when constructing objects that forces users to go through a constructor with components, but then under the hood pass off the construction of the name string to as-yet non-existent functionality in pydicom.

You convinced me. This is also in line with the overall approach we use throughout the library.

Not sure whether this would be such a good idea. The library also provides utilities for reading data and we may not want those to fail with every compliance issue. The ideal behavior would in my opinion be restrictive upon dataset creation (writing) and permissive upon parsing (reading). It's unfortunate that this is a global variable and cannot be set for individual instances of pydicom.dataset.Dataset.

Ah you're right, I didn't realise it would also affect files read in. That would have all sorts of unexpected knock on effects.

Maybe we could enable it for tests though?

Maybe we could enable it for tests though?

Damn @CPBridge! You are a DICOM pro!🥇
Thanks for your clarification.

On the highdicom side I think it might be reasonable to raise a warning if a value with no ^ characters is passed with a message that the PersonName is likely not what the user intended, but this may be too high level for pydicom

I agree. I think we can/should be opinionated.

I think that is reasonable. Perhaps a slightly different name might be used, rather than enforce_valid_values, to avoid confusion with the pydicom.config flag, although it is a very descriptive name and I can't think of a better one off-hand.

For dicomweb_client.uri.URI we called it permissive (False by default). Given that we need the opposite logic here, shall we call it strict?
It would then look as follows:
ds = Dataset()
ds.PatientName = f'{wrong_name}'   # no error raised

ds = Dataset(scrict=True)
ds.PatientName = f'{wrong_name}'   # raises ValueError

I'm trying to remember - I know the term 'strict' came up before and we decided not to use that for some reason.  Perhaps because it is vague - e.g. could be interpreted as ensuring that all required data elements are present, for example.  However, I do like it for being short and reasonably intuitive - that or a similar term is what I would expect if I was learning a library.
I'd say go ahead with a pull request with that, and just make sure what exactly is "strict" is well-documented (e.g. in the class docstring).  If needed, it is easy enough to update the term in the PR.

I'd say go ahead with a pull request with that, and just make sure what exactly is "strict" is well-documented (e.g. in the class docstring). If needed, it is easy enough to update the term in the PR.

Great! We can further brainstorm about potential names in the meantime. I agree that we will be able to change the variable name easily and I like your idea of using a more specific name. We could use assert_vr or something along this line.

My PR to add the functionality to construct PersonNames has now been merged into pydicom master branch: https://github.com/pydicom/pydicom/pull/1331 and will be in the next release of pydicom (looks like this will be 2.2.0). Leaving this issue open to figure out the best way to integrate this into highdicom


Images not being deleted from cache when uploading a rectangular image as profile pic

When uploading an image to your profile pic with wrong dimensions (rectangular), it stays in the cache.
It isn't a big issue, but it shouldn't have that behaviour. If using a container based setup (like docker) and you restart the container, the cache gets cleared. But in a regular setting it would stay until reboot.
I tested it on my localhost setup, macOS Mojave, with and without docker.
To Reproduce

Upload a rectangular picture
Check cache path, image is still stored there

I expect it to be deleted, specially because it stays unoptimized. So theoretically it could eat up to 50mb of space per failed profile picture (if using default upload size limit) and basically most setups aren't doing reboots regularly.
Technical details:

Ghost Version: 2.6.0
Node Version: 10.13
Browser/OS: Any
Database: SQLite3

@gargol I thought I had a fix, but I now uploaded a zipped file as a theme with an 250mb file inside, and the problem is when it unzips the path changes! And the 250mb stays in the cache 😥I'm going to see how the file unzip is handled. Is there any kind of limit when uploading a zipped theme?


Unhandled promise rejection callback

This PR includes a change that extends the graaljs-js unhandled promise exception handling to allow the option of handling unhandled promise rejections with a JS callback. This allows polyglot or js CLI applications to supply their own handling that can be used for custom logging or other behavior. Neither of the 3 existing options allowed me any kind of programmatic handling, and this change unlocked my use case and hopefully should for others.

added JSContextOptions.UnhandledRejectionsTrackingMode.CALLBACK to specify callback handling mode in BuiltinPromiseRejectionTracker.
added new JS option js.unhandled-rejections-callback to specify the callback name (defaults to unhandledPromiseRejectionHandler)
BuiltinPromiseRejectionTracker will dynamically look up the callback name in the global scope for each unhandled promise rejection and fire the handler with (rejection, promise) if the function is defined.

[x]  Manual testing (it works for my usecase).
[x]  Unit tests

opening this up for review. i'll write some unit tests after reviewing the general approach and feature itself

noticed once issue that may be a problem with the BuiltinPromiseRejector itself:
org.graalvm.polyglot.PolyglotException: java.util.ConcurrentModificationException
	at java.util.LinkedHashMap$LinkedHashIterator.remove(LinkedHashMap.java:769) ~[?:?]
	at com.oracle.truffle.js.nodes.promise.BuiltinPromiseRejectionTracker.promiseReactionJobsProcessed(BuiltinPromiseRejectionTracker.java:128) ~[?:?]
	at com.oracle.truffle.js.runtime.JSAgent.processAllPromises(JSAgent.java:227) ~[?:?]
	at com.oracle.truffle.js.lang.JavaScriptLanguage.interopBoundaryExit(JavaScriptLanguage.java:518) ~[?:?]
	at com.oracle.truffle.js.runtime.builtins.JSFunctionObject.execute(JSFunctionObject.java:145) ~[?:?]

@colinrgodsey thanks for your PR! I've discussed about your proposed changes with the team, and overall we think that adding a callback-based mechanism to let users track promise rejections would be useful.
There are a couple of aspects of your PR that we think could be improved:

Rather than having the user specify the name of the callback using the global object, it would be preferable to perform the callback registration using a builtin function. For example, something like Graal.registerPromiseRejectionHandler(function() { /* your code */ }). In this way, there is no need to specify a custom callback name, and users can register their own callbacks programmatically. Such builtin function could still be enabled/disabled via a flag.
unit tests are missing, as you wrote above

Would you be willing to update your PR with these changes?

@eleinadani Great! Yeah that makes total sense to me. I didn't realize there was a built-in Graal JS API that we could access/extend, so that definitely seems like the right choice. I should be able to get things fixed up this week.

Updated the PR with the approach discussed above. I made one additional change in BuiltinPromiseRejectionTracker to avoid any potential issues with re-entrance into the pendingUnhandledRejections Set- this help cope with the fact that new promises (with unhandled rejections) may possibly be created in the handler.

alright, think I've settled on the current commit

Thanks for updating the PR @colinrgodsey! I left a couple of comments in the code about minor things that we think should be addressed before we can merge

We just merged. @colinrgodsey thanks for the latest changes and your work in this PR!


Added a C++ code for multiply_two_linkedlist Issue #1275

Hello Maintainers,
@plazzy99 @rudrakshi99 @tarun26091999 @OjusWiZard @raksha009 @nakul-19 @shreyanspoddar
I have added a code for multiplication of linked list in C++ code Folder for issue #1275
Please Check!

Heyy, plz create a pr only when the issue is assigned to you :)


Use map[string]bool for preProcessor to ignore unknwon fields

- What I did
This fix is an attempt to address the issue raised in #28339. In docker ps, the formatter needs to expose all fields of types.Container to preProcessor so that template could be executed.
This direct exposing is unreliable and could cause issues as user may incorrectly assume all fields in types.Container will be available for templating.
However, the purpose of preProcessor is to only find out if .Size is defined (so that opts.size could be set accordingly).
- How I did it
This fix defines preProcessor as map[string]bool with a func Size(). In this way, any unknown fields will be ignored.
- How to verify it
This fix adds several test cases to the existing TestBuildContainerListOptions.
- Description for the changelog
- A picture of a cute animal (not mandatory but encouraged)

This fix fixes #28339.
Signed-off-by: Yong Tang<EMAIL_ADDRESS>

/cc @cpuguy83

Rebased to fix merge conflict.

LGTM


initial meson build tool support

This provides rudimentary Meson build tool support with syntax highlighting for meson.build and meson_options.txt files.  It is modeled after the CMake support built into CND.  This should be considered a work-in-progress as there are some problems in CND that need to be sorted out before this will be useful.  I decided to submit this pull request so there's a place to discuss and hopefully work through those issues.
The problems:

Creating a new "C/C++ Project with Existing Sources" is broken in CND due to cnd.discovery module no longer being part of CND proper.  The DiscoveryExtension class in there is a service provider for the IteratorExtension.class that is needed to finalize/save the project.  It throws the following error when the Finish button is pressed on the wizard:
I'm not sure how to fix this.  I tried to bring discovery back out of contrib but that led down a rabbit hole you've already been down that requires native build-trace.  If we're not going to restore cnd.discovery, then some kind of replacement is needed.  In my ignorant and naive view, it seems like this could be much simpler now as build tools have advanced these days to where I don't generally want the IDE to manage my build tooling.  So, the existing sources project wouldn't need to analyze anything, just setup some basic pre-build, build, clean, test commands in the wizard and save that stuff in the project.  The IDE would then use the configured commands when the actions are requested.  Thoughts?  Better ideas? (Side note 1: The new CND can load existing sources projects created with the old CND so cnd.discovery doesn't appear to be needed once the project is created.)(Side note 2: creating a new "C/C++ Project from Binary Files" is also broken due to lack of cnd.discovery, but I'm inclined to just delete that one and forget it existed as I think that capability is nifty but of questionable practical usefulness.)

Meson and other build tools (CMake, Scons, etc) generate compile_commands.json.  It seems prudent to disable the built-in compile_commands.json generator when one of these tools is used and instead use the output from the build tool.  Different build configurations (debug, release, etc) will have different build directories housing different compile_commands.json files.  So, it seems like we need a configuration specific compile_commands.json location per project falling back to the built-in generator if a configured build tool doesn't provide one.  Thoughts?  Better ideas?

I'm happy to work on solving these problems but I'd like to at least get some guidance on how best to proceed as I am way too clueless to make these kinds of important decisions.

Moving this over to netbeans proper.


QUESTION: What are the options for flashing matter.js into devices

I have developed my custom controller with node.js also added a control bridge to it
and used express js for rest api for communication and it works perfectly now.
My question is how to deploy these because I need an os based board and what are available option
Also concern for security because any one who gets access to the board can access the os and manipulate the code also
what are the available option please try to answer even if it is a silly question ;)

Hey, nice to hear about your project. Do you have more details or a link?
In general "any platform that supports node.js" works for matter.js ... also other patforms with JS could work but you might need to implement platform specific code.
Also your raised security concern is a topic then, so you might want to work with encrpted filesystem (at least partially) and such and you also might need an update mechanism.
But in fact beside these general infos I do not have any concrete "secured production ready" options other then "a raspi based board" as idea where you need to search yourself.
I also converted that as a discussion.


input.system插件增加已登录用户监控项

What would you like to be added:
input.system插件增加已登录用户监控项
Why is this needed:
已登录用户表示当前主机有多少人已登录，可直接反应当前主机是否被入侵等角度分析
Describe the solution you'd like
Additional context

collect_user_number = false 改成 true 启用就行了


Option to remove Upgrade button in Adblock

Describe the solution you'd like
Add an option to remove the upgrade button that appears on the top of spotify
Additional context

Should already work, send your full config/xpui file please

[Setting]
inject_css              = 1
overwrite_assets        = 1
check_spicetify_upgrade = 0
replace_colors          = 1
spotify_launch_flags    =
spotify_path            = C:\Users\itsmeboy\AppData\Roaming\Spotify
prefs_path              = C:\Users\itsmeboy\AppData\Roaming\Spotify\prefs
current_theme           =
color_scheme            =

[Preprocesses]
disable_sentry        = 1
disable_ui_logging    = 1
remove_rtl_rule       = 1
expose_apis           = 1
disable_upgrade_check = 1

[AdditionalOptions]
home_config           = 1
experimental_features = 1
extensions            = adblock.js
custom_apps           = spicetify-marketplace|lyrics-plus|new-releases
sidebar_config        = 1

[Patch]

; DO NOT CHANGE!
[Backup]
version = <IP_ADDRESS>9.gc3dac750
with    = 2.9.2

Installing it from the marketplace does not work as well.

Using it with SpotifyNoPremium works.

I've found a fork that removes the upgrade button: https://github.com/DarkVanityOfLight/SpicetifyAdBlock/blob/main/adblock.js
Ping @DarkVanityOfLight


Scroll wheel doesn't work on firefox

On RHEL6 and RHEL7 mouse button scroll is very very slow and the wrong way (mouse wheel up should be zoom in, like google maps)

setting the inverseZoom prop works for reversing direction. The slowness appears to be due to firefox reporting scroll wheel delta in terms of lines instead of pixels (see https://github.com/esnet/react-timeseries-charts/issues/302) and react-diagrams not handling this properly

ok, is there anything we can do in the meantime? as it's kind of un-usable on Firefox. We might need to put the zoom buttons on as a workaround unless we can do something about the lines vs pixels issue.

I've added an event handler to the div which wraps the layout which catches the event if it has deltaMode=DOM_DELTA_LINE and re-emits a new one with  deltaMode=DOM_DELTA_PIXELS


Add link to credential issuance process from BC Wallet proof request

Description of feature / user story
As a person who has missing credentials to satisfy a proof request, I want to see a button or link to get those missing credentials, so that I can start getting them right from the wallet and not have to search elsewhere on what I need to do next.
A proof request screen that displayed missing credentials was a dead-end to people as they did not know at this point where to get the missing credential.
Acceptance Criteria
Given the user does not have their Person credential
When they receive a proof request asking for their Person credential
Then they are presented with a proof request with a missing credential UI
And the UI displays a "Get this credential" button that links to the start of the Person credential issuance screen.
Given the user does not have their Member Card credential
When they receive a proof request asking for their Member Card credential
Then they are presented with a proof request with a missing credential UI
And the UI displays a "Get this credential" button that links to the law society of BC member portal webpage
Wireframes or relevant image assets / links
Wireframe of the missing credential proof request
BC Wallet reccomendations

Summary of research findings

I don't see these changes at all on build 1514 for both iOS and Android.

The lsbc credential's new credential name "Member Credential" doesn't get reflected when the credential is missing in a proof request. It still states "Member Card".

I'm using the production lawyer website

Tested 1546 on both iOS and Android. Links work fine. However the branding for the Member Credential isn't reflected as mentioned in previous comment.


order of composite index paths

The doc says:
"The order of composite index paths (ascending or descending) should also match the order in the ORDER BY clause."
however, later on it says that the index "(name ASC, age ASC)" supports the query "SELECT * FROM c ORDER BY c.name DESC, c.age DESC". I nthis case the index order does not match the order in the ORDER BY.
Is not that a contradiction?

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

ID: d3aeab4a-343d-b492-f9dc-a3233a117101
Version Independent ID: 075ccfaf-9b5c-aa6d-8a35-a57b4344773c
Content: Azure Cosmos DB indexing policies
Content Source: articles/cosmos-db/index-policy.md
Service: cosmos-db
GitHub Login: @ThomasWeiss
Microsoft Alias: thweiss

@danvalero The next bullet point (after the one you quoted) actually says "The composite index also supports an ORDER BY clause with the opposite order on all paths.", so that query is supported.
#please-close


chore(deps): update js dev dependencies

eslint-plugin-import, eslint-plugin-n, eslint-plugin-node, eslint-plugin-promise were unused before, and are removed  in this PR

Thank  you

clippy errors are fixed in https://github.com/tauri-apps/tauri/pull/10054


saas: create account + sign in

creating an account and signing in
assumptions

user has purchased an offering, and sales cycle has finished
enterprise and tenant are not critical pieces for creating an account or signing in
no external identity providers yet

overview
users need the ability to navigate to the platform, create an account, and sign in. we will use auth0 for as much of this as we can. this piece of work should focus on api work, if auth0 provides a ui for testing functionality we should leverage it.
design details
creating an account data
after folks have an account, they can make authenticated requests that contain the fields: tenant id, enterprise id, and many other things. part of this work is confirming this work with other services.
user provided
all required

email (same as username, must be unique)
password
confirm password

recorded data

time created
email
password
customer record id [needs discussion]

password rules

min characters: 8
max characters: 30

sign in rules

max sign in attempt: 5

after 5 failed attempts they are locked out for 10 minutes before they can try again

sign in session: 24 hours

Issue moved to chef/platform-auth #1 via ZenHub


Create nl.i18n.json

added a Dutch translation file

Thank you so much @Davidrums, this translation is now included on the 1.2.2 release.

no problemo. My team and I will probably use the package so why not share it with the world ;)


Build mode for tests that only builds the quick variants

The thorough and quicker tests take too long to compile for gpuCI GPU testing, where we are resource constrained. I need a mode which only builds the quick tests.

We no longer have these variants and instead split the compile-time-expensive tests up to take advantage of parallel builds.


Automated Package Upgrade

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


RepeatProcedure with max condition

Hi,
What do you think about adding the initializer to RepeatProcedure that would allow repeating the operation based on the result of the preceding operation?
We need this for polling operation that basically should keep refreshing with interval, until the certain condition is met.
Cheers,
Andrej

Solved this with custom IteratorProtocol


ReferenceError: describe is not defined

Hello,
I'm currently using mocha v2.3.4, chai, and es6 with babel 6 and running in node v5.3.0.
This is my test script that I run with npm:
mocha --compilers js:babel-core/register  --require ./test/test_helper.js  --recursive
I have mocha globally installed, but whenever I run the test script I get the following output in my terminal:
ReferenceError: describe is not defined
Does anyone have any Ideas for why this may be happening?

I don't know why this is happening, but see this SO question

this may be a mocha bug, or maybe you just can't do this anymore with babel 6, I dunno.  someone should find out!

@boneskull thanks for the feedback but unfortunately I already have my .babelrc configured.

@kennetpostigo then skip that step?

@boneskull I'm in charge of testing 😅

@kennetpostigo I have no idea what you're talking about.

What did you mean by "then skip that step?"

@kennetpostigo

"unfortunately I already have my .babelrc configured"

then, as in the SO answer, skip creating .babelrc.

I would like to open the same issue again. I'm upgrading an existing node project to Typescript. I'm receiving the same error when trying to run mocha for the following project specs:

Node
Typescript
ES6

I have all the @types needed installed (mocha, chai, node, supertest, etc) and adding the @types directory to the typeRoots of the TS compiler options in .tsconfig.json. This way I don't have to do import "mocha" at the beginning of my test
I have also installed ts-babel-node which sits on top of ts-node to transpile ES6 to ES5 in Node Typescript projects. This is working fine, however, it's unable to recognize describe during runtime only. The compiler is referencing the @types/mocha 's describe() definition but not when I run the tests.
.babelrc is defined too
Running the main app with ts-babel-node src/server.ts runs fine
Running tests with mocha -r ts-babel-node/bin/ts-babel-node test/test.ts fails in reading the describe() method.
I also tried running mocha --compilers js:ts-babel-node/bin/ts-babel-node test/test.ts
but with no luck.
Any tips would be appreciated

mocha is a wrapper around node. _mocha is the "real" executable. try ts-babel-node _mocha <mocha options>


Refresh Token Automatically

At the moment, when the token expires, it expires and the person has to log in again.
For as long as the person is active, the login should persist. Two strategies for this:

On a regular interval, ping the server for a new token using the refresh token.
When an action is performed or a page is visited, refresh the token.

This is surprisingly nontrivial in the face of parallel requests. That is, if two requests are sent with expired access simultaneously (which does happen on some pages), then both will want to refresh the token. One will win, and the other will lose; the problem is with Gotrue, when an old refresh token is attempted, the current token becomes invalidated, ruining future refresh attempts.
Gotrue reference - A revoked token is handled differently from an incorrect one; Gotrue perceives it as an abuse attempt and therefore clears stuff.
Queueing Requests on the Client
One strat I've seen is essentially forcing parallel on the client to wait for a refresh to finish. That is, when a request fails, it issues a refresh and then retries. Importantly, that request is stored somewhere as a promise. Parallel requests fail too, but we wait for the stored refresh request to resolve before processing these requests.
A natural question to ask is how to handle multi-tab workflows. Since tabs do not share their in-memory values, if they (somehow) issue requests simultaneously, the same sort of conflict can arise.
Centralized Refresh
The most transparent way to handle refresh is to do so in SvelteKit's handle function, but unless there some shared state regarding what request is currently refreshing, the parallel problem is unresolved.
A centralized store such as Redis could be used for this, or since we're using Supabase, a simple postgres table.
A table might have an entry for a hashed refresh token with a creation date. When a request is made with an expired token, handle looks for an entry in the Table. If there is an entry, then that means a refresh has already occurred, and a 401 will be issued. The client should then utilize some retry strategy, effectively waiting for cookies to get set.
If there is not an entry, then it gets inserted into the DB, and the refresh is commenced. If the refresh fails, then the cookies are reset and the person will need to log in again.
Cron or something can be used to clean the table every once in a while to minimize collisions and free up data.
Note: this approach requires the superkey be used, as we do not want the table to be publicly accessible, nor is it possible to tie it to user permissions in any way (as, the whole point is the user doesn't have a token to begin with).

Decision: A refresh token endpoint will be created for refreshing the token. This endpoint is useful in two ways:

Either, it can be called on a schedule by the front-end to ensure a live session
Or, it can be used as in the Queueing Requests on the Client method above

Although the Centralized Refresh idea probably offers the best immunity to parallelism problems, it comes with enormous complexity. The problem is not that a new table is needed, but that the table has a bunch of security implications: that refresh tokens being as powerful as passwords means they would need to be at least as securely stored, and that the supabase superkey would have to be exposed on the server (which is fine technically, but it's most secure if not used at all). On top of that, incredibly robust handling of 401 by the client must be implemented.
The endpoint creates an opportunity for transition into this architecture if, in practice, parallelism problems are common.

Scheduled refresh is relatively transparent. Downsides include the potential for different tabs to refresh simultaneously, requiring JS (though the site already assumes JS), and over-generating access tokens.
Refresh only when needed, aka when endpoints fail with 401, with good retry logic.
Centralized refresh on the server relying on retry logic from step 2 (aka, draw the rest of the owl).


Fix Unicode and Hex Escape Parsing in String/Symbol/CLOB

As per #17, there appears to be an issue around escape processing for Unicode escapes (i.e. \uHHHH, \UHHHHHHHH, and \xHH), we should make sure this is working correctly in parser, because for at least CLOBs, \xHH does not appear to process correctly when parsing clobNewlines.ion in the test vectors.

Looking at this more deeply, the part of the parsing that controls this is in the String struct (see types_character.go#L31-L46):
	// Unquote translates escape sequences, e.g. `\u00ff`, into their utf8
	// normalized value, e.g. "ÿ".  We need to surround the text with double
	// quotes so that Unquote knows whether to treat it as literal text or not.
	var err error
	s.unquoted, err = strconv.Unquote(`"` + string(s.text) + `"`)
	if err != nil {
		s.unquoted = string(s.text)
	}

It is probably mostly working (needs stronger tests to verify this behavior), but the escape processing probably should not be spread across the lexer, parser, and the String element/value type.


svg export cuts off math equation with ellipse (...) in .svg code.

Preflight Checklist

[x] I agree to follow the Code of Conduct that this project adheres to.
[x] I have searched the issue tracker for a feature request that matches the one I want to file, without success.

You must agree to search and the code of conduct. You must fill in this entire template. If you delete part/all or miss parts out your issue will be closed.
If you are technical, you should reporting bugs along the lines of https://marker.io/blog/how-to-write-bug-report. If you are not technical, we will make allowances, please try to make an effort to understand the process.
Describe the bug
Ellipse (...) appears in .svg code, and cuts off latex.
To Reproduce
Steps to reproduce the behavior:

Create a textbox with $$\mathbf{p}^B$$
export as .svg and don't embed fonts.
Open .svg
See error:

excerpt of .svg:
<text [excluded params for brevity]>$$\mat...</text>

Expected behavior
I expect $$\mathbf{p}^B$$ to appear in the svg file.
Screenshots

draw.io version (In the Help->About menu of the draw.io editor):

draw.io version v24.5.3

Desktop (please complete the following information):

OS: Mac, using desktop application

I found the bug can be avoided by making sure that the textbox is as wide as the preformatted tex, and not the rendered tex.
Like so:


Updating Atom on Windows fails to update "Open with Atom" context menu shortcut for directories

The "Open with Atom" directory context menu shortcut stops working after every Atom update because the auto installer fails to update the appropriate windows registry keys. The path for the context menu command becomes outdated. In theory that means that "Open with Atom" should open the old Atom version on that directory, but in practice it just doesn't open anything which is just as bad.
Say Atom auto updates to version 0.192.0, the Atom registry keys should be updated to point to the appropriate executable: %USERPROFILE%\AppData\Local\atom\app-0.192.0\atom.exe. The issue is that they aren't.
The registry key locations are:
HKEY_CLASSES_ROOT\Directory\Background\shell\Atom
HKEY_CLASSES_ROOT\Directory\Background\shell\Atom\command
HKEY_CLASSES_ROOT\Directory\shell\Atom
HKEY_CLASSES_ROOT\Directory\shell\Atom\command
The problem only occurs when "Open with Atom" is used on a directory (as opposed to a file).

/cc @paulcbetts

This is all managed by Atom afaik, it could be that somehow we're deciding to not run Squirrel updates, but it's more likely that Atom is somehow not writing those regkeys on update (though I had a look at the code and it seems like it is)

I have a similar though different problem: after an update, files associated with atom cannot be opened out of the explorer by double-click, only by rightclick/open with atom.
After updating the path in HKEY_USERS\blabla\Software\Classes\Applications\atom.exe\shell\open\command it works again.

0.198.0 update seems to have fixed this. I didn't need to update the registry. Cool beans!

here it works, too. thx! :)

0.199.0
Again it doesn't work without manual changing of the registry!

Please tweak the fix to wrap the Atom path in quotes so it works correctly for paths with spaces in them (e.g., a user name with first and last name).  I have modified the keys to fix the quoted path issue but It is still breaking with every update.

Facing same problem. Windows cant find executable after I updated 'color picker' to 2.1.0 today morning.

The last two beta release updates did not properly update the context menu (1.10.0-beta1 => 1.10.0-beta3). This is still an issue.

I have been experiencing this problem with every update since I started using Atom (early 1.x versions). Surprisingly, removing registry keys and reinstalling does not solve the issue.

@roeltz Did you check under the Settings > System ? There should be 3 check-boxes where you should be able to enable and disable on how it interacts with your OS.
I hope this works for you as well. I just noticed that on version 1.10.1.

@rajush That fixed it for me. Hadn't noticed the new checkboxes. Thanks for being perceptive!  :) :+1:

I hade the same problem. You can fix it in three ways:

'Regular user:' run Atom and press ctrl + , navigate to "System Settings" tab and uncheck and check again integrity checkboxes you prefer.

'Pro user' run regedit and update path in registry keys located in:  HKEY_USERS\ ... S-1-5-21-2712726677 ... \SOFTWARE\Classes\Directory\Background\

'Shell user'* run cmd as admin and type:
mklink /J "C:\Users\USER_NAME\AppData\Local\atom\app-1.9.9" "C:\Users\USER_NAME\AppData\Local\atom\app-1.10.2"

*there's a problem with icon in context menu

@rajush @idbartosz Thanks. I had not seen that settings panel before. That solved it :)

Thanks @idbartosz

@idbartosz many thanks. I was unaware that this was a simple setting. It seems after a squirrel update my settings for "Show in file context menus" had become unchecked, leaving "Open with Atom" as an option nonetheless, however with a broken icon and it of course didn't work any longer.
Checking this setting again solved the problem for me.
Not really sure how or why that had happened..

I'm pretty sure there was an issue with the preferences migrator that should be fixed starting in Atom 1.11.0, or the next 1.10.x version.

@idbartosz Thank you for that.

I don't think this has anything to do with settings that were not migrated to the new version.
I have the version 1.11.2 and the checkboxes were still checked but the paths in the registry were pointing to a file that didn't exist anymore. After I updated all the paths manually it worked again.
So unchecking and checking again those checkboxes is just a workaround. When you ckeck those checkboxes you're telling Atom "Okay Atom, activate this function in the registry" and aparently when Atom is doing this it is using the current version number for the path.

@idbartosz Thanks a lot. Number 1 works for me.

Atom editor is broken for this feature now and then. Have to change it from Settings -> System manually every time.


Extream Voltage Emiter

So we have MV HV and LV emitters so can we get an EV emitter that emits up to 8192EU/t for IC2?
(now if only we had a way to store those packets...)

You can actually run EV output directly into a MFSU nowadays with the non-exploding energy system.
That's one of the reasons i wasn't sure about adding it. Tho i guess by the time you have enough turbines (and steam/fuel to feed them) to bother with EV it's not really much of a balance issue...

i was wondering why my machines weren't exploding. did they seriously stop
making machines explode when you hook them up to higher voltages?
(: Jonathan :)
On Fri, Dec 4, 2015 at 7:42 AM, bdew<EMAIL_ADDRESS>wrote:

Closed #66 https://github.com/bdew/generators/issues/66 via 67bde27
https://github.com/bdew/generators/commit/67bde27292c6f489bc86233d09f2bf673515b81c
.
—
Reply to this email directly or view it on GitHub
https://github.com/bdew/generators/issues/66#event-482591701.

Yep, it was removed when they started rewriting the energy system.
It was supposed to return once the system is more stable, but that was a long time ago, so not really sure what's the current status of that "feature".


Refactor strict_encoding crate

The original intent of strict_encoding was to provide encoding standard for the client-side-validation. That is why the crate is a part of this repository and used everywhere inside RGB and AluVM.
However, it appeared that the crate has become much more widely used, including commercial projects much outside of the scope of the client-side-validation. That happened due to the fact that in rust there are no good binary compact encodings guaranteeing determinism in data size or ordering.
Widespread use of strict_encoding creates pressure for adding more dependencies and types to it, since rust foreign type policies prohibits derivation of strict encoding traits on other dependencies downstream. While the new dependencies are optional, it still blows up codebase and requires permanent releases of new version.
On the other hand, client-side-validation requirements to the encoding are quite specific; for instance, we use bitcoin consensus encoding in many places, and such encoding is not consistent nor provides the same approach as encoding for other types.
So basically, it should not be advised to use strict encoding for anything else than client-side-validation and add more types here. Nevertheless, it is really hard to prevent that, especially taking into account existing adoption of the crate.
The solution I propose is the following:

[ ] Fork the strict encoding crate into two different crates with different purposes: strict_encoding and confined_encoding;
[ ] Move strict encoding outside of this repository, to https://github.com/Internet2-wg/ (where it will be used for instance by AluVM);
[ ] Migrate all client-side-validation, BP Core and RGB Core libraries to use exclusively confined_encoding;
[ ] Let any other project use strict_encoding (including descriptor wallet etc);
[ ] Remove use of any custom encodings (like bitcoin consensus etc) from the strict_encoding;
[ ] Remove TLV support from the confined_encoding;
[ ] Move encoding_derive_helpers to https://github.com/rust-amplify/

This will restrict use of new crate confined_encoding to client-side-validation consensus only. Any non-consensus code (including descriptor wallet etc) MUST NOT use confined_encoding. The confined_encoding must be ossified and new types must not be added to it.

I did a PR #100 implementing most of the tasks. It removes ~6000 lines of code, which will simplify maintenance of this consensus-critical repository. It also removes plenty of optional dependencies, thus significantly reducing CI times


[QUESTION] Does this library support JWKS if kty value is not only RSA

Question
Does this library support JWKS if kty value is not only RSA
My IDP provider have kty values RSA and EC. Library fails as it mandates n and e as mandatory parameters which are not there in case kty is EC
Versions
Which version of aws-jwt-verify are you using? Latest
Are you using the library in Node.js or in the Web browser? Node js
If Node.js, which version of Node.js are you using? (Should be at least 14) 14.x
If Web browser, which web browser and which version of it are you using? NA
If using TypeScript, which version of TypeScript are you using? (Should be at least 4) NA

Hi @reachmehere89, thanks for the question.
Currently only RSA is supported (RS256, RS384, RS512) as you've found, however we'd be interested in expanding algorithm support.
Which provider is that? Can you share the JWKS?

This is our company IDP and unfortunately I can't share it here(at least to be on safer side, though I can check if it can be shared). But my suggestion would be to only validate for jwks where kty is RSA only and ignore rest as other algorithms are not supported.

Okay so IIUC you want to verify a RSA-signed JWT, but the public key is includes in a JWKS that includes non-RSA public keys (that do not have n and e).
You're right, currently this lib requires the entire JWKS, all JWKs in it, to have n and e.
https://github.com/awslabs/aws-jwt-verify/blob/6476a42d34a0992356a2c12600ab5cd5aa1b651d/src/jwk.ts#L25-L31
https://github.com/awslabs/aws-jwt-verify/blob/6476a42d34a0992356a2c12600ab5cd5aa1b651d/src/jwk.ts#L108-L114
Agree that it seems fair to skip that check for all JWKs, and instead only perform it for the JWK that's actually being used.
For the time being, if you want, you can work around it, with a custom fetcher:
import { JwtRsaVerifier } from "aws-jwt-verify";
import { SimpleJwksCache, Jwks } from "aws-jwt-verify/jwk";
import { JsonFetcher } from "aws-jwt-verify/https";
import axios from "axios";

class CustomFetcher implements JsonFetcher {
  instance = axios.create();
  public async fetch(uri: string) {
    return this.instance.get<Jwks>(uri).then((response) => {
      const jwks = response.data;
      jwks.keys = jwks.keys.filter((key) => key.n && key.e); // Or: jwks.keys.filter(key => key.kty === "RSA")
      return jwks;
    });
  }
}

const verifier = JwtRsaVerifier.create(
  {
    issuer: "<your-issuer>",
    audience: "<your-audience>",
    jwksUri: "<your-jwks-uri>",
  },
  {
    jwksCache: new SimpleJwksCache({
      fetcher: new CustomFetcher(),
    }),
  }
);

Thanks for the suggestion. Will give it a try and post how it goes

Fix is included in v3.1.0


MQTT error when sending from Docker container

I created a Docker container (see https://gist.github.com/mjohngreene/3106778faf6ba3f4c36bd8bbe0c47367) using Ubuntu 18.04 to run the new Python-only (ie, no C wrapper necessary) SDK with Python 3.7.3.  I get the following error when running the provided sample script to send a message (shown at https://github.com/Azure/azure-iot-sdk-python/tree/master/azure-iot-device#send-a-simple-telemetry-message):
root@bb5bf61b4c90:/# python3 msg.py
Sending message...
MQTTTransportStage: _on_mqtt_connection_failure called: Connection Refused: not authorised.
MQTTTransportStage(ConnectOperation): completing with error Connection Refused: not authorised.
SerializeConnectOpsStage(ConnectOperation): completing with error Connection Refused: not authorised.
EnsureConnectionStage(MQTTPublishOperation): completing with error Connection Refused: not authorised.
IoTHubMQTTConverterStage(SendD2CMessageOperation): completing with error Connection Refused: not authorised.
Unhandled exception in background thread
This may cause the background thread to abort and may result in system instability.
Traceback (most recent call last):
File "/usr/local/lib/python3.7/dist-packages/azure/iot/device/common/pipeline/pipeline_thread.py", line 113, in thread_proc
return func(*args, **kwargs)
File "/usr/local/lib/python3.7/dist-packages/azure/iot/device/iothub/pipeline/iothub_pipeline.py", line 159, in on_complete
sys.exit(1)
SystemExit: 1
MQTTTransportStage: _on_mqtt_disconnect called: The connection was refused.
MQTTTransportStage: disconnection was unexpected
Exception caught in background thread.  Unable to handle.
azure.iot.device.common.errors.ConnectionFailedError: The connection was refused.
When implementing the previous version of the SDK on the device we use (a Conduit from Multitech), the MQTT configuration/functionality was fairly blackbox.  So, we are by no means experts on MQTT.  And it is hardly surprising that this piece of the SDK does not work “straight out of the box” on Docker.
Any ideas as to the source of the error and/or how to resolve it in a Docker container?

Hi @mjohngreene, the fact that it's running inside a container shouldn't matter.  I personally do most of my testing inside Docker containers, some of them based on 18.04 like yours is.
The three most likely causes of an auth failure are:

The connection string that you're using is invalid or outdated.
2, If you're using MQTT to connect to an IoT Edge device, you may need to specify a CA certificate or use a different factory method to create your DeviceClient or ModuleClient object. (I'm being purposely vague here -- if this is the case, we can dig deeper)
The clock inside your container is skewed by more than a few minutes or just downright wrong.

  I had presumed that it should work in a container but I am just moving up the curve on Docker and, therefore, could not be entirely sure.  Thinking it was a character or three off in my connection string that was the actual source of the problem.  I lost track of my containers, though, so I'm not positive about that either.  Regardless, I built a new one and the message got through to the IoT hub like a charm.
Thanks for your help.

@BertKleewein, @mjohngreene, thank you for your contribution to our open-sourced project! Please help us improve by filling out this 2-minute customer satisfaction survey


Documentation correction for apex-setup.md

Small correction under https://github.com/OraOpenSource/apex-frontend-boost/blob/master/docs/apex-setup.md, documentation for "Option 1) Standard"  (where images reference the standard APP_IMAGES substitution string)
Currently, it states as "In Shared Components > Application Items create a new application item with the following attributes:"
This should read as "In Shared Components > Application Processes, create a new application process with the following attributes:"

Nice find, thanks @mallkuma !


Update identities email_verified on email signup

What kind of change does this PR introduce?
This PR fixes a bug where the email_verified field in the identities table is not updated when a user's email is confirmed. This change ensures that the email verification status is correctly reflected in the JWT.
What is the current behavior?
When the user gets an email confirmation link the GET /verify request is called. This goes through the verifyGet method which then calls the signupVerify method. There the AuditLogEntry is created, then the Confirm method on the user is called which updates the confirmation_token and email_confirmed_at, and also clears the OneTimeTokens for the user. However, the email_confirmed field on the identities table does not get updated to true.
#1620
What is the new behavior?
When a GET /verify request is called for a mail signup verification, the signupVerify method now updates the email_verified property to true on the identity_data field on the identities table

I think the same is happening for smsVerify and the respective phone_verified fields, do you want me to add this to this PR?

Feel free to add it, will give a thorough look to the PR when a slot frees up..

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

5 of 15 (33.33%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.02%) to 57.588%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

internal/models/user.go
3
5
60.0%

internal/api/verify.go
2
10
20.0%

Totals

Change from base Build<PHONE_NUMBER>:
-0.02%

Covered Lines:
8663

Relevant Lines:
15043

💛  - Coveralls

Hi,
Face this issue while working with Supabase auth. Any update on this?
Discord

hi @janekwunderlich, thanks for pointing this out and contributing! i've made an update and also added tests in this PR

hi @janekwunderlich, thanks for pointing this out and contributing! i've made an update and also added tests in this PR

Thanks for fixing this. I have closed this PR. I think the same issue might exist with phone verification if you want to take a look at that.


Update pattern API to support visibility change

Notes for Reviewers
This PR fixes #
Signed commits

[ ] Yes, I signed my commits.

Build fails are not because of this PR, I'm moving forward


Misleading "piptool" package en pypy

Another package on pypi is called "piptool" (https://pypi.org/project/piptool), this seems pretty misleading (you can guess how I stumble into it ^^)
The package doesn't do anything useful (it just contains a click cli piptool command that prints [START]\n[END]) and is not harmful.
On top of that is has been created 1year ago and hasn't been touched since.
So I guess it's not a malicious typo-squatting but just someone that wanted to try&learn pypi.
Given the package list an email address, maybe you could contact the author to ask him to remove his package ?

It's probably worth documenting this via a PEP 541 at https://github.com/pypa/pypi-support/issues/new?assignees=&labels=PEP+541&template=pep541-request.yml&title=PEP+541+Request%3A+PROJECT_NAME too.

FYI that package just had a new release, 4 days ago.

Woohoo, the package is removed! Any jazzband member want to park on that spot? I'm neutral on that, but it should be decided before closing this issue.

@AndydeCleyre we could also just ask PyPI admins to add that name to a list of the forbidden names.


Need a way to (de)activate component watchers as needed

I'm working on a virtual list component to render a huge list (1000+ rows, can't paginate) with Vue 2.0.
I've got the basics done, but in the latest iteration of my prototype I'm replacing the components out of view with placeholder divs (with just a height set). When one scrolls up and down, the placeholders are replaced with the actual component vnodes, created from scratch.
Creating and removing component vnodes (actually, replacing when with empty placeholder divs) will initialize and teardown the watchers, making the scrolling a bit janky. I've been reading the source code for hours to see if it's possible to cache the component vnodes somehow, but I'm on the bleeding edge here and testing the limits of the new vdom implementation.
Anyway, I'm implementing the virtual list to limit the reactive changes only to the items visible on screen, to have great performance even with thousands of items, and one possible way to do this would be to deactivate the watcher for items outside the viewport, and reactivate them when they are visible again. There doesn't seem to be a way of doing so. vm.$destroy tears down the handlers, but I don't need to destroy the element completely and removing it from the parent, just deactivating the watchers so reactive changes won't affect them.
Thoughts?

I have found an unorthodox way to pull this off:  when I render an item component, hook the init function and manually disable the watcher. I then store the item vnode into a cache:
var item = h(itemCtor, {
    hook: {
        init: function(vnode) {
            vnode.child._watcher.active = false
        }
    }
});
this.itemCache[id] = item;

Then, when I later know whether or not the item is visible, I just get the vnode from the cache and enable/disable the watcher.
It's just a crazy hack, but boy, it works and it's snappy. Also, on further "render" calls, if the item list hasn't changed, I just reuse the vnodes in the itemCache, even though reusing vnodes is bad (or so I've read in the WIP documentation).
Still, we might want an officially sanctioned way to do something like this.

So you are trying to implement a virtual scroll list container, but I'm not sure if you are going in the right direction - if I were doing it I'd just let the render function return the items that should be rendered in the viewport.
I'm interested too see something like that, but I don't think the "deactivate watcher" approach is something I'd consider. Something like react-virtualized may be a useful reference.


perf: reduce allocation for ModuleRule matching

Summary
Introduced tagged_union to represent types that do not work with napi::Either.
Reduced allocation for ModuleRule matching. Take Arco Pro before as an example:

Checklist

[ ] Tests updated (or not required).
[ ] Documentation updated (or not required).

Let's see who reads the review notification first ;-)


OAK-9893: Fix queryEngineSettings check.

This is a proposal to fix what I think is a mistake in this condition check. I added a comment in the original PR [0] but probably we could discuss here in case is needed.
If I'm wrong and this code is correct we can just close this PR.
I'm adding the same reviewers of the PR [1].
[0] https://github.com/apache/jackrabbit-oak/pull/662/files#r986917815
[1] https://github.com/apache/jackrabbit-oak/pull/662

I have created OAK-9964

Renaming the variable seems a cleaner way to achieve the same result, yes.
We have environments where the queryEngineSettings is not null but still the FT never gets initialized (so, enabling or disabling it doesn't have any effect because it's like never existed). Analyzing the code it seems the only way this could happen is because the queryEngineSettings returned from the Whiteboard is null, even when the config is set.
Checking if the field is set (instead of the return from Whiteboard) seems the correct way to do it.

I have added the following lines to the original code:
LOG.info("Whiteboard queryEngineSettings is: " + queryEngineSettings);
LOG.info("Field this.queryEngineSettings is: " + this.queryEngineSettings);

And the output I got is this one:

11.10.2022 15:36:57.459 INFO [Apache Sling Repository Startup Thread #1] org.apache.jackrabbit.oak.Oak Whiteboard queryEngineSettings is: null
11.10.2022 15:36:57.459 INFO [Apache Sling Repository Startup Thread #1] org.apache.jackrabbit.oak.Oak Field this.queryEngineSettings is: QueryEngineSettings{limitInMemory=500000, limitReads=100000, failTraversal=false, fullTextComparisonWithoutIndex=false, sql2Optimisation=true, fastQuerySize=false, classNamesIgnoredInCallTrace=[]}

So it seems the queryEngineSettings returned by Whiteboard object is null, so the feature doesn't get registered.

After testing locally I have confirmed with @thomasmueller that the fix works and the feature gets registered properly.


how can i change this

Describe your problem here.
i wanna the animation plays every 2 beats, because if it plays every beat it goes so fast.
clarification:( the animation works, i just wanna it plays every 2 beats )

Are you modding a build from source or with Lua?
Lua
What is your build target?
Windows
Did you edit anything in this build? If so, mention or summarize your changes.
No response

function onBeatHit()
	-- triggered 4 times per section
	if curBeat % 2 == 0 then
		luaSpritePlayAnimation('yuri', 'Idle', true);
	end
end


Script only able to fetch audio

Describe the bug
hi there, tried your script here: https://gem.cbc.ca/a-gentleman-in-moscow/s01?autoplay=1
all i got was a .m4a file, even said download video (v).
Any idea to get the vidoe too.
Run your script with the link provided from "The stream Detector", what was:
yt-dlp --no-part --restrict-filenames -N 4 --user-agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:133.0) Gecko/20100101 Firefox/133.0" --cookies-from-browser firefox --referer "https://gem.cbc.ca/" "https://cbcrcott-aws-gem.akamaized.net/out/v1/e3f3114ebf00481499657100a7b29917/23545b62904e4c5a819071f567d332d1/eaf800a417c84a4890995597af70479b/index-multi-drm.mpd?pckgrp=c4d061419fe4862c394a5b4acf272f15&ewid=83316&manifestType=desktop&EIA608ClosedCaptions=true&lang=en"
Any help?

Where did you run that yt-dlp --no-part --restrict-filenames -N 4 --user-agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:133.0) Gecko/20100101 Firefox/133.0" --cookies-from-browser firefox --referer "https://gem.cbc.ca/" "https://cbcrcott-aws-gem.akamaized.net/out/v1/e3f3114ebf00481499657100a7b29917/23545b62904e4c5a819071f567d332d1/eaf800a417c84a4890995597af70479b/index-multi-drm.mpd?pckgrp=c4d061419fe4862c394a5b4acf272f15&ewid=83316&manifestType=desktop&EIA608ClosedCaptions=true&lang=en" command? There isn't any place where you can enter a full custom download command in my script.
I attempted to download that URL with just YT-DLP without my script, and I tried to force it to download it as a video, but it didn't work. Are you sure that that isn't just an audio stream?
You should probably create an issue on YT-DLP's Issues page to get better support.

hi, thx for your response.

yes, it is a vid, Can stream and watch online on CBC ([https://gem.cbc.ca/a-gentleman-in-moscow/s01])
I copied part of the link "The Stream Detector" provided to answer URL question of your script: "_https://cbcrcott-aws-gem.akamaized.net/out/v1/e3f3114ebf00481499657100a7b29917/23545b62904e4c5a819071f567d332d1/eaf800a417c84a4890995597af70479b/index-multi-drm.mpd?pckgrp=c4d061419fe4862c394a5b4acf272f15&ewid=83316&manifestType=desktop&EIA608ClosedCaptions=true&lang=en_"

So actually didn't use yt-dlp, just used "the Stream Detector" to create a stream link for yt-dlp. So isn't a yt-dlp issue.
And after copying link as URL in your script, script is running and counting bits and process %, but at the end there is just the .m4a file downloaded.

I am aware that the stream that you as the end-user view on the website is video with audio. But how do you know that the long URL isn't just an audio stream? Many streaming sites choose to separate the audio and video stream for some reason. This is likely the root cause of the issue.

What you entered in the URL question of my script is a full download command. Remove the yt-dlp part of the command, and place the --no-part --restrict-filenames -N 4 --user-agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:133.0) Gecko/20100101 Firefox/133.0" --cookies-from-browser firefox --referer "https://gem.cbc.ca/" part in the extra args section of VARS.txt.

Closing due to inactivity.


[Indexer] determine and implement indexer db

PostgreSQL vs Sqlite

Sqlite is embedded and does not require additional installation of Server, which will reduce the installation cost of developers. However, Sqlite does not support data partitioning, and there is a scalability limit for large-capacity data.
PostgreSQL has relatively complete functions. Both Sui and Aptos Indexer choose PostgreSQL, which requires additional installation, which can be regarded as one of the later expansion options.

Among them, GraphQL supports both PostgreSQL and Sqlite as endpoints.
It was decided to choose Sqlite as the Indexer DB in the early stage, and later upgrade to PostgreSQL depending on the Indexer needs.
Choose diesel as the ORM operation database.

Using the embedded SQL database doesn't seem to ease the issue of cross-database transaction processing.
Rooch Server includes a "complex" indexer, which I actually wonder if this is a move in the right direction?
If there is no "good" indexer, as an application developer, the solution I would use is to emit domain events at the application level (even if there is a "good" indexer, there is nothing wrong with adding the code for emitting domain events in the contracts first), then the off-chain service subscribes/pulls the events and updates the local database with the on-chain state.
Of course, if we want to make a generic indexer, then we can't rely on "domain events".
But we can emit some underlying events at a slightly lower level. (Note that these events are different from the events emitted in the Move contract.)
These events may include insert, update, delete operation information on the K/V database; and some additional Move contract-level metadata (e.g., the current insert operation is adding an Object<Article> or something like that).
Rooch Server can then expose such an event subscription/pull interface, turning the indexer into a standalone development project. Let anyone implement a relatively generic indexer in any language.
The ops issue caused by one more service can be mitigated by Docker and other wrapper solutions.
@jolestar

Discussion: https://discord.com/channels/1078938449974935592/1126800552546811936

tracked with #384


Some Problems in reproduce the code

Your work is very inspiring, but I'm having some problems reproducing it, such as the weights of the VIT model in Flamingo.py “ViT-B-4”, since there doesn't seem to be a weight parameter for this version at the moment!

 Your work is very inspiring, but I'm having some problems reproducing it, such as the weights of the VIT model in Flamingo.py “ViT-B-4”, since there doesn't seem to be a weight parameter for this version at the moment!

Yes. You have to modify this part in the open-flamingo library by adding a few lines of code. Please refer to the source code of "create_model_and_transforms" in the open-flamingo library.

 Your work is very inspiring, but I'm having some problems reproducing it, such as the weights of the VIT model in Flamingo.py “ViT-B-4”, since there doesn't seem to be a weight parameter for this version at the moment!

Yes. You have to modify this part in the open-flamingo library by adding a few lines of code. Please refer to the source code of "create_model_and_transforms" in the open-flamingo library.

Thank you for your reply, what you mean is that I need to find the relevant create_model_and_transforms code in the open-flamingo library and make some changes to it so that “ViT-B-4” can use MAE PRETRAIN WEIGHT?  because your readme.md configuration is to modify the MAE PRETRAIN WEIGHT PATH section.

 Your work is very inspiring, but I'm having some problems reproducing it, such as the weights of the VIT model in Flamingo.py “ViT-B-4”, since there doesn't seem to be a weight parameter for this version at the moment!

Yes. You have to modify this part in the open-flamingo library by adding a few lines of code. Please refer to the source code of "create_model_and_transforms" in the open-flamingo library.

Thank you for your reply, what you mean is that I need to find the relevant create_model_and_transforms code in the open-flamingo library and make some changes to it so that “ViT-B-4” can use MAE PRETRAIN WEIGHT? because your readme.md configuration is to modify the MAE PRETRAIN WEIGHT PATH section.

Yes. Simply adding a configuration (layer_num, width, num_head, etc) that supports the MAE weight.

Thank you very much for every reply, I added the relevant configuration in Flamingo's library file create_model_and_transforms ---> open_clip.create_model_and_transforms, e.g. {
“embed_dim": 768,
“vision_cfg": {
“image_size": [32, 128], {
“layers": 12,
“width": 768,
“patch_size": 4
},
“text_cfg": {
“context_length": 77,
“vocab_size": 49408, ‘width’: 768, ‘patch_size’: 4 }, ‘text_cfg’: { ‘context_length’: 77, ‘vocab_size’: 49408,
“width": 768,
“heads": 12,
“layers": 12
}
}
But after many attempts, every time, before I can load the configuration for model creation, I already get a RuntimeError saying that this ViT-B-4 model configuration could not be found, and I really can't add it!
Could you please provide the details of the modification in your free time?

Thank you very much for every reply, I added the relevant configuration in Flamingo's library file create_model_and_transforms ---> open_clip.create_model_and_transforms, e.g. { “embed_dim": 768, “vision_cfg": { “image_size": [32, 128], { “layers": 12, “width": 768, “patch_size": 4 }, “text_cfg": { “context_length": 77, “vocab_size": 49408, ‘width’: 768, ‘patch_size’: 4 }, ‘text_cfg’: { ‘context_length’: 77, ‘vocab_size’: 49408, “width": 768, “heads": 12, “layers": 12 }
} But after many attempts, every time, before I can load the configuration for model creation, I already get a RuntimeError saying that this ViT-B-4 model configuration could not be found, and I really can't add it!
Could you please provide the details of the modification in your free time?

You should add the configuration in open_clip/src/open_clip/model_configs.  (https://github.com/mlfoundations/open_clip/tree/main/src/open_clip/model_configs).
Also refer to this file (https://github.com/mlfoundations/open_clip/blob/main/src/open_clip/factory.py).
I have leaved the company and I could not provide the original file that I modified. But feel free to ask if you meet further problems.

Hi author, I've been bothering you before, thank you very much for your previous reply to help me run the training part of the code.
However, I see that in the evaluation section, since I need to design the “JSON FILE FOR CHARACTER-WISE POSITION INFORMATION” and the " In-Context Pool", you mentioned in the readme that I can put the ” JSON FILE FOR CHARACTER-WISE POSITION INFORMATION” to None, but ”In-Context Pool" (i.e., a json file) by randomly sampling data from any target training set”, does it mean we can sample data as in-context pool by ourselves according to the JSON format you gave? Can this be used as an evaluation setup?

Hi author, I've been bothering you before, thank you very much for your previous reply to help me run the training part of the code. However, I see that in the evaluation section, since I need to design the “JSON FILE FOR CHARACTER-WISE POSITION INFORMATION” and the " In-Context Pool", you mentioned in the readme that I can put the ” JSON FILE FOR CHARACTER-WISE POSITION INFORMATION” to None, but ”In-Context Pool" (i.e., a json file) by randomly sampling data from any target training set”, does it mean we can sample data as in-context pool by ourselves according to the JSON format you gave? Can this be used as an evaluation setup?

Yes. Please refer to our evaluation settings in Table 1 & 2. For example, if testing on WordArt, you can simply sample 100 examples from the training set of WordArt. You can also sample out-of-domain data, but the performance may be lower (refer to Table 5 in the supplementary).


api question

I compile 5.01 in win10, basic test is ok. But test Sintun's tableExtractionDemo.cpp,
I get
no member named 'GetNumberOfTables' in 'tesseract::TessBaseAPI'
no member named 'GetTableBoundingBox' in 'tesseract::TessBaseAPI'
no member named 'GetTableRows' in 'tesseract::TessBaseAPI'
no member named 'GetTableCols' in 'tesseract::TessBaseAPI'
finally, I check baseapi.h (5.01) with Sintun's baseapi.h, I found those funs have been omit.
Please advise how to solve this problem?
thanks

Please don't ask questions here. It's not the right place. We already told you to use our forum for asking qustions. Please respect our policy.


Test & document running on K3s

We should test Headlamp in-cluster on K3s and document how it goes, like we have for Minikube.
Tasks:

[x] Deploy Headlamp on K3s
[x] Check what works / what can be improved
[x] Add documentation

I have tested Headlamp on K3s and it works fine with the in-cluster instructions. I have updated the docs to include exposing Headlamp without an ingress, as the ingress sample we have using TLS doesn't work out of the box in K3s without more work.
Thus, clusing this issue.


Spyder3 doesn't start

Description of your problem
I have a problem with Spyder3, I could worked with it perfectly two days ago. I have made in the command line" spyder3 --reset and the problem continues. When I start Spyder3 in the command line, y get this:
File "/usr/lib/python3.6/site-packages/babel/dates.py", line 23, in
import pytz as _pytz
ModuleNotFoundError: No module named 'pytz'
I have installed this library, and I have reinstalled this library and spyder3 many times without success. If I open Python3 and I make "import pytz" I don't get any fail.
What steps will reproduce the problem?

What is the expected output? What do you see instead?
Please provide any additional information below
Versions and main components

Spyder Version: 3.2.6
Python Version: 3.6
Qt Version: 5.9.1
PyQt Version: 5.10
Operating system: Linux (Fedora 27)

Dependencies
Please go to the menu entry Help > Optional Dependencies (or
Help > Dependencies), press the button Copy to clipboard
and paste the contents below:
I can't start Spyder3, but this are my libraries from Python3:
alabaster (0.7.10)
altgraph (0.15)
asn1crypto (0.23.0)
astroid (1.6.1)
Babel (2.5.3)
bleach (2.1.2)
blivet (2.1.11)
blivet-gui (2.1.7)
Bottleneck (1.2.1)
cffi (1.10.0)
chardet (3.0.4)
cloudpickle (0.5.2)
coverage (4.4.2)
cryptography (2.0.2)
cupshelpers (1.0)
cx-Freeze (5.1.1)
cycler (0.10.0)
decorator (4.0.11)
docutils (0.14)
entrypoints (0.2.3)
et-xmlfile (1.0.1)
fros (1.1)
funcsigs (1.0.2)
future (0.16.0)
gpg (1.9.0)
html5lib (1.0.1)
idna (2.5)
imagesize (0.7.1)
iniparse (0.4)
initial-setup (0.3.51)
IPy (0.81)
ipykernel (4.8.0)
ipython (6.2.1)
ipython-genutils (0.2.0)
isc (2.0)
isort (4.2.15)
jdcal (1.3)
jedi (0.11.1)
Jinja2 (2.10)
jsonschema (2.6.0)
jupyter-client (5.2.2)
jupyter-core (4.4.0)
langtable (0.0.38)
lazy-object-proxy (1.3.1)
macholib (1.9)
MarkupSafe (1.0)
matplotlib (2.1.2)
mccabe (0.6.1)
meld (3.18.0)
mistune (0.8.3)
mock (2.0.0)
nbconvert (5.3.1)
nbformat (4.4.0)
ntplib (0.3.3)
numexpr (2.6.1)
numpy (1.14.0)
numpydoc (0.7.0)
olefile (0.44)
openpyxl (2.4.9)
ordered-set (2.0.0)
pandas (0.20.1)
pandas-datareader (0.3.0.post0)
pandocfilters (1.4.2)
parso (0.1.1)
path.py (5.2)
pathlib2 (2.3.0)
pbr (3.1.1)
pefile (2017.11.5)
pep8 (1.6.2)
pexpect (4.3.1)
pickleshare (0.7.4)
pid (2.1.1)
Pillow (4.3.0)
pip (9.0.1)
ply (3.9)
prompt-toolkit (1.0.15)
psutil (5.4.3)
ptyprocess (0.5.2)
pwquality (1.4.0)
py (1.4.34)
pycairo (1.15.3)
pycodestyle (2.3.1)
pycparser (2.14)
pycups (1.9.72)
pycurl (7.43.0)
pydbus (0.6.0)
pyflakes (1.6.0)
Pygments (2.2.0)
pygobject (3.26.1)
PyInstaller (3.3.1)
PyIscsi (1.0)
pykickstart (2.41)
pylint (1.8.2)
PyOpenGL (3.1.0)
pyOpenSSL (17.2.0)
pyparsing (2.2.0)
pyparted (3.11.0)
PyQt5 (5.10)
PySocks (1.6.7)
pytest (3.2.3)
pytest-runner (2.9)
python-augeas (0.5.0)
python-dateutil (2.6.1)
python-dmidecode (3.12.2)
python-meh (0.43)
pytz (2017.3)
pyudev (0.21.0)
PyYAML (3.12)
pyzmq (16.0.4)
Qt.py (1.0.0)
QtAwesome (0.4.4)
qtconsole (4.3.1)
QtPy (1.3.1)
requests (2.18.4)
requests-file (1.4)
requests-ftp (0.3.1)
rope (0.10.7)
rpm (4.14.0)
scandir (1.3)
scipy (1.0.0)
sepolicy (1.1)
setools (4.1.1)
setuptools (38.4.0)
simplegeneric (0.8.1)
simpleline (0.6)
sip (4.19.7)
six (1.11.0)
slip (0.6.4)
slip.dbus (0.6.4)
snowballstemmer (1.2.1)
sos (3.5)
Sphinx (1.6.6)
sphinx-rtd-theme (0.2.4)
sphinxcontrib-websupport (1.0.1)
spyder (3.2.6)
SQLAlchemy (1.1.15)
SSSDConfig (1.16.0)
systemd-python (234)
tables (3.3.0)
testpath (0.3.1)
tornado (4.5.3)
traitlets (4.3.2)
urllib3 (1.22)
wcwidth (0.1.7)
webencodings (0.5.1)
Whoosh (2.7.4)
wrapt (1.10.10)
xlrd (1.0.0)
xlwt (1.1.2)

Please read our
https://github.com/spyder-ide/spyder/wiki/Troubleshooting-Guide-and-FAQ
If you are unable to fix the problem after that, please install Anaconda instead. Unfortunately, we don't have the resources nor the time to help people with custom installations, so it's up to you to figure this one out.
This is because custom installations are for experts or very knowledgeable people who really know what they are doing and are able to easily solve problems like this.


tests: Add some alias tests.

Add tests for aliases referencing other aliases.
Issue #1184

I just rebased and reconciled the alias test names with the master branch.


keepdims keyword for average

Passes the keepdims keyword through dask.array.average and dask.array.ma.average, similar to the recent change in numpy:
https://github.com/numpy/numpy/pull/21485
https://github.com/numpy/numpy/pull/21868

[N/A] Closes #xxxx
[X] Tests added / passed
[X] Passes pre-commit run --all-files

Can one of the admins verify this patch?
Admins can comment ok to test to allow this one PR to run or add to allowlist to allow all future PRs from the same author to run.

CI failures appear to be due to a new scipy deprecation, and not related to this change.

CI failures appear to be due to a new scipy deprecation, and not related to this change.

@rcomer Thanks for this PR! I've merged main to get #9336 in to fix CI :)

Thanks @pavithraes 😊

ok to test

Thanks @jsignell, I agree this looks better.  I don't think my latest change could have caused the new test failure.

I don't think my latest change could have caused the new test failure.

Yeah I agree that looks unrelated.

Thanks @jsignell for the ping here.
CuPy doesn't support masked arrays today, therefore that won't affect us. On the other hand, CuPy supports average for regular ndarrays, but it isn't covered in Dask tests, possibly because it hasn't come up in any practical Dask+CuPy applications so far. Therefore I would say we can merge this without any CuPy worries for the time being.

Thanks @rcomerfor this is in!

Thanks All!


option

If this is a bug, please try reproducing using https://flow.org/try/.

Accidentally opened this issue...


STORM-2497: Let Supervisor enforce memory and add in support for shared memory regions

This is based off of #2112 so that the formatting is simpler.

cool feature

@kishorvpatil Could you look again.  I had to rebase becase of a minor conflict in the DefaultResourceAwareStrategy.  It ended up resulting in only some comment changes to this code, but I wanted to be sure you took a look.

I think I addressed all of the review comments

@srdo I think I got the rest of them
@kishorvpatil could you take a look at let me know if the rework is good for you?

@srdo @kishorvpatil @jerrypeng
I just rebased this on the latest master and added in a few caches in some of the internal data structures to help with performance issues we had seen in production.  Please take a look again, I really would like to get this in sooner rather then later as we have some other work we want to do on the RAS scheduler to add in generic resource support (we have a goal to officially support GPUs)

+1, though I'll admit to just skimming it this time. It would be easier to tell what changed if the non-merge-conflict-resolution changes were in separate commits.
It might make sense to drop a line to @roshannaik before merging, I think he asked on the mailing list to be made aware of changes to storm-client due to https://github.com/apache/storm/pull/2241


"Search in Files

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version:
OS Version:

Steps to Reproduce:

/needsMoreInfo

Thanks for creating this issue! We figured it's missing some basic information or in some other way doesn't follow our issue reporting guidelines. Please take the time to review these and update the issue.
Happy Coding!

Sorry, I might have fat-fingered before actually posting https://github.com/microsoft/vscode/issues/183480


Orca lrmify

Neu: Mapping von "Institution" (LRMI <=> RDF)

As far as i can review the PR looks fine :-)


[match, sigh] Added provisioning profile name exposing for sigh and match (#5910)

Fixes #5910

Perfect, thank you for your contribution @mathiasAichinger. I added some comments before it's ready to be merged. We do need to make the documentation more clear 👍 Let me know if you need any help

@KrauseFx Do you have any plan for merging and releasing of this improvement? :) I really want to use match + gym with xcode 8 but without profile name it isn't easy...

looking forward to a merge! thx @mathiasAichinger

+1

@KrauseFx is there any reason why match prefers creating new provisioning file (with time stamp at the end) rather than editing existing one? It's not possible to edit provision file and check new devices? Then we will be able to select PROVISIONING_PROFILE_SPECIFIER once and it will work also on CI server.

same, this is a dealbreaker for us right now since it seems xcodeselect errors out with error 65 unless this value is checked manually.  Defeats the idea of command line only :/

Thanks for your contribution @mathiasAichinger, we implemented this with https://github.com/fastlane/fastlane/pull/6189, and also improved the docs around this https://github.com/fastlane/docs/pull/112 👍

Hey everyone, so @mfurtak and I worked on this today, and added support for exposing those values with https://github.com/fastlane/fastlane/pull/6189.
However I'm surprised on why you can't build with Xcode 8. Did you follow the code signing guide for Xcode 8? https://docs.fastlane.tools/codesigning/XcodeProject/

@KrauseFx For me the problem is that match/sigh change provisioning profile name (for example when we add new devices), then settings from Xcode to "match_com.bundle.id_appstore" are wrong after next CI run. I'm trying to set PROVISIONING_PROFILE_SPECIFIER from my Fastfile, but without env variable it wasn't easy.
BTW, in previous code signing guide PROVISIONING_PROFILE_SPECIFIER had form TEAM_ID/NAME, now team id is set to DEVELOPMENT_TEAM. Are both of them correct?

based on the git branch we modify the bundle-identifiert - and run sigh + match - this is the reason we need the env
@mfurtak, @KrauseFx  thx for the work on fastlane

Awesome, so does our PR make it work for you two?

Yes. Should be fine. Thanks! 👍


Idea: txAdmin databas access -> delete permanetly users

Idea
Is if users get  permanently  banned over txadmin, also all entries in the database get deleted like items owned cars etc.
How it coud get achieved?
You could achieve it via the steam identified, which simply searches for it in the whole database and then delete the right row

get users rockstarlicence and steamhexid
seach in all tables for thies identifer

not in the scope for txAdmin
You can write a resource to listen for ban events (not available yet) and wipe the user from the db yourself.

not in the scope for txAdmin
You can write a resource to listen for ban events (not available yet) and wipe the user from the db yourself.


[WIP | SE] [Parse][Sema] Optional iteration

SE - https://github.com/apple/swift-evolution/pull/878
Beta version.
TODO

Add more diagnostics tests, add functionality tests
Add more comments, get rid of debugging prints.

@swift-ci build toolchain

Linux Toolchain (Ubuntu 16.04)
Download Toolchain
Git Sha - 60569d71db658b5a3f694af7daa46f388be59f8f
Install command
tar zxf  swift-PR-19207-53-ubuntu16.04.tar.gz
More info

macOS Toolchain
Download Toolchain
Git Sha - 60569d71db658b5a3f694af7daa46f388be59f8f
Install command
tar -zxf  swift-PR-19207-67-osx.tar.gz --directory ~/

@rudkx What's the best place for tests that check the functioning of statements, i.e.
let array: [Int]? = [1, 2, 3]
var counter = 0

for? _ in array { counter += 1 }
expectEqual(counter, 3)

@AnthonyLatsis People have been dropping small executable tests into test/Interpreter but I don't think that's ideal. The Development | Compiler forum might be a good place to discuss whether there is a better organization for executable tests.

Does that mean that we currently mainly rely on the standard library tests to verify that language constructs function correctly?


Support dynamic type

Library should support dynamic type for message text and cell labels. It should also support runtime switching. For example: [UIFont preferredFontForTextStyle: ...].
TODO:

[x] implement dynamic type for message text bubbles (fixed in 71c21c06bf5325386653d2c3f4da31f2c537facd)
[x] implement dynamic type for cell labels (cellTopLabel, messageBubbleTopLabel, cellBottomLabel)
[ ] implement dynamic type for inputToolbar
[x] implement runtime switching

NOTES:

investigate using systemLayoutSizeFittingSize:, intrinsicContentSize, etc. either instead of or in support of the string calculations that occur in messageBubbleSizeForItemAtIndexPath:
Supporting dynamic type for the cell labels may require that we calculate the height of these labels automatically, instead of via delegate methods (actually, this is probably better for the library as a whole).
As in (2), supporting dynamic type for the inputToolbar will require updating the default toolbar height constraint based on the font size.

Hi,
I have a pull request that brings dynamic type support to the input toolbar.
https://github.com/jessesquires/JSQMessagesViewController/pull/1169
Cheers,
-Eric

Hello everyone!
I'm sorry to inform the community that I'm officially deprecating this project. 😢 Please read my blog post for details:
http://www.jessesquires.com/blog/officially-deprecating-jsqmessagesviewcontroller/
Thus, I'm closing all issues and pull requests and making the necessary updates to formally deprecate the library. I'm sorry if this is unexpected or disappointing. Please know that this was an extremely difficult decision to make. I'd like to thank everyone here for contributing and making this project so great. It was a fun 4 years. 😊
Thanks for understanding,
— jsq


Fixed incorrect color mapping when importing RGB video

Pull request for matter discussed in here. Thanks!

Thanks for helping fix this!


PDF-ify http://localhost:9000/reports/overview

http://stackoverflow.com/questions/23359083/how-to-convert-webpage-into-pdf-by-using-python/23761093#23761093

This thing has been nothing but trouble. Stopgapping the issue with a prompt to use the print dialog to save to PDF in all browsers except IE. Closing as wontfix.


Tiny fix (authentication-flows-app-scenarios.md)

@a-zaf : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off


RFM - PHPStorm

https://chocolatey.org/packages/phpstorm/2016.2.2

I can take this

Isn't this a duplicate of #104 ? Looks like a pre-release package was released but still no 2016.3

Good point.


Create dataset from query shows duplication modal

When creating a dataset from query, the modal of dataset duplication appears:

I think that before we were using a more specific text in this case. Is this new behaviour expected?
@viddo @saleiva

Good catch. It should be "Creating dataset from your query"


Remove manual signing endpoints

Trello: https://trello.com/c/mtsSX6a5/719-2-delete-unused-non-e-signature-framework-code
All frameworks from DOS 5 and G12 onwards use e-signature.
The manual signature flow was used by all frameworks up to DOS 4 and G11. All those frameworks are now closed. So this flow will never be used again. So we can delete all endpoints in that flow to reduce the amount of code we need to support.
Suppliers who want to see their countersigned agreements for a closed framework will need to raise a support ticket. But this is already what they need to do - this PR doesn't change that. So that's fine.

Good point - I didn't think so, but hadn't checked.
I've just taken a look and can't see anything related to manual signing in either.

Good point - I didn't think so, but hadn't checked.
I've just taken a look and can't see anything related to manual signing in either.


[Request] Add logo to credential request

Description
When a user want to add a credential it is nice to be able to see an icon for the credential.
Motivation
For the impierce-demo when an user add a credential it will show some default logo, this make it feel a bit incomplete.
Requirements

Add icon field in the credential request (/v1/credentials) or through some other means
Display the icon in the credentials overview in unime

Open Questions
No response
Are you planning to contribute this in a PR?
Yes

 [Request] Add logo to credential request


ASCII Encoding

An error occurs when trying to preview or save an md file in DILLINGER with non-ASCII characters
TypeError [ERR_INVALID_CHAR]: Invalid character in header content ["Content-Disposition"]
    at ServerResponse.setHeader (_http_outgoing.js:529:3)
    at ServerResponse.header (/home/ubuntu/dillinger/node_modules/express/lib/response.js:771:10)
    at fetchMd (/home/ubuntu/dillinger/plugins/core/server.js:43:9)
    at Layer.handle [as handle_request] (/home/ubuntu/dillinger/node_modules/express/lib/router/layer.js:95:5)
    at next (/home/ubuntu/dillinger/node_modules/express/lib/router/route.js:137:13)
    at Route.dispatch (/home/ubuntu/dillinger/node_modules/express/lib/router/route.js:112:3)
    at Layer.handle [as handle_request] (/home/ubuntu/dillinger/node_modules/express/lib/router/layer.js:95:5)
    at /home/ubuntu/dillinger/node_modules/express/lib/router/index.js:281:22
    at Function.process_params (/home/ubuntu/dillinger/node_modules/express/lib/router/index.js:335:12)
    at next (/home/ubuntu/dillinger/node_modules/express/lib/router/index.js:275:10)

Hi! This is the repository for the Markdown Guide website, not dillinger.io. You could post this issue in https://github.com/joemccann/dillinger/issues.


How can we add the reference in the response and why getting multiple instruction response in the inference

Hi ,
I am trying to fine-tune the LLama 2 with the custom dataset, which is in a cleaned alpaca dataset format.
I need to add references with each ### response, which means I need to add a book name or URL to justify the answer.
I have created a custom dataset and with each  ### response, I have added ### references: {bookname}. After training I am facing two issues

Getting multiple ### instructions and ### responses.  Getting answer to my instruction, But in addition it provide lot  set of instructions and its responses

references link or book names are not proper. Its cut down it.

I am little struggling here. Any support is highly appreciated.

#526 Same problem here, I found this discussion about the issues with Decapoda's bos & eos tokens, which could be the reason. However, the repetition problem does disappear when you increase the data size.


feat: show help menu on unknown command

show help menu on unknown command
Description
remove fatal crash and show help menu on unknown command

[ ] This change requires a documentation update
[ ] I have made corresponding changes to the documentation

Related Issue(s)
This PR addresses issue #616
/claim #616
Screenshots

@tarunrajput here also you have not add closes #616 in beside of reference issue. just a suggestion as a friend on open-source community

This still fatal errors on subcommand argument typos (screenshot) - I believe it has to do with the number of args you send into the Find function

could you pls check now?


fix: fixing asymmetric diamond dependency problem

This is a big refactoring of the algorithm so that the asymmetric diamond dependency problem is fixed:
const a = writable(0);
const b = derived(a, (a) => `b${a}`);
const c = derived([a, b], ([a, b]) => `${a}${b}`);
const values = [];
const unsubscribe = c.subscribe((value) => values.push(value));
a.set(1);
console.log(values); // displays ["0b0","1b0","1b1"], should display ["0b0","1b1"]

For info, the asymmetric diamond dependency bug is also present in svelte stores:
https://svelte.dev/repl/445983f3fdfe4db9ab860d88642f1989?version=3.48.0
A possible workaround (both in ngx-tansu and in svelte stores) is to transform it into the symmetric diamond dependency problem:
const a = writable(0);
const abis = derived(a, (a) => a); // add a useless level of derived store to work around the issue
const b = derived(a, (a) => `b${a}`);
const c = derived([abis, b], ([a, b]) => `${a}${b}`);
const values = [];
const unsubscribe = c.subscribe((value) => values.push(value));
a.set(1);
console.log(values); // correctly displays ["0b0","1b1"]

But it is better to have a proper fix. That's why I am opening this PR!
This PR makes invalidate calls recursive so that the whole tree of dependent stores is prevented from updating while values are changed. As a consequence, there is a need of the reverse revalidate operation (equivalent to next with the same value, but avoiding re-computations) in case the value does not change.
I have not measured the impact on performance in case the tree of dependencies is big. The invalidate listener functions should be kept as small and quick as possible (just switching a boolean and propagating the info).
This PR adds several tests for different cases in addition to the asymmetric diamond dependency case.

@pkozlowski-opensource Feel free to have a look at this PR and to give some feedback if you have time.

@divdavem oh, cool to see that you are digging into the batched and glitch-free propagation algorithm! I don't think I will have time to do any meaningful review so I don't want to block progress here.

@fbasso Thank you for your review!

@divdavem oh, cool to see that you are digging into the batched and glitch-free propagation algorithm! I don't think I will have time to do any meaningful review so I don't want to block progress here.

@pkozlowski-opensource Thank you for your comment! It is great to hear from you! I understand you are very busy!
By the way, did you receive my e-mail about npm rights to publish a new version of ngx-tansu?

@maxokorokov Thank you for your review!
I don't know either what names would be the best. I will integrate this PR as it is, then we can rename the functions in a separate PR.


Revert "Removed unused math.h"

This reverts commit 21bc33aae7759a730a6ec2b1de0523258e45a5cb.
#include "libmorton/include/morton.h"

int main() {
	return 0;
}

compiled with
clang++ test.cpp -I.

produces these errors:
clang++ test.cpp -I.
In file included from test.cpp:1:
In file included from ./libmorton/include/morton.h:9:
./libmorton/include/morton2D.h:120:42: error: use of undeclared identifier 'floor'
                unsigned int checkbits = (unsigned int)floor(sizeof(morton) * 4.0f);
                                                       ^
In file included from test.cpp:1:
In file included from ./libmorton/include/morton.h:10:
./libmorton/include/morton3D.h:70:21: error: use of undeclared identifier 'ceil'
                for (int i = (int)ceil((maxbit + 1) / 8.0f); i >= 0; --i) {
                                  ^
./libmorton/include/morton3D.h:128:54: error: use of undeclared identifier 'floor'
                unsigned int checkbits = static_cast<unsigned int>(floor((sizeof(morton) * 8.0f / 3.0f)));
                                                                   ^
./libmorton/include/morton3D.h:145:54: error: use of undeclared identifier 'floor'
                unsigned int checkbits = static_cast<unsigned int>(floor((sizeof(morton) * 8.0f / 3.0f)));
                                                                   ^
./libmorton/include/morton3D.h:256:54: error: use of undeclared identifier 'floor'
                unsigned int checkbits = static_cast<unsigned int>(floor((sizeof(morton) * 8.0f / 3.0f)));
                                                                   ^
./libmorton/include/morton3D.h:273:23: error: use of undeclared identifier 'floor'
                float defaultbits = floor((sizeof(morton) * 8.0f / 3.0f));
                                    ^
6 errors generated.

Ah poop, good catch. I only test with gcc


add background-color-validation rule

let's export this to a separate funtion (inside the same file) so that the code will be cleaner

I exported this to separate function

again, let's export all hardcoded values to constants

I  exported all hardcoded values to constants

this block of code is not easily understandable, can we try to refactor it so that all variables will have self-explanatory names and larger blocks will be grouped in a separate functions?

I refactored it.

do we have to repeat the message here? would be better to use a const/variable

I fixed it

can be const instead of let here

I fixed it

or use constants/variables defined in one place, e.g. const colorRegex = { hex: ..., rgb: ... } - then it will be clear what's checked and where

I created const colorRegex.


leading _ in print mode

caused by icon links which have a space inside and that space was underlined.
how to test:

load page
open debugging console, delete all css files (their content) but print.css


How do we use this?

How do we run queries? I didn't find the docs.

This bundle allows you to create an Elastica Client instance in your Symfony project as a service using configuration.
To have more precise informations about how to run queries, please refers to https://elastica.io/ but you just can do something like :
$client = $container->get('elastica.default_client');

$path = 'my_index/my_type/_search';
$query = [
    'query' => [
        'query_string' => [
            'query' => 'gbprod',
        ]
    ]
];

$response = $client->request($path, Request::GET, $query);
$responseArray = $response->getData();