I put a list of TextFields on ReorderableListView as it's children, but the textfield lost focus immediately when i tap on textfield.

I code like this, i will catch that Issue
ReorderableListView buildEditChildren(List<GoodGroupEntity> groups) {
   return ReorderableListView(
     header: GMListViewItem(
       leading: buildCustomIcon(Icons.add),
       content: buildNomalText('new group', textstyle: themeColorTextStyle),
       decoration: BoxDecoration(
           border: buildTopAndBottomBorderSide(), color: Colors.white),
       callBak: () {},
     ),
     padding: EdgeInsets.only(top: 10),
     children: groups
         .map((group) => GMListViewItem(
               key: ValueKey(group.id),
               leading: buildXIcon(color: Colors.grey, callBack: () {}),
               content: Container(
                 margin: EdgeInsets.fromLTRB(0, 5, 40, 5),
                 decoration: BoxDecoration(
                   color: Theme.of(context).scaffoldBackgroundColor,
                   borderRadius: BorderRadius.all(Radius.circular(5.0)),
                 ),
                 child: TextField(
                   controller: TextEditingController(
                       text: '${group.name}(${group.children.length})'),
                   style: TextStyle(color: Colors.black, fontSize: 17),
                   decoration: InputDecoration(
                       contentPadding: EdgeInsets.fromLTRB(5, 5, 5, 5),
                       border: InputBorder.none,
                       hintText: 'input'),
                   onTap: () {
                   },
                 ),
               ),
               trailing: buildDragIcon(color: Colors.grey),
               decoration: BoxDecoration(
                   color: Colors.white, border: buildTopAndBottomBorderSide()),
             ))
         .toList(),
     onReorder: (int oldIndex, int newIndex) {
       print('oldIndex = $oldIndex, newIndex = $newIndex');
     },
   );
 }

when I use  ListView instead of ReorderableListView, it's normal
 ListView(       children: groups           .map((group) => GMListViewItem(...)
Logs

Unable to find any JVMs matching version "(null)".
No Java runtime present, try --request to install.
Unable to find any JVMs matching version "(null)".
No Java runtime present, try --request to install.
[✓] Flutter (Channel dev, v1.1.4, on Mac OS X 10.14 18A391, locale zh-Hans-CN)
    • Flutter version 1.1.4 at /Users/zhouxiaohua/flutter
    • Framework revision 7a88fbc5fd (8 days ago), 2018-12-20 11:38:07 -0800
    • Engine revision dbdb5e6f8c
    • Dart version 2.2.0 (build 2.2.0-dev.1.1 f9ebf21297)

[!] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Android SDK at /Users/zhouxiaohua/Library/Android/sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 28.0.3
    • Java binary at: /usr/bin/java
    ✗ Could not determine java version

[!] iOS toolchain - develop for iOS devices (Xcode 10.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 10.1, Build version 10B61
    ✗ libimobiledevice and ideviceinstaller are not installed. To install with Brew, run:
        brew update
        brew install --HEAD usbmuxd
        brew link usbmuxd
        brew install --HEAD libimobiledevice
        brew install ideviceinstaller
    • ios-deploy 2.0.0
    • CocoaPods version 1.5.3

[!] Android Studio (not installed)
    • Android Studio not found; download from https://developer.android.com/studio/index.html
      (or visit https://flutter.io/setup/#android-setup for detailed instructions).

[✓] VS Code (version 1.30.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 2.21.1

[✓] Connected device (1 available)
    • iPhone 8 • 99CE6E74-D3DA-4FD6-89A6-54B9780EE346 • ios • iOS 12.1 (simulator)

To investigate we would need a minimal runnable reproduction
as a single file so that we can just copy your code into lib/main.dart of a new project and run to reproduce.

when I code a simple demo for that issue , the issue does't occur. it is my fault，thanks


IIIF viewer and media representation

PR refactors the digital media page viewer to accept normal and IIIF formatted images.
Also reimplements the digital media representation item for IIIF.
Also:

Adds a 404 page
Renames MAS to Mas (tot align with CamelCase)

Same duplication as PR 118, not fixing that as I want to keep these files apart from each other (is reappearing because of the MAS name changes).


"Open in Vercel"

Thank you for making this extension! I have one request: to have options added to the command palette for "Open in Vercel:"

Project
Deployments
Current Deployment
Logs
Project Settings
any other links you think would be useful

Similar to the "Open in Github" extension:

Unfortunately AFAIK Vercel don't provide a handy way of getting the dashboard URL from the project and team IDs. I've scoured their APIs, I could probably hack a URL together for team accounts due to the /v2/teams/${teamId} endpoint, but there's nothing for individuals due to the lack of teamId. I'll pick this up later if Vercel add a teamSlug or similar to their /v9/projects/${projectId} endpoint.

Closing this until Vercel releases something I can use.

Cool. I ended up just using the Vercel extension for Raycast (mac only) and it's been working great for quick access to my deployments.


Fixed (or minimal) length for format specifiers

When using the custom format option, like
curl wttr.in/London?format="%l:+%c+%t"

it would be nice to be able to enforce a specific length for the format specifiers. This would be useful for requests with several locations. As of now the output looks like this:
$ curl -s 'vd.wttr.in/{London,Rome,Canberra}?format=%l:+%c+%t'
London: ☀ +28°C
Rome: ☀ +31°C
Canberra: ⛅  +0°C

I would like to get something like this:
$ curl -s 'vd.wttr.in/{London,Rome,Canberra}?format=%10l:+%c+%t'
London    : ☀ +28°C
Rome      : ☀ +31°C
Canberra  : ⛅  +0°C

Yes, it is a good feature; accepted


Allow anoymous login

Username and password are not mandatory for influxdb. We use it on our internal network so don't need authentication but the backend hard error on it. I've added an anom mode to allow using without username and password.

Thank you! I just made the username and password settings optional so leaving them out should just work.
Hope that's okay with you. :smiley:

Awesome, thanks!


fix: Use route options when building URLs

When Rails is present, COPRL should use the Rails route URL options to construct URLs instead of ActionController URL options.
For backward compatibility, if Rails' route options aren't present, the ActionController options will still be used.

Looks good, IMO we don't need to keep the old behavior

yeah, agreed. it's a breaking change, but it's going into beta, which is full of those... and the old behavior is confusing. I'll update to only keep the new behavior.


What is wrong with page.pdf() in Puppeteer?

Steps to reproduce
Tell us about your environment:

Puppeteer version: 6.10.3
Platform / OS version: Mac OS X 10.14.1
Node.js version: v12.4.0

What steps will reproduce the problem?
https://github.com/GoogleChrome/puppeteer/blob/master/README.md
I am trying the following example from the above page.
#!/usr/bin/env node
// vim: set noexpandtab tabstop=2:

const puppeteer = require('puppeteer');

(async () => {
	//	const browser = await puppeteer.launch();
	const browser = await puppeteer.launch({headless: false});
	const page = await browser.newPage();
	await page.goto('https://news.ycombinator.com', {waitUntil: 'networkidle2'});
	await page.pdf({path: '/tmp/hn.pdf', format: 'A4'});
	await browser.close();
})();

What is the expected result?
No error.
What happens instead?
But I got the following error. Would you please let me know what is wrong and how to fix the problem? Thanks.
$  ./main.js
(node:73800) UnhandledPromiseRejectionWarning: Error: Protocol error (Page.printToPDF): PrintToPDF is not implemented
    at /usr/local/lib/node_modules/puppeteer/lib/Connection.js:183:56
    at new Promise (<anonymous>)
    at CDPSession.send (/usr/local/lib/node_modules/puppeteer/lib/Connection.js:182:12)
    at Page.pdf (/usr/local/lib/node_modules/puppeteer/lib/Page.js:977:39)
    at Page.<anonymous> (/usr/local/lib/node_modules/puppeteer/lib/helper.js:112:23)
    at main.js:11:13
    at processTicksAndRejections (internal/process/task_queues.js:89:5)
(node:73800) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:73800) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

you need to be in headless true to use PDF

@tom-s: Headless, I'm running into inconsistent font rendering. I'm a bit stuck. Headless is not giving me the results I want. WIth head, I'm not getting any results at all.

Loading extension only works when headless is set to false. And at the same time I need to set headless to true for PDF

Is there any reason why it cannot be implemented on the headless false?

Is this issue has been fixed?


Added plugin length faking

Thanks for the contribution. Unfortunately this is not a good evasion, we need something more advanced like https://github.com/berstend/puppeteer-extra/blob/master/packages/puppeteer-extra-plugin-stealth/evasions/navigator.plugins/index.js


Fix #50: include src while building tests

@starper could you try if this fixes the issue?

Test project test should be added

@justinwoo happens here

The tests haven't been updated? They should pull in the Main module to ensure that this behaves as expected.

@f-f It does. Thanks.

Good to merge? @f-f

@justinwoo I have a commit to fix the tests, I’ll push it and cut a release later today


Empty string in access Groups breaks data access control

Issue Name
Bug - empty string in access Groups breaks data access control
Summary
When a User Identity is created from an OIDC login, there is always an empty string appended to the list of the user's access groups in the mongo db (db.UserIdentity). This creates an access group called ""
When a Dataset is uploaded with no access groups , and only an owner group, the access groups for this dataset is created as an empty string in the db.Dataset entry.
This means that all users can see this dataset, because they all belong to the access group "".
Steps to Reproduce
We have a local instance of SciCat that is linked to our dev Keycloak server for OIDC authentication.
We have the following variables configured:
OIDC_ACCESS_GROUPS_PROPERTY: groups
ACCESS_GROUPS_OIDCPAYLOAD_ENABLED: ${ACCESS_GROUPS_OIDCPAYLOAD_ENABLED} #this value needs to be set to true in a env file as a string "true" is not recognised
ACCESS_GROUPS_API_URL: https://ourdevkeycloak.org/realms/dev
 ACCESS_GROUPS_SERVICE_TOKEN: ${OIDC_CLIENT_SECRET}

In our dev keycloak we have two groups scicat-data-1 and scicat-data-2, all users belong to at least one group.
We ingest data using the functionalAccount ingestor, with the following ownable:
    {
        "owner": "Tricia McMillan",
        "ownerGroup": "scicat-data-2",
        "accessGroups": ["scicat-data-1"],
        "datasetName": "Dataset 26",

        },
    {
        "owner": "Ford Prefect",
        "ownerGroup": "scicat-data-1",
        "accessGroups": [],
        "datasetName": "Dataset 27",
        },
        {
        "owner": " Marvin",
        "ownerGroup": "scicat-data-2",
        "accessGroups": [],
        "datasetName": "Dataset 28",

        },

All users can see all datasets, regardless of if they are not in one of the groups.
Current Behaviour
If you uses the set up above, all data can be seen by all users regardless of what groups they  have. When looking at the dataset entry for the datasets that have no access groups they have a  accessGroup: "".
When looking into the db.UserIdentity entry for the users we can see that they also have an accessGroup "". This does not seem to be brought in from the OIDC payload , but rather added by SciCat.

{ "_id" : ObjectId("XXXXX"),
"authStrategy" : "oidc",
 "externalId" : "XXX",
"profile" : { "displayName" : "Tricia McMillan",
"email"<EMAIL_ADDRESS>
"username" : "rfitrillian",
"thumbnailPhoto" : "no photo",
 "id" : "XXXXDX",
"emails" : [ { "value"<EMAIL_ADDRESS>} ],
"accessGroups" : [ "", "scicat-data-1", "scicat-data-2" ],
"oidcClaims" : { "exp" : XXXXXX, "iat" : XXXXXX, "auth_time" : XXXXXX, "jti" : "XXXX", "iss" : "https://ourdevkeycloak.org/realm/dev", "aud" : "scicat-local", "sub" : "XXXXX", "typ" : "ID", "azp" : "scicat-local", "session_state" : "XXXXXX", "at_hash" : "XXXX", "acr" : "1", "sid" : "XXXXX", "accessgroups" : [ "scicat-data-1", "scicat-data-2" ], "email_verified" : false, "name" : "Tricia McMillan", "preferred_username" : "rfitrillian", "given_name" : "Tricia", "family_name" : "McMillan", "email"<EMAIL_ADDRESS>}, "_id" : ObjectId("XXXXX") }, "provider" : "https://ourdevkeycloak.org/realm/dev", "userId" : ObjectId("XXXXXXX"), "created" : ISODate("2024-04-26T14:42:28.355Z"), "modified" : ISODate("2024-04-26T14:42:28.355Z"), "__v" : 0 }

Expected Behaviour
If a dataset was not given an access group, I would expect that only users in the Owner Group to see it. When a UserIdentity gets created I would expect it just to have the access groups from the OIDC and not have an empty group attached.

Hmm, I don't observe it in our system, maybe check the access_groups_static value in the config, if it is (or contains) an empty string. We have some values configured and they end up (correctly) in the final accessgroups.

For the first issue - Empty string in accessGroup, can you try to include a ENV variable ACCESS_GROUPS_STATIC_ENABLED=false and then re-login again? There's a small logical deficiency with status group values mapping function, I will fix it as soon as possible.
Second issue -  Creates dataset without accessGroup and only ownerGroup results in new dataset with empty string value accessGroup.
I was not able to reproduce the result. If the accessGroup field is not provided, created dataset only contains empty array [] without any values. Could you provide the dataset JSON value that you've used for creating the dataset?

Thanks for getting back. I can confirm that by adding ACCESS_GROUPS_STATIC_ENABLED=false to the environment vars I was able to get rid of the empty string.
The dataset I am uploading via curl has the following access groups var:
{
        "owner": "Ford Prefect",
        "ownerGroup": "scicat-data-1",
        "accessGroups": [],
        "datasetName": "Dataset 27",
        },
}

Where access groups are given by an empty list. I am currently ingesting with the requests package in python (curl equivalent).
If there is no access group should the value be something different?

If there are no accessGroups for the dataset, assigning the value [] is correct.


82 examples have non-matching numbers of words and glosses

I identified 82 examples where number of words does not equal number of glosses. Do we want to fix these?

Here's the list of example IDs:
anat1259-GB027-3
anat1259-GB027-4
anat1259-GB120-1
anat1259-GB254-1
anat1259-GB306-1
anat1259-GB325-2
bash1264-GB139-1
bash1264-GB139-2
bash1264-GB152-1
bash1264-GB160-2
bash1264-GB204-4
bash1264-GB204-5
bash1264-GB325-1
bash1264-GB325-2
berj1234-GB117-1
bona1250-GB119-1
bona1250-GB126-1
bona1250-GB160-2
bona1250-TE052-1
cent2126-GB160-1
crim1257-GB135-1
crim1257-GB263-1
crim1257-TE054-2
daur1238-GB253-1
daur1238-GB256-1
dolg1241-GB031-1
dolg1241-TS007-1
halh1238-GB306-1
hate1238-GB126-1
hate1238-GB263-1
hate1238-GB432-1
hate1238-TE054-1
hate1238-TE054-2
hate1238-TS005-1
huih1238-GB026-1
huih1238-GB068-1
huih1238-GB117-2
huih1238-GB318-1
huih1238-GB333-1
huih1238-GB333-2
huih1238-GB333-3
huih1238-GB333-4
huih1238-GB333-5
huih1238-GB333-6
huih1238-GB333-7
huih1238-GB333-8
huih1238-GB334-1
huih1238-GB334-2
huih1238-GB334-3
huih1238-GB334-4
huih1238-GB334-5
huih1238-GB334-6
huih1238-GB334-7
huih1238-GB334-8
huih1238-GB334-9
huih1238-GB334-10
huih1238-GB335-1
huih1238-GB335-2
huih1238-GB335-3
huih1238-GB335-4
huzh1238-GB421-1
huzh1238-GB422-1
huzh1238-GB522-1
ikem1235-GB123-1
ikem1235-GB126-1
ikem1235-GB147-1
ikem1235-GB250-1
kaza1248-GB035-7
khak1248-GB204-1
kham1281-GB252-1
kham1281-GB256-1
kore1280-GB150-1
manc1252-GB084-1
manc1252-TE008-1
midd1372-GB139-1
midd1372-GB313-1
minh1238-GB123-2
minh1238-GB133-1
minh1238-GB155-1
minh1238-GB266-1
minh1238-GB275-2
minh1238-GB326-1
minh1238-GB522-1
mogh1245-GB139-1
mogh1245-GB401-1
mogh1245-TS006-1
moma1245-GB083-1
moma1245-TE066-1
nana1257-GB325-1
nana1257-GB325-2
negi1245-GB075-1
negi1245-GB075-2
negi1245-GB086-3
negi1245-GB187-3
negi1245-GB266-1
negi1245-GB333-1
negi1245-GB333-2
negi1245-GB333-3
negi1245-GB333-4
negi1245-GB333-5
negi1245-GB334-7
negi1245-GB334-9
negi1245-GB335-1
negi1245-GB335-2
negi1245-GB335-3
nort2697-GB135-1
nucl1643-GB134-1
nucl1643-TE039-1
okin1246-GB086-1
okin1246-GB126-1
okin1246-GB305-1
okin1246-GB326-1
okin1246-GB328-1
okin1246-TS003-1
oldu1238-GB151-1
oldu1238-GB151-2
oldu1238-GB301-1
oldu1238-GB421-1
oldu1238-GB422-1
russ1264-GB160-2
russ1264-GB160-3
russ1264-GB160-4
russ1264-GB301-2
russ1264-GB328-1
shor1247-GB301-1
shur1243-GB057-1
shur1243-GB057-2
sout2954-GB068-3
sout2954-GB120-1
sout2954-GB139-1
sout2954-GB140-2
sout2954-GB254-2
sout2954-GB263-1
sout2954-GB263-2
sout2954-GB313-1
sout2954-GB326-1
sout2954-GB326-2
sout2954-GB326-3
sout2954-GB328-4
sout2954-TE066-1
tara1319-GB133-1
tara1319-TS003-1
torg1245-GB069-1
torg1245-GB075-2
torg1245-GB075-5
torg1245-GB119-1
torg1245-GB119-2
torg1245-GB137-1
torg1245-GB152-1
torg1245-GB160-1
torg1245-GB160-2
torg1245-GB160-3
torg1245-GB160-5
torg1245-GB312-1
torg1245-GB312-4
torg1245-GB324-1
torg1245-GB325-1
torg1245-GB325-2
torg1245-TS007-1
turk1303-GB133-1
turk1304-GB159-1
turk1304-GB325-1
turk1304-GB325-2
udih1248-GB026-1
udih1248-GB140-2
udih1248-GB306-1
udih1248-GB325-1
udih1248-GB325-2
udih1248-TE008-1
yaku1245-GB031-1
yaku1245-GB312-1
yona1241-GB252-1
yona1241-GB252-2
yona1241-GB305-1

btw. the examples are now in  etc/sources.csv.

thank you so much!! This is amazing! I'll try to fix the ones I can fix and delete the glossing, where I don't have the expertise to correct it (I had to gloss myself in many cases because there was no glossing in the grammar, in other cases the glossing in the grammar also contained misalignments, which I oversaw). In some cases there is an extra space, which is easy to correct.


ELIFECYLCLE error when execution is true

Fixed the error by generating a new API key

Fixed the error by generating a new API key

What was the resolution?


[Bug] Uint does not implement correct Encodable trait

Component
primitives
What version of Alloy are you on?
alloy-primitives v0.2.0
Operating System
macOS (Apple Silicon)
Describe the bug
Using RlpEncodable to derive the RLP encoding of a struct containing U256 fields from alloy-primitives v0.2.0 fails due to the correct trait not being implemented.
Rolling back to v0.1.0 for all the alloy crates, fixes the problem and the same code compiles.
use alloy_primitives::U256;
use alloy_rlp::Encodable;
use alloy_rlp_derive::RlpEncodable;

#[derive(RlpEncodable)]
pub struct Test {
    pub value: U256
}

[dependencies]
alloy-primitives = { version = "0.2", features = ["rlp"] }
alloy-rlp = "0.2"
alloy-rlp-derive = "0.2"

This is because Uint is from ruint2, which currently depends on alloy-rlp v0.1.0. Soon we'll release 0.3 and move from ruint2 to ruint. For now you can import them with git:
[dependencies]
alloy-primitives = { git = "https://github.com/alloy-rs/core" }
alloy-rlp = { git = "https://github.com/alloy-rs/core" }
alloy-rlp-derive = { git = "https://github.com/alloy-rs/core" }

Perfect, looking forward for v0.3 then 😄

@DaniPopes even importing the latest git versions of alloy as you suggested for me pulls in ruint2 v1.9.0 and leads to the same problem.
I have been looking for a version that can encode Uint and has alloy-rs/rlp#2 fixed. The only workaround I have found so far is to use v0.1.0 and manually patch the issue in alloy-rlp.


target.py has class SystemUser that is not referenced in target.py

I'm not sure if this indicates a problem in the schema, the model builder, or if it is intended to be this way.

This may not be an issue anymore but with target.py being refactored this may not be relevant anymore.


mobile: fall back to server-side tracking ID for compat

A few customers were already sending events to GA web properties from mobile (ie. weren't bundling the SDK). The prior update (adding screen and using mobile tracking ID) didn't account for those customers and this PR fixes that.
@f2prateek

theres a typo on settings

lgtm!


[DOCS] update docs snippets for suggestions ingestion

This PR closes #160
By updating the snippet to conform with functionality:
dataset.records.add(
    [
        {
            "text": "Hello World, how are you?",
            "label": "negative",
            "label.suggestion.response": "negative",
            "label.suggestion.score": 0.9,
        },
    ]
)

@frascuchon This assumes that we do not want to change the functionality?

@frascuchon This assumes that we do not want to change the functionality?

Not for now, but I think it makes sense to support in the future label.score or label.agent to map automatically the score or agent for a suggestion. What do you think?


Feature Request: Custom Font

Feature: Add the ability to change windows default font.

Feature: Add the ability to change windows default font.

But more easily? If I'm not mistaken, in Settings > Personalization > Fonts already have how to add.

I'm just a power user who managed to change the win32 UIs default font so I'd like to provide some useful infos, I'm not a dev so I can't guarantee you the following text will certainly be useful. 😄
On Windows 10 (at least) it's currently possible to change the default font of win32 (/"desktop") programs only by regedit.
This is the avg guide for it, basically you have to clear some reg. keys at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts which point to "Segoe UI" (W10 default font) and leverage the Segoe UI key at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes to point to an alternative font you've previously installed by any of the native methods of W10.
Unfortunately most of (if not all) the easily found guides for this procedure make you clear the "Segoe UI Symbol" font reg. key at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts, which causes some Metro UI parts to suffer from missing icon assets(?), like the media player flyout for instance
.
The much unexpected fix is to just not edit the aforementioned reg. key.
I suppose PowerToys could automatize this procedure by its carefully handy UI 😄.
The "UWP" apps and all(?) the Metro UI pieces introduced since Windows 8 don't simply "inherit" the font settings by the windows reg. in the same way as win32 programs.
I'm afraid they don't even store which font they should use in the registry, so maybe PowerToys would have to read the settings/preferences of a UWP to change its UI font?
This doc might be useful: https://docs.microsoft.com/en-us/globalization/input/font-technology#font-substitution .
Thanks in advance to whoever will contribute to this issue and its eventual feature implementation! 🤟

Just adding a +1 to this request! Would be really useful for people not comfortable hacking the registry, and hadn't clocked the UWP implications.

As a power user of the OS, how does this make you more productive?

/needinfo

For me, it's the ability to set the system font to OpenDyslexic - makes it a a lot easier to read on the screen, without having to do a whole bunch of manual registry tweaks. It used to be fairly easy to do in Win32 land with the old theming dialogues, but none of those options are easily user accessible any more, and wouldn't apply to UWP anyway.

https://github.com/microsoft/PowerToys/issues/12266#issuecomment-1363292581

I don't believe that that's adequate rationale for this being closed. I've had multiple acquaintances, family members, and friends all say that they find Windows really difficult to use because they can't change the font to one which assists their dyslexia. They tend to do all of their computing in a web browser or Android device from a 3rd-party OEM solely because they can change the font there.

/feedbackhub

https://github.com/microsoft/PowerToys/issues/12266#issuecomment-2209648643

PowerToys isn't on Feedback Hub, whether via the online portal or UWP application. Do you mean that I should suggest this as a feature in Windows 11?

This is better for windows itself, that is why I applied the feedback hub tag.
somethings are better with correct OS support. My gut says this is one of them

https://github.com/microsoft/PowerToys/issues/12266#issuecomment-2211096480

I agree. Let's hope they listen, though.


[Feature] Optimize incremental 'insert_overwrite' strategy

Is this your first time submitting a feature request?

[X] I have read the expectations for open source contributors
[X] I have searched the existing issues, and I could not find an existing issue for this feature
[X] I am requesting a straightforward extension of existing dbt-bigquery functionality, rather than a Big Idea better suited to a discussion

Describe the feature
The MERGE statement is sub-optimized in BigQuery.
This is of course ok for unique keys as this is what we are looking for.
But for the insert_overwrite strategy where we are looking to rows at the partition-level there is a better solution and here is why:

a DELETE or INSERT statement is cheapest than a MERGE statement.
incremental tables are the most expensive tables in real-world projects.
The DELETE statement in BigQuery is free at the partition-level.

This has been tested at Carrefour which is my company.

On this replacement of the MERGE statement it reduces the cost by 50.4% and the elapsed time by 35.2%
On the overall procedure it reduces the cost by 26.1% and the elapsed time by 23.1%

This is wrapped in a transaction to avoid deleting rows if any error occurs.

Describe alternatives you've considered
I have considered an alternative to create an additional delete+insert incremental strategy.
But overriding the existing insert_overwrite is the more convenient as this is exactly what we are looking for and the features are the same.
Who will this benefit?
Of course, everyone without any changes.
Are you interested in contributing this feature?
Yes
Anything else?
No response

Yes agreed if your incremental refresh a lot of partitions back then it can takes time (usually i refresh around 3 partitions back so the process isn’t so long).
For debuging purposes, I have seen some benefits having the tmp table by restoring it with the time travel feature. But its clearly worst for auditing purposes, it should be nice to have labels related to the dbt run id in the copy config btw 😀.
I keep your feature in mind in case of future need.
Thanks!

For debuging purposes, I have seen some benefits having the tmp table by restoring it with the time travel feature. But its clearly worst for auditing purposes, it should be nice to have labels related to the dbt run id in the copy config btw 😀.

Oh yes it could be nice to have those labels
So you won't valide my pull request for now from what I understand ?
In any case, feel free to reach me if you want some help or anything else
https://www.linkedin.com/in/axel-thevenot/

Unfortunately I don't have yet the authority to do it :) But I hope someone will do it

I can create an additional delete+insert strategy instead of overriding the insert_overwrite, even if it make less sense to me 👍

@AxelThevenot, I don't think I quite understand your justification for not creating a new delete+insert materialization strategy.  Changing a commonly used incremental strategy can cause some unintended results, especially since it seems like your intent is to remove the merge statement from the insert_override statement (or am I misunderstanding?)

This is great stuff! But I think we should create a delete+insert operation instead of changing the already widely used insert_overwrite, as it could have unexpected consequences across all users. (+1 on @amychen1776)
For example, the DELETE operation being free is only under certain conditions as stated in the documentation and you might not always get the slot-free operation unfortunately. I’ve seen cases where the costs of the DELETE + INSERT end up being higher in aggregate to the whole MERGE. It’s rare, but It can happen and rolling this change for such a fundamental macro can backfire. At the end of the day is all about testing strategies that better suit the use case.
For example granular partitioned tables do not benefit from free DELETEs :why: 🤦  :

Using a delete+insert will definitely be a performance boost in most cases, but users have to be aware of how to get the best of it. Better to be clear through documentation and through new methods rather than changing the current one.

@amychen1776 and @borjavb I got your points, I will go for a delete+insert strategy if this is more convenient to you and avoid having edge cases for specific users
I will make the change as soon as possible and tell you when it's done :)

Been thinking about this and... how do we feel about a operator/function configuration within instert_overwrite?
The way I've hijacked the insert_overwrite strategy in the past to implement this was through the config block and it always worked really well. Check this draft PR with the gist behind it.
Technically we have an incremental strategy that can work with different functions, but apply the same semantics of replacing a whole partition. So basically we can define a incremental_strategy plus the operator/function we want to use: either a merge or a delete+insert. So we get the best of both worlds:

If it's not defined, we default to merge, so we keep backwards compatibility
If the user selects the new delete+insert logic, we swap the macro that works under the hood

We already have custom configurations for merge like merge_update_columns and merge_exclude_columns, so this doesn't break with how we do things with other incremental strategies.
So the config block would look like something like this:
{{
    config(
        materialized="incremental",
        incremental_strategy="insert_overwrite",
        insert_overwrite_function='delete+insert',
        cluster_by="id",
        partition_by={
            "field": "date_time",
            "data_type": "datetime",
            "granularity": "day"
        },
        partitions=partitions_to_replace,
    )
}}

Although I'm torn if we should add the incremental_strategy as a dict something like this... but given that we haven't done that for the other configurations for merge... it feels now weird to add it as a dictionary? Not sure.
incremental_strategy={
   strategy = "insert_overwrite",
   operation = "delete+insert"
}

But this would just be some syntax sugar of how we want to expose the config. ButI think with this we can let the user decide which operator is the most performant, and keep full backwards compatibility.

@borjavb this is a great idea ! I will go for it 😄

@AxelThevenot @borjavb Very cool to see the level of interest here :)

But delete+insert is at the unique-key-level in other adapters and I want a partition-level
Any idea of if I reuse this name even if this is not doing the same or if I give a new name ? (and what name?)

This is a totally fair point!
FWIW... The unique_key specified for other adapters does not actually have to be unique, and many users have a configuration like this to achieve the outcome you're after here:
{{ config(
   incremental_strategy = "insert_overwrite",
   unique_key = "my_partition_by_column_name",  -- not actually unique!
   ...
) }}

I know that nomenclature is misleading (Grace called it out a few months ago), but it would be consistent with how users have gotten this working on other DWHs/adapters. (I say that, at the same time acknowledging that non-unique keys can lead to poor query performance; there's a suggested performance optimization to switch from delete ... using to delete ... where: https://github.com/dbt-labs/dbt-adapters/issues/150#issuecomment-2048092121, https://github.com/dbt-labs/dbt-adapters/pull/151.)

To offer one other perspective:

We're rolling out a brand-new microbatch incremental strategy in dbt Core v1.9 (https://docs.getdbt.com/docs/build/incremental-microbatch)
This strategy has parallelism built in, with the capability within dbt for per-batch concurrency + retry
Our stated goal: "To perform this operation, dbt will use the most efficient atomic mechanism for "full batch" replacement that is available on each data platform." Right now, that's using merge with a constant-false predicate — the same as insert_overwrite (here — but with the option to use the copy_partitions API instead (as Borja noted).
Given that microbatch is brand-new — should we make it use a delete; insert transaction right from the start? Or, should we add this as another opt-in config for the insert_overwrite strategy — one that would also be implicitly available to the microbatch strategy, too)? It's probably too late in the game to be asking, because dbt Core v1.9 is planning to go live in early December, but I figured I'd ask anyway :)


Uneven gap between bars, my OCD is killing me.

I guess this is best explained by a screen shot:

Also the peak bars flickers a lot, I'm guessing it's a similar cause.
for comparison this is AnSpec from Voxengo

It looks like they rendered in a higher resolution and scaled down, it's not as sharp but looks perfectly even.
Oh, and thank you for your work, I love this!

I don't get it.  The bar are simply a brush used to paint the bars. Direct2D uses sub-pixel coordinates so depending on the DPI settings you can get rounding errors. I could make the gaps between the 'LED's smaller, 1 pixel f.e.
As for the flickering, you may be experiencing some 'jumpy' peaks. Which peak mode are you using?

I'm not sure what do you mean by "I don't get it", I mean, some vertical gaps are thicker than others, as marked here:

By flickering I meant the brightness changes when the peak bar is falling, it could be just the thickness is changing, or is this a feature? I'm using the "Classic" peak mode.

OK, I see. I thought you meant the thickness of the 'LED'. I'll look into it but I think it's caused by rounding errors. The width of the graph area is divided by the number of bands and floating-point is used as long as possible.

The peak is rendered using the same gradient as the bar. The color changes but is also anti-aliased. If enough pixels are available, the yellow makes the peak seem brighter next to the anti-aliased colors. If you zoom in on the pixel in the PNG you'll see what I mean. Again, I'll see if I can ease your OCD ;-)

Beta 3 has a tweak.

Sorry for the delay, just tried beta 4.
Unfortunately it's still there, it's just they're now evenly distributed: every 4th of them are thicker:

I tried to change the width of the window, in some width setting, the unevenness would seemingly disappear, but when they do show, it's always every 4th.
And the peak still has changing thickness when they're falling.

I just noticed the background grid lines also have uneven thickness.

You probably missed this, it also varies with the window size, but the pattern also change, not like the every 4th thing with the gap between bars.
And again, thanks :D

I have tried multiple window size which resulted in multiple LED bar widths and I haven't found any rounding errors. Everything is nicely spaced and of equal width. The only remaining conclusion is that you're looking at rounding errors in your GPU driver.


Lost Fonda

Describe the bug
Hi, I was transferring funds #fantom from Trust Wallet to Binance like I did the previous 2 times, but this time around, the transaction was stuck on pending and nothing was showing up on block chain explorer either so I reimported my wallet like the guide on the Trust Wallet forum. After reimporting, my pending transaction disappeared and the amount of funds I was transferring have vanished as well. They’ve been deducted from my Trust Wallet without the transaction actually going through. What should I do now to get lost crypto back
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

Can you verify which network you sent the FTM to?


oauthclient: validate oauth users' email

FIX users creating their account with oauth process have to validate
their email too. Previously it was marked as valid from the start.

FIX a validation email is now sent when users create their account
with oauth and their email address is not provided by the oauth
service. (closes #2739)

Signed-off-by: Nicolas Harraudeau<EMAIL_ADDRESS>

@nharraud thanks for the update. On http://labs.inspirehep.net we currently only use the ORCID login so this will affect us directly.

Can you clarify what CFG_ACCESS_CONTROL_NOTIFY_USER_ABOUT_NEW_ACCOUNT does?

Once the user clicks on the validation link on his email, does it get directed to the page he/she was trying to visit in the first place? This is important to minimally disrupt what she was trying to do in the first place when the login page was encountered.

Can you clarify what CFG_ACCESS_CONTROL_NOTIFY_USER_ABOUT_NEW_ACCOUNT does?

This is the old variable which is currently to control if a user receives email validation message upon registration - see https://github.com/inveniosoftware/invenio/blob/master/invenio/legacy/webuser.py#L490

@jmartinm This modification doesn't change the way email validation works. The user can use his account right away without clicking the link in the email. There is just a flash message informing the user that he should validate it.

Nice. So if CFG_ACCESS_CONTROL_NOTIFY_USER_ABOUT_NEW_ACCOUNT == False there would be absolutely no change in the way the login workflow works at the moment right?
Is there any consequence on not validating the email address?
It could be nice to allow the user to continue straight away, but say, after a couple of days if the email has not been validated they would be forced to validate to continue on a page that needs login.
That way we don't interrupt the person that wants to get something done the first time and give them some time to validate but we get the email validated at some point.
Does it make sense?

@jmartinm CFG_ACCESS_CONTROL_NOTIFY_USER_ABOUT_NEW_ACCOUNT == False would just prevent the email to be sent after registration.
There is always a popup on the website informing the user that he has to validate his email address.
Right now the user can do any action he wants without validating it. Later on we plan to add some limitations like, for example, enabling the user to create a deposition but forbidding him from submitting it.
As you say, we don't want to interrupt the website usage just after the registration.

Thanks for clarification @nharraud
Just had a look in Zenodo to see how the Verify your email works. Looks good to me.

@nharraud it looks good to me. @lnielsen have you reviewed it?

Yes. :shipit:


[HOTFIX] fix compile error after merging PR-2749

fix compile error after merging #2749
Be sure to do all of the following checklist to help us incorporate
your contribution quickly and easily:

[ ] Any interfaces changed?

[ ] Any backward compatibility impacted?

[ ] Document update required?

[ ] Testing done
Please provide details on
- Whether new unit test cases have been added or why no new tests are required?
- How it is tested? Please attach test report.
- Is it a performance related change? Please attach the performance test report.
- Any additional information to help reviewers in testing this change.

[ ] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA.

@ajantha-bhat @jackylk please review, thanks.

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder2.1/493/

retest this please.

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder2.1/495/

Build Success with Spark 2.3.1, Please check CI http://<IP_ADDRESS>:8080/job/carbondataprbuilder2.3/8744/

@zzcclp :  Changes are OK.
Why this problem is not catching in PR builder and local maven build ? How to find this type of problems ?

@ajantha-bhat , I found this issue in my Eclipse project, currently the test cases of 'CarbonCliTest' doesn't run in CI, right?  @jackylk @chenliang613

@zzcclp : Also I don't think fixing just this compilation error is enough, because still this module has find-bugs issues also.
Example: at DataSummary.java:[line 138] ICAST_IDIV_CAST_TO_DOUBLE
Better to fix everything and check whether can we add this cli-tool module to PR builder profile?
because future code change from someone again can cause the same problems.
PR builder should catch this.
@jackylk , @ravipesala : Any suggestions ?

Build Success with Spark 2.3.1, Please check CI http://<IP_ADDRESS>:8080/job/carbondataprbuilder2.3/8760/

Build Success with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/693/


Fixed-point PoC

We want to create a fixed-point only PoC implementation that incorporates the new design and specification elements.

[ ] Make a branch for the PoC
[ ] Remove floating-point and constant folding components to be able to change the interface quickly
[ ] Implement Elaborator for issues #2 , #5 , #6

Can we already show the similarity between fixed and floating by following the frexp/ldexp scheme?
Is there a way to turn constant results into type parameters while elaborating (make fixed from const exp)?
Is there 1 best method of rounding? If not, how do we allow the user to select it?
How many bits can we use and how can the user chose a different path (promotion pass)?
How to seperate the responsibilities (add alias operations vs elaborator method)?

[ ] Create experiments for the demo

This would also have to incorporate the change to the limits on E for fixed-point!

What I've done:

[ ] Creat a new branch heart23 and remove floating point semantics and folders for ops.

[ ] Change FixedPointType from <integerBits, fractionalBits> to <bitWidth, exponent> and modify the FixedPointSemantics interface and FixedPointInterpreter to adjust this.

[ ] Create Pass ConvertBase2ToArith, which now converts

base2.bit_cast to arith.bitcast

base2.value_cast to arith.trunci/extsi/extui

base2.fixed.add to base2.value_cast and arith.addi

What still needs to think of:

[ ] #6 -> How to deal with rounding modes.
[ ] elaborator methods
[ ] other ops to add


Tenant don't get added to ip object when IP is added to device interface.

When you add an IP to a device that is part of a tenant, the IP object don't get the tenant information.
I don't know if this is intended but I think this is a bug.

This is intentional behavior. An IP being assigned to a device owned by a tenant does not necessarily mean that the IP should also be assigned to that tenant.


Fixes #66

Displays a simplified list of services and their units being
deployed. Along with a workload status for continued feedback.
Signed-off-by: Adam Stokes<EMAIL_ADDRESS>


Google provider ignores the scopes I add

Describe the bug
I add passing additional scope to the provider (like  'https://www.googleapis.com/auth/business.manage') but the consent screen is alway the same basic thing

By continuing, Google will share your name, email address, language preference, and profile picture with Company. See Company’s Privacy Policy and Terms of Service.
The scope store in the database is always "https://www.googleapis.com/auth/userinfo.profile,openid,https://www.googleapis.com/auth/userinfo.email"

Without the right scope, I can not use any additional apis on Google. I understand the main purpose of Better auth is not that, but the feature seems to be broken
To Reproduce
Steps to reproduce the behavior:

Create the basic auth configuration with the extra scope:

import { betterAuth } from 'better-auth';
import { drizzleAdapter } from 'better-auth/adapters/drizzle';
import { db } from '../db';

export const auth = betterAuth({
  database: drizzleAdapter(db, {
    provider: 'pg',
  }),
  socialProviders: {
    google: {
      clientId: process.env.GOOGLE_CLIENT_ID!,
      clientSecret: process.env.GOOGLE_CLIENT_SECRET!,
      // redirectURI: `${process.env.NEXT_PUBLIC_APP_URL}/app`,
      prompt: 'consent',
      scopes: [
        'https://www.googleapis.com/auth/userinfo.profile',
        'https://www.googleapis.com/auth/userinfo.email',
        'openid',
        'https://www.googleapis.com/auth/business.manage',
      ],
    },
  },
});

Login - Note the consent
Check the database

Expected behavior
Google provider should respect the scopes provided
Screenshots

Desktop (please complete the following information):

OS: MacOS
Browser Chrome
Version Canary 133.0.6880.1

Smartphone (please complete the following information):
N/A
Additional context
N/A

As you can see, the scopes are appended rather than overridden. Since the default ones are necessary scopes for retrieving user info, the ones you add more as additional scopes.

Thanks for the answer @Bekacru
I understand that. So why I don't see the additional scope in the list? This is the missing scope: https://www.googleapis.com/auth/business.manage

https://www.googleapis.com/auth/userinfo.email has been added. The scope stored in the db is the one returned by the provider (Google). The provider might not include every scope you requested—it may ignore certain scopes for various reasons. Check if the authorizationURL includes the requested scopes.

Hi @Bekacru, I am facing the same problem as the OP (but with the https://www.googleapis.com/auth/gmail.modify scope).
The new scope is passed to the Google OAuth flow, I confirmed it on their screen, and then the scope is passed back to Better Auth.

However the scope is still not being updated in the database, which still has the default scopes.
If I manually delete the account on the DB and retry the login, the scopes are stored correctly (with all my manual ones), so it'd seem that for an existing account, the scope column is not being updated in the DB when re-logging-in.


2024 August VeC SC Meeting

This thread records the 2024 August VeC Steering Council Meeting (@ProjectNeura/vec-steering-council).

Key Updates

Video support

Multiple cameras
Streaming
Recording and extracting
Replaying

AI support
LEADS VeC Data Processor

@ATATC Here's a link to the UofT Formula SAE Electric racing team: https://fsaeutoronto.ca/. You will notice they are also doing autonomous drive.

A Raspberry Pi 5 is better for us because the CPU on the Nvidia Jetson is worse than the Pi, and Pillow does not use GPU.

This should be one of the questions we can solicit some advice for from @LunjunZhang and @MollieBianchi.

https://github.com/geerlingguy/sbc-reviews

Task Board

Get another Arduino Micro - #393
Get the accelerometer soldered - #91
Get the Orange Pi
Reinstall everything
Collect data

@aforti86 Hi sir, could you please post the data recorded here?

Here they are. I'll upload some more tonight. I'll try to separate it out by driver tonight to have better separation instead of just random breaks.
2024-10-02_15-17-36.csv
2024-10-02_15-28-49.csv
2024-10-02_15-38-20.csv


core: add trigger types as constants. Closes #509

Created separate go file with this constants.
After merging #517 interop related files could be moved to separate package:
interops
   interop_neo.go
   interop_neo_test.go
   interop_system.go
   interops.go

And this constants could be moved there as well. One thing: Application trigger type is used in blockchain.go. But since we're not using other type there we can hide this param in separate constructor for InteropContext.

Let's try to make a smartcontract/trigger package with these definitions. And you need to also fix verifyBlockWitnesses and verifyTxWitnesses to use these constants.

moved to smartcontract/trigger and done with verifyBlockWitnesses and verifyTxWitnesses


Bump flowless to 0.7.1 and cljfx to 1.7.24

First of all, thanks heaps for the nice wrapper. It's saved me a great deal of time. 👍🏼
I've added cljfx/flowless to deps.edn in my project and have noticed that it was pulling old dependencies.
A couple of things I've done to ensure the version bump is safe:

Checked everything still runs after the version bump.
Skimmed through the change logs in both of the bumped projects and couldn't see any breaking API changes.

Please let me know if anything else is required to merge this PR. Cheers.

Thanks, @eploko!

Now released as 1.0.7


Starting on boot Ubuntu server 16.04

Can anyone help me. I have homebride  installed and running on Ubuntu server 16.04.
I would love to get it to start on boot. The Raspi tuts didn't work for me and I have been hunting the web. But I have had no joy. My linux skills are very limited. Any help would be appreciated massively.
Thanks Matt

Adding a line to /etc/rc.local worked for me.  Here is what I added:
su -c "screen -dmS homebridge homebridge" -s /bin/sh USERNAME

This makes homebridge run on boot inside of a screen under a certain user.  Replace USERNAME with your username.
You will need to have screen installed.
sudo apt-get install screen

That's fantastic thanks. That worked on Ubuntu Cheers

Here is my guide in setting up Homebridge on Raspberry Pi to start on boot up and restart on errors. Hope it help!
https://timleland.com/setup-homebridge-to-start-on-bootup/


Suggestion for updating the way creative commons licenses are provided via the EML from the IPT

We have a suggestion from a harvester of one of our IPTs that the standard way to document the use of a license is to provide the URL of the "Deed" (e.g. "https://creativecommons.org/publicdomain/zero/1.0/". Without the "legalcode" suffix). The IPT is currently providing them as "http://creativecommons.org/publicdomain/zero/1.0/legalcode" in the EML.
Reasons this change was suggested:
For example, if you use the license chooser at https://creativecommons.org/share-your-work/, the code that is generated shows the base URL of the license. For example, on https://creativecommons.org/choose/mark/results?work_title=&author_title=&author_href=&curator_title=&curator_href=&lang=en_US&field1=continue, in the "Have your own website?" section, you'll see "".
Similarly, on each of the descriptive license pages, such as https://creativecommons.org/licenses/by/4.0/, at the bottom of the page you'll see a "use this license" link. On the linked page you'll see HTML code for using the license. That is, on https://creativecommons.org/choose/results-one?license_code=by&jurisdiction=&version=4.0&lang=en you'll see HTML code like "..."
Also, in the "Use & Remix" section of the CC website (https://creativecommons.org/use-remix/), there's an example of how to give attribution to licensed materials. The name of the license "CC BY-ND 2.0" is linked to the license itself, and that link URL is "https://creativecommons.org/licenses/by-nd/2.0/". Below the example, there is an explanation that says "License: “CC BY-ND 2.0”—with a link to the license deed". Note that it specifically mentions the "license deed".

Thank you for the suggestion @albenson-usgs

I typically also use the URL without /legalcode, but it seems that GBIF uses the URL with /legalcode throughout:

In EML
On IPT resource pages
On GBIF dataset pages
When processing occurrences:

original:    http://creativecommons.org/publicdomain/zero/1.0/
interpreted: http://creativecommons.org/publicdomain/zero/1.0/legalcode

It doesn't for photo credits.
Why the processing to /legalcode? Is it possible to streamline this throughout?

Looking at the EML 2.2 changes, I've noticed they recommend URLs from spdx.org:
https://eml.ecoinformatics.org/whats-new-in-eml-2-2-0.html#dataset-license


Add S3 as caching option

This PR adds S3 as one of the possible caches at Deco.
Hit time on the store we tested:

I think its missing somewhere a place where the engine is selected right? I mean, we should switch between denokv and s3, where is this being made?

Yes, but I thought about doing this in another PR. Are we going to merge the cache switch to the branch as well?

I think its missing somewhere a place where the engine is selected right? I mean, we should switch between denokv and s3, where is this being made?

Yes, but I thought about doing this in another PR. Are we going to merge the cache switch to the branch as well?

I have added it here.


Ephemera transliterated title should show as a second title instead of as a field.

We should be able to do this just by having the JSON-LD export of Figgy Ephemera Folders put  transliterated title in the title field.
Requested during SAE pilot review meeting.

Do this in figgy. Add the transliterated title to the title array on jsonld generation.


fix: BigQueryRetryAlgorithm using a static for uuid

update log lines to be on a single line rather than multi-line
add test to verify running multiple things via BigQueryRetryHelper#runWithRetry

Thank you for the contribution. Closing this PR for now as we are actively working with partner engineers to determine the next steps regarding client retry expectations.


MASS won't load filters from HDF5 properly

Original report by Joseph Fowler (Bitbucket: joe_fowler, ).

Compute filters on a data set and close it (or quit python). Upon reloading, the data.summarize_filters() doesn't work.  Also, the filter.compute(...cut_pre=M, cut_post=N) feature added with #143 does not work with the reloaded filters.
May relate to #145, but it definitely sounds like a recurrence of #82. Which is pretty weird, given that we actually added a test to ensure that it stays fixed! I will assign to myself and investigate, but this might be important for @pszypryt and/or @oneilg to know about.

Original comment by Joseph Fowler (Bitbucket: joe_fowler, ).

@danbek This is the issue we were just discussing on the phone. Does it have something to do with filter v/dv for filters named noconst vs filt_noconst.

Original comment by Joseph Fowler (Bitbucket: joe_fowler, ).

I think my hunch is right: we need to get the name "filt_noconst" vs "noconst" correct in the variance object. Time to fix this!

Original comment by Joseph Fowler (Bitbucket: joe_fowler, ).

Umm. Cannot reproduce this error using the data in regression_test. That might explain why this bug is eluding our tests.

Original comment by Joseph Fowler (Bitbucket: joe_fowler, ).

Loads HDF5 stored filters correctly when compute_filters() called.
Fixes #148. Was previously doing this wrong, but the problem was
difficult to find because the filters were loaded correctly when
the HDF5-backed TESGroup was initially loaded. Caused by a
failure of the DRY principle.

Original comment by Joseph Fowler (Bitbucket: joe_fowler, ).

Put on hold until I can find a test case that demonstrates this bug, or "bug".

Original comment by Joseph Fowler (Bitbucket: joe_fowler, ).

Removing milestone: v0.7 (automated comment)

Original comment by Galen O'Neil (Bitbucket: oneilg, GitHub: oneilg).

Loads HDF5 stored filters correctly when compute_filters() called.
Fixes #148. Was previously doing this wrong, but the problem was
difficult to find because the filters were loaded correctly when
the HDF5-backed TESGroup was initially loaded. Caused by a
failure of the DRY principle.


Tag the misk repo with the version on publish

For context, this is needed for https://github.com/cashapp/misk/pull/2967 but is good practice in general as it allows folks to more easily find the code for a particular version.


Create a new mapillary service call to get ONLY the map objects we're interested in.

Mapillary objects are fetched via GraphQL request to the mapillary backend.
RapiD already knows how to fetch objects from mapillary in the following
code: modules/services/mapillary.js in the mapFeatures() method.
This task requires you to figure out how to create a graphql request to the mapillary backend that only queries for the points that we need.

For now, we filter directly on the return of mapFeatures() method to get the data we need. We're waiting for Chris to see if there's a better way to do this.


How to parse the recipient  address?

This may be a stack question but the docs are not super clear for me so far.
I've setup griddler with sendgrid and the griddler-sendgrid adapter.  I have an initializer and a class which processes the email.  Right now all I'm trying to do is log the from address, body, subject, and to address.
Here's what my code looks like:
email_processor.rb
class EmailProcessor
  def initialize(email)
    @email = email
  end

  def process
    log_dir = '/Users/shakycode/Dropbox/burnonce'
    log = Logger.new("#{log_dir}/griddler#{Time.now.strftime("%m-%d-%Y")}.log")
    log.info "body<EMAIL_ADDRESS>from: #{@email.from[:email]} to<EMAIL_ADDRESS>subject<EMAIL_ADDRESS>  end
end

This works and logs, but for the to address I can't figure out how to pull it out.  As I will be taking the inbound to address and looking it up against users eventually for a match.  I just need to know how to pull the to: address out of the params/hash.
Here's the output in my log with this method being in place.
I, [2016-03-27T10:19:14.982890 #56835]  INFO -- : body: hi from<EMAIL_ADDRESS>to: [{:token=>"test", :host=>"burnonce.com"<EMAIL_ADDRESS><EMAIL_ADDRESS>:name=>nil}] subject: h

When I call @email.to I assumed this to be a convenience method that gives me the destination address i.e<EMAIL_ADDRESS> Do I need to somehow parse this further to get the to email address?
Sorry if this is not a real issue but I've been banging my head for a good hour figuring this out.
It should be noted that I'm testing this in development with Sendgrid posting to an ngrok URL that opens up my rails app.  I'm also on Rails 4.2.6 and Ruby 2.3.0 in case this helps at all.

Hi,
No problem at all. Let's take a look at this:
You are correct that @email.to is a convenience method for getting where the email was sent. Looking at your log output, you can see that @email.to is being printed as:
[{:token=>"test", :host=>"burnonce.com"<EMAIL_ADDRESS><EMAIL_ADDRESS>:name=>nil}]

This is an array of hashes where each hash is detailing what Griddler parsed from the incoming data about the email. In fact, the hashes in this array are of the same structure as the from hash (which you have used to extract the from address via the @email.from[:email] call).
One thing to remember is that an email can be addressed to multiple recipients. That is why @email.to returns an array. So, in order to get the To address here, you can call @email.to.first[:email]. If you need to log every To address in the email, you just need to collect the :email from each hash in the array.

@wingrunr21 Thank you so much for the quick response.  In my half-asleep state I was overlooking the array of hashes.  Next time I should have another cup of coffee before opening issues.  I refactored the class to look like this.
class EmailProcessor
  def initialize(email)
    @to = email.to.first[:email]
    @from = email.from[:email]
    @body = email.body
    @subject = email.subject
  end

  def process
    log_dir = '/Users/shakycode/Dropbox/burnonce'
    log = Logger.new("#{log_dir}/griddler#{Time.now.strftime("%m-%d-%Y")}.log")
    log.info "body: #{@body} from: #{@from} to: #{@to} subject: #{@subject}"
  end
end

And now the log output looks like this:
I, [2016-03-27T10:51:37.861107 #57436]  INFO -- : body: hi from<EMAIL_ADDRESS>to<EMAIL_ADDRESS>subject: hi

Problem solved, again thanks so much for the help and for writing such a great gem.  It definitely came in handy.  I will continue looking at the docs to see what else I can do with this, but so far everything is working as expected.  Appreciate the clarification.
Cheers!


added a codesnippet in an article

Description
This pull request addresses issue #3 by implementing code snippet functionality in the new article "JavaScript Basics" under the JavaScript topic.
you can check that by going to posts/javascript/javascript-basics.html.

Changes Made:

added a code snippet display component to enhance readability and functionality.
created a new topic named javascript
added a new article named javascript basics

@DEV-Soumya-Ranjan-Swain Make some changes in your PR
In the posts folder write a basic article on anything with similar structure which having existing ones
Try to implement your code snippet in that article.

could you elaborate a bit more, I am not getting what do u mean by similar structure which having existing ones

@DEV-Soumya-Ranjan-Swain In the Posts Folder Write a New Article[Choose any Basic level of programming Task]
Use your code snippet functionality in that article
Maintain the structure of the article as remaining articles.

can i choose java and write how to run their first hello world program

i have created a new article with a code snippet, by keeping the rest of the things as it is, you can merge it now

hey can you check my new commits

hey i have done it already, can you review and merge

it's been more than 2 days, can you review and merge it

can you review and merge it

it's been 2 weeks, why are you not reviewing it

@DEV-Soumya-Ranjan-Swain  Sorry for the Delay in the PR Merging
just add a Mobile view for a copy of Document here in the GitHub
incase any updates needed I'll inform either we'll merge it

hey could you review and merge it


Avoid global save of user

Issue location
https://github.com/KarinMeijvogel/datingapp/blob/9dc7daa8ae5093d4f052ff9b013a2d7cb355a8ed/index.js#L23
https://github.com/KarinMeijvogel/datingapp/blob/9dc7daa8ae5093d4f052ff9b013a2d7cb355a8ed/index.js#L38-L44
Issue topics

Error prevention

Issue description
You are initializing session but not doing anything with it. Also, you are saving the user globally, which is considered a bad pattern (If the server restarts, the user is gone).
How to solve
Remove global userid variable
In login function, rewrite userid = req.body.user; to req.session.user = req.body.user.
Then write all references to userid to req.session.user
Benefits

No loss of data on server reset
No global variable that can be overwritten by accident

Disclaimer
Please think about every opened issue and decide wether or not you want to do anything with it. It's not important to do it my way, it's important to be able to explain what you did or didn't do with it and why.

Removed global userid variable. In the login function, the data of the user that's logging is retrieved from the database, and stored in the session.


JJ-Abrams: Empemeral store is undefined, compile issue?

On the JJ-abrams branch: https://github.com/simplabs/ember-simple-auth/pull/602
For some reason ember-cli is compiling the ember-simple-auth/stores/ephemeral (https://github.com/simplabs/ember-simple-auth/blob/jj-abrams/addon/stores/ephemeral.js)  into this.
define('ember-simple-auth/stores/ephemeral', function () {

	'use strict';

});

Cannot reproduce - I'm seeing
define('ember-simple-auth/stores/ephemeral', ['exports', 'ember-simple-auth/stores/base'], function (exports, Base) {

  'use strict';

  exports['default'] = Base['default'].extend({
    /**
      @method init
      @private
    */
    init: function init() {
      this.clear();
    },

    /**
      Persists the `data`.
       @method persist
      @param {Object} data The data to persist
      @public
    */
    persist: function persist(data) {
      this._data = JSON.stringify(data || {});
    },

    /**
      Restores all data currently saved as a plain object.
       @method restore
      @return {Object} All data currently persisted
      @public
    */
    restore: function restore() {
      return JSON.parse(this._data) || {};
    },

    /**
      Clears the store.
       @method clear
      @public
    */
    clear: function clear() {
      delete this._data;
      this._data = '{}';
    }
  });

});

Can you run git clean -dfx && npm install && bower install and check whether the problem persists?

It fixed it on one of my machines. Looks like the other one is having some other type of issues.


Takes time to connect and reply

VS Code Version:
Version: 1.83.0-insider (user setup)
Commit: 7c7f7eee860e299499a3bd2915ad716f09f2d6a6
Date: 2023-09-19T08:56:35.775Z
Electron: 25.8.1
ElectronBuildId: 23779380
Chromium: 114.0.5735.289
Node.js: 18.15.0
V8: <IP_ADDRESS>-electron.0
OS Version: Windows_NT x64 10.0.19045
GitHub Copilot Chat Version : v0.8.202309190
Network: Jio Fiber
Country: Kashmir, India

Steps to Reproduce:

Whenever i open VScode Insider Copiolot chat takes time to connect with the servers and throws this error : Error on conversation request.
Workaround : Then i have to clear chat 2 3 time after then it responses or else have to connect via VPN afterwards it works fine!

Checking if you still have this issue as many updates have been made.

Yes, Issue was fixed last months update and its working fine now, Thank you!


Don't assume memory layout of std::net::SocketAddr

Fixes #119

I just review https://github.com/tokio-rs/mio/pull/1388, let's merge that first and than apply the same changes here. I'll also apply them to the master branch after.

What's currently in this PR now passes both CI and builds and runs all tests when built on top of a toolchain where the memory layout of SocketAddrV4 and SocketAddrV6 has changed. So I think this code is all right currently.
With the help of [patch.crates-io] I have also made sure mio builds and passes all tests when depending on this version of socket2 and runs on my edited toolchain.

I feel happy with the content of this PR now. Ready for review.

Thanks again @faern, one question left about the align feature of libc: is it also needed for Mio?

@Thomasdezeeuw I'm struggling to figure out when and where this is actually needed... Looks like my comment was a bit off, it's in6_addr that has an __align field on some platforms if this feature is not given. But a forgotten field would have given a compilation error, so it can't be needed in mio.

Looks like this feature is automatically activated if compiling on Rust 1.25 or newer: https://github.com/rust-lang/libc/blob/master/build.rs#L57-L59
So maybe it's because socket2 has longer backwards compatibility? Does it?

So it might be needed for the mio 0.6 backport? I'm not sure what the MSRV is for these projects, but it looks like mio 0.7 bumped it to 1.39 so it should not be needed there! If latest mio 0.6 is indeed still on MSRV 1.18 it will likely be needed for that backport.
For socket2 I don't find any MSRV and there is no changelog. So I have no idea :open_mouth:

Wait... If mio 0.6 has to support Rust older than 1.25 then we can't activate said feature. Because libc won't compile with that feature on too old Rust. So if we need to support so old Rust we need to provide the __align field. This is what I currently do with the help of ..unsafe { mem::zeroed() } in my net2 PR https://github.com/deprecrated/net2-rs/pull/106


Get-PublicIPAddress should write an object for detail

I like the -Detailed option in Get-PublicIPAddress. But instead of writing three strings, you should write an object to the pipeline.
If ($Detailed) {
     [PSCustomObject]@{
        City = $Content.City
        Country = $Content.Country
        Hostname = $content.HostName
     }
}

But since you are getting more data, why not return more of it, like TimeZone and Region? You have no way of knowing how a user might want to use the output so make it as rich as possible.  Just make sure your property names are formatted like ZipCode and not  zip_code.

Excellent idea. Function updated to output as object and include additional detail with the -Detailed switch.

Updated.


chore: configure redirect for idos

I've sent a message to Fractal team to update redirect but also let's cover this on our side

Closing this PR in favour of this https://github.com/near/nearorg/pull/33


Pin tensorflow versions with requirement.txt

This will help reproducibility during demos. I will merge direct such that this is available for the next meeting. The versions were tested for both gpu and tpu deployments.

fyi: @qlzh727


Bug/empty-public-title

https://github.com/opentrials/opentrials/issues/155
Changes to be sure we write public_title for every trial.

@vitorbaptista
please take a look on this small thing

@roll I added a comment. Regardless of it, this is good to go IMO :+1:


OAuth2AccessTokenInterceptor can handle Authentication Principal where principalName is null

Is your feature request related to a problem? Please describe.
When OAuth2AccessTokenInterceptor encounters an Authentication Principal where getName is null, it passes the null value on to the OAuth2AuthorizedClientManager, which in practice usually results in a runtime exception like principalName cannot be empty.
Describe the solution you'd like
The code already checks for a null principal an in that case passes ANONYMOUS_AUTHENTICATION. It appears to also make sense to pass ANONYMOUS_AUTHENTICATION for cases with a non-null principal but a null principal name.
Describe alternatives you've considered
Handling a null principal name downstream or upstream appears more complicated and it feels more natural to follow the current implementation of employing the ANONYMOUS_AUTHENTICATION placeholder for cases where the current authentication principal is not suitable.
Additional context
None

Hello @agileknight, thanks for reporting the issue. Makes sense.


[keyvault-secrets] OperationOptions

Continuation from https://github.com/Azure/azure-sdk-for-js/pull/5708

/azp run js - keyvault - ci


Environment dependency install version locking

Hi guys,
Wanted to discuss dependency version locking for python dependencies installed in during environment bootstrap (here). Consider the case where a user is using a custom image for a step executed using AWS Batch - the Python dependencies installed in the container could be compatible with those Batch command pip install deps at testing/deployment time. However, at some later point in time, while in production, the latest PYPI releases for those deps introduces a conflict causing the Batch job to fail in production.
My suspicion is that the maintainers are using the current mechanism to force Metaflow to stay up to date with AWS SDK/CLI deps. Curious to hear thoughts here.
Cheers,
Simon

Hi @avicennax, we install awscli, click, requests and boto3 only if they don't already exist on the container. Our recommendation is to use the @conda feature of metaflow to specify and isolate your runtime environment. Metaflow, by itself, depends on the stable API introduced by these dependencies.

Interesting - in my case boto3 was installed on the image already but still re-installed in the Batch command. If thats case - my container environment is probably violating some Metaflow assumptions. I'll dig a little deeper.
My case aside -  that makes sense to me. Just lock in those dependencies with specified versions using the @conda decorator.
Thanks!


Ilmatieteenlaitos API integration

Story
Developer team has access to the weather information provided by Ilmatieteenlaitos API.
Tasks

[ ] Weather information provided by the API
[ ] Meets the criteria in Definition of Done

added some unittest to backend and some error handling to backend


Bump version to 3.4.0

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Are you making a release? Merge at will.

Yes, I wanted to do a new release. 3.4.0 is correct here, and the 3.4.1 after release, am I getting you here? That seems to be documented already, though not the one about bumping the minor version after a feature got added.

Yes, I wanted to do a new release. 3.4.0 is correct here, and the 3.4.1 after release, am I getting you here? That seems to be documented already, though not the one about bumping the minor version after a feature got added.

Yes, 100%.


hyperkube: Upgrade ceph-common to Jewel LTS

ceph-common clients (ceph, rbd, etc) are at v0.80.7 Firefly, released in 2014 and "retired" last year.
Jewel  is the latest LTS released last year, and I'd guess is the most common version of Ceph deployed right now.  When I upgrade ceph-common to Jewel I seem to have much fewer hangups with RBD PersistentVolumes (none actually).
PR incoming to update Dockerfile.  Thanks.
http://docs.ceph.com/docs/master/releases/

Well I'm not sure if there's a branch I should submit a PR against, the change is simple:
kubernetes/cluster/images/hyperkube/Dockerfile
before:
# [...]
RUN DEBIAN_FRONTEND=noninteractive apt-get update -y \
    && DEBIAN_FRONTEND=noninteractive apt-get -yy -q install \
    iptables \
    # [...]

after:
# [...]
RUN apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 08b73419ac32b4e966c1a330e84ac2c0460f3994 \
    && echo "deb http://download.ceph.com/debian-jewel/ jessie main" > /etc/apt/sources.list.d/ceph-jewel.list \
    && DEBIAN_FRONTEND=noninteractive apt-get update -y \
    && DEBIAN_FRONTEND=noninteractive apt-get -yy -q install \
    iptables \
    # [...]

Any plans to integrate this fix? We're hitting this issue right now and have to manually update the version running in the container.

@saurfangg @bzub we no longer carry a patch to add ceph-common to the hyperkube image since it ships in upstream kubernetes since 1.8.x. [0]. If you are still experiencing this issue I suggest opening it upstream since we would prefer not to start shipping different versions of these packages.
[0] https://github.com/kubernetes/kubernetes/blob/master/build/debian-hyperkube-base/Dockerfile#L35

Closing in favor of https://github.com/kubernetes/kubernetes/issues/45010


Allow streaming multiple outputs

numOutputs > 1 should work with streamable models like OpenAI

This is also going to be a bug in the new OpenRouter model provider, since numOutputs > 1 will just fail

Related: #50


The calico-node service fails to start with error "Could not find container for entity id xxx" displayed

I deployed a kubernetes cluster consisting of 1 master node and 2 minion nodes with calico network selected (using the calico-node image of version v0.18.0). Now, the calico-node service on all the 3 nodes fails to start while the docker and etcd services are running properly. I tried to run the "cailcoctl node" command on the master node, and an error message "APIError: 500 Server Error: Internal Server Error ("Could not find container for entity id xxx“ is displayed. However, the calico-node container exists on one of the mininon node and its status is normal as it can be seen in the output of the "docker ps" command on the minion node. Then, after running "docker exec -it [ID of the calico-node's container]” command on the node, the following messages are displayed:
runsv bird: fatal: unable to lock supervise/lock: temporary failure
runsv bird6: fatal: unable to lock supervise/lock: temporary failure
runsv confd: fatal: unable to lock supervise/lock: temporary failure
runsv felix: fatal: unable to lock supervise/lock: temporary failure
runsv bird: fatal: unable to lock supervise/lock: temporary failure
runsv bird6: fatal: unable to lock supervise/lock: temporary failure
runsv confd: fatal: unable to lock supervise/lock: temporary failure
runsv felix: fatal: unable to lock supervise/lock: temporary failure

What can I do for troubleshooting?

@scjane 0.18.0 is a very old release, please update to the latest release of Calico and verify that the problem still occurs.  The current versions are listed here: http://docs.projectcalico.org/v2.0/releases/

@scjane Closing since we haven't heard from you for some time. Do reopen / comment if there is a reason you must use 0.18.0, or if updating did not resolve your issue.


Various improvements

Hello,
I tried to compile your game on Ubuntu 18.04 LTS but I found that cmake 3.10 does not support add_compile_definitions. This function was introduced in cmake 3.12. So, I fixed the cmake minimum version.
I also found that cppcheck reported variable assignments in some asserts.

Thanks for the request!, merging.


Do not use latest tag to reference base images

The FROM command in a Dockerfile should always reference a version tag and not latest. The meaning of latest changes over time and if you have an old version of an image on your machine that is also tagged with latest, derived images may just not build and run properly because the base layers contain unexpected outdated stuff.
This is also very important if we have to deliver updates and bug fixes in a production environment.

The current automatic build on docker hub only builds two version of the images: master and devel. The Dockerfiles do not specify which tag should be used so a build hook is used to work around this.
It is trivial to properly manage dependencies between Dockerfiles by just adding the version tag in FROM. It looks like docker hub can automatically pick up git-tags as well and build and tag the corresponding images (but this has to be tested). In order to continue having separate a image for devel (master is not needed because it should always belong to a tag), the build hook could replace the version tags with a devel tag when the devel branch is build.

Currently we use /images/*/hooks/build, which should automate building (both locally and on DockerHub).
In particular that script should replace lines like 'FROM hilbert/name' (in corresponding Dockerfile) into 'FROM hilbert/name:SOMETAG', where SOMETAG has to be specified by the build system (i.e. due to target IMAGE_NAME).
It will not happen if one specify FROM image with an explicit tag.

That means what when Dockerhub builds hilbert/gui:SOMETAG it will base it on top of hilbert/base:SOMETAG (since /gui is based on /base), where SOMETAG may be for example latest or devel or master or any version tag.

So in theory, it should just work once automatic building for tags is configured on docker hub, right?

for completeness here is the way to configure DockerHub to deal with git tags: https://stackoverflow.com/a/44796846


IRBuilder sets all 2 reg branches as switch branches, fix this

IRBuilder is setting the flag m_isSwitchBr for all 2 register branch
instructions. Fixing this.

Some BranchOnNoProfile instructions were not getting hoisted across 2 reg branches. FYI @rajatd , @LouisLaf .

@satheeshravi Can you please review ?

:shipit:


Limit guild prune max days to 30

https://github.com/discord/discord-api-docs/commit/cb2a289b1819bcd180b7ffd0d66d3a5a5536127e
Signed-off-by: Cassandra McCarthy<EMAIL_ADDRESS>

Does it fail when given a number of days larger rhan 30 or does it clamp it within the valid number of days? if it is the second we would have to retarget this to 0.4

I don't know about Discord's end, but the request will error out just like before. I guess I need to understand what would be breaking about any changes to the validation module.

If it does get clamped on discords end then previously u64::max_value() was a valid argument, which then means that this is a breaking change. If it does not get clamped and discord just sends a 4xx back then it is not breaking.

Discord sends a 400 when an invalid value is provided.


Add QC check to look for excluded subclassof axioms which are asserted

Fixes #8290
This tests a case where we said, deliberately:
This subclass axiom should not exist, but it turns out, it does!
There are quite a few cases like this; good call to look for that check, I would have thought that existed!

@sabrinatoro can we discuss or is there someone else that can help sort out the remaining qc issues?


Increase the maximum default number of iterations from 30 to 50

Currently the max iterations is 30, but the github resolver often fails just to running out of time. We should increase the default to 50 everywhere relevant in the code.

This is done.


SPM Installation ?

Hi 👋 !
We'd like to test the integration of your SDK in our iOS app...

First of all, the iOS SDK link on your SDK installation guide goes directly to Android SDK GitHub repo 😅

But then I've found it in your iOS Github repo... and here we are: there is no SPM (Swift Package Manager) way available to install it... only an oldschool cocapods podspec...

Do you plan to make possible to install your SDK via SPM ?
We would be able to test it, because honestly, Cocoapods is not an option in 2023...
Thanks for your answer
Best regards
Jeremie

Stonly is available since a couple of month on SPM


Support metadata tables in the Description component

This PR moves the Description component into its own file and adds support for hiding/showing tables of metadata. This metadata can be published with a new METADATA_ADD event type.
Depends on https://github.com/hubmapconsortium/vitessce-image-viewer/pull/178
Fixes #528
Screenshots:

Note: the metadata in the screenshots is fake.

Not necessarily, this line will simply evaluate to false until the loaders have a getMetadata method. https://github.com/hubmapconsortium/vitessce/blob/051cb986f37f07d77fecf668beece4cc2f275b9c/src/components/layer-controller/LayerController.js#L76

And even once the new version of Viv is out there will be no visual change because all of the  imaging layers in Vitessce currently use Zarr, and there is currently no metadata available from the Zarr files.

@ilan-gold @mccalluc  is this required functionality for the HuBMAP portal demo / do we need to decide whether this is blocked by having a standalone (outside-portal) demo?

@keller-mark Seems like a nice-to-have.  Have you been able to test this out with real data?  You can use the example schema I gave in my OME-TIFF PR and just use any of the tiff images from viv.  If that looks good, I think this would be sweet.

@keller-mark  Just tested this out but there might be a bug, so hold tight.

I added a demo on this branch also https://github.com/hubmapconsortium/vitessce/tree/keller-mark/describe-metadata-tiff-demo and pushing now

https://s3.amazonaws.com/vitessce-data/demos/2020-05-15/1ad3062/index.html?dataset=vanderbilt&theme=dark

@keller-mark Looks good in the demo. Small fix here: https://github.com/hubmapconsortium/vitessce-image-viewer/pull/187

Fix works here: https://github.com/hubmapconsortium/vitessce-image-viewer/pull/187#issuecomment-629315138


checkov: 2.0.606 -> 2.0.614

Motivation for this change
Update to latest upstream release 2.0.614
Change log: https://github.com/bridgecrewio/checkov/releases/tag/2.0.614
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

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

1 package built:

checkov


Selecting a Tax Class and Saving/Save and Publish throws a System.AggregateException in Umbraco12

We upgraded from Umbraco 10 to 12.2 with Umbraco.Commerce 10 -> 12 and now when we attempt to save a Product with the Tax Class StoreEntityPicker, we get the following exception thrown on Save and Publish (Or Save):
An error occurred
One or more errors occurred. (Cannot cast dataType configuration, of type StoreEntityPickerConfiguration, to Dictionary`2.)

Exception Details
System.AggregateException, System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e: One or more errors occurred. (Cannot cast dataType configuration, of type StoreEntityPickerConfiguration, to Dictionary`2.)
Stacktrace
at Umbraco.Cms.Infrastructure.Scoping.Scope.TryFinally(Action[] actions)
   at Umbraco.Cms.Infrastructure.Scoping.Scope.Dispose()
   at Umbraco.Cms.Core.Services.ContentService.SaveAndPublish(IContent content, String culture, Int32 userId)
   at Umbraco.Cms.Web.BackOffice.Controllers.ContentController.PublishInternal(ContentItemSave contentItem, String defaultCulture, String cultureForInvariantErrors, Boolean& wasCancelled, String[]& successfulCultures)
   at Umbraco.Cms.Web.BackOffice.Controllers.ContentController.PostSaveInternal[TVariant](ContentItemSave contentItem, Func`3 saveMethod, Func`2 mapToDisplay)
   at Umbraco.Cms.Web.BackOffice.Controllers.ContentController.PostSave(ContentItemSave contentItem)
   at lambda_method1955(Closure, Object)
   at

If I remove the Tax type and attempt to re-publish it works, but then attempt to re-add the Tax it will fail again.
Further information:
When I edit the product, the Tax Type is displayed correctly, so it's obviously reading the data properly.  It's only on save that it causes a problem.

Yes... until I upgraded to v12 everything was working fine

Ok, then I'm really quite confused. v10 also used the StoreEntityPickerConfiguration strongly typed config, so it should have also errored.
I'll have to try and investigate further, but I have applied your fix and pushed to a 12.0.1 preview build on the nightly feed if you wanted to try it https://www.myget.org/F/umbraconightly/api/v3/index.json

Considering this resolved as the fix should work for both v10 and v12


OpenVINO CPU extensions: custom operations support

This module:

is a tutorial of how to support custom CPU operations, unsupported by OpenVINO (how to create OpenVINO CPU extensions)
includes some custom layers that are still required for open source projects that use OpenVINO (see the list in the README)

@dkurt, please, take a look

Should we call the module custom_ops or custom_operations instead of custom_layers? We've been removing the term "layers" from the OpenVINO nomenclature.

@dkurt , @ngaloppo , thanks for the review!:blush: I've fixed all the comments and I think, now it's ready to merge

LGTM. @mbencer could you review with respect to the new extensibility API?

can we also add links to main readme? and maybe Wiki

After offline discussion agreed:

Reflect new module in global Contrib's readme and Wiki
Make OpenCV optional in cmake with warning on cmake configure level and reflect in README.md that OpenCV is required for particular operations.
loadOpenCV seems to be unchecked in the FFT's ctor
let's add root CMakeLists.txt file to enable automatic search via -DOPENVINO_EXTRA_MODULES=<contrib>/modules. Likely after this we don't need changes in .ci like CMake Custom Layers

PR https://github.com/openvinotoolkit/openvino/pull/14485 with ov::parallel_for was merged to the OpenVINO master branch

https://github.com/openvinotoolkit/openvino_contrib/pull/481#discussion_r1045379180
@ilyachur, could you please clarify what you mean?
This script is not a part of the extension, it's needed only for testing and as an example of operation usage.

#481 (comment) @ilyachur, could you please clarify what you mean? This script is not a part of the extension, it's needed only for testing and as an example of operation usage.

So I mean it is a bug if we cannot load extension by relative path :)

With latest changes TBB is not found:
[ 87%] Building CXX object user_ie_extensions/CMakeFiles/user_ov_extensions.dir/sparse_conv_transpose.cpp.o
In file included from /Users/sandye51/Documents/Programming/git_repo/openvino_contrib/modules/custom_operations/user_ie_extensions/complex_mul.cpp:6:
/Users/sandye51/Documents/Programming/git_repo/openvino/src/core/include/openvino/core/parallel.hpp:42:14: fatal error: 'tbb/blocked_range.h' file not found
#    include "tbb/blocked_range.h"
             ^~~~~~~~~~~~~~~~~~~~~
1 error generated.
make[2]: *** [user_ie_extensions/CMakeFiles/user_ov_extensions.dir/complex_mul.cpp.o] Error 1
In file included from /Users/sandye51/Documents/Programming/git_repo/openvino_contrib/modules/custom_operations/user_ie_extensions/fft.cpp:8:
/Users/sandye51/Documents/Programming/git_repo/openvino/src/core/include/openvino/core/parallel.hpp:42:14: fatal error: 'tbb/blocked_range.h' file not found
#    include "tbb/blocked_range.h"
             ^~~~~~~~~~~~~~~~~~~~~
In file included from /Users/sandye51/Documents/Programming/git_repo/openvino_contrib/modules/custom_operations/user_ie_extensions/grid_sample.cpp:6:
/Users/sandye51/Documents/Programming/git_repo/openvino/src/core/include/openvino/core/parallel.hpp:42:14: fatal error: 'tbb/blocked_range.h' file not found
#    include "tbb/blocked_range.h"

BTW, we can restore this workflow instead Azure CI usage.

BTW, we can restore this workflow instead Azure CI usage.

The idea was to use the OV master branch for testing

If some code is taken from 3rd party repos, you need to add such licenses to third-party-programs.txt hosted in repo root. Also please contact Yury Semaev to clarify any potential restrictions.

I can confirm that all the code from https://github.com/dkurt/openvino_pytorch_layers (original source of that PR) is written from scratch and signed with Apache 2.0 license:
// Copyright (C) 2018-2022 Intel Corporation
// SPDX-License-Identifier: Apache-2.0

If some code is taken from 3rd party repos, you need to add such licenses to third-party-programs.txt hosted in repo root. Also please contact Yury Semaev to clarify any potential restrictions.

I've requested a review, waiting for a response

As I'm walking through the documentation as a "guide" (in preparation of a blog post), I'm realizing that we're missing the step of how to generate the ONNX model. Right now you need to go and read the test code to understand how everything fits together. I suggest adding a section in the README (e.g. "Example: complex multiplication") in which we describe the steps to convert a PyTorch model with custom operations and execute it with the OpenVINO Runtime:

Convert example model to ONNX (python -m examples.complex_mul.export_model)
Build the complex_mul extension code
Run with OpenVINO runtime
a. Using benchmark_app, after converting to IR with MO
b. In a Python script, with core.add_extension()

🥳


Check if TypedDataSpecializer misses any important cases on internal apps due to UnmodifiableUint8ListView instantiation

Turns out UnmodifiableUint8ListView is used internally as an immutable wrapper around embedded data.
This means TypedDataSpecializer would not inline any virtual accesses through Uint8List interface - because  UnmodifiableUint8ListView introduces a third-party implementor which does not follow uniform _TypedData layout.
We should check if we leaving calls on any hot code paths due to this - and look into potentials ways to mitigate it.
/cc @mkustermann

This is a known issue, because that class is considered a 3rd party implementation of Uint8List, thereby disabling our AOT optimizations.
We could make it a 1st party implementation of Uint8List and make it use the unified layout. Though that would only make the reading interface fast. We would still need to disable the AOT optimizations  for the writing part, because []= is implemented differently (it throws).
So rather than doing that, I would suggest we introduce a ReadOnlyUint8List interface, which Uint8List implements. That would give users an actual Dart type to use in code where bytes shouldn't be modified.
The UnmodifiableUint8ListView can then implement ReadOnlyUint8List. Downcasts to Uint8List would fail and we could therefore continue to optimize write-interface operations on Uint8List.
/cc @lrhn Can we do this?

In addition to this we would like to make the typed data classes be non-implementable by 3rd party users.

This would also be a stepping stone for us to eventually add support for having compile-time constant byte arrays (e.g. const ReadOnlyUint8List(const <int>[1, ...]))

We generally do not have any "ReadOnly" collection interfaces, and I don't think we'll start now.
If we did that, we should probably have the same for List, Set and Map as well, and potentially a number of other lookup-allowing collections (other than Iterable).
If we did introduce a smaller read-only super-interface for Uint8List (implementing the smaller super-interface of List), then code would have to start using it. Changing any existing API is a breaking change (if it's used as an interface anywhere, someone might implement that interface and require a Uint8List, or if it's used as a return type, someone might be modifying the currently returned value). That makes it basically impossible to use the new type in the existing APIs.
If we don't add the ReadOnlyList superinterface of List then a ReadOnlyUint8List won't be a List any more. That'll make a lot of users unhappy. You can't pass it to Utf8Decoder.decode unless we change that, and that's the aforementioned breaking change.
It will still not help you if someone imports package:typed_data since Uint8Buffer implements Uint8List anyway, so it's not a solution, just a band-aid on the common case.
That reduces the benefit of the change, which means that the cost/benefit ratio gets worse.
The name should not be ReadOnlySomething because a Uint8List would implement it and not be read-only. Always name interfaces for their positive capabilities, because those must be inherited by subclasses. So, Sequence? ReadList? (bad because it says List, but it is-not a List.) Indexable? (Add Uint8 in front for the typed-data version).
The danger of having such an interface is that users will have to consider, for every API they write, whether to use ReadList or List as parameter type, and as return type. You can always use ReadList as parameter if you don't modify the list, and that's the common case, so most users will be using the (currently) uncommon and longer name. You'll probably use ReadList as return type too, if you are programming defensively, but actually return a List, which is bad because some people will likely just cast the result to List and modify it if that is possible.
Not sure the choice is worth the cost in user mental overhead, and I'm not sure it's worth the technical cost. Dart is an interface based language, and AOT compiling interface based languages is ... well, unprecedented. A small tweak in a corner of the libraries is not going to change that, it'll just introduce more complexity for non-guaranteed efficiency.
All in all, not sold on that idea.

If you make typed data classes unimplementable by third parties, then many things are possible (just not third party implementations). It may not change the design issues, but it does make the change more likely to have a guaranteed positive performance impact, and it makes it "more OK" to have special behavior for those particular classes - for example a read-only superinterface (which will not be assignable to List<int>).
Existing classes implementing typed data types will have to stop doing that. That's only a problem if uses of that code relies on those third-party typed data classes being compatible with the platform types. If, say, a Uint8Buffer is only used internally to build the data, then it doesn't matter whether it implements Uint8List. That is likely the case, and that would be the strategy if we seal platform typed data.
I would also really want to make the unmodifiable lists be backed by actual unmodifiable buffers. If you put a bit on the buffer somehow, and check when creating a Uint8List that the buffer is mutable, and when creating an UnmodifiableUint8List that the buffer is not modifiable, then we have defense in depth - unlike the current hack.

/subscribe. Related to Dart and core collection immutability / third party collections:
Sealing or watching List objects: https://github.com/dart-lang/sdk/issues/27755
EfficientLengthIterable for non-SDK libraries: https://github.com/dart-lang/sdk/issues/29862
Statically tracked shared immutable objects: https://github.com/dart-lang/language/issues/125

Also related
const typed data: #6378


I clicked on the helloworld link in the readme for the go example and it 404s

Title says it all. Please fix the link.

None of the go links seem to work :(

Thanks for the report. Sorry about that. Those samples moved to a different repository.

I just fixed the README.


Sync App Libraries

A lot of files are in App Libraries. We should keep them in sync too.

@songchenwen: Thank you very much for submitting your first PR! 👍
It looks like few tests are failing. Please fix the test failures.

Hi @mandarons , I have fixed the test data


Missing passenger_ids in OrderDocument

The Typescript OrderDocument type:
https://github.com/duffelhq/duffel-api-javascript/blob/920405a2a6385cb0355b3677814e74130c3ccaf7/src/booking/Orders/OrdersTypes.ts#L368
is missing passenger_ids as described in your API docs:
https://duffel.com/docs/api/v1/orders/schema#orders-schema-documents
Thanks!

Thank you for reporting, this should be added now here: https://github.com/duffelhq/duffel-api-javascript/blob/920405a2a6385cb0355b3677814e74130c3ccaf7/src/booking/Orders/OrdersTypes.ts#L76


Crash when dragging buttons and input field

Firefox 95.0.2 (64-bit), Windows. Via demo site https://sveltekit-todo.ameo.dev/
You can drag the [+] button, cancel, submit, and the input field by grabbing their edges. If you do, the app produces an error and stops functioning.

Uncaught (in promise) Error: missing 'id' property for item { "isDndShadowItem": true }

You're right, I hadn't noticed that.
I worked around it by disabling dragging of the todos when the AddTodo button is clicked and re-enabling when the mouse is released.