Healthcheck

Would it be possible to implement Docker's HEALTHCHECK command?

Yeah, now that we have sqlcmd in the image this should be much easier.  I'll put it on our backlog internally.  If you need something sooner, I'd suggest creating your own image FROM ours and specifying a HEALTCHECK that uses sqlcmd with -q to execute a simple query periodically like 'SELECT 1'.

I too am having an issue where the docker image crashes, but continues to output lines of logging, which prevents my internal hung-build-killer tool to detect that something went wrong.

2017-09-06 09:50:11.21 spid90      Timeout occurred while waiting for latch: class 'LOG_MANAGER', id 00000005ED740BB0, type 4, Task 0x00000005EB49B088 : 0, waittime 71400 seconds, flags 0x1a, owning task 0x00000005EB492CA8. Continuing to wait.
2017-09-06 09:50:25.26 spid89      Timeout occurred while waiting for latch: class 'LOG_MANAGER', id 00000005ED740BB0, type 4, Task 0x00000005EEDE7088 : 0, waittime 71400 seconds, flags 0x1a, owning task 0x00000005EB492CA8. Continuing to wait.
2017-09-06 09:51:25.25 spid84      Timeout occurred while waiting for latch: class 'LOG_MANAGER', id 00000005ED740BB0, type 4, Task 0x00000005E800DC28 : 0, waittime 71400 seconds, flags 0x1a, owning task 0x00000005EB492CA8. Continuing to wait.

having a healthcheck mechanism in the case of this would be great.

I get the same crash / error when using netcat to ascertain when the process has started listening on port 1433

Dockerfile:
FROM microsoft/mssql-server-linux
HEALTHCHECK --interval=10s --timeout=3s --start-period=10s --retries=10 \
    CMD sqlcmd -S localhost -U sa -P ${SA_PASSWORD} -Q "SELECT 1" || exit 1

It should be
CMD /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P ${SA_PASSWORD} -Q "SELECT 1" || exit 1
Because sqlcmd is not on PATH

Is there a simple way to use HEALTHCHECK?
I use this piece of code, but maybe you can advise something simpler?
do	 { 	$JSON=docker inspect --format='{{json .State.Health}}'  sqlserver-container |  Out-String | ConvertFrom-Json 	Write-Host HEALTHCHECK: $JSON.Status.ToString() sqlserver-container 	Start-Sleep -s 10 } Until ($JSON.Status.ToString() -eq 'healthy')

version: "3.4"
services:
    db:
        image: "mcr.microsoft.com/mssql/server:2019-latest"
        environment:
            SA_PASSWORD: "Secure-Password.1234"
            ACCEPT_EULA: "Y"
        healthcheck:
            test: /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P "$$SA_PASSWORD" -Q "SELECT 1" || exit 1
            interval: 10s
            timeout: 3s
            retries: 10
            start_period: 10s

Everything that is written above must be changed:
required with the option: -b
and I recommend using the option: -o /dev/null
in docker-compose.yaml
    healthcheck:
      test: /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P "${SA_PASSWORD}" -Q "SELECT 1" -b -o /dev/null || exit 1
      interval: 10s
      timeout: 3s
      retries: 10
      start_period: 10s

in Dockerfile:
CMD /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P ${SA_PASSWORD} -Q "SELECT 1" -b -o /dev/null || exit 1

I'm curious here, why do we need to have exit 1 if sqlcmd -Q already has a built-in exit?
 -Q "cmdline query" (and exit)

https://docs.microsoft.com/en-us/sql/tools/sqlcmd-utility?view=sql-server-ver15#syntax

Yes, exit 1 is not needed. Updated

These solution don't take into account that during database migration after an update, the database can be locked for several minutes. To the developers: Is it possible to take that into account? Does sql-server have an idiomatic way to determine that it is currently upgrading databases? Are you maybe working on a HEALTHCHECK command that is working with that scenario?
The best idea so far to work around this is to add --start-period=10m to the healthcheck.

Thanks @mrlioncub 🎉 I was searching for a solution for using the image in a GitHub Action and the healthcheck wasn't working...thankfully Google found your comment.
Passing -b -o /dev/null solved the issue for me. Sharing for future reference:
name: CI

on: push

jobs:
    test:
        name: Test
        runs-on: ubuntu-latest
        env:
            DB_USER: SA
            DB_PASSWORD: yourStrongP@ssword
            DB_NAME: your_db

        services:
            mssql:
                image: mcr.microsoft.com/mssql/server:2017-latest-ubuntu
                env:
                    ACCEPT_EULA: Y
                    SA_PASSWORD: ${{ env.DB_PASSWORD }}
                    MSSQL_PID: Express
                    DB_USER: ${{ env.DB_USER }}
                    DB_NAME: ${{ env.DB_NAME }}
                ports:
                    - 1433/tcp
                options: >-
                    --health-cmd "/opt/mssql-tools/bin/sqlcmd -U $DB_USER -P $SA_PASSWORD -Q 'select 1' -b -o /dev/null"
                    --health-interval 60s
                    --health-timeout 30s
                    --health-start-period 20s
                    --health-retries 3

        steps:
            - name: Create Database
              run: |
                  docker exec $(docker ps -alq) /opt/mssql-tools/bin/sqlcmd -U "$DB_USER" -P "$DB_PASSWORD" -Q "CREATE DATABASE $DB_NAME;"

            - uses: actions/checkout@v2

            - name: Setup Node Package Cache
              uses: actions/cache@v2
              with:
                  path: ~/.npm
                  key: ${{ runner.OS }}-node-${{ hashFiles('**/package-lock.json') }}

            - name: Install
              run: |
                  npm ci --prefer-offline --no-audit

            - name: Test
              env:
                  DB_HOST: localhost
                  DB_PORT: ${{ job.services.mssql.ports[1433] }}
                  DB_USER: ${{ env.DB_USER }}
                  DB_PASSWORD: ${{ env.DB_PASSWORD }}
                  DB_NAME: ${{ env.DB_NAME }}
              run: |
                  npm test

yes ,I have the same problem,use these can't resolve. how to config sqlserver healthycheck?

BEST PRACTICE
services:
instance:
container_name: sql-server-2022
image: mcr.microsoft.com/mssql/server:2022-latest
restart: unless-stopped
environment:
ACCEPT_EULA: Y
MSSQL_SA_PASSWORD: SA-PASSWORD
MSSQL_PID: Enterprise
ports:
- 2222:1433
healthcheck:
test: /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P "SA-PASSWORD" -Q "SELECT 1" -b -o /dev/null
interval: 10s
timeout: 3s
retries: 10
start_period: 10s
volumes:
- mssql:/var/opt/mssql
networks:
- internal

I disagree with the "best practice" of using -o /dev/null in the parameters. If you do that then the healthcheck output as seen in docker container inspect <container_id> is an empty string - which can hide clues about which part of the network/SQL stack is responsible for the failure.
If you do not include -o /dev/null in the parameters then you can see the actual error message as demonstrated in this snippet:
{
    "Health": {
        "Status": "unhealthy",
        "FailingStreak": 1,
        "Log": [
            {
                "Start": "2023-05-23T05:41:54.699717693Z",
                "End": "2023-05-23T05:41:54.827199774Z",
                "ExitCode": 1,
                "Output": "Msg 102, Level 15, State 1, Server 0999316e8300, Line 1\nIncorrect syntax near 'Error'.\n"
            }
        ]
    }
}

Hi,
I'm curious why it's best practice to execute a command with a clear text password that can be read from anywhere on the system e.g. with ps -a.  Is there really no other option to ask the mssql process if it's running and at good health? pgrep -f /opt/mssql/bin/sqlservr && exit 1 || exit 0 would at least be more secure, but presumably not as reliable.

Hi, I'm curious why it's best practice to execute a command with a clear text password that can be read from anywhere on the system e.g. with ps -a. Is there really no other option to ask the mssql process if it's running and at good health? Something like pgrep -f /opt/mssql/bin/sqlservr && exit 1 || exit 0 would at least be more secure, but presumably not as reliable.

You have two options here:
a) use SQLCMDPASSWORD environment variable to pass the password
b) use the new go-sqlcmd tool, which allows you to define a config file, from where it can read the password. I maintain a Docker image for go-sqcmld which you could use together with COPY --from=fabiang/go-sqlcmd:1-alpine /usr/local/bin/sqlcmd /usr/local/bin/sqlcmd or simply use ADD <download_url> /usr/local/bin/sqlcmd.

since /opt/mssql-tools/bin/sqlcmd is NOT available on linux/arm64 (Mac M1, M2, etc)
Can someone please provide a command that will work with whatever flavour of linux mcr.microsoft.com/azure-sql-edge:latest is using? This way no additional tools need to be installed, if possible.

@clearwaterstream Taking inspiration from StackOverflow [1], I was able to use this since timeout is available in the image:
healthcheck:
  test: timeout 1 bash -c 'cat < /dev/null > /dev/tcp/<IP_ADDRESS>/1433'

https://stackoverflow.com/a/19866239/84473

I want to give my own version using SQLCMDPASSWORD environment...
/opt/mssql-tools*/bin/sqlcmd -C -S localhost -U sa -Q "SELECT 1" -b -o /dev/null


setting pitch doesn't seem to work

using the version on npm.
The detune and rate does seem to work.
Any pointers ?

Are you getting any errors in the console, or does it just have no effect?
I'm in the middle of moving right now, so I might not be able to look into this for a little while.

no errors - just no effect.
Seems detune works in chrome but not safari, but
just hacking round it by setting rate which seems to work for both
On Wed, Oct 17, 2018 at 2:42 AM Raphael Serota<EMAIL_ADDRESS>wrote:

Are you getting any errors in the console, or does it just have no effect?
I'm in the middle of moving right now, so I might not be able to look into
this for a little while.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/rserota/wad/issues/92#issuecomment-430459412, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAADNGTejRG8mSRdcMcpH_g5A4a_Q7Tsks5ulor5gaJpZM4XcUpG
.

I just tested the setPitch functionality in Chrome on mac, and it seems to be working fine, as far as I can tell. Do you want to share your code that wasn't working?


[BUG] - "None" outputted to stdout many times with no benefit?

Describe the bug
The single word "None" is outputted to stdout many times (appears to be around the same time the Tautilli job runs with no apparent benefit?

2019-02-13 09:23:29
stdout
None

2019-02-13 09:23:29
stdout
None

2019-02-13 09:23:29
stdout
None

2019-02-13 09:23:29
stdout
None

2019-02-13 09:23:21
stdout
2019-02-13 09:23:21 : INFO : init : Running job Every 30 seconds do put(<bound method TautulliAPI.get_activity of >) (last run: 2019-02-13 09:22:50, next run: 2019-02-13 09:23:20)

2019-02-13 09:23:21
stdout
2019-02-13 09:23:21 : INFO : init : Running job Every 30 seconds do put(<bound method TautulliAPI.get_activity of >) (last run: 2019-02-13 09:22:50, next run: 2019-02-13 09:23:20)

2019-02-13 09:23:21
stdout
None

2019-02-13 09:23:21
stdout
None

2019-02-13 09:23:20
stdout
None

Also, and this maybe considered a feature request if the functionality does not already exist, is it possible to configure some level of logging so that the "Running job Every ..." lines are not constantly output to the stdout logs? For example, these could be output if logging is set to DEBUG but not output if logging set to ERROR?
To Reproduce
Steps to reproduce the behavior:

Simply check the stdout / container logs and the "None" lines are displayed frequently

Expected behavior
The "None" lines should not be output to Stdout since they offer no benefit or could be configured to not output to stdout with logging levels.
Environment (please complete the following information):

OS: Docker (17.05.0-ce) running on Synology
Version: v1.6.4-master

Fixed in next release. https://github.com/Boerderij/Varken/commit/f5c41473d8973846f06a89215d1bfbff90b7920d


E2E tests

These aren't run anywhere yet. They can used to automate smoke testing.

@tsingh777 this is amazing!
I think we will need to add one more test for search operators if that isn’t already there (didn’t see it).

This is amazing!
My only concern is that changes to anvaad-js or control-panel changes to data could break these tests. As long as we are aware.

most the test are for structure. The asserts for content are small enough that we should be fine updating tests if data/dependencies change.


[Bug]:  Member 'XXX' implicitly has an 'any' type.

I am trying to use @State in my vue component, but Vetur gives a hint: Member 'XXX' implicitly has an 'any' type.Vetur(7008).

code like this:
// store.ts
state: {
    switchFlg: false,
},

// my component
@State private switchFlg;

I know it needs declaration type, and I can fix it by @State switchFlg!: boolean;. But I think it's too troublesome, I have to write the declaration type twice, or even more.
Is there a better solution?

It gets even trickier with Actions, Getters, and Mutations.  No I have to do things like
import { ActionMethod } from 'vuex';
import { Action, Getter, State } from 'vuex-class';
...
  @Action('fetchRequirements', { namespace: 'requirements' }) private fetchRequirements!: ActionMethod;

But when I import ActionMethod from Vuex I get warnings in vue-cli-service serve saying
 warning  in ./src/components/file.vue?vue&type=script&lang=ts&

"export 'ActionMethod' was not found in 'vuex'

I don't think it's possible for the directive itself enforce the type of the decorated property, but one workarkound is using the StateType['nameOfTheField] syntax instead of hardcoding the type in the component:
interface RootState {
  myField: string
}

@Component
export default class MyComponent extends Vue {
  @State public myField!: RootState['myField'];
}

This way, if the type of RootState.myField is changed, the compiler is able to warn you everywhere it is used.
It's still a bit verbose and I don't think it covers every use case, but at least it's easier to check for correctness, since you just have to be sure that the name of the attribute (or the string passed to @State) matches the field of the type.
For type-safe actions and mutations, I'm using two helper types, but to be able to use them the actions and mutations have to be declared in a specific way:
// Usage
@Component
export default class MyComponent extends Vue {
  @State public myField!: RootState['myField'];
  @Action public myAction: ActionFn<typeof actions.myAction>;
  @Mutation public myMutation: MutationFn<typeof mutations.myMutation>;

  async doStuff() {
    this.myMutation(123);
    await this.myAction('some text');
  }
}

// Declarations
export type MutationFn<T extends Mutation<any>> =
  Parameters<T>[1] extends undefined
    ? () => void
    : (arg: Parameters<T>[1]) => void;

export type ActionFn<T extends ActionHandler<any, any>> =
  Parameters<T>[1] extends undefined
    ? () => Promise<void>
    : (arg: Parameters<T>[1]) => Promise<void>;

interface RootState {
  myField: string;
}

// Note: actions must not be typed as ActionTree, otherwise
// typescript won't be able to infer the actions that exist in
// "typeof actions.myAction"
export const actions = {
  myAction(context: ActionContext<RootState, RootState>, text: string) { /* ... */ },
};

// Ditto for MutationTree
export const mutations = {
  myMutation(state: RootState, someNumer: number) { /* ... */ },
};

export const store: StoreOptions<RootState> = {
  state: { myField: 'hello' },
  actions,
  mutations,
};

I hope this can be of use

I don't know how I've been so stupid about this for so long.
@seiwhale @humodz just say
import type { ActionMethod } from 'vuex';

type imports are removed by the compiler, and is better practice anyways


go get failing...

did not try to work out whats broken..
x-MacBook-Pro:~ apple$ go get gomatcha.io/matcha/...
# github.com/overcyn/customview
workspace/go/src/github.com/overcyn/customview/customview.go:16: ctx.Prev undefined (type *"gomatcha.io/matcha/view".Context has no field or method Prev)
workspace/go/src/github.com/overcyn/customview/customview.go:20: ctx.NewEmbed undefined (type *"gomatcha.io/matcha/view".Context has no field or method NewEmbed)

Fixed the issue here https://github.com/overcyn/customview/commit/131c26504c36776d2ddc190daae289a9a8682958. Could you try again?

worked but only when i deleted the overcyn repo.
TO avoid this recursion, maybe add the "-u" to the Readme ?
go get -u gomatcha.io/matcha/...


Single file in files list is creating a folder

I can't figure out how to get a single file to end up in the root directory of the zip file. When I run the code below, the directory structure from the expanded zip includes manifest.json as a folder -- not as a single file.

The code:
compress: {
      chromeapp: {
        files: [{
            src: 'build/chrome/manifest.json',
            dest: 'manifest.json'
        }
      }
      //...
}

Any ideas?

Just in case anyone else is looking for this exact issue, here's how you configure your task.
compress: {
      chromeapp: {
        files: [{
            src: 'build/chrome/manifest.json'
        }
      }
      //...
}

The trick is to skip the dest parameter. This preserves the file path and name.


WSGI example could provide data similar to LibreHardwareMonitor

The wsgi example currently delivers a full dump of the HardwareMonitor.Hardware.Computer object tree as much as possible.
A request has been made to generalize and convert the structure to make the output closer or equal to the LibreHardwareMonitor web server (mentioned in #2).

The output is now nearly identical to the LibreHardwareMonitor GUI server, except for the ImageURL fields existing yet not being set to anything

The output is now nearly identical to the LibreHardwareMonitor GUI server, except for the ImageURL fields existing yet not being set to anything

The "images_icons" URL names are very important,because they are key fields used to distinguish different hardware, it is recommended that the code of librehardwaremonitor be written as fixed parameters, so as to help filter dynamic data. I can't understand the code of librehardwaremonitor. I consulted the author of librehardwaremonitor, but no one answered this question. This is the link to my question:
https://github.com/LibreHardwareMonitor/LibreHardwareMonitor/issues/804#issue-1353248019

I fail to see the relevance.
The image icon paths are literally just a mapping from x.Hardware.HardwareType to images.
There is no distinction between AMD and ATI or integrated and dedicated in the original server code.
With an AMD card you would even get the ati.png image which can not be useful information.
I am afraid the only way to properly differentiate them is by looking at hardware names and driver descriptions.

Closing the issue since the requested data can not be provided by LibreHardwareMonitor


govendor sync modifies vendor.json without warnings

I have no idea why govendor sync decided to modify vendor.json.
I just deleted everything else from the vendor/ folder and ran govendor sync.
If govendor sync modifies vendor.json to repair it some way I would at-least expect a warning...
Preferably an explanation too..
Honestly, it would probably be best if govendor sync printed an error message and exited non-zero.
Telling to run govendor sync --repair, if govendor sync needs to modify vendor.json.
Note: govendor sync is presumably used in CI systems and for lots of new users for any repository that doesn't like to vendor all the sources...
In my example the change was exclusively to checksumSHA1, all the other properties remained the same.. And it only changed for a few repositories. Let's hope I'm not under attack, hehe :)

It was an original design decision, but in retrospect it was probably wrong to do so.
I'll come up with a better sync design.

Thanks, I got the impression form docs that sync is for when downloading, so I was a bit surprised when it changed things without warning :)

I still don't really understand how the checksumSHA1 changes when all other variables don't change?
The revision is the same... Is this a platform specific thing...


HTML URL not loading properly in Alertmanager configuration from other template file.

What did you do?
I am configuring alertmanager config to choose slack webhook depending upon some dynamic logic. But I cannot see that value getting placed in slack_api_url
What did you expect to see?
The normal load of Alertmanager
What did you see instead? Under which circumstances?
Errors
Environment
Ubuntu

System information:
Linux 5.3.0-40-generic x86_64

Alertmanager version:
alertmanager:v0.20.0

Prometheus version:
2.15.2

Alertmanager configuration file:

global:
  resolve_timeout: 5m
  slack_api_url: '{{ template "slack.myorg.webhook" . }}'
route:
  group_by: ['alertname']
  ...
  ...
  ...
templates: ['/etc/alertmanager/config/*.tmpl']```

slack-myorg-template.tmpl

# To identify from which cluster the alerts are comming
{{ define "slack.myorg.username" }}Minikube{{ end }}

# select webhook
{{ define "slack.myorg.webhook" }}https://hooks.slack.com/services/XXX/XX/XX{{ end }}

Here I'll write some if else condition to choose the channel accordingly and similarly, I have some logic to get slack channel also.

Logs:

level=error ts=2020-03-12T10:41:06.004Z caller=coordinator.go:124 component=configuration msg="Loading configuration file failed" file=/etc/alertmanager/config/alertmanager.yaml err="unsupported scheme \"\" for URL"

The only issue if slack.myorg.webhook is not perfectly loading into slack_api_url by calling '{{ template "slack.myorg.webhook" . }}'.

Other things I tried

Just mentioning {{ define "slack.myorg.webhook" }}https://hooks.slack.com/services/XXX/XX/XX{{ end }} doesn't cause any issue.
If I do username: '{{ template "slack.myorg.webhook" . }}' under slack configuration it's not throwing error.

slack_api_url (as well as api_url from slack_config) don't support templating.
I'm closing it for now. If you have further questions, please use our user mailing list, which you can also search.

Since this requires us to put an API key in plain text, shouldn't it allow templating?

slack_api_url (as well as api_url from slack_config) don't support templating.
I'm closing it for now. If you have further questions, please use our user mailing list, which you can also search.

Is there a particular reason why the api_url from slack_config can't be templated? Or has it not been implemented yet. This would be a useful feature imo.

@FeargusOG see https://prometheus.io/docs/operating/security/#alertmanager
TL;DR: we don't want users to be able to configure secrets using templates because it could cause a security breach.

@simonpasquier Thanks for getting back to me. Some secrets are templatable though, correct? Those that use the <tmpl_secret>? That doc you linked mentions Any secret fields which are templatable are intended for routing notifications. It seems odd to allow some secrets to be templatable but not others if that is the case.
Also, would api_url not be an example of intended for routing notifications?

The templatable secret fields are templatable in spite of being secrets, as those particular fields can be used for routing.
Templating the slack URL would seem odd to me, it'd be like templating the smtp smarthost.

The slack URL I am referring to is an Incoming WebHook (documented here) meaning that the api_url I am setting is specific to a single user, and a single channel, not a different slack instance. This is why I was hoping to template it.

There may be a valid case for that, however I'd recommend setting up the type of webhook that isn't tied to just one channel as that makes all of this a lot easier to do.

@FeargusOG  I am trying to achieve the same, using a template for different slack channels, the code is below, it is possible to configure this way?
receivers:       - name: "receiver_slack"         slack_configs:          - api_url: Imcming_webhok_slack_url            channel: "#test"            send_resolved: true            text: '{{ template "slack.myorg.text" . }}'            username: Prometheus

@FeargusOG  I am trying to achieve the same, using a template for different slack channels, the code is below, it is possible to configure this way?
receivers:       - name: "receiver_slack"         slack_configs:          - api_url: Imcming_webhok_slack_url            channel: "#test"            send_resolved: true            text: '{{ template "slack.myorg.text" . }}'            username: Prometheus

@Namrata3991  did you have any luk with

@FeargusOG I am trying to achieve the same, using a template for different slack channels, the code is below, it is possible to configure this way?
receivers: - name: "receiver_slack" slack_configs: - api_url: Imcming_webhok_slack_url channel: "#test" send_resolved: true text: '{{ template "slack.myorg.text" . }}' username: Prometheus

did you have any luck with this ?


unable to move image in imageview

I was using your library and i found this very useful . I am making an app where i want to add a functionality for drag ,zoom image within the imageview . I have tried to implement that functionality but couldn't help myself . I was wondering if you could do something

I was using your library and i found this very useful . I am making an app where i want to add a functionality for drag ,zoom image within the imageview . I have tried to implement that functionality but couldn't help myself . I was wondering if you could do something

Same problem here. Do you know its solution?


Rename the default branch of this repo from master to main

See https://github.com/ampproject/amphtml/issues/32195 for more details

@kristoferbaxter Looks like this needs an accompanying change to the CI config, so I'm going to leave this to the maintainers of this repo.


IC-2094: Completely remove retries to services

What does this pull request do?
Complete remove retries to our and 3rd party services
What is the intent behind these changes?
Currently, we're facing some load-related problems. If there's a problem, a retry creates more load, which we don't need right now.
There's benefit to retries, but only if we can determine that it's not making things worse... I think that requires guarantees that the service wouldn't accept connections it cannot handle.

🎩 🙇♂ Thank you


Backport Symfony app endpoint code to php images

Since PHP images are effectively doing the same thing, and other images aren't really related to Symfony but extending it just for this functionality, move it to the PHP images so it's more accessible.
Note there is a non-BC change here in the PHP image, in that the image no longer has the app endpoint enabled by default. This is because most

tested and fixed a few issues, but also I:

renamed APP_ENDPOINT_REDIRECT to APP_ENDPOINT_REWRITE (rebased into the original commit)
changed the strict mode to hide the PHP files so as if they weren't there


Support resuming from the last log when retrying

Fixes #229
This PR is to support resuming from the last log when retrying.
Here is the summary of the changes.

Always set PodLogOptions's Timestamps to true

Print timestamps only when "--timestamps" is specified

Remember the last timestamp and line counts in this timestamp when tailing

:memo: The timestamp in logs is RFC3339Nano, but PodLogOptions's SinceTime is RFC3339.

When resuming, set the last timestamp to PodLogOptions's SinceTime

Skip lines we've already seen during the timestamp to avoid duplication

I found the rate limiter of retrying was not appropriate while I tested this feature, so I also tweaked it.
How to test
The below steps are the way to test the resuming feature by restarting the kube-apiserver.

Deploy a pod that prints line numbers

apiVersion: v1
kind: Pod
metadata:
  name: counter
spec:
  terminationGracePeriodSeconds: 0
  containers:
  - name: c
    command:
    - /bin/sh
    - -c
    - |
      N=1
      while true; do
        for _ in $(seq 5); do
          echo "line $N"
          N=$((N+1))
        done
        sleep 10
      done
    image: busybox:1.36.0

Run a stern to watch the pod

dist/stern pod/counter

+ counter › c
counter c line 1
counter c line 2
counter c line 3
counter c line 4
counter c line 5

Restart the kube-apiserver in another terminal

If you use kind, we can restart the kube-apiserver by the command below.
docker exec -it kind-control-plane /bin/bash -c 'kill -9 $(pgrep kube-apiserver)'

The connection will be disconnected, but it will retry soon and resume logs from the last line when retrying.
counter c line 15
counter c line 16
counter c line 17
counter c line 18
counter c line 19
counter c line 20
- counter › c
failed to tail: unexpected EOF, will retry
+ counter › c
- counter › c
failed to tail: Get "https://<IP_ADDRESS>:64321/api/v1/namespaces/default/pods/counter/log?container=c&follow=true&sinceTime=2023-02-17T04%3A50%3A38Z&timestamps=true": EOF, will retry
+ counter › c
- counter › c
failed to tail: Get "https://<IP_ADDRESS>:64321/api/v1/namespaces/default/pods/counter/log?container=c&follow=true&sinceTime=2023-02-17T04%3A50%3A38Z&timestamps=true": EOF, will retry
+ counter › c
counter c line 21
counter c line 22
counter c line 23
counter c line 24
counter c line 25

I'll check this PR this weekend.


Search occurrences are lost when using mini.animate

Contributing guidelines

[X] I have read CONTRIBUTING.md
[X] I have read CODE_OF_CONDUCT.md
[X] I have updated 'mini.nvim' to latest version

Module(s)
mini.animate
Description
In search mode, when navigating to the next occurrence of a search term, the text that shows which occurrence out of all occurrences disappears in some cases.
Neovim version
v0.10.1
Steps to reproduce

Search for text within a file
The search term should appear multiple times within the file
The search term has a varying number of lines between the next occurrence

Expected behavior
The text that shows the number of occurrences of the search term should always be present.
Actual behavior
https://github.com/user-attachments/assets/30fe399b-7f1d-46ed-a6df-b223791c764c

Yes, it is from 'folke/noice.nvim' as I'm using LazyVim.
I appreciate your response and thank you for this great library!


Create CODE_OF_CONDUCT.md

Proposed changes in this pull request
[Describe what this pull request does]
Checklist

[ ] New tests have been added
[x] npm test passes successfully
[x] Documentation has been updated

@amir20 to review

Codecov Report

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

@@           Coverage Diff           @@
##           master     #671   +/-   ##
=======================================
  Coverage   91.95%   91.95%
=======================================
  Files           4        4
  Lines         199      199
  Branches       31       31
=======================================
  Hits          183      183
  Misses         16       16

Continue to review full report at Codecov.

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


Support the file_block type

The Notion API now supports file blocks. To enable users to use this block without the need to download the files locally, we can use the external file path to redirect users to the site, much like notion already does so. A future feature could be to add a download button that makes a request to AWS to locally download the file from the servers.

@ggiande @samuelkraft This works great, but I saw that the URLs returned by Notion API are valid only for 1 hour and since the data is cached during build in getStaticProps, won't that be a issue?


Action text lost when modified and cloning a condition

When cloning a condition in the action out page, if the text of the action has not been saved, the changes are lost.

Fixed and included in next release (2.5.1)


Made some edits to the analysis section and ran through Grammerly

Made some edits to the README file. Let me know if there is anything else I need to modify!

@Anahita97 this looks good to me. But in the analysis section can you change this line "We explore several regression models such as SVM, k-NN, and linear regression to find the best-performing model"? Though we checked on multiple models like Ridge, RandomForestRegressor previously while developing, we are now using only the SVR model in the script. So kindly change this line.


serde::de::Visitor's Value bound of Deserialize is restrictive

I'm trying to serialize/deserialize url::Url which doesn't implement Serialize or Deserialize.
I've successfully added serialize_with and deserialize_with annotations.
To hook up the annotations as per the docs I've implemented appropriate functions for url::Url and a SerializeWith and DeserializeWith trait similar to the code in serde's tests.
I want to reuse this to work with Option<url::Url>.
I could create a specific impl for this new type. This works ok.
I tried though creating a generic impl for T where T: SerializeWith etc. This works for serialization.
The corresponding deserialization impl doesn't work because I have to use a visitor to deserialize the option, but the visitor trait requires that the produced result value is a subtype of serde::de::Deserialize.
Since I'm effectively working with a parallel type heirarchy I don't have this bound.
Is this something that can be changed?
code example (requires nightly. doesn't compile due to this issue):
https://github.com/cmsd2/serde-deserialize-with-example/blob/master/src/lib.rs

I think you could use a newtype around Url that implements Deserialize, and use that type and extract the Url from the newtype after deserialization.

I like the idea -- that would allow me to apply the serde annotations to the inner Url value without needing special handling for all the wrapper types.
I just tried it with a newtype struct:
pub struct SerializableUrl(#[serde(...)] Url)
but that doesn't seem to work: it complains about Url not satisfying a Deserialize bound.
is the field not getting filtered out by serde::de::deserialized_by_us?
using a full-fat struct with a url field does work though.
the other alternative was to use a type alias but i couldn't see where to put annotations there. I think i might be able to implement the serde traits manually in that case though...

I took the liberty of adding backticks to your code to get rid of the german flag in :de: ;)

using a full-fat struct with a url field does work though.

I suggest to use that for now. I filed an issue about tuple structs: #330

PR #335 fixes serialize_with and deserialize_with attributes inside tuple structs/variants and newtype structs/variants so you will be able to use:
pub struct SerializableUrl(
    #[serde(serialize_with="ser_url", deserialize_with="de_url")]
    Url);

I am closing this ticket because that bug is tracked at #330. @cmsd2 please reopen if there is anything more you need from us on this.


How should the pages folder be in Next.js

Evaluate different approaches for differentiating between static and dynamic pages

Added some pros and cons as a start in Figjam :thumbsup:

Using the folder structure route of Next.js seems like the best approach for a couple of reasons:

Separation of concerns; we don't have to mix the rendering and API code in the same file which makes it easier to keep an overview as well as easier to disable/remove the temporary static AEM functionality when the migration is done.
Gives a clearer overview of which top-level routes are being served as static AEM content, and gives us better control over those routes. It also adds a safeguard where migrated content can be published in Sanity (either accidentally or deliberately) before the migration is complete since the folder structure routing always takes priority over the catch-all dynamic slug - so until we remove the folder route it will keep serving the static AEM content.
We'll have some duplicate code, but we can minimize this by being smart about reusable functions and such. Even so this is probably still preferably over making a single file more complex and bloated by having it handle "everything".

All those things considered it seems like the folder structure routing is the safer and better approach for this, especially since we already have a proof of concept for it with the news archive.


Custom input dialog

Work in progress.. wondering, am I going the right way about this? Also, awaiting using ".Result" is not working, All feedbac

Appveyor keeps gailin

*failing

Taken out 'using' statements that are not required


Optimize is not a function

I'm submitting a...

[ ] Regression (a behavior that used to work and stopped working in a new release)
[X] Bug report
[ ] Performance issue
[ ] Feature request
[X] Documentation issue or request
[X] Support request
[ ] Other... Please describe:

Current behavior

Running through the installation and setup instructions in the Readme and keep running into an error when running the npm run generate-icons script. Here is the error:
/node_modules/@ngneat/svg-generator/tree.js:49
svgContent: (0, svgo_1.optimize)(svgContent, { plugins, path: svgPath }).data,
^
TypeError: (0 , svgo_1.optimize) is not a function
Expected behavior

Expected this to work and actually generate the svg ts files.
Minimal reproduction of the problem with instructions
Created a fresh vanilla Angular application and then ran the ng add @ngneat/svg-icon. New scripts were added in package.json. Double checked against the documentation to make sure they were correct. Ran npm run generate-icons and get the error.
What is the motivation / use case for changing the behavior?

Environment

Angular version: X.Y.Z

Browser:
- [ ] Chrome (desktop) version XX
- [ ] Chrome (Android) version XX
- [ ] Chrome (iOS) version XX
- [ ] Firefox version XX
- [ ] Safari (desktop) version XX
- [ ] Safari (iOS) version XX
- [ ] IE version XX
- [ ] Edge version XX

For Tooling issues:
- Node version: XX
- Platform:

Others:

@christopher-harris was just having this issue. try installing the latest svg-generator, I installed it both globally and normally not sure which one did it I assume the global install, I'd say try normal install see if that fixes f not global should do it. @NetanelBasal can confirm possibly?
npm i @ngneat/svg-generator@latest
and/or
npm i -G @ngneat/svg-generator@latest
I think this may be missing from the ng add script or maybe just should be added to the readme

Yes, seems like you're using an old version of svgo.

@JrPribs that seems to have worked...thank you.


Angular 10 Peer Dependencies

Thanks for the awesome lib!
Today I was updating to Angular 10 and on doing so, I recieved the following warnings:
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS><9.0.0 || ^9.0.0-0 but none is installed. You must install peer dependencies yourself.
Would it be possible to update them to include 10?  Thanks! 👍

@clark-stevenson . Just released v1.4.6 that solves this :) Please update.

@AhsanAyaz  thanks for your quick response! Appreciated. 😃


predicate leads to undecidable problem

predicates may be used in an interface
interface Integer (number) => number === parseInt(number, 10);

They introduce dependent types:

a dependent type is a type whose definition depends on a value
[...]
Dependent types add complexity to a type system. Deciding the equality of dependent types in a program may require computations. If arbitrary values are allowed in dependent types, then deciding type equality may involve deciding whether two arbitrary programs produce the same result; hence type checking may become undecidable.

Furthermore, Integer is rather a type than a characteristic of a value. What is the type of the result c in
var c = a + b; // a: Integer, b: Integer

Catchy question! You get an error. + is not defined for Integer and we do not know that Integer is a Number. We need to add the type Number to the parameter of the predicate to provide this information:
interface Integer (number: Number) => number === parseInt(number, 10);

What is the type of c now? Since + is not defined for Integer but for Number, c is of type Number. If we like to pass c to a function that takes an Integer we have to do a manually type check before. Otherwise, we cann't do static type analysis in a safe way.

The point of Predicate is to have a type that is either truthy or falsy. It is, by design, less specific.
Beware though the implementation will have to evaluate that using if…else or a switch statement.
It shouldn't use == false or == true. Here's one of the reasons:
// true!
if ([] == false) alert('true')

// true
if ([]) alert('true')

As a tool this is really useful. I think that tests are more and more becoming the norm and we should encourage good practices; IMO it's worth having as a built-in type.

Are predicates intended for static type analysis?

We need to make a distinction here:
The special Predicate type is NOT a dependent type, and can be used for static analysis.
Predicate literals are NOT intended for static analysis. Instead, they're intended to enhance runtime type checking capabilities in combination with tools like rtype.
We should separate predicate literals and warn that they introduce dependent types and should have a very restricted use. Open to PR suggestions.

Wow, reading the readme I did not recognize/understand that predicate literals are different to Predicate types. I really must have been confused :confused: I see clearly now, thanks :smiley:

Definitely open to PR suggestions to address these issues. Thanks for all your recent help, @maiermic. I really appreciate it.

I'm pretty sure the same dependent type problem exists with regular expression literals, right @maiermic?

Also, the special Any type has essentially the same problem. For all of these problems, some types can be inferred based on use-cases and runtime analysis.
We are knowingly limiting static analysis capabilities in order to enhance runtime capabilities and analysis. That said, people who want analyzable static types are free to use a static-safe subset. That may be the best approach in the documentation: Clarify the types to avoid if you want to use the static-safe subset? =)

We should re-organize the README so that the static-unsafe type are clearly distinguished.
Maybe by tagging them with some kind of label?
For example, by appending static-unsafe in the TOC.

you can't do a proper static analysis on anything that uses Any, can you?

Why not? Any is a static type. Types that use predicate literals are not.

Any is essentially the same as untyped. Literally any type is acceptable, including null or undefined values, which is effectively like turning type checking off for that variable.

type checking on Any is not off. The type checker knows that a value of type Any might be null or undefined:
// a: Any
a.method(); // Error: Can not access property `method` on `a` of type `Any`, since `a` might be `null`.

type checking on Any is not off. The type checker knows that a value of type Any might be null or undefined

True, you could do that. But a type checker could make exactly the same assumption about an untyped variable. Further, your example should not necessarily cause an error, because that would break a lot of existing code.
It would also force boilerplate into every function that uses any parameter of type Any to do some type checking inside the function to guard against undefined, which is not always necessary or desirable.
Hence, Any is essentially the same as untyped, except that it gives you the option of deciding whether or not you want to type check it, and if so, how.

That's why I'd like to make Any? the super type of all types instead of Any (null safety):

null is not a member of Any, but of Any?.

Although my thinking seems radical, I just like to hint at some concerns regarding static type analysis. In my opinion it leads to problems if the super type Any is similar to the type dynamic in C# or Dart, which would be the case if my example doesn't cause an error.

null is not a member of Any, but of Any?.

This is not currently the case. null is a member of Any. You're suggesting that it shouldn't be?

Yes, as well as null should not be a member of Object, which isn't the case either currently.

null should not be a member of Object, or it would be hard to protect against it in the case where an actual object is expected.

:+1:

@ericelliott late answer to your question

I'm pretty sure the same dependent type problem exists with regular expression literals, right

Yes, indeed!


Add Matrix type and matrix arithmetic support

I am thinking about how to approach higher-level abstractions of finite vector spaces as collections of Vector.
Motivating case: a Bezier closed contour defined as an ordered list of 2-tuple of x, y coordinates in a Cartesian coordinate system.
This begins to head into linear algebra terrain.

Will extend the library with a new Matrix type and provide support for M-by-N matrix arithmetic.  I am looking into how this will work with the existing array based, fixed-length  Vector type.

#68


Change docs to use codepen for examples

http://blog.codepen.io/documentation/api/prefill/

As codepen does not support embedding dynamically created pens. At least not the free edition. We have implemented method of highlighting the code examples with codemirror. Additionally these code examples can be runnable if they contain d2. as the start of the code snippet.


duplicate issue

https://github.com/sindresorhus/refined-github/pull/2831

@devsnek there is a close button...


Add block production counts

fixes #855
fixes #922

Some durations were set too low. They've been adjusted.


Dialyzer can't detect tuple when middleware Tuples is used

Hi,
I have a module that uses Tesla and its Tuples middleware.
  use Tesla
  plug Tesla.Middleware.Tuples

In that module, Tesla functions are used in the following way:
    login_url
    |> post(%{username: username, password: password, format: "json"})
    |> extract_body

Spec of extract_body expects a tuple with the first element :ok or :error. However, when I run mix dialyzer, it gives the following error:
The pattern {'ok', _response@1} can never match the type
#{
    '__client__':=fun(),
    '__module__':=atom(),
    '__struct__':='Elixir.Tesla.Env',
    'body':=_,
    'headers':=#{binary()=>binary()},
    'method':='delete' | 'get' | 'head' | 'options' | 'patch' | 'post' | 'put' | 'trace',
    'opts':=[any()],
    'query':=[{_,_}],
    'status':=integer(),
    'url':=binary()
}

In order for dialyzer to detect that tuples will be returned, do I need to do something additional in the spec or code? What am I missing here?

The return type spec for get/post/... is Tesla.Env.t. When using Tuples middleware this is changed to {:ok, Tesla.Env.t} | {:error, any} but this is not reflected in the typespec, hence the dialyzer error.
I can think of some way to check for Tuples middleware during compilation and adjust the generated typespecs but that would require figuring out a way to make this a general feature (i.e. one could make a custom middleware with custom return values that would need to reflected in the generated typespec).

I have workaroud for now: use Tesla, docs: false
I had no knowledge of dialyzer when I wrote :only/:except/:docs options... docs: false unintentionally disables typespecs as well, so you can write your own inside your module.

use Tesla, docs: false worked like a charm!
I would like to keep this issue open for a few days, hoping to get more feedback on this. @teamon , is it okay?

Definitely, it should stay open. I should open this myself ~ two weeks ago 😞

Alright, it can be done.
Example usage
defmodule Sandbox do
  defmodule Client do
    use Tesla
  end

  defmodule TuplesClient do
    use Tesla

    plug Tesla.Middleware.Tuples
  end

  def main do
    case Client.get("/") do
      %{status: _status} -> :ok
    end
  end

  def main_tuple do
    case TuplesClient.get("/") do
      {:ok, _env} -> :ok
      {:error, _reason} -> :error
    end
  end
end

on curent master
⌘ ~/code/tesla/sandbox λ mix dialyzer
...
lib/sandbox.ex:18: Function main_tuple/0 has no local return
lib/sandbox.ex:20: The pattern {'ok', _env@1} can never match the type #{'__client__':=fun(), '__module__':=atom(), '__struct__':='Elixir.Tesla.Env', 'body':=_, 'headers':=#{binary()=>binary()}, 'method':='delete' | 'get' | 'head' | 'options' | 'patch' | 'post' | 'put' | 'trace', 'opts':=[any()], 'query':=[{atom() | binary(),binary() | [{atom() | binary(),binary() | [{_,_}]}]}], 'status':=integer(), 'url':=binary()}
lib/sandbox.ex:21: The pattern {'error', _reason@1} can never match the type #{'__client__':=fun(), '__module__':=atom(), '__struct__':='Elixir.Tesla.Env', 'body':=_, 'headers':=#{binary()=>binary()}, 'method':='delete' | 'get' | 'head' | 'options' | 'patch' | 'post' | 'put' | 'trace', 'opts':=[any()], 'query':=[{atom() | binary(),binary() | [{atom() | binary(),binary() | [{_,_}]}]}], 'status':=integer(), 'url':=binary()}
done (warnings were emitted)

on branch dependant-types
⌘ ~/code/tesla/sandbox λ mix dialyzer
...
done (passed successfully)

Required change to middleware
https://github.com/teamon/tesla/blob/8e8fd81e212530bb7cb73fc851faac9b54bc1621/lib/tesla/middleware/tuples.ex#L30-L34
Explanation
I must admin this is quite a hack 💃
First, I've tried with @type return :: ... in Tesla.Middleware.Tuples but I can't seem to find an easy way to get to that information after the middleware module is compiled. AFAIK, dialyzer does some magic reading from beam files to support referencing types from other modules.
Then, I've tried with macros, but I've stumbled upon unexplainable errors from elixir compiler while compiling Tesla.Builder module.
Fortunately, since quote code is just data structure if can be used not only with macros, but also in regular functions - hence the def return_type with quote inside in Tesla.Middleware.Tuples.
From this point the rest is fairly straightforward. First, I've replaced :: Tesla.Env.t with type alias :: return_type in Tesla.Builder. Then, in __before_compile__ I check the last middleware in stack for return_type/0 function. Note that I must've used Code.ensure_loaded/1 to make function_exported?/3 works correctly. Then, if there is such function I simply call it, get the quoted type spec and inject it as @type return_type :: [here]. In case there is no middleware, or the last one does not export custom return type there is a fallback to Tesla.Env.t
Here is the code for __before_compile:
https://github.com/teamon/tesla/blob/8e8fd81e212530bb7cb73fc851faac9b54bc1621/lib/tesla.ex#L345-L370
And here is the full diff of changes:
https://github.com/teamon/tesla/commit/8e8fd81e212530bb7cb73fc851faac9b54bc1621
So... what do you think? :)

@ahmadferdous have you got a change to try this out?

@ahmadferdous  I'm going to close this one for now. I think the additional complexity is bigger than gains in this case. Feel free to reopen/comment.


solution: make sure it works on all actual environments

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Codecov Report

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

@@            Coverage Diff            @@
##             master       #3   +/-   ##
=========================================
  Coverage     95.67%   95.67%
  Complexity      279      279
=========================================
  Files            35       35
  Lines           717      717
  Branches         92       92
=========================================
  Hits            686      686
  Misses           14       14
  Partials         17       17

Continue to review full report at Codecov.

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


[txpool] Replace same nonce with better price transaction

Description
This PR adds the missing feature, better price transaction replacement.
It is reasonable for wallet user to speed up transaction mined or cancel some transactions. Before this PR, the node would only reject the later transaction with ErrNonceTooLow.
Changes include

[ ] Bugfix (non-breaking change that solves an issue)
[ ] Hotfix (change that solves an urgent issue, and requires immediate attention)
[x] New feature (non-breaking change that adds functionality)
[ ] Breaking change (change that is not backwards-compatible and/or changes current functionality)

Checklist

[x] I have assigned this PR to myself
[x] I have added at least 1 reviewer
[x] I have added the relevant labels
[ ] I have updated the official documentation
[x] I have added sufficient documentation in code

Testing

[x] I have tested this code with the official test suite
[x] I have tested this code manually

Manual tests

Set up a dev mode node.
Run txpool subscription command.

dogechain txpool subscribe --added --enqueued --pruned-enqueued --pruned-promoted --dropped --demoted --replaced

Use Metamask to send some future (large nonce) transactions.
Replace or cancel those transactions with higher gas price.

We should be able to watch the replaced events published.

Codecov Report

Merging #119 (616b45e) into dev (1928a2a) will increase coverage by 0.22%.
The diff coverage is 92.37%.

@@            Coverage Diff             @@
##              dev     #119      +/-   ##
==========================================
+ Coverage   51.53%   51.75%   +0.22%
==========================================
  Files         112      112
  Lines       16551    16654     +103
==========================================
+ Hits         8529     8620      +91
- Misses       7286     7295       +9
- Partials      736      739       +3

Impacted Files
Coverage Δ

txpool/account.go
86.00% <86.11%> (-1.27%)
:arrow_down:

txpool/queue.go
84.15% <92.72%> (+3.68%)
:arrow_up:

txpool/txpool.go
75.38% <100.00%> (+1.23%)
:arrow_up:

protocol/sync_peer.go
69.00% <0.00%> (-1.00%)
:arrow_down:

network/e2e_testing.go
75.10% <0.00%> (-0.43%)
:arrow_down:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Added checks to skip rollout status for eligible workloads

... if updateStrategy is not RollingUpdate
Fixes: https://github.com/microsoft/azure-pipelines-tasks/issues/12589

Move this logic to https://github.com/microsoft/azure-pipelines-tasks/blob/91ed11388bfa1462fd999a7849c3c8b5db08eccb/Tasks/Common/kubernetes-common-v2/kubernetesmanifestutility.ts#L9
Might be cleaner.
cc: @shigupt202

@koushdey could you add a service.yaml to the tests and validate the stability?

Move this logic to
https://github.com/microsoft/azure-pipelines-tasks/blob/91ed11388bfa1462fd999a7849c3c8b5db08eccb/Tasks/Common/kubernetes-common-v2/kubernetesmanifestutility.ts#L9
Might be cleaner.
cc: @shigupt202

Agreed. There are other non-workloadTypesWithRolloutStatus for which we check manifest stability, which will be missed if you filter them out in getResources itself. Also, it's cleaner to put such checks outside of the getResource().

LGTM. Make sure to bump the version of all the tasks using kubernetes-common-v2, to fix the failing checks.


Zero padding of year in Timestamp::toString

Presto is expecting year to be zero-padded to 4 digits and space as date time separator:
select cast(timestamp '1-01-01 00:00:00' as varchar);
          _col0
-------------------------
 0001-01-01 00:00:00.000
(1 row)

In our code the behavior for cast is no padding for year and 'T' as date time separator.  However this cannot be changed directly since other production system could depends on it.  Need to find a way to migrate this behavior safely.
For now this remains as a unresolved known issue.

Fixed in #6841

#6874


Introduce multi-thread writing to persistent store.

Closing this pull request as I have found a bug.


Not able to run a single test from a test suite.

I am running this command to run a single test from test suite. But it runs all the tests.
cci task run robot --org dev -o suites cumulusci/robotframework/tests/salesforce/ui.robot -o test 'Click Modal Button'

This is fixed in beta97+


fixed updating errors for text outputs causing crash

This addresses part of #186 -- the unhandled rejection part where we tried to get a text component as a data context.
I also made it so that new updates cause the error message to clear before the update happens. That way, if an update error is fixed, the flowing through of the update will remove the error message.

This now listens for text deletions and removes the corresponding transformations from the store.
It relies on this patch to the CODAP repo which adds the name to the deletion notification for all components.
It should fully fix #186 though now I'm worrying about interactions between undo/redo and updating of text components. That's for a separate PR I think.
Look good to merge now that this has the full fix? @stardust66 @P-bibs

Yep go for it :+1:


After a machine in the Redis cluster crashes, a large number of RedisClusterNode instances will be created in the service, but they cannot be recycled, resulting in the service being continuously full GC

Current Behavior
hi @mp911de ,
In the production environment, a Redis machine crashed and the service successfully enabled the topology refresh function. One day later, our machine had not yet recovered, but the service experienced high CPU. After analyzing the heap dump files, it was found that a large number of RedisClusterNode objects were created, and the JVM was unable to recycle them, resulting in a continuous full GC. I would like to know why. thanks
Environment

Spring-boot：   [2.3.2.RELEASE]
Lettuce version(s):    [5.3.2.RELEASE]
Redis version:    [6.2.6]

Additional context
This is the image analyzed by jprofiler

If you have a heap dump handy, please investigate the GC roots of the held object. It can well be that some of these objects are held by retry instances or other ones that are attached to objects that aren't cleared.


Move disabled features to the top of the list (Options page)

This makes it easier to find the features that you previously disabled.

I'm leaning to -1 right now. Some buttons that allow sorting the list would be more useful I think; sort alphabetical & sort by state.

I think a button showing disabled would be better since #2514 would enable searching.

The only difference between this and the full alphabetical order is that feature hide-own-stars for example is not in the middle of the list anymore.
Now, why would you expect it to be there? Are you looking for that feature specifically? Then search it with the new filter bar. If anything, you’ll see it without searching because it’s already on top.
Having your disabled feature always on top, even when you’re not specifically looking for them, makes them a whole lot more noticeable. For example in that very screenshot I noticed that I had disabled a feature I didn’t mean to disable.

Yeah I don’t feel strongly about keeping broken feature up there too. I can restore those

Maybe also move broken features to the bottom? Reason is pretty much the same — to have all broken features in one place. Also if one the first few features become broken the order will become less obvious.


Workspace Layout: Initial layout setup for the Workspace view

Added the initial layout for the workspace view.

Damn! Looking dope, this is the right direction – will Feedback more soon.

Couple of ideas for terminal & editor:
https://xtermjs.org/ for Terminal maybe
https://github.com/uiwjs/react-codemirror
https://www.npmjs.com/package/monaco-editor
https://www.npmjs.com/package/react-diff-view
Dark Theme – should be easy with Chakra & def the biggest priority right now haha!
@prometheus I will could create a mock_api potentially?

One concern I have that we should have prob spoken sooner about is usage of React vs using Next.js – for now React should be fine, for production use in the future - Next.js would be the better solution prob

What do you mean with "Input integrations" @yashrahurikar23 ? :P

@yashrahurikar23 Good job with the initial setup.
Few thoughts and feedback:

How about using nextjs. For react based UI its very intuitive to use https://github.com/vercel/ai down the line.
Better to integrate typescript in the initial phase of bootstraping.
Usage of pnpm instead of yarn.

I will also add a github actions to bootstrap CI/CD at some point. So, pnpm will be way faster there.

I am not sure about Vercel AI SDK. Is it primarily for easier frontend building? I thought it was a full-stack solution to build some Chat UI stuff. But I may be wrong.

Thanks @markokraemer @akkikumar72 for the comments.
For NextJS: Yes we will eventually have to migrate to NextJS but from my experience NextJS adds benefits in apps like websites/ e-commerce stores, where we can leverage server side rendering. But in our use case the app will be client side heavy with terminal, editor and browser with processes running in background. My recommendation would be to switch to NextJS only if we face any sort of performance issues at lead time. Our routing structure is also not going to be that complicated.
Typescript: Yes we should integrate Typescript, I will do that by tomorrow.
pnpm: We can switch to pnpm for package management I like the idea. @akkikumar72 by any chance do you already know how we can migrate? I will have to check the docs.
For me the idea was to start with a very bare bone structure to start the integration with backend, we can always revise the tech stack for client app, its not going to be complicated I feel, apart from the terminal and editor flow.

Couple of ideas for terminal & editor: https://xtermjs.org/ for Terminal maybe
https://github.com/uiwjs/react-codemirror https://www.npmjs.com/package/monaco-editor
https://www.npmjs.com/package/react-diff-view
Dark Theme – should be easy with Chakra & def the biggest priority right now haha! @prometheus I will could create a mock_api potentially?

Thanks @markokraemer I will check these.

I am not sure about Vercel AI SDK. Is it primarily for easier frontend building? I thought it was a full-stack solution to build some Chat UI stuff. But I may be wrong.

You mean the V0 from Vercel?

No, what @akkikumar72 has shared at https://github.com/vercel/ai. Feel free to explore and decide if that's something we might need. I don't think so, though.

What do you mean with "Input integrations" @yashrahurikar23 ? :P

Oh not just the chat input integration.

No, what @akkikumar72 has shared at https://github.com/vercel/ai. Feel free to explore and decide if that's something we might need. I don't think so, though.

Ok let me check, what is your opinion on this tool?

@yashrahurikar23 Dont worry about pnpm now. I will take care of it in separate PR.
Having Nextjs will be beneficial once we have authentication, SEO & AI stuff. So better if we can have it sooner.

This looks really nice! Some thoughts, I didn't see any outright blockers.

Only thing I found confusing was that the hamburger menu over the Timeline was the thing that collapse/expands the left sidebar. Might not be the intuitive place for that control.
I added npm install to the README, even though it's somewhat obvious.
Noticed the test fails: renders learn react link, just left over from the init I'm sure.
I noticed this uses create-react-app, personally I've liked vite much better. I'm not asking you to regen this, there are more important things and CRA is serviceable, but next time you need to init frontend app maybe give it a try.

Better to integrate typescript in the initial phase of bootstrapping.
+1 to TypeScript :)

Hi Guys
Thanks for the comments @raymyers @akkikumar72
For Hamburger: I agree its a little confusing, I will move it to the left Nav itself.
For NextJS: Lets switch to NextJS.
For Typescript: Lets add typescript.
I will make the changes in today's commit along with the other changes.

@yashrahurikar23 we´ll have our meeting tomorrow to go over Frontend & UX – so we´ll talk more tomorrow. Here is the full list of Screens to be implemented / my UX proposal: https://www.figma.com/file/KmClkD8ESuwy3ZGBFQO8CP/Mirko.ai?type=whiteboard&node-id=884%3A94&t=msPyppQqgVlbzJ5N-1

Hey everyone, the UI is looking fantastic! I was thinking about the placement of the Terminal/Browser/Editor/Planner Tab Group. How about positioning it at the bottom to mirror the well-known layout of VS Code? This way, it could be easily expandable by sliding up and down. What do you think?

x

I like the idea. We can make these changes in upcoming changes.


Automatically follow HTTP/HTTPS redirects for identity storage service

Contains
The identity storage service client now correctly follows HTTP redirects (301/302). Particularly useful if the server forces HTTP requests to move to HTTPS through 301/302 redirects, like the official server (http://utility.terasology.org) is now doing thanks to @qwc.
How to test
Try to use the identity storage service on the official server (http://utility.terasology.org), by clicking (from the main menu) Settings > Player > Login. On the current master/develop branches, it will only work if you enter the HTTPS URL (https://utility.terasology.org); the login will fail if you put the plain HTTP URL (http://utility.terasology.org), because it redirects to the HTTPS one but the client does not follow this redirect.
On this branch, both the HTTP and HTTPS URLs work (HTTP can be a bit slower due to the larger number of requests involved) because when entering the HTTP one the redirect to the HTTPS one is correctly followed.
Outstanding before merging
Not sure how much it's related but maybe we could populate by default the "Service URL" field in the login dialog with https://utility.terasology.org if this can help new users. Obviously, one would still be allowed to modify the field to use an alternative server if they want, anyway I'm not sure if populating it by default with our server is appropriate, just dropping it here as an idea.

Hooray Jenkins reported success with all tests good!

Thanks for that - tested out well :-)
Although, I tried signing up for a new account and after several minutes don't have the confirmation email so I can't actually log in. Was able to still validate it anyway. I have a bad feeling one or more of our servers are stuck in an IP group that got used for spamming and blacklisted recently. Getting lots of email bounces for emails sent by the forum :/
I don't know if there is a return email for the confirmation emails, to indicate a failure to send? Wonder how we can improve that setup.
I added in https://utility.terasology.org as default text for the URL, that seems perfectly fair and a good convenience. Also reminded me how badly we need the UI tabbing support #483 :D


Update sha256 in python-hypothesis

it looks like the version bump in
046c4020a5ab572371f3beed1951455fe0d6198f did not update the sha256
Also there was a dependency missing.

hmm, I remember doing all of this once, guess it was for my PR which got closed

however, this is a dependency of pytest, which is used by the majority of packages. Do you mind targeting the staging branch, as this causes a rebuild of most of the python packages.

Do you mind targeting the staging branch

done

@GrahamcOfBorg build python3Packages.requests python38Packages.requests

otherwise LGTM

rebased to fix commit message

let's wait with merging. If the hash wasn't committed, then it wasn't tested.

Looks like this has been fixed somewhen.


libtcmu: fix cfgstring len

cfgstring will look like,
<EMAIL_ADDRESS>(glfs)
The string can exceed 256 characters.
Signed-off-by: Prasanna Kumar Kalever<EMAIL_ADDRESS>

Sorry for delaying this patch. Now I have made a helper function as per mikes comments. And made the cfgstring len to be 4k.

Tested by using rbd handler and looks good to me.

@lxbsz thanks!

Thanks for the patch pkalever and testing and review lxbsz.


WRONG REPO

Place the teleporter down and supply it with energy. On right click it opens a GUI were the targed coordinates can be put in. Place the dragon Egg nearby if you want to teleport into different dimensions. Supply a Redstone signal to start the teleport. Any entity in a 3x3x3 area in front of the teleporter will be teleportet to the targed coordinates.

GT Teleporter+Dragon Egg=Teleport to anywhere in any dim.
Is this an exploit allowing to go to higher tier planets without the space ship?

^^


feat: add uncompressed SP1

Description

We should add uncompressed SP1.

This gets solved with https://github.com/yetanotherco/aligned_layer/issues/668 since now there is only one verify method instead of verify and verify_compressed. The data to know if the proof is compressed or uncompressed gets directly embedded into the proof.


Add Block Monitor Thread

Adding information on Distribution Agent as it maintains a blocking monitor thread that detects blocking between sessions.

@kaushika-msft : Thanks for your contribution! The author, @MashaMSFT, has been notified to review your proposed change.

#sign-off

@kaushika-msft : Thanks for your contribution! The author, @MashaMSFT, has been notified to review your proposed change.


Updated marathon+chronos endpoints to go via nginx proxy.

Same as before but only if nginx_auth_enable is true.

LGTM


add ability to hide schemas

I'd love to be able to hide individual schemas (plus their connections) from the view.
The biggest use case is hiding the root query from the view.
Right now we have 20 queryable entities, which means there's 20 (redundant) links on the UI from just that.
I'd like to hide it so that we can make it easier to understand.

@bradzacher It's definitely something we need to think about.
As a possible workaround, you can choose different root types for the graph, see this screenshot:


CoreDNS [ERROR] plugin/errors: 2 . Unable to reach internet from inside the pod

K8s :- V1.26.1
OS : - RHEL 8.7
VM is hosted using Azure cloud provider.

Core dns logs :-
CoreDNS-1.9.3
linux/amd64, go1.18.2, 45b0a11
[ERROR] plugin/errors: 2<PHONE_NUMBER>905608835.8295431261288812352. HINFO: read udp <IP_ADDRESS>:34391-><IP_ADDRESS>:53: read: no route to host
[ERROR] plugin/errors: 2<PHONE_NUMBER>905608835.8295431261288812352. HINFO: read udp <IP_ADDRESS>:34275-><IP_ADDRESS>:53: read: no route to host
[ERROR] plugin/errors: 2<PHONE_NUMBER>905608835.8295431261288812352. HINFO: read udp <IP_ADDRESS>:59435-><IP_ADDRESS>:53: read: no route to host
Unable to reach internet from inside the pod. nslookup fails with below error

This looks like a configuration issue. Your pod has a private address. Do you have some sort of NAT setup? Do your nodes have public IPs? If yes, you can try to place your DNS pods in a nat-outgoing ippool.

K8s :- V1.26.1 OS : - RHEL 8.7 VM is hosted using Azure cloud provider.

Core dns logs :- CoreDNS-1.9.3 linux/amd64, go1.18.2, 45b0a11 [ERROR] plugin/errors: 2<PHONE_NUMBER>905608835.8295431261288812352. HINFO: read udp <IP_ADDRESS>:34391-><IP_ADDRESS>:53: read: no route to host [ERROR] plugin/errors: 2<PHONE_NUMBER>905608835.8295431261288812352. HINFO: read udp <IP_ADDRESS>:34275-><IP_ADDRESS>:53: read: no route to host [ERROR] plugin/errors: 2<PHONE_NUMBER>905608835.8295431261288812352. HINFO: read udp <IP_ADDRESS>:59435-><IP_ADDRESS>:53: read: no route to host
Unable to reach internet from inside the pod. nslookup fails with below error

Facing the same issue with RHEL 9 in a VM hosted in VM.  @parshva-shah-dsw  where you able to solve it

@DineshRajj flushing ip tables rules and installing flannel cni worked for us in RHEL 8. not sure with RHEL 9 the same resolution will work or not

@DineshRajj flushing ip tables rules and installing flannel cni worked for us in RHEL 8. not sure with RHEL 9 the same resolution will work or not
Thanks for the reply
Sure will try with flannel.  Please help me with flannel CNI version and also if you have any document to follow you can share here

@DineshRajj flushing ip tables rules and installing flannel cni worked for us in RHEL 8. not sure with RHEL 9 the same resolution will work or not

@parshva-shah-dsw Could you please help me with deck or reference link to setup custom k8s setup using Azure VMs(RHEL 9).


fix: Update slsa-verifier version

Description:
Updates the slsa-verifier version used to verify the todos release.
Related Issues:
Fixes #688
Checklist:

[x] Review the CONTRIBUTING.md documentation.
[x] Add a reference to a related issue in the repository.
[x] Add a description of the changes proposed in the pull request.
[x] Add unit tests if applicable.
[x] Update documentation if applicable.
[x] Add a note in the CHANGELOG.md if applicable.
[x] Sign the Google CLA.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 98.36%. Comparing base (8727d6c) to head (38c05ad).

Additional details and impacted files

@@           Coverage Diff           @@
##             main     #689   +/-   ##
=======================================
  Coverage   98.36%   98.36%
=======================================
  Files           4        4
  Lines         183      183
  Branches       19       19
=======================================
  Hits          180      180
  Partials        3        3

Files
Coverage Δ

src/reopener.ts
99.01% <100.00%> (ø)


When using the global exception interceptor, you need to pay attention.

当使用ControllerAdvice全局异常拦截器,无法抛出异常.导致无法回滚.

@wudgaby What is the order of the ControllerAdvice?


Missing License

Please add a license to your project! ❤ 🙌🏻
https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository
I see you have MIT in your package.json, however the license is missing from the repo.

@emilyrohrbough I'm happy to say that the LICENSE file is published to npm as of 0.7.1 🥳
<EMAIL_ADDRESS>

the only remaining bug here appears to be that @imolorhe left himself out of the copyright when adding the file, despite creating more than half of this project 😆


about the pretrain_mode

i have tried three pretrain_model, all of them generative close to Gaussian noise，does anyone get the same problem as me?

What do you mean with "pretrain_model"? Do you mean when you train the models, all you get is noise when sampling?

sorry, i got it wrong, I confused pre-train with checkpoints. I just used three checkpoints you have shared to generative the pic, of course it doesn't work. I would like to take this opportunity to thank you for sharing the code and video explanation, as a beginner, I have learned a lot, thank you very much, I will continue to pay attention to your sharing.

sorry, i got it wrong, I confused pre-train with checkpoints. I just used three checkpoints you have shared to generative the pic, of course it doesn't work. I would like to take this opportunity to thank you for sharing the code and video explanation, as a beginner, I have learned a lot, thank you very much, I will continue to pay attention to your sharing.
Hi, I'm getting the same problem as you, so what should I do to generate the images correctly?

sorry, i got it wrong, I confused pre-train with checkpoints. I just used three checkpoints you have shared to generative the pic, of course it doesn't work. I would like to take this opportunity to thank you for sharing the code and video explanation, as a beginner, I have learned a lot, thank you very much, I will continue to pay attention to your sharing.

Hi, I'm having the same problem as you, so what should I do to generate the images correctly

@ZhouHaoWa @dome272 I have the same problem, I used the model given by the link  and run the demo code. However, the results was almost Gaussian noise, is there any thing wrong?
    device = "cuda"     model = UNet().to(device)     ckpt = torch.load("unconditional_ckpt.pt")     model.load_state_dict(ckpt)     diffusion = Diffusion(img_size=64, device=device)     x = diffusion.sample(model, n=16)     plot_images(x)


create_distributed_table's can also re-distribute with new shard count?

When I read the definition  of create_distributed_table from our documentation, this part

If the table is hash-distributed, the function also creates worker shards based on the shard count and shard replication factor configuration values. If the table contains any rows, they are automatically distributed to worker nodes.

I thought that I can also use the method to re-distribute a table according to the new shard count and shard replication factor configuration variables. However, it is not supported (yet).

Is the re-distribution behavior now supported and ready for documentation?

No it is not.


Deps

Updates the 2 deps that are yellow on deps.rs.
Also removed extern crate - it should be no longer necessary in 2018 edition or is there any reason why you used it?

Edit: removed it from everywhere except when needed for #[macro_use]. Explanation: https://doc.rust-lang.org/stable/edition-guide/rust-2018/path-changes.html#no-more-extern-crate
Also note i haven't tested any of the changes beyond making sure cargo build works, i trust your CI ;)


Vim colorscheme leaves a wake of destruction when switching away

Easiest way to demonstrate:
:e ~/.vimrc
:colorscheme solarized
:colorscheme default

Note that the highlighting for vimCommand and other highlight groups is gone.
I haven't figured out the precise trigger yet (I'll probably take a closer look this weekend), but I can tell you that it never seems to happen if you :hi link rather than directly override a group's colors.

I've narrowed it down to something that has to do with hi def link instead of using hi link. I don't really know why this would only apply to Solarized, but here's some steps you can follow along with to see the behavior:
for reference, I'm using my fork of vim-javascript but it also applies to the origin as well

Edit a javascript file in Vim with solarized set as colors_name
Change colorscheme to something else
Change colorscheme back to solarized
Notice how some things aren't properly highlighted like hi javaScriptLabel gets cleared
Go into syntax/javascript.vim (with fugitive it's just :Vvsplit syn/javasc) and change all the HiLink statements at the bottom to hi link (since the command HiLink uses hi def link if supported)
Save the syntax file and go back to the javascript one
Edit the current file with :e %
Highlighting should be back again

That's as far as I've gotten. Not a good solution since  you'll have to change it back to HiLink for custom highlighting outside of the syntax file, but hope it helps figure out what's wrong.

That's definitely good intel and a solid repro case. Thanks.

Sorry for resurrecting this thread, but this "bug" is still a problem in Vim 8.
As xolox details in the post above this one, he found a workaround that fixes the issue. However, he only implemented this fix within his plugin, and the plugin doesn't allow for switching to a specific colorscheme by name. I took the liberty of extracting the relevant functions and making a custom :MyColorscheme command which doesn't have this issue like :colorscheme does.
If anyone stumbles across this problem in the future and is looking for a quick fix, simply add this to your vimrc, use :MyColorscheme to switch colorschemes, and voila!:
if !exists('s:known_links')
  let s:known_links = {}
endif

function! s:Find_links() " {{{1
  " Find and remember links between highlighting groups.
  redir => listing
  try
    silent highlight
  finally
    redir END
  endtry
  for line in split(listing, "\n")
    let tokens = split(line)
    " We're looking for lines like "String xxx links to Constant" in the
    " output of the :highlight command.
    if len(tokens) == 5 && tokens[1] == 'xxx' && tokens[2] == 'links' && tokens[3] == 'to'
      let fromgroup = tokens[0]
      let togroup = tokens[4]
      let s:known_links[fromgroup] = togroup
    endif
  endfor
endfunction

function! s:Restore_links() " {{{1
  " Restore broken links between highlighting groups.
  redir => listing
  try
    silent highlight
  finally
    redir END
  endtry
  let num_restored = 0
  for line in split(listing, "\n")
    let tokens = split(line)
    " We're looking for lines like "String xxx cleared" in the
    " output of the :highlight command.
    if len(tokens) == 3 && tokens[1] == 'xxx' && tokens[2] == 'cleared'
      let fromgroup = tokens[0]
      let togroup = get(s:known_links, fromgroup, '')
      if !empty(togroup)
        execute 'hi link' fromgroup togroup
        let num_restored += 1
      endif
    endif
  endfor
endfunction

function! s:AccurateColorscheme(colo_name)
  call <SID>Find_links()
  exec "colorscheme " a:colo_name
  call <SID>Restore_links()
endfunction

command! -nargs=1 -complete=color MyColorscheme call <SID>AccurateColorscheme(<q-args>)

Thanks for posting this. I was having similar issues with the Afterglow color scheme.
Cheers
Kelvin

FYI, to avoid this issue my Solarized 8 fork does not define filetype-specific highlight groups by default. A setting is available if you still want to do so.

@lifepillar Why not include @auwsmit's solution as an option?
Speaking of: @auwsmit, may I include your answer in a related plugin? Care to release it under a license, so I can do so? (=

I don't mind at all, but that code almost entirely came from xolox's vim-colorscheme-switcher which is licensed under MIT, so I guess ask him, or include MIT with his copyright to be safe. I'm not super familiar with license/copyright conventions.

@ELLIOTTCABLE I don't want to add bloat to the colorscheme. IMO, this issue can only be properly addressed in Vim core.


find_cmd is hard coded.

At the current stage of this extension, it seems that find_cmd is hardcoded. I wish there was an ability for me to include different flags to make my search a bit nicer. For instance having "--no-ignore" flag on rg or fd would be nice as you don't typically commit photos to your project. Is there any way, to make the expressions a bit freer? Thanks.

For reaches this issue:
try including a .fdignore and whitelist the folders/files whit the photos?
In my .gitignore I'm still ignoring the folder output
But in my project I also have a .fdignroe file with the following:
!output

And now I'm capable to see all the files in the output folder


Binary and manpage permissions?

The usual permissions for installed binaries and manpages are 755 and 644, respectively. This allows the owner of the files to modify them (even though this is unnecessary).
However, RGBDS installs these files with permissions 555 and 444. Why is this?
Is there any particular reason not to have them as 755 and 644?

Short answer: no idea :D
You might want to ask some of the older maintainers (@AntonioND ?), I have just never touched this.

That's most likely a mistake. You really need that "execute" permission for the binaries...

The binaries have the execute permission, hence "respectively". But none of
the files have the (unnecessary, but standard) write permission bit set for
the owner.

Oh, right. Sorry, I checked this message while walking and I wasn't paying a lot of attention.

I have a PR ready which changes this. It also changes the use of /man to /share/man because the latter is also more common. I'll go ahead and open it and see if there are any objections.

Fixed by #502.


Make Locale match defaultLocale

Resolves #174424

Microsoft Reviewers: Open in CodeFlow

@stephengillie - I'm going to reject your suggestions in this PR and raise a separate PR to adjust that formatting, as there are many other places these notes occurr in the docs, including files not touched by this PR.
Please merge.

[Policy] Reset Feedback

It seems that https://github.com/microsoft/winget-pkgs/labels/Project-File PRs don't pass pipelines, so never get the https://github.com/microsoft/winget-pkgs/labels/Validation-Completed label, creating a situation where the Policy Service doesn't have the right labels to make an approval.


There is a failed activity log when clicking 'Play in Browse' in one file share which has the correct RBAC role

Storage Explorer Version: 1.36.0 (101)
Build Number: 20241009.1
Branch: rel/1.36.0
Platform/OS: Windows 10/Windows 11/Linux Ubuntu 22.04/MacOS Sequoia 15.0(Apple M1 Pro)
Architecture: x64/arm64/x64/arm64
How Found: Exploratory testing
Regression From: Not a regression
Steps to Reproduce

Select one storage account.
Assign RBAC roles 'Storage File Data Privileged Contributor' and 'Reader' to an azure account.
Sign into storage explorer using the azure account.
The storage account displays under the subscription.
Expand the storage account -> File Shares.
Open one file share -> Upload a .mp4 file -> Select the file -> Click 'Play in Browser'.
Check whether succeeds to play the file in browser.

Expected Experience
Succeed to play the file in browser.
Actual Experience
There is a failed activity log.

Additional Context

This issue also reproduces for other video files.
This issue doesn't reproduce for blob containers.

@v-kellyluo Can you share more information about the error? Is it an access error?

@craxal , it isn't an access error, I can preview csv/parquet/avro files, only fails to open video files in browser.

Here is the logs:
2024-10-11_022927.zip
Here is the record:

After investigating, seems like this is not a regression. In 1.35.0 file shares could not be accessed with those roles due to credentials not being suitable. In 1.36.0 when trying to play in browser a .mp4 file the error being thrown is that "File Share requires storage account key to generate SAS". So it looks like that File Shares don't support user delegated SAS.
The fix is that we can expose the error in the activity log and this would be a fix that falls under "better UX".

I merged a change to disable this button when the file share explorer doesn't have key or SAS credentials.

Verified this issue on the build 20241207.4. Fixed.


added new certifications

Added a couple of certifications in go , graphql , cloud , AI.

please accept the PR :).


Cache common password list

On PR opened 6 days ago
https://github.com/UKGovernmentBEIS/beis-opss-psd/pull/1571

This PR:

Codecov Report

Merging #1574 (d86800a) into master (01d427a) will decrease coverage by 73.46%.
The diff coverage is 75.00%.

@@             Coverage Diff             @@
##           master    #1574       +/-   ##
===========================================
- Coverage   89.73%   16.26%   -73.47%
===========================================
  Files         388      388
  Lines        8317    11568     +3251
  Branches     1218      436      -782
===========================================
- Hits         7463     1882     -5581
- Misses        679     9638     +8959
+ Partials      175       48      -127

Impacted Files
Coverage Δ

app/validators/common_password_validator.rb
83.33% <75.00%> (-16.67%)
:arrow_down:

app/models/contact.rb
0.00% <0.00%> (-100.00%)
:arrow_down:

app/models/country.rb
0.00% <0.00%> (-100.00%)
:arrow_down:

app/models/accident.rb
0.00% <0.00%> (-100.00%)
:arrow_down:

app/models/incident.rb
0.00% <0.00%> (-100.00%)
:arrow_down:

app/models/location.rb
0.00% <0.00%> (-100.00%)
:arrow_down:

app/forms/alert_form.rb
0.00% <0.00%> (-100.00%)
:arrow_down:

app/services/send_sms.rb
0.00% <0.00%> (-100.00%)
:arrow_down:

app/forms/comment_form.rb
0.00% <0.00%> (-100.00%)
:arrow_down:

app/jobs/send_alert_job.rb
0.00% <0.00%> (-100.00%)
:arrow_down:

... and 300 more

Continue to review full report at Codecov.

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

Amazing spot!

Thanks :)


Add LinkedIn icon as a social link

LGTM!
FYI I've changed the icon 7b5c664 in order to match the style and layout used for the others.

@FaberVitale, I did not even notice that, thank you for pointing that out for me.


Non-frozen list insert operations replicated incorrectly

As far as I understand, the replicator replicates these operations using INSERT, which causes Scylla to generate the list's timeuuid keys internally - in particular, the operation is not idempotent.
Non-frozen list modifications must always be replicated using UPDATE ... SET l[SCYLLA_TIMEUUID_LIST_INDEX(...)] = ..., so that the key is provided by the client, which makes the operation idempotent and ensures that the order of elements in the replicated list is the same as in the original list.
To replicate an INSERT operation, we can do something like this:
begin unlogged batch
insert into ks.t (pk, ck) values (0, 0);
update ks.t set v[scylla_timeuuid_list_index(...)] = ... where pk = 0 and ck = 0;
apply batch

so we use a separate insert to create the row marker, but update to create the list elements.

In new Replicator integration tests, this is tested here:
https://github.com/scylladb/scylla-cdc-java/blob/ca2949a477cf7dba42ad2872933dc5f906435f37/scylla-cdc-replicator/src/test/java/com/scylladb/cdc/replicator/ReplicatorCorrectnessTestIT.java#L388-L418
(should be uncommented if this issue is fixed)


Parallelize Analysis execution

Non-descendant branches ought to be able to execute on separate processes

Parallelizing recursive descent: not as trivial as I initially thought.


Hamcrest dependency not met

In MesosClusterState response, we are using a Hamcrest method. Hamcrest is never added as a dependency so it generates a hidden methodNotFound exception.
Probably the cause of: https://github.com/mesos/elasticsearch/issues/259

Fixed in #60


ENH: Add parallelism to CircleCI builds

This appears to halve the time it takes to build.

Merging on pass.

Fine by me

Looks like circleci is having issues with AWS. Will check back later


Upgrade project and development environment to Java 17 (or even Java 21)

PR https://github.com/bcgov/jag-cdds/pull/58 added a function containerized Java 11 development environment to the project.
Upgrade the development environment and project to Java 17 (or even Java 21) as indicated in https://github.com/bcgov/jag-cdds/pull/58#issuecomment-2137463345.
Approach:

[ ] Upgrade the development environment.
[ ] Upgrade/Update the project and code as needed to get things to a working state with the newer version of Java.

@KFloodBCGov, Any thoughts, comments, or concerns about upgrading to Java 17 vs Java 21?

PR to upgrade to Java 17; https://github.com/bcgov/jag-cdds/pull/61

Fixed via https://github.com/bcgov/jag-cdds/pull/62


Review old Franklin project board and copy over interesting opportinites from it.

This was my old project and it had a lot of ideas that I might want to pull into StudyHall.
https://github.com/users/zorn/projects/1/views/5

Done tonight. Got some things over. A few are still draft items in this project, but that is good for now.