Update Create ServiceList default issue: reviewers selection list

The issue for creating the serviceList has the point:

Create a Pull-Request from your local feature branch into the develop branch; define another ApplicationOwner to be reviewer; assign the Pull-Request to OpenBackhaul

When I tried to add another application owner by username it did not work. Only other user shown for me is OpenBackhaul.
It would be good if we would document somewhere how to add other users to the selection menus.

Just sent an email to the ApplicationOwners to check, whether another applicationOwner adding a comment to the Issue suffices to make him/her available for being chosen as reviewer.
Please, close the issue based on the feedback.
Many thanks.

Sending a comment doesn't work.
New idea:
Configure all ApplicationOwners to be Collaborator on the repository, but define the individual ApplicationOwner to be CodeOwner (according to github doc)
Consider different CodeOwner files for main and develop branch.
Check gitignor for preventing the CodeOwner file from develop branch to overwrite the one in main branch.

@kmohr-soprasteria: Sorry, concept doesn't work and needs further investigations before.
Zwar führt der Eintrag in CODEOWNERS tatsächlich dazu, dass die gelistete Person zum Review des Merge-Requests aufgefordert wird.

Dies ist umso problematischer, da man den Inhalt von CODEOWNERS bei der Gelegenheit auch gleich überschreiben kann.


housekeeping: Update cinephile

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
Sample Update
What is the current behavior? (You can also link to an open issue here)
The sample is using ReactiveList, a single project for Views and ViewModels and lacks in the unit tests for ViewModels
What is the new behavior (if this is a feature change)?
Cinephile now uses Dynamic data
The main project was split into: Views and ViewModels, it helps to keep it clean of errors (referencing Views on VMs and such. Also makes it easier to test)
Added some unit tests for the ViewModels
What might this PR break?
Cinephile sample
Please check if the PR fulfills these requirements

[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

Other information:
I had to reopen the Pr because #1972 closed due to a force push :)

Well done @giusepe, but remember to fix the code following analyzers tips (eg. prefix local calls with "this"). And thanks for keeping this updated!

If you're getting asked for prefix 'this' then the code analyzer ruleset file isn't getting picked up properly. We use the _notation

Well done @giusepe, but remember to fix the code following analyzers tips (eg. prefix local calls with "this"). And thanks for keeping this updated!

If you're getting asked for prefix 'this' then the code analyzer ruleset file isn't getting picked up properly. We use the _notation

Not in the case of "ViewModel" property from a ViewFor implementation.

Retrigger CI by close/open


Incorrect PATH in "Running Bazel"

On bazel.io/docs/install.html it says to modify your .bashrc file with this:
$ export PATH="$PATH:$HOME/bazel/output/bazel"

I think it should be $HOME/bazel/output, the directory of the bazel executable.

Correct, thanks for letting us know!
A change to fix it is already pending.
--
László Csomor | Software Engineer |<EMAIL_ADDRESS>Google Germany GmbH | Maximilianstrasse 11-15 | 80539 München | Germany
Registergericht und -nummer: Hamburg, HRB 86891
Sitz der Gesellschaft: Hamburg
Geschäftsführer: Graham Law, Christine Elizabeth Flores
2015-03-31 7:29 GMT+02:00 Chris Drake<EMAIL_ADDRESS>
On bazel.io/docs/install.html it says to modify your .bashrc file with
this:
$ export PATH="$PATH:$HOME/bazel/output/bazel"
I think it should be $HOME/bazel/output, the directory of the bazel
executable.
—
Reply to this email directly or view it on GitHub
https://github.com/google/bazel/issues/86.


Add support for spray-json

Closes #98

Good job 👍 Will merge next week.

Noticed I didn't add the generated markdown to the samples, should be fixed by https://github.com/pauldijou/jwt-scala/pull/99/commits/d29ae34ccc841920586b4f88e4d1ad05989b4ff6

Released in 0.19.0

Thanks for the quick turnaround @pauldijou !


With --partial-certificate, print partial model in DIMACS format

Attempt to show the partial model using quote

If that format is more convenient I'm happy to make it the default.


Using New-WordDocument fails with Object Reference not set

[40] # New-WordDocument -FilePath c:\temp\mydoc
format-default : Object reference not set to an instance of an object.
+ CategoryInfo          : NotSpecified: (:) [format-default], NullReferenceException
+ FullyQualifiedErrorId : System.NullReferenceException,Microsoft.PowerShell.Commands.FormatDefaultCommand
Fresh install from PowerShell Gallery with Install-Module PsWriteWord

$WordDocument = New-WordDocument -FilePath ...

Take a look at examples. You need to use a variable to get the data from New-WordDocument.

Very nice. I looked at the Get-Help but not the examples.  Thanks.

alternatively you can try to use different approach using Documentimo.
https://github.com/EvotecIT/Documentimo
In this article, somewhere in the middle Documentimo is described and an example is shown: https://evotec.xyz/what-do-we-say-to-writing-active-directory-documentation/

Having the same issue. Used the example from the docs:
Import-Module PSWriteWord
$FilePath = "$Env:USERPROFILE\Desktop\PSWriteWord-Example-CreateWord1.docx"
$WordDocument = New-WordDocument $FilePath

When checking the variable $WordDocument for a value we see this:

Fresh install from the PowerShell Gallery on PS 5.1.

Don't check the variable? :) It should work

Using new-worddocuement the very first object is kind of broken. If you add something it will work. Using get-worddocument should work properly from the start


Remove ArgumentPurpose::StackLimit

The special stack_limit argument annotation is currently unused, so let's remove it. I have grepped through the cg clif source and didn't find anything that obviously relied on this annotation.

This was originally added for Wasmtime but since then Wasmtime has moved on, so sounds reasonable to me to remove 👍


Motion sensing and logging - Validated

Enables motion sensing with accelerometer
Generates SensorDelegate callbacks for didVisit, where the location reference is a relative reference based on inertia
Tested on Pixel2 (with iPhone 6S) for automated RSSI-distance data capture
Motion data used as timed markers for detecting movement at fixed distances

Signed-off-by: c19x<EMAIL_ADDRESS>

Please confirm tested on a variety of old/new phones with different android OS versions without failure.

Please confirm tested on a variety of old/new phones with different android OS versions without failure.

All comments accepted and code updated accordingly.

All comments accepted and code updated accordingly.


LocationDeleter should skip attempts to delete External time-series

There are no APIs, public or private, which can delete an "TimeSeriesType": "External" time-series. These are time-series synced from a GDP (Generic Data Provider) custom integration.
LocationDeleter should simply log that it is skipping these types of time-series and keep on processing other time-series deletion requests.

Fixed by #64


[Backport release-23.11] chromedriver,chromium: 125.0.6422.141 -> 126.0.6478.55, rebase patches, extend tarball exclude

Description of changes
Manual backport of #319193, because #293251 wasn't backported to release-23.11 which caused a cherry-pick conflict now.
https://github.com/NixOS/nixpkgs/pull/319193#issuecomment-2163943297
Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

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

1 package failed to build:

sharedown

19 packages built:

aws-azure-login
chromedriver
chromium
chromium.sandbox
fast-cli
mermaid-cli
mermaid-filter
percollate
playwright-test
puppeteer-cli
python310Packages.pytest-playwright
python310Packages.pytest-playwright.dist
python311Packages.pytest-playwright
python311Packages.pytest-playwright.dist
selendroid
selenium-server-standalone
sitespeed-io
vhs
wayback

# git describe --abbrev=40
23.11-6652-g5c2ec3a5c2ee9909904f860dadc19bc12cd9cc44
# nix-build nixos/tests/chromium.nix -A stable
/nix/store/i72vjy5sl81lhhqnd76mklp56w3s17g2-vm-test-run-chromium-stable


Mocha does not recognise third party reporters installed from a local directory

Prerequisites

[x] Checked that your issue hasn't already been filed by cross-referencing issues with the faq label
[x] Checked next-gen ES issues and syntax problems by using the same environment and/or transpiler configuration without Mocha to ensure it isn't just a feature that actually isn't supported in the environment in question or a bug in your code.
[x] 'Smoke tested' the code to be tested by running it outside the real test suite to get a better sense of whether the problem is in the code under test, your usage of Mocha, or Mocha itself
[x] Ensured that there is no discrepancy between the locally and globally installed versions of Mocha. You can find them with: node node_modules/.bin/mocha --version(Local) and mocha --version(Global). We recommend avoiding the use of globally installed Mocha.

Description
When developing a third party reporter, mocha does not recognise the reporter package if it is installed usingnpm install with a local package directory.
The npm install command runs successfully. The package appears under the node_modules directory. However, when the test script is run, mocha throws an error saying "reporter not found".
This does NOT happen when the package is published and installed through the normal npm system. The third party reporter installs and runs as expected.
Steps to Reproduce

Create a third party reporter as an npm package.
Attempt to install it in a second tester package with the following command: npm install ../path-to/my-third-party-reporter

Expected behavior: The reporter runs as normal, my tests are run and output is produced.
Actual behavior:
With the following test script in package.json:
"scripts": {
    "test": "mocha ./**.test.js --reporter my-third-party-reporter --exit"
  },

mocha throws:
"my-third-party-reporter" reporter not found
/Users/aidan/web/my-third-party-reporter-tester/node_modules/mocha/lib/mocha.js:193
      throw new Error('invalid reporter "' + reporter + '"');
      ^

Error: invalid reporter "my-third-party-reporter"
    at Mocha.reporter (/Users/aidan/web/my-third-party-reporter-tester/node_modules/mocha/lib/mocha.js:193:13)
    at Object.<anonymous> (/Users/aidan/web/my-third-party-reporter-tester/node_modules/mocha/bin/_mocha:368:7)
    at Module._compile (module.js:652:30)
    at Object.Module._extensions..js (module.js:663:10)
    at Module.load (module.js:565:32)
    at tryModuleLoad (module.js:505:12)
    at Function.Module._load (module.js:497:3)
    at Function.Module.runMain (module.js:693:10)
    at startup (bootstrap_node.js:188:16)
    at bootstrap_node.js:609:3

Reproduces how often: 100%
Versions
Mocha version: 5.2.0 (not installed globally)
Node version: v8.11.1
OS: MacOs High Sierra v10.13.6
Shell: iTerm2 build 3.2.4beta2

You verified installation?
$ PROJECT=${HOME}/web/my-third-party-reporter-tester
$ ls -al ${PROJECT}/node_modules/my-third-party-reporter

Yep, definitely installed.

Very odd. All you should have needed to do was add the reporter as a dependency of your project.
$ cd ${PROJECT}
$ npm install --save-dev my-third-party-reporter

As a test, does this work?
[assumes your reporter implementation is a single file]
$ cd ${PROJECT}/node_modules
     ### Don't do this at home!! ###
$ (cd mocha/lib/reporters/; ln -s ../../../my-third-party-reporter/lib/my-third-party-reporter.js)
$ npm test
     ### Restore your sanity ###
$ (cd mocha/lib/reporters/; rm my-third-party-reporter.js)

Your first test:

(cd node_modules; node -e "console.log(require('my-third-party-reporter'))")

Worked and outputs: [Function: apmochareporter] Which suggests that the dep is indeed there.
Your second test, creating a symlink worked as expected. The tests run, the reporter works.
For reference, the exact code I'm working with is here

Relevant Mocha code is here.

Worked and outputs: [Function: apmochareporter] Which suggests that the dep is indeed there.

Technically, your function should be apbmochareporter though. Maybe just mistyped.
Suggest add debugger keyword in Mocha code above and see where it goes south.

Package suggestions:

Use runner.stats instead of redoing its work
Template doesn't belong in src directory
Use Mustache
Let user provide the output directory
Specify these in package.json:

repository
keywords include reporter
bugs
homepage
engines

What? No tests? :(

Technically, your function should be apbmochareporter though. Maybe just mistyped.

Yeah, mistyped it.

Use debugger keyword in Mocha code here and see where it goes south.

Will give it a go.

Package suggestions:...

Many thanks. Will get on it!

What? No tests? :(

:p

Were you able to track down why it wasn't loading?

Not yet. Hope to have some time this evening to look into it.

Anything to report, or should I close this?

Sorry for the delay @plroebuck
I've created a minimal reproduction repository here. It includes a single test suite with a couple assertions in one package, and a custom reporter in the other package.
I am now debugging the mocha package and have so far discovered that the reporter argument is undefined when Mocha.prototype.reporter is called. It is also called twice in a row for some reason.

Ok - This is slightly embarrassing, but it's possible that others will make the same mistake.
I think I simply forgot to --save mocha  as a dependency of the reporter package. Seems obvious in hindsight but it's slightly more nuanced than that, and the warning from mocha threw me off as it misdiagnosed the issue.
The reporter worked when installed as a full package because node obviously looks in the only node_modules directory available and finds mocha. But when the reporter was installed from a local package, requiring the reporter throws an exception.
We would expect this to be due to the reporter package not being found, but it's actually just bubbled up from the reporter. Logging the error made it pretty clear:
Error: Cannot find module 'mocha'
    at Function.Module._resolveFilename (module.js:547:15)
    at ... [rest of the stack trace omitted]

So, what to do? The simple answer is "install mocha in the reporter you dope" - but in the case that somebody makes the same mistake in the future, it might be prudent to update the warning message to more accurately reflect the problem.
I'm working on a pull request. I realise it's a minor issue, but I'm interested in making the updates for my own sake.


Exploit not working with iPhone X

Device
iPhone X
Version
iOS 16.7.8
Passcode?

[ ] Passcode is enabled.

Start going into detail..
After running the command line the exploit get's stuck at
 - [08/23/24 17:52:05] <Verbose>: Device should now reconnect in download mode
 - [08/23/24 17:52:05] <Verbose>: DFU mode device disconnected
 - [08/23/24 17:52:25] <Error>: Timed out waiting for download mode (error code: -status_exploit_timeout_error)

On trying to disconnect and reconnect, the exploit completes and I see the palera1n screen in the device

After the palera1n screen, the device shows black screen and apple logo (I think the device just rebooted)
Cannot find the loader application in home screen after this
Familiarity with palera1n

[X] I am familiar with palera1n and how to use it!

Familiarity with CLI

[X] I am familiar with the command-line!

Check common-issues here https://docs.palera.in/docs/troubleshoot/troubleshooting-steps/#timed-out-waiting-for-download-mode for steps on how to troubleshoot that and (evidently) fix it.
Since this is a common issue which is really out of our control, I will close this as it doesn't have any significance to us.


ODS - Component - Buttons: icon Buttons

Requirements
Variants

icon buttons
?

Related Tasks

@mccart77 do we have the same variants as in android:

icon buttons
toggle icon buttons
toggle icon buttons group?


Fix typo in Client links

References are to google.cloud.storage.client.Client instead of google.cloud.spanner.client.Client, which I believe is a typo.
In addition, the client self-links don't seem to work via https://googlecloudplatform.github.io, and seems like there are some differences in the side menu between
http://gcloud-python.readthedocs.io/en/latest/spanner/client-usage.html
and
https://googlecloudplatform.github.io/google-cloud-python/latest/spanner/usage.html
?
Also, I don't see how to get to the main generated docs of the parameters for each method.

Thank you for the patch!


Add note to docs that Helm Chart is not supported past Kubernetes v1.17

With the Kubernetes API deprecating Kubernetes Certificate Authority’s ability to issue application certificates beyond Kubernetes v1.17.
As a result, we should update our docs to make it clear that it's unsafe to run the Helm Chart beyond Kubernetes v1.17.
@keith-mcclellan , can you confirm that this is the correct guidance? We're running into the risk for multiple customers using the Helm Chart in an unsupported way.
In the CRDB Kubernetes docs, it may make sense to include a callout in Step 2: Start CockroachDB Section.

I am not sure this is the correct guidance, this would be a hard deprecation without an off-ramp.  We need to either document a way to migrate off the helm chart to another install pattern (currently, that would be the static config install pattern), or we need to update the helm chart so it can be supported until the Operator is ready to take over those clusters.

@keith-mcclellan Will it be a lot of work to update the Helm chart to support custom CA? My first thought is that this seems easier than researching & creating docs for migrating off of Helm.

We would need to do an analysis to make that determination, but my gut says we need to fix the helm chart instead. 30% of our installs are using the helm chart and we don't currently have a migration strategy to get them off of it.  @johnrk @piyush-singh

We're having a conversation over slack to go over our options. We will summarize options and share with a wider audience (will include Keith and Ryan). We'll update here once we have a clear path forward.

Resolved by https://github.com/cockroachdb/docs/pull/10271.


HTML5 Exports cause high CPU usage in Chrome

Godot version:
3.2-Stable
OS/device including version:
Windows 10, Mac OSX Catalina 10.15.4, Google Chrome V 80.0.3987.149
Issue description:
When exporting a game for HTML5, if you run it in Google Chrome, it takes a very large chunk of the CPU. This happens indefinitely - most browsers experience a spike when loading up the game, but Chrome maintains this high CPU. I ran it for 5 minutes and it did not drop, whereas Firefox for example drops in CPU usage a few seconds after startup.
The CPU usage for chrome is coming from something called "Software Reporter Tool". This may mean Godot is raising a red flag and chrome is using high CPU to monitor the program, but that's just a guess of mine after some brief research.
This has been tested on two different computers, running the game directly out of Godot as well as off an Apache server.
This is a photo of running the game directly in the editor. There is no abnormal CPU usage.

This is a photo of running the game using the HTML5 export on chrome. This has high CPU usage.

Steps to reproduce:
Run any Godot project on HTML5 export on Chrome.
Minimal reproduction project:
This can be done with a new project that has nothing other than an empty scene file.

If this is a non-game application (i.e. smooth animations aren't important), try enabling Application > Run > Low Processor Mode in the Project Settings. Other than that, I don't think we can do much about the issue at hand.

This is a game, however luckily in my case it is 2D and the CPU usage is low enough anyway that performance hasn't been an issue. I just have noticed that my fan has been turning into a tornado when I'm running the game.
But just curious - is this unsolvable because you think that chrome is to blame for this?

But just curious - is this unsolvable because you think that chrome is to blame for this?

Unfortunately, that might be the case. On Windows, Chrome uses ANGLE to render WebGL, which means WebGL is always translated to Direct3D before being rendered. This incurs an additional cost. I presume Google did it this way because they didn't want to rely on low-quality OpenGL drivers, but it's a shame even NVIDIA users have to pay for this cost (even though their OpenGL drivers are good).

I'll drink to that... WebGL does not have the best profiling :P.
A bit of a good news on this is that having additional tabs of the game open doesn't scale CPU usage linearly, so it seems like Chrome is at least adjusting to higher loads which would imply that bigger projects won't necessarily suffer more than mine.
If this becomes more of an issue I'll dive into this and post any solutions I find in this thread. Thanks for the reply!

Chrome & other browsers have throttled requestAnimationFrame on inactive tabs for a long time now. In some cases, you can get less than 1fps which obviously saves a lot of CPU.

I have another observation that may relate to this issue. Consider this code, which is found in your html5 export:
var animationCallbacks = [];
function animate(time) {
	animationCallbacks.forEach(callback => callback(time));
	requestAnimationFrame(animate);
}
requestAnimationFrame(animate);

function adjustCanvasDimensions() {
	var scale = window.devicePixelRatio || 1;
	var width = window.innerWidth;
	var height = window.innerHeight;
	canvas.width = width * scale;
	canvas.height = height * scale;
	canvas.style.width = width + "px";
	canvas.style.height = height + "px";
}
animationCallbacks.push(adjustCanvasDimensions);

Is there really a need to alter the canvas width and height every animation tick?

Seems like an easy way to guarantee it's always sized correctly, any reason not to do this, though?
window.addEventListener('resize', adjustCanvasDimensions);

For reference, here are the benchmark results I get using Firefox 77:

Seems like an easy way to guarantee it's always sized correctly, any reason not to do this, though?

That was my implied question.
Your solution is almost exactly what I did to fix this issue and a related one where I could not get a canvas resize to stick. Finding this illustrated why. Here's what's currently on my page:
  function adjustCanvasDimensions() {
    if (godotResizeTrigger) {
      godotResizeTrigger = false;
      var scale = window.devicePixelRatio || 1;
      var width = window.innerWidth - godotWidthAdjust;
      var height = window.innerHeight - godotHeightAdjust;
      canvas.width = width * scale;
      canvas.height = height * scale;
      canvas.style.width = width + "px";
      canvas.style.height = height + "px";
      console.log("GODOT code adjusted canvas dimensions to " + canvas.width + " and " + canvas.height);
    }
  }

If someone decides to fix this, I would recommend those *Adjust variables above. My use case specifically needs the Godot canvas in the bottom half of the page, and without those variables you cannot achieve this.

The adjustCanvasDimesions function has been improved in #42178 (and backported via #42266).
The changes will be available in 3.2.4 . Additionally, the low_processor_usage_mode has been also fixed via #40018 .
Closing this a fixed (browser version will most likely still be less performant than desktop version, but according to my profiling this specific issue is fixed and I'm registering lower CPU usage).


Service bus stream binder should configure partitionkey by default.

Fixed an issue where the session id and partition key are used simultaneously and are different.
ServiceBus related partition key logic changes.
Modify service bus binders doc.
Add unit tests.

/azp run java - spring - tests

/azp run java - spring - tests

/azp run java - spring - tests

/check-enforcer override


ManufacturerData and Descriptors

Hi @boomfly,
Great job on the progress of this library!
I was wondering if you were able to get working:

ManufacturerData in Advertisements
Characteristic Descriptors (with ReadValues)

Thanks in advance!

Hello @alexcastillo,
ManufacturerData working for sure
I don't remember but look at this commit https://github.com/boomfly/node-dbus-next/commit/e948d209397f5d4ff7e9775384046ec431a8c362
And here how to set it https://github.com/boomfly/bluez-dbus/blob/master/src/bluez/adapter.js#L114
Not sure about Characteristic Descriptors

Thanks, @boomfly!
I'll give that a try.


getAvailablePurchases() should throw meaningful error in case of purchases are denied

Version of react-native-iap
4.5.2
Version of react-native
0.63.2
Platforms you faced the error (IOS or Android or both?)
iOS only
Expected behavior
getAvailablePurchases() should throw meaningful error and don't cause pop-up flood.
for error types see also #1179
Actual behavior
if purchase permission are denied in iOS "Settings" App the following happens.
Many annoying pop-ups ("Purchases are denied") are plopping up about one per second. This is started by a call to getAvailablePurchases() on app start. Also this function throws E_USER_ERROR
"error": {
  "code": "E_USER_ERROR",
  "message": "The operation couldn\u2019t be completed. (SKErrorDomain error 4.)",
  "domain": "SKErrorDomain",
  "userInfo": {
    "NSUnderlyingError": {
      "code": "1050",
      "message": "underlying error",
      "domain": "ASDErrorDomain",
      "userInfo": {
        "NSDebugDescription": "In-app purchases not allowed on this device"
      },
...

If the user has denied purchases I don't want to bother the user with error messages.
Is it possible to ask this permission upfront?
Tested environment (Emulator? Real Device?)
real device
Steps to reproduce the behavior

deny purchases globally in iOS Settings App
call getAvailablePurchases()

I am a bit confused. Why does this matter when you try to show the user that the purchases are not available until the user has made them available?
Could you clarify how the flow should be?

The problem is that the user is flooded with popups triggered by one call to getAvailablePurchases.

@voxspox @hyochan
About getAvailablePurchases,
It returns an array of valid purchases made? Or all purchases made, even if they already expired?
I have an app with subscriptions and this is really confusing...
The documentation didn't help.

getAvailablePurchases send all purchases no matter what. Even if they are expired. I've tried it in sandbox. When I tried to implement RestorePurchases, it sent me a lot of expired purchases. I don't know if this is the desired behavior but it is certainly annoying.


RFC: Allow ui-view directive to used as a comment

The ui-view-directive is currently restricted to being used as an attribute, element, or style.  (restrict: 'ECA' ref)
I propose that the directive should be allowed to be used as a comment as well (restrict: 'ECAM')
That way it can be used via a named view to control the <title>, <meta name="description">, and other tags in <head>.
<head>
  ...
  <!-- directive: ui-view metatags --> <!-- Result of proposal -->

  <ui-view name="metatags" /> <!-- Current solution -->
  <!-- Cannot be used in `head` as the `ui-view` tag is moved into `body` -->
  ...
</head>

with an exemplified state configuration
$stateProvider
  .state('app', {
    abstract: true,
    views: {
      'meta': {
          templateUrl: 'meta.html',
      },
      'content': {}
    }
  })
  .state('frontpage', {
    parent: 'app'
    views: {
      'meta@': { template: '<title>Frontpage</title>' +
                           '<meta name="description" content="this is the frontpage">' },
      'content@': { ... }
    }
  })
  ...

For the Angular docs see: https://code.angularjs.org/1.3.7/docs/api/ng/service/$compile#-restrict-

I am not sure how much benefit that would be since the metatags are mostly for search engines and they wouldn't normally render that specific view. For title, you could listen to stateChangeSuccess and change it there based on $state.current.data.title or something similar.

In our specific case we are using prerender.io in order to render the Angular-driven pages to search engines and other non-javascript enabled web crawlers (the Facebook crawler). In that case changing <meta> tags from Angular does make sense, albeit it is a special case.


chore: release bombastic v0.0.0

:robot: I have created a release beep boop
bombastic: 0.0.0
0.0.0 (2024-02-19)
Features

config repository workflows (#3) (2d530dd)

Miscellaneous Chores

prepare initial release 0.0.0 (e628743)

bombastic-cli: 0.0.0
0.0.0 (2024-02-19)
Features

config repository workflows (#3) (2d530dd)

Miscellaneous Chores

prepare initial release 0.0.0 (e628743)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/oxcabe/bombastic/releases/tag/bombastic-v0.0.0 :sunflower:

:robot: Release is at https://github.com/oxcabe/bombastic/releases/tag/bombastic-cli-v0.0.0 :sunflower:


CBBD-114: Add AWS API credentials to Jenkins, for ITs that need to work with S3

http://issues.hhsdevcloud.us/browse/CBBD-114
This is the build server side of this. There's also a pull request (in the ETL project) for a build that requires this, too.

Not sure if @sbrockhoff or @dho937 would like to review this? Might be interesting, if you're weird like me and into config mgmt tools. This is the update I made (and ran) to the Ansible plays that are responsible for configuring our Jenkins server. I don't do (almost) anything by hand to it -- Ansible just about runs the whole show there.
(Note that the giant encrypted chunk just contains the new credentials, along with all of the other pre-existing credentials.)

Looks interesting to me! I am new to Ansible so that's about all I can say about it:) One recommendation I do have, and I'm sure you have already thought about it, is to switch any personal accounts over to service accounts for Jenkins to interact with other services.

Absolutely! Are there any personal accounts in there that you noticed? The only two I know of are for OSSRH and GitHub. For GitHub, I think the convention is for folks to use personal accounts, but a separate SSH key for them, which I've done. Unfortunately, I don't think OSSRH supports anything other than just a straight-up personal username and password.
(FWIW, for AWS, we are using a service account that was just created in the IDEA Lab account.)

Github and OSSRH I think are the 2 I noticed.
For Github, it seems like there are a few potential alternatives to using an SSH key linked to a personal account: Managing deploy keys
For OSSRH, just did a quick google search and there are some examples out there of people creating service accounts/machine users to deploy, like this one.

@sbrockhoff: Excellent finds, both!
I've filed http://issues.hhsdevcloud.us/browse/CBBI-134 to address them.


Use JSON-LD context rather than hardcoding for mapping of RDF preds to short forms

currently RDF sources and the monarch-full graph use URIs for node and edge properties and types. Currently we hardcode a mapping to shortforms in the standard:
# TODO: use JSON-LD context
mapping = {
    'subject': OBAN.association_has_subject,
    'object': OBAN.association_has_object,
    'predicate': OBAN.association_has_predicate,
    'comment': RDFS.comment,
    'name': RDFS.label
}

this should instead come from a JSON-LD context that is generated from biolink

Use the context file here: https://raw.githubusercontent.com/biolink/biolink-model/master/context.jsonld
m = curie_util.read_remote_jsonld_context("https://raw.githubusercontent.com/biolink/biolink-model/master/context.jsonld")
...
shortform = contract_uri(uri, [m])

this will contract to either a CURIE or a short-form, e.g biolink class name or property name


Make glob preserve order

Description:
Make glob preserve order

[x] Local tests with tox run successfully. Your PR cannot be merged unless tests pass

Just in time! 👍


Add support for Python 3.12

(will not work until #297 is resolved)

You should check the packages used by Unimport. Do they support Python 3.12?
Are the package ranges given in unimport's setup optimal for python 3.11 and 3.12

Do not forget to add your name -> https://github.com/hakancelikdev/unimport/blob/main/docs/AUTHORS.md


Documentation for js_run_binary suggests loading a private file

https://docs.aspect.build/aspect-build/rules_js/v1.0.0-beta.0/docs/js_run_binary-docgen.html#js_run_binary

Example usage (generated)
load("@aspect_rules_js//js/private:js_run_binary.bzl", "js_run_binary")
...

This should read load("@aspect_rules_js//js:defs.bzl", "js_run_binary") instead.

The examples https://docs.aspect.build/aspect-build/rules_js/v1.0.0-beta.0/docs/js_binary-docgen.html also recommends   enable_runfiles = false which should be False (actually this attribute is not needed if the non-private version is used).

This looks like a docsite issue @alexeagle @kormide

Fixed.


Updates in trigonometric.js, misc.js, utils.js, interval.js

Major changes:

Updated the trigonometric functions sin(x), cos(x), tan(x), so that they work just fine for negative intervals as well. Code was based on code from ValidatedNumerics.jl project.

Added cot(x)

Added in misc.js the functions: wid(x), rad(x), mid(x), mag(x), mig(x), dev(x). Updated the definition of abs(x) using mig(x) and mag(x).

Changed the way the misc.hull(x) function was written. Now it looks less confusing, imho.

Added comments to the misc.js file keeping the original style.

Added in utils.js the functions: isPositive(x), isNotNegative(x), isZero(x). Also added comments.

I find it wrong to define the empty set as the set where x.lo > x.hi. Sometimes the user might input [3,2] instead of [2,3]. The library should correct him. Changed that in Interval.prototype.assign. This also happens in ValidatedNumerics.jl library.

For the same reason the definition of the empty set has changed to return Interval(Number.NaN, Number.NaN).

I see travis-cl found lot's of errors to the updated code. I'll deal with that and reapply when ready.

I've created a homepage for interval-arithmetic, that way we shouldn't worry about maintaining documentation on the code and on the README file however this might have broken most of your job, I'd suggest you do the following

Update your fork to the latest version
Create a branch for each feature that makes a huge change (that way we could discuss better whether to integrate a feature or not), this happens to be an issue during the merge because if we disagree on the inclusion of a feature and your work depends on that feature then everything that is after that commit on the master branch would be obsolete, however if each feature is on its own branch then integrating them into the master branch would be easier (NOTE that this is only for big changes like the one you did to change the constructor to flip the values, for small changes that don't have a huge impact I guess you could work on the main branch however I strongly disagree)

Thanks in advance for the PR, it might take some time but I'm sure we can integrate these changes in a better way
homepage

Whenever I happen to find an issue I do the following

Create an issue on github (we can discuss the issue here before even thinking about the solution)
Create a branch to fix that problem e.g. issue.5
Solve the problem on that branch and send a PR

I'd suggest you follow this workflow, a nice article to get started is this one


NVARCHAR(MAX) on Sql2000

If I understand correctly Sql2000 does not support VARCHAR(MAX) and .AsString(int.MaxValue) generates that on Sql2000, according to this.
Shouldn't it generate NTEXT instead?

Good point ! same goes for nvarchar (ntext) and varchar should map to (text)

@simoneb I finally got some time to work on this, but i have a doubt. For instance
.AsString(int.maxvalue) should ,according to this, throw a notsupportedexception

Variable-length Unicode data with a maximum length of 2^30 - 1 (1,073,741,823) characters.

What do we do here ?

keep the happy convention of int.Maxvalue generates max allowed value
have a correct type map

What about an enum 'StringLength.MaxAvailableLength'?
This way it's possible to deprecate Int32.MaxValue with least impact (a simple search-replace should do the trick).
Filosophically, this makes more sense, as it makes clear that FM is trying to set the field to the max allowed length possible, and not to VARCHAR(2147483647).

@ALMMa I like the idea, but the issue is not with deprecation int.MaxValue
Sql2000 has max NTEXT size up to 1,073,741,823 characters so we have two options here either

Allow AsString(int.maxvalue) to map to NTEXT which is handy but theoretically incorrect
NotSupportedException when we use NTEXT(int.maxvalue)

I vote for the allow with a comment in the code (only for string)

@tommarien I got that.
Problem is that I got your comments a bit diferent, as if you were asking about .AsString(int.MaxValue) per si and it's mapping regardless of text.
Anyway, some folks might be expecting .AsString to create a varchar field, not a text. They are close but not the same.
According to this many string functions won't work on text. Although can't guarantee that's 100% accurate, it does make sense and could break existing views/sp/triggers.
For me this should not be changed to text/ntext but instead to varchar(8000) and nvarchar(4000).
Be advised, however, that I don't use SQL2000.

@ALMMa pull request added, the problem lies in the fact that the typemap contained a unsupported type namely VARCHAR(max). The pr fixes this


Redesign Vuln Details Page: CVE References & CWE

💡 Summary
Redesign the CVE References & CWE sections of the Vulnerability Details page.
Motivation and context
An effort to improve the user interface includes a full redesign of the Vulnerability Details page. This issue addresses the CVE References & CWE sections which is located on the lower left side of the page. Issue references Story - STRY0010680.
Implementation notes

Update layout and graphics as presented in this ticket
Add functional code (links out, data loads)
Update date/time stamps in accordance to ISO 8601 (Ex. 2023‐09‐27T20:21:22Z) - https://www.iso.org/iso-8601-date-and-time-format.html

Acceptance criteria

[ ] Webpage cannot be reach by an external link.
[ ] Graphical updates made with intended functionality
[ ] Merge with staging environment.
[ ] Update does not get pushed to production.

Current Design

CVE Reference amd CWE

Final Redesign Plan

@ValeriaReveles , Adding @ameliav for knowledge transfer on this issue.

Hi @dmfezzareed @schmelz21,
In the CVE Reference and CWE section, there is a Description with a full sentence. Do you know where I can find this sentence from?
Also, in the table with the column CWE Name, it says "Use of Uninitialized Resource". Is this to be hardcoded? It is not information available in the database.
Thanks

Section of dashboard built in Re-design Vulnerability details page.


refactor: add dragonfly-client-core crate

Description

Related Issue

Motivation and Context

Screenshots (if appropriate)

@yxxhero


Web page not opening

The web page is not opening on Microsoft Edge Version 93.0.961.38

which web page is not opening, can you tell me?

opensource.adobe.com : this one is not opening

The web page is not opening on Microsoft Edge Version 93.0.961.38

plz update your browser and then open it. its works.

Okay, sure.


Load all data frames onto the memory

Load all data frames onto the memory
– Load all memory - if data memory is None else pass – concat all dfs; this is old

Priority: None
Created: October 10, 2022 at 02:18PM
via iOS Reminders Additional Life list

load in init ; if load_memory is True
load_dfs : make replacement function that pass all data to next transform


Integration with Aider

Aider is a coding assistant ( https://github.com/paul-gauthier/aider ). It helps people write better code. But its built on a strategy where it takes universal c-tags and loads the tags ( your code's structure ) into the context window. As a result, it can only handle small applications. Applications with a few thousand lines of code ( which is many ) just cannot be handled by packing the system prompt with this much information.
I think there is huge opportunity for a solution like MemGPT to realistically help and nurture coding assistants to effectively work on large code bases.

I have a feeling some tweaked prompts might be needed. The things you need to keep in context, how you can and can't summarize things, etc. are pretty different from natural language. Sure would love to see this though.

Per the creator of Aider it is really difficult to get it to work with other LLMs and currently only works with gpt-3.5 due to consistency of responses. It seems improving memgpt support gpt-3.5 would be the most straightforward way to do this integration since Aider already has the tooling to use other APIs


Starting pyrsia_node fails when creating a DocumentStore without an index

When starting the pyrsia_node, a DocumentStore is created with an empty set of indexes. This is forbidden by the document_store implementation, hence the process panics with
thread 'main' panicked at 'Failed to create DocumentStore: Custom("At least one index specification is required when creating a DocumentStore.")', pyrsia_node/src/main.rs:73:53

Just testing new automation dont mind me 🙈


Install pkg-config via brew

This fixes building on the MacOS 11 workflow runner.
It seems that it has been broken due to an upstream change.
https://github.com/daschuer/vcpkg/actions/runs/4069242371
This implements the suggested fix in the error message:
 Could not find pkg-config.  Please install it via your package manager:

      brew install pkg-config

Works again. @Swiftb0y merge?

Sure

Thank you


Update Curl Commands for Windows

curl -L is not a valid command/option within Windows. It is switched with "curl -o filename  URL" Format and is tested successfully.

/easycla

Ah, apologies. I should have waited on CLA signoff before reviewing.

Hello @KPRepos , would you please be able to sign the CLA & respond to comments by @sftim so that we can proceed further?

Hey @KPRepos,
You have to sign the CLA so that we can review this PR and move forward.
Just click on the red NOT COVERED button in the first comment.
If you don't know how to do it, please take a look at the CLA tutorial.

@KPRepos Hello there – just checking in again regarding the CLA that needs signing here before we continue to review this PR. If you're unsure about how to do so, please take a look at the CLA tutorial. Thanks for making your first contribution – I hope we can get this over the line 😃

Thank you @KPRepos for your contribution, Please sign the CLA so that we can accept your PR for review.
/assign
Do suggest if anything to add @bradtopol

Signed

Hey @KPRepos,
It's been a while since the last update, would you like to address issues in the previous comments so that we can move forward?

Hey @KPRepos,
Should we close this PR? Please address the above issues.


Expose additional timeout option which is passed to simplecrawler

Thanks! Thinking about passing all options to simplecrawler. No need to do it explicitly then.

Agree, had some idea but no time :) simple has hasOwnProperty check and assigment should do a trick. Anyways thanks for package, helped me a lot!


Fix AST::fromArray conversion of initial values (match initial to expected conversion)

Parse DirectiveDefinitionNode->locations as NodeList<NamedNode>
Parse Parser::implementsInterfaces as NodeList<NamedTypeNode>
Update signature of Parser::unionMemberTypes to match actual NodeList<NamedTypeNode>

Fixes #723
Note: I wasn't sure how to address the phpstan error so I updated the baseline. I can revisit this if necessary.
 ------ -----------------------------------------------------------------------
  Line   src/Validator/Rules/KnownDirectives.php
 ------ -----------------------------------------------------------------------
         Ignored error pattern #^Only booleans are allowed in a negated
         boolean, array<string\>\|null given\.$# in path
         /home/zimzat/files/sources/graphql-php/src/Validator/Rules/KnownDirec
         tives.php was not matched in reported errors.
  102    Only booleans are allowed in a negated boolean, array|null given.
 ------ -----------------------------------------------------------------------

Coverage decreased (-0.009%) to 86.3% when pulling 33732401e3531cc11492e1a3b4cdfafcd456e216 on zimzat:fix-directive-definition-locations-list-type into 4f3430990824ff410fe548102cb85f0c46442704 on webonyx:master.

Thanks @spawnia. I removed instead of updated the @return because other places didn't have them and nothing was complaining, though I agree there's benefit in having them. :+1:

@spawnia It looks like phpcs marks those as duplicate information errors :disappointed:
Should I remove them again, or is there something I could do in PHPCS to allow for them?

Should I remove them again, or is there something I could do in PHPCS to allow for them?

Maybe we can fix that in the future, let's remove it for now to keep this PR focused.

Done :+1: Thanks!

Thanks for the fix!


MaterialUi Auto-Layout

Auto-layout
The Auto-layout makes the items equitably share the available space. That also means you can set the width of one item and the others will automatically resize around it.
How is this done with bs-material-ui?

@jadiaz That is a good point, I believe I removed the true option so they type for xs, md etc. does not need to be polymorphic! I need to think on this, I might add a variant True or something

Please install @next and see if the new mdAuto (available for the other sizes) will work for your use case! Closing for now, feel free to re-open if there is unexpected behaviour!


fix(docs): Connections examples and GraphQL queries are now working properly.

Description

I encountered some problems when I read the documentations, and finally solved the problems by modify some example codes.
This PR fix some broken example codes and GraphQL queries on the Connections documentation page.
Types of Changes

[ ] Core
[ ] Bugfix
[ ] New feature
[ ] Enhancement/optimization
[x] Documentation

Issues Fixed or Closed by This PR

There isn't any issue has been opened.

Checklist

[x] My code follows the code style of this project.
[x] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[x] I have tested the changes and verified that they work and don't break anything (as well as I can manage).

Thanks for contributing to Strawberry! 🎉 You've been invited to join
the Strawberry GraphQL organisation 😊
You can also request a free sticker by filling this form: https://forms.gle/dmnfQUPoY5gZbVT67
And don't forget to join our discord server: https://strawberry.rocks/discord 🔥


Configure flake8 Linter and pre-commit

What kind of change does this PR introduce
closes #13

What is the current behavior
No linter in project

What is the new behavior

Configured Flake8 linter
Added and configured pre-commit so flake8 is run for every git commit
Updated Contributing.md on how to install pre-commit hooks
Example screenshot of pre-commit hook

Checklist for this PR

[x] I have read contributing guidelines.
[x] Updated the requirements (pip freeze > requirements/requirements.txt).
[N/A] Created new migrations (python webapp/manage.py makemigrations && python webapp/manage.py migrate).
[x] Pull request is towards develop branch.
[x] Documentation
[x] Ready to be merged.

Whats missing

I did not actually fix all linting errors because I am not familiar with whole code base and they are many 😃. When I ran flake8 I got many lint errors which can found below.
Travis CI configuration for lint. @pbteja1998 Use this info for setting up pre-commit in travis config

Lint Errors
Flake8..............................................................
.....Failedhookid: flake8

webapp/books/tests.py:1:1: F401 'django.test.TestCase' imported but
unused
webapp/authentication/views.py:2:80: E501 line too long (87 > 79 cha
racters)
webapp/authentication/views.py:6:1: F401 'rest_framework.permissions
' imported but unused
webapp/authentication/views.py:8:1: E302 expected 2 blank lines, fou
nd 1webapp/authentication/views.py:13:1: E302 expected 2 blank lines, fo
und 1
webapp/authentication/views.py:16:50: W292 no newline at end of file
webapp/books/urls.py:1:1: F401 'django.conf.urls.include' imported b
ut unused
webapp/books/urls.py:5:1: W293 blank line contains whitespace
webapp/books/urls.py:7:1: W293 blank line contains whitespace
webapp/books/urls.py:9:80: E501 line too long (91 > 79 characters)
webapp/books/urls.py:10:80: E501 line too long (91 > 79 characters)
webapp/books/urls.py:11:1: W293 blank line contains whitespacewebapp/books/urls.py:12:1: W293 blank line contains whitespace
webapp/books/urls.py:15:80: E501 line too long (88 > 79 characters)
webapp/books/urls.py:18:2: W292 no newline at end of file
webapp/books/migrations/0001_initial.py:22:80: E501 line too long (1
14 > 79 characters)
webapp/books/migrations/0001_initial.py:25:80: E501 line too long (9
6 > 79 characters)
webapp/books/migrations/0001_initial.py:29:80: E501 line too long (1
24 > 79 characters)
webapp/books/migrations/0001_initial.py:30:80: E501 line too long (1
54 > 79 characters)
webapp/books/migrations/0001_initial.py:36:80: E501 line too long (1
14 > 79 characters)
webapp/books/migrations/0001_initial.py:40:80: E501 line too long (8
3 > 79 characters)
webapp/books/migrations/0001_initial.py:43:80: E501 line too long (1
31 > 79 characters)
webapp/books/migrations/0001_initial.py:44:80: E501 line too long (1
24 > 79 characters)
webapp/books/migrations/0001_initial.py:45:80: E501 line too long (1
56 > 79 characters)
webapp/books/migrations/0001_initial.py:51:80: E501 line too long (1
14 > 79 characters)
webapp/books/migrations/0001_initial.py:55:80: E501 line too long (8
3 > 79 characters)
webapp/books/migrations/0001_initial.py:58:80: E501 line too long (1
37 > 79 characters)webapp/books/migrations/0001_initial.py:59:80: E501 line too long (1
24 > 79 characters)
webapp/books/migrations/0001_initial.py:60:80: E501 line too long (1
54 > 79 characters)
webapp/coderplex_apis/config/localhost.py:19:63: E231 missing whites
pace after ','
webapp/coderplex_apis/config/localhost.py:19:80: E501 line too long
(96 > 79 characters)
webapp/coderplex_apis/config/localhost.py:20:80: E501 line too long
(93 > 79 characters)
webapp/coderplex_apis/config/localhost.py:20:94: W292 no newline atend of file
webapp/member/models.py:5:1: F401 'django.contrib.auth.login' import
ed but unused
webapp/member/models.py:7:1: E302 expected 2 blank lines, found 1
webapp/member/models.py:14:80: E501 line too long (88 > 79 character
s)
webapp/member/models.py:15:80: E501 line too long (85 > 79 characters)
webapp/member/models.py:17:80: E501 line too long (87 > 79 characters)
webapp/member/models.py:18:80: E501 line too long (82 > 79 characters)
webapp/member/models.py:19:80: E501 line too long (88 > 79 characters)
webapp/member/models.py:20:80: E501 line too long (90 > 79 characters)
webapp/member/models.py:21:80: E501 line too long (89 > 79 characters)
webapp/member/models.py:22:80: E501 line too long (90 > 79 characters)
webapp/member/models.py:23:80: E501 line too long (89 > 79 characters)
webapp/member/models.py:24:80: E501 line too long (90 > 79 characters)
webapp/member/models.py:25:80: E501 line too long (97 > 79 characters)
webapp/member/models.py:26:80: E501 line too long (99 > 79 characters)
webapp/member/models.py:28:1: E302 expected 2 blank lines, found 1
webapp/member/models.py:33:25: E231 missing whitespace after ','
webapp/member/models.py:36:9: F841 local variable 'avatar_url' is assigned to but never used
webapp/member/models.py:37:21: E221 multiple spaces before operator
webapp/member/models.py:56:63: W292 no newline at end of file
webapp/authentication/models.py:1:1: F401 'django.db.models' imported but unused
webapp/authentication/tests.py:1:1: F401 'django.test.TestCase' imported but unused
webapp/member/tests.py:1:1: F401 'django.test.TestCase' imported but unused
webapp/manage.py:14:13: F401 'django' imported but unused
webapp/books/serializers.py:9:1: W293 blank line contains whitespace
webapp/books/serializers.py:14:1: W293 blank line contains whitespace
webapp/books/serializers.py:19:1: W293 blank line contains whitespace
webapp/books/serializers.py:29:1: W293 blank line contains whitespace
webapp/books/serializers.py:39:1: W293 blank line contains whitespace
webapp/books/serializers.py:56:1: W293 blank line contains whitespace
webapp/books/serializers.py:71:1: W293 blank line contains whitespace
webapp/books/serializers.py:72:1: W293 blank line contains whitespace
webapp/books/serializers.py:77:1: W293 blank line contains whitespace
webapp/coderplex_apis/config/production.py:7:18: E201 whitespace after '['
webapp/coderplex_apis/config/production.py:10:1: E265 block commentshould start with '# '
webapp/coderplex_apis/config/production.py:24:60: W292 no newline at end of file
webapp/authentication/serializers.py:3:1: E302 expected 2 blank lines, found 1
webapp/authentication/serializers.py:6:1: E302 expected 2 blank lines, found 1
webapp/authentication/serializers.py:7:49: W292 no newline at end of file
webapp/member/admin.py:4:1: E302 expected 2 blank lines, found 1
webapp/member/admin.py:8:1: E305 expected 2 blank lines after classor function definition, found 1
webapp/member/admin.py:8:54: W292 no newline at end of file
webapp/member/views.py:2:80: E501 line too long (115 > 79 characters)
webapp/member/views.py:8:1: E302 expected 2 blank lines, found 1
webapp/member/views.py:26:1: E302 expected 2 blank lines, found 1
webapp/member/views.py:27:22: E128 continuation line under-indentedfor visual indent
webapp/member/views.py:33:80: E501 line too long (84 > 79 characters)
webapp/member/views.py:38:80: E501 line too long (84 > 79 characters)
webapp/member/views.py:45:47: W292 no newline at end of file
webapp/books/models.py:11:1: W293 blank line contains whitespace
webapp/books/models.py:16:1: W293 blank line contains whitespace
webapp/books/models.py:19:1: W293 blank line contains whitespace
webapp/books/models.py:20:1: W293 blank line contains whitespace
webapp/books/models.py:43:1: W293 blank line contains whitespace
webapp/books/models.py:48:1: W293 blank line contains whitespace
webapp/books/models.py:50:26: W292 no newline at end of file
webapp/books/views.py:1:1: F401 'django.shortcuts.render' imported but unused
webapp/books/views.py:7:1: F401 'rest_framework.views.APIView' imported but unused
webapp/books/views.py:10:1: F401 'django.db.models.query.QuerySet' imported but unused
webapp/books/views.py:24:1: W293 blank line contains whitespace
webapp/books/views.py:27:21: E128 continuation line under-indented for visual indent
webapp/books/views.py:31:1: W293 blank line contains whitespace
webapp/books/views.py:37:21: E128 continuation line under-indented for visual indent
webapp/books/views.py:40:1: W293 blank line contains whitespace
webapp/books/views.py:45:1: W293 blank line contains whitespace
webapp/books/views.py:51:25: E127 continuation line over-indented for visual indent
webapp/books/views.py:54:1: W293 blank line contains whitespace
webapp/books/views.py:59:1: W293 blank line contains whitespace
webapp/books/views.py:62:1: W293 blank line contains whitespace
webapp/books/views.py:63:1: W293 blank line contains whitespace
webapp/books/views.py:69:1: W391 blank line at end of file
webapp/books/admin.py:14:54: W292 no newline at end of file
webapp/coderplex_apis/views.py:4:1: E302 expected 2 blank lines, found 1
webapp/coderplex_apis/views.py:10:1: E302 expected 2 blank lines, found 1
webapp/coderplex_apis/views.py:13:68: W292 no newline at end of file
webapp/coderplex_apis/settings.py:29:5: F403 'from .config.production import *' used; unable to detect undefined names
webapp/coderplex_apis/settings.py:29:5: F401 '.config.production.*'imported but unused
webapp/coderplex_apis/settings.py:31:5: F403 'from .config.localhost import *' used; unable to detect undefined names
webapp/coderplex_apis/settings.py:31:5: F401 '.config.localhost.*' imported but unused
webapp/coderplex_apis/settings.py:44:1: W293 blank line contains whitespace
webapp/coderplex_apis/settings.py:100:80: E501 line too long (91 > 79 characters)
webapp/coderplex_apis/settings.py:103:80: E501 line too long (81 > 79 characters)
webapp/coderplex_apis/settings.py:106:80: E501 line too long (82 > 79 characters)
webapp/coderplex_apis/settings.py:109:80: E501 line too long (83 > 79 characters)
webapp/coderplex_apis/settings.py:190:30: E203 whitespace before ':'
webapp/coderplex_apis/settings.py:201:60: W292 no newline at end offile
webapp/authentication/admin.py:1:1: F401 'django.contrib.admin' imported but unused
webapp/member/serializers.py:4:1: E302 expected 2 blank lines, found 1
webapp/member/serializers.py:22:80: E501 line too long (281 > 79 characters)
webapp/member/serializers.py:24:1: E302 expected 2 blank lines, found 1
webapp/member/serializers.py:31:80: E501 line too long (83 > 79 characters)
webapp/member/serializers.py:33:80: E501 line too long (80 > 79 characters)
webapp/member/serializers.py:38:1: E302 expected 2 blank lines, found 1
webapp/member/serializers.py:42:27: E231 missing whitespace after ','
webapp/member/serializers.py:42:43: E231 missing whitespace after ','
webapp/member/serializers.py:42:55: E231 missing whitespace after ','
webapp/member/serializers.py:42:68: E231 missing whitespace after ','
webapp/member/serializers.py:42:80: E501 line too long (260 > 79 characters)
webapp/member/serializers.py:42:83: E231 missing whitespace after ','
webapp/member/serializers.py:42:101: E231 missing whitespace after ','
webapp/member/serializers.py:42:118: E231 missing whitespace after ','
webapp/member/serializers.py:42:137: E231 missing whitespace after ','
webapp/member/serializers.py:42:155: E231 missing whitespace after ','
webapp/member/serializers.py:42:174: E231 missing whitespace after ','
webapp/member/serializers.py:42:192: E231 missing whitespace after ','
webapp/member/serializers.py:42:210: E231 missing whitespace after ','
webapp/member/serializers.py:42:234: E231 missing whitespace after ','
webapp/member/serializers.py:46:80: E501 line too long (92 > 79 characters)
webapp/member/serializers.py:47:80: E501 line too long (80 > 79 characters)
webapp/member/serializers.py:48:80: E501 line too long (83 > 79 characters)
webapp/member/serializers.py:49:80: E501 line too long (89 > 79 characters)
webapp/member/serializers.py:50:80: E501 line too long (98 > 79 characters)
webapp/member/serializers.py:51:80: E501 line too long (95 > 79 characters)
webapp/member/serializers.py:52:80: E501 line too long (101 > 79 characters)
webapp/member/serializers.py:53:80: E501 line too long (98 > 79 characters)
webapp/member/serializers.py:54:80: E501 line too long (101 > 79 characters)
webapp/member/serializers.py:55:80: E501 line too long (98 > 79 characters)
webapp/member/serializers.py:56:80: E501 line too long (98 > 79 characters)
webapp/member/serializers.py:57:80: E501 line too long (116 > 79 characters)
webapp/member/serializers.py:58:80: E501 line too long (122 > 79 characters)
webapp/member/serializers.py:60:24: W292 no newline at end of file
webapp/member/migrations/0001_initial.py:22:80: E501 line too long (114 > 79 characters)
webapp/member/migrations/0001_initial.py:23:80: E501 line too long (83 > 79 characters)
webapp/member/migrations/0001_initial.py:24:80: E501 line too long (104 > 79 characters)
webapp/member/migrations/0001_initial.py:25:80: E501 line too long (101 > 79 characters)
webapp/member/migrations/0001_initial.py:27:80: E501 line too long (103 > 79 characters)
webapp/member/migrations/0001_initial.py:29:80: E501 line too long (104 > 79 characters)
webapp/member/migrations/0001_initial.py:30:80: E501 line too long (106 > 79 characters)
webapp/member/migrations/0001_initial.py:31:80: E501 line too long (105 > 79 characters)
webapp/member/migrations/0001_initial.py:32:80: E501 line too long (106 > 79 characters)
webapp/member/migrations/0001_initial.py:33:80: E501 line too long (105 > 79 characters)
webapp/member/migrations/0001_initial.py:34:80: E501 line too long (106 > 79 characters)
webapp/member/migrations/0001_initial.py:35:80: E501 line too long (113 > 79 characters)
webapp/member/migrations/0001_initial.py:36:80: E501 line too long (115 > 79 characters)
webapp/member/migrations/0001_initial.py:37:80: E501 line too long (142 > 79 characters)
webapp/member/urls.py:1:1: F401 'django.conf.urls.include' importedbut unused
webapp/member/urls.py:7:2: W292 no newline at end of file

And also I updated .gitignore with more generalised ignores for all editors and python recommended ignores

Just now found yapf by google a python code formatter. I configured this with pre-commit and lint errors reduced 🎉.
Below are remaining errors
hookid: flake8
webapp/coderplex_apis/config/production.py:10:1: E265 block comment
should start with '# '
webapp/authentication/views.py:2:80: E501 line too long (87 > 79 characters)
webapp/authentication/views.py:6:1: F401 'rest_framework.permissions
' imported but unused
webapp/member/models.py:5:1: F401 'django.contrib.auth.login' import
ed but unused
webapp/member/models.py:50:9: F841 local variable 'avatar_url' is as
signed to but never used
webapp/books/urls.py:1:1: F401 'django.conf.urls.include' imported b
ut unused
webapp/member/views.py:2:80: E501 line too long (115 > 79 characters
)
webapp/manage.py:14:13: F401 'django' imported but unused
webapp/coderplex_apis/settings.py:27:5: F403 'from .config.productio
n import *' used; unable to detect undefined names
webapp/coderplex_apis/settings.py:27:5: F401 '.config.production.*'
imported but unused
webapp/coderplex_apis/settings.py:29:5: F403 'from .config.localhost
 import *' used; unable to detect undefined names
webapp/coderplex_apis/settings.py:29:5: F401 '.config.localhost.*' imported but unused
webapp/coderplex_apis/settings.py:82:80: E501 line too long (83 > 79 characters)
webapp/books/views.py:1:1: F401 'django.shortcuts.render' imported but unused
webapp/books/views.py:7:1: F401 'rest_framework.views.APIView' imported but unused
webapp/books/views.py:10:1: F401 'django.db.models.query.QuerySet' imported but unused

Code Indentation/Formatting changed in PR is default rules set by yapf and above errors are also from default config of flake8.
Both flake8 and yapf can be configured with custom style preferences so check below links and configure as you prefer @pbteja1998 or @rrmerugu

http://flake8.pycqa.org/en/latest/
https://github.com/google/yapf

I think this cannot be merged until #21 is merged as it should pull .travis.yml for passing the travis-ci checks

@pbteja1998 No need we can ignore status check and merge if this PR is ready to be merged. Actually we need to merge this PR first and fix above lint errors and then configure travis with pre-commit hooks otherwise build will fail due to lint errors.

@vinaypuppal How can we ignore status checks, Merge pull request button is greyed out as travis-ci has failed.

@pbteja1998 I just disabled status checks requirements on PR's merging. We can reenable them once we configure travis fully.


Consider using the websocket api for history data

https://github.com/home-assistant/core/blob/9672b5f02cd453f0ea4b1f6a6a32f47098ad87ad/homeassistant/components/history/websocket_api.py#L100
The current call is using an HTTP GET which is much more expensive and slower:
https://github.com/alexarch21/history-explorer-card/blob/2c6965ff1e22db9ded474a4179af27dfb14e0d7f/src/history-explorer-card.js#L1609

Interesting. I have been using the WS api in a dev build before, but experienced strange results with concurrent calls. That was quite a while ago though, so it might have changed since.
Any reason behind the performance difference ? I would expect both calling the same backend functions. Or is it purely the HTTP REST overhead ?

Makes sense, thanks for the info. I'll switch to the WS API for normal history calls on the next release. It's cleaner anyway to use the same API for both history and statistics.

I have done some performance tests on using the WS API for history requests instead of the REST API. I did two test sets, one on requesting the most recent 24 hour period (most likely in the DB cache ?) and one requesting the last 3 weeks (which is the purge days period of my SQLite DB). This was performed on a set of 32 entities requested in a single call.
The DB is stored on a spinning disk NAS, mapped over NFS, on a 1Gbit link. That will obviously add overhead, but I would assume this overhead to be equal for both API calls and thus irrelevant for the comparison.
Only the DB request time was considered (time from issued request to successful callback), card-internal post-processing of the data was not measured. Sample size for the test was 30.
24 Hour period results:
  REST:  mean = 0.282 secs, σ = 0.26
  WS:    mean = 0.441 secs, σ = 0.35

21 Day period results:
  REST: mean = 3.1 secs, σ = 0.23
  WS:   mean = 2.7 secs, σ = 0.24

So this is interesting. In fact, the mean of the WS API calls was slower on small requests. This is mainly due to large outliers (see the std deviation). While most requests took around the same time as their REST counterparts, some WS requests took almost a second. These outliers skewed the mean. I did not observe these outliers with the REST API over the same requested time period. This is actually visually noticeable when you fast scroll through the history by sliding around when viewing a single day worth of data (which is the default). Since at that range the card typically streams in the data in small 24 blocks, the WS API calls introduces visible brief lags.
When requesting 21 day periods, the WS API is faster, but not by much. The performance increase is not really noticeable in practice. What kind of speedup should I expect here ?
The WS call data is as follows:
{
  type: 'history/history_during_period',
  start_time: t0,
  end_time: t1,
  minimal_response: true,
  no_attributes: true,
  entity_ids: l
}

How are you measuring the REST and WS socket api calls?

Client side, Date.now() call before issuing the request and another first thing in the callback. There's some variation to be expected here especially on the small time frames (Date.now() is hardly a performance counter and the browser is not an RT OS), thus the larger sample size. The results were surprisingly consistent though, except for the WS outliers.

How does that compare to what the browser shows for request time in the inspector?

Good question. Gut feeling is that it won't be far off, as code overhead outside of the request is minimal. I'll check tomorrow.

Also is HA running on the local machine or is the LAN in the test?

Test is running on LAN. Host is a Pi4 (HA Core in venv), client is my dev PC. Dedicated single connection to the HA backend, the Pi4 is a dedicated dev system on an isolated subnet.

Also I assume you are testing with no concurrency and all http connection slots are available with the chrome defaults of 6 connections per host?

Correct.

Also which version of HA are you testing against?

2023.3.0. Should I try the most recent dot release instead ?

Are you running a dev or production frontend build?

Production build.

Those results are unexpected for sure.  It would be great to get a py-spy to see more of what's going on to see if there is some type of internal contention on the websocket and that won't only affect history but all of the frontend.
https://community.home-assistant.io/t/instructions-to-install-py-spy-on-haos/480473
Note that 0.3.14 has since been released since the above was published.
The rest api has to do date time conversions from the database timestamp a to python datetime object and than format everything as isoformat time strings.
The web socket api doesn't have the overhead.
From a processing perspective the code run time to generate the rest response is always going to be longer.

About the moderate speed increase for the 21 day request, could the reason be the fact that the overhead from accessing the DB file over NFS is so large that it overshadows the API performance differences ? Possibly local storage of the DB (SSD) would yield much larger differences.

About the moderate speed increase for the 21 day request, could the reason be the fact that the overhead from accessing the DB file over NFS is so large that it overshadows the API performance differences ? Possibly local storage of the DB (SSD) would yield much larger differences.

I was wondering why the times were so high. The I/O likely shadows any processing time.

It would also good to try with 2023.4.x dev since the history backend calls have all be reworked 5 days ago https://github.com/home-assistant/core/blame/dev/homeassistant/components/recorder/history/modern.py

To be honest, NFS is a terrible choice to map an SQLite file. But it is what it is (and it never really bothered me on my day to day production system). I'll see if I can find a spare SSD somewhere around the office and hook it up to the Pi with a local copy of the DB. That should make speed differences in data processing much more visible.

It would also good to try with 2023.4.x dev since the history backend calls have all be reworked 5 days ago

Oh nice ! I'll definitely try that.
I mean I'm going to switch the next release of the card to the WS API either way, simply because of consistency reasons and because I assume this is going to be the way forward in the future for HA frontend access (which would make sense). I'll just try to get to the bottom of the random spikes on small chunks, because those are weird.

There is some code to coalesce the websocket messages if you're getting a burst of them to prevent HA from getting overloaded.
If you open the inspector and watch the web socket, it should be pretty obvious if that's what's happening

Ok, noted. I need to do some more tests. This discussion gave me some interesting ideas about things to investigate further. Updates about my findings will follow. Thanks for the assistance !

Some preliminary results from additional testing by observing the WS activity with inspector and correlating the timing to the JS function timing.
The timing acquired from the JS code above equals almost perfectly the timing from the raw websocket requests in the stream, with a negligible few ms of call overhead. There is also no WS contention or coalescing on this particular messages. The time spent is 99% in the backend for processing the request, the WS is in wait state during almost the entire request - reply cycle. So far, so expected. This also rules out client side issues.
The timing spikes I encountered on the 24h history fetches are also fully on the backend. Identical WS history requests will usually complete within 250-300 ms with the given test data. But from time to time, the same request will take >=800ms in the backend:
306 ms:

799 ms:

More server side tests would be needed to trace this, but I personally think this is a spike generated by the NFS share on my system, possibly due to FS I/O or a stall due to a concurrent write. In other words, it's not likely to occur with most user systems out there. I do not see this issue as a roadblock switching the card to WS history.
I'm still going to do a quick test with a copy of the test DB on a ramdisk to rule out anything else HA side (and out of curiosity) and also check out the 2023.4 dev build. I'm targeting the new card build for end of the week, so I don't want to spend too much time on what seems an issue mostly tied to my own setup.

Can you see if its better with this patch ?
https://github.com/home-assistant/core/pull/89905

Sure, let me try this and get back to you.

Implemented in V1.0.45.

Thanks. Websocket bottleneck should be fixed in 2023.4.x

Yeah I saw your fix was merged to core. Excellent.


Improve namespace management

Support nested namespaces when it is partially set on the picker.

on the topic of improved namespace management I would also like to tag on the function to have namespaces that are used in scripted buttons also be swapped out when a user changes the assigned namespace. animschool picker supported this if you put the namespaces inside ''. currently it seems that namespaces used in scripts are just hardcoded and not effected by the overal namespace assignment of the picker.

Finally allow the user customize the namepace switch at his ownway letting him set a custom function.


[BIOMAGE-963] - Add species metadata input

Background
Link to issue
https://biomage.atlassian.net/browse/BIOMAGE-963
Link to staging deployment URL
https://ui-agi-ui296.scp-staging.biomage.net/
Links to any Pull Requests related to this
N.A.
Anything else the reviewers should know about the changes here

Add dropdown as input to species metadata

Changes
Code changes

Remove DATA_MISSING status as it is not used anymore

Definition of DONE
Your changes will be ready for merging after each of the steps below have been completed:
Testing

[ ] Unit tests written
[X] Tested locally with Inframock (with latest production data downloaded with biomage experiment pull)
[X] Deployed to staging

To set up easy local testing with inframock, follow the instructions here: https://github.com/biomage-ltd/inframock
To deploy to the staging environment, follow the instructions here: https://github.com/biomage-ltd/biomage-utils
Documentation updates
Is all relevant documentation updated to reflect the proposed changes in this PR?

[ ] Relevant Github READMEs updated
[ ] Relevant wiki pages created/updated

Approvers

[ ] Approved by a member of the core engineering team
[ ] (UX changes) Approved by vickymorrison (this is her username, tag her if you need approval)

Just before merging:

[ ] After the PR is approved, the unstage script in here: https://github.com/biomage-ltd/biomage-utils is executed. This script cleans up your deployment to staging

Optional

[ ] Photo of a cute animal attached to this PR

Miles better than last time I looked at it, happy to get it merged


New Developer Setup and Build System

Pull Request Checklist:

[ ] Positive Test Case Written by Dev

[ ] Automated Testing

[ ] Sufficient User and Developer Documentation

[ ] Passing Jenkins Build

[ ] Peer Code review and approval

Positive Test Case

[Enter positive test case here]

These files are all inactive and are simply being staged for cutover, after core developers have adopted the new dev setup and the Jenkins build is complete (in progress 1/3/2019)


Hashing Techniques in C++

🚀 Feature
I would like to add the program for implementing hashing techniques ( Linear Probing, Quadratic Probing and Double Hashing) in C++ as a part of GSSOC'21.
Have you read the Contributing Guidelines on Pull Requests?
YES.

/assign


PackageId:CPython39.Exe.x64;PackageAction:DownloadPackage;ReturnCode:0x80070197;

This issue has been moved from a ticket on Developer Community.

This is already the second time this error occurs during the upgrade to VS CE version 17.5.1
===DO NOT EDIT BELOW THIS LINE===
PackageId:CPython39.Exe.x64; PackageAction:DownloadPackage; ReturnCode:0x80070197;

Original Comments
Feedback Bot on 3/6/2023, 05:33 PM:
(private comment, text removed)

Original Solutions
(no solutions)

It seems the problem occurs when the CPython installer fails. This could be due to network timeouts, corporate firewall policy, VPN configuration, anti-virus, or other problems. See if a retry helps, and if not, see if you can download the Python runtime directly from https://python.org/ and install it manually.
If that doesn't solve your issue, we could use more detailed logs to see what's really going on. Can you please collect more logs by running http://aka.ms/vscollect.exe and uploading %temp%\vslogs.zip and reopen the ticket if it persists? Thank you!😊


fix key constraints

Brex has database named with letters and underscores, e.g. 'i2c', 'i2c_staging'

Also a small fix for Badge thing. @adcheong @minsuo @wli-brex
It looks like we don't need an approval for this repo 🍾

This looks like a good candidate to contribute to the open source, and to keep us not diverging from the open sourced amundsen too far.

Actually the constrains were already removed here, https://github.com/amundsen-io/amundsen/commit/aa67a0c14d191501b23ea488f1a4b9d4bbe20230#diff-1eb09b5d29f66bcea3cd4a4a23befe3c93d8e577a33de1e9d903f3fb9c1faffd

Created another PR against the open sourced repo https://github.com/amundsen-io/amundsen/pull/1216


Add integration test for remote command stdout piping.

Part of #205.
If this PR gets approved, I'll submit another one for stderr.

And why do we need this test at all? You don’t trust SSH implementations?

Well, because we control if ssh output gets piped into Mainframer output or not and it's pretty easy to break during development.

Also, in future we might want to implement protocol ssh inside Mainframer

Yeah, we should definitely move samples out of this repo:
(damn Bintray)
* What went wrong:
A problem occurred configuring root project 'run'.
> Could not resolve all files for configuration ':classpath'.
   > Could not download gradle-core.jar (com.android.tools.build:gradle-core:2.2.3)
      > Could not get resource 'https://jcenter.bintray.com/com/android/tools/build/gradle-core/2.2.3/gradle-core-2.2.3.jar'.
         > Could not GET 'https://jcenter.bintray.com/com/android/tools/build/gradle-core/2.2.3/gradle-core-2.2.3.jar'.
            > Connect to akamai.bintray.com:443 [akamai.bintray.com/<IP_ADDRESS>] failed: Connection timed out (Connection timed out)


Achievement Navigator is not returning Global Badges

PR: https://github.com/NationalSecurityAgency/skills-service/pull/222

:+1:

Looks like we need to rollback this ticket as right now global badge achievements are shown in the projects that may not be long to a global badge; looking at the code it would be too expensive to figure it out

Rolled back


hello world in c language

What the program do ?

In what programming language it is written?

hello world in c


macros followed by parenthesis are always interpreted as macro parameters

Consider the following testcase:
`define D #1
module test(input clk);
reg d;
always @(posedge clk)
    d <= `D (~d);
endmodule

Running surelog test.v yields:
[INF:CM0023] Creating log file ./slpp_all/surelog.log.

[ERR:PP0107] test.v:5: Too many arguments (1) for macro "D",
             test.v:1:9: macro definition takes 0.

[  FATAL] : 0
[ SYNTAX] : 0
[  ERROR] : 1
[WARNING] : 0
[   NOTE] : 0

Verilator, Yosys and Xcelium handles this code with no warnings.

I've originally tried to fix this myself, in PreprocessFile.cpp, around lines 800-846, but then I realized that each time a macro invocation is followed by a '(', it is automatically considered as part of the macro parameters, regardless of the actual macro definition, and so it must be fixed in the lexer/parser.
The lexer/parser should not consume the '(' as part of the macro invocation unless the macro is already defined with one or more parameters.
I've looked at the grammar/SV3_1aPpLexer.g4, grammar/SV3_1aPpParser.g4, grammar/SV3_1aLexer.g4 and grammar/SV3_1aParser.g4 ,  but I'm not sure which rule exactly is handling this.

This what I came up with so far:
diff --git a/grammar/SV3_1aPpParser.g4 b/grammar/SV3_1aPpParser.g4
index e04845ed3..78ca8e974 100644
--- a/grammar/SV3_1aPpParser.g4
+++ b/grammar/SV3_1aPpParser.g4
@@ -16,6 +16,16 @@

 parser grammar SV3_1aPpParser;

+@parser::members {
+  //
+  bool isParamMacro() {
+    const std::string macro_name = getCurrentToken()->getText().substr(1);
+    bool is_macro_with_param = (macro_name != "D"); // just a dummy test for the moment
+    //std::cout << (is_macro_with_param ? "param\n" : "no_param\n");
+    return is_macro_with_param;
+  }
+}
+
 options { tokenVocab = SV3_1aPpLexer; }

 top_level_rule : null_rule source_text EOF ; // SV files
@@ -99,7 +109,7 @@ description :

 escaped_identifier : Escaped_identifier;

-macro_instance : (Macro_identifier | Macro_Escaped_identifier) Spaces* PARENS_OPEN macro_actual_args PARENS_CLOSE # MacroInstanceWithArgs
+macro_instance : {isParamMacro()}? (Macro_identifier | Macro_Escaped_identifier) Spaces* PARENS_OPEN macro_actual_args PARENS_CLOSE # MacroInstanceWithArgs
                | (Macro_identifier | Macro_Escaped_identifier)                                                    # MacroInstanceNoArgs

I've added a semantic predicate to the macro_instance rule part that parses macros with parameters.
I wrote a skeleton function to detect if a macro has parameters or not.
I can extract the macro name, and in the skeleton example I check if it does not begins with the letter "D".
This works OK (The original test.v is now parsed correctly because a macro named D is assumed to have no params, but a macro named E will be assumed to have parameters and fail to parse the test.v file, modified to use a parameter E instead of D).
Now all that is left is to replace the dummy check with a real one based on getDefineList() . However, I don't know how to access this method within the isParamMacro() method in the ANTLR PpParser class.
Any idea how to call getDefineList() from the PpParser class?

There is no back pointer from PpParser (antlr generated) to the
Preprocessor class. The PpParser class would have to be made a subclass of
some class with such pointer using multiple inheritance as it has its own
antlr parent class.
Grammar predicates are also slow and make the grammar target language
dependant.
The grammar can be executed in Java too today which is convenient for debug
and profiling.
Maybe the grammar needs a more profound change not to hastily absorb the
parenthesis or simply take the space in between the macro invocation and
the parenthesis as a deal breaker (end of macro instance)
On Mon, Aug 15, 2022, 18:37 Udi Finkelstein @.***>
wrote:

This what I came up with so far:
diff --git a/grammar/SV3_1aPpParser.g4 b/grammar/SV3_1aPpParser.g4
index e04845ed3..78ca8e974 100644
--- a/grammar/SV3_1aPpParser.g4
+++ b/grammar/SV3_1aPpParser.g4
@@ -16,6 +16,16 @@
parser grammar SV3_1aPpParser;
@.***::members {

//
bool isParamMacro() {
const std::string macro_name = getCurrentToken()->getText().substr(1);
bool is_macro_with_param = (macro_name != "D"); // just a dummy test for the moment
//std::cout << (is_macro_with_param ? "param\n" : "no_param\n");
return is_macro_with_param;
}
+}

options { tokenVocab = SV3_1aPpLexer; }
top_level_rule : null_rule source_text EOF ; // SV files
@@ -99,7 +109,7 @@ description :
escaped_identifier : Escaped_identifier;
-macro_instance : (Macro_identifier | Macro_Escaped_identifier) Spaces* PARENS_OPEN macro_actual_args PARENS_CLOSE # MacroInstanceWithArgs
+macro_instance : {isParamMacro()}? (Macro_identifier | Macro_Escaped_identifier) Spaces* PARENS_OPEN macro_actual_args PARENS_CLOSE # MacroInstanceWithArgs
| (Macro_identifier | Macro_Escaped_identifier)                                                    # MacroInstanceNoArgs
I've added a semantic predicate to the macro_instance rule part that
parses macros with parameters.
I wrote a skeleton function to detect if a macro has parameters or not.
I can extract the macro name, and in the skeleton example I check if it
does not begins with the letter "D".
This works OK (The original test.v is now parsed correctly because a
macro named D is assumed to have no params, but a macro named E will be
assumed to have parameters and fail to parse the test.v file, modified to
use a parameter E instead of D).
Now all that is left is to replace the dummy check with a real one based
on getDefineList() . However, I don't know how to access this method
within the isParamMacro() method in the ANTLR PpParser class.
Any idea how to call getDefineList() from the PpParser class?
—
Reply to this email directly, view it on GitHub
https://github.com/chipsalliance/Surelog/issues/3145#issuecomment-1215325295,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/APFYJ5D2UBEVZISYYHPXBCDVZJW37ANCNFSM56EEALWA
.
You are receiving this because you were assigned.Message ID:
@.***>

Maybe the grammar needs a more profound change not to hastily absorb the parenthesis or simply take the space in between the macro invocation and the parenthesis as a deal breaker (end of macro instance)

According to the Verizon-2005 standard this is indeed the correct behaviour: "The left parenthesis shall follow the text macro name immediately, with no space in between." (Page 351, section 19.3.1 `define).

OK, I was making some progress with semantic predicates (code still not working due to getMacro() below returning NULL)
@header {
#include <Surelog/SourceCompile/CompileSourceFile.h>
#include <Surelog/SourceCompile/PreprocessFile.h>
#include <Surelog/CommandLine/CommandLineParser.h>
#include <Surelog/SourceCompile/MacroInfo.h>
}
@parser::members {
  //
  PreprocessFile *pp;
  CommandLineParser *clp;
  void setPreprocessFile(PreprocessFile *pp) {
    this->pp = pp;
    this->clp = pp->getCompileSourceFile()->getCommandLineParser();
  }
  bool isParamMacro() {
    const std::string macro_name = getCurrentToken()->getText().substr(1);
    SymbolId macroId = pp->registerSymbol(macro_name);
    // if it's inm the +define override list, it has no macro arguments
    if (clp->getDefineList().count(macroId))
      return false;
    MacroInfo* m = pp->getMacro(macro_name);
    if (m->m_type == MacroInfo::Type::NO_ARGS)
      return false;
    return true;
  }
}

But given your suggestion I'll drop it and change this according to @shash 's comment above.
Also, as part of debugging the code above, I was surprised to learn that +define+NAME=val definitions override  `define declarations in the code. I was always under the assumption +define is only used to assign an initial value to the macro that can be overridden in the code.
getMacro() is looking first in m_define and only if not found, it is looking in the macro list.

Maybe the grammar needs a more profound change not to hastily absorb the parenthesis or simply take the space in between the macro invocation and the parenthesis as a deal breaker (end of macro instance)

According to the Verizon-2005 standard this is indeed the correct behaviour: "The left parenthesis shall follow the text macro name immediately, with no space in between." (Page 351, section 19.3.1 `define).

Not so fast...
Upon checking the relevant quote (ieee1364-2005), it seems the "no space between macro name and left parenthesis" rule applies to macro definition, not to macro usage. In fact, for macro usage, the explicit quote on the same page is:
To use a macro defined with arguments, the name of the text macro shall be followed by a list of actual
arguments in parentheses, separated by commas. White space shall be allowed between the text macro name
and the left parenthesis.
The exact same wording also appears in IEEE1800-2017, section 22.5.1 (pages 676-677).
According to the standard, whitespaces may or may not appear between the macro name and the macro arguments left parenthesis, precluding any use of whitespaces for deciding if this macro has arguments or not.
This leaves me no choice other than using a semantic predicate.

I've been trying to solve this for a few days, but I'm not making progress, and would appreciate if someone took a look at it.
The PR contains 3 variations I've tried , but none work.
I've put debug prints around getMacroInfo() and registerMacroInfo(), and I'm getting  two calls to getMacroInfo() before the call to registerMacroInfo() and I don't know why.

This approach cannot work.
The predicate is called during parsing:

The macro is recorded during walking the parse tree (Too late, walking is done AFTER parsing):

I guess that is a limitation of the approach I took to write the preprocessor, predicates depending on walking the parse tree cannot work by construction.

@udif, @alaindargelas
In https://github.com/Nic30/hdlConvertor we have use antlr mode feature to address this specific issue.
This allow to switch to specific grammar interpretation on specific part of the source code.
With this approach the grammar is no longer language agnostic, because verilog/SystemVerilog is so complex that some FSM is required to control in the lexer which token are emit but also mode evolution.
Antlr is a fantastic tool but I there not enough language agnostic options to address complex language as C++ or systemVerilog without adding language specific code ... Leading later to difficulties to only work on parser aspect of the tool.
Following python script using hdlConvertor produce the preprocessed code of your example:
from hdlConvertor import HdlConvertor
from hdlConvertorAst.language import Language

c = HdlConvertor()

test_result = c.verilog_pp("test.v",Language.VERILOG, [])
print(test_result)

Result:

module test(input clk);
reg d;
always @(posedge clk)
    d <= #1 (~d);
endmodule

Thanks @Thomasb81 for the pointer.
In Surelog case, since all the preprocessing magic happens in the walker, this is where I just had to relax a bogus rule.
Fixed with #3167

@alaindargelas thanks for solving this, I'm on to the next issues with my codebase (trying to understand why a certain path is not added to the `include file search path).
I always prefer coming up with a solution rather than just an issue. I hope next time I'll have a more useful PR.


[Technical] Extracted analysis config creation code to separate class

Re-arranged existing tests.
This is a pre-cursor to further work on SONARMSBRU-127 (don't write secrets to the config file)

LGTM


Error: undefined variable "data" in check block

Documentation claims:

checks cannot store any values. Their return values are always discarded. However, they have access to both the data and results maps

https://github.com/anyalir/behave/blob/34f72a5f3893c02e745e19a6e023146ac919081f/README.md?plain=1#L118
elixir: 1.15.4-otp-26:
defmodule TestPhxProjWeb.AccountsTest do
  use ExUnit.Case
  use Behave, steps: [TestPhxProjTest.Web.AccountsSteps]

  @moduletag :acceptance

  scenario "login existing user" do
    given"signed up user"
    act "signs in with"
    check "received session token"
  end
end

defmodule TestPhxProjTest.Web.AccountsSteps do
  use Behave.Scenario
  use TestPhxProjTest.Web.ConnCase

  given "signed up user" do
    {:user, :test}
  end

  act "signs in with" do
    t = if data.user == :test, do: "123", else: "321"
    {:token, t}
  end

  check "received session token" do
    assert data.user
    assert results.token
  end
end

$ MIX_ENV=test mix test
Compiling 1 file (.ex)
error: undefined variable "data"
  test/support/test_phx_proj_test/web/accounts_steps.ex:15: TestPhxProjTest.Web.AccountsSteps.check_received_session_token/2

== Compilation error in file test/support/test_phx_proj_test/web/accounts_steps.ex ==
** (CompileError) test/support/test_phx_proj_test/web/accounts_steps.ex: cannot compile module TestPhxProjTest.Web.AccountsSteps (errors have been logged)

Fixed in 0.2.0. The data maps are no longer just injected in the macro, they need to be actively dereferenced as an argument to a step :)


Probably time for an upstream update

Hey there, nice plugin. Been a while without update, I suppose it'd be time for an upstream update.
I suggest you minimise the amount of changes to files so it's easier to get upstream updates.
Like only top of Readme modified, use a different changelog for local files,
hub clone sfarbota/toggl-button-for-custom-websites
cd toggl-button-for-custom-websites
hub remote add toggl/toggl-button
hub fetch all --tags
hub merge toggl/master
hub status

        both modified:   CHANGES
        both modified:   README.md
        both modified:   src/html/settings.html
        both modified:   src/manifest.json
        both modified:   src/scripts/background.js
        both modified:   src/scripts/settings.js
        both modified:   src/styles/settings.css
        both modified:   src/styles/style.css

I don't have much time to play on this right now, but I may give a try in the near future as I toggl button a lot and I don't like keeping my own fork of the repo with custom url entries. This fork is a really good solution.

Ah nervermind, upstream now support custom domain, closing this, I guess this fork should be marked as abandoned ;)


Resolve syncing conflicts from repo_sync_working_branch to master

Pull request opened by OPS to resolve syncing conflicts from repo_sync_working_branch to master.

@huypub : Thanks for your contribution! The author, @mgoedtel, has been notified to review your proposed change.

@huypub : Thanks for your contribution! The author, @davidmu1, has been notified to review your proposed change.

@huypub : Thanks for your contribution! The author, @davidmu1, has been notified to review your proposed change.


Electron-builder autoupdate

Found an issue or bug with electron-vue? Tell me all about it!
Although referenced in the documentation and issue #502, electron-builder auto-updater is not working. I am not using code signing, but I am curious what about the boilerplate is keeping it from working since I have tested generic electron apps (such as auto update example) that work without code signing. I thought code signing was only required with mac.
Describe the issue / bug.
When using the default code in main/index.js, as well as modified code from auto updater example repository, auto update is not working, and I cannot even get electron-log to create a log.
How can I reproduce this problem?
Uncomment the code in main/index.js, set-up package.json file and create repository/git and link and publish and update.
If visual, provide a screenshot.
#
Tell me about your development environment.

Node version: 10.15.1
NPM version: 6.9.0
vue-cli version: (if necessary)
Operating System: windows 10

Update. Auto update does work without keys for windows only. My main issue was that I was trying to auto update a private repository. My workaround was to have two repositories. One for the source code which is private, and one for the releases, which is public. I have attached the most basic SimulatedGreg repository with auto update working https://github.com/wstefan20/autoupdate


update Device state error: TypeError: Cannot read property 'activeCount' of undefined

[2/25/2021, 1:19:30 PM] [enphaseEnvoy] Device: <IP_ADDRESS> Envoy, update Device state error: TypeError: Cannot read property 'activeCount' of undefined
at envoyDevice.updateDeviceState (/homebridge/node_modules/homebridge-enphase-envoy/index.js:1536:69)
at runMicrotasks ()
at processTicksAndRejections (internal/process/task_queues.js:93:5)
Versie 4.6.5beta 5
envoy firmware: 5.0.55

try beta .6

it works with beta 6