HBASE-28810 Improve BackupLogCleaner naming, debug logging

https://issues.apache.org/jira/browse/HBASE-28810
While implementing HBase's incremental backups across a few hundred clusters, we continue to step on some rakes. Now and again, we find old WALs piling up due to a poorly cleaned up BackupInfo, or a bug in the BackupLogCleaner, etc.
The BackupLogCleaner is difficult to debug for a couple of reasons:

It has a lack of useful debug logging
It has a misleadingly named method (this method returns the newest backup ts, not the oldest)

This small refactor improves the logging and naming
cc @ndimiduk

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
0m 21s

Docker mode activated.

-0 :warning:
yetus
0m  2s

Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --author-ignore-list --blanks-eol-ignore-file --blanks-tabs-ignore-file --quick-hadoopcheck

_ Prechecks _

_ master Compile Tests _

+1 :green_heart:
mvninstall
4m 28s

master passed

+1 :green_heart:
compile
0m 33s

master passed

+1 :green_heart:
javadoc
0m 18s

master passed

+1 :green_heart:
shadedjars
6m 53s

branch has no errors when building our shaded downstream artifacts.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
3m 48s

the patch passed

+1 :green_heart:
compile
0m 21s

the patch passed

+1 :green_heart:
javac
0m 21s

the patch passed

+1 :green_heart:
javadoc
0m 14s

the patch passed

+1 :green_heart:
shadedjars
6m  3s

patch has no errors when building our shaded downstream artifacts.

_ Other Tests _

-1 :x:
unit
11m 33s
/patch-unit-hbase-backup.txt
hbase-backup in the patch failed.

35m 37s

Subsystem
Report/Notes

Docker
ClientAPI=1.47 ServerAPI=1.47 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6195/1/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/6195

Optional Tests
javac javadoc unit compile shadedjars

uname
Linux 0cf006c2cb83 5.4.0-192-generic #212-Ubuntu SMP Fri Jul 5 09:47:39 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
master / 694d5f21d5162275f3a427f75ce330a24c57a944

Default Java
Eclipse Adoptium-17.0.11+9

Test Results
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6195/1/testReport/

Max. process+thread count
3025 (vs. ulimit of 30000)

modules
C: hbase-backup U: hbase-backup

Console output
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6195/1/console

versions
git=2.34.1 maven=3.9.8

Powered by
Apache Yetus 0.15.0 https://yetus.apache.org

This message was automatically generated.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
0m 19s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  0s

codespell was not available.

+0 :ok:
detsecrets
0m  0s

detect-secrets was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

+1 :green_heart:
hbaseanti
0m  0s

Patch does not have any anti-patterns.

_ master Compile Tests _

+1 :green_heart:
mvninstall
4m 27s

master passed

+1 :green_heart:
compile
0m 49s

master passed

+1 :green_heart:
checkstyle
0m 15s

master passed

+1 :green_heart:
spotbugs
0m 44s

master passed

+1 :green_heart:
spotless
0m 56s

branch has no errors when running spotless:check.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
3m 24s

the patch passed

+1 :green_heart:
compile
0m 34s

the patch passed

+1 :green_heart:
javac
0m 34s

the patch passed

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

-0 :warning:
checkstyle
0m  9s
/results-checkstyle-hbase-backup.txt
hbase-backup: The patch generated 1 new + 0 unchanged - 0 fixed = 1 total (was 0)

+1 :green_heart:
spotbugs
0m 46s

the patch passed

+1 :green_heart:
hadoopcheck
13m 23s

Patch does not cause any errors with Hadoop 3.3.6 3.4.0.

+1 :green_heart:
spotless
0m 52s

patch has no errors when running spotless:check.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
2m 59s

the patch passed

+1 :green_heart:
compile
0m 20s

the patch passed

+1 :green_heart:
javac
0m 20s

the patch passed

+1 :green_heart:
javadoc
0m 15s

the patch passed

+1 :green_heart:
shadedjars
5m 29s

patch has no errors when building our shaded downstream artifacts.

_ Other Tests _

+1 :green_heart:
unit
10m 57s

hbase-backup in the patch passed.

31m  0s

Subsystem
Report/Notes

Docker
ClientAPI=1.47 ServerAPI=1.47 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6195/2/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/6195

Optional Tests
javac javadoc unit compile shadedjars

uname
Linux 3ef5e402b8e0 5.4.0-192-generic #212-Ubuntu SMP Fri Jul 5 09:47:39 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
master / 63e5cde8b52cf3a6162c69e99812b940ed7bbb2f

Default Java
Eclipse Adoptium-17.0.11+9

Test Results
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6195/2/testReport/

Max. process+thread count
3409 (vs. ulimit of 30000)

modules
C: hbase-backup U: hbase-backup

Console output
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6195/2/console

versions
git=2.34.1 maven=3.9.8

Powered by
Apache Yetus 0.15.0 https://yetus.apache.org

This message was automatically generated.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
0m 58s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  0s

codespell was not available.

+0 :ok:
detsecrets
0m  0s

detect-secrets was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

+1 :green_heart:
hbaseanti
0m  0s

Patch does not have any anti-patterns.

_ master Compile Tests _

+1 :green_heart:
mvninstall
4m 48s

master passed

+1 :green_heart:
compile
0m 38s

master passed

+1 :green_heart:
checkstyle
0m 14s

master passed

+1 :green_heart:
spotbugs
0m 36s

master passed

+1 :green_heart:
spotless
0m 53s

branch has no errors when running spotless:check.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
3m 44s

the patch passed

+1 :green_heart:
compile
0m 35s

the patch passed

+1 :green_heart:
javac
0m 35s

the patch passed

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

+1 :green_heart:
checkstyle
0m 14s

the patch passed

+1 :green_heart:
spotbugs
0m 46s

the patch passed

+1 :green_heart:
hadoopcheck
13m 31s

Patch does not cause any errors with Hadoop 3.3.6 3.4.0.

+1 :green_heart:
spotless
0m 48s

patch has no errors when running spotless:check.

_ Other Tests _

+1 :green_heart:
asflicense
0m 10s

The patch does not generate ASF License warnings.

35m 46s

Subsystem
Report/Notes

Docker
ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6195/2/artifact/yetus-general-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/6195

Optional Tests
dupname asflicense javac spotbugs checkstyle codespell detsecrets compile hadoopcheck hbaseanti spotless

uname
Linux 1c9e2d590ebe 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
master / 63e5cde8b52cf3a6162c69e99812b940ed7bbb2f

Default Java
Eclipse Adoptium-17.0.11+9

Max. process+thread count
82 (vs. ulimit of 30000)

modules
C: hbase-backup U: hbase-backup

Console output
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6195/2/console

versions
git=2.34.1 maven=3.9.8 spotbugs=4.7.3

Powered by
Apache Yetus 0.15.0 https://yetus.apache.org

This message was automatically generated.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
0m 28s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  0s

codespell was not available.

+0 :ok:
detsecrets
0m  0s

detect-secrets was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

+1 :green_heart:
hbaseanti
0m  0s

Patch does not have any anti-patterns.

_ master Compile Tests _

+1 :green_heart:
mvninstall
3m 14s

master passed

+1 :green_heart:
compile
0m 29s

master passed

+1 :green_heart:
checkstyle
0m  9s

master passed

+1 :green_heart:
spotbugs
0m 28s

master passed

+1 :green_heart:
spotless
0m 45s

branch has no errors when running spotless:check.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
3m  2s

the patch passed

+1 :green_heart:
compile
0m 28s

the patch passed

+1 :green_heart:
javac
0m 28s

the patch passed

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

+1 :green_heart:
checkstyle
0m  9s

the patch passed

+1 :green_heart:
spotbugs
0m 34s

the patch passed

+1 :green_heart:
hadoopcheck
11m 33s

Patch does not cause any errors with Hadoop 3.3.6 3.4.0.

+1 :green_heart:
spotless
0m 44s

patch has no errors when running spotless:check.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
3m  2s

the patch passed

+1 :green_heart:
compile
0m 20s

the patch passed

+1 :green_heart:
javac
0m 20s

the patch passed

+1 :green_heart:
javadoc
0m 14s

the patch passed

+1 :green_heart:
shadedjars
5m 28s

patch has no errors when building our shaded downstream artifacts.

_ Other Tests _

+1 :green_heart:
unit
11m  1s

hbase-backup in the patch passed.

32m  0s

Subsystem
Report/Notes

Docker
ClientAPI=1.47 ServerAPI=1.47 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6195/3/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/6195

Optional Tests
javac javadoc unit compile shadedjars

uname
Linux<PHONE_NUMBER>b5 5.4.0-192-generic #212-Ubuntu SMP Fri Jul 5 09:47:39 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
master / a756f534372cac422af6f17523e35e8ed1c6aa58

Default Java
Eclipse Adoptium-17.0.11+9

Test Results
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6195/3/testReport/

Max. process+thread count
3438 (vs. ulimit of 30000)

modules
C: hbase-backup U: hbase-backup

Console output
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6195/3/console

versions
git=2.34.1 maven=3.9.8

Powered by
Apache Yetus 0.15.0 https://yetus.apache.org

This message was automatically generated.


refactor external-lora-phy in lorawan-device as lorawan-radio in lora-phy

It's my opinion that it's better practice to place trait implementations of a struct within the same crate/module as the struct definition itself. In either case, the feature remains feature-gated, however, it feels more natural to have a feature "add a trait implementation to an existing struct" rather than "import a struct an implement the feature with it".

I did not notice that lorawan-device sneaked in as a dependency.
lorawan-device = { path = "../lorawan-device", version = ">=0.11.0", features = [
    "defmt",
], optional = true }
...
[features]
lorawan-radio = ["dep:lorawan-device"]

I did not notice that lorawan-device sneaked in as a dependency.
lorawan-device = { path = "../lorawan-device", version = ">=0.11.0", features = [
    "defmt",
], optional = true }
...
[features]
lorawan-radio = ["dep:lorawan-device"]

I think it should be lorawan-device/async ?

I think it should be lorawan-device/async ?

Well for only fetching lorawan-device only when needed my suggestion should work
Only place lorawan-device is used is in lorawan_radio.rs and that mod is behind the lorawan-radio feature.
that being said you are right. Missing async feature for lorawan-device seems to be an other issue, I don't know how this works without it

https://github.com/lora-rs/lora-rs/pull/195


BUG 2110013: rbd: remove checkHealthyPrimary check

After Failover of workloads to the secondary cluster when the primary cluster is down, RBD Image is not marked healthy, and VR resources are not promoted to the Primary, In VolumeReplication, the CURRENT STATE remains Unknown and doesn't change to Primary.
This happens because the primary cluster went down, and we have force promoted the image on the secondary cluster. and the image stays in up+stopping_replay or could be any other states. Currently assumption was that the image will always be up+stopped. But the image will be in up+stopped only for planned failover and it could be in any other state if its a forced failover. For this reason, removing checkHealthyPrimary from the PromoteVolume RPC call.
Signed-off-by: Madhu Rajanna<EMAIL_ADDRESS>(cherry picked from commit 8c5563a9bcef229b6cfe54ae9fbfbbbed70089be)

/assign @red-hat-storage/ceph-csi-admins
/assign @agarwal-mudit

the linter is failing @Madhu-1

the linter is failing @Madhu-1

It's a known issue in 4.11


az role assignment list not seeing groups

This is autogenerated. Please review and update as needed.
Describe the bug
Updated to the lasted cli 2.0.76 and no longer view groups when running az role assignment list
This worked on 2.0.5X (not sure the exact version)
Command Name
az role assignment list
Errors:
To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

Put any pre-requisite steps here...
az role assignment list --all --assignee {} --subscription {} --include-groups --include-inherited --include-classic-administrators -o {}

Expected Behavior
List Groups & Users role assignments.
Environment Summary
Windows-10-10.0.15063-SP0
Python 3.6.6
Shell: powershell.exe

azure-cli 2.0.76

Extensions:
aks-preview 0.4.4

Additional Context

@jiasli please take a look.

Same issue here with azure-cli version 2.0.76. I cannot see the permissions of the group I am a part of, only the permissions attributed directly to me. (with same command as OP)

I'm also having this issue.
 az role assignment list --assignee<EMAIL_ADDRESS>Lists nothing. Version 2.0.79

@jiasli please help investigate if this is a cli issue or service issue.

@kevin-dfo I can not repro your issue with latest Az CLI. Could you please help run your command with --debug and provide the output to us for further investigation?

I have just re-tested with version 2.5.1 and problem is still there. I have used:
az role assignment list --all --assignee "********" --subscription "*****" --include-groups --include-inherited --include-classic-administrators -o table --debug
However, I am not sure how I feel about posting the debug output here since it contains a decent amount of personal information. Perhaps if you could provide an email to send it to?
What I can tell you from the output though is that the group assignments are properly returned by the api request:

However although there is 30+ of those assignments returned they do not show up in the final command output.

@qianwens Let me know if you need more information than what I provided. If not, perhaps it would be better to remove the "customer-response-expected" label

I have just re-tested with version 2.5.1 and problem is still there. I have used:
az role assignment list --all --assignee "********" --subscription "*****" --include-groups --include-inherited --include-classic-administrators -o table --debug
However, I am not sure how I feel about posting the debug output here since it contains a decent amount of personal information. Perhaps if you could provide an email to send it to?
What I can tell you from the output though is that the group assignments are properly returned by the api request:

However although there is 30+ of those assignments returned they do not show up in the final command output.

Hi @jemag , please help remove your personal information from the output and send it to my email<EMAIL_ADDRESS>Thanks.

@qianwens output sent to your email

@jemag , it is a regression in Azure CLI. We will fix it next release. Thanks for reporting this issue.

I'm using AZ CLI v2.12.1 but still having this issue. I've a user included into a group on subscription level that has read permissions on the subscription but az role assignment list --all --include-classic-administrators --include-groups --include-inherited doesn't list the user.
❯ az --version
azure-cli                         2.12.1

core                              2.12.1
telemetry                          1.0.6

Python location '/usr/local/Cellar/azure-cli/2.12.1/libexec/bin/python'
Extensions directory '/Users/subesokun/.azure/cliextensions'

Python (Darwin) 3.8.5 (default, Jul 21 2020, 10:48:26)
[Clang 11.0.3 (clang-1<IP_ADDRESS>)]

Legal docs and information: aka.ms/AzureCliLegal

Your CLI is up-to-date.

Any ideas?

Hello all!
I'm getting problems to use all the flags except --all
When I use this query to get the roles assigned to a user, for all the components under a subscription, only receive the users added directly to the component, but isn't show me the permissions Inherited. I'm using this query to get that values:     az role assignment list --all --query "[?principalName=='$USR'].principalName:principalName,roleDefinitionName:roleDefinitionName,resourceGroup:resourceGroup,scope:scope}" -o table
But I've tried replacing --all with another flags (--include-inherited) without the expected result.
AZ Version:
"azure-cli": "2.36.0",
"azure-cli-core": "2.36.0",
"azure-cli-telemetry": "1.0.6",
"extensions": {}
Any approach to get the inherited roles on my query?


Add transparent palette as a modded palette

In the modded palette on the port menu

this will be considered when the port needs to be updated again (to fix a game-breaking bug, or to update the Pizza Tower version)

you can do this yourself in the meanwhile just by modifying spr_peppallette, just pick one and turn the colors transparent

i cant help with adding more palletes to that file tho

you can do this yourself in the meanwhile just by modifying spr_peppallette, just pick one and turn the colors transparent

or edit your save to have an invalid pallette


Kubectx switching removes heptio user from config file

Please let me know if this isn't a bug and I'm just doing something wrong, but I haven't been able to find any info related to this.
So for AWS EKS clusters, Amazon's guide (https://docs.aws.amazon.com/eks/latest/userguide/getting-started.html) tells you to use their heptio authenticator and that your .kube/config should look like:
apiVersion: v1
clusters:
- cluster:
    server: <endpoint-url>
    certificate-authority-data: <base64-encoded-ca-cert>
  name: kubernetes
contexts:
- context:
    cluster: kubernetes
    user: aws
  name: aws
current-context: aws
kind: Config
preferences: {}
users:
- name: aws
  user:
    exec:
      apiVersion: client.authentication.k8s.io/v1alpha1
      command: heptio-authenticator-aws
      args:
        - "token"
        - "-i"
        - "<cluster-name>"
        # - "-r"
        # - "<role-arn>"
      # env:
        # - name: AWS_PROFILE
        #   value: "<aws-profile>"

But every time I switch contexts using kubectx it modifies the .kube/config to:
apiVersion: v1
clusters:
- cluster:
    server: <endpoint-url>
    certificate-authority-data: <base64-encoded-ca-cert>
  name: kubernetes
contexts:
- context:
    cluster: kubernetes
    user: aws
  name: aws
current-context: aws
kind: Config
preferences: {}
users:
- name: aws
  user: {}

So it removes the entire heptio auth user part of the config so I have to re-add it manually each time to access my cluster after switching from another context.

kubectx never directly modifies the kubeconfig file.
Please run DEBUG=1 kubectx [...] to see the kubectl commands executed by kubectx.
It's likely that either we're calling kubectl in a wrong way, or kubectl is destroying your config.

So starting with my context set to some-cluster-1 and running DEBUG=1 kubectx some-cluster-2 the output is:
+ IFS='
	'
+ KUBECTX=/Users/my-user/.kube/kubectx
+ main some-cluster-2
+ [[ 1 -eq 0 ]]
+ [[ some-cluster-2 == \-\d ]]
+ [[ 1 -gt 1 ]]
+ [[ 1 -eq 1 ]]
+ [[ some-cluster-2 == \- ]]
+ [[ some-cluster-2 == \-\h ]]
+ [[ some-cluster-2 == \-\-\h\e\l\p ]]
+ [[ some-cluster-2 =~ ^-(.*) ]]
+ [[ some-cluster-2 =~ (.+)=(.+) ]]
+ set_context some-cluster-2
+ local prev
++ current_context
++ kubectl config view '-o=jsonpath={.current-context}'
+ prev=my-eks-cluster
+ switch_context some-cluster-2
+ kubectl config use-context some-cluster-2
Switched to context "some-cluster-2".
+ [[ my-eks-cluster != \s\o\m\e\-\c\l\u\s\t\e\r\-\2 ]]
+ save_context my-eks-cluster
+ local saved
++ read_context
++ [[ -f /Users/my-user/.kube/kubectx ]]
++ cat /Users/my-user/.kube/kubectx
+ saved=my-minikube-cluster
+ [[ my-minikube-cluster != \m\y\-\e\k\s\-\c\l\u\s\t\e\r ]]
+ printf %s my-eks-cluster

Thank you for the speedy reply btw!

as you can see, all it is doing is basically find out the current context:
kubectl config view '-o=jsonpath={.current-context}'

then save it to a file ($HOME/.kube/kubectx), then just shell out to:
kubectl config use-context some-cluster-2

If your user entry gets deleted, probably this last command is responsible for it.
So please try to reproduce this without using kubectx and by using the command I typed above.

Yep you were spot on with that. It was the last command that deletes it. Ok so it's something weird with kubectl. I really appreciate the help, you just saved me an unbelievable amount of headache pinpointing that problem!

No problem! Please file an issue at https://github.com/kubernetes/kubectl/issues with minimal repro.

Just to note for anyone else who might run into this issue, this is happening for me on kubectl v1.5.3, I tested it on Amazon EKS-vended version of kubectl and this does not cause the user to be deleted. Other newer versions of kubectl may not as well.


v5 Cannot Create New Repo - New GitThing

With the latest version I cannot create new GitThing because the AddNewRepo service has a problem, "The configuration table structure does not match"

Hi @ilacurcu,
Can you install this version below (after removing fully version 5.0.0) and see if this happens again?
GitBackupExtensionPack.zip

Hi @ilacurcu ,
From my end, I installed the v 5.0.0 version and I was able to create a new repository from the Mashup without errors. I found it strange it succeeded on my end, and in order to validate this, can you please share the reproduction steps, as granular as you can?

Closing as not reproducible.


Stable app router

Type of change

[ ] 🐛 Bug fix
[ ] 🌟 New feature
[ ] 🔨 Breaking change
[ ] 📖 Refactoring / dependency upgrade / documentation
[ ] other:

Packages affected

[ ] @clerk/clerk-js
[ ] @clerk/clerk-react
[ ] @clerk/nextjs
[ ] @clerk/remix
[ ] @clerk/types
[ ] @clerk/themes
[ ] @clerk/localizations
[ ] @clerk/clerk-expo
[ ] @clerk/backend
[ ] @clerk/clerk-sdk-node
[ ] @clerk/shared
[ ] @clerk/fastify
[ ] @clerk/chrome-extension
[ ] gatsby-plugin-clerk
[ ] build/tooling/chore

Description

[ ] npm test runs as expected.
[ ] npm run build runs as expected.

Please review per commit

new authMiddleware api
typed publicRoutes prop
runtime  agnostic (/pages, /app, server, client) ClerkProvider
runtime  agnostic (/pages, /app, server, client) control components
runtime  agnostic (/pages, /app, server, client) ui components
top-level exports of server-side helpers, eg: `import {auth} from '@clerk/nextjs'
pretty errors when calling /app specific apis in /pages

This PR has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.


error when run on schedule

I use this action fine with pushes, pull requests etc however I created a nightly scheduled based job and it failed.
Error: Cannot read property 'full_name' of undefined
The only reference I can find to this being used is:
https://github.com/magnetikonline/action-slack-workflow-start-finish/blob/a88cf377629000192291252be005f6b0b46b19ec/src/lib.js#L21

Thanks @TGWolf for the issue. That does seem really weird this part of the payload isn't present in scheduled workflow jobs - as it can very much be tied to a repository.
Let me test this myself and POC - see if there is a more defensive way and/or another way to get the repository name from scheduled workflow runs.

@magnetikonline I am pretty new to actions to be honest, but could you use the github context of github.repository or similar instead?

@TGWolf that's what I'm using - but the event payload passed to the different event types (pull-request / push / etc.) can vary - which I'm guessing is the case here.
I'll find some time to dig into the payload offered up by a scheduled run. See what's possible.

@magnetikonline ah yeah sorry my bad, like I say still new to actions (only started playing with them last week and ditching travis). I can see in main.js you are passing the complete github context in and using that later in lib.js

All good - just giving some background context. 👍 😄 .

Hey @TGWolf - just circling back on this. I've submitted the issue to https://github.community/t/scheduled-github-action-workflow-runs-not-include-a-full-event-payload/260053.
But it turns out I can get this information in another method/way via https://github.com/actions/toolkit/blob/c5278cdd088a8ed6a87dbd5c80d7c1ae03beb6e5/packages/github/src/context.ts#L64-L81 - so I'm gonna code that up. 👍

Now fixed via 199858c2cb96c5df43efc15ec8744c929d9e9855, 1c0408b82ade9a92e0146c3ff057be17a68706ff, abe09b0ac09a2f2826cf9df04c90b1a459ebc492.


Documentation required: explain all the numbers

I'm relatively new to Keras - have had some simple Dense() networks working previously but on using it to explore CNNs I find the documentation intractable.
Please can we have one webpage that lists the meaning of all the parameters:
samples
channels
nb_filter
filter_length
batch_size
input_shape
and in particular, the relationships of requirements between them all with examples of how one should reshape a 2D numpy array to make it suitable?
I have managed to create a 1-layer CNN that does something but a) I can't be confident what it does and b) having fudged the nb_filter parameter to make it work as the first layer, attempts to daisy-chain a second layer give shape mismatch errors. To debug this, I need a simple page that explains the terms Keras uses.
Thanks

Hi, let me try and help

samples : Usually equal to your batch_size. It is the number of samples on which you're convolving at a time.
channels : For RGB images of size row x column the pixel values would of dimensions 3 x row x column. Each of the 3 for each channel - R, G, B
nb_filters : A single convolution of a filter over the image produces a single feature map. You can choose to have nb_filters number of filters producing that many feature maps
filter_length : In 2D conv, your filter size had 2 dimensions, determined by nb_row and nb_col. In 1D conv your filter size has 1 dimension determined by filter_length
batch_size : Not exactly sure where you came across it in the docs, but it generally means the number of samples in your batch of training examples.
input_shape : It's the shape of the input to a layer without the dimension containing number of samples. If your mini batch contains 64 28x28 RGB images, your input_shape would be (3, 28, 28) or (28, 28, 3) depending on your dim_ordering

Hope it helps
P.S Keras-2 contains some major API changes, which means many of the terms above will be deprecated. Keep yourself updated. Cheers !

Thanks. That is a start. Here's my background.
Essentially I'm trying to teach myself CNNs by reimplementing Google's RAISR. In my mind the idea is to create two versions of an image, one as-is and one that's been down to half-size and upscaled back again so the CNN learns how to remove the artifacts of upscaling (replace Lanczos's errors with pixels from an existing image model). This all happens in greyscale only.
I'm splitting an image into windows nominally 64x64 px (subject to change) and choosing the ones with greatest standard deviation, in order to bias learning toward edge/sharpness/features rather than smooth areas. Because of the fixed size I can stack them vertically into something 64 px wide by however many long I like (multiple of 64). This way I can train off multiple images if I want, too - it just becomes an even longer column of boxes.
So far I've got all this happening with opencv and numpy and am happy.
It's just the Keras bits that are confusing me somewhat. What is a "sample" in this context? Should I reshape my input to match Keras's expectations and if so, how?
The plan is to use multiple Convolution2D layers, perhaps with pooling (or maybe not): atm I can only get at most one layer to work if I set nb_filter=1 at the moment; attempts to add further layers, for which I thought Keras was meant to work out tensor shapes for itself, doesn't seem to work. Obviously my fault somewhere, but... see why I would really appreciate a page documenting these terms so I can learn-through-docs-and-doing? :)
Thanks


Add methalox config

I gotta know, what's with the PNG's?

I don't see them.  I was originally taking screenshots of the results before I started using your python script, but I thought I deleted them.  Where do you see them?

Oh, I saw only the remnants of them from your git ignore. BTW, I'm gonna
update the script fairly substantially over the next couple days to add
archiving of all data in a nice way, since I need to redo everything now.
It will keep all data generated in a nice format for later.
On Mon, Aug 7, 2017 at 8:11 PM TheSquirrelPatrol<EMAIL_ADDRESS>wrote:

I don't see them. I was originally taking screenshots of the results
before I started using your python script, but I thought I deleted them.
Where do you see them?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/ferram4/ProcEngines/pull/10#issuecomment-320838033,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA9nSMvItRiMf6VsuSH5bpg2joJuRtdhks5sV9GzgaJpZM4OwHmX
.

If you could send me any data files you still have (looks like you saved yours; smart!) I will add those to said archive.

The zip with all my data is included in the commit, so you should just be able to grab it here.

Oh, sweet.

Alright, this LGTM.


DecodeError after filter_batch log at v0.8.0

System Info
Thank you for providing the convenient LLM inference server. I am always grateful. After installing flash attention by make install in v0.8.0 and running the server with --max-concurrent-requests set to a value greater than 1, I encountered the following error. However, when I set it to 1, the server runs without this error. Is this error related to issue #411 ?
I will close this issue right after I check if it is fixed by the issue above. Thanks

Information

[ ] Docker
[X] The CLI directly

Tasks

[ ] An officially supported command
[X] My own modifications

Reproduction
Steps to reproduce this behavior:

build with server/Makefile
install flash attention with server/Makefile-flash-att
run server with text-generation-launcher with max-concurrent-requests greater than 1

Expected behavior
server run without error with multiple of max-concurrent-requests

Can you run make install-router and cd server && make gen-server and re-try? The internal proto definition was updated and I think you are missing this change inside the python server.

Generally, it's a good idea to re-run the gRPC code generation step (make gen-server) after every update.


Component design: Sidebar

By popular request, we need a design for a sidebar navigation.
### Tasks
- [ ] Desktop design
- [ ] Mobile design & behaviour
- [ ] How many levels of link hierarchy are acceptable?
- [ ] How many color variants?
- [ ] Can top level links be clicked or not?

Post Web

Links only (expands on page reload)

Post Shop

Links only (expands on page reload)

Telman
https://telman.post.ch/
Desktop

Mobile

Developers Portal

https://developer.apis-int.post.ch/ui/apis/05f18c06-2615-4090-b18c-0626151090ae

duplicate of #2277


Is it possible to set a stating numberOfLines / textView height?

When I know that a certain instance of SlackTextViewController will be used to write longer pieces of text (news posts rather then chat messages) it would be nice to have the textview start off with a bigger version. That looks more inviting then the one single line.
How can I make this work, or would it require changes in SlackTextViewController?

Alright, can I make a feature request so this would be more natively supported? :)

I've set the textContainerInset to have a larger top inset.
Initially, it looks ok:

But when text is typed, the left and right buttons rise up, and the textView calculates numberOfLines as 3. Which is because the textView's contentSize.height is 34 (which may be 1 or 2 lines), then it executes;
contentHeight -= self.textContainerInset.top + self.textContainerInset.bottom;
NSUInteger lines = fabs(contentHeight/self.font.lineHeight);
The large self.textContainerInset.top is added to the content height, and number of lines is calculated to be 3..which is 2 too many :(

Also, I have issues when I set the textContainerInset top inset to smaller, then back to larger again.  I've put in layoutSubviews() in all spots that it seems to make sense.


How to insert data from GraphQL into model with many relations?

I am inserting all data from users variable into the User model using User.create(). The users variable from GraphQL has 83 pendingSurveys but not all 83 records are inserted.
To do this, which function do I have to use instead of create function?
Here is my code to do this:
// users.vue

mounted() {
  var users = await store.dispatch('entities/users/users', {
    skip: this.skip,
    first: this.perPage
  }); // returns 83 records

  User.deleteAll();

  User.create({
    data: users.users
  }); // insert the 83 records
}

The GraphQL schema in user module:
query Users($first: Int!) {
  users(filter: { first: $first }) {
    ...

Click to view the full schema.
query Users($first: Int!) {
  users(filter: { first: $first }) {
    id
    fullName
    fullNameLower
    firstName
    .........
    .........
    avatar
    balance
    isActive
    createdAt
    updatedAt
    emails {
      address
      verified
      type
      isDefault
    }
    phones {
      number
      verificationCode
      verified
      type
      isDefault
    }
    settings {
      id
      allowFlutes
      allowPushNotification
      ........
    }
    paymentMethods {
      id
      methodType
      vendor
      type
      cardType
     ........
      redirectUrl
      checkoutUrl
    }
    pendingFlutes {
      id
      totalCost
      drinkCost
    }
    pendingSurveys {
      id
      questions {
        id
        question
      }
    }
    acceptedFlutes {
      id
      totalCost
      drinkCost
    }
    failedPayments {
      transactionId
      amount
      comment
      retry

      campaign {
        id
       ........
        brandRestrictions {
          id
          name
          nameLower
          slug
          entityType
        }
        survey {
          id
          questions {
            id
            question
            theOrder
          }
        }
      }
    }
  }
}

The User model fields:
static fields() {
  return {
    id: this.attr(null),
    emails: this.hasMany(Email, 'id'),
    phones: this.hasMany(Phone, 'id'),
    fullName: this.string(''),
    fullNameLower: this.string(''),
    firstName: this.string(''),
    firstNameLower: this.string(''),
    middleName: this.string(''),
    middleNameLower: this.string(''),
    lastName: this.string(''),
    lastNameLower: this.string(''),
    dateOfBirth: this.attr(null),
    gender: this.string(''),
    settings_id: this.attr(null),
    settings: this.belongsTo(UserSetting, 'settings_id'),
    status: this.string(''),
    avatar: this.string(''),
    balance: this.attr(null),
    pendingSurveys: this.hasMany(Survey, 'user_id'),
    failedPayments: this.hasMany(FailedPayment, 'user_id'),
    showAds: this.hasMany(AdImpression, 'user_id'),
    isActive: this.attr(null),
    createdAt: this.attr(null),
    updatedAt: this.attr(null)
  }
}

This is what my console outputs:

Thanks in advance.

Not sure why. How does your response data looks like?

Closing issue due to inactivity. Please open a new issue if there's anything further to add. 👍


WIP - Fix option conflicts in sigh

Adjust command option handling to stop using global_option for Commander options that are
generated for the default command (renew). Instead, they are now generated as normal options underneath that command.
The only major (negative?) change in behavior is to how help information is generated by Commander.
Checklist

[x] I've run bundle exec rspec from the root directory to see all new and existing tests pass
[ ] I've followed the fastlane code style and run bundle exec rubocop -a to ensure the code style is valid
[X] I've read the Contribution Guidelines
[X] I've updated the documentation if necessary.

Description
Current option handling in sigh
Current help output:
$ fastlane sigh -h
  sigh

  CLI for 'sigh' - Because you would rather spend your time building stuff than fighting provisioning

  Commands:
    download_all Downloads all valid provisioning profiles
    help         Display global or [command] help documentation
    manage       Manage installed provisioning profiles on your system.
    renew        Renews the certificate (in case it expired) and outputs the path to the generated file
    repair       Repairs all expired or invalid provisioning profiles
    resign       Resigns an existing ipa file with the given provisioning profile

  Global Options:
    --verbose
    --adhoc [VALUE]      Setting this flag will generate AdHoc profiles instead of App Store Profiles (SIGH_AD_HOC)
    --development [VALUE] Renew the development certificate instead of the production one (SIGH_DEVELOPMENT)
    --skip_install [VALUE] By default, the certificate will be added on your local machine. Setting this flag will skip this action (SIGH_SKIP_INSTALL)
    -f, --force [VALUE]  Renew provisioning profiles regardless of its state - to automatically add all devices for ad hoc profiles (SIGH_FORCE)
    -a, --app_identifier STRING The bundle identifier of your app (SIGH_APP_IDENTIFIER)
    -u, --username STRING Your Apple ID Username (SIGH_USERNAME)
    -b, --team_id STRING The ID of your Developer Portal team if you're in multiple teams (SIGH_TEAM_ID)
    -l, --team_name STRING The name of your Developer Portal team if you're in multiple teams (SIGH_TEAM_NAME)
    -n, --provisioning_name STRING The name of the profile that is used on the Apple Developer Portal (SIGH_PROVISIONING_PROFILE_NAME)
    --ignore_profiles_with_different_name [VALUE] Use in combination with :provisioning_name - when true only profiles matching this exact name will be downloaded
(SIGH_IGNORE_PROFILES_WITH_DIFFERENT_NAME)
    -o, --output_path STRING Directory in which the profile should be stored (SIGH_OUTPUT_PATH)
    -i, --cert_id STRING The ID of the code signing certificate to use (e.g. 78ADL6LVAA)  (SIGH_CERTIFICATE_ID)
    -c, --cert_owner_name STRING The certificate name to use for new profiles, or to renew with. (e.g. "Felix Krause") (SIGH_CERTIFICATE)
    -q, --filename STRING Filename to use for the generated provisioning profile (must include .mobileprovision) (SIGH_PROFILE_FILE_NAME)
    -w, --skip_fetch_profiles [VALUE] Skips the verification of existing profiles which is useful if you have thousands of profiles (SIGH_SKIP_FETCH_PROFILES)
    -z, --skip_certificate_verification [VALUE] Skips the verification of the certificates for every existing profiles. This will make sure the provisioning profile can be used
on the local machine (SIGH_SKIP_CERTIFICATE_VERIFICATION)
    -p, --platform [VALUE] Set the provisioning profile's platform (i.e. ios, tvos) (SIGH_PLATFORM)
    -h, --help           Display help documentation
    -v, --version        Display version information

  Author:
    Felix Krause<EMAIL_ADDRESS>
  Website:
    https://fastlane.tools

This should not work (but it does) since --force is not a valid option for the resign command
$ fastlane sigh resign --force
Path to ipa file: ^C

This is good and shows that --force is seen by the default command
$ fastlane sigh --force

+-------------------------------------+-------+
|           Summary for sigh 2.14.2           |
+-------------------------------------+-------+
| force                               | true  |
| adhoc                               | false |
| development                         | false |
| skip_install                        | false |
| ignore_profiles_with_different_name | false |
| skip_fetch_profiles                 | false |
| skip_certificate_verification       | false |
| platform                            | ios   |
+-------------------------------------+-------+

[11:37:26]: To not be asked about this value, you can specify it using 'username'
Your Apple ID Username: ^C

This should be setting the --provisioning_profile, but is incorrectly interpreted as the --platform from the default command
$ fastlane sigh resign -p abcd path.ipa

...

[1] pry(#<Sigh::CommandsGenerator>)> args
=> ["path.ipa"]
[2] pry(#<Sigh::CommandsGenerator>)> options
=> <Commander::Command::Options platform="abcd">

Revised option handling in sigh
Help for the top-level executable:
$ fastlane sigh -h
  sigh

  CLI for 'sigh' - Because you would rather spend your time building stuff than fighting provisioning

  Commands:
    download_all Downloads all valid provisioning profiles
    help         Display global or [command] help documentation
    manage       Manage installed provisioning profiles on your system.
    renew        Renews the certificate (in case it expired) and outputs the path to the generated file
    repair       Repairs all expired or invalid provisioning profiles
    resign       Resigns an existing ipa file with the given provisioning profile

  Global Options:
    --verbose
    -h, --help           Display help documentation
    -v, --version        Display version information

  Author:
    Felix Krause<EMAIL_ADDRESS>
  Website:
    https://fastlane.tools

  GitHub:
    https://github.com/fastlane/sigh

Help for the renew (default) command:
$ fastlane sigh renew -h

  renew

  Usage: fastlane sigh renew

  Renews the certificate (in case it expired) and outputs the path to the generated file

  Options:
    --adhoc [VALUE]      Setting this flag will generate AdHoc profiles instead of App Store Profiles (SIGH_AD_HOC)
    --development [VALUE] Renew the development certificate instead of the production one (SIGH_DEVELOPMENT)
    --skip_install [VALUE] By default, the certificate will be added on your local machine. Setting this flag will skip this action (SIGH_SKIP_INSTALL)
    -f, --force [VALUE]  Renew provisioning profiles regardless of its state - to automatically add all devices for ad hoc profiles (SIGH_FORCE)
    -a, --app_identifier STRING The bundle identifier of your app (SIGH_APP_IDENTIFIER)
    -u, --username STRING Your Apple ID Username (SIGH_USERNAME)
    -b, --team_id STRING The ID of your Developer Portal team if you're in multiple teams (SIGH_TEAM_ID)
    -l, --team_name STRING The name of your Developer Portal team if you're in multiple teams (SIGH_TEAM_NAME)
    -n, --provisioning_name STRING The name of the profile that is used on the Apple Developer Portal (SIGH_PROVISIONING_PROFILE_NAME)
    --ignore_profiles_with_different_name [VALUE] Use in combination with :provisioning_name - when true only profiles matching this exact name will be downloaded
(SIGH_IGNORE_PROFILES_WITH_DIFFERENT_NAME)
    -o, --output_path STRING Directory in which the profile should be stored (SIGH_OUTPUT_PATH)
    -i, --cert_id STRING The ID of the code signing certificate to use (e.g. 78ADL6LVAA)  (SIGH_CERTIFICATE_ID)
    -c, --cert_owner_name STRING The certificate name to use for new profiles, or to renew with. (e.g. "Felix Krause") (SIGH_CERTIFICATE)
    -q, --filename STRING Filename to use for the generated provisioning profile (must include .mobileprovision) (SIGH_PROFILE_FILE_NAME)
    -w, --skip_fetch_profiles [VALUE] Skips the verification of existing profiles which is useful if you have thousands of profiles (SIGH_SKIP_FETCH_PROFILES)
    -z, --skip_certificate_verification [VALUE] Skips the verification of the certificates for every existing profiles. This will make sure the provisioning profile can be used
on the local machine (SIGH_SKIP_CERTIFICATE_VERIFICATION)
    -p, --platform [VALUE] Set the provisioning profile's platform (i.e. ios, tvos) (SIGH_PLATFORM)

The resign command now correctly throws an error when given the --force option
$ fastlane sigh resign --force
invalid option: --force

The default command still recognizes the --force flag
$ fastlane sigh --force

+-------------------------------------+-------+
|           Summary for sigh 2.14.2           |
+-------------------------------------+-------+
| force                               | true  |
| adhoc                               | false |
| development                         | false |
| skip_install                        | false |
| ignore_profiles_with_different_name | false |
| skip_fetch_profiles                 | false |
| skip_certificate_verification       | false |
| platform                            | ios   |
+-------------------------------------+-------+

[11:36:19]: To not be asked about this value, you can specify it using 'username'
Your Apple ID Username: ^C

The resign command correctly receives the --provisioning_profile option
$ fastlane sigh resign -p abcd path.ipa

...

[1] pry(#<Sigh::CommandsGenerator>)> args
=> ["path.ipa"]
[2] pry(#<Sigh::CommandsGenerator>)> options
=> <Commander::Command::Options provisioning_profile=[["abcd"]]>

Motivation and Context
#6169 introduced a new option for sigh. Unfortunately, it accidentally conflicts with the -p short flag as used by the sigh resign command. This is one example, but there are other sigh options in use that also have short flag conflicts, such as -i. These problems were captured in #7935 and #8076
This is a problem for all fastlane tools, not just sigh, but I'm testing out this approach here to see how it works, and gather feedback.

@mgrebenets @hjanuschka @KrauseFx It would be great to have some help testing sigh with these changes to try to identify any regressions.

The CI failure does not appear to be related to my code, and all tests pass when I run them locally 😢

Also this would need a changelog entry, if we like it.

Rebased and pushed to pick up the test fix

@mfurtak Will give it a test as soon as I can.
I have resigner CI script at work, which uses both -i and -p options. Just 2 weeks ago I upped resigner to use fastlane 2.12.0 and had to switch to long options to get it working.

@mfurtak
So I've tested with the following command:
bundle exec fastlane sigh resign -i "iPhone Distribution: Company" \
  -p au.com.original=au.com.new.mobileprovision \
  -p au.com.original.watchkitapp=au.com.new.watchkitapp.mobileprovision \
  -p au.com.original.watchkitextension=au.com.new.watchkitextension.mobileprovision \
  -p au.com.original.apnscrypto=au.com.new.apnscrypto.mobileprovision \
  -p au.com.original.irdisplay=au.com.new.irdisplay.mobileprovision \
  --verbose \
  App.ipa

And it unfolded to the following call to resign.sh:
/Users/grebenma/.rvm/gems/ruby-2.2.2/bundler/gems/fastlane-3a11a5d8f976/sigh/lib/assets/resign.sh \
  App.ipa 572F2AC963CC60EF3C0A5920C1E781B86EBA57CC \
  -p au.com.original=/Users/grebenma/Projects/tmp/sigh-issue/au.com.new.mobileprovision \
  -p au.com.original.watchkitapp=/Users/grebenma/Projects/tmp/sigh-issue/au.com.new.watchkitapp.mobileprovision \
  -p au.com.original.watchkitextension=/Users/grebenma/Projects/tmp/sigh-issue/au.com.new.watchkitextension.mobileprovision \
  -p au.com.original.apnscrypto=/Users/grebenma/Projects/tmp/sigh-issue/au.com.new.apnscrypto.mobileprovision \
  -p au.com.original.irdisplay=/Users/grebenma/Projects/tmp/sigh-issue/au.com.new.irdisplay.mobileprovision \
  -v \
  App.ipa

If I run the same command using latest code from master, I get the "Signing Identity:" prompt, because the -i option was shadowed.
If I change -i to --signing_identity I will get the following command on master:
/Users/grebenma/Projects/oss/fastlane/sigh/lib/assets/resign.sh App.ipa SIGNINGIDHASH -p /Users/grebenma/Projects/tmp/sigh-issue/au.com.old.apnscrypto.mobileprovision       -v   APP.ipa

So as a summary, I can confirm that this changes fixes the issues I had and short options work properly for resign subcommand.

🎉

Could this be tested with a spec?

https://github.com/fastlane/fastlane/issues/8076#issuecomment-277229962 should be a base for a spec.

Thanks for doing some manual verification. I'll see if I can get a regression test in place. 👍

The only major (negative?) change in behavior affects how help information is generated/shown by Commander.

Looks good to me 👍 If this behaivior will be also applied to other tools.

          1 Warning

:warning:
Pull Request is Work in Progress

  Generated by :no_entry_sign: Danger

OK, I've added some tests that will catch a regression, so I'll merge this now 👍


Sam492 fix doublecounted credits

When debugging https://github.com/NREL/SAM/issues/492 Paul noticed some values not adding up. As it turns out, the previous code credited the net billing "true-up" month twice if the energy charges were negative, since monthly_cumulative_excess_dollars[m] was applied to both months. Correct for this, and also allow dollars_applied to be greater than monthly_ec_charges_gross to represent the cash out of the credits at the end of the 12 month period.
@cpaulgilman I wasn't able to get the net billing credit to match the true-up check exactly, since the net billing credit is also applied to that month's energy charges:

However, net_billing_credit[m] - energy_charges_before_credits[m] will supply the value that the macro needs.

Thanks Brian! I need to redo some of the Value of RE macro calculations for SAM/NREL#492 to emphasize when dollar credits are being applied to the energy charge portion of the bill rather than to the entire bill. I will do that before reviewing this in case something else comes up in that process.
Do you plan to address the net metering $ credits issue (put true-up amount in "net metering credit column") on this branch or a separate one?
Thanks,
Paul.

Thanks Brian! I need to redo some of the Value of RE macro calculations for SAM/NREL#492 to emphasize when dollar credits are being applied to the energy charge portion of the bill rather than to the entire bill. I will do that before reviewing this in case something else comes up in that process.
Do you plan to address the net metering $ credits issue (put true-up amount in "net metering credit column") on this branch or a separate one?
Thanks,
Paul.

So I've solved two bugs: the credits bug introduced in https://github.com/NREL/ssc/commit/f94e50429a1bcb330a7a33af6679f930c7fbb2cf#diff-b252d497c315d490c9e716fbc1355f21e42f51db78299f43e7935b068bb03716, and a mismatch between utility_bill_w_sys_ym and elec_cost_with_system. As of 2020.11.29 (and 2020.2.29) these values do not match for net billing w/ carryover:

After the changes in the latest push they match:

The values in electricity bill with system now also match the sum of the monthly bills, where they didn't before!!
I'll do another pass Monday adding variables to the tests to lock that down, as well as looking for additional cases that Steve recommended. In particular, I think developing unit tests around net_metering_monthly_variation_match_excel will be valuable.
@cpaulgilman Note that the above means that the True-Up credits appear cleanly in the credit month for net billing, so you should just be able to use net_billing_credit[m] now.

So I've solved two bugs: the credits bug introduced in https://github.com/NREL/ssc/commit/f94e50429a1bcb330a7a33af6679f930c7fbb2cf#diff-b252d497c315d490c9e716fbc1355f21e42f51db78299f43e7935b068bb03716, and a mismatch between utility_bill_w_sys_ym and elec_cost_with_system. As of 2020.11.29 (and 2020.2.29) these values do not match for net billing w/ carryover:

After the changes in the latest push they match:

The values in electricity bill with system now also match the sum of the monthly bills, where they didn't before!!
I'll do another pass Monday adding variables to the tests to lock that down, as well as looking for additional cases that Steve recommended. In particular, I think developing unit tests around net_metering_monthly_variation_match_excel will be valuable.
@cpaulgilman Note that the above means that the True-Up credits appear cleanly in the credit month for net billing, so you should just be able to use net_billing_credit[m] now.

@cpaulgilman @sjanzou I just pushed some additional checks in existing tests and an additional case for net billing with carryover. This should be ready for a second review.

SAM file that I demoed during the meeting: https://github.com/NREL/SAM-documentation/blob/master/Unit Testing/Utility Rates/net_billing_monthly_variation.sam

Added SAM and spreadsheet files for testing of monthly bill calculations to private SAM-documentation repo:
https://github.com/NREL/SAM-documentation/tree/master/Unit Testing/Utility Rates/Monthly Bill Test Files with Spreadsheets


Update wasm-pack tutorial paths #154

Link to old issue
This issue was opened by @mgattozzi
We're just waiting for a 0.2 release of wasm-pack right now for this issue. In https://github.com/rust-lang-nursery/rust-wasm/pull/151 we changed a path reference from<EMAIL_ADDRESS>to @MYSCOPE/wasm-add/wasm_add.js. As was noted in #151 after ashleygwilliams/wasm-pack#94 is closed we can shorten this further to @MYSCOPE/wasm-add which is more idiomatic for JS.
Mentoring instructions:

In src/wasm-pack/run-the-code.md change the import statement of index.js to the above statement.
Test that the changes work as part of the tutorial with the new syntax

The wasm-pack tutorial moved into the wasm-pack repo, please refile this issue there if it is still relevant.


QCDSM is typically pre-coordinated

Hence, it could make sense to make this optional.

Updated, how's this, Josh?


Requested resource was not found error

Prerequisites

Description
When I go to expand my server in the magnus window within VS Code I get this error "Requested resource was not found"

Fiddler indicates this is the request and the status code is 404

Steps to Reproduce

Install Magnus VS Code Extension
Install the Magnus Plugin on your server from the Rock Shop
Configure Magus to all physical directories and enable all virtual filesystems

Open VS Code and add server in my case https://rockdev.college-church.org/, username and password
Expand Server

Expected behavior:
Server content is displayed
Actual behavior:
Requested resource was not found error is displayed instead
What I have confirmed:

my username and password work to login to Rock via database authentication.
my public ip address is added to the allowed ip on the magnus editor page

Versions
Rock Magnus Plugin Version: Public Beta
Rock Version: Rock McKinley 14.0 (<IP_ADDRESS>)
Client Culture Setting: en-US
VS Code Details
Version: 1.73.1 (user setup)
Commit:<PHONE_NUMBER>f055b99068d3688932416f2346dd3b
Date: 2022-11-09T04:27:29.066Z
Electron: 19.0.17
Chromium: 102.0.5005.167
Node.js: 16.14.2
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.19045
Sandboxed: No

Just some additional details from a discussion in Rocket Chat, Tony was able to confirm that the API endpoints are not showing up in Admin Tools, Security, REST Controllers. So it seems like they are somehow not being detected/registered by Rock.

Sounds like a core issue. Can you clear your exception log and restart rock.

I have cleared my exception log and restarted rock. Unfortunately, I am not seeing any new exceptions or change in behavior.

Tony @dataCollegechurch , I don't mean to be redundant if someone already asked you about this via chat/elsewhere, but can you confirm that the Rest Controller and Endpoints also do not register when you click the "Requery REST Data" button on the bottom of the REST Controllers page?:

I'm not saying that should be required, but I just want to know if that work-around works.

@nairdo - I have not tried that work-around up to this point. Unfortunately, I did not see any new Rest controllers after click the "Requery Rest Data" link.

I refreshed our dev server with a copy of prod database. I had not installed magnus on prod yet, so I was able to reinstall mangus from scratch and did not encounter the error. It is possible one or more files was corrupted in dev. Perhaps a tool like Arena's Verify Files/Database tool could come in handy for identifying corrupted or customized core files in the future.

This issue was cleared up in Dev after I copied our production database to Dev. Now I am trying to make use of Magnus in Production and I am seeing the same error message.

@dataCollegechurch anything new to report on this?

@jonedmiston - I haven't tried this out in a while, but made another attempt today and now it is working. I am not sure what changed but let's go ahead and close this issue.

@dataCollegechurch ok thanks for the update.


WIP Add custom import schemes (no new trait)

This is a simpler implementation of the custom imports feature I previously proposed.
In this iteration, instead of providing structs that implement a trait, the user can provide a HashMap of boxed functions keyed by strings which correspond to URL schemes.
While I would have liked for custom import handlers to store data in a struct, I figured making this functionality presentable first is more important.
This works with existing examples, but isn't polished yet. Any advice is appreciated.

I like this approach a lot more
But if I can suggest a middle ground,
How do you feel about an ImportProvider trait with a resolve method and an import method that would be in a single option box
It could replace the default deny all, and we could leave the default file/http behavior in place

Closing in favor of a newer branch


CVE Remediation change

Scanned docker image with grype.
Facing the vaularability issue.
❯ grype thirdparty-app-reg-crds
✔ Vulnerability DB                [no update available]
✔ Loaded image                                                                                athena-thirdparty-app-reg-crds:latest
✔ Parsed image                                                                                sha256:1af2ea6f88c4c6e49b2bbdbe0d31cb781c4f748618ca9f651b6238ada0878c2c
✔ Cataloged contents                                                                                7d1168fa380f44f6050f6f8d069b8ce31c88b0407b48d49fdcfd1c96bb46f235
├── ✔ Packages                        [63 packages]
├── ✔ File digests                    [1,205 files]
├── ✔ File metadata                   [1,205 locations]
└── ✔ Executables                     [1 executables]
✔ Scanned for vulnerabilities     [9 vulnerability matches]
├── by severity: 0 critical, 1 high, 2 medium, 0 low, 0 negligible (6 unknown)
└── by status:   1 fixed, 8 not-fixed, 0 ignored
[0001]  WARN unable to read dynamic symbols from elf file error=no symbol section
[0001]  WARN unable to read dynamic symbols from elf file error=no symbol section
[0001]  WARN some package(s) are missing CPEs. This may result in missing vulnerabilities. You may autogenerate these using: --add-cpes-if-none
NAME                        INSTALLED  FIXED-IN  TYPE       VULNERABILITY        SEVERITY
google.golang.org/protobuf  v1.30.0    1.33.0    go-module  GHSA-8r3f-844c-mc37  Medium
stdlib                      go1.21.3             go-module  CVE-2023-45285       High
stdlib                      go1.21.3             go-module  CVE-2023-39326       Medium
stdlib                      go1.21.3             go-module  CVE-2024-24785       Unknown
stdlib                      go1.21.3             go-module  CVE-2024-24784       Unknown
stdlib                      go1.21.3             go-module  CVE-2024-24783       Unknown
stdlib                      go1.21.3             go-module  CVE-2023-45290       Unknown
stdlib                      go1.21.3             go-module  CVE-2023-45289       Unknown
stdlib                      go1.21.3             go-module  CVE-2023-45288       Unknown
A newer version of grype is available for download: 0.77.0 (installed version is 0.74.5)
Solution:

Update go version to 1.21 in go.mod file
Update google.golang.org/protobuf  v1.30.0   --> 1.33.0

Closing given no response in over 6 weeks from original issue creator.


New Bootstrap Version 3.3.5 and new release of SMVC

Hello @daveismyname.
On 15 June 2015 a new version of Twitter's Bootstrap appeared: Bootstrap 3.3.5 released - Bootstrap Blog. Would you please adjust this in the code?
And when is a new release of SMVC planned? There have been many changes in the meantime (many changes at the code, new methods, a new API documentation - very great work! :thumbsup:).
Greetings

@nekomajin what do you mean a new version of the framework? The framework was just completely updated even a new section of the router so it's PHP 7 compatible what more of an update could you possibly be talking about just curious?

Thanks I've upgraded to 3.3.5, I have no plans for a new release at this time.
I'm in the process of making the documentation available offline.
Also going through the framework and creating snippets for Sublime Text.

I agree with the above, basically the tweaks to make this version compatible with php 7 is like a new version.  I guess some aren't happy unless a new number is assigned to something.  I guess you could call it Simplemvc framework version 7 or something. Same framework with a new name.
But that aside, it's great how you have brought it up the the new psr specs.  And thanks to volter9 for helping me figure out the router compatibility with php 7.

@jimgwhit well, the most of the testing and work was done by you, I just proposed several options to correct :wink:

@jimgwhit: it was just a question. heiseonline / shariff publish in a short time and even with smaller bug fixes, as you can see. I just wanted to know how @daveismyname's release strategy looks like.

Here is my take.  On the home page of SMVC there is a picture with a yellow stickee note with a reminder:
KEEP IT SIMPLE

Now with that said, I have nothing against an advanced version, but another branch or something, or something with a different name.  I drew to this framework because of the keep it simple philosophy.  I can't get over people wanting more and more.
What they don't realize is you can modify / tweak / change a framework to custom fit your needs, all without messing with the original on github.  Some people think it's like a CMS, it's not.
Please, at least let's keep it simple, but maybe Dave can come up with an advanced version elsewhere on github with more features.
I just believe in getting the basic framework, and customizing it to that sites needs, without sending in 10 rediculious pull request of every little thing the framework didn't do.
When I buy a welding rod, I don't expect the project to be welded already, no I consume the rod in making my own custom metal project.
Now if it's something very useful that most sites will probably use, and if it keeps it simple well then consider a pull request. Example, there are millions of combinations of ways to custom write queries.
Can you imagine the database helper having every possible combination of ways to perform custom queries?  The database helper alone would be 20 gigabytes in size. But some people want this -- GEES.  That;s why frameworks have raw, so a person can write a custom query.  So the PR for the custom query was fine.
I guess to me less is better in a framework.  You know you could have addons people could include in composer if wanted, without forcing me to use something that Joe Blow wants, or him to use something that I want.

Also @nekomajin said
heiseonline / shariff publish in a short time and even with smaller bug fixes

This may be true of a super, huge framework.  But most fixes in SMVC is the php version you are using.  Think about it, it's PHP and PDO based, not some other wrapper.  So the framework is small, most "bugs" if any will be corrected by the user of the framework when he or she does a site.  Dave's classes aren't 1.5 million lines long like z__d and another we all know L_____. Actually it's almost impossible to have a bug in this framework, if your page loads and works as expected = no bugs.  It's just to small to worry about.  That's why I like it.
Take the SMVC and logger error Dave fixed. I guess that's a bug, but most users will catch this stuff and fix it and put in a issue. Isn't that why Github, self correction?

@jimgwhit whoa! That was a pretty sharp response :smile:
Don't worry, I didn't planned to pull request my changes to this repository, at least share with you in a new issue, guys. This repository shouldn't be over bloated, however, it's already with all these helpers.
Although I completely agree with what you pointed out about heavy frameworks. I wonder, why does frameworks like Symfony has tons of classes which are 400-2k lines long.

z__d and another we all know L_____.

These look like new curse words :laughing:

What the z__d is going on here?
Are you a L_____?

@jimgwhit don't worry no drastic changes are going to be made, I love the passion but lets all try to get along we are all trying to accomplish the same thing.
They will be minor updates from time to time to make improvements where appropriate but I'm not planning a major release anytime soon, each release requires a lot of work new documentation, screencasts, bug checking...etc
@volter9 I know what you mean with regard to the helpers one thing I plan to do is create a add-ons section of the website that links up to other people's helpers located on Github that they the framework it's not getting more bloated and the end user can decide if they want to include extra helpers.
This has the added benefit that the authors will be able to self document the helper which in turn will show up on the website.
I use a fair amount of helpers not included with the framework as they are specific to projects I'm working on, not everything needs to be included. That's where composer comes in too things like Facebook and Dropbox SDK's I use composer for rather then making helpers for them.

@jimgwhit: First I want to thank you for your detailed and honest opinion. Also I have fallen in love with SMVC because it represents these "Keep it simple" philosophy.
The example with Heiseonline / Shariff was only a question in conjunction with an example, as I had written in my message https://github.com/simple-mvc-framework/framework/issues/192#issuecomment-141826766.
I do not ask and will never require that for every little thing a new Major.Minor.Patch-beta+exp.sha.5114f85-pre-release+alpha will release.
On the contrary: at the home page of GitHub there are four important points in relation to the community in planning and creating code and the resulting software (scroll down to "Why you'll love GitHub"). That's one important reason why I decided to GitHub as the platform and SMVC as my favourite framework.
@daveismyname manages very well to provide us a working base, without it being so bloated like the Zend Framework, Symfony, Laravel and other (why you don't write in full?). Although I must say that these frameworks are trying to cover a lot of contingencies and are more suitable for very large projects. And before that is again misinterpreted: Even SMVC is certainly suitable, with adjustments from the user, for very large projects. At least, it provides a solid base.  But without adaptations and extensions it will never an individual house.
In Issue #191 I first asked the community what you think of standardized comments. And have named examples. There was not even thinking about PR's. @daveismyname has taken on this matter and reacted super. He also created a current API documentation. Fantastic thing!
I don't want the SMVC become to large and covers all eventualities. On the contrary: It should allow me the freedom to be able to contribute my own wishes. And that makes it even. Thanks @daveismyname for your hard work. Keep it up! Many thanks.

Ah, these last comments are encouraging, feel better already.
@daveismyname said
I plan to do is create a add-ons section of the website that links up to other people's helpers located on Github

Where on github, are you talking about a place on github you would have or I would have to have for my addons?  All I currently have on github is a fork to SMVC.
Anyway thanks everyone, we all agree to keep it simple and clean-cut.
@volter9 yeah, I don't like huge frameworks.  Using regular php/pdo, a little security, it only requires a few lines of code to query a record.  Some seem to think it requires thousands of lines of code.
That's why I like SMVC.

The author would host the addon on their GitHub then they have full control over it.
Authors would submit them on the website they would be reviewed and added to the site, all the information would be pulled from the authors repo
Sent from my iPhone
On 21 Sep 2015, at 17:20, jimgwhit <notifications<EMAIL_ADDRESS>wrote:
Ah, these last comments are encouraging, feel better already.
@daveismynamehttps://github.com/daveismyname said
I plan to do is create a add-ons section of the website that links up to other people's helpers located on Github
Where on github, are you talking about a place on github you would have or I would have to have for my addons? All I currently have on github is a fork to SMVC.
Anyway thanks everyone, we all agree to keep it simple and clean-cut.
@volter9https://github.com/volter9 yeah, I don't like huge frameworks. Using regular php/pdo, a little security, it only requires a few lines of code to query a record. Some seem to think it requires thousands of lines of code.
That's why I like SMVC.

Reply to this email directly or view it on GitHubhttps://github.com/simple-mvc-framework/framework/issues/192#issuecomment-142032735.

On my forked SMVC, am I allowed other places to put code?  I only have the free account.

Yes you can have many repos on a free account I'm using a free account for SMVC.
Sent from my iPhone
On 21 Sep 2015, at 18:32, jimgwhit <notifications<EMAIL_ADDRESS>wrote:
On my forked SMVC, am I allowed other places to put code? I only have the free account.

Reply to this email directly or view it on GitHubhttps://github.com/simple-mvc-framework/framework/issues/192#issuecomment-142050762.

@daveismyname , later when you start the (other people's helpers located on Github), if a user wants to pull it in using composer, then I don't know how to give instructions for that.  Can you give an example using a little fake class or something how to add a class / file from github using composer?  I take it that it would have to be included in the auto loading, is that correct?
I use composer for installs, but never used it like this.

with them being external your free to choose how to include them I think most of the time they will be modules or helper classes in which case composer won't be needed. The file/s are downloaded and added to your framework.
likewise if you want to use composer using packagist.org makes it easy to install from composer but it's not required. Either way no autoloading changes would be needed.
I'll let you know when this is in place, it's going to be awhile I don't have much free time at the moment.


Graphical issue when opening runelite addons tab

When you open the Runelite addons tab after moving my mouse around for a little while my addons page will start to glitch out.  There used to be an open case discussing this issue but it was closed with a redirection link to https://github.com/runelite/runelite/wiki/Disable-Hardware-Acceleration
Unfortunately, every solution in that link did not resolve my issue so I was wondering if there is anyone that knows another fix.  I really want to fix this because I basically can't change any of my plugin settings because of this.

Duplicate of #11727


Create dummy _Unwind_Resume function to fix libcore linker errors

Fixes #181

Cherry picked to set_up_rust, printing_to_screen, …, catching_exceptions.


MsTeam open message in random chat while using deeplink

Hi Team,
We are utilizing the task module in Microsoft Teams to open a custom HTML page. On this page, users can select a prompt and their selection is sent to the Microsoft Teams chat. Users have the option to edit their selection before sending it to the bot.

We are using Microsoft deeplink approach to send this message to chat. (https://teams.microsoft.com/l/chat/0/0?users=UserID&message=Chat Test)
Issue :   The message is sent to the bot as well as to other random chats.

Could you please provide us any help regarding that issue?

Hello @RitekRitek - Thanks for raising your query.
Could you please make sure that you are passing proper user id's.
**The comma-separated list of user IDs representing the participants of the chat. The user that performs the action is always included as a participant.
Currently, the User ID field supports the Microsoft Entra UserPrincipalName, such as an email address only.**

@ChetanSharma-msft  Thank you for the response.
We are passing ID in format 28: BotID in case of bot and message is successfully passed to expected chat but with this deep link approach it sends message to some random chat as well.
We have tried deeplink with specific user email address as well e.g<EMAIL_ADDRESS>In this scenario, the message is not only delivered to the correct user, but it's also sent to other random chats.

Hello @RitekRitek - Could you please confirm how are you executing the deep link?
I have just tried via pasting this deep link with proper user mail and it is working fine for me.

Hello @ChetanSharma-msft ,  We are using deep link approach as per below url:

In this scenario,  Message is sent to multiple chat either by clicking url or by executing deep link method.
Actual User message:

Other chat:

We are using Microsoft Teams version 23320.3027.2591.1505.

Hello @RitekRitek - Thanks for sharing the information.
Could you please share the code snippets you are using from your Task module to execute it?
Also, let us know if you are facing this issue in Classic Teams or New Teams Desktop or Web client?

@ChetanSharma-msft  Please find code below ;
microsoftTeams.initialize();
function submitData(gridText) {
let encodedGridText = encodeURIComponent(gridText);
console.log("entered submit-" + gridText);
let result = { value: gridText };
var deepLink = 'https://teams.microsoft.com/l/chat/0/0?users=${UserID}&message=' + encodedGridText;
microsoftTeams.executeDeepLink(deepLink);
}
We are facing this issue in new Ms Team app

Hello @RitekRitek - Thanks for sharing the information.
We will try this code from our end and let you know.
Meanwhile, could you please confirm whether it is working for you in Classic Teams?

Hello @RitekRitek - I executed below deep link from my tab app application and please find my observations.
microsoftTeams.executeDeepLink('https://teams.microsoft.com/l/chat/0/0?users=xxx@xxxt.com&message=Test');
Teams Web/Desktop clients: => It's properly navigating to my chat with message "Test"
New Teams client version (Web): 1415/23113028724.

Classic Teams desktop client: (Web client also has same behavior)  => It is actually not redirecting to my chat but trying to create the new chat.
You have Microsoft Teams Version <IP_ADDRESS>7 (64-bit)-E. It was last updated on 1/30/2024.

Conclusion:
Deep link is working fine in New Teams client but as per your inputs it's not working in New Teams client.
Could you please reverify once and let me know whether you are also facing same issue?

Hello @ChetanSharma-msft,
We are still facing same issue. Message is sent to random chat as well.

Hello @RitekRitek - It would be better if you can share the short video of your scenario including code and UI testing?


Allow disabling collections

And I see the collection browser is open. I can manually run the "toggle collection browser" command to hide it, but it would be nice to hide/disable collections in startup via a configuration.

Relatedly, whenever I start posting I also see this error:

It would be nice to not show that error no startup as well.

I've added a config in 1.13.0 for hiding/showing the collection browser on startup and also removed that pop-up message completely.


Bugs on Firefox

When you are trying to upload a file, and checks it. The checking file label, doesn't disappear after the process.

I think this is related to file size somehow - an issue we encountered when using Firefox Quantum upon its release. It could also be a depreciated webkit or something like that. Looking into it.

@cboyce183 Yes It completely works on chrome, but not in firefox. maybe depreciated modules. :(


Implement N-dimensional array class to replace std::vector<std::array<T, N>>

Issues (#8 and #11) have been raised about the flexibility of the current std::vector<std::array<T, N>> pattern used for passing data matrices in and out of this library.
A more flexible alternative is to have a dedicated N-dimensional array class (dkm::ndarray<T>) which has convenient constructors that take both the existing std::vector<std::array<T, N>> and std::vector<std::vector<T>>, which has been requested for some use cases. This class would also have methods to explicitly convert back to these data types after running the kmeans algorithm.

Thanks for the great library! fwiw, I created Ruby bindings for it but want to wait until there's a way to specify dimensions at runtime before releasing it.

Hey, thanks for your interest in this library.
This is the next improvement on my TODO list, so as soon as I have some time I'll start refactoring towards this goal.


fio core dumps

I see core dumps with fio since a few weeks. I opened an issue for fio:
https://github.com/axboe/fio/issues/1650
The fio developers say it is an out-of-memory issue and not a fio issue. Today I downgraded  gperftools from 2.13-1 to 2.12-1 (EndeavourOS resp. Arch) and the coredumps are gone.
Can you please have a look into this?

I see this on second computer as well. fio crashing with gperftools 2.13.
First compter is a AMD Ryzen 9 5900X 12-Core Processor with 64 GB ECC RAM.
Second computer is a AMD Ryzen 5 3400G with 64 GB RAM

Hi. So backtrace from fio ticket is produced by some tool, which isn't giving perfect backtrace. Can you please do backtrace via gdb and post here?
gdb  core
then in gdb prompt
>bt

I dont know if this is what you are lokking for:
─# coredumpctl debug 527311
           PID: 527311 (fio)
           UID: 1000 (matthias)
           GID: 1000 (matthias)
        Signal: 11 (SEGV)
     Timestamp: Fri 2023-10-20 10:44:06 CEST (1 day 23h ago)
  Command Line: /home/matthias/src/fio/fio --output=./write.out /home/matthias/fio//fio-bench-generic-seq-write.options
    Executable: /home/matthias/src/fio/fio
 Control Group<EMAIL_ADDRESS>          Unit<EMAIL_ADDRESS>     User Unit: vte-spawn-8158d5f7-e1e7-45ab-8783-dd395cbe25d4.scope
         Slice: user-1000.slice
     Owner UID: 1000 (matthias)
       Boot ID: 4a32aa1467214358ae1388942ceed477
    Machine ID: 4bd88beaa35549b5922de02c8064cbf1
      Hostname: rakete
       Storage: /var/lib/systemd/coredump/core.fio.1000.4a32aa1467214358ae1388942ceed477.527311.1697791446000000.zst (present)
  Size on Disk: 252.4K
       Message: Process 527311 (fio) of user 1000 dumped core.

                Stack trace of thread 527311:
                #0  0x0000000000000000 n/a (n/a + 0x0)
                #1  0x00007f3f24c2e54a n/a (libtcmalloc.so.4 + 0x2e54a)
                #2  0x00007f3f24c33f02 _Z13GetStackTracePPvii (libtcmalloc.so.4 + 0x33f02)
                #3  0x00007f3f24c27381 _ZN8tcmalloc8PageHeap12HandleUnlockEPNS0_14LockingContextE (libtcmalloc.so.4 + 0x27381)
                #4  0x00007f3f24c2750d _ZN8tcmalloc8PageHeap16NewWithSizeClassEmj (libtcmalloc.so.4 + 0x2750d)
                #5  0x00007f3f24c275bf _ZN8tcmalloc15CentralFreeList8PopulateEv (libtcmalloc.so.4 + 0x275bf)
                #6  0x00007f3f24c277a9 _ZN8tcmalloc15CentralFreeList21FetchFromOneSpansSafeEiPPvS2_ (libtcmalloc.so.4 + 0x277a9)
                #7  0x00007f3f24c27854 _ZN8tcmalloc15CentralFreeList11RemoveRangeEPPvS2_i (libtcmalloc.so.4 + 0x27854)
                #8  0x00007f3f24c279c8 _ZN8tcmalloc11ThreadCache21FetchFromCentralCacheEjiPFPvmE (libtcmalloc.so.4 + 0x279c8)
                #9  0x00007f3f24c373d6 _ZN8tcmalloc24allocate_full_malloc_oomEm (libtcmalloc.so.4 + 0x373d6)
                #10 0x00007f3f23cac4fb pool (libstdc++.so.6 + 0xac4fb)
                #11 0x00007f3f24f40eee n/a (ld-linux-x86-64.so.2 + 0x4eee)
                #12 0x00007f3f24f40fdc n/a (ld-linux-x86-64.so.2 + 0x4fdc)
                #13 0x00007f3f24f572d0 n/a (ld-linux-x86-64.so.2 + 0x1b2d0)
                ELF object binary architecture: AMD x86-64

GNU gdb (GDB) 13.2
Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /home/matthias/src/fio/fio...
[New LWP 527311]

warning: Section `.reg-xstate/527311' in core file too small.

This GDB supports auto-downloading debuginfo from the following URLs:
  <https://debuginfod.archlinux.org>
Enable debuginfod for this session? (y or [n]) y
Debuginfod has been enabled.
To make this setting permanent, add 'set debuginfod enabled on' to .gdbinit.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
Core was generated by `/home/matthias/src/fio/fio --output=./write.out /home/matthias/fio//fio-bench-g'.
Program terminated with signal SIGSEGV, Segmentation fault.

warning: Section `.reg-xstate/527311' in core file too small.
--Type <RET> for more, q to quit, c to continue without paging--
#0  0x0000000000000000 in ?? ()
(gdb) bt
#0  0x0000000000000000 in ?? ()
#1  0x00007f3f24c2e4f0 in ?? () at src/memory_region_map.cc:553 from /usr/lib/libtcmalloc.so.4
#2  0x00005617e208d010 in ?? ()
#3  0x00005617e208d010 in ?? ()
#4  0x000000000000001e in ?? ()
#5  0x0000000000000000 in ?? ()

Thanks for the update.
Sadly, backtrace from gdb looks quite broken. Here is my guess. Perhaps /usr/lib/libtcmalloc.so.4 isn't same as when core was produced? If so, can I ask you to do backtrace again with fully matching binaries?

So I got myself your OS in VM and here is what I get for fio:
user@endeavoros ~]$ ldd `which fio` | sort
	/lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007ff97d578000)
	libacl.so.1 => /usr/lib/libacl.so.1 (0x00007ff97d41b000)
	libaio.so.1 => /usr/lib/libaio.so.1 (0x00007ff97d441000)
	libbrotlicommon.so.1 => /usr/lib/libbrotlicommon.so.1 (0x00007ff97bc59000)
	libbrotlidec.so.1 => /usr/lib/libbrotlidec.so.1 (0x00007ff97cd07000)
	libcom_err.so.2 => /usr/lib/libcom_err.so.2 (0x00007ff97cd01000)
	libcrypto.so.3 => /usr/lib/libcrypto.so.3 (0x00007ff97c800000)
	libc.so.6 => /usr/lib/libc.so.6 (0x00007ff97c61e000)
	libcurl.so.4 => /usr/lib/libcurl.so.4 (0x00007ff97d113000)
	libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007ff97d0ee000)
	libgfapi.so.0 => /usr/lib/libgfapi.so.0 (0x00007ff97d1cb000)
	libgfrpc.so.0 => /usr/lib/libgfrpc.so.0 (0x00007ff97d0b2000)
	libgfxdr.so.0 => /usr/lib/libgfxdr.so.0 (0x00007ff97d09d000)
	libglusterfs.so.0 => /usr/lib/libglusterfs.so.0 (0x00007ff97cd16000)
	libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0x00007ff97c4bf000)
	libidn2.so.0 => /usr/lib/libidn2.so.0 (0x00007ff97c5fc000)
	libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0x00007ff97bc94000)
	libkeyutils.so.1 => /usr/lib/libkeyutils.so.1 (0x00007ff97bc8d000)
	libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0x00007ff97bcc2000)
	libkrb5support.so.0 => /usr/lib/libkrb5support.so.0 (0x00007ff97c47e000)
	liblzma.so.5 => /usr/lib/liblzma.so.5 (0x00007ff97c48c000)
	libm.so.6 => /usr/lib/libm.so.6 (0x00007ff97d446000)
	libnghttp2.so.14 => /usr/lib/libnghttp2.so.14 (0x00007ff97d01d000)
	libnuma.so.1 => /usr/lib/libnuma.so.1 (0x00007ff97d54d000)
	libpsl.so.5 => /usr/lib/libpsl.so.5 (0x00007ff97d007000)
	libresolv.so.2 => /usr/lib/libresolv.so.2 (0x00007ff97bc7c000)
	libssh2.so.1 => /usr/lib/libssh2.so.1 (0x00007ff97c5b3000)
	libssl.so.3 => /usr/lib/libssl.so.3 (0x00007ff97c513000)
	libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007ff97c200000)
	libtcmalloc_minimal.so.4 => /usr/lib/libtcmalloc_minimal.so.4 (0x00007ff97c027000)
	libtcmalloc.so.4 => /usr/lib/libtcmalloc.so.4 (0x00007ff97ce00000)
	libtirpc.so.3 => /usr/lib/libtirpc.so.3 (0x00007ff97d06f000)
	libunistring.so.5 => /usr/lib/libunistring.so.5 (0x00007ff97bd9a000)
	libunwind.so.8 => /usr/lib/libunwind.so.8 (0x00007ff97d426000)
	liburcu-bp.so.8 => /usr/lib/liburcu-bp.so.8 (0x00007ff97d05b000)
	liburcu-cds.so.8 => /usr/lib/liburcu-cds.so.8 (0x00007ff97d048000)
	liburcu-common.so.8 => /usr/lib/liburcu-common.so.8 (0x00007ff97d054000)
	libuuid.so.1 => /usr/lib/libuuid.so.1 (0x00007ff97d066000)
	libz.so.1 => /usr/lib/libz.so.1 (0x00007ff97d533000)
	libzstd.so.1 => /usr/lib/libzstd.so.1 (0x00007ff97bf54000)
	linux-vdso.so.1 (0x00007ffcd6598000)

See that it consumes both libtcmalloc.so and libtcmalloc_minimal.so. Which might work, but is one thing that is asking for trouble for sure.

I did another test with a core dump. This time it looks more comprehensive:
(gdb) bt
#0  0x0000000000000000 in ?? ()
#1  0x00007f5368e2e4f0 in ?? () from /usr/lib/libtcmalloc.so.4
#2  0x00007f5368e2e54a in ?? () from /usr/lib/libtcmalloc.so.4
#3  0x00007f5368e33f02 in GetStackTrace(void**, int, int) () from /usr/lib/libtcmalloc.so.4
#4  0x00007f5368e27381 in tcmalloc::PageHeap::HandleUnlock(tcmalloc::PageHeap::LockingContext*) () from /usr/lib/libtcmalloc.so.4
#5  0x00007f5368e2750d in tcmalloc::PageHeap::NewWithSizeClass(unsigned long, unsigned int) () from /usr/lib/libtcmalloc.so.4
#6  0x00007f5368e275bf in tcmalloc::CentralFreeList::Populate() () from /usr/lib/libtcmalloc.so.4
#7  0x00007f5368e277a9 in tcmalloc::CentralFreeList::FetchFromOneSpansSafe(int, void**, void**) () from /usr/lib/libtcmalloc.so.4
#8  0x00007f5368e27854 in tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) () from /usr/lib/libtcmalloc.so.4
#9  0x00007f5368e279c8 in tcmalloc::ThreadCache::FetchFromCentralCache(unsigned int, int, void* (*)(unsigned long)) () from /usr/lib/libtcmalloc.so.4
#10 0x00007f5368e373d6 in tcmalloc::allocate_full_malloc_oom(unsigned long) () from /usr/lib/libtcmalloc.so.4
#11 0x00007f53680ac4fb in (anonymous namespace)::pool::pool (this=0x7f5368276280 <(anonymous namespace)::emergency_pool>) at /usr/src/debug/gcc/gcc/libstdc++-v3/libsupc++/eh_alloc.cc:235
#12 __static_initialization_and_destruction_0 () at /usr/src/debug/gcc/gcc/libstdc++-v3/libsupc++/eh_alloc.cc:373
#13 _GLOBAL__sub_I_eh_alloc.cc(void) () at /usr/src/debug/gcc/gcc/libstdc++-v3/libsupc++/eh_alloc.cc:456
#14 0x00007f5369095eee in call_init (env=0x7fff4f47e178, argv=0x7fff4f47e158, argc=3, l=<optimized out>) at dl-init.c:90
#15 call_init (l=<optimized out>, argc=3, argv=0x7fff4f47e158, env=0x7fff4f47e178) at dl-init.c:27
#16 0x00007f5369095fdc in _dl_init (main_map=0x7f53690c52d0, argc=3, argv=0x7fff4f47e158, env=0x7fff4f47e178) at dl-init.c:137
#17 0x00007f53690ac2d0 in _dl_start_user () from /lib64/ld-linux-x86-64.so.2
#18 0x0000000000000003 in ?? ()
#19 0x00007fff4f480265 in ?? ()
#20 0x00007fff4f480269 in ?? ()
#21 0x00007fff4f48027e in ?? ()
#22 0x0000000000000000 in ?? ()

BUT:
I believe the issue has been fixed. I started the bug report with package version 2.13-1. And this is the version with which I created this new core dump. But since yesterday there is a new package 2.13-2 with which I can not reproduce the core dump anymore.
The new package 2.13-2 contains this patch:
https://github.com/gperftools/gperftools/commit/c48d4f14.patch
The package maintainer says it fixes "segfaults". Seems to fix my issue.
https://gitlab.archlinux.org/archlinux/packaging/packages/gperftools/-/commits/main

Thanks for the update. I hoped to see function names for those two topmost call stack frames, but perhaps debug info (even function names) is stripped. BTW, it's worth asking Arch folk if that lack of function names debug info is what they intend to ship.
If you can access the archlinux packaging person, I would very much like to have repro for "without patch". If this patch was indeed "it", I am very surprised, since it was believed to be only affecting older, less standards compliant gcc versions. And Arch is quite modern with its gcc versions.

Alternatively, is there a way for me to grab "broken" version of libtcmalloc.so.4 ? (even better if I am able to reproduce myself; but just having the binary will help be double check if it was "it" indeed. All evidence so far agrees with this theory)

Ah, okay. I am able to reproduce. So indeed it was "it" and we can close now given patch is already merged to our master branch. And I'll be doing new release sometime soon.


update footer

Related Issue

Issue No. #33

Changes you made :

added footer in homepage

Check list :

[x] I have followed code style of this project.
[x] I have read the CONTRIBUTING document.
[x] All the aspects mentioned in the issue are covered.
[x] The website is properly working after my changes.
[x] 🌟 ed the repo

Type of change :

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)

screenshots of changes done :
before:

after:

Description:
I made Footer of home page, also embedded link to social media icon and other pages of "Paryatana".

@Arun9739
I have updated screenshot of changes done and also branch conflict issue has been resolved.

It's super cool @amananand917
One change needed is to remove github from footer.
GitHub is not required for travel agency.
Rest is fine. 👍

@Arun9739
All changes has been done.


Connecting O365 using Modern Authentication

This is connecting the exchange using basic authentication. Since the basic authentication is going to be deprecated by microsoft for O365 in oct'22, is there an alternate way to connect to O365 using modern authentication? If yes is it possible to use it in this code? Or is it possible to use Connect-ExchangeOnline module?

Yes, you can replace the connection to EXO with a managed identity as an example. Simplest for now is likely to load the EXO modules and change the connection string for EXO.


chore(main): release 3.8.0

:robot: I have created a release beep boop
3.8.0 (2022-07-30)
Features

prepare run() for async use with ESM (e904c03)

Bug Fixes

support windows ERR_PACKAGE_PATH_NOT_EXPORTED error (d77c4fe)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/christophehurpeau/check-package-dependencies/releases/tag/v3.8.0 :sunflower:


Object colors with a plurality of parameters

When one does
debug({a:1, b:2});
the object properties' values are printed with colours

but when one does
debug("string", {a:1, b:2});
colours are gone

just FYI

(just to add some context)
This is because debug automatically adds a "%O" string to the arguments when the first one isn't a string, which is then interpreted as a formatter for the next argument; but it doesn't if the first argument is already a string. The arguments are then passed to util.format(), which does the pretty-print, but without the colors.
If you want to have colors when doing
debug("string", {a:1, b:2});

You'll need to manually add the %O:
debug("string %O", {a:1, b:2});

Yep, @chagris is exactly right. This is intended behavior.

@Qix-
I see the problem and thank you guys for the reply, but how come is the intended behaviour?
Why simply not
if (typeof args[i] === "string"){
  args[i] += " %0";
}

Am I missing anything here?

Because this is how console.log previously worked IIRC.
I would be open to changing it.

You can very well use the arguments array
if (arguments.length > 1 && typeof arguments[0] === "string"){
  arguments[0] += " %O";
}

what do you think @chagris ?

Yeah, my guess was that it was this way for historical reasons (util.format() has a %O since v.8.4.0)
It'd be more or less easy to have it colored one way or another (debug uses the ...args rest parameters) and the current code is pretty similar to what you proposed:
	args[0] = createDebug.coerce(args[0]);

	if (typeof args[0] !== 'string') {
		// Anything else let's inspect with %O
		args.unshift('%O');
	}

If it's not starting with a string, this part could add as many %O as there are arguments in one string that is unshifted, but if there's one it'd need to parse the string, count the already-existing (valid) %* placeholders and add more as needed. (also since Node v10.0 there's util.formatWithOptions which could automatically color everything but that'd break a lot of code that isn't running on a recent Node?)

However, there's currently https://github.com/visionmedia/debug/issues/582 which aims to give more control over the output format, and ultimately, if possible, to get rid of DEBUG_COLORS and the use of isatty(), which'd require changes to how the %O and %o decide to (/ are made to) color their output... If you have any idea about that, would be great to hear!

For now, an already supported way would be to simply override the log method to, for example, console.log
const debug = require('debug');
debug.log = console.log.bind(console);
log('All those objects will be colored (if you run on a recent enough Node version)', {foo: 'bar'}, {foo: 'bar'});


Add basic text selection to editable text.

Only partially works. Editing the selected text doesn't work, which
probably will require engine changes. Currently only draws the selected
text and allows you to manipulate the selection with draggable selection
handles.

w.r.t. letting Input control the visual appearance of the selection handles, I'd probably let Input supply two widgets to RawInputLine, one for each direction of selection handle.  Most of the time, RawInputLine wouldn't include these in its build but when it could use them when it wanted to draw selection handles.  If it needs two "leftward" handles (e.g., because the selection starts in LTR text and ends in RTL text), then it can include the "leftward" selection handle twice.  (That's a perfectly find thing to do.)  Then the custom painting logic can be controlled at the material layer but the gesture detection and selection adjustment can be handled by RawInputLine.

Thanks for the detailed feedback! I'm new to text handling, so I'm not surprised I missed all these things. I added a couple questions to your comments while I work on fixing the rest.

Text selection is tricky because of RTL.  I'm happy to jump on VC and we can draw some diagrams on a whiteboard if that's helpful.

For the record it's possible that whatever approach we take here we'll have to revisit it soonish to make this work on Android according to platform conventions, which is to have the handles be able to go outside the application boundaries and into system-drawn UI (even into the soft buttons at the bottom of the screen!).
On the other hand, on iOS, the platform convention appears to be to have the handles clipped to the text widget boundaries, so not even in the system overlay. (It would actually be trivial to do this by just wrapping the raw input line control with an Overlay of its own, since then the input control would find that Overlay when doing Overlay.of(). So long as all the calculations are correctly doing local-to-global-to-local conversions, it would Just Work.)

OK, I made a bunch of changes and it's ready for another look. Lots has changed from the first patch - sorry about that. Major points:

I pulled the most of the handle management out of RawInputLineState into a separate class for cleanliness.
I moved the actual handle drawing to material/input.dart, passing a builder function down to the lower layer.
I'm using SizedBox and Positioned to place the handles, so I no longer need a custom hit tester.
We use a single-point handle for collapsed selections. The behavior matches Android as best I could. (Though for now I'm drawing it with a 'left-side' handle.)
LTR/RTL works much better now.

I still need to fix word selection. The placeholder works OK for testing, so I'd like to do that in a separate patch.

LGTM
Please add some tests before landing.  If you take a look at some of the existing tests, you can see how to mock out the keyboard service.  Probably makes sense to write a test that shows you can long-press to create a selection and then you can drag the two selection handles to change the selection.

Added some tests. Waiting on travis.
I also added a new Color to Theme, textSelectionHandleColor, for the handle color. It's a slightly darker version of the selected text color.

Thanks! Curious, did you test this on iOS?

Arg, no! I will do so.