SHA command ATECC608A

Hello, I am trying to use this to make the ATECC608A to execute the SHA command. I send a start command then an update and finally a end command, like written in the datasheet of the chip. But the update command fails and the error is a parse error. But I don't see what I am doing wrong.
Could you help me ?
In attached files you will find the modifications I made for the atecc608.go file
I send a start command first: Param1 = 0x00
Param2 = 0x00, 0x00 (byte 0, byte 1)
Then I send an update command : Param1 = 0x01
Param2 = 0x00, 0x00
Data = 32 bytes randomly generated
Finally I send an end command : Param1 = 0xC2
Param2 = 0x00, 0x00
When I print the result of the start command, it prints : 0x00%!(EXTRA string=) and when I try to use the command to read the context it responds with a parse error to (after the sha_start).
atecc608_moified.zip

Your example doesn't compile and has some issues, here's a better one:
func TestSHA() (res string, err error){
	sha := byte(0x47)

	// initialize
	if _, err = ExecuteCmd(sha, [1]byte{0x00}, [2]byte{0x00,0x00}, nil, true); err != nil {
		return "", fmt.Errorf("init error, %v", err)
	}

	buf := make([]byte, 64)
        cnt := byte(len(buf))

	// update
	if _, err = ExecuteCmd(sha, [1]byte{0x01}, [2]byte{cnt, 0x00}, buf, true); err != nil {
		return "", fmt.Errorf("update error, %v", err)
	}

	// finalize
	h, err := ExecuteCmd(sha, [1]byte{0x02}, [2]byte{0x00,0x00}, nil, true)

	if err != nil {
		return "", fmt.Errorf("end error, %v", err)
	}

	return fmt.Sprintf("got %d bytes: %x", len(h), h), nil
}

However this still doesn't work and I have yet to figure out why as the resulting packets look correct to me:
# initialize (len:0x07, cmd:0x47, mode:0x00, msgLen:0x0000)
cmd:<PHONE_NUMBER>2e85
# update with 64 bytes of zero (len:0x07 + 0x40, cmd:0x47, mode:0x01, msgLen:0x4000)
cmd:<PHONE_NUMBER>000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007ed2
error: update error, parse error

Thank you for your response and the modification of the code.
Do we have to send the length of the data we use in the update command ? Because it is not really clear on the datasheet and I saw on the microchip forum (https://www.microchip.com/forums/m1166562.aspx) that someone don't do it.

As far as I can see the length must always be sent and I don't see any reason why it shouldn't be like that. The device must know the total size of the packet as well as the size of the message within the update.

At this point I am leaning towards the fact that the SHA command requires a configured device to work, even when not computing an HMAC, as the packets seems all correct to me (my test ATECC is not configured/locked in any way).

I configured and locked it. And I still have this error.  The self_test command, given in armoryctl, returns a success for the SHA command.
In the datasheet it is not written that the chip must be configured or locked in any particular way (or am I wrong ?).

The datasheet does not say that, you are correct, I am merely speculating given that I don't see any other explanation. However you cleared that out with your test, so the answer must lie elsewhere.

However, I have a small doubt about the test. In the file atecc608.go, in the Test map (line 72), you have matched the code 0x20 to RNG but on the datasheet it matches the code for the SHA command (Bit 5: If 1, test the SHA function).
Is there any reason for that ?

The ATECC608A datasheet I have says "Bit 5: If 1, test the RNG, including both the DRBG and NRBG....", there is no mention of SHA in the self test. Regardless of this I don't see how SelfTest can affect SHA.

I only found the 2017, "Datasheet Preliminary" online. This is maybe why I have some issues.
ATECC608A.pdf
How can I have the 2018 dataseheet.

The datasheet is available under NDA from Microchip.

I will get it and return here later then.

The 608A is designed to be 508A compatible with few exceptions, therefore the full 608A datasheet should not be required to get SHA going.

I found the issue and I am working on a patch. Stay tuned.

The fix is at https://github.com/f-secure-foundry/armoryctl/commit/4b7296d9ca6ea7eca959f88ef0894a0af28192d1
Rather than patching the library itself, here's sample usage as an import that demonstrates SHA command use:
package main

import (
	"bytes"
	"crypto/rand"
	"crypto/sha256"
	"log"
	"time"

	"github.com/f-secure-foundry/armoryctl/atecc608"
)

func main() {
	op := atecc608.Cmd["SHA"]

	buf := make([]byte, sha256.BlockSize)
	cnt := byte(len(buf))

	if _, err := rand.Read(buf); err != nil {
		log.Fatalf("error: %v", err)
	}

	log.Printf("executing sha256(%x)\n", buf)

	atecc608.CmdExecutionTime = 1 * time.Millisecond

	// initialize
	if _, err := atecc608.ExecuteCmd(op, [1]byte{0x00}, [2]byte{0x00, 0x00}, nil, true); err != nil {
		log.Fatalf("init error, %v", err)
	}

	// update
	if _, err := atecc608.ExecuteCmd(op, [1]byte{0x01}, [2]byte{cnt, 0x00}, buf, true); err != nil {
		log.Fatalf("update error, %v", err)
	}

	// finalize
	h, err := atecc608.ExecuteCmd(op, [1]byte{0x02}, [2]byte{0x00, 0x00}, nil, true)

	if err != nil {
		log.Fatalf("end error, %v", err)
	}

	ref := sha256.Sum256(buf)

	if !bytes.Equal(h, ref[:]) {
		log.Printf("mismatch (%x != %x)\n", h, ref)
	} else {
		log.Printf("success (%x)\n", h)
	}
}

Thank you for your rapid responses and your example. So the problem was about the CmdExecutionTime ?

No, the problem was that we were sleeping after each command, rather than idling, and that caused the internal temporary registers to be cleared, see here.


What should happen when a controller throws during halt caused by an error?

I ran into this edge case, where I am unsure of what the correct behaviour is:
run(function*(inner) {
  inner.spawn(function* willBoom() {
    yield sleep(5);
    throw new Error('boom');
  });
  try {
    yield
  } finally {
    throw new Error('bang');
  }
});

Obviously this is going to reject, but the question is which error is it going to reject with? The boom error is the original error and therefore maybe should have preference, on the other hand the bang error thrown in the controller is "closer" to the task, and therefore an argument could be made that that is the error that should be thrown.

@cowboyd would love to hear your opinion on this.

Maybe this should even be its own very special case, with some kind of composite error which shows both?

Maybe this should even be its own very special case, with some kind of composite error which shows both?

That seems really reasonable especially because this represents what is almost certainly an internally inconsistent state and you want to discourage anybody from recovering from this error. For example, if your body throws a FetchError which you have a catch block for because it is a condition for which you have retry logic, then you don't want the FetchError to "win", so that seems to rule that out.
My gut tells me that either the finally error should win or that we use a composite. The form might be simpler to implement, but even so, we can't not detect the situation because at the very least we need to issue some sort of warning about "hey, this exception was hidden because of an error in your teardown. Uncaught teardown errors should probably be a warning as well even if they don't occur just after a process error.

I just looked into this, and it's very, very tricky to implement correctly, which leads me to think that it's probably not worth it. I think the added complexity is not justified for this.

I'm ok punting on this one 👍🏻


Extension – List Repos: sort by least recently used

Extension – List Repos
Author: @moored
Describe the feature and the current behavior/state.
I suggest having a default sort by recently used repos.
it would improve the user experience significantly, as today there is a long list where most items are not relevant for the user while usually there are only a few that are actually in usage at a given time.
on Authy extension there is the same feature, and it works fantastic.
Who will benefit from this feature?
everyone

🙀

I can definitely see the benefit and will take a look at it.


Update README.md to include recent YT video and blog/tutorial on LLM agent monitoring

Adding a code-along tutorial on LangChain and LLM monitoring + a recent YouTube video featuring LangChain's Harrison Chase

Great, thanks for the add!


[FLINK-12082] Bump up the jython-standalone version

What is the purpose of the change
This PR's  purpose  is  bump up the jython-standalone version
Brief change log

upgrade jython-standalone from 2.7.1 to 2.7.1b3 according to CVE-2016-4000

Verifying this change
This change is already covered by existing tests in flink-streaming-python.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (yes / no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (yes / no)
The serializers: (yes / no / don't know)
The runtime per-record code paths (performance sensitive): (yes /no / don't know)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: (yes /no / don't know)
The S3 file system connector: (yes /no / don't know)

Documentation

Does this pull request introduce a new feature? (yes / no)

Not only was this CVE already addressed in 2.7.1, moving to 2.7.1.b3 would mean downgrading the dependency.


Can't give variant to wrapper of TextField component

I am writing a wrapper component on the top of the TextField component. And the props of my components extending TextFieldProps and I'm passing them to the Mui TextField component. But when I'm giving variant={'outlined'} it is throwing TS error
            Type '"standard" | "outlined"' is not assignable to type '"outlined"'.
              Type '"standard"' is not assignable to type '"outlined"'.ts(2769)

[x ] The issue is present in the latest release.
[ x] I have searched the issues of this repository and believe that this is not a duplicate.

Current Behavior 😯
Error mentioned above
Expected Behavior 🤔
It should be working fine.
Steps to Reproduce 🕹
https://codesandbox.io/s/create-react-app-with-typescript-psteq
Steps:
Context 🔦
I am making a search box using TextField that will hit on google maps API.
Your Environment 🌎

Tech
Version

Material-UI
v4.5.0

React
v16.10.2

TypeScript
3.6.4

Thank you for opening this issue and providing a codesandbox.
This is a bit tricky to get right but can be solved using something like https://github.com/mui-org/material-ui/issues/15697#issuecomment-493419773
This is unfortunately how TypeScript spreads unions.


[Feature Request] [Docs] Add Support Matrix for Models in ServerlessLLM

Prerequisites

[x] I have searched existing issues and reviewed documentation.

Problem Description
To enhance transparency and user experience, ServerlessLLM will introduce a support matrix that lists supported models and their compatibility with different backends (e.g., vLLM), similar to vLLM’s approach.
Proposed Solution
The table will include:

Model architecture (e.g., GPT, BART, T5)
Specific models (e.g., GPT-3, BART-base)
Example HuggingFace models with links to repositories
Backend 1 (e.g., vLLM) with a 'check' mark if supported
Backend 2, Backend 3, etc., with 'check' marks as new backends are supported

This feature will be implemented in the following steps:

[ ] Update Documentation: Add the support matrix table to the documentation, listing supported model architectures, models, and backends.
[ ] Create Testing Infrastructure: Upload a standard test script, a file that tracks a list of supported models, and a corresponding GitHub workflow to automatically verify the models in the list.
[ ] Model Testing and Validation: Allow contributors to test sllm and sllm-store with models not in the list. When a model passes the tests, it can be added to the supported model list, and the GitHub workflow will automatically verify it.
[ ] Bug Fixes: Identify and fix any issues that arise during the testing in Step 3 to ensure robust support for all tested models.

Alternatives Considered
No response
Additional Context
No response
Importance
Nice to have
Usage Statistics (Optional)
No response

I'd like to work on this


perlPackages.UNIVERSALref: broken with perl 5.26+

Motivation for this change
ZHF #45960

Thanks!

backport:
[detached HEAD 414202cd18a] perlPackages.UNIVERSALref: broken with perl 5.26+
Author: volth<EMAIL_ADDRESS>Date: Mon Sep 3 13:15:43 2018 +0000
1 file changed, 1 insertion(+)


add stream in proxy manager so any hostname may be used

not possible at it would require all ports to be forwarded in k8s for npm


How to set and get session value in unit test?

I am trying to add a unit test where the name and age value will be set and then retrieved from a session.
I have tried the following code and i get null value for name and ago.
[TestMethod]
public void SetupSession_WhenIfCalled_ShouldReturnValue()
{
     // Arrange
     var context = new HttpContextMoq.HttpContextMock();
     context.SetupSession();

     // Act
     context.SessionMock.SetString("Name", "Mike");
     context.SessionMock.SetInt32("Age", 21);

     // Assert
     context.Session.GetString("Name").Should().Be("Mike");
  }

Hi @urehman-sopheon
I agree that support for the session isn't great because it's difficult to mock a byte[] for string, int, bool, etc.
@spSlaine awesome work with amazing examples and very well explained 👏
I added better session support with a new implementation of ISession simulating an in-memory store, like we already have to Headers, Cookies, etc.
Check the samples here: https://github.com/tiagodaraujo/HttpContextMoq/blob/master/tests/HttpContextMoq.Samples/SessionSamples.cs
Thank you


crashes when I load the script

Describe the bug
I load the script and it crashes
To reproduce
Steps to reproduce the behavior:
use synapse X v2.15.3c and load the script
then it'll crash
Expected behavior
the game will crash
Screenshots
can't get one, the roblox window just closes, no error message
Desktop (please complete the following information):
windows 10
Synapse v2.15.3c (latest version at the time of typing this)
Additional context
nothing more to add

stfu dumb bi-

now that wasn't very nice


Take a stab at OTP 18 compatability with macro logging

This fails on OTP 18 for the timing issue, not for the macro issue.


Writer: add marker support

I added marker support, including all supported colors in the Avid MC.
Known issues
When a marker is on the first frame of a track it will break the transcription and I'm not sure why. The markers will simply not show up in the Avid.

@markreidvfx maybe you can help me out on this one. I can't figure out why a marker on 0 would break things.


Implement Funding Rate Time Period Toggle

Description
Allow the user to select from a drop-down the time period they wish to view funding rate for.
Related issue
#2148
Motivation and Context

How Has This Been Tested?

Open the Futures page
Select different periods and see the change in the funding rate.

Screenshots (if appropriate):

[ ] Please double check styling with Figma design, on Figma the toggle text (1H, 12H etc.) text is white, on the deployment gray.
[ ] Add some space between toggle text and arrow
[ ] Add down-pointing arrow icon instead

Figma design screenshot for reference:

[ ] The tooltip shows when hovering/selecting the time period toggle, make sure it only shows for when users hover over funding rate label/value, not the toggle.

[x]  Please double check styling with Figma design, on Figma the toggle text (1H, 12H etc.) text is white, on the deployment gray.
[x]  Add some space between toggle text and arrow
[x]  Add down-pointing arrow icon instead

Figma design screenshot for reference:

[x]  The tooltip shows when hovering/selecting the time period toggle, make sure it only shows for when users hover over funding rate label/value, not the toggle.

@platschi All the requested changes have been made. Thanks.

Works great, only one nitpick:
The hover for 1Y is not contained within the rounded dropdown border, making it move out of the box, see screenshot:

Works great, only one nitpick:
The hover for 1Y is not contained within the rounded dropdown border, making it move out of the box, see screenshot:

Good catch. Fixed.


Add files via upload for Harran University

@cihathrustudent ogrenci.txt I am sorry, I have to close the request without merging, because you made a mistake in a request and did not specify any filepath. Please ensure that you are familiar with this repository rules located at the bottom of this page and make a new correct request. Thank you for your understanding!


typeError :  PushNotification.createChannel is not a function

I have been trying to send notifications to Android 8+devices by creating Channel. While calling the createChannel method I get error  PushNotification.createChannel is not a function.
Reproduce Scenario (including but not limited to)
I have used below code in push/lib/client/cordova.js
Meteor.startup(() => {
     if (typeof PushNotification !== "undefined") {
       try {
         PushNotification.createChannel(
           () => {
             console.log("success");
           },
           () => {
             console.log("error");
           },
           {
             id: "id",
             description: "My first test channel",
             importance: 3,
             vibration: true
           }
         );
       } catch (e) {
         console.log("channel not created");
       }
}

This is my Push.send Meteor method:
Push.send({
            from: 'some app°',
            title: title,
            text: text,
            badge: badge,
            payload: {
                title: title,
                text: text,
                android_channel_id:"id"
            },
            query: {
                // this will send to all users
            }
        });

and
Push.Configure({
  android: {
    // Required for Android and Chrome OS
    senderID:<PHONE_NUMBER>59,
    alert: true,
    badge: true,
    sound: true,
    vibrate: true,
    clearNotifications: true,
     icon: 'icon',
     iconColor: 'red'
  },
  ios: {
    alert: true,
    badge: true,
    sound: true,
    clearBadge: true,
    //added categories for buttons on iOS
    categories : {
        "invite": {
            "yes": {
                "callback": "app.openAlert",
                "title": "Open",
                "foreground": true,
                "destructive": false
            }
        }
    }
  }
});

Platform and Version (eg. Android 5.0 or iOS 9.2.1)
Android 8 +
Cordova CLI version and cordova platform version
cordova --version   8.0.1
cordova platform version android  : 6.4.0

Plugin version
cordova plugin version | grep phonegap-plugin-push  2.0.0

What am I doing wrong here?

Same here,
It keeps being undefined.

Try installing from the repo locally. The current version is 2.2.3.

@aishwaryasharma96 it seems like you are using an older version of the plugin, 2.0.0 and the createChannel method was introduced in 2.1.0.

Thanks, @macdonst I will try this and see if works.

It started working I have used plugin version 2.1.2. Thanks for your help @macdonst


Create EXPO Poster

Summary

Create a poster and a YouTube video for Capstone EXPO

Deadline

2023/04/01

Poster Details

Standard turnaround is 3 business days
Order via the online submission form, or direct via email to<EMAIL_ADDRESS>pdf file for printing
poster size of 4ft by 3ft (48 inches by 36 inches)
poster paper versus fabric - the team can decide
poster tube - the team can decide
include in your e-mail:

“Capstone” in your subject line
Your team name (as in TeamComposition.csv)
“A payment arrangement has been made that the CAS department will contribute $50 toward the cost of the poster. The balance will be paid by the team”

pay the balance via credit card by calling the MPS office at<PHONE_NUMBER> X 24446
pick up the poster from MPS

Poster Advice

Poster in repo (./docs/Presentations/EXPO)
What makes a good poster?

Important information readable from about 10 ft
Title is short
Few words (300–800)
Text is clear, to the point
Use bullets, numbering, headlines
Graphics!
Consistent and clean layout
List all team members (maybe with photos?)
Acknowledge external supervisors

Focus on the most impressive aspects of your project
The poster should tell a story
Samples
  - Previous Capstone Poster

Grad posters 2nd floor of ITB, Research poster

Video Advice

Sample video of piano performance pal
Video length of 4 to 6 minutes
Public (ideally) or private link to video on YouTube
- Beginner’s guide to using your phone for videos
You could record your presentation using Teams


Callback gets crashed on Windows

Under some unobvious circumstances, libuv's uv_thread_self() gives NULL on Windows. And because of this CallbackInfo::Invoke() thinks that it is running on main node thread:
uv_thread_t self_thread = (uv_thread_t) uv_thread_self();
if (uv_thread_equal(&self_thread, &g_mainthread)) { ...

If uv_thread_self() gives NULL then the above will always true and DispatchToV8 called on the thread that the foreign function uses to call back our callback. :) I'm getting it with my NOOOCL module, where OpenCL event callbacks are invoked on different threads. And of course on an OpenCL thread there isn't a V8 Isolate instance, so WrapPointer method's first line (NanEscapableScope()) crases with an access violation.
In "unobvious circumstances" I mean I am not geting this libuv issue on my work machine (Windows 8.1 x64). On my home machine I am (Windows 7 x64). Reporter of this issue is getting it: https://github.com/unbornchikken/NOOOCL/issues/2 (Windows 8.1). So I made a PR, where there is a workaround, on Windows GetCurrentThreadId() will determine if we're on node thread or not when called back.

If anyone's suffering from this, I've applied the patch to my ffi-io fork, you can use it instead of ffi till the above PR gets merged.

Looks like I have the same issue. I'm making a call to a function of my custom DLL passing a callback in parameters. This callback is fired on a different thread inside the library and the application just hangs in this case.
I use ffi module from an Atom Shell (which is based on io.js) application on Windows 8.1 x64.
The fork you suggested gets the job done. Gábor, thank you very much for the fix!


Probe not enabling checking for ts files even though eslint is configured if using babel-eslint parser

Hey, we have typescript enabled via babel. (hoping that's not cause for an immediate no).
But basically the plugin won't detect that it's configured. because it expects a very specific parser
Was hoping it could be changed such that the presence of the plugin '@typescript-eslint' could be counted as sufficient configuration.
My feeling is that this is similar to the detection of the vue plugin.
if you're wondering this is our eslint config minus the rules
and yes the cli gives lints, and yes forcing it on in the settings results in lints in vs code
const utils = require('./build/utils.js')

module.exports = {
  root: true,
  parser: 'vue-eslint-parser',
  parserOptions: {
    parser: 'babel-eslint',
    sourceType: 'module',
  },
  settings: {
    'import/resolver': {
      alias: {
        extensions: ['.js', '.vue', '.json', '.ts'],
        map: [
          ['@', utils.root('src')],
        ],
      }
    },
  },
  env: {
    browser: true,
  },
  extends: [
    'standard',
    'plugin:vue/essential',
  ],
  plugins: [
    'vue',
    'import',
    '@typescript-eslint',
  ],
  rules: {
   ...
  },
}

<_< seems my config works for the normal eslint rules without that plugin though, and the config doesn't help do the ts specific rules (uh).
which i guess means that nothing about the config would tell you that ts was enabled. you'd have to check the babel config

@dten your analysis is correct. Still can you please provide me with a GitHub repository I can clone that demos what you are experiencing. Helps setting up a repro and fixing it.

@dten I think I have fixed this in the meantime. Are you still seeing this. If yes, can you please provide a repository I can clone that demos this? Thanks.

FWIW, I'm facing this issue too! I just set up a (really simple) repository that reproduces this problem:
https://github.com/maxedmands/vscode-eslint-bug-repro
(Note that I'm experiencing this in a repository where switching off of babel-eslint isn't an option, at least not in the near term!)

Thanks for the repository. I will look into why probing for this fails. However if you know that everything is setup correctly you can always force the validation using
{
	"eslint.validate": ["typescript"]
}

which makes your example work.


Loot tracker doesn't track PNM loot

Type
Incorrect behavior
Operating System
None
OS Version
No response
Bug description
Reported by discord user lck.alex
Tested in safe mode and recorded on video
I suspect Jagex might have messed with the (P)NM drops like they did with the DT2 bosses, but not sure and I personally haven't tested it ingame
Screenshots or videos
https://github.com/runelite/runelite/assets/7929021/8b7dddd7-e004-454e-a8b0-d66287a727ad
RuneLite version
RL <IP_ADDRESS>
Launcher 2.6.8
Logs
client.log
launcher.log

got the same exact problem. Randomly show some loot. Even though Bigbones also should go in collection log every time, it just doesn't mostly.


bugfix: reject delete pod request by yurthub when cloud-edge network disconnected

What type of PR is this?

Uncomment only one  /kind <> line, hit enter to put that in a new line, and remove leading whitespace from that line:
/kind bug
/kind documentation
/kind enhancement
/kind good-first-issue
/kind feature
/kind question
/kind design
/sig ai
/sig iot
/sig network
/sig storage
/sig storage

/kind bug
What this PR does / why we need it:
when user deletes pod gracefully from cloud,  kubelet need to remove pod from etcd forcefully after cleaning up pods info(like pod volume, network, containers etc.) on edge node. so yurthub need to forward delete pod request carefully as following:

If cloud-edge network disconnected, yurthub should reject delete pod request, so kubelet can retry to delete pod in next interval
when cloud-edge network recovered,  delete pod request will be forwarded to kube-apiserver by yurthub.

so yurthub will return status code=403 for delete request when cloud-edge network disconnected.
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:

Does this PR introduce a user-facing change?

other Note

/assign @Fei-Guo

/assign @zyjhtangtang

/lgtm


What does [u64; 4] mean?

Several structs use the type [u64; 4] for what I suspect is the public key.  For instance in MarketState and LeafNode.
pub struct MarketState {
    // 0
    pub account_flags: u64, // Initialized, Market

    // 1
    pub own_address: [u64; 4],

    // 5
    pub vault_signer_nonce: u64,
    // 6
    pub coin_mint: [u64; 4],
    // 10
    pub pc_mint: [u64; 4],

    // 14
    pub coin_vault: [u64; 4],

pub struct LeafNode {
    tag: u32,
    owner_slot: u8,
    fee_tier: u8,
    padding: [u8; 2],
    key: u128,
    owner: [u64; 4],
    quantity: u64,
    client_order_id: u64,
}

My use case is specifically to:

check if a market's coin_mint matches the address of a program account; and to
find public key used for placing a serum order, from owner field in LeafNode.

You should be able to use it as a Rust Pubkey, using the Pubkey::new constructor.
Example: https://github.com/project-serum/serum-dex/blob/master/assert-owner/src/lib.rs#L12
let pubkey = Pubkey::new(instruction_data);

I could be wrong though.

Pubkey::new() takes in a parameter of type &[u8] (byte array), so this doesn't work directly. I'll try converting [u64; 4] into this format and see.

Gotcha, this should be in the SDK.
let mut address_vector: Vec<u8> = vec![];
for address_unit in market_data.bids.iter() {
    let converted_address_unit = address_unit.to_le_bytes();
    address_vector.extend(converted_address_unit.iter());
}
let bids_pubkey = Pubkey::new(&address_vector[..]);

But interested in knowing why [u64; 4] format was used instead of &[u8] for storage.

Correct that [u64; 4] is for Pubkeys. Closing as there's no action item here.


Duolingo: set it up for ITP learners interested in joining as trainees

CEFR B2 certificate: is this Duolingo?

Create backlog ticket
Organise vouchers
Communicate this on ITP channel and to volunteers

Asked on ITP Syllabus about this: https://codeyourfuture.slack.com/archives/C076K3V76CA/p1729003128252669

Requested 50 extra vouchers to Duolingo

New ticket: https://github.com/CodeYourFuture/Module-User-Focused-Data/issues/236
Communicated in ITP General and Intro to programming channels.

Waiting for 40 extra vouchers.
S/S with who received it is here: https://docs.google.com/spreadsheets/d/1DT40077l3CWLBjo0JQAG8A5OJxl72DPUaw5SJaXLAfc/edit?gid=0#gid=0

All vouchers sent.


moor_ffi does not validate prepared queries

Consider this code (moor_ffi version 0.6):
import 'package:moor_ffi/database.dart';

void main() {
  var db = Database.memory();
  db.execute('CREATE TABLE foo (i INT PRIMARY KEY);');

  var insert = db.prepare('INSERT INTO foo (i) VALUES (?)');
  List.generate(10, (index) => insert.execute([index]));
  insert.close();

  var select = db.prepare('SELECT * FROM foo WHERE i > ?;');

  // I think I should get exception here, I forgot to pass a parameter to query
  var results = select.select().toList();
  // prints [],
  print(results);

  results = select.select([5]).toList();
  // prints [{i: 6}, {i: 7}, {i: 8}, {i: 9}], as expected
  print(results);

  results = select.select().toList();
  // prints [{i: 6}, {i: 7}, {i: 8}, {i: 9}] and this is totally unexpected
  print(results);
}

I think that NOT passing query parameters should be considered as an error and should raise Exception like: "Your query has 1 parameter(s) but no query parameters passed".
Second thing may be related to #607: I didn't pass any parameters to query, so I'd expect getting Exception. Surprisingly, I got same output as on previous query -- were my parameters cached somewhere?

This matches sqlite's behavior, and I'm not sure if it's easy to spot those errors.

I think that NOT passing query parameters should be considered as an error

I'm not aware of an sqlite api to count the amount of expected parameters in a query, so moor_ffi can't warn about misuse here. The default value for an unbound parameter in sqlite is NULL, so the query matches no rows without reporting an error.

prints [{i: 6}, {i: 7}, {i: 8}, {i: 9}] and this is totally unexpected

Yes, that can be surprising. A PreparedStatement essentially wraps a sqlite3_stmt, so we use the same instance across multiple select or execute calls. Inside those methods, we call sqlite3_bind_* for each argument. When there's no argument, we're not re-binding anything. I'm not aware of an api to reset all argument values. We could manually set arguments that were bound before back to null for consistency though.
In general, package:moor_ffi/database.dart is a rather low-level wrapper around sqlite3's C-api (with some adoptions for memory management and error handling). So it closely matches sqlite3's behavior here, even if that can be unintuitive.

In general, package:moor_ffi/database.dart is a rather low-level wrapper around sqlite3's C-api

I get your point, but please understand mine: as an end user I feel it  "buggy", not "low-level".
To the point:

I'm not aware of an sqlite api to count the amount of expected parameters in a query,

I think it should be easy: assuming, that ? characters must be inside () brackets and after VALUES keyword we can count number of ? and if it does not match length of an array it is an error. I saw similar approach in (I think) pymssql, a Python library for MS SQL Server.
As stated elsewhere I am too new to Dart to create a PR, but I think I can prepare MWE on parameter matching.

Parsing my sql statements at runtime to give behaviour that’s different from sqlite’s is not something I’d expect from a low level sqlite wrapper library.
Maybe have a look at the main moor library - it has a really nice higher level query builder API that can generate the correct number of query parameters.

we can count number of ? and if it does not match length of an array it is an error

We also have to take comments, string literals and identifiers ("?") into account. It's even more complicated than that: SELECT ?5 requires 5 variables, but SELECT ?, ?1 only has one.
It's not hard to get that right (moor_generator and sqlparser should), but it requires proper scanning and has some overhead for each query. I know that sqflite tries to replace variables with int literals on Android, and that caused some strange bugs in the past. I would prefer to avoid something like that in moor_ffi, especially since the benefit seems to be rather low.
If there's a supported mechanism for this in sqlite, it should be used by moor_ffi. But AFAIK there isn't, and in this case it seems fragile to add our own.

I just found out about sqlite3_bind_parameter_count, so this can be implemented relatively safely.


How to keep left/right shift distinct, but remap shifted keys?

I would like leftshift and rightshift to emit distinct events (I use touch typing software that detects this to enforce using the opposite shift). I achieved that like this:
[main]
rightshift = rightshift

However, I'd now like to map shift+esc to a backtick. I tried writing this:
[main]
rightshift = rightshift

[shift]
esc = `

But that only works for left shift, since rightshift is no longer bound to the shift layer. Then I tried
[main]
rightshift = layer(rightshift)

[shift]
esc = `

[rightshift]
esc = `

But now rightshift doesn't function as a normal shift key. Finally I tried
[main]
rightshift = layer(rightshift)

[shift]
esc = `

[rightshift:S]
esc = `

But now the distinction between left and right is gone again. How can I do this?

Try rightshift = overload(shift, rightshift) if your software requires the difference only when rightshift is tapped in isolation. Is that the case?
Otherwise, you can use the following hacky solution:
[main]
rightshift = layer(rightshift)

[shift]
esc = `

[rightshift:S]
esc = `
a = rightshift+a
b = rightshift+b
# etcetera

Later, I will link some related issues. Especially you have to use the second suggestion, your use case would be quite relevant there.

Thanks for the quick response!

Try rightshift = overload(shift, rightshift) if your software requires the difference only when rightshift is tapped in isolation. Is that the case?

Unfortunately not, the main point of it is for ensuring the correct typing capitalised letters. I will try the hacky solution - I had rejected it before but I didn't think of making it inherit from normal shift so I only had to write out combinations where the distinction was important. Thanks!


[1.21] Issue Title Generator Recipe not showing in EMI

basically all other recipes are showing in EMI and JEI however the generator recipes (items used to generate power in the generators) do not show in EMI
Industrial Foregoing Version:
1.21-3.6.15
Titanium Version:
1.21-4.0.21
Crashlog If Applicable (Upload to pastebin/gist):

also effects the latex processing unit, maybe due to no recipes?


HTML

HTML
User Story
As a bootcamp student
I want pre-work notes to be structured on a webpage
so that I can easily find and read information
Acceptance Criteria
GIVEN a pre-work Study Guide Website
WHEN I visit the website in my browser
THEN I see four boxes titled HTML, CSS, Git, and JavaScript with associated notes listed

Hey I would be happy to help you with that


Update VesselView to Slicer-4.4-2015-03-09

@aylward  This branch still needs to bump TubeTK to the latest commit when the pull request (https://github.com/KitwareMedical/TubeTK/pull/396) will be merged.
Other than that, it compiles on Linux, I haven't tried on Windows yet.

@aylward The build on errai include only the commit ecc2e89.
It should build correctly, and will probably be done tomorrow.

Great news!
I just got the compiler installed and all of the microscoft updates
installed.  I am about to try compiling it too.
Thanks!
s
On Tue, Mar 10, 2015 at 10:42 PM, Matthieu Heitz<EMAIL_ADDRESS>wrote:

@aylward https://github.com/aylward The build on errai include only the
commit ecc2e89
https://github.com/KitwareMedical/VesselView/commit/ecc2e89c8ce9a1d35fb679f19f977db33e2f9e78
.
It should build correctly, and will probably be done tomorrow.
—
Reply to this email directly or view it on GitHub
https://github.com/KitwareMedical/VesselView/pull/89#issuecomment-78190185
.

--
Stephen R. Aylward, Ph.D.
Senior Director of Operations, North Carolina, Kitware, Inc.
http://www.kitware.com and http://www.aylward.org
(919) 969-6990 x300

And if you are using VS2008 to create package, make sure to run this
script: https://gist.github.com/jcfr/3c7bef3f8b32f9f6ad4b#comment-1271486
Hth
Jc
On Wed, Mar 11, 2015 at 12:09 AM, Stephen R. Aylward <
<EMAIL_ADDRESS>wrote:

Great news!
I just got the compiler installed and all of the microscoft updates
installed. I am about to try compiling it too.
Thanks!
s
On Tue, Mar 10, 2015 at 10:42 PM, Matthieu Heitz<EMAIL_ADDRESS>
wrote:

@aylward https://github.com/aylward The build on errai include only
the
commit ecc2e89
<
https://github.com/KitwareMedical/VesselView/commit/ecc2e89c8ce9a1d35fb679f19f977db33e2f9e78
.
It should build correctly, and will probably be done tomorrow.
—
Reply to this email directly or view it on GitHub
<
https://github.com/KitwareMedical/VesselView/pull/89#issuecomment-78190185
.

--
Stephen R. Aylward, Ph.D.
Senior Director of Operations, North Carolina, Kitware, Inc.
http://www.kitware.com and http://www.aylward.org
(919) 969-6990 x300
—
Reply to this email directly or view it on GitHub
https://github.com/KitwareMedical/VesselView/pull/89#issuecomment-78202127
.

--
+1<PHONE_NUMBER>


Search Interface User Experience - Hover Label Text

When users go to the search interface, buttons that don't have a text label should have a label that pops up when the cursor hovers over it. Example is in image attached.
Buttons that should have labels:

[ ] Login - "Login"

[ ] Bell icon - "Notifications"

[ ] Question mark icon - "Help"

[ ] Exit icon - "Logout"

[ ] Time filter - "Date Filter"

[ ] Download Icon - "Download"

[ ] Create Label WITHIN Bookmark button beside Bookmark icon to say "Featured Searches" like example attached (except keep same bookmark icon and not star icon)

[ ] Please provide analysis of how much effort/cost it would be to rename the "Time Filter" to "Date Filter"

These should be working, however it seems like the bootstrap/dist JS library is missing from the page. Need to look at why that's the case.


Wallet - Back button in Wallet loops between Wallet and Add bank account

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 1.4.61-0
Reproducible in staging?: Y
Reproducible in production?: N
If this was caught during regression testing, add the test name, ID and link from TestRail: N/A
Issue reported by: Applause - Internal Team
Issue found when executing PR https://github.com/Expensify/App/pull/39038
Action Performed:

Launch New Expensify app
Paste the link https://staging.new.expensify.com/settings/wallet/add-bank-account-refactor
in chat
Tap on the link
Tap on the back button
Tap on the back button again

Expected Result:
After tapping on the back button in Wallet page, app will redirect to settings page
Actual Result:
Back button in Wallet page loops between Wallet and Add bank account page after navigating to https://staging.new.expensify.com/settings/wallet/add-bank-account-refactor
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

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

Screenshots/Videos
Add any screenshot/video evidence

https://github.com/Expensify/App/assets/78819774/5d862996-ec7c-404d-947b-9e81b119d0e6
View all open jobs on GitHub

@AndrewGable  FYI I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors

Tagging those involved in https://github.com/Expensify/App/pull/39038: @koko57 @barttom @ArekChr @rezkiy37 @shawnborton @Pujan92 @mountiny
Can you see if this regression is related? Thanks

Yes, it is related to linked PR. @koko57 I think we should not pass any fallback route for goBack as that pattern I am seeing at other places.
https://github.com/Expensify/App/blob/6ec5811c57c67a3373ed11284e60509c2a1e4d16/src/pages/EnablePayments/AddBankAccount/AddBankAccount.tsx#L67
As this flow is not open to user yet, we can remove deploy blocker for this.

Just to confirm @Pujan92 - It's under a beta? Or what do you mean by "As this flow is not open to user yet"?

Actually, this wallet refactor is still under process and at the moment the users are navigated to the old flow only(where this issue doesn't persist). New flow navigation will be replaced with the old one once all the steps of refactoring are completed.

@AndrewGable the refactor is still work in progress and all the issues will be resolved in the following PRs.

I can take over and monitor with @koko57 its part of https://github.com/Expensify/App/issues/36648 and the flow is behind specific route, we will address this in the follow up PRs before we enable the flow for actual users

Making this monthly as the refactor is ongoing

The refactor should be done soon, last PR remaining

the refactor is done. @lanitochka17 could you please retest if this issue is still repro?

@mountiny Bug is fixed.
https://github.com/Expensify/App/assets/43996225/762153d6-75e8-42d7-91be-3e29b9728d53

🎉


Remove value policy from core

fixes: https://github.com/Azure/azure-sdk-for-cpp/issues/1767
No changelog because the policy was Internal only

https://dev.azure.com/azure-sdk/public/_build/results?buildId=786398&view=logs&j=70e13c24-1688-50ce-17e7-be375e71fa16&t=62d2e991-4d61-5843-f80c-7b32310abe2c&l=3074
Looks similar to https://github.com/Azure/azure-sdk-for-cpp/issues/1889
2021-03-16T16:46:47.3009923Z test 139
2021-03-16T16:46:47.3010691Z         Start 139: azure-core.Test/TransportAdapter.get/libCurl
2021-03-16T16:46:47.3011082Z
2021-03-16T16:46:47.3012120Z 139: Test command: /mnt/vss/_work/1/s/build/sdk/core/azure-core/test/ut/azure-core-test "--gtest_filter=Test/TransportAdapter.get/libCurl" "--gtest_also_run_disabled_tests"
2021-03-16T16:46:47.3012996Z 139: Test timeout computed to be: 10000000
2021-03-16T16:46:47.3034068Z 139: Note: Google Test filter = Test/TransportAdapter.get/libCurl
2021-03-16T16:46:47.3034829Z 139: [==========] Running 1 test from 1 test suite.
2021-03-16T16:46:47.3035831Z 139: [----------] Global test environment set-up.
2021-03-16T16:46:47.3036711Z 139: [----------] 1 test from Test/TransportAdapter
2021-03-16T16:46:47.3037601Z 139: [ RUN      ] Test/TransportAdapter.get/libCurl
2021-03-16T16:46:47.4658787Z 139: unknown file: Failure
2021-03-16T16:46:47.4660848Z 139: C++ exception with description "Fail to get a new connection for: httpbin.org. Couldn't resolve host name" thrown in the test body.
2021-03-16T16:46:47.4663598Z 139: [  FAILED  ] Test/TransportAdapter.get/libCurl, where GetParam() = 48-byte object <70-96 4F-45 EE-55 00-00 07-00 00-00 00-00 00-00 6C-69 62-43 75-72 6C-00 73-70 6F-72 74-41 64-61 50-83 4F-45 EE-55 00-00 40-83 4F-45 EE-55 00-00> (161 ms)
2021-03-16T16:46:47.4665129Z 139: [----------] 1 test from Test/TransportAdapter (161 ms total)
2021-03-16T16:46:47.4665801Z 139:
2021-03-16T16:46:47.4666575Z 139: [----------] Global test environment tear-down
2021-03-16T16:46:47.4667274Z 139: [==========] 1 test from 1 test suite ran. (161 ms total)
2021-03-16T16:46:47.4668038Z 139: [  PASSED  ] 0 tests.
2021-03-16T16:46:47.4668706Z 139: [  FAILED  ] 1 test, listed below:
2021-03-16T16:46:47.4670338Z 139: [  FAILED  ] Test/TransportAdapter.get/libCurl, where GetParam() = 48-byte object <70-96 4F-45 EE-55 00-00 07-00 00-00 00-00 00-00 6C-69 62-43 75-72 6C-00 73-70 6F-72 74-41 64-61 50-83 4F-45 EE-55 00-00 40-83 4F-45 EE-55 00-00>
2021-03-16T16:46:47.4671434Z 139:
2021-03-16T16:46:47.4671987Z 139:  1 FAILED TEST
2021-03-16T16:46:47.4673107Z 139/165 Test #139: azure-core.Test/TransportAdapter.get/libCurl .............................***Failed    0.17 sec
2021-03-16T16:46:47.4673939Z test 140
2021-03-16T16:46:47.4674842Z         Start 140: azure-core.Test/TransportAdapter.get204/libCurl
2021-03-16T16:46:47.4675361Z
2021-03-16T16:46:47.4676585Z 140: Test command: /mnt/vss/_work/1/s/build/sdk/core/azure-core/test/ut/azure-core-test "--gtest_filter=Test/TransportAdapter.get204/libCurl" "--gtest_also_run_disabled_tests"
2021-03-16T16:46:47.4677610Z 140: Test timeout computed to be: 10000000
2021-03-16T16:46:47.4699517Z 140: Note: Google Test filter = Test/TransportAdapter.get204/libCurl
2021-03-16T16:46:47.4700214Z 140: [==========] Running 1 test from 1 test suite.
2021-03-16T16:46:47.4701149Z 140: [----------] Global test environment set-up.
2021-03-16T16:46:47.4701847Z 140: [----------] 1 test from Test/TransportAdapter
2021-03-16T16:46:47.4702356Z 140: [ RUN      ] Test/TransportAdapter.get204/libCurl
2021-03-16T16:46:47.6319730Z 140: unknown file: Failure
2021-03-16T16:46:47.6322604Z 140: C++ exception with description "Fail to get a new connection for: mt3.google.com. Couldn't resolve host name" thrown in the test body.
2021-03-16T16:46:47.6324665Z 140: [  FAILED  ] Test/TransportAdapter.get204/libCurl, where GetParam() = 48-byte object <D0-34 75-2D 9E-55 00-00 07-00 00-00 00-00 00-00 6C-69 62-43 75-72 6C-00 69-63 61-74 65-00 00-00 30-0A 75-2D 9E-55 00-00 20-0A 75-2D 9E-55 00-00> (162 ms)
2021-03-16T16:46:47.6328227Z 140: [----------] 1 test from Test/TransportAdapter (162 ms total)
2021-03-16T16:46:47.6329187Z 140:
2021-03-16T16:46:47.6330248Z 140: [----------] Global test environment tear-down
2021-03-16T16:46:47.6331221Z 140: [==========] 1 test from 1 test suite ran. (162 ms total)
2021-03-16T16:46:47.6332086Z 140: [  PASSED  ] 0 tests.
2021-03-16T16:46:47.6332896Z 140: [  FAILED  ] 1 test, listed below:
2021-03-16T16:46:47.6334620Z 140: [  FAILED  ] Test/TransportAdapter.get204/libCurl, where GetParam() = 48-byte object <D0-34 75-2D 9E-55 00-00 07-00 00-00 00-00 00-00 6C-69 62-43 75-72 6C-00 69-63 61-74 65-00 00-00 30-0A 75-2D 9E-55 00-00 20-0A 75-2D 9E-55 00-00>
2021-03-16T16:46:47.6335858Z 140:
2021-03-16T16:46:47.6336616Z 140:  1 FAILED TEST
2021-03-16T16:46:47.6338069Z 140/165 Test #140: azure-core.Test/TransportAdapter.get204/libCurl ..........................***Failed    0.17 sec

The following tests FAILED:
	139 - azure-core.Test/TransportAdapter.get/libCurl (Failed)
	140 - azure-core.Test/TransportAdapter.get204/libCurl (Failed)
	141 - azure-core.Test/TransportAdapter.getLoop/libCurl (Failed)
	142 - azure-core.Test/TransportAdapter.head/libCurl (Failed)
	143 - azure-core.Test/TransportAdapter.put/libCurl (Failed)
	144 - azure-core.Test/TransportAdapter.deleteRequest/libCurl (Failed)
	145 - azure-core.Test/TransportAdapter.patch/libCurl (Failed)
	146 - azure-core.Test/TransportAdapter.getChunk/libCurl (Failed)
	147 - azure-core.Test/TransportAdapter.putErrorResponse/libCurl (Failed)
	148 - azure-core.Test/TransportAdapter.getWithStream/libCurl (Failed)
	149 - azure-core.Test/TransportAdapter.getLoopWithStream/libCurl (Failed)
	150 - azure-core.Test/TransportAdapter.headWithStream/libCurl (Failed)
	151 - azure-core.Test/TransportAdapter.putWithStream/libCurl (Failed)

Don't merge breaking changes until storage release is done.


Temporary removal of RangeSet/DiscontiguousSlice

@swift-ci Please smoke test

@swift-ci Please smoke test

I might be wrong, but maybe https://github.com/apple/swift/blob/main/test/api-digester/stability-stdlib-abi-without-asserts.test should have the same modification as the -with-asserts.test. It seems to be making the CI fail and not publish nightlies: https://ci.swift.org/view/Packages/job/oss-swift-package-osx/.

The API removals should only be listed in the -without-asserts.test file, which is then used by the other file:
https://github.com/apple/swift/blob/6a6689554a61fddda1ee9601ae20194c74099cd8/test/api-digester/stability-stdlib-abi-with-asserts.test#L30-L31
If you list them in both files, then the test will fail (or at least it did when I tried it a few months ago).


Add implementation of SIFT algorithm.

Add the basic implementation of SIFT (Scale-Invariant Feature Transform) algorithm to extract keypoints and compute its descriptors.

Hey @noviicee, it has already been assigned.
Please check #10.


Deprecated

I think the diagram is removed on your last version of SSMS

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

ID: a8bc803d-3aee-0e1f-ab64-31c5af48e9f9
Version Independent ID: 472fcb4b-39c3-72a3-d2af-4eba68b72f04
Content: Create a New Database Diagram (Visual Database Tools) - SQL Server
Content Source: docs/ssms/visual-db-tools/create-a-new-database-diagram-visual-database-tools.md
Product: sql
Technology: ssms
GitHub Login: @markingmyname
Microsoft Alias: maghan

Hi @Brinsi! Thank you for bringing this issue up to us! We really appreciate it. I'm assigning my colleague, Mark to investigate.
cc: @markingmyname

I'd just like to add my voice... removing one of the top 3 most valuable features from this product is probably going to hurt the product - quite a lot.
If the team can't make it work for Azure databases, we can live with it being grayed out for them, but for non-Azure databases, this feature is not optional.
Reverting to previous version now until you get this fixed.

I Agree with @TrevorMullen. If this is a mistake you are forgiven.

So I haven't used this feature in awhile. I just went looking for it for a brand new large project and I can't find it anywhere. Then I find this post. Seriously? Deprecated?

Thank you all for your suggestions and requests. We're on it. This will be discussed with the parties involved.

Hello to @Brinsi and to all of you,
There were some decisions made, but ultimately we are hoping to return the feature back in version 18.1 GA.
We apologize for any inconvenience.
Hope this helps.
Thank you.

We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion, and we will reopen the issue.

Great, thanks.

Excellent news, thank you.
I't be really great if we could see a couple of updates to the tool...
I always use A3 size paper to get enough tables on the page.
I believe that an excellent addition would be an option to automatically add off-page-connectors as part of the page-break function.  ie: any time your diagram takes more than one page to print, given the current scaling factor, this option will add a simple meaningful label (letter?) to each relationship line that crosses a page boundary.
Maybe even an option to colour code the tables??
eg: 1. automatically add colours based on the most heavily linked tables, working down to white only for tables with very the least links.
eg: 2. manually tag individual (important) tables to be colour coded.  eg: tag people related tables as light-green and product related tables as light-yellow.
Note: it occurs to me that if your allow darker colours and the colours selected are too intense, the ability to select a different colour text may also be required.  Or make the switch to white automatic when the intensity of the selected background goes over a limit.

@markingmyname, I hope this feature is indeed returned.  It would be be nice if it was initially launched from a different location when it is brought back.  Maybe adding diagram support to a database could be a right click option in the database and the Database Diagrams folder wouldn't appear until that was used.
It would also be nice if I could export the database diagram to a PDF with paper sized as large as is needed to make it fit if I had no intention of physically printing it.
Thanks.

Still I can't see relationship between tables for azure database..am using 18.6 ssms version... is there any other free tool to get ERD for database

@all -- please consider these resources:

SQL Server on Microsoft Q&A
DBA Stack Exchange
Stack Overflow


Improve installation PROTEUS instructions

I went through the installation instructions in INSTALL.md and tried to find any rough edges. A few things that would be good to further clarify:

It may be the person has neither brew nor macports installed. A link to where/how to install these would be helpful in Step 1
Step 3.vi: It is unclear how make.globaloptions must be set on MacOS. For SOCRATES (3.iv) the installation is much clear and more straightforward. It would be good to give an example or a hint on how to find out which is the appropriate executable, and how to set it correctly.

Please add further suggestions to this issue as you discover them.

Added many fixes and troubleshooting tips for installations on ARM and Intel Macs.


CyclicBuffer: Updates

Allow write if the requested size is less than free size, to avoid infinite loop
Updated AssureFreeSpace logic to avoid inifinite looping with free and required with same size condition
Set/Reset Overwritten flag once freeing the space for write (in overwrite enabled mode)
Add assert if buffer create with readonly mode
Check _administrator pointer also for buffer validity
Lock deadlock issue fixes

Thanks @pwielders, for the comments, will look and update the details

Splitting this PR changes, hence closing this and will create new one with initial set changes : https://github.com/rdkcentral/Thunder/pull/890


Improving style for batch-seed-btn

Colored text button looks good to me.No need to make it look like a real button.

For me it looks much better like a small button.


Move datum implicits to a package higher

since it is not part of the grammar per se. Also added its own package object, so it can be imported. Importing org.scalarules.dsl.nl.grammar._ in a BerekeningTest will not work properly with the 'is' implicit of the TestDsl. This package move makes it more clear that you can (and should) import the DatumImplicits on its own.

👍


Importing @deepgram/sdk/browser is throwing: SyntaxError: Unexpected token 'export'

What is the current behavior?

When trying to do the following

import { Deepgram } from '@deepgram/sdk/browser'

I run into this error
SyntaxError: Unexpected token 'export'

This is running on a NextJs localhost environment.

I have the same error. The browser version is not exported...
It looks like the doc is outdated.

@Limeslices @IvanCoronado what version of the SDK were you using? Sorry for the late response. I had an example of this syntax working in v1.11.0 and still in v1.18.0.
Let me know if you are still running into issues.

Closing due to the age and no followups. Please use the latest version and raise a new issue if this continues to be a problem.


Support for PTZ

I have a camera with pan/tilt/zoom with commands triggered by URL requests. It would be awesome to be able to control PTZ from the plugin window itself

I'll be happy to have that too.

+1


Android position absolute + transform animation makes disappear a button

Is this a bug report?
Yes
Have you read the Contributing Guidelines?
Yes
Environment
In your terminal run react-native info and paste its contents here. Next, specify your target platform, like this:
Environment:
OS: macOS Sierra 10.12.6
Node: 6.11.2
Yarn: Not Found
npm: 3.10.10
Watchman: 4.4.0
Xcode: Xcode 9.1 Build version 9B55
Android Studio: 3.0 AI-171.4443003
Packages: (wanted => installed)
react: 16.0.0 => 16.0.0
react-native: 0.50.3 => 0.50.3
Target Platform: Android
Steps to Reproduce
On ios, everything is working fine. The red button appears and pressing it, the blue box springs up.
On android, I the red button does not appear, only the blue box.
I know that position: 'absolute' are not handled very well on android. I also noticed that removing backgroundColor: '#anycolor' on the overlapped View fixes the issue sometimes but in this case seems not to accept animation attached to the overlapped View and its backgroundColor...
Expected Behavior
I just expect to see the button on android and make sure the animation works the same than on
working demo on ios
Hint
When I comment

l.182 to l188 ./components/OptionsButton.js

{
    transform: [
         {
               translateY: menuMoveY,
          },
     ],
 },

&&

l.9 backgroundColor: 'blue',in  ./components/styles.js

=> the button will be displayed on android.
Reproducible Demo
Once again the button is not display on android only. all good on ios
snack

Anyone has any idea? I am not familiar with posting issue but I find my case is pretty well explained and follow the guidelines

I managed to solve this by adding a style to the Animated.View element that wrapped my View

Hey @sylvain75 ! Have you managed to solve this one? @leowilsoncordones what exactly do you mean by "adding a style to the Animated.View element"? How does your style object look like?

So I just added left: 0 to style of the "absolute" component and it solved the problem.

@aarkalyk Are you talking about adding left: 0 to the OptionButton component styles.container?
I did not solve this issue and removed the animation for now

I'm experiencing the same problem. In my case, when I add transform the element goes under all other absolute elements, ignoring every other positioning rule. Commenting the rotation, everything returns to normal (except the fact that the animation is missing).
My problem in detail:
I have a stack of overlapped elements with position: 'absolute'. The top one can be swiped out of the screen with a rotating animation. When I add transform: [{ rotate }]  to my element, it goes under the other "cards". I have tried every possible style attribute, nothing seems to work.
In my case the problem is solved by adding a dummy transform to the rest of the elements (a rotation interpolation having an outputRange of ['0deg', '0deg', '0deg']). It works perfectly, however it is a performance issue I think.

I'm not using animated views for this (just a bunch of setState calls for a compass) and the behaviour I'm seeing is the same. Removing the rotate reveals the component.
I tried all suggestions (adding left: 0, adding rotate to the other views surrounding it) and none of them worked for me.
This ticket is closed because of the version used in the report, has anyone updated and checked if this issue has been resolved?


Seemingly random test timeout failures

Sometimes the test-alsa-pcm test suite fails with a timeout when closing a pcm. This patch appears to fix it:
diff --git a/test/bluealsa-mock.c b/test/bluealsa-mock.c
index 6082cbe..ef4683e 100644
--- a/test/bluealsa-mock.c
+++ b/test/bluealsa-mock.c
@@ -205,6 +205,10 @@ static void *mock_a2dp_dec(struct ba_transport_thread *th) {
 		if (io_pcm_write(t_a2dp_pcm, buffer, samples) == -1)
 			error("FIFO write error: %s", strerror(errno));

+		/* If io_pcm_write() gets an EAGAIN error is will return with thread
+		* cancellation disabled. So we make sure it is re-enabled here. */
+		pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, NULL);
+
 		/* maintain constant speed */
 		asrsync_sync(&asrs, frames);

Sometimes the test-alsa-pcm test suite fails with a timeout when closing a pcm

Yeap... unfortunately, I've got no time to check what causes it. It seems that you are right that the problem might be here. So, when the timeout happens the mock server hangs in the poll() on line 180 here? If that's true, I think the the proper fix is to wrap poll() with PTHREAD_CANCEL_ENABLE/DISABLE. The io_pcm_write() should always return with cancellation disabled. Also, mock_a2dp_dec() should have cancellation disabled at the very begging like every other transport thread function. I'll try to reproduce it locally... but the problem is that as far as I remember, running PCM test in a loop (like this: while ./test/test-alsa-pcm; do true; done) on my local PC does not trigger this timeout...

The io_pcm_write() should always return with cancellation disabled

Actually it returns with the thread cancellation state unchanged, except when the FIFO is full in which case it sets it to PTHREAD_CANCEL_DISABLE

mock_a2dp_dec() should have cancellation disabled at the very begging like every other transport thread

I have a reproducible test here (working on some changes to ALSA plugin capture logic) and will try this suggestion later today.

my local PC does not trigger this timeout

You need to specifically ensure that the FIFO becomes full, which depends on the relative timing of server and client, so is dependent on CPU load, scheduler, codec frame size, client period size, etc etc ...

Actually it returns with the thread cancellation state unchanged

Yes, of course you are right :) But the (my) assumption is that the cancellation is disabled globally and enabled only in "critical" sections. This should ensure that there is no memory leakage when cancellation happens. Before the io.c file was created, transport thread could fail with "undefined" cancellation state. For that reason, before running pthread_cleanup_pop() functions, the cancellation is explicitly disabled. However, I think that right now it should be safe to remove this, or maybe add assert that the previous state was disabled.

so is dependent on CPU load, scheduler, codec frame size, client period size, etc etc

Yeap... but when I'm running test in a loop I'm using my PC (it's not idle), and test works for hours... But on GitHub it fails every N checks where N < 10 :D So, that's why I have said that my local PC does not trigger it ;p

Try this patch instead - it uses your global disable suggestion, and it also fixes my alsa-capture test failure:
diff --git a/test/bluealsa-mock.c b/test/bluealsa-mock.c
index 6082cbe..29fa00a 100644
--- a/test/bluealsa-mock.c
+++ b/test/bluealsa-mock.c
@@ -152,6 +152,7 @@ void bluez_battery_provider_update(struct ba_device *device) {

 static void *mock_a2dp_dec(struct ba_transport_thread *th) {

+	pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, NULL);
 	pthread_cleanup_push(PTHREAD_CLEANUP(ba_transport_thread_cleanup), th);

 	struct ba_transport *t = th->t;
@@ -177,6 +178,7 @@ static void *mock_a2dp_dec(struct ba_transport_thread *th) {
 		if (!ba_transport_pcm_is_active(t_a2dp_pcm))
 			timeout = -1;

+		pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, NULL);
 		if (poll(fds, ARRAYSIZE(fds), timeout) == 1 &&
 				fds[0].revents & POLLIN) {
 			/* dispatch incoming event */
@@ -191,6 +193,7 @@ static void *mock_a2dp_dec(struct ba_transport_thread *th) {
 				continue;
 			}
 		}
+		pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, NULL);

 		fprintf(stderr, ".");

(apologies for submitting patches this way, I am not able to create PR right now)


Trying http://localhost:3050/r/matrix:matrix.org gives 500 error: “400 Bad Request: … M_UNRECOGNIZED … Unrecognized request”

Opening http://localhost:3050/r/matrix:matrix.org in my browser, I get a 500 response with this message:
Error: HTTP Error Response: 400 Bad Request: {"errcode":"M_UNRECOGNIZED","error":"Unrecognized request"}
    URL=https://matrix.org/_matrix/client/unstable/org.matrix.msc3030/rooms/!AEQOsKuwoGVVoVwfDj%3Amatrix.org/timestamp_to_event?ts=1668740893675&dir=b
    at checkResponseStatus (/Users/mike/workspace/matrix-public-archive/server/lib/fetch-endpoint.js:21:11)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async fetchEndpoint (/Users/mike/workspace/matrix-public-archive/server/lib/fetch-endpoint.js:38:3)
    at async fetchEndpointAsJson (/Users/mike/workspace/matrix-public-archive/server/lib/fetch-endpoint.js:63:15)
    at async timestampToEvent (/Users/mike/workspace/matrix-public-archive/server/lib/matrix-utils/timestamp-to-event.js:25:45)
    at async /Users/mike/workspace/matrix-public-archive/server/tracing/trace-utilities.js:31:24
    at async /Users/mike/workspace/matrix-public-archive/server/routes/room-routes.js:123:32

My config/config.user-overrides.json looks like this:
{
  "basePort": "3050",
  "basePath": "http://localhost:3050",
  "matrixServerUrl": "https://matrix.org/",
  "matrixServerName": "matrix.org",
  "archiveMessageLimit": 100,
  "requestTimeoutMs": 25000,
  "logOutputFromChildProcesses": false,
  "testMatrixServerUrl1": "http://localhost:11008/",
  "testMatrixServerUrl2": "http://localhost:12008/",
  "matrixAccessToken": "[redacted]"
}

@sideshowbarker It looks like your server doesn't have MSC3030 /timestamp_to_event enabled.
If you're using Synapse, add this to your config:
homeserver.yaml
experimental_features:
  msc3030_enabled: true

I — we (W3C) — don’t actually have our own homeserver, so I instead literally set matrixServerUrl": "https://matrix.org/" in my config/config.user-overrides.json
Is there maybe an msc3030_enabled test server that I could have access to test against?
Or do we instead really need to run our own homeserver so that we can configure it with msc3030_enabled?

@sideshowbarker Ahh, of course, I should have recognized that from your config!
You're slightly early to all of this. MSC3030 was just merged into the spec and is being stablized now. This means moving the endpoint from an unstable location to a stable location in Synapse. You can track progress on that via https://github.com/matrix-org/synapse/issues/14390. The PR to make this happen is already in review so it will probably be a matter of a few weeks.
After it is stabilized in Synapse, matrix.org will get the necessary /timestamp_to_event endpoint shortly after.
But there is no need for you to have your own Matrix Public Archive instance either. We plan to have a canonical instance of Matrix Public Archive available for everyone to use at archive.matrix.org. This doesn't exist yet but we're tracking the deployment internally.
And we're buttoning up the final pieces to cut the first release of Matrix Public Archive. You can track the pieces with this milestone: https://github.com/matrix-org/matrix-public-archive/milestone/1

If you want to try it out today, you will need to have your own homeserver with MSC3030 enabled.

But there is no need for you to have your own Matrix Public Archive instance either. We plan to have a canonical instance of Matrix Public Archive available for everyone to use at archive.matrix.org.

OK, yeah, I had gleaned from elsewhere that that might be the plan. Will be great when that happens
But in the meantime my main reason for wanting to have a Matrix Public Archive instance was just to have something to test with while trying out the code locally — and submitting patches if/when I come across anything patch-worthy

After it is stabilized in Synapse, matrix.org will get the necessary /timestamp_to_event endpoint shortly after.
…
If you want to try it out today, you will need to have your own homeserver with MSC3030 enabled as described above.

OK — I have some colleagues involved at the W3C who are running homeservers, so I may be able to get one of them to flip on msc3030_enabled so that I can test with it prior to when matrix.org gets it.

… MSC3030 was just merged into the spec and is being stablized now. This means moving the endpoint from an unstable location to a stable location in Synapse. You can track progress on that via matrix-org/synapse#14390. The PR to make this happen is already in review so it will probably be a matter of a few weeks.

Super, thanks — looking forward to that

And we're buttoning up the final pieces to cut the first release of Matrix Public Archive. You can track the pieces with this milestone: matrix-org/matrix-public-archive/milestone/1

Thanks for that too — I’m watching the whole https://github.com/matrix-org/matrix-public-archive/ repo now, so I reckon I’ll get notifications as things move further along
And I’ll go ahead and close this issue now

I've also clarified the point that you need a MSC3030 enabled homeserver in the readme so hopefully this is more clear to the next person, https://github.com/matrix-org/matrix-public-archive/pull/144


add timeline on custom created calendar

Hi,
I am using objective c version of SpreadsheetView i.e. SpreadsheetView-ObjC.
I need to add timeline on my custom created calendar using SpreadsheetView. I am displaying 24 hours timeline and 24 scrollable lines. I need to add a red time line to current time as shown in following image (showing Time 15:06) Timeline Image. Problem is where to add this red line... I tried following properties to add as child but was not successful.
@property (nonatomic, readonly) UIScrollView *scrollView;
@property (nonatomic, strong) LayoutProperties *layoutProperties;
@property (nonatomic, strong) UIScrollView *rootView;
@property (nonatomic, strong) UIScrollView *overlayView;
@property (nonatomic, strong) ScrollView *columnHeaderView;
@property (nonatomic, strong) ScrollView *rowHeaderView;
@property (nonatomic, strong) ScrollView *cornerView;
@property (nonatomic, strong) ScrollView *tableView;
please guide me if there is a some other way to achieve this.

Anyone?

I'd recommend you use the newest version available and wrap it with Swift Calls. This was also recommended in one of the other issues. Here's a link to applying Swift into Obj-C by using Bridging Header. Link


Java 11 in 0.21.0 explained?

Hi, I'm trying to update to 0.21.0 and I'm gettings
 What went wrong:
Execution failed for task ':auth:api-client:contract:kspKotlin'.
> Could not resolve all files for configuration ':auth:api-client:contract:compileClasspath'.
   > Could not resolve dev.zacsweers.moshix:moshi-sealed-runtime:0.21.0.
     Required by:
         project :auth:api-client:contract
      > No matching variant of dev.zacsweers.moshix:moshi-sealed-runtime:0.21.0 was found. The consumer was configured to find an API of a library compatible with Java 8, preferably in the form of class files, preferably optimized for standard JVMs, and its dependencies declared externally, as well as attribute 'org.jetbrains.kotlin.platform.type' with value 'jvm' but:
          - Variant 'apiElements' capability dev.zacsweers.moshix:moshi-sealed-runtime:0.21.0 declares an API of a library, packaged as a jar, preferably optimized for standard JVMs, and its dependencies declared externally, as well as attribute 'org.jetbrains.kotlin.platform.type' with value 'jvm':
              - Incompatible because this component declares a component compatible with Java 11 and the consumer needed a component compatible with Java 8
          - Variant 'runtimeElements' capability dev.zacsweers.moshix:moshi-sealed-runtime:0.21.0 declares a runtime of a library, packaged as a jar, preferably optimized for standard JVMs, and its dependencies declared externally, as well as attribute 'org.jetbrains.kotlin.platform.type' with value 'jvm':
              - Incompatible because this component declares a component compatible with Java 11 and the consumer needed a component compatible with Java 8

Then I'm reading release notes (https://github.com/ZacSweers/MoshiX/releases/tag/0.21.0) saying
Update to JVM target 11 by @ZacSweers in https://github.com/ZacSweers/MoshiX/pull/359

And I'm confused. Java 11 is meant for my machine, i.e. the plugin, not the runtime right? (which is set to 1.8)
If so, then I'm still confused as I obviously have a JDK 11 on my machine, which Android Studio requires.
Also, if it is any help, this error only comes up in pure kotlin modules, like this
apply plugin: "kotlin"
apply plugin: "com.google.devtools.ksp"

dependencies {

    implementation deps.moshi.client
    implementation deps.moshi.adapters
    implementation deps.moshi.sealed
    ksp deps.moshi.compiler
    ksp deps.moshi.sealedCompiler

    api project(":scoped")
}

but not in android modules (where ksp && moshi compiler is applied)

It is for the runtime and the plugin. Java 8 reached EoL a year ago and I am no longer supporting it in my projects.

wait, doesn't that effectively then make this library minSdk 33?

No, it assume android projects use D8. We've targeted Java 11 at slack for nearly two years. https://jakewharton.com/androids-java-9-10-11-and-12-support/

But what minSdk does then bumping to jvm to 11 then implies? Does it even? Since D8 would desugar to whatever's possible on a given platform?
Also, why does this even matter, for a kotlin library? (when language features are irrelevant, and apis are a different story)
Is it purely because higher java version javac will produce bytecode leveraging new instructions and therefore better performance (on the platform versions where the java version is natively)?
If so, then was I leaving performance on the table for no reason for 2 years?
Also, why java 11 then, why not whatever is the latest in latest android version?
(Would you happen to have a map of android api level to java language version, please? Can't seem to find it)

The question is never "why should I update", but rather "why shouldn't I". D8 (language features) and L8 (backported APIs) make java 11 entirely accessible for modern android development and there's no reason not to use the most modern language version that you can.
I'm not really interested in debating or explaining everything else you went on about as it's tangential to this library at best.

I'm not arguing against it, I'm just genuinely trying to understand the reasoning for it in a kotlin library. I've done some research as not to be annoying, and came up with these - to update to jvm 11 would mean for a kotlin library:

when the consuming application is non-android, it is to benefit from java 11 bytecode, making it more efficient/performant
when the consuming application is android, then any new bytecode is desugared, and therefore no efficiency/performance benefits, however one can update because D8 fully supports Java 11 bytecode, and should update as to move the industry forward and let EOL software die

Would these two points be correnct, please?


Images in other sheets seems to corrupt file

I'm experiencing a strange problem. I have an excel file with several sheets where there is a company logo at the top of each sheet. However, when I try to write to that excel file it gets corrupted and needs to be fixed by excel.
This issue disappears when i remove all the pictures except the first one. I've attached three files, one with the images, one where it got corrupted and lastly the "fix" of removing the images.
SSF_NGS Untouched.xlsx
SSF_NGS Broken.xlsx
SSF_NGS Images Removed.xlsx
Any ideas what the issue is?

Same exact issue here.  4 attached sheets, all with the same logo as the first sheet.  Looking at the error xml file, it seems that Excel doesn't actually "fix" anything, which is super frustrating.

I had a similar issue. Separating the sheets so that each sheet was its own workbook seemed be a nice work around.


Publication list with multiple columns

Thanks, best Jekyll theme I've seen!
I desire to make a list of publications with two columns e.g.
http://yaghi.berkeley.edu/publications.html
How can I do so in this theme while allowing the width to scale automatically with different devices/browser settings? [And also work on Github pages.]
Thanks. Sorry if this is a newbie Jekyll question...

Thanks for the praise Cory! I would advise asking this question on the Jekyll forums as people will be able to give a more extended answer, also my theme works just like any other Jekyll site so the code won't differ much to anyone else.


[Feature]: Adding notification feature

[ Y] Would you like to take up this task?
[Y ] Are you from GSSoC'23?

✨
Feature request

Is your feature request related to a problem?
Kindly provide an explanation of the problem that your feature aims to resolve.

Describe the solution you'd like
Please present a concise and precise description of the solution you envision.

I will add a notification feature through which the user can get notifcations , using react js library

Describe alternatives you've considered
Elaborate on any alternative solutions or features that you have already evaluated as potential approaches.

Additional context
Include any supplementary information, contextual details, relevant screenshots, or supporting materials that can aid in better understanding and supporting your feature request.

Explain the feature and its needs! @kharshita590


Fixed calls to document.exitFullscreen()

It hasn't been called cancelFullScreen() in the spec since 2012. Only FF is still the hold-over that still exposes "Cancel".
Reference: https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Using_full_screen_mode#Getting_out_of_full_screen_mode
You could do without checking for document.cancelFullScreen since no browser should've implemented it, but it doesn't hurt to be sure.
I didn't update the pre-built JS under static/. Do you want me to update them in this pullreq or do you batch changes up and update them at once?

lgtm, but you will need to update the js yes.

Done.

Thanks!


Catch missing node error when rotating database

While there should never be a missing node when copying the SHAMap,
rippled should not terminate when there's an error rotating the
database. This patch aborts the database rotation rather than aborting rippled.

[ x] Bug fix (non-breaking change which fixes an issue)

Squashed and marked passed


Add Threat Modeling output

Add a list of threats from the thread modeling exercise performed by the Privacy and Security working group

@slushpupie - who will need to merge this?


Started DS-Unit-1-Sprint-1-Dealing-With-Data - A first look at data

Harsh,
Great work on yesterday's assignment. Already implementing DT's is very impressive. Make sure when you commit today's assignments you save it in Loading Data instead of A first look at data.


Restore PHP 5.3/5.4 compat

Behat 3.6 has broken support for PHP <5.5 even though composer.json is still claiming to support PHP >= 5.3.3.
This PR hopefully fixes that and adds PHP 5.3, 5.4 and 5.5 to CI as it currently doesn't seem to test these older versions 🤔
Fully behind you guys dropping support for older PHP in the future, just please update composer.json first 😉

Scrutinizer failure is a false-positive, there's nothing I can do about that. I've reported it, and they say there's already a ticket their side for it.
This should be good to go

May be is it the time to drop support of old PHP versions?

May be is it the time to drop support of old PHP versions?

Need to fix it first though, otherwise running composer update breaks projects (I discovered this through a broken build)

Scrutinizer failure is a false-positive, there's nothing I can do about that.

It failures because of the first '\' symbol. It should be skipped in fully-qualified class names:
interface_exists('Symfony\\Component\\Translation\\TranslatorInterface')

The leading slash is equivalent to not having one, see rule #1 on https://www.php.net/manual/en/language.namespaces.rules.php. Happy to remove though.
The failure on line 10 is because the interface exists on the version of Symfony that isn't installed on Scrutinzer and the static analysis isn't picking up on the fact that it's guarded by interface_exists on line 9.

I updated from master and the 5.3 build doesn't seem to be working

@ciaranmcnulty Traits are 5.4 and https://github.com/Behat/Behat/pull/1270/files seems to have removed that restriction from the test suite

I'm not sure there's an elegant way of excluding that test file from the 5.3 build using the revised tag system, I'm thinking it might be easier to simply rm it inside Travis on the 5.3 build? How would maintainers feel about that?
Another idea would be adding Given my PHP version is >= x.y as step definition to the test suite but that seems like a lot of extra code for the purpose of skipping 1 test.
Or...could temporarily revert #1270, release a final 5.3 supporting version and then put #1270 back on master alongside a bumped minimum PHP version?

@dvdoug This approach seems to be passing on Travis, if it is of any interest https://github.com/Sam-Burns/Behat/compare/master...Sam-Burns:restore_php54_compat

Would be good to get your fix included, and do a patch release with working PHP 5.3 support. After speaking to @ciaranmcnulty, it sounds like it may well be the last release to support EOL PHP versions 🍾

Would be good to get your fix included, and do a patch release with working PHP 5.3 support. After speaking to @ciaranmcnulty, it sounds like it may well be the last release to support EOL PHP versions 🍾

Awesome @Sam-Burns, I've cherry-picked that one into my branch and rebased on master.

 I'd suggest ignoring it, if it's possible to merge the PR anyway.

 I'd suggest ignoring it, if it's possible to merge the PR anyway.

Yep, it's a false positive dating back to before this PR. Any chance this could get merged/released @ciaranmcnulty?

Fixes #1280.

I've rebased it with master, but it's failing on one of the builds connected to the container interop. @dvdoug, could you please take a look at it?

Thanks, Doug! :tada:


[video_player] Made the video_player clean up after itself on iOS.

Description
For add-to-app users of video_player, the plugin doesn't clean up its resources, like it's display link which causes a crash.  This handles the event that we are detaching the plugin and cleans everything up as a result.
Related Issues
https://github.com/flutter/flutter/issues/50761
Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] My PR includes unit or integration tests for all changed/updated/fixed behaviors (See Contributor Guide).
[x] All existing and new tests are passing.
[x] I updated/added relevant documentation (doc comments with ///).
[x] The analyzer (flutter analyze) does not report any problems on my PR.
[x] I read and followed the Flutter Style Guide.
[x] The title of the PR starts with the name of the plugin surrounded by square brackets, e.g. [shared_preferences]
[x] I updated pubspec.yaml with an appropriate new version according to the pub versioning philosophy.
[x] I updated CHANGELOG.md to add a description of the change.
[x] I signed the CLA.
[x] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Does your PR require plugin users to manually update their apps to accommodate your change?

[ ] Yes, this is a breaking change (please indicate a breaking change in CHANGELOG.md and increment major revision).
[x] No, this is not a breaking change.

Note: This PR won't function until https://github.com/flutter/engine/commit/76b291a65973685bb9d92a99810e27b3de9afc6c is on stable which seemed to have happened as part of this roll: https://github.com/flutter/flutter/commit/fc2c0af48d9d1fb7da2be1a51fcadf27ec0ae2fc which is tagged v1.15.3

The presubmit passed (https://cirrus-ci.com/task/5095163986968576) but for some reason triggered itself again and hung.


String Interpolation is not using InvariantCulture

Describe the bug
I'm creating a bug for this since I've noticed it a few places now. The entire code base using string interpolation needs to be audited and likely fixed in several places. It uses simple string interpolation without taking into account culture.
String interpolation uses string.Format in its implementation which in turn uses CultureInfo.CurrentCulture of the running thread. This changes from system to system. All the places using string interpolation for serialization need to be using the InvariantCulture to ensure there are no differences on different systems with different cultures.
Generally this can be fixed without removing string interpolation entirely, just .ToString(CultureInfo.InvariantCulture) (unfortunately a bit verbose) needs to be added instead of using variables directly. Certain types like enum of course won't have an issue but for numerical types this is especially important.

Looks like FormattableString.Invariant($"myFunction({number})") is the correct solution.

Yea, I saw Martin's blob post recommending that a while ago. It might be less verbose in certain situations for sure. I do generally prefer for readability to be specific for each type. I'll definitely take a look at this though and compare the two in more detail.

Well, what I had in mind was this:
return $"{x.ToString(CultureInfo.InvariantCulture)}:{y.ToString(CultureInfo.InvariantCulture)}"
Agree it is more verbose though and isn't ideal for many parameters.

There are 575 occurrences of string interpolation in the source code right now. A lot of these are in logging and exceptions so don't need to change. However, this is a bit too many for me to audit without having a broad knowledge of the code base. I think someone else is going to need to take a look at this.

Both FormattableString and {x.ToString(CultureInfo.InvariantCulture)}:{y.ToString(CultureInfo.InvariantCulture)} are quite inefficient. Is anybody already familiar with new .NET 6 formatting apis? Is there a solution for us, which possibly can be wrapped into an extension method?

This is why I still use string builder in several cases for serialization. With the base libraries still targeting .net standard 2.0 I'm not sure .net 6.0 would help in several cases anyway (not saying there is a solution there either, I don't know).
I find it very strange Microsoft defaults to culture-specific formatting in situations like this and in some of the .IndexOf() type methods. The defaults should be invariant/ordinal in my opinion but that ship has sailed.

@maxkatz6 I think you need to implement your own StringInterpolationHandler for this case.
In .NET 6:
string Normal (double x, double y)
{
   DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler (1, 2);
   defaultInterpolatedStringHandler.AppendFormatted (x);
   defaultInterpolatedStringHandler.AppendLiteral (":");
   defaultInterpolatedStringHandler.AppendFormatted (y);
   return defaultInterpolatedStringHandler.ToStringAndClear ();
}

string Invariant (double x, double y)
{
   return FormattableString.Invariant (FormattableStringFactory.Create ("{0}:{1}", x, y));
}


Bug fix

Bug fix

why hasn't this been merged?

Why hasn't this been merged?

Why this is not merged ? So sad to be stuck on things already known... :(


Assuming role broken in 7e9a5dc

Hi,
the IAM Assume Role -function seems to have broken in this commit: https://github.com/toniblyx/prowler/commit/7e9a5dc8f51b7df83e6648de632fadfbb1f3c1e3
It looks like moving the AWS_PARTITION-variable inside the getWhoami -function seems to have broken it for some reason. With the commit applied, trying to assume a role leads to this error:

./prowler -g cislevel1 -A<PHONE_NUMBER>0 -R ExampleRole -M json
An error occurred (AccessDenied) when calling the AssumeRole operation: User: arn:aws:iam::01234567890:user/example-user is not authorized to perform: sts:AssumeRole on resource: arn::iam::01234567890:role/ExampleRole

As you can see, the 'aws' -partition in the assumed role ARN is left empty, so it looks like the variable is not set properly. Slicing the partition from the CALLER_ARN -variable still works, so that hasn't changed.
A quick fix for this that worked, at least for me, was moving the CALLER_ARN, USER_ID and AWS_PARTITION -variables outside the getWhoami -function. This way the partition variable gets set correctly.

Thanks for the heads up @fraktal-topi sending a fix now