NullPointerException when performing Stack analysis

Describe the bug
I was using this extension to disassemble Rhythm Heaven (YLZE01). When running the auto analysis when first opening the imported ARM9 ROM, a NullPointerException gets thrown during the stack analysis. Re-running the stack analysis continues to result in NullPointerExceptions. The stack trace I was able to get doesn't include any of this project's code, but it might still be a bug with this if the main issue is in the import process.
To Reproduce
Steps to reproduce the behavior:

Add the Rhythm Heaven ROM to Ghidra
On the NTRGhidra dialogs, select ARM9, then Yes.
Once imported, open the project, select Yes on the auto-analyze prompt, ensure Stack is selected, and click Analyze
Wait for it to get to the Stack analysis.

Expected behavior
Not to result in a NullPointerException
Stack Trace
Cannot invoke "ghidra.program.model.address.Address.getAddressSpace()" because "this.address" is null
java.lang.NullPointerException: Cannot invoke "ghidra.program.model.address.Address.getAddressSpace()" because "this.address" is null
	at ghidra.program.model.pcode.Varnode.<init>(Varnode.java:52)
	at ghidra.program.util.VarnodeContext.getVarnode(VarnodeContext.java:871)
	at ghidra.program.util.SymbolicPropogator.applyPcode(SymbolicPropogator.java:837)
	at ghidra.program.util.SymbolicPropogator.flowConstants(SymbolicPropogator.java:495)
	at ghidra.program.util.SymbolicPropogator.flowConstants(SymbolicPropogator.java:393)
	at ghidra.program.util.SymbolicPropogator.flowConstants(SymbolicPropogator.java:191)
	at ghidra.app.cmd.function.NewFunctionStackAnalysisCmd.createStackPointerVariables(NewFunctionStackAnalysisCmd.java:340)
	at ghidra.app.cmd.function.NewFunctionStackAnalysisCmd.analyzeFunction(NewFunctionStackAnalysisCmd.java:191)
	at ghidra.app.cmd.function.NewFunctionStackAnalysisCmd.applyTo(NewFunctionStackAnalysisCmd.java:118)
	at ghidra.app.plugin.core.function.StackVariableAnalyzer.added(StackVariableAnalyzer.java:55)
	at ghidra.app.plugin.core.analysis.OneShotAnalysisCommand.applyTo(OneShotAnalysisCommand.java:47)
	at ghidra.app.plugin.core.analysis.AutoAnalysisManager$AnalysisTaskWrapper.run(AutoAnalysisManager.java:688)
	at ghidra.app.plugin.core.analysis.AutoAnalysisManager.startAnalysis(AutoAnalysisManager.java:788)
	at ghidra.app.plugin.core.analysis.AutoAnalysisManager.startAnalysis(AutoAnalysisManager.java:667)
	at ghidra.app.plugin.core.analysis.AutoAnalysisManager.startAnalysis(AutoAnalysisManager.java:632)
	at ghidra.app.plugin.core.analysis.AnalysisBackgroundCommand.applyTo(AnalysisBackgroundCommand.java:58)
	at ghidra.framework.plugintool.mgr.BackgroundCommandTask.run(BackgroundCommandTask.java:102)
	at ghidra.framework.plugintool.mgr.ToolTaskManager.run(ToolTaskManager.java:315)
	at java.base/java.lang.Thread.run(Thread.java:832)

Build Date: 2020-Nov-13 1112 EST
Ghidra Version: 9.2
Java Home: C:\Users\LRFLEW\Downloads\jdk-15.0.2
JVM Version: Oracle Corporation 15.0.2
OS: Windows 10 10.0 amd64
My System:

OS: Windows 10 20H2
hidra 9.2
NTRGhidra 1.4.3

This is a sightly inconvenient problem, I believe the cause of the error is that Ghidra doesn't find a .stack region. That's because the loader doesn't create it for the following reason: the stack location is set dynamically, and it depends on the ctr0 (the code that initializes the system and the CPU). This code varies from one SDK version to another, and so does the stack location. It also depends on the IRQ stack region which was configurable by the developers and affects the main stack as well.
Homebrew, on the other side, uses a completely different initialization code, so it's going to be another scenario to cover.
A possible enhancement would be to dynamically read the first 20-30 instructions of the disassembled program (from the entry point) and figure the final value of the SP (Stack Pointer) after the IRQ stack is set, then create a Ghidra memory region at that address.
That being said, it is usually fine to run the analysis without the stack option.

I believe the cause of the error is that Ghidra doesn't find a .stack region

This doesn't sound right to me, personally. I don't remember seeing a stack memory region when working with PE (EXE) files. Also, if the error was a missing stack memory region, I would have expected the error to occur immidiately, not when the progress bar gets half way.
If you think this is the issue, then we can test it. If we make a build that creates a .stack region in a hardcoded location for the game I was having issues with, I can see if the error still occurs with the patch. If it doesn't fix the issue, then we don't need to consider the enhancement as a method to fix the issue.

After more testing I have to discard that hypothesis. I have been able to reproduce the error; It seems the loader is failing with the same exception on games which worked and were analysed perfectly previously. It must be a bug either introduced in the last version or caused by the changes in the Ghidra codebase, which usually breaks things. Needs more investigation

@LRFLEW can you test if the error persist with the latest release v<IP_ADDRESS> ?

I was able to get the NullPointerException again with the latest release. Looking at that stack trace, it seems less like one long stack trace and instead is multiple identical stack traces printed. If that is the case, it would  suggest that the failures don't prevent the rest of the stack analysis from being performed, which is good. I don't know the codebase (yours or Ghidra's) to know what the stack trace means, but the fact that it seems to end with Caused by: java.lang.NullPointerException has me worried this isn't a complete trace.

The trace for the Decompiler Switch Analyzer definitely isn't a complete trace. It might get logged if you set the logging configuration to trace, but it might not. (See conversation here).
Does the initial problem occur with the USE_NEW_FUNCTION_STACK_ANALYSIS option set to false as well?
I'm baffled by this as it appears that the initial stack trace should be impossible. I opened up #2787 and mentioned this issue since VarnodeContext is passing a null Address to the Varnode contructor when it cannot be null.
In the jython terminal try the following when the cursor is on a valid instruction.
spaceID = getInstructionAt(currentAddress).getAddressSpace().getSpaceID();
addrFactory = new OffsetAddressFactory(currentProgram.getLanguage().getAddressFactory());
space = addrFactory.getAddressSpace(spaceID)

Check if space is None

The trace for the Decompiler Switch Analyzer definitely isn't a complete trace. It might get logged if you set the logging configuration to trace, but it might not. (See conversation here).
Does the initial problem occur with the USE_NEW_FUNCTION_STACK_ANALYSIS option set to false as well?
I'm baffled by this as it appears that the initial stack trace should be impossible. I opened up #2787 and mentioned this issue since VarnodeContext is passing a null Address to the Varnode contructor when it cannot be null. I also referenced #2785 that you created earlier.
In the jython terminal try the following when the cursor is on a valid instruction.
spaceID = getInstructionAt(currentAddress).getAddressSpace().getSpaceID();
addrFactory = new OffsetAddressFactory(currentProgram.getLanguage().getAddressFactory());
space = addrFactory.getAddressSpace(spaceID)

Check if space is None

Where can I set the logging configuration to trace everything? Additionally, where do I need to set to false the USE_NEW_FUNCTION_STACK_ANALYSIS? Is that the same option as "Stack" Analysis on the GUI?
Regarding the python script, It seems getAddressSpace() in InstructionDB does not exist:

My mistake, it should have been getInstructionAt(currentAddress).getMinAddress().... It is a bit redundant to do that since you have the address already but it is for consistency with what is going on during the problem.
The option is the same in the gui. It is to use the "new" stack analysis or something.

My mistake, it should have been getInstructionAt(currentAddress).getMinAddress().... It is a bit redundant to do that since you have the address already but it is for consistency with what is going on during the problem.
The option is the same in the gui. It is to use the "new" stack analysis or something.
Regarding the log configuration: NationalSecurityAgency/ghidra#1252 (comment)

Okay, I've fixed the jython script to run (Let me know if this is what you meant to execute):
spaceID = getInstructionAt(currentAddress).getMinAddress().getAddressSpace().getSpaceID()
addrFactory = currentProgram.getLanguage().getAddressFactory();
space = addrFactory.getAddressSpace(spaceID)

And the content of space is not None but rather:
>>> space
ram:

Additionally, running analysis without the stack option like this:

Produces different output. The previous NullPointerException exception does not appear but the other underlying and repeating exceptions keep appearing:

I'm still figuring how to get the actual trace, just modifying the entries in /support/debug.log4j.xml did not work (or I'm not looking in the correct place)

The issue was solved with https://github.com/NationalSecurityAgency/ghidra/issues/2787 and the next NTRGhidra release will have this issue solved


Removes unused html features.

HTML does not use these features anymore, it is considered invalid, so it is used with CSS markup.
See : https://dev.w3.org/html5/pf-summary/obsolete.html

This HTMLFormatter is targetting email clients, which are known to be bad at supporting modern HTML.

This HTMLFormatter is targetting email clients, which are known to be bad at supporting modern HTML.

@stof I can understand this, but still these features are no longer functional for HTML. They need to be formatted with CSS.

@selcukcukur are they really not functional anymore in these old email clients implementing the HTML from 15 years ago ?
And if modern clients don't support them anymore while older clients don't support setting them through CSS, the solution is to set it both ways, not only in the modern way.

@selcukcukur are they really not functional anymore in these old email clients implementing the HTML from 15 years ago ?
And if modern clients don't support them anymore while older clients don't support setting them through CSS, the solution is to set it both ways, not only in the modern way.

To be clear, I believe this formatter needs to be further edited, but for now, this solution will suffice. Do you mean the old client doesn't support the css code?

I know that email clients are quite bad at supporting CSS styles (see https://www.caniemail.com/). but I don't know whether it is an issue for these particular changes.

I know that email clients are quite bad at supporting CSS styles (see https://www.caniemail.com/). but I don't know whether it is an issue for these particular changes.

this may be true for advanced formatting, but this level is not a problem for simple formatting.

Frankly the current format seems to work very well, so I am not so keen on making changes as it requires careful testing and if it's not broken I don't see much point in trying to modernize the email format. It's only risks and very little benefit.

Closing as does not seem worth the risk.


BETSY deployment

Creating this new ticket to follow up. In addition, per Raja's comment during Monday's scrum -- for Jonathon and Pat, if this is not done by 7/14, please schedule a call with Raja.

The next iteration was completed on Wednesday 7.12.2023, but did not solve the throttling issue. We essentially deployed entirely to RAM this time, but are still seeing very slow page load times.
So we've eliminated some configuration possibilities, but now have no idea what the source of the throttling is. We will regroup and plan something else to troubleshoot.

Based on conversations with Raja, Jonathon, and Pat I am considering this ticket closed. I will make new tickets as needed for the BETSY work (most likely in GW Prod)


Rajkumar

Is this tested? Once the URL is uploaded... each posts document must look like this
{
"_id" : ObjectId("630b6359992a9a108a748522"),
"title": "Blog title here",
"postFeaturedImage": "URL of the Image uploaded to firebase",
"content": "blog content",
}

Is this tested? Once the URL is uploaded... each posts document must look like this
{
"_id" : ObjectId("630b6359992a9a108a748522"),
"title": "Blog title here",
"postFeaturedImage": "URL of the Image uploaded to firebase",
"content": "blog content",
}

Please add your name to the contributor's list present in the README.md

Yes i have check it is working as you mention, and i also added my name in contributor list

Can't really see anything happening... clicking on Publish does pretty much nothing! Could you please sort out the issue.

I would suggest you write most of your code on server... also use firebase-admin SDK  to do the job. I'm leaving you a link where you can find step by step documentation to do so!
https://piyushgarg.dev/uploading-images-to-firebase-storage-with-nodejs

I would suggest you write most of your code on server... also use firebase-admin SDK to do the job. I'm leaving you a link where you can find step by step documentation to do so!
https://piyushgarg.dev/uploading-images-to-firebase-storage-with-nodejs

Click Here

Then make sure it is true

Really apologize for that, somehow I forgot to add that in doc

Don't worry I will make the changes in doc

Please don't mind. Thanks for working on this :)


Improve path related compatibility in C++

This PR mainly aims to support MSVC/Windows environment.  It contains the following changes.

(1) Retrieve exePath by GetModuleFileNameW() as suggested in the comment.
(2) Since ORTCHAR_T != char, use std::filesystem::path::value_type instead of using char directly.
(3) espeak-ng internally uses fopen().  And its filepath is const char*.  So, std::filesystem::path::string() provides better compatibility with piper CLI's internal path and char*.  It may support UTF-8, ASCII, MBCS, etc.

If someone want to try this patch, they can use my fork/branch for this PR with this procedure: https://gist.github.com/t-mat/84cb1b8a828a0eee6d7db37f7ff75f70?permalink_comment_id=4545947#gistcomment-4545947

Thanks!


extend canary example for tensorflow sample

What this PR does / why we need it:
Adds the KFService diagram to main README, as well as updates Tensorflow sample for showing canary rollout

This change is

/ok-to-test

/assign @ellis-bigelow

Seems the merge here got a bit messed up - will close this and submit as a fresh one.


Fix trialing spaces in meshconfig to allow edits

Without this, if you do kubectl edit a meshconfig, then its all
mangled and escaped. This is because of a "feature" of kubectl to escape
anything with trailing spaces. With this change, the mesh config is
editable simply.
Please provide a description for what this PR is for.
And to help us figure out who should review this PR, please
put an X in all the areas that this PR affects.
[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure

Fixes https://github.com/istio/istio/issues/16819

Where did you find this - I've been looking for the cause for a long, long time.

I copy pasted the mesh config to a file and applied and somehow it worked -- turned out my editor removed the spaces, so doing a diff showed this as the root cause

@howardjohn: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

integ-mixer-k8s-presubmit-tests-master
66ef0b79c41c22d8a0b7d78eb9ed38cbab944118
link
/test integ-mixer-k8s-presubmit-tests-master

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

In response to a cherrypick label: new pull request created: #16822


Add step to test contents of array from JSON

At present there is no way to check the contents of an array in the response from Guzzle. Add a step definition that uses JSON and call it Then the response contains the following values from JSON so an array with values can be defined:
{
  "name": "Test Name",
  "users": [
    {
      "id": {stored[user][id]}
    }
  ]
}

Issue resolved in PR https://github.com/teaandcode/behat-guzzle-extension/pull/8


introduction of end-2-end worfklow

This workflow replace the separate golangci-lint, gosecscan, and codeql-analysis with one workflow that:

golangci-lint (permissive - it will not fail the workflow if there is some linting issues): same as previously, it will check for proper golang formating and best practices
gosec-scanning (enforced - if there is an issue it fails the worfklow), sams as previously, it will check for any golang security flaws
image-build (enforced - if there is an issue it fails the workflow), new job, it will create a container image with the commit hash as tag and push on ghrc.io/ondat/trousseau

This last job will ease the availability of a built for testing.
The next stage will be do push the image to a kubernetes cluster and perform a burn/hammer test.
The new end-2-end worfklow jobs have separate configuration files with an underscore prefix to differentiate them with the old ones.
Note:

no changes made on the scorecards-analysis workflow
codeql is on schedule only to reduce the number of GH action minutes

As a result of the checks for this PR, the go lint, sec scan, and built resulted in the following image: https://github.com/ondat/trousseau/pkgs/container/trousseau/18817053?tag=eee9b34489eb404dbdacd0140b7e12293782a355


Camera image not saved

Expected Behavior
Captured image exists
Actual Behavior
Captured image doesn't exist
Steps to Reproduce the Problem

Create a launcher

 launcher = registerImagePicker { result ->
            if (result.isNotEmpty()) {
                val exists = File(result.first().path).exists()
            }
}

Call the launcher
launcher.launch(CameraOnlyConfig())

The file returned as result doesn't exist.
In Logcat I find:
MediaScannerConnection  D  Scanned /storage/emulated/0/Android/data/packagename/files/Pictures/Camera/IMG_20230220_184510_996.jpg to null
ImagePicker             D  File /storage/emulated/0/Android/data/packagename/files/Pictures/Camera/IMG_20230220_184510_996.jpg was scanned successfully: null
ImagePicker             D  scanFile is failed. Uri is null

Specifications

Image Picker Version: 3.0.0
Android OS: Android 12
Phone: Samsung S22

My friend, I found a workaround but is not the best solution.
Just replace the path manually with this
var finalPath = if (File(image.path).exists()) image.path else             image.path.replaceBefore("/I", "/storage/emulated/0/Pictures")

I have same issue. The image always saved on /storage/emulated/0/Pictures folder. The option savePath is not working. It's still return in the result but it's doesn't saved.
It's maybe a bug.


Error running 'mailchain serve' with partially configured protocols

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
mailchain.yaml
protocols:
  ethereum:
    disabled: false
    networks:
      goerli:
        disabled: false
        nameservice-address: ""
        nameservice-domain-name: ""
        public-key-finder: "etherscan-no-auth"
        receiver: ""
        sender: ""

mailchain serve
What version of Mailchain are you using ?
$ mailchain version
Version: v0.1.0
Expected behavior
No error but a partially configured endpoint

Possible solutions

Allow empty values and don't add anything to the map. The handler will report an error similar to "no receiver for network/protocol"
Error on empty values, instead require a "NoOp" entity. The handler can specify that its supported just not configured.
Create extra properties e.g. nameservice-address-disabled, nameservice-domain-name-disabled, public-key-finder-disabled etc

I think it's better to skip over errors and let the user know with meaningful error messages.
Option 1: Allow empty values and don't add anything to the map. The handler will report an error similar to "no receiver for network/protocol"


PyDrive not working with oauth2client version 4.0

oauth2client.file.CredentialsFileSymbolicLinkError not found error

Thank you for posting this here :)
Could you please post instructions on how to reproduce the error, and a traceback?

Hey, i also have the same problem. At the beginning i try to run the code on windows, and it worked. But when i try to run the code on my raspberry pi (OS raspbian) the code show me error about symboliclink.
i run this code
`from pydrive.auth import GoogleAuth
gauth = GoogleAuth()
gauth.LocalWebserverAuth()`
import error : oauth2client.file.CredentialsFileSymbolicLinkError not found error
the error is from auth.py line 15 which is "from oauth2client.file import CredentialsFileSymbolicLinkError"
i follow the same instruction on authentication page [auth page] (http://pythonhosted.org/PyDrive/quickstart.html#authentication) when i try on windows and raspbian.

@purbayasetiya Thank you for the details!
The problem is that PyDrive relies on google-api-python-client which in turn relies on oauth2client.
Now PyDrive gets its version of oauth2client from the google-api-python-client, but is not compatible with 4.0.0 (which you can tell by the semantic versioning is not necessarily backwards compatible with 3.x.x).
So, basically, PyDrive needs to compatible with oauth2client 4.0.0. If either of you, @purbayasetiya and @dwai1714, need this urgently, replace lines 307-311 in auth.py with:
try:
      storage = Storage(credentials_file)
      self.credentials = storage.locked_get()
  except IOError:
      raise InvalidCredentialsError('Credentials file cannot be symbolic link')

and remove line 15:
from oauth2client.file import CredentialsFileSymbolicLinkError

Hi Robin
Thank you very much. For the time being I made it backward compatible. Once you update the package I will update my project.On a separate note if we move to google API version 3, do we need changes. If thats the case I will be happy to contribute.Apologies, you made PyDrive so simple that I did not peek inside too much :)
ThanksDC
  From: Robin Nabel<EMAIL_ADDRESS>
To: googledrive/PyDrive<EMAIL_ADDRESS>Cc: DC<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Sent: Tuesday, October 18, 2016 2:58 PM
Subject: Re: [googledrive/PyDrive] PyDrive not working with oauth2client version 4.0 (#78)
@purbayasetiya Thank you for the details!The problem is that PyDrive relies on google-api-python-client which in turn relies on oauth2client.
Now PyDrive gets its version of oauth2client from the google-api-python-client, but is not compatible with 4.0.0 (which you can tell by the semantic versioning is not necessarily backwards compatible with 3.x.x).So, basically, PyDrive needs to compatible with oauth2client 4.0.0. If either of you, @purbayasetiya and @dwai1714, need this urgently, replace lines 307-311 in auth.py with:try:
storage = Storage(credentials_file)
self.credentials = storage.locked_get()
except IOError:
raise InvalidCredentialsError('Credentials file cannot be symbolic link')and remove line 15:from oauth2client.file import CredentialsFileSymbolicLinkError—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Related - Getting below when trying to run anything out of pydrive.auth
 File "C:\Python27\lib\site-packages\pydrive\auth.py", line 17, in <module>     from oauth2client.util import scopes_to_string ImportError: No module named util
Basesd on discussion on the pydrive issues forum util has been merged into the "private" _helpers module.

Status update? I know the IOError replacement is only a stop-gap. What needs to be checked for oauth2client 4.0.0 compatibility from a testing standpoint?

The current pydrive seems to be compatible with this older google api python client package.

Quick update: The plan is to add the oauth dependency explicitly to setup.py, fix incompatibilities until all tests pass. I will not be able to do this in the next days.
If any of you have time to fix these errors (which would be amazing), I will review PRs asap (<24hrs).

PR here

@keliomer thank you so much for the PR. I have reviewed and merged it (althouh GitHub doesn't seem to recognize it :( ). I'll leave this issue open until the new version is pushed to PyPI.

Alright, the new version is live on PyPI - crises averted. Thank you again for all of your input!

This works great now.
Thanks a lot.

File "/opt/python/run/venv/lib/python2.7/site-packages/pydrive/auth.py", line 224, in LocalWebserverAuth
[Fri Oct 06 06:56:53.809651 2017] [:error] [pid 21696]     raise AuthenticationError()
[Fri Oct 06 06:56:53.809653 2017] [:error] [pid 21696] AuthenticationError
[Fri Oct 06 06:57:11.600320 2017] [:error] [pid 21696] Failed to start a local web server. Please check your firewall
[Fri Oct 06 06:57:11.600350 2017] [:error] [pid 21696] settings and locally running programs that may be blocking or
[Fri Oct 06 06:57:11.600355 2017] [:error] [pid 21696] using configured ports. Default ports are 8080 and 8090.
anyone know how to resolve this issue?


Complete Activity Log System

Issue/Task Number: 463
closes #463
Overview
This PR completes the Activity Log system (formerly known as Audit system) added for users to the whole system to keep track of all data changes (insert, update, delete). The logic has now been split into its own sub application, the ActivityLogger. Due to the need of its usage in both the EWalletDB and the EWalletConfig (to keep track of changes to the settings), the move to a new sub application was required.
To reduce the amount of duplicated code between sub applications, a new sub app, named Utils, has also been introduced and can be used by any other sub app. It contains modules that don't deal with business logic and can be reused throughout the application.
This is a big PR. Changes had to be made to every single sub application due to the nature of the feature. Luckily, the commits have been split in a way that reviewing the changes shouldn't be too annoying, since each sub app gets its own commit (yeah, I rewrote the history and went down from 25+ meaningless commits with stuff moving around all the time to those 10 digestible (yet big) commits.
Changes & Implementation Details

The main change is the introduction of the ActivityLog system, which tracks changes to records and who is responsible for them. Currently, this system does not involve reversing to previous states but it could be implemented easily on top of the existing feature.

Changes have been made to tests throughout the application to add the new mandatory parameter, originator. Any record supported by the system (and defined in the configuration) can be passed to the originator field. %ActivityLogger.System{} and %EWalletDB.Seeder{} can also be used in tests and seeds, respectively.

I originally wanted to keep the ActivityLog sub app completely separated with its own GenServer receiving log requests and storing them asynchronously, without increasing the duration of the requests. Sadly, due to the complexity of having asynchronous features spanning multiple sub-applications, I had to give up for now. Doing it for the EWalletConfig sub-app was a requirement due to the state that needs to be kept (the list of sub-apps that need their configs to be refreshed), but here we don't have any state. Therefore, simply calling the insert synchronously is "good enough" (yet unsatisfying). I'd like us to revisit this in the future.

Note that adding one GenServer running in the ActivityLogger sub-application is easy - the problems rise when running the tests. Due to some weird ExUnit stuff, it doesn't seem possible to reuse the GenServer started as part of another sub-application, so it becomes necessary to boot a new GenServer for each test. That's what we did for the configuration system and it was alright, because it could be done in the setup step by initiating a new GenServer, getting its PID, initiating the configuration with that specific PID and doing any update by passing that PID every time.
Doing the same thing for the Activity Log system would require being able to pass that PID for every single call: controllers, gates, etc. We would have to send the PID of the Activity Log server to use to the controllers which would send it all the way down to the schemas which finally call the ActivityLogger functions through their Repos.
If anyone has any suggestions, I'm all ear.
Usage
The system is meant to be as easy to use as possible. Here are the steps to add it to a new schemas.

Make sure the schema has a log type, defined in the application.ex of the sub-app:

    ActivityLogger.configure(%{
      EWalletDB.Seeder => "seeder",
      EWalletDB.User => "user",
      EWalletDB.Invite => "invite",
      EWalletDB.Key => "key",
      EWalletDB.ForgetPasswordRequest => "forget_password_request",
      EWalletDB.UpdateEmailRequest => "update_email_request",
      EWalletDB.AccountUser => "account_user",
      EWalletDB.Transaction => "transaction",
      EWalletDB.Mint => "mint",
      EWalletDB.TransactionRequest => "transaction_request",
      EWalletDB.TransactionConsumption => "transaction_consumption",
      EWalletDB.Account => "account",
      EWalletDB.Category => "category",
      EWalletDB.ExchangePair => "exchange_pair",
      EWalletDB.Wallet => "wallet",
      EWalletDB.Membership => "membership",
      EWalletDB.AuthToken => "auth_token",
      EWalletDB.APIKey => "api_key",
      EWalletDB.Token => "token",
      EWalletDB.Role => "role"
    })

Use the ActivityLogger.ActivityRepo in your Repo

defmodule EWalletDB.Repo do
  use Ecto.Repo, otp_app: :ewallet_db
  use ActivityLogger.ActivityRepo, repo: EWalletDB.Repo

  # ...
end

Use ActivityLogger.ActivityLogging in your schema

defmodule MySchema do
  use ActivityLogger.ActivityLogging
  # ...
end

Add activity_logging() in the schema definition

  schema "account" do
    external_id(prefix: "acc_")

    # ...

    timestamps()
    activity_logging()
  end

Use cast_and_validate_required_for_activity_log in your changesets

  defp changeset(%MySchema{} = schema, attrs) do
    account
    |> cast_and_validate_required_for_activity_log(
      attrs, # attributes
      [:name, :description], # fields to cast
      [:name] # fields that are required, optional
      [:encrypted_stuff] # fields that are encrypted, optional
    )

This function will check for the originator.

Use the new Repo functions

insert: Repo.insert_record_with_activity_log(changeset)
update: Repo.update_record_with_activity_log(changeset)
delete: Repo.delete_record_with_activity_log(changeset)
Finished reading the wall of text above

[x] O
[x] Sirn
[x] Med
[x] Jar

Review

Utils sub app

[x] O
[x] Sirn
[x] Med
[ ] Jar

ActivityLogger sub app

[x] O
[x] Sirn
[x] Med
[ ] Jar

ActivityLogger in EWalletDB

[x] O
[ ] Sirn
[x] Med
[ ] Jar

Remove uneeded originator from EWalletDB

[x] O
[ ] Sirn
[x] Med
[ ] Jar

ActivityLogger in EWallet

[x] O
[ ] Sirn
[x] Med
[ ] Jar

ActivityLogger in EWallet API

[x] O
[ ] Sirn
[x] Med
[ ] Jar

ActivityLogger in Admin API

[x] O
[ ] Sirn
[x] Med
[ ] Jar

ActivityLogger in EWalletConfig

[x] O
[ ] Sirn
[x] Med
[ ] Jar

ActivityLogger in EWalletDB Seeds

[x] O
[ ] Sirn
[x] Med
[ ] Jar

To Do

[x] Handle encrypted fields properly in every schema

An endpoint to retrieve those logs will be added in another PR.

@T-Dnzt only minor comments left

Added log test in controller, please check this commit
Fixed comments in PR, please check this commit

Can we add some tests to ActivityLogger.ActivityLogTest?

ActivityLog.insert/1 (it's being tested indirectly through TestDocument.insert/1 and TestUser.insert/1 right now but I think it's nice to have direct tests on the function)
Add a test that ActivityLog.insert/1 removes changes[:prevent_saving] from fields and encrypted fields.


[BUG] send_notification not sending a notification on gnome 40.2.0

Bug description
I'm trying to send a notification with send_notification. The click registers since clicked is printed, but no notification shows up.
use gtk::gio::Notification;
use gtk::glib;
use gtk::prelude::*;

fn build_ui(application: &gtk::Application) {
    let window = gtk::ApplicationWindow::new(application);

    window.set_title("First GTK+ Program");
    window.set_border_width(10);
    window.set_position(gtk::WindowPosition::Center);
    window.set_default_size(350, 70);

    let button = gtk::Button::with_label("Click me!");
    button.connect_clicked(glib::clone!(@weak application => move |_| {
        let app = &application;
        println!("clicked");
        let notification = Notification::new("foo");
        app.send_notification(None, &notification);
    }));

    window.add(&button);

    window.show_all();
}

fn main() {
    let application =
        gtk::Application::new(Some("com.github.gtk-rs.examples.basic"), Default::default());

    application.connect_activate(build_ui);

    application.run();
}

Duplicate of #522


footer ui is changed

Pull Request Format
PR Title
Issue #199  : *I want to improve the footer ** solved
Type of PR

Add X in the box to specify the improvement type.
[ ] Bug fix
[X] Feature enhancement
[ ] Documentation update
[ ] Other (specify): ___________

Description
This pull request aims to [briefly describe what the pull request does, e.g., "add a new feature," "fix a bug," "improve documentation," etc.].
I had changed the footer Ui
Screenshots / Videos (if applicable)
Before:

[Describe the state before the changes, e.g., "The section headings in the footer were misaligned, leading to an inconsistent and cluttered appearance."]

After:

[Describe the state after the changes, e.g., "The section headings in the footer are now properly aligned, providing a clean and professional look."]

Checklist

Add X in the box to specify.
[X] I have performed a self-review of my code.
[x ] I have tested the changes thoroughly before submitting this pull request.
[ x] I have provided relevant issue numbers, screenshots, and videos after making the changes.
[ x] I have commented my code, particularly in hard-to-understand areas.

Additional Context
[Provide any additional context about the changes, such as specific challenges you faced or decisions you made. This can help reviewers understand the rationale behind your changes.]
Thank you for reviewing my pull request!

No need to add too much social links.


Disable GHA unit tests on push to branch, limit only to PR

I have been noticing that unit tests have been running twice on during the merge process:

In the PR itself on each commit
After merging from contributor branch X to dev/bugfix/master

This is redundant and clogs the actions queue.
I suspect this may also fix the helm lint tests on master since the primary reason for failing is that the test is running post merge to master (checking master helm version for an increased helm version after it has already been bumped)

Good catch.


Adding a new GET api in Microsoft.Network for ServiceTags, with pagination

MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Contribution checklist:

[Y ] I commit to follow the Breaking Change Policy of “no breaking changes
[Y ] I have reviewed the documentation for the workflow.
[ Y] Validation tools were run on swagger spec(s) and errors have all been fixed in this PR. How to fix?

If any further question about AME onboarding or validation tools, please view the FAQ.
ARM API Review Checklist

[ Y] Ensure to check this box if one of the following scenarios meet updates in the PR, so that label “WaitForARMFeedback” will be added automatically to involve ARM API Review. Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs, all “removals” and “adding a new property” no more require ARM API review.

Adding new API(s)
Adding a new API version
Adding a new service

[ ] If you are blocked on ARM review and want to get the PR merged with urgency, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.

Breaking Change Review Checklist
If there are following updates in the PR, ensure to request an approval from API Review Board as defined in the Breaking Change Policy.

[ ] Removing API(s) in stable version
[ ] Removing properties in stable version
[ ] Removing API version(s) in stable version
[ ] Updating API in stable version with Breaking Change Validation errors
[ ] Updating API(s) in preview over 1 year

Please follow the link to find more details on PR review process.

/azp run automation - sdk

This is a draft PR for confirming the changes for adding a new service for getting ServiceTag details from NRP. This new api would support pagination, as per ARM-RP contract.

/azp run

/azp run automation - sdk

/azp run

Hi, @guptas14. The PR has be closed for a long time and it's related branch still exist. If no further used for over 14 days, I will delete this related branch. Please tell me if you still need this branch.

Hi, @guptas14. The PR has be closed for a long time and it's related branch still exist. Please tell me if you still need this branch or i will delete it in 14 days.

Hi, @guptas14. The PR has be closed for a long time and it's related branch still exist. Please tell me if you still need this branch or i will delete it in 14 days.

Hi, @guptas14. The PR has be closed for a long time and it's related branch still exist. Please tell me if you still need this branch or i will delete it in 14 days.


App title bar

The goal of this change was to validate and take advantage of NavigationView's new IsTitleBarAutoPaddingEnabled API. To make the app title bar look seamless, I ended up rewriting most of the What's New page, primarily to avoid having the app title overlap with the page content.
Description

I would particularly appreciate some feedback about NewControlsPage, especially its code behind.

Added a gradient over the hero image on All and New controls pages to keep app title legible.
Tightened up margins and fixed some visual alignment issues
Deleted useless state groups from PageHeader

I'm still not happy with the appearance of the app in the most narrow widths, will try to tackle that in a later PR.
Motivation and Context

Fixes #141
How Has This Been Tested?

Manually verified on desktop at different app widths and themes
Screenshots (if appropriate):
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

@chingucoding, do you by any chance have time to provide feedback?

@chingucoding, do you by any chance have time to provide feedback?

Yes, sure.

Thank you @chingucoding, I really appreciate your time. Your feedback is addressed with the latest commit.

Thank you @chingucoding, I really appreciate your time. Your feedback is addressed with the latest commit.

Thanky you @YuliKl for asking me for feedback 😄

@stmoy I've sync'ed to master, including the change you made to the nuget package version. Can you merge this PR if you approve of the changes?

The scrollbar appears below the header rectangle on the All Controls page, meaning the scroll thumb can't be interacted with by default since the rectangle eats the input. Is this new with this change or an existing bug?

The scrollbar appears below the header rectangle on the Whats New & All Controls pages, meaning the scroll thumb can't be interacted with by default since the rectangle eats the input. Is this new with this change or an existing bug?

Good find. This was actually a problem in the All Controls page before, but not in the New Controls page. Now fixed on both (when I push out a new iteration)


Update binary corruption detection to be more flexible

What does this PR do?
When trying to use the migration script to migrate from version 1.2.0 to 1.3.1, I encountered the "Meilisearch binary is corrupted" error message. My binary wasn't corrupted however, it was just that it contained a different text after ELF 64-bit LSB. Will checking just for ELF 64-bit LSB be enough to verify the binary?
PR checklist
Please check if your PR fulfills the following requirements:

[x] Does this PR fix an existing issue, or have you listed the changes applied in the PR description (and why they are needed)?
[x] Have you read the contributing guidelines?
[x] Have you made sure that the title is accurate and descriptive of the changes?

bors merge

@brunoocasali,
There is no Bors on this repo 😄


Save All doesn't include active document

VSCode Version: Code 1.6.1 (9e4e44c19e393803e2b05fe2323cf4ed7e36880e, 2016-10-13T15:27:10.246Z)
OS Version: Darwin x64 16.0.0
Extensions: Kasik96.format-indent-1.3.0, Telerik.nativescript-0.3.1, dbankier.vscode-instant-markdown-0.1.0, donjayamanne.python-0.5.0, ikappas.phpcs-0.6.1, lonefy.vscode-JS-CSS-HTML-formatter-0.2.1, makao.phpcsfixer-0.0.1, mohsen1.prettify-json-0.0.3, ms-vscode.PowerShell-0.7.2, wwwalkerrun.nativescript-ng2-snippets-1.2.0

Steps to Reproduce:

Open up multiple files in the editor and make changes to all of them, but do not save them.
Note how all of the files have the dot icon indicating.
Select one of the files that are open to make it the "active" file.
From the menu, select "Save All"

Expected result: The circle icon is removed from all files since they have all been saved.
Actual result: The circle icon is removed from all files except the active file. It also appears that some code that was stored in the clipboard was automatically pasted in.
Notes:
As an added means of verification, I've been using the NativeScript livesync feature and noted that all of the changes appear in the synchronized app simulator, except for the active file.
After performing an undo action on the active file, to remove the odd content pasted into the status of the file goes to the "unchanged" status. It could be that the file is actually saving, but then a paste command is erroneously being executed by the app.
I hope this helps. Keep up the great work. I love VS Code!

I wonder if this issue is being caused by an installed extension. Can you try to run VS Code without extensions? From the command line, execute: code --disable-extensions and try your steps again to see if it reproduces. If you see it is an issue with the extension, please file it against the extension repository itself.

The --disable-extensions argument keeps coming back with an "unrecognized option" error. Does it matter that my main shell is ZSH or not?

I went ahead and deleted all of my extensions and was not able to replicate the issue. I'll go ahead and close this bug and re-open in the appropriate extensions section when I track down which one is the culprit.
Thanks!

@Dillie-O weird to hear you cannot use --disable-extensions, it should work in any terminal.

Yeah, works in Win10 but not macOS Sierra and I verified both versions were up to date
Sent with Outlookhttps://aka.ms/qtex0l for iOS
On Mon, Oct 24, 2016 at 9:13 PM -0700, "Benjamin Pasero" <notifications<EMAIL_ADDRESS>wrote:
@Dillie-Ohttps://github.com/Dillie-O weird to hear you cannot use --disable-extensions, it should work in any terminal.

You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/Microsoft/vscode/issues/14308#issuecomment-255931605, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AA8g6jimq1GRg-mjNX1fyYEL5DgMgkywks5q3YH1gaJpZM4KfCNM.

@Dillie-O please report this as a new issue.

Done. See issue #14545


fluidd: 1.17.1 -> 1.17.2

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/cadriel/fluidd/releases.
meta.description for fluidd is: "Klipper web interface"
meta.homepage for fluidd is: "https://docs.fluidd.xyz"
meta.changelog for fluidd is: ""
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS

The tests defined in passthru.tests, if any, passed

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 1.17.2 with grep in /nix/store/2gd2nczsmy6b75bxra5yqw60hrqjrpp4-fluidd-1.17.2

found 1.17.2 in filename of file in /nix/store/2gd2nczsmy6b75bxra5yqw60hrqjrpp4-fluidd-1.17.2

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

1 x86_64-linux rebuild(s)
0 x86_64-darwin rebuild(s)

First fifty rebuilds by attrpath
fluidd

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/2gd2nczsmy6b75bxra5yqw60hrqjrpp4-fluidd-1.17.2 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A fluidd https://github.com/r-ryantm/nixpkgs/archive/ff15d08681f22613392f7d9cba700c2fa6eb5641.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/2gd2nczsmy6b75bxra5yqw60hrqjrpp4-fluidd-1.17.2
ls -la /nix/store/2gd2nczsmy6b75bxra5yqw60hrqjrpp4-fluidd-1.17.2/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

fluidd

Maintainer pings
cc @zhaofengli for testing.

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

1 package built:

fluidd


Add lightness option

Adds a lightness option (manually set the white level instead of automatically correcting it based on the histogram).
This is a bit weird, because it's an absolute option in dcraw / libraw, but darkness is addative (ontop of whatever the automatic value is), and even thought they're not really the same thing you'd sort of expect them to behave the same way.
Maybe we should set this to the automatic value, and then add whatever the user sets (including negative) to that so that they're the same? Or make darkness automatic unless the user sets it and then make it absolute.

Coverage remained the same at 100.0% when pulling c341dc4119ce2bdc1922cfa11c340cf3a86617a1 on SamWhited:lightness_option into eccc8c4862a21b13e4cccc527bd7f532e1a85b7d on photoshell:master.

Coverage remained the same at 100.0% when pulling c341dc4119ce2bdc1922cfa11c340cf3a86617a1 on SamWhited:lightness_option into eccc8c4862a21b13e4cccc527bd7f532e1a85b7d on photoshell:master.

Coverage remained the same at 100.0% when pulling c341dc4119ce2bdc1922cfa11c340cf3a86617a1 on SamWhited:lightness_option into eccc8c4862a21b13e4cccc527bd7f532e1a85b7d on photoshell:master.

Merged this for now. We can normalize later.


Non-english transcription seems to be not working

Trying to transcribe Russian sound results in English characters in the output. Am I doing anything wrong here?

Thanks, better now


Fix #161

Tested on rM 2 (both in a non-oxide app as well as in xochitl).

:heavy_check_mark: Multiple unlocks work now perfectly with AND without a pin!

When unlocking without any pin, it takes about 3 seconds (going through a black screen with oxides top bar). But it now unlocks reliable beyond the 1 lock/unlock!!!


Error creating devcontainer

I get an error message when starting the container.
How can I solve the problem?

Are you really using the latest commit?

Oops. Too fast.
Just noticed that you are using the devcontainer.
I haven‘t fixed that yet. Will do that asap. Stay tuned…

I also had this for the regular build.
I have fixed this by using the option „--break-system-packages“.

Add this option here: https://github.com/nanosonde/sip2rtsp/blob/c36cb1e7b5a125fbf3db1ef144f46446abd33a46/Dockerfile#L122

that already exists

that already exists

pip3 install --break-system-packages -r requirements-dev.txt
Would be correct. I have just fixed in the main branch.

Ok thanks it works now.
I'm having trouble configuring it.
How can I set up the test source in scrypted?

Just install the ONVIF plugin and manually add an ONVIF camera.
Use the IP of the docker host and your configured ONVIF port. Default is 10101.
Enter this in scrypted.

I wonder what you currently want to do?
If you are using the devcontainer, then the sip2rtsp python service is not started.
This container is for development purposes for the python code.
Here you would have to manually start the python service with python3 -m sip2rtsp.
But you do not need to use that if you do not plan to develop something.
Just checkout the repo and run make run or make run_shell to run everything.


removed tina

closes #71
Removed .tina module and dependency from package.json
changed __app.js to not use tina
Edited gitignore to not commit lock files but they still got committed somehow...

good try


Tamagui styling looks a little off in production

The shadows and border look too thick.

Currently investigating.

fixed in new verisons of tamagui


[BUG]Cancel button doesn't function.

Issue: Cancel button doesn't function.
Browser Details: Chrome Version 85.0.4183.102 (Official Build) (64-bit)
Device Details: macOS 10.15.6 (MacBook Pro)
Note: Tried on cloud.
Steps to replicate:

Login https://app.appsmith.com/user/login
Go to Customer Support Dashboard --> launch --> Select User --> View User --> Edit --> cancel

Actual Result: Cancel button doesn't work

Support dashboard is an example and the Cancel button doesn't have an action attached to it. Not a bug (See attached below)

Cc: @Nikhil-Nandagopal

Thanks for the clarification. This is not a bug.

Thanks @harishkotra and @Saket2
Closing the issue


CI: test build on actual no_std platforms

Guess these aren't going to work for now due to the use of OsRng


Remove old upload path

The useUploadDomain approach is now fully enabled
Merge / deployment checklist

[ ] Confirm this change is backwards compatible with existing workflows.
[ ] Confirm the readme has been updated if necessary.
[ ] Confirm the changelog has been updated if necessary.

I still have to update the tests to match this one.

Ah, only just saw your comment :)


:book: Update design document

https://github.com/rook/rook/pull/9444#discussion_r1506474809

https://github.com/rook/rook/pull/13807/commits/241bb57ab0f6ea8b6bf7b73afc7e75420f2024b8


Add Authy's 2FA mbile app support

Integrate Authy's 2FA for user and sessions.

e72e9837c8b33afe2828a7819908d276cb98d500


Fix export error in rootSaga section of tutorial

The original tutorial shows the rootSaga function being exported via export default. For beginners, docs don't specify you need to remove the export keyword from incrementAsync and watchIncrementAsync functions in sagas.js if you're going to use export default function* rootSaga().

Thanks for the PR. Im wondering if doing those snippets with diff would be beneficial, like:
-export function* incrementAsync() {
+function* incrementAsync() {
  yield delay(1000)
  yield put({ type: 'INCREMENT' })
}

Thanks for merging it! I leave the diff up to your good judgment!


Update OWNERS_ALIASES

Issue #, if available: N/A
Description of changes:
Add service team members as OWNERS
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

/verify-owners

/lgtm


fix(bug): Component doesn't load if top is equal to scrollTop + windo…

fixes issue #14

Thanks again! Will get this updated on NPM tonight

bump


[song-directory-to-songbook] input -> PDF title

[song-directory-to-songbook] input -> PDF title

Done at c55019b9e9b8dcd7a57b8e65d6711c67d54553e2


Plugin does not work in ios 9 after the phone locks.

My app must keep playing sounds in background mode. This works pretty well in ios 8  but in ios 9 after the phone lock, the sound keeps playing for one minute and after this time, it stops.   It works in iphone simulator but not in the real device.
After I lock the device, the sound keeps playing for about 1 minute and after this, the sound stops.
The log says:
Message from debugger: Terminated due to signal 9.
The issue happens only in ios >= 9.x

Having the same issue...

Actually the problem wasn't in the plugin. The problem was that when my app entered in bkg mode it was using some interface resources and iOS 9 now kill all process that consume resources in bkg mode. See if your app is using graphic resources or another kind of non-sound resources in bkg mode.

David,
That's super helpful. Thank you for the quick reply!
I have a feeling I know where to look in our app.
Best,

Tom

On Mon, Dec 14, 2015 at 3:50 PM David<EMAIL_ADDRESS>wrote:

Actually the problem wasn't in the plugin. The problem was that when my
app entered in bkg mode it was using some interface resources and iOS 9 now
kill all process that consume resources in bkg mode. See if your app is
using graphic resources or another kind of non-sound resources in bkg mode.
—
Reply to this email directly or view it on GitHub
https://github.com/katzer/cordova-plugin-background-mode/issues/117#issuecomment-164597245
.

Double check if your page uses animated gifs, videos or any other kind of graphics.   The solution is remove theses resources while the app is running in background mode.

That is entirely possible.
In addition, we have some pollers that are still alive when in the
background... we had thought that the app going into the background
effectively paused the whole JavaScript engine, but that is certainly not
the case from what I am seeing. Could be an iOS9 thing, or could be that we
enabled background audio.
Thanks,

Tom

On Mon, Dec 14, 2015 at 5:08 PM David<EMAIL_ADDRESS>wrote:

Double check if your page uses animated gifs, videos or any other kind of
graphics.  The
solution is remove theses resources while the app is running in background
mode.
—
Reply to this email directly or view it on GitHub
https://github.com/katzer/cordova-plugin-background-mode/issues/117#issuecomment-164609500
.

Yes, iOS 9 handles background mode in a completely different approach compared to previous versions. Guess you can fix the problem pausing these non-sound features. Good luck, bro!

Another important hint: In Xcode, click on "Show the debug navigator" button to check the CPU usage of your app.  When you app enter in background mode, if you are using any non-sound resources, the CPU meter will increase highly and iOS 9 will kill your process. So you will get the "Terminated due to signal 9." error.  That's mean the operational system kill your process.


Rewrite Postgres size query and add postgresql.relation.{tuples,pages,all_visible} + toast_size metrics

What does this PR do?

Change metric: postgresql.table_size now only reports the size of the main table (removing toast size, fsm and vm)
Report postgresql.toast_size as table_size + index_size + toast_size.
New metric: postgresql.toast_size reports the size of the associated toast table
Optimise the query to lower the amount of stat calls
Add a tag_none type which doesn't report the tag if the value is none
Add a partition_of tag if the table is a partition

Motivation
Size metrics needs to call admin function pg_table_size/pg_indexes_size/pg_total_relation_size. Those functions will generate multiple stat syscall behind the hood (see dbsize.c) to get the size of the files on disk which can be expensive with a high number of relation.
We also want to keep the precision of how much of the table is stored in toast table or not.
We manually compute the total to avoid the call to pg_total_relation_size, this will effectively divide the number of stat calls by 2.
We rely on pg_relation_size instead of pg_table_size. pg_relation_size don't include the toast so we can generate toast size and table size in different metric. We lose the size of FSM and VM but their sizes are generally dwarfed by the main table and it's a good trade off to skip those to save stat calls.
pg_indexes_size and pg_relation_size calls still need to lock the relation. We know from relhasindex and reltoastrelid if a relation has indexes or a toast table so we can only call the functions only when necessary.
tag_none has been created to only report the tag partition_of when the table is a partition. Normal tables should not report the tag at all.
Benchmarks and timings
Old query
explain analyze SELECT
  N.nspname,
  relname,
  pg_table_size(C.oid) as table_size,
  pg_indexes_size(C.oid) as index_size,
  pg_total_relation_size(C.oid) as total_size
FROM pg_class C
LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace)
WHERE nspname NOT IN ('pg_catalog', 'information_schema') AND
  nspname !~ '^pg_toast' AND
  relkind = 'r';
                                                       QUERY PLAN
-------------------------------------------------------------------------------------------------------------------------
 Hash Join  (cost=7.26..1521.93 rows=284 width=152) (actual time=0.214..23.036 rows=325 loops=1)
   Hash Cond: (c.relnamespace = n.oid)
   ->  Seq Scan on pg_class c  (cost=0.00..1511.11 rows=391 width=72) (actual time=0.009..1.365 rows=391 loops=1)
         Filter: (relkind = 'r'::"char")
         Rows Removed by Filter: 1940
   ->  Hash  (cost=7.17..7.17 rows=8 width=68) (actual time=0.025..0.025 rows=8 loops=1)
         Buckets: 1024  Batches: 1  Memory Usage: 9kB
         ->  Seq Scan on pg_namespace n  (cost=0.00..7.17 rows=8 width=68) (actual time=0.008..0.021 rows=8 loops=1)
               Filter: ((nspname <> ALL ('{pg_catalog,information_schema}'::name[])) AND (nspname !~ '^pg_toast'::text))
               Rows Removed by Filter: 3
 Planning Time: 0.151 ms
 Execution Time: 23.081 ms

stat calls
strace -e trace=newfstatat -p $(pgrep -f "postgres.*idle") -c
strace: Process 62163 attached
^Cstrace: Process 62163 detached
% time     seconds  usecs/call     calls    errors syscall
------ ----------- ----------- --------- --------- ----------------
  0.00    0.000000           0        86        56 newfstatat
------ ----------- ----------- --------- --------- ----------------
100.00    0.000000           0        86        56 total

New query
 explain analyze SELECT current_database(),
       s.schemaname, s.table, s.parent_table_name,
       s.relpages, s.reltuples, s.relallvisible,
       s.table_size, s.index_size, s.toast_size, s.table_size + s.index_size + s.toast_size
FROM
    (SELECT
      N.nspname as schemaname,
      relname as table,
      I.inhparent::regclass AS parent_table_name,
      C.relpages,
      C.reltuples,
      C.relallvisible,
      pg_relation_size(C.oid) as table_size,
      CASE WHEN C.relhasindex THEN pg_indexes_size(C.oid) ELSE 0 END as index_size,
      CASE WHEN C.reltoastrelid > 0 THEN pg_relation_size(C.reltoastrelid) ELSE 0 END as toast_size
    FROM pg_class C
    LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace)
    LEFT JOIN pg_inherits I ON (I.inhrelid = C.oid)
    WHERE NOT (nspname = ANY('{pg_catalog,information_schema}')) AND
      relkind = 'r') as s;
                                                             QUERY PLAN
------------------------------------------------------------------------------------------------------------------------------------
 Subquery Scan on s  (cost=1523.25..1569.24 rows=320 width=240) (actual time=1.446..10.677 rows=325 loops=1)
   ->  Hash Join  (cost=1523.25..1563.64 rows=320 width=168) (actual time=1.444..10.563 rows=325 loops=1)
         Hash Cond: (c.relnamespace = n.oid)
         ->  Hash Right Join  (cost=1516.00..1551.77 rows=391 width=93) (actual time=1.366..1.454 rows=391 loops=1)
               Hash Cond: (i.inhrelid = c.oid)
               ->  Seq Scan on pg_inherits i  (cost=0.00..30.40 rows=2040 width=8) (actual time=0.002..0.002 rows=0 loops=1)
               ->  Hash  (cost=1511.11..1511.11 rows=391 width=89) (actual time=1.360..1.361 rows=391 loops=1)
                     Buckets: 1024  Batches: 1  Memory Usage: 56kB
                     ->  Seq Scan on pg_class c  (cost=0.00..1511.11 rows=391 width=89) (actual time=0.007..1.284 rows=391 loops=1)
                           Filter: (relkind = 'r'::"char")
                           Rows Removed by Filter: 1940
         ->  Hash  (cost=7.14..7.14 rows=9 width=68) (actual time=0.020..0.021 rows=9 loops=1)
               Buckets: 1024  Batches: 1  Memory Usage: 9kB
               ->  Seq Scan on pg_namespace n  (cost=0.00..7.14 rows=9 width=68) (actual time=0.007..0.017 rows=9 loops=1)
                     Filter: (nspname <> ALL ('{pg_catalog,information_schema}'::name[]))
                     Rows Removed by Filter: 2
 Planning Time: 0.239 ms
 Execution Time: 10.730 ms
(18 rows)

Stat calls
strace -e trace=newfstatat -p $(pgrep -f "postgres.*idle") -c
strace: Process 62163 attached
^Cstrace: Process 62163 detached
% time     seconds  usecs/call     calls    errors syscall
------ ----------- ----------- --------- --------- ----------------
  0.00    0.000000           0        23        16 newfstatat
------ ----------- ----------- --------- --------- ----------------
100.00    0.000000           0        23        16 total

We went from 86 stat calls to 23
Additional Notes

Review checklist (to be filled by reviewers)

[ ] Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
[ ] PR title must be written as a CHANGELOG entry (see why)
[ ] Files changes must correspond to the primary purpose of the PR as described in the title (small unrelated changes should have their own PR)
[ ] PR must have changelog/ and integration/ labels attached
[ ] If the PR doesn't need to be tested during QA, please add a qa/skip-qa label.

For my education, the flag -f "postgres.*idle", why is idle in there?

For my education, the flag -f "postgres.*idle", why is idle in there?

I wanted to look at the backend process matching the psql session which will run the query I'm testing.
If you check all processes with a postgres's name, you're gonna match all postgres's processes + psql backend process
pgrep -a -f "postgres:"
1017179 postgres: checkpointer
1017180 postgres: background writer
1017182 postgres: walwriter
1017183 postgres: autovacuum launcher
1017184 postgres: logical replication launcher
1826329 postgres: postgres postgres [local] idle

An idle session will be tagged as idle in the process name so the "postgres.*idle" allowed me to match the backend process of the psql session I have opened.
pgrep -a -f "postgres.*idle"
1826329 postgres: postgres postgres [local] idle

@bonnefoa thanks for doing this. Is this going to superseed #14156 and #14056 ? (cc @flipenergy)

Here are perf before and after the patch

Time spent InterpExpr went from 87% to 56%


Skip config.ini step in Docker instructions

Fix #124 (and make Docker instructions more coherent with non-Docker instructions).

Damn it.  Should I kill that and start a new PR?


tagged literals from dependencies don't work

e.g. if your project depends on datomic and you try try to evaluate #db/id[:db/user -1000]

Moved to https://github.com/LightTable/Clojure/issues/64


I cant install required packages

I did run
Install required packages
but,looks like
/root
fatal: destination path 'models' already exists and is not an empty directory.
/root/models/research
Traceback (most recent call last):
File "object_detection/builders/model_builder_test.py", line 23, in
from object_detection.builders import model_builder
ModuleNotFoundError: No module named 'object_detection'
and
I did
%cd
!git clone --quiet https://github.com/tensorflow/models.git
!apt-get install -qq protobuf-compiler python-tk
!pip install -q Cython contextlib2 pillow lxml matplotlib PyDrive
!pip install -q pycocotools
%cd ~/models/research
!protoc object_detection/protos/*.proto --python_out=.
import os
os.environ['PYTHONPATH'] += ':/content/models/research/:/content/models/research/slim/'
%cd ~/models/research
!python setup.py build
!python setup.py install
%cd ~/models/research/slim
!pip install -e
!export PYTHONPATH=$PYTHONPATH:pwd:pwd/slim
%cd ~/models/research
!python object_detection/builders/model_builder_test.py
but,looks like
Traceback (most recent call last):
File "object_detection/builders/model_builder_test.py", line 23, in
from object_detection.builders import model_builder
File "/usr/local/lib/python3.6/dist-packages/object_detection-0.1-py3.6.egg/object_detection/builders/model_builder.py", line 35, in
from object_detection.models import faster_rcnn_inception_resnet_v2_feature_extractor as frcnn_inc_res
File "/usr/local/lib/python3.6/dist-packages/object_detection-0.1-py3.6.egg/object_detection/models/faster_rcnn_inception_resnet_v2_feature_extractor.py", line 28, in
from nets import inception_resnet_v2
ModuleNotFoundError: No module named 'nets'

Try This one with Python 2
%cd ~
!git clone --quiet https://github.com/tensorflow/models.git
!apt-get install -qq protobuf-compiler python-tk
!pip install -q Cython contextlib2 pillow lxml matplotlib PyDrive
!pip install -q pycocotools
%cd ~/models/research
!protoc object_detection/protos/*.proto --python_out=.
!python setup.py build
!python setup.py install
%cd slim
!pip install -e .
%cd ..
!python object_detection/builders/model_builder_test.py

facing issues while running tfrecord code:
!python ~/models/research/object_detection/dataset_tools/create_pet_tf_record.py --label_map_path=label_map.pbtxt --data_dir=. --output_dir=. --num_shards=1
ERROR
/root/datalab
Traceback (most recent call last):
File "/root/models/research/object_detection/dataset_tools/create_pet_tf_record.py", line 318, in
tf.app.run()
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/platform/app.py", line 125, in run
_sys.exit(main(argv))
File "/root/models/research/object_detection/dataset_tools/create_pet_tf_record.py", line 271, in main
label_map_dict = label_map_util.get_label_map_dict(FLAGS.label_map_path)
File "/usr/local/lib/python2.7/dist-packages/object_detection-0.1-py2.7.egg/object_detection/utils/label_map_util.py", line 164, in get_label_map_dict
label_map = load_labelmap(label_map_path)
File "/usr/local/lib/python2.7/dist-packages/object_detection-0.1-py2.7.egg/object_detection/utils/label_map_util.py", line 138, in load_labelmap
label_map.ParseFromString(label_map_string)
google.protobuf.message.DecodeError: Error parsing message
@RomRoc any help will be great .

Try this, just change content into root
import os
os.environ['PYTHONPATH'] += ':/root/models/research/:/root/models/research/slim/'
!set PYTHONPATH=C:\root\models\research\slim
!python object_detection/builders/model_builder_test.py
this worked for me


docker-compose Zally web UI not rendering

When running docker-compose on Mac OS, the web-ui will not render.  The Zally API server works just fine, and I'm able to get the active rules and lint my APIs.  There are no build errors when running docker-compose, and I don't see any errors in the web-ui logs
docker container ls>
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                     PORTS                              NAMES
f23c0a377db0        zally_web-ui        "node server.js"         3 minutes ago       Up 3 minutes               <IP_ADDRESS>:8080->3000/tcp             zally_web-ui_1
4462b742b339        zally_server        "/bin/sh -c 'java $(…"   3 minutes ago       Up 3 minutes (unhealthy)   <IP_ADDRESS>:8000->8000/tcp, 8080/tcp   zally_server_1
55d8f4af4219        postgres:9.6        "docker-entrypoint.s…"   3 minutes ago       Up 3 minutes               <IP_ADDRESS>:54321->5432/tcp            zally_postgres_1
docker logs zally_web-ui_1>
zally-web-ui mounted on "/"
zally-web-ui running at http://localhost:3000

I may have isolated this issue.  I modified the web UI Dockerfile to use the latest version of Node.js (version 13) and rebuilt the image.  Now the web UI renders properly.  My guess is the current version of node being referenced in the web ui Dockerfile (registry.opensource.zalan.do/stups/node:10.15.3-45) can't properly support the latest changes to the web ui, maybe due to outdated packages.  Here is the Dockerfile I used to build the working web ui image:
FROM node
MAINTAINER "http://zalando.github.io/"
COPY package.json ./
COPY yarn.lock ./
RUN npm install -g yarn
RUN yarn --production
COPY src ./src
COPY server.js ./
EXPOSE 3000
CMD ["node", "server.js"]
I would create a PR for this, but my guess is you guys will want to vendor your own updated node image instead of pulling from Docker hub.

So it may not have to do with the node version.  I did a fresh clone on my Mac with the new node version, ran ./build-and-run.sh and then the docker-compose up, and it was still the same issue.  I could only get it to work if I manually built the web-ui by running npm install and yarn build within the web-ui directory.  ./build-and-run.sh fails on my Mac because of a :dokka issue.  I'm going to close this comment as it's probably user error on my end.

I'm having an issue with dokka also.

...
Generating pages...

> Task :dokka FAILED
:dokka (Thread[Daemon worker Thread 2,5,main]) completed. Took 12.638 secs.

FAILURE: Build failed with an exception.
...

Well you’ve stopped the output just before it got interesting, but Shooting from the hip... try downgrading to Java 8 - Dokka doesn’t support javadoc format under newer java and blows up.

The latest version didn't solve the issue with web UI not rendering.


Supply arguments to debug/launch button from statusbar

Discussed in https://github.com/microsoft/vscode-cmake-tools/discussions/2407

Originally posted by s133314 March  1, 2022
I would like that if I use the debug or launch button that some arguments are automatically given (those arguments will always be the same so I just need to set them once).
So I mean when using these buttons:

Now it essentially just runs ./ConjugatedMass but I would like it to always standard be ./ConjugatedMass -c 1
And an additional question if allowed. Now from the status bar you see Release is specified, if I now press the debug button will it automatically reconfigure and recompile with Debug before starting the debug?

You should be able to pass arguments to your program by setting the following in your settings.json:
"cmake.debugConfig": {
  "args": [
    "-c",
    "1"
  ]
}


chore(main): release 0.2.1

:robot: I have created a release beep boop
0.2.1 (2023-02-02)
Bug Fixes

do not log DEBUG lines by default (#165) (5ab234a)
make logger configurable again (#166) (45712ce)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/statnett/image-scanner-operator/releases/tag/v0.2.1 :sunflower:


Cannot build sold because of the license file name

The CMake configuration seems to be looking for a LICENSE.md file, however, since the last license change, the file name changed to LICENSE.
Manually changing the file name fixes the problem.

Fixed in https://github.com/bluewhalesystems/sold/pull/45


fix(@tinacms/scripts): include all rollup dependencies

fixes #1399

Any reason was this was not merged @ncphillips ?

I went down a rabbit hole and Builds started breaking. Better to just restart


nixos/wg-quick: expose interface name in hooks

Makes the interface name available in up/down hooks in the variable i.

This doesn't seem worth the trouble since the interface name is known statically anyway...


[BEAM-9154] Ensure Chicago Taxi Example is disabled on Jenkins

In previous PR, cronJobBuilders were commented out, but cron jobs were still active. Changing PostCommitJobBuilder to PhraseTriggeringPostCommitBuilder to mitigate this behaviour.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Choose reviewer(s) and mention them in a comment (R: @username).
[x] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

@piotr-szuberski I removed unrelated change. Is everything alright?

Thank you!

Thank you!

You're welcome :)


Enable IPv6 for NixOS.org

Issue description
AWS is slowly rolling out support for VPC instances to have IPv6 and IPv4 addresses. Currently, the support is only in US-East (Ohio) but when it becomes available in the region nixos.org is hosted in,  we should support it.
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html
Users should be able to view the NixOS.org website using IPv6.

Moved: https://github.com/NixOS/nixos-homepage/issues/117


I only have 1 tab open?

Do you have any extensions? Some extensions seem to cause this issue

i do have some extensions but i paused them all and nothing changed so i dont think they're the problem

I had the exact same issue a few days ago, culprit was Pro Writing Aid extension.
Can you give us your browser version, and try to reproduce in anonymous mode?

OHHHH PRO WRITING AID- I HAVE THAT-


markdown preview cannot wrap

VSCode Version: Code 1.11.1 (d9484d12b38879b7f4cdd1150efeb2fd2c1fbf39, 2017-04-06T13:58:12.954Z)
OS Version: Windows_NT ia32 10.0.14393
Extensions:

Extension
Author
Version

java-run
caolin
1.1.4

java-debug
DSnake
0.0.2

java-properties
ithildir
0.0.1

java
redhat
0.1.0

java-imports-snippets
tushortz
0.0.1

java-snippets
tushortz
0.0.1

Steps to Reproduce:

create a new markdown fle
insert 3 lines with the same content "x" (just one char)
expected: preview displays 3 lines
actually: preview displays 1 line

Add two spaces at the end of the line, or use something like vscode-gfm-preview

We target commonmark markdown and use markdownit for rendering. #22987 tracks adding a setting for breaks (wrapping) in markdown files
Closing as duplicate of #22987. Feel free to submit a PR that adds this feature this


[CT-1471] [Bug] YAML Selectors: children: true does not work with method: selector

Is this a new bug in dbt-core?

[X] I believe this is a new bug in dbt-core
[X] I have searched the existing issues, and I could not find an existing issue for this bug

Current Behavior
As far as I can tell, children: true is ignored when used with method: selector.
selectors:
  - name: my_selector
    definition: ...
  - name: my_selector_children
    definition:
      method: selector
      value: my_selector
      children: true

The code above only selects the nodes of my_selector, not its children. (With other methods such as tag, it does select the children as expected).
Expected Behavior
Should select all the nodes of my_selector and all the children nodes.
Steps To Reproduce
Try the code in "Current Behavior"
Relevant log output
No response
Environment
- OS:
- Python:
- dbt:

Which database adapter are you using with dbt?
No response
Additional Context
No response

@seub Thanks for opening. Turns out, this is the same as the behavior described in https://github.com/dbt-labs/dbt-core/issues/5709. I specifically called out children + selector inheritance in my comment there: https://github.com/dbt-labs/dbt-core/issues/5709
Copy-pasting:

Basically, while selector inheritance allows the logic from another selector to be reused, does not allow the logic from that selector to be modified — it simply returns the complete set of nodes returned by that selector.

I agree that this strikes me as more of an enhancement request than a bug. I do think someone motivated enough might, with enough poking around this code, figure out a way to make method: selector return its set logic, rather than a finished set. In the meantime, I think the right move is to update the docs.

Let's start with the docs update: https://github.com/dbt-labs/docs.getdbt.com/pull/2386
In the meantime, I'm going to close this as a bug.


More ergonomic records

Meta: Task: Expand
Current design #18, #42 (here with #102 implemented):
@public
data Thing (A: Type): Type of
    thing 'A
        (::foo: A)
        (::bar: Text): Thing A

t: Thing = Thing.thing (foo = 3) (bar = "bar")
t1: Thing = Thing.thing (foo = t::foo) (bar = t::bar ++ "!")

Proposal 0 (Nov 24, 2021)
@public
record Thing (A: Type): Type of
    foo: A
    bar: Text

-- unsure about the following syntax
t0: Thing = Thing{ (foo 3) (bar "bar") }
t1: Thing = Thing{ (bar t0::bar ++ "!") t0 }

Proposal 1 (Dec 21, 2021)
@public
data Thing (A: Type): Type record thing of
    foo: A
    bar: Text

t0: Thing = thing (foo = 3) (bar = "bar")
t1: Thing = thing 3 "bar"
t2: Thing = thing (bar = t0::bar ++ "!") (= t0::foo) ;;; no update syntax aorn

Variation 1
PRO (compared to proposal 1 baseline): We define a new binding thing and thus it should be a bit more prominent/visible. In baseline, it gets lost in the noisy line.
@public
data Thing (A: Type): Type of
    record thing of
        foo: A
        bar: Text

Variation 2
@public
data record Thing (A: Type): Type of
    thing of
        foo: A
        bar: Text

Unanswered Questions

Should record be preceded by of
Should the record constructor be namespaced?
How do record updates look like?

Note: Order of fields is part of the API anyway because fields may be dependent.

We finally have a found a good design, see #174.


fix: use standard path names for chunks

This simplifies client-config by reducing the number of patterns we need to match
Ideally this should go in before https://github.com/freeCodeCamp/client-config/pull/8 so we provide the headers immediately.

So, this should make it easier to match it with regex, right? Or am I just talking nonsense here 🤣

Essentially, yes. Every other webpacked file is, to my knowledge, of the form [name]-[contentHash], but I used [name].[contentHash] when I initially set this up and that does not match the serve config.
Unfortunately it's not actually a regex match, it's just a glob, but the principle is the same.


package-self-reference types not works

I am trying to use exports to verify package-self-reference, it works fine but  the IDE can't find the package types like

the package.json is :
{
  "name": "test-entry-ts",
  "types": "index.d.ts",
  "exports": {
    ".": {
      "types": "./index.d.ts",
      "import": "./index.mjs",
      "require": "./index.cjs"
    },
    "./a": {
 "types": "./a.d.ts",
      "import": "./a.mjs",
      "require": "./a.cjs"

    }
  },
  "typesVersions": {
    "*": {
      "a": [
        "a.d.ts"
      ],
      ".": [
        "index.d.ts"
      ]
    }
  },
  "devDependencies": {
    "@types/node": "^18.7.8",
    "typescript": "^4.7.4"
  }
}

you can find the whole directories here

also typescript can't recognize types field in exports if using as self-reference but works as node_modules

https://devblogs.microsoft.com/typescript/announcing-typescript-4-7/#package-json-exports-imports-and-self-referencing

Note that the "types" condition should always come first in "exports".

@IllusionMH  I've notice that but still not works

This might be the same as #50270.

@jakebailey my situation is  neither .ts nor .(c|t)js works
btw both module and moduleResolution are NodeNext

I'm not sure what you mean; the issue I linked only shows the bug in an mjs file.

@jakebailey
it's really wierd, I just got the same result as what you met, but it did not work(can't find type declaration) in .ts file before

btw both module and moduleResolution are NodeNext

Not for test.ts they’re not, because you put it in your tsconfig’s excludes. Errors in test.ts are coming from your editor’s default compiler options. It works when you remove that entry from excludes.


CSS fixes for the error/notice box

@mmnosek it seems that my code review was a little bit too uncautious. Today I have noticed to problems:

When I put the mouse cursor over the error text, the whole text gets underlined
The notice box is not tappable in the same way as the error box is
The <a> element is used without the href attribute, which is wrong

This PR attempts to fix all these problems.

@mmnosek, it seems that I have broken the tests. I will investigate.

Tests fixed. @mmnosek pls review :)

Merging


rework recipe to use actual cmake install

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Fixes #16

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@conda-forge-admin, please rerender

@conda-forge-admin, please rerender

Please do not merge quite yet. Given it's header only we don't need the cudatoolkit run export that's current being put in, and don't need all of the builds that are being produced now for different CUDA versions. Will get this corrected and ping for review.

@conda-forge-admin, please rerender

@rongou @leofang this should be ready for review now

Questions:

aarch64/ppc64le are gone -- we need to add custom cbc or wait for https://github.com/conda-forge/conda-forge-pinning-feedstock/pull/2527 to merge, I am fine either way
Do we really need the CUDA compiler to generate correct cmake configs?
OS X is gone too, probably due to 2. But is CUB ever usable on Mac?

aarch64/ppc64le are gone -- we need to add custom cbc or wait for Added ppc64le arch migrator for different cuda versions conda-forge-pinning-feedstock#2527 to merge, I am fine either way

I'm happy to wait. Would prefer to not have to maintain a custom cbc.

Do we really need the CUDA compiler to generate correct cmake configs?

Unfortunately yes if we want to use the existing CMake infrastructure of cub. https://github.com/NVIDIA/cub/blob/1.16.0/CMakeLists.txt#L83 --> https://github.com/NVIDIA/cub/blob/main/cmake/CubCudaConfig.cmake#L1

OS X is gone too, probably due to 2. But is CUB ever usable on Mac?

Given it's entirely dependent on CUDA, I don't believe so?

I am not sure why the migrator is not coming yet, but yeah we can do it manually.

@conda-forge-admin, please rerender

That'd explain why we haven't seen the migrator hitting most of the CUDA feedstocks... cc: @conda-forge/conda-forge-pinning

@conda-forge-admin, please rerender

@conda-forge-admin, please rerender

@conda-forge-admin, please rerender

@conda-forge-admin, please rerender

@conda-forge-admin, please rerender

I sent another patch for the migrator (https://github.com/conda-forge/conda-forge-pinning-feedstock/pull/2690) but to be honest I don't know if it'd fix the issue for us. I can't find a way to validate locally as there's no option in conda smithy rerender to turn off fetching the global pinning.

Merged that one. Also not sure that will fix the issue (though agree it should be in the migrator)
In terms of re-rendering would

Install/update conda-smithy
Make changes to this migrator file
Re-render with updates turned off

That should hopefully make it easier to iterate/test out changes

Thanks, @jakirkham. I did already try --no-check-uptodate but it's still downloading the latest pinning...
$ conda smithy rerender --no-check-uptodate
INFO:conda_smithy.configure_feedstock:Downloading conda-forge-pinning-2<IP_ADDRESS>.34.01
INFO:conda_smithy.configure_feedstock:Extracting conda-forge-pinning to /tmp/tmpfnatci88
INFO:conda_smithy.configure_feedstock:cuda_112_ppc64le_aarch64.yaml from feedstock is ignored and upstream version is used
...

Maybe also add -e with a path to the pinning file?

it seems bumping migration_number in the migrator yaml would do the trick 😁

Was about to start suggesting patches to conda-smithy 😉

If I'm interpreting things correctly, these lines look wrong: https://github.com/conda-forge/conda-forge-pinning-feedstock/blob/main/recipe/conda_build_config.yaml#L53-L54 and are causing it to not search for nvcc on aarch64 and ppc64le

Turns out we should have listened to @kkraus14... This is indeed the root cause 😞 I sent a fix: https://github.com/conda-forge/conda-forge-pinning-feedstock/pull/2695.

Would have thought the migrator change would have solved that issue. In any event glad to hear we've found a working solution 🙂
Proposed one suggested simplification to that PR

@conda-forge-admin, please rerender

Back to the game!

Back to the game!

Note: here we still keep the manual migrator. If we remove it the other two platforms would be gone.

Yes I created https://github.com/conda-forge/thrust-feedstock/issues/14 to track this need.


chore<EMAIL_ADDRESS>add testdata

https://github.com/slsa-framework/slsa-github-generator/issues/3576
Next step in
https://github.com/slsa-framework/slsa-github-generator/blob/main/RELEASE.md#update-verifier
Creating new test data for<EMAIL_ADDRESS>Instructions:
diff to download-artifacts.sh
diff --git a/download-artifacts.sh b/download-artifacts.sh
old mode 100644
new mode 100755
index e5e218e8..49257ea6
--- a/download-artifacts.sh
+++ b/download-artifacts.sh
@@ -88,6 +88,10 @@ unzip_files() {
         rm -rf "${tmp_dir}"
         ;;

+    ./*.zip)
+        unzip -o "${zip_path}" -d "${output_path}"
+        ;;
+
     *)
         echo "unexpected file path: ${zip_path}"
         exit 1
@@ -167,7 +171,7 @@ rename_java_files "test-java-project-" "maven"
 rename_java_files "workflow_dispatch-" "gradle"

 # Files downloaded. Now copy them
-repo_path="../.."
+repo_path="/path/to/slsa-verifier"

 # Go builder files.
 copy_files "gha_go-binary-linux-amd64-" "${repo_path}/cli/slsa-verifier/testdata/gha_go/${version}"

download the artifacts
../slsa-verifier/download-artifacts.sh<PHONE_NUMBER> v2.0.0
../slsa-verifier/download-artifacts.sh<PHONE_NUMBER> v2.0.0
../slsa-verifier/download-artifacts.sh<PHONE_NUMBER> v2.0.0
../slsa-verifier/download-artifacts.sh<PHONE_NUMBER> v2.0.0

docker github auth
gh auth login --scopes=read:packages
echo `gh auth token` | docker login ghcr.io -u ramonpetgrave64 --password-stdin
cosign save \
    --dir ./cli/slsa-verifier/testdata/gha_generic_container/v2.0.0/container_workflow_dispatch \
    ghcr.io/slsa-framework/example-package.verifier-e2e.all.tag.main.default.slsa3@sha256:55aee984fd6b1d0e0a19a55265d10d40063a2212bdbabd75b202b1728236548d

Test failing in CI, but passing locally.
2024-04-23T14:07:06.0587137Z Verified build using builder<EMAIL_ADDRESS>at commit 2bcaa7495e1cbd11fbd4f598d857b3a6f18df933
2024-04-23T14:07:06.0588248Z --- FAIL: Test_runVerifyGHAArtifactImage (0.00s)
2024-04-23T14:07:06.0589075Z     --- FAIL: Test_runVerifyGHAArtifactImage/versioned_tag_no_match_empty_tag_workflow_dispatch_>_v1.9.0 (0.11s)
2024-04-23T14:07:06.0590280Z         main_regression_test.go:869:   any(
2024-04-23T14:07:06.0591552Z             - 	e"expected hash 'a3e4bf251423a455ad90c3d706f95f133ed11a8e81e3f34e6fa6d056a1c15529' not found: artifact hash does not match provenance subject",
2024-04-23T14:07:06.0592595Z             + 	e"tag used to generate the binary does not match provenance",
2024-04-23T14:07:06.0593057Z               )
2024-04-23T14:07:06.0593410Z         main_regression_test.go:869:   any(
2024-04-23T14:07:06.0594628Z             - 	e"expected hash 'a3e4bf251423a455ad90c3d706f95f133ed11a8e81e3f34e6fa6d056a1c15529' not found: artifact hash does not match provenance subject",
2024-04-23T14:07:06.0595643Z             + 	e"tag used to generate the binary does not match provenance",
2024-04-23T14:07:06.0596275Z               )
2024-04-23T14:07:06.0596608Z         main_regression_test.go:869:   any(
2024-04-23T14:07:06.0597812Z             - 	e"expected hash 'a3e4bf251423a455ad90c3d706f95f133ed11a8e81e3f34e6fa6d056a1c15529' not found: artifact hash does not match provenance subject",
2024-04-23T14:07:06.0598825Z             + 	e"tag used to generate the binary does not match provenance",
2024-04-23T14:07:06.0599256Z               )
2024-04-23T14:07:06.0599595Z         main_regression_test.go:869:   any(
2024-04-23T14:07:06.0600780Z             - 	e"expected hash 'a3e4bf251423a455ad90c3d706f95f133ed11a8e81e3f34e6fa6d056a1c15529' not found: artifact hash does not match provenance subject",
2024-04-23T14:07:06.0601796Z             + 	e"tag used to generate the binary does not match provenance",
2024-04-23T14:07:06.0602235Z               )
2024-04-23T14:07:06.0602726Z     --- FAIL: Test_runVerifyGHAArtifactImage/valid_main_branch_default (0.43s)
2024-04-23T14:07:06.0603295Z         main_regression_test.go:869:   any(
2024-04-23T14:07:06.0604502Z             - 	e"expected hash 'a3e4bf251423a455ad90c3d706f95f133ed11a8e81e3f34e6fa6d056a1c15529' not found: artifact hash does not match provenance subject",
2024-04-23T14:07:06.0605250Z               )
2024-04-23T14:07:06.0605568Z         main_regression_test.go:869:   any(
2024-04-23T14:07:06.0606747Z             - 	e"expected hash 'a3e4bf251423a455ad90c3d706f95f133ed11a8e81e3f34e6fa6d056a1c15529' not found: artifact hash does not match provenance subject",
2024-04-23T14:07:06.0607480Z               )
2024-04-23T14:07:06.0607799Z         main_regression_test.go:869:   any(
2024-04-23T14:07:06.0608982Z             - 	e"expected hash 'a3e4bf251423a455ad90c3d706f95f133ed11a8e81e3f34e6fa6d056a1c15529' not found: artifact hash does not match provenance subject",
2024-04-23T14:07:06.0609714Z               )
2024-04-23T14:07:06.0610174Z         main_regression_test.go:869:   any(
2024-04-23T14:07:06.0611367Z             - 	e"expected hash 'a3e4bf251423a455ad90c3d706f95f133ed11a8e81e3f34e6fa6d056a1c15529' not found: artifact hash does not match provenance subject",
2024-04-23T14:07:06.0612102Z               )
2024-04-23T14:07:06.0612719Z     --- FAIL: Test_runVerifyGHAArtifactImage/tag_no_match_empty_tag_workflow_dispatch_>_v1.9.0 (0.12s)
2024-04-23T14:07:06.0613367Z         main_regression_test.go:869:   any(
2024-04-23T14:07:06.0614543Z             - 	e"expected hash 'a3e4bf251423a455ad90c3d706f95f133ed11a8e81e3f34e6fa6d056a1c15529' not found: artifact hash does not match provenance subject",
2024-04-23T14:07:06.0615546Z             + 	e"tag used to generate the binary does not match provenance",
2024-04-23T14:07:06.0615975Z               )
2024-04-23T14:07:06.0616326Z         main_regression_test.go:869:   any(
2024-04-23T14:07:06.0617525Z             - 	e"expected hash 'a3e4bf251423a455ad90c3d706f95f133ed11a8e81e3f34e6fa6d056a1c15529' not found: artifact hash does not match provenance subject",
2024-04-23T14:07:06.0618545Z             + 	e"tag used to generate the binary does not match provenance",
2024-04-23T14:07:06.0618980Z               )
2024-04-23T14:07:06.0619307Z         main_regression_test.go:869:   any(
2024-04-23T14:07:06.0620496Z             - 	e"expected hash 'a3e4bf251423a455ad90c3d706f95f133ed11a8e81e3f34e6fa6d056a1c15529' not found: artifact hash does not match provenance subject",
2024-04-23T14:07:06.0621497Z             + 	e"tag used to generate the binary does not match provenance",
2024-04-23T14:07:06.0621926Z               )
2024-04-23T14:07:06.0622252Z         main_regression_test.go:869:   any(
2024-04-23T14:07:06.0623429Z             - 	e"expected hash 'a3e4bf251423a455ad90c3d706f95f133ed11a8e81e3f34e6fa6d056a1c15529' not found: artifact hash does not match provenance subject",
2024-04-23T14:07:06.0624434Z             + 	e"tag used to generate the binary does not match provenance",
2024-04-23T14:07:06.0625117Z               )
2024-04-23T14:07:06.0625598Z     --- FAIL: Test_runVerifyGHAArtifactImage/wrong_branch_master (0.58s)
2024-04-23T14:07:06.0626149Z         main_regression_test.go:869:   any(
2024-04-23T14:07:06.0627514Z             - 	e"expected hash 'a3e4bf251423a455ad90c3d706f95f133ed11a8e81e3f34e6fa6d056a1c15529' not found: artifact hash does not match provenance subject",
2024-04-23T14:07:06.0628542Z             + 	e"branch used to generate the binary does not match provenance",
2024-04-23T14:07:06.0628986Z               )
2024-04-23T14:07:06.0629314Z         main_regression_test.go:869:   any(
2024-04-23T14:07:06.0630504Z             - 	e"expected hash 'a3e4bf251423a455ad90c3d706f95f133ed11a8e81e3f34e6fa6d056a1c15529' not found: artifact hash does not match provenance subject",
2024-04-23T14:07:06.0631527Z             + 	e"branch used to generate the binary does not match provenance",
2024-04-23T14:07:06.0631974Z               )
2024-04-23T14:07:06.0632299Z         main_regression_test.go:869:   any(
2024-04-23T14:07:06.0633487Z             - 	e"expected hash 'a3e4bf251423a455ad90c3d706f95f133ed11a8e81e3f34e6fa6d056a1c15529' not found: artifact hash does not match provenance subject",
2024-04-23T14:07:06.0634516Z             + 	e"branch used to generate the binary does not match provenance",
2024-04-23T14:07:06.0634967Z               )
2024-04-23T14:07:06.0635293Z         main_regression_test.go:869:   any(
2024-04-23T14:07:06.0636473Z             - 	e"expected hash 'a3e4bf251423a455ad90c3d706f95f133ed11a8e81e3f34e6fa6d056a1c15529' not found: artifact hash does not match provenance subject",
2024-04-23T14:07:06.0637498Z             + 	e"branch used to generate the binary does not match provenance",
2024-04-23T14:07:06.0637941Z               )
2024-04-23T14:07:06.0638404Z     --- FAIL: Test_runVerifyGHAArtifactImage/valid_main_branch_set (0.52s)
2024-04-23T14:07:06.0638951Z         main_regression_test.go:869:   any(
2024-04-23T14:07:06.0640306Z             - 	e"expected hash 'a3e4bf251423a455ad90c3d706f95f133ed11a8e81e3f34e6fa6d056a1c15529' not found: artifact hash does not match provenance subject",
2024-04-23T14:07:06.0641055Z               )
2024-04-23T14:07:06.0641381Z         main_regression_test.go:869:   any(
2024-04-23T14:07:06.0642599Z             - 	e"expected hash 'a3e4bf251423a455ad90c3d706f95f133ed11a8e81e3f34e6fa6d056a1c15529' not found: artifact hash does not match provenance subject",
2024-04-23T14:07:06.0643335Z               )
2024-04-23T14:07:06.0643654Z         main_regression_test.go:869:   any(
2024-04-23T14:07:06.0644836Z             - 	e"expected hash 'a3e4bf251423a455ad90c3d706f95f133ed11a8e81e3f34e6fa6d056a1c15529' not found: artifact hash does not match provenance subject",
2024-04-23T14:07:06.0645566Z               )
2024-04-23T14:07:06.0645882Z         main_regression_test.go:869:   any(
2024-04-23T14:07:06.0647058Z             - 	e"expected hash 'a3e4bf251423a455ad90c3d706f95f133ed11a8e81e3f34e6fa6d056a1c15529' not found: artifact hash does not match provenance subject",
2024-04-23T14:07:06.0647794Z               )

Now passing. I had recorded the incorrect hash.


Loss function question in code

Thank you for your kind reply.
Where in the code is the uncertainty loss for the object detection task calculated?
Also, where in the code is the final loss, which consists of the classification, bounding box regression, and uncertainty loss in Equation 7 of the paper, calculated?

hi, please see the loss summary here. https://github.com/deeplearning-wisc/vos/blob/25eec0dd1af06bcabccc4b20e8f338bf5de909bb/detection/modeling/roihead_gmm.py#L905


Add within autodiff cmd

@aviatesk what's the right way to do this properly?
I think it's blocking for @avik-pal / @ChrisRackauckas

https://github.com/EnzymeAD/Enzyme.jl/issues/1761

If the overlay method table was available, that would be ideal. If that's still difficult, we might have to stick with the current implementation approach.

So as is this fails atm (presumably because Const prop happens before we can fix this?)


Change “Maturation Time” to “Maturation Date”

Something I found to be a slightly confusing UX was the reference to a “Maturation Time” in the “Create Announcement” form:

The value here is actually a date, and it corresponds to other fields in the UI that call it just that (i.e.: “Maturation Date”):

It looks like this is the result of referencing an i18n key called maturationTime. Furthermore, maturationTime seems to be used in several places throughout the server endpoint API
With all that being said, though, I still feel like maturationDate is the more intuitive name. It might be somewhat of a wide-sweeping change, but I feel like in the long term, a single, consistent usage of maturationDate would significantly improve both the UX and the maintainability of the codebase.

This is contractMaturity in the DLCContract type of the wallet. I would like to see all these fields aligned as well.


Break scales when the data has outliers

Add a bin for "larger than "

Potentially useful library https://github.com/lukewhyte/d3-scale-break
Seems like I'll just calculate IQR, and then make bins for high and low outliers based on the box and whisker plot algorithm. That should be robust enough for skewed data.
I'll also need to add the ability to switch the scale type (to log, for example), which will then need to use this code