No change to setup (running on Rpi) but service refuses to load now

Appreciate the work done on this and have been using this since version sub 1.0
I have the service running on a headless Rpi, which all of a sudden refuses to load. Reboots of the Rpi don't work, and I've tried wiping the config file with a fresh one, but same error.
Log file shows:
Jul 15 19:07:10 raspberrypi systemd[1]: Started HA Bridge.
Jul 15 19:07:12 raspberrypi java[913]: 2020-07-15 19:07:12,826 [main] INFO  com.bwssystems.HABridge.HABridge - HA Bridge startup sequence...
Jul 15 19:07:13 raspberrypi java[913]: 2020-07-15 19:07:13,389 [main] INFO  com.bwssystems.HABridge.HABridge - HA Bridge (v5.3.0) initializing....
Jul 15 19:07:13 raspberrypi java[913]: 2020-07-15 19:07:13,398 [main] INFO  com.bwssystems.HABridge.BridgeSettings - reading from config file: /home/pi/ha-bridge/data/habridge.config
Jul 15 19:07:13 raspberrypi java[913]: Exception in thread "main" java.lang.NullPointerException
Jul 15 19:07:13 raspberrypi java[913]: #011at com.bwssystems.HABridge.BridgeSettings.buildSettings(BridgeSettings.java:170)
Jul 15 19:07:13 raspberrypi java[913]: #011at com.bwssystems.HABridge.HABridge.main(HABridge.java:58)
Jul 15 19:07:13 raspberrypi systemd[1]: ha-bridge.service: Main process exited, code=exited, status=1/FAILURE
Jul 15 19:07:13 raspberrypi systemd[1]: ha-bridge.service: Failed with result 'exit-code'.
Unfortunately I can't get it to run so can't change any settings via the web UI
Should I just wipe the Pi and start a fresh Raspbian install?

I have exactly the same issue.  Did you manage to resolve.

Which version of the ha-bridge is being run as it is not in the log?

I am runnung 1.10.5 (nodemcuv2).  I resolved the issue soon after posting.  I copied ha-bridge.config to ha-bridge.config.old and then the service started.  I must have then restored from a backup.


Backup-DbaDatabase, fixes

Trying to fix the commented out test revealed an actual bug on the cmdlet.
This PR fixes the cmdlet, re-enables the commented out test and reformats the test structure to be more resilient.

looks graet!


builtins/gomodifytags: allow more places and add transform tag

add some improvements to the builtin gomodifytags code actions:

allow the code action to be triggered in more places
add option to add tag with -transform flag

before:

after:

looks good, thanks!


Add a linter name

Add rails_best_practices as a provider name so this can be identified in the results when multiple providers return results for a file.

Closing as Atom has been sunset and is no longer maintained.


Officer Ranks per Deparment

Describe the feature
It doesn't really make sense in a realistic way to have City, County, and State police, plus Fire and Medical, to use the same ranks. It also looks clunky and weird to add all ranks and use it that way. This would allow the ability to add ranks per department instead of CAD-wide, so if you were managing a unit in a department, you'd only see that department's ranks, and not others.
Additional Context
No response

So, allow admins to connect departments to a rank?
Something like this:

Yes, that's it

just to verify, multiple departments can be connected to 1 rank


Submitting the script to generate the vtctl reference doc,

and running it for up-to-date doc.
(Andy, this is the latest version from your root, we can just use this one here now, I just fixed the imports and command line parameter parsing, that's it).
@enisoc @yaoshengzhe @AndyDiamondstein

LGTM


loss is more and more high

[Epoch 0] Training cost: 35.768, ObjLoss=42.200, BoxCenterLoss=37.298, BoxScaleLoss=14.781, ClassLoss=0.939
[Epoch 0] Validation: person=0.6338410132892208 mAP=0.6338410132892208
[Epoch 1] Training cost: 17.886, ObjLoss=46.407, BoxCenterLoss=37.463, BoxScaleLoss=14.374, ClassLoss=1.023
[Epoch 1] Validation: person=0.0 mAP=0.0
[Epoch 2] Training cost: 31.236, ObjLoss=52.590, BoxCenterLoss=37.873, BoxScaleLoss=14.191, ClassLoss=1.185
[Epoch 2] Validation: person=0.0 mAP=0.0
[Epoch 3] Training cost: 29.734, ObjLoss=54.700, BoxCenterLoss=37.806, BoxScaleLoss=13.992, ClassLoss=1.190
[Epoch 3] Validation: person=0.0 mAP=0.0
[Epoch 4] Training cost: 22.907, ObjLoss=63.392, BoxCenterLoss=38.285, BoxScaleLoss=14.898, ClassLoss=1.272
[Epoch 4] Validation: person=0.0 mAP=0.0
[Epoch 5] Training cost: 19.434, ObjLoss=72.727, BoxCenterLoss=38.863, BoxScaleLoss=14.923, ClassLoss=1.251
[Epoch 5] Validation: person=0.0 mAP=0.0
[Epoch 6] Training cost: 26.812, ObjLoss=78.407, BoxCenterLoss=39.377, BoxScaleLoss=15.238, ClassLoss=1.155
[Epoch 6] Validation: person=0.0 mAP=0.0
[Epoch 7] Training cost: 27.619, ObjLoss=82.524, BoxCenterLoss=39.706, BoxScaleLoss=15.594, ClassLoss=1.060
[Epoch 7] Validation: person=0.0 mAP=0.0

Looks like the training diverges. Which dataset are you using?

@chongruo do you have some insight on this issue?

It is probably because you are in a trial with a large learning rate. Could you try to lower the range of searching space for the learning rate?

it is a custom daatset about human head,sometime the result is pretty good but sometime is very bad(same code in two training process),....the mAP was sudden death.
this is my dataset.you can test it if you have free time.i can upload to google drives if you need.thank you

https://pan.baidu.com/s/1LnxMH0auYR6SzWWelXBo5g  密码: ci41

i dont know it is my wrong or bug.the code couldnt save model,and i haven`t saw the argument to choose yolo or ssd or fasterrcnn.
i guass @chongruo mean is set 'ag.Categorical(5e-4, 1e-4)'?
this is my original code(amazing! i just need two lines code!):

import autogluon as ag
from autogluon.task.object_detection.object_detection import ObjectDetection as task
dataset_train = task.Dataset('/home/arno/Dataset/SCUT_HEAD_Part_B', classes=('person',))
time_limits = 5 * 60 * 60  # 5 days
epochs = 30
detector = task.fit(dataset_train,num_trials=2,epochs=epochs,lr=ag.Categorical(5e-4, 1e-4),ngpus_per_trial=1,time_limits=time_limits, batch_size=8,save_prefix='head_',save_interval=1)

Yes, you can set small learning rates by changing parameters in ag.Categorical(). We will support ssd and faster-rcnn soon.

thank you for your help, i have tried( ag.Categorical(1e-4,1e-5,1e-6 )),the mAP always got 0.0.when i use demo lr(5e-4,1e-4),sometime it can got a good result....so i don`t know what is the reason for this problem.

Is your final mAP 0.0, or just intermediate mAP 0.0? Did you finish training all trials? It will final_fit the model after obtaining the best config.

maybe i was too anxious...i will try to finish the whole process,i will put issue if i have new problem,thank you and sorry.


Improve the library

Thanks to @pitag-ha who gives me a outcome about the interface. I licensed the project under MIT (as usual) and I wrote a simple README.md which shows how to use this library.

but we seem to lose the possibility to specify a different authenticator.

I think you are totally right and we should add an ?authenticator option :+1:.


update to jquery-textcomplete v0.3.7

updates to jquery-textcomplete v0.3.7 :sunglasses:

+1

Oh, sorry, I didn't see the initial email about PR. Thank you very much for updating, sweet!

new version just pushed.


mvn clean install /aixm-5.1 Unknown lifecycle phase error

I try to install submodule dependencies but i get the following error:
`(venv)fns-client git:(v1.0) mvn clean install /aixm-5.1
[INFO] Scanning for projects...
[INFO]
[INFO] -------------------< us.dot.faa.swim.fns:fns-client >-------------------
[INFO] Building fns-client 1.0
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  0.190 s
[INFO] Finished at: 2021-03-11T21:21:49+05:00
[INFO] ------------------------------------------------------------------------
[ERROR] Unknown lifecycle phase "/aixm-5.1". You must specify a valid lifecycle phase or a goal in the format : or :[:]:. Available lifecycle phases are: validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy, pre-clean, clean, post-clean, pre-site, site, post-site, site-deploy. -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/LifecyclePhaseNotFoundException
`
I am on macos big sur 11.1 (20C69)
(venv) ‚ûú  fns-client git:(v1.0) mvn --version
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: /usr/local/Cellar/maven/3.6.3_1/libexec
Java version: 15.0.1, vendor: N/A, runtime: /usr/local/Cellar/openjdk/15.0.1/libexec/openjdk.jdk/Contents/Home
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "11.1", arch: "x86_64", family: "mac"
(venv) ‚ûú  fns-client git:(v1.0) java --version
java 14.0.2 2020-07-14
Java(TM) SE Runtime Environment (build 14.0.2+12-46)
Java HotSpot(TM) 64-Bit Server VM (build 14.0.2+12-46, mixed mode, sharing)

you have to cd into that folder and then run mvn clean install
cd aixm-5.1/
mvn clean install

Updated readme to include -f with pom.xml
mvn clean install -f ./aixm-5.1/pom.xml
mvn clean install -f ./jms-client/pom.xml
mvn clean install -f ./swim-utilities/pom.xml


Adding University Asen Zlatarov

domains: uniburgas.bg
btu.bg

@MiroKolev Thank you for your patience while waiting for a review and processing your request. Pull request merged. Please start applying for JetBrains educational subscription at https://www.jetbrains.com/shop/eform/students in an hour, to allow the changes to propagate through JetBrains systems.


Unable to have multiple datepickers in different locales

react-dates version
<EMAIL_ADDRESS><EMAIL_ADDRESS>The Bug
This occurs when changing the global locale for the moments singleton , then creating a new instance of moments in a different locale and using that as the date prop. The month names change, however the week headers (DayPicker_weekHeader) stay in the locale used in the global moments singleton.
This makes it very difficult to have multiple locale versions of the date picker. I've managed to narrow down where I think the issue is:
DayPicker.jsx
    const header = [];
    for (let i = 0; i < 7; i += 1) {
      header.push((

          {moment().day((i + firstDayOfWeek) % 7).format(weekDayFormat)}

      ));
    }

Instead of using the passed in moments instance like currentMonth does, a new instance is being used with the moment's singleton that has the globally set locale.
Possible solutions is to use the passed in moments instance, or allowing a new prop to be passed in to choose how to render the week Headers.
Source code (including props configuration)
import React, { useState } from "react"
import { SingleDatePicker } from "react-dates"
import moment from "moment"
import "moment/locale/fr"

function ReactDates() {
  // Create new instance of a moment with a FR locale
  const frMoment = moment().locale("fr")

  // Change the global moment locale singleton
  moment.locale("en")

  const [date1, setDate1] = useState(frMoment)
  const [date1Focus, setDate1Focus] = useState(false)

  const [date2, setDate2] = useState()
  const [date2Focus, setDate2Focus] = useState(false)

  return (
    <>

        <SingleDatePicker
          date={date1}
          onDateChange={date => setDate1(date)}
          focused={date1Focus}
          onFocusChange={({ focused }) => setDate1Focus(focused)}
          id="date_one_example"
        />

        <SingleDatePicker
          date={date2}
          onDateChange={date => setDate2(date)}
          focused={date2Focus}
          onFocusChange={({ focused }) => setDate2Focus(focused)}
          id="date_two_example"
        />

    </>
  )
}

Screenshots/Gifs

Desktop:

OS: Windows 10
Browser: Chrome
Version: 72.0.3626.119

Is there an easy way to get the same as moment(), but with all the options (including locale) of a given moment instance?

The current month headers uses a the passed in moment instance, using that seems to resolve the issue for me.
Daypicker.jsx Line 178
const currentMonth = props.hidden ? moment() : props.initialVisibleMonth();

Suggested change
const header = [];
for (let i = 0; i < 7; i += 1) {
  header.push(

        {this.state.currentMonth
          .day((i + firstDayOfWeek) % 7)
          .format(weekDayFormat)}

  );
}

I think it might have to clone the object, but otherwise that looks like a good approach. Want to make a PR?

Hey @ljharb is there any update on this one? PR is already in place. Is there any a way to fix this in the meantime?


[0.13.2] S3 Put Authentication Error

When attempting to deploy using v0.13.2, Everything seems to go well until module.tf_next.module.statics_deploy.null_resource.static_s3_upload, which fails with a 403.

│ Error: local-exec provisioner error
│
│   with module.tf_next.module.statics_deploy.null_resource.static_s3_upload[0],
│   on .terraform/modules/tf_next/modules/statics-deploy/main.tf line 275, in resource "null_resource" "static_s3_upload":
│  275:   provisioner "local-exec" {
│
│ Error running command './s3-put -r us-east-1 -T /home/<...>/.next-tf/static-website-files.zip
│ /<bucket-name>/static-website-files.zip': exit status 22. Output:
│ % Total    % Received % Xferd  Average Speed   Time  Time Current Dload  Upload   Total   Spent    Left  Speed
│   0                2867k          0                    0               0             0                0            0     --:--:-- --:--:-- --:--:--     0
│ curl: (22) The requested URL returned error: 403

When running the script itself (s3-put) with the --debug flag it informs me:

The request signature we calculated does not match the signature you provided. Check your key and signing method.

I have verified that the correct AWS profile creds are exposed as environment variables and that the profile has the correct permissions to create objects in an S3 bucket, tested via the aws CLI.

Okay, this seems odd. The S3 upload script really the Achilles' heel of this module (That's why it is also removed in the upcoming v1.0.0 release) 🙈.
Have you checked your openssl version (it's used internally to calculate the signature)?
 openssl version

> LibreSSL 2.8.3

openssl version

> OpenSSL 3.0.2 15 Mar 2022 (Library: OpenSSL 3.0.2 15 Mar 2022)

Same bug here. Using v0.13.2 and openssl 3.0.2 on a fresh AWS account.

Thanks for reporting!
Can confirm that the problem is related to the OpenSSL 3.x release.
Will take a look into it.
In the meantime downgrading to OpenSSL 2.x should work, or otherwise install the AWS CLI and set use_awscli_for_static_upload to use it for the upload:
module "tf_next" {
  source = "milliHQ/next-js/aws"

+ use_awscli_for_static_upload = true
  ...
}

Thanks for the fix!
You're suggestion appears to solve my problem for the time being until the OpenSSL issue is worked out.


Add a force_mtime() function to allow overriding all mtime fields

Hi Alex,
Thanks for the excellent tar crate. While developing a project, we needed a way to override the mtime. This was the most direct route to get it done, even though I'm rather sure it isn't something you'd want to merge upstream.
So, here is some code we wrote. We're sending the PR for you to look at and consider as a use case. We'd be interested in hearing back from you if you're interested in a better implementation, and if so what you think that might look like.
Thank you!

We certainly could. Does that mean you're interested in accepting this change as designed?

Hi @grahamc :wave:
This relates a lot to e.g. https://github.com/alexcrichton/tar-rs/pull/346 and https://github.com/alexcrichton/tar-rs/pull/343 a bit.
In your use case, do you also want to canonicalize uid/gid?  I'd guess so...which would argue that we should fix HeaderMode::Deterministic.
Also I think we should call out that it's really not terribly hard to do "manually" walk a directory recursively and add entries to it:
See e.g. https://github.com/coreos/cargo-vendor-filterer/blob/28c7760484240184c95f76b5a3f11d92a6779ff1/src/main.rs#L475-L510
We could put that in examples/build-walkdir.rs or something that people could at least copy-paste as a reference?


”NEGREȘTI-OAȘ” is listed in the drop-down menu

Description:
"NEGREȘTI-OAȘ" is listed in the drop-down menu alongside its corresponding county and commune, according to the law.
Precondition:
The website is up an running.

Step 1
Type "NEGREȘTI-OAȘ" in the search bar.

Expected results
The location is listed in the drop-down menu as "Oraș NEGREȘTI-OAȘ, SATU MARE".


Can't change month

Environment
ystem:
OS: macOS 12.3.1
CPU: (4) x64 Intel(R) Core(TM) i5-7267U CPU @ 3.10GHz
Memory: 46.53 MB / 8.00 GB
Shell: 5.8 - /bin/zsh
Binaries:
Node: 14.19.1 - /usr/local/bin/node
Yarn: 1.22.18 - /usr/local/bin/yarn
npm: 8.5.0 - /usr/local/bin/npm
Watchman: 2<IP_ADDRESS> - /usr/local/bin/watchman
Managers:
CocoaPods: 1.11.3 - /usr/local/bin/pod
SDKs:
iOS SDK:
Platforms: DriverKit 21.4, iOS 15.5, macOS 12.3, tvOS 15.4, watchOS 8.5
Android SDK: Not Found
IDEs:
Android Studio: 2021.1 AI-211.7628.21.2111.8309675
Xcode: 13.4.1/13F100 - /usr/bin/xcodebuild
Languages:
Java: Not Found
npmPackages:
@react-native-community/cli: Not Found
react: 18.1.0 => 18.1.0
react-native: 0.70.5 => 0.70.5
react-native-macos: Not Found
npmGlobalPackages:
react-native: Not Found
info React Native v0.71.3 is now available (your project is running on v0.70.5).
info Changelog: https://github.com/facebook/react-native/releases/tag/v0.71.3
info Diff: https://react-native-community.github.io/upgrade-helper/?from=0.70.5
info For more info, check out "https://reactnative.dev/docs/upgrading".
Platforms
Only tested on iOS so far
Versions

Android:
iOS:
react-native-modal-datetime-picker: "^14.0.1"
react-native-community/datetimepicker:
react-native:  "0.70.5"
react:

Description
Nothing happens when I click on the arrows to switch month
Reproducible Demo
const [datePickerOpened, setDatePickerOpened] = useState(false);

 const handleDateConfirm = (date) => {
   let date_string = date.toISOString().substring(0, 10);
   setSelectedReceipt({
     ...selectedReceipt,
     purchase_date: date_string,
   });
   hideDatePicker();
 };

 const hideDatePicker = () => {
   setDatePickerOpened(false);
 };

 const renderDateTimePickerModal = () => {
   return (
     <DateTimePickerModal
       date={new Date(selectedReceipt.purchase_date)}
       isVisible={datePickerOpened}
       mode="date"
       onConfirm={handleDateConfirm}
       onCancel={hideDatePicker}
     />
   );
 };

return (
     {renderDateTimePickerModal()}
)

Please follow the issue template. I can't use your reproducible example. Please edit the README.md example to reproduce your issue.


Voice Record Folder Not visible in Samsung Mobile

Voice Record Folder Not visible in Samsung Mobile Voice Record Format is m4a

Voice Record Folder Not visible in Samsung Mobile Voice Record Format is m4a


React Native 0.61 ?

Hi,
when will the compatibility in the React-native
version 0.61 be possible?

Are you having trouble with the react-native CLI? If so, try updating the watchman and node. The latest release was 2 weeks after the 0.61 update so it should be compatible

What needs to be changed? We need this update ASAP.

https://github.com/viromedia/viro/issues/781


WASM Full Wallet Failed to commit tx

Hey all, getting error
MoneroError: Failed to commit tx     at Function.deserializeError (/home/dev/Documents/code-projects/monero-wallet-ts-deno/node_modules/monero-ts/dist/src/main/ts/common/LibraryUtils.js:260:56)     at Function.invokeWorker (/home/dev/Documents/code-projects/monero-wallet-ts-deno/node_modules/monero-ts/dist/src/main/ts/common/LibraryUtils.js:249:26)     at async MoneroWalletFullProxy.invokeWorker (/home/dev/Documents/code-projects/monero-wallet-ts-deno/node_modules/monero-ts/dist/src/main/ts/wallet/MoneroWalletKeys.js:470:12)     at async MoneroWalletFull.relayTx (/home/dev/Documents/code-projects/monero-wallet-ts-deno/node_modules/monero-ts/dist/src/main/ts/wallet/MoneroWallet.js:875:13)     at async main (/home/dev/Documents/code-projects/monero-wallet-ts-deno/index.ts:222:12) Worker error: Error: Failed to commit tx     at /home/dev/Documents/code-projects/monero-wallet-ts-deno/node_modules/monero-ts/dist/src/main/ts/wallet/MoneroWalletFull.js:1044:54     at __emval_call (/home/dev/Documents/code-projects/monero-wallet-ts-deno/node_modules/monero-ts/dist/dist/monero_wallet_full.js:9:98501)     at wasm://wasm/015261ae:wasm-function[3684]:0x1bb4ea     at wasm://wasm/015261ae:wasm-function[4426]:0x23be27     at wasm://wasm/015261ae:wasm-function[6323]:0x3617c8     at ret.<computed> (/home/dev/Documents/code-projects/monero-wallet-ts-deno/node_modules/monero-ts/dist/dist/monero_wallet_full.js:9:82611)     at invoke_viii (/home/dev/Documents/code-projects/monero-wallet-ts-deno/node_modules/monero-ts/dist/dist/monero_wallet_full.js:9:350510)     at wasm://wasm/015261ae:wasm-function[7266]:0x3c5fc5     at wasm://wasm/015261ae:wasm-function[7368]:0x3de0aa     at wasm://wasm/015261ae:wasm-function[6321]:0x361626 {   code: undefined }
Code:
``const syncedWallet = await listenReceiveWasmFullWallet(res.address, res.privateViewKey)
//syncedWallet is a fully .sync() wallet
function decimalToAtomicUnits(amount, decimalPlaces) {
return BigInt(Math.round(amount * 10 ** decimalPlaces));
}
console.info(decimalToAtomicUnits(0.000008, 12))
let tx = await syncedWallet.createTx({
accountIndex: 0,
address: "address",
amount: decimalToAtomicUnits(0.00065, 12), // send 0.00065 XMR (denominated in atomic units)
});
let fee = tx.getFee();  // "Are you sure you want to send... ?"
console.info(fee);
let hash = await syncedWallet.relayTx(tx);``
I can see the correct error when I don't have any enough funds and it is in communication with the daemon. Any ideas?

This can happen when there's a tx in the pool which interferes with the tx you're submitting. Maybe mine a block and try again?

Thanks for your response @woodser. I am using mainnet though for tokens. I am not sure how mining a block could help. Since during the sync I have a handler that makes sure I have scanned all relevant blocks, I can confirm I have the funds. I have tried sending before and would see the error "I don't have enough money". After lowering the amount, the error went away, but now I see the listed error above.

Can you please try with v0.9.7?

I will try and report back. Thank you.

Just took a break and re-read my whole code. Found out I was trying to send with a view only wallet. Tested, it with 0.9.7 and it worked flawlessly. My bad.

Hm, ok, I recommend updating to the latest, v0.10.3, as there have been fixes, and we would like to know if this issue occurs again. Thanks for reporting back!

Tested it again with 0.10.3. Looks good.


Update aws-java-sdk-bundle to 1.12.533

About this PR
📦 Updates com.amazonaws:aws-java-sdk-bundle from 1.12.530 to 1.12.533
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.amazonaws", artifactId = "aws-java-sdk-bundle" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "com.amazonaws", artifactId = "aws-java-sdk-bundle" }
}]

labels: library-update, early-semver-patch, semver-spec-patch, commit-count:1

Superseded by #2852.

Superseded by #2858.


Fixes invalid yaml line

About the PR
Only pring this to publicly mess with the yaml-linter.

So I hope this is a swept moment but
https://github.com/space-wizards/space-station-14/actions/runs/1087959164
This PR edits the same thing but the YAML-linter goes "Ok!"
https://github.com/space-wizards/space-station-14/runs/3214603400?check_suite_focus=true
This PR edits it and goes ">:("

Your PR doesn't change SolutionContainerComponent, his does.
In his PR, SolutionContainerComponent no longer has a "trash" DataField, as the YAML linter indicates with the message Error: /Prototypes/Entities/Objects/Consumable/Food/soup.yml(14,5)  Field "trash" not found in "Content.Shared.Chemistry.Solution.Components.SolutionContainerComponent"., however soup.yml still contains definitions of SolutionContainerComponent with a trash field, one which no longer exists and is redundant, hence the error.


Adding Chatbot

Description
The chatbot will allow the user to explore the website fully.

It will answer the frequently asked questions. [FAQ]
Show the best use of the website for the user.

Suggest the game - which suits best according to user choice.

An User Interacting Feature.
Screenshots
No response
Additional information
Assign me under Gssoc'23.

Hi @SrishtiSonam, i have assigned this task to you. Kindly complete your work within a week. Good luck!


promise.get declaration

Hi,
I would like to know what is the problem with the declaration of .get.
This is the related part:
	/**
	 * This is a convenience method for doing:
	 *
	 * <code>
	 * promise.then(function(obj){
	*     return obj[propertyName];
	* });
	 * </code>
	 */
	// TODO find way to fix get()
	// get<U>(propertyName: string): Promise<U>;

Isn't it possible to just type it as get<U>(key: string | number): Promise<U>; ?

Looks like it is possible. The typings was copied from DT, so I would expect they are a bit out of date and not complete.


Fix libfrida installation on Android from APK and improvement #2

Hi,
This PR provides improvement related to the issue #2.
In my cases, the libfrida file wasn't copy in the app's lib folder (/data/data/<app>/lib/).
In the APK file, the libfrida file was in lib/ instead of lib/<arch>/.
The second commit fixes this issue.

Hi,
If you think that the PR is OK to merge, please merge the PR to your master branch.

add my changes and I will accept getfridalibs.sh :-)
cheers!!! and thanks

Hi,
The PR includes all my commits and yours on the branch master of my fork.


Charm++ version and commit information is not available in tarball downloads of repo

Original issue: https://charm.cs.illinois.edu/redmine/issues/1935

If the repository is downloaded as a tarball from Gerrit, the version and last commit ID is not printed. Presumably the variable CmiCommitID is not populated.
Output of hello program in such a repo:
Charmrun> scalable start enabled.
Charmrun> started all node programs in 1.677 seconds.
Charm++> Running in non-SMP mode: 4 processes (PEs)
Converse/Charm++ Commit ID:
Charm++> scheduler running in netpoll mode.

Original date: 2018-06-21 21:41:49

The code in src/scripts/Makefile that generates the definition of CmiCommitID must have run for a Charm++ program to build without a linker error indicating its absence. However, if no VERSION file is present, the string will be blank.
commitid.c: VERSION
	echo "extern const char * const CmiCommitID;" > $`
	echo "const char * const CmiCommitID = \"`cat VERSION`\";" >> $`

Does Gerrit have any way of running a script during the tarball assembly process? If not, I don't know if there is any way to resolve this issue.

I don't think we have a good way of doing this for tarballs/zips generated from an arbitrary point in the git history. In my eyes, as long as a git cloned version and the release tarballs have the right information, that should be sufficient.


Request all contributors to add your github handles in contributors.md

I didn't see this before adding a few contributions. Want me to fork this and add myself, or would you prefer to have one person request everyone's handles and knock them all out at once?

U can add it directly and give a pr

@akshitagupta15june  I did not see this before making PR

Can I add to this? I will also like to add to the petMe Blog

Sorry, but how do I request all contributors to addr my github handles in contributors.md?

How can I Request all contributors to add your github handles in contributors.md

Sorry I dont understand. I have contributed in the past. How do I add myself to the contributors.md ?


Create playbooks for architectures and versions outside of 22.04 amd

Right now, only 22.04 amd64 is supported.
Additional roles and parameters will need to be added for 22.04 arm, 20.04 amd/arm, and potentially android as the finishing touches on the ansible automation

think this has been completed


update previous releases and add notes for v0.6.0

Summary

update previous releases and add notes for v0.6.0

Codecov Report

Merging #806 (6c58570) into main (aa3c020) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #806   +/-   ##
=======================================
  Coverage   55.43%   55.43%
=======================================
  Files          37       37
  Lines        2354     2354
=======================================
  Hits         1305     1305
  Misses        952      952
  Partials       97       97

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Version in filename please !

All tracks like on this album "All that she wants (X version)" download as 1 track "All that she wants.flac"

So the extra version info is shown but it is not used (and should be)
Please include extra information (version, remix, ...) in :
a) filename
b) (vorbis?)tags
Could you please fix this ? Thx
P.S. I notice for most albums the info IS added, but for some it is not. Very strange.
Buying you some extra coffees for this one ;-)

fixed


Incorrect results in conv layer for particluar input

arm_compute_version=v19.05 Build options: {'arch': 'armv7a', 'opencl': '0', 'neon': '1', 'build': 'cross_compile', 'debug': '0', 'os': 'linux'} Git hash=unknown
**Platform:Raspberry Pi
**Operating System:**Raspbian Stretch
I have attached the scripts for conv layer, inputs , bias , weights . I was using the 19.05 Compute library. What is the reason for this issue ? Can a patch in 19.05 source code resolves this issue.
dozip.zip

Hi @pranathibl
19.05 is about a year old, could you please update to 20.05?


doc about building ros2-galactic package with eclipse-2021-06

hello,
could you add this doc ?
thanks

3\. How does this page relate to https://github.com/ros2/ros2_documentation/blob/rolling/source/Tutorials/Building-ROS-2-on-Linux-with-Eclipse-Oxygen.rst ?  Can we combine them?  I'd really rather not have multiple different articles about using ROS 2 with Eclipse.

This question is still open.

Its my old tutorial, it can be deleted/replaced if you want.

Its my old tutorial, it can be deleted/replaced if you want.

OK, if you'd like this tutorial to replace that one, please delete that old one in this PR.

deleted the file and the link in Tutorials.rst


System prompt cannot be deleted if it exceeds the maximum length limit

Enter the number of characters that exceeds the max limit and press "backspace" -> you will see an error message about an invalid number of characters -> bug

https://github.com/epam/ai-dial-chat/assets/98586297/73a4631c-7685-4469-8898-5a4de5661625
This works fine if you'll highlight enough characters at once to avoid crossing the limit.

Verified on staging server successfully using the following steps:
Click on "New conversation"
Set GPT-4-0613 model (it has 24000 limit of tockens)
Paste some text in System prompt to reach models' limit -> message pop-up appears
Don't clear system prompt
Switch to model with lower limit, e.g. GPT-3.5 ( which is alias now and has 12000 limit of tockens)
Set cursor in System prompt field and use backspace -> text is deleted ok
Highlight a world and press delete -> text is deleted ok


Fix broken image URLs

- Summary
Fixed 3 broken image URLs
- Related Issues
- PR Overview

[ ] This PR closes one of the issues [y/n] (issue #issue_number_here)
[ ] This PR requires new unit tests [y/n] (please make sure tests are included)
[ ] This PR requires to update the documentation [y/n] (please make sure the docs are up-to-date)
[x] This PR is backwards compatible [y/n]

Sorry, my first fixes only worked on GitHub. My second set of PRs fix the broken image URL problem on ReadTheDocs.

Thanks.
We will change the relative paths to absolute paths for now.
Further suggestions are always welcome.


wait: Report to the caller if there are no pending operations

If I understand it correctly, Uring.wait will sleep forever if called on an idle ring (with no operations pending). It would be nice to expose this somehow, either by changing its return type or adding a separate function. It seems that a mechanism for this already exists (Uring.exit check for it, for example).

What do you need it for?

Uring.peek will report if there are completed operations without blocking (I'm going to rename this).
Uring.get_debug_stats will tell you if there any operations in progress at all.

If/when we decouple the CQEs from SQEs it might make sense to expose the number pending CQEs as a normal thing though (outside debug), as the user shouldn't rely on pending jobs as the accumulation of returns of Uring.submit. ATM we end up calling submit and discarding the return in other places in the stubs as well.

Fixed in #68.


Move custom metric out of template and convert to Python

A slight regression in behavior: merging this will make the metric behave a bit more naively, like it was before I introduced in service instance discounting to account for startup times.
Postponing making this better to another issue: #143


[WebJobs/ServiceBus] Adapt configuration option names if they change

See https://github.com/Azure/azure-sdk-for-net/blob/master/sdk/eventhub/Microsoft.Azure.WebJobs.Extensions.EventHubs/src/Config/EventHubWebJobsBuilderExtensions.cs#L39-L83
and
https://github.com/Azure/azure-sdk-for-net/pull/17416

Closing, as the referenced PR has merged.


[FEATURE] - Easy wallet address (view) and (access)

Аbstract
The ability to immediately (1-click) View your own current wallet address, including the ability to quickly Copy the address would be a great feature.
Details
Wallet: https://wallet.turtlenetwork.eu. Insert at the top menu, possible on the right side
Screenshot - Old Wallet

Modern implementation

Address will show in desktop mode in "Turtle Green" with a QR code button. When you click the text it also does copy to clipboard.

Address should show full
This is for the Desktop mode only


Missing transcript ID in tco1 summary

It's missing the transcript ID after "affecting" in the Cell phenotype section:
increased RNA level during cellular response to hypoxia
   tco1LΔ (nt −1790 to −1250 replaced with ura4+)[Wild type product level] affecting

All fixed now along with some other problems I noticed when testing.


Add support for external deps for eclipselink

Description
There are couple discussions around how to use eclipselink as well as various issues people ran into after configured the service to use eclispelink (such as missing dependencies for eclipselink as jdbc driver). There is an effort to clear those confusion: https://github.com/apache/polaris/issues/230
However, at the end of the day, people will still need to modify extension/persistence/eclipselink/build.gradle.kts locally and maintain their own fork to be able to use it.
In this PR, I add a small mechanism to allow users to load additional deps they needed to be able to use eclipselink. I am not sure if this is the direction on how we want to move forward with additional driver handling but this should get people unblock and reduce the needed of maintaining a local fork that has the additional dependencies they are using.
I haven't create additional doc for this as I am not sure if that is the direction where we want to move forward. If it is something we would want to support, I will be more than happy to add the needed docs.
Type of change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] Documentation update
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
# Regular build with eclipseLink enabled (no additional dependencies):
## verified no build error
./gradlew --no-daemon --info -PeclipseLink=true clean prepareDockerDist

# build with one additional dependency:
## verified the final jar contains this dependency
./gradlew --no-daemon --info -PeclipseLink=true -PeclipseLinkDeps=org.postgresql:postgresql:42.7.4 clean prepareDockerDist

# build with more than one additional dependencies (separate by comma):
## verified the final jar contains both dependencies
./gradlew --no-daemon --info -PeclipseLink=true -PeclipseLinkDeps=org.postgresql:postgresql:42.7.4,mysql:mysql-connector-java:8.0.33 clean prepareDockerDist

Checklist:
Please delete options that are not relevant.

[x] I have performed a self-review of my code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] If adding new functionality, I have discussed my implementation with the community using the linked GitHub issue

I think it's a good idea. Basically, it transfers the responsibility of complying incompatible license to end users. We will have to be careful to not distribute the drivers in any case though. An alternative way is to use a script to wrap the gradle build command as well as to download drivers. But I love the way in this PR better, as it only needs one gradle command. I'm also open to other ideas.

Thanks @MonkeyCanCode for the PR. LGTM overall with a minor comment.

Thanks for the review. Will address those later tonight and update doc to reflect this as well.

LGTM.

Thanks for review. I will add the regex check and update the doc shortly.

Thanks @MonkeyCanCode for the PR. LGTM overall with a minor comment.

Thanks for the review. Will address those later tonight and update doc to reflect this as well.

This had being added and here is the sample output when providing invalid Maven dependencies:
./gradlew --no-daemon --info -PeclipseLink=true -PeclipseLinkDeps=org.postgresql:postgresql,mysql:mysql-connector-java:8.0.33 clean prepareDockerDist

FAILURE: Build failed with an exception.

* Where:
Build file '/home/yong/k8s/polaris/extension/persistence/eclipselink/build.gradle.kts' line: 43

* What went wrong:
Invalid dependency format: org.postgresql:postgresql

===

./gradlew --no-daemon --info -PeclipseLink=true -PeclipseLinkDeps=org.postgresql:postgresql:42.7.4},mysql:mysql-connector-java:8.0.33 clean prepareDockerDist

FAILURE: Build failed with an exception.

* Where:
Build file '/home/yong/k8s/polaris/extension/persistence/eclipselink/build.gradle.kts' line: 43

* What went wrong:
Invalid dependency format: org.postgresql:postgresql:42.7.4}

Thanks @MonkeyCanCode for working on it. Thanks @aihuaxu for the review.


Implement Deref and DerefMut for In

Objective
Implement Deref and DerefMut for In
makes it so the user doesn't have to add ".0" in most cases

LGTM. I do want to point out that you can also use a destructuring pattern as-is:
pub fn my_system(In(foo): In<Foo>) {
    // ...
}

99% that would be the case, but im working on a plugin with a type alias similar to:
type MyType = In;
And I want the user to use MyType as a system param, etc.
in this case the user won't be able to deconstruct using In(x) = ..


Added the Twitter Clone

Hey , sir   i added the twitter clone in the front end  project .
Do check this once and readme is in process .

hey , @Vikash-8090-Yadav  please review  this once , Let me  know if u need some more changes

issue no : #98

All looks great to me .Thanks for contributing in my repo .


Can't get LLDB via GADP to work in Ghidra on M2 macOS

Hi, I'm trying to use the Ghidra v11.0 debugger on my macOS M2 computer. When I select "Debug in LLDB via GADP" and press connect, I get the following error:
[java.lang.RuntimeException: Agent terminated with error: no lldb in java.library.path:
/Users/me/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Ex
tensions:/usr/lib/java:.
liblldb not found - add relevant java.library.path to support/launch.properties
no lldb-java in java.library.path:
/Users/me/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Ex
tensions:/usr/lib/java:.
liblld...SBDebugger_eBroadcastBitProgress_get(Native Method)
	at SWIG.SBDebugger.<clinit>(SBDebugger.java:478)
	at agent.lldb.lldb.DebugClientImpl.createClient(DebugClientImpl.java:45)
	at agent.lldb.manager.impl.LldbManagerImpl.lambda$start$0(LldbManagerImpl.java:483)
	at agent.lldb.gadp.impl.LldbClientThreadExecutor.init(LldbClientThreadExecutor.java:50)
	at agent.lldb.gadp.impl.AbstractClientThreadExecutor.run(AbstractClientThreadExecutor.java:95)
	at java.base/java.lang.Thread.run(Thread.java:1583)

---------------------------------------------------
Build Date: 2023-Dec-22 0936 EST
Ghidra Version: 11.0
Java Home: /Library/Java/JavaVirtualMachines/temurin-21.jdk/Contents/Home
JVM Version: Eclipse Adoptium 21.0.1
OS: Mac OS X 14.2.1 x86_64
](url)

I tried to follow the steps mentioned in #4035 but wasn't able to get it working.
I tried following the steps, but it does not build for some reason, I get a bunch of errors which I don't know what they mean and the build fails:
➜  Debugger-swig-lldb git:(master) ✗ export JAVA_HOME=$(/usr/libexec/java_home)
export LLVM_HOME=$(brew --prefix llvm)
export LLVM_BUILD=$(brew --prefix llvm)
gradle build

> Configure project :
Gradle: 8.5
OS: Mac OS X
Arch: x86_64 (gradle: x86-64)
Using platform: mac_x86_64

> Task :Debugger-swig-lldb:compileMainMac_x86_64SharedLibraryMainCpp
/Users/viktorb/Desktop/ghidra/Ghidra/Debug/Debugger-swig-lldb/src/main/cpp/LLDBWrapJava.cpp:3019:38: error: no member named 'eLanguageTypeExtRenderScript' in namespace 'lldb'; did you mean 'eLanguageTypeRenderScript'?
 3019 |   result = (lldb::LanguageType)lldb::eLanguageTypeExtRenderScript;
      |                                ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                      eLanguageTypeRenderScript
/opt/homebrew/opt/llvm/include/lldb/lldb-enumerations.h:482:3: note: 'eLanguageTypeRenderScript' declared here
  482 |   eLanguageTypeRenderScript = 0x0024,
      |   ^
/Users/viktorb/Desktop/ghidra/Ghidra/Debug/Debugger-swig-lldb/src/main/cpp/LLDBWrapJava.cpp:15306:50: warning: format string is not a string literal (potentially insecure) [-Wformat-security]
 15306 |   result = (int)(arg1)->SetErrorStringWithFormat((char const *)arg2);
       |                                                  ^             ~~~~
/Users/viktorb/Desktop/ghidra/Ghidra/Debug/Debugger-swig-lldb/src/main/cpp/LLDBWrapJava.cpp:15306:50: note: treat the string as an argument to avoid this
 15306 |   result = (int)(arg1)->SetErrorStringWithFormat((char const *)arg2);
       |                                                  ^
       |                                                  "%s",
/Users/viktorb/Desktop/ghidra/Ghidra/Debug/Debugger-swig-lldb/src/main/cpp/LLDBWrapJava.cpp:26505:33: error: calling a protected constructor of class 'lldb::SBQueue'
 26505 |   result = (lldb::SBQueue *)new lldb::SBQueue((lldb::QueueSP const &)*arg1);
       |                                 ^
/opt/homebrew/opt/llvm/include/lldb/API/SBQueue.h:59:3: note: declared protected here
   59 |   SBQueue(const QueueSP &queue_sp);
      |   ^
/Users/viktorb/Desktop/ghidra/Ghidra/Debug/Debugger-swig-lldb/src/main/cpp/LLDBWrapJava.cpp:26742:37: error: calling a protected constructor of class 'lldb::SBQueueItem'
 26742 |   result = (lldb::SBQueueItem *)new lldb::SBQueueItem((lldb::QueueItemSP const &)*arg1);
       |                                     ^
/opt/homebrew/opt/llvm/include/lldb/API/SBQueueItem.h:46:3: note: declared protected here
   46 |   SBQueueItem(const lldb::QueueItemSP &queue_item_sp);
      |   ^
/Users/viktorb/Desktop/ghidra/Ghidra/Debug/Debugger-swig-lldb/src/main/cpp/LLDBWrapJava.cpp:26860:11: error: 'SetQueueItem' is a protected member of 'lldb::SBQueueItem'
 26860 |   (arg1)->SetQueueItem((lldb::QueueItemSP const &)*arg2);
       |           ^
/opt/homebrew/opt/llvm/include/lldb/API/SBQueueItem.h:48:8: note: declared protected here
   48 |   void SetQueueItem(const lldb::QueueItemSP &queue_item_sp);
      |        ^
/Users/viktorb/Desktop/ghidra/Ghidra/Debug/Debugger-swig-lldb/src/main/cpp/LLDBWrapJava.cpp:28000:42: error: calling a protected constructor of class 'lldb::SBStructuredData'
 28000 |   result = (lldb::SBStructuredData *)new lldb::SBStructuredData((lldb::EventSP const &)*arg1);
       |                                          ^
/opt/homebrew/opt/llvm/include/lldb/API/SBStructuredData.h:128:3: note: declared protected here
  128 |   SBStructuredData(const lldb::EventSP &event_sp);
      |   ^
/Users/viktorb/Desktop/ghidra/Ghidra/Debug/Debugger-swig-lldb/src/main/cpp/LLDBWrapJava.cpp:34552:38: error: calling a protected constructor of class 'lldb::SBThreadPlan'
 34552 |   result = (lldb::SBThreadPlan *)new lldb::SBThreadPlan((lldb::ThreadPlanSP const &)*arg1);
       |                                      ^
/opt/homebrew/opt/llvm/include/lldb/API/SBThreadPlan.h:122:3: note: declared protected here
  122 |   SBThreadPlan(const lldb::ThreadPlanSP &lldb_object_sp);
      |   ^
/Users/viktorb/Desktop/ghidra/Ghidra/Debug/Debugger-swig-lldb/src/main/cpp/LLDBWrapJava.cpp:35292:39: error: calling a protected constructor of class 'lldb::SBTraceCursor'
 35292 |   result = (lldb::SBTraceCursor *)new lldb::SBTraceCursor(arg1);
       |                                       ^
/opt/homebrew/opt/llvm/include/lldb/API/SBTraceCursor.h:172:3: note: declared protected here
  172 |   SBTraceCursor(lldb::TraceCursorSP trace_cursor_sp);
      |   ^
1 warning and 7 errors generated.

> Task :Generic:compileJava FAILED
/Users/viktorb/Desktop/ghidra/Ghidra/Framework/Generic/src/main/java/ghidra/generic/util/datastruct/TreeValueSortedMap.java:653: error: types Deque<Entry<K,V>> and List<Entry<K,V>> are incompatible;
        protected class ValueSortedTreeMapEntrySet extends AbstractSet<Entry<K, V>>
                  ^
  both define reversed(), but with unrelated return types
  where K,V are type-variables:
    K extends Object declared in class TreeValueSortedMap
    V extends Object declared in class TreeValueSortedMap
/Users/viktorb/Desktop/ghidra/Ghidra/Framework/Generic/src/main/java/ghidra/generic/util/datastruct/TreeValueSortedMap.java:973: error: types Deque<K> and List<K> are incompatible;
        protected class ValueSortedTreeMapKeySet extends AbstractSet<K>
                  ^
  both define reversed(), but with unrelated return types
  where K is a type-variable:
    K extends Object declared in class TreeValueSortedMap
/Users/viktorb/Desktop/ghidra/Ghidra/Framework/Generic/src/main/java/ghidra/generic/util/datastruct/TreeValueSortedMap.java:1211: error: types Deque<V> and List<V> are incompatible;
        protected class ValueSortedTreeMapValues extends AbstractCollection<V>
                  ^
  both define reversed(), but with unrelated return types
  where V is a type-variable:
    V extends Object declared in class TreeValueSortedMap
/Users/viktorb/Desktop/ghidra/Ghidra/Framework/Generic/src/main/java/ghidra/generic/util/datastruct/ValueSortedMap.java:39: error: types Deque<Entry<K,V>> and List<Entry<K,V>> are incompatible;
        public interface ValueSortedMapEntryList<K, V>
               ^
  both define reversed(), but with unrelated return types
  where K,V are type-variables:
    K extends Object declared in interface ValueSortedMapEntryList
    V extends Object declared in interface ValueSortedMapEntryList
/Users/viktorb/Desktop/ghidra/Ghidra/Framework/Generic/src/main/java/ghidra/generic/util/datastruct/ValueSortedMap.java:47: error: types Deque<K> and List<K> are incompatible;
        public interface ValueSortedMapKeyList<K> extends Set<K>, List<K>, Deque<K> {
               ^
  both define reversed(), but with unrelated return types
  where K is a type-variable:
    K extends Object declared in interface ValueSortedMapKeyList
/Users/viktorb/Desktop/ghidra/Ghidra/Framework/Generic/src/main/java/ghidra/generic/util/datastruct/RestrictedValueSortedMap.java:253: error: types Deque<Entry<K,V>> and List<Entry<K,V>> are incompatible;
        public class RestrictedValueSortedMapEntryList implements ValueSortedMapEntryList<K, V> {
               ^
  both define reversed(), but with unrelated return types
  where K,V are type-variables:
    K extends Object declared in class RestrictedValueSortedMap
    V extends Object declared in class RestrictedValueSortedMap
/Users/viktorb/Desktop/ghidra/Ghidra/Framework/Generic/src/main/java/ghidra/generic/util/datastruct/RestrictedValueSortedMap.java:548: error: types Deque<K> and List<K> are incompatible;
        public class RestrictedValueSortedMapKeyList implements ValueSortedMapKeyList<K> {
               ^
  both define reversed(), but with unrelated return types
  where K is a type-variable:
    K extends Object declared in class RestrictedValueSortedMap
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use or override a deprecated API that is marked for removal.
Note: Recompile with -Xlint:removal for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
7 errors

> Task :Debugger-swig-lldb:compileMainMac_x86_64SharedLibraryMainCpp FAILED

FAILURE: Build completed with 2 failures.

1: Task failed with an exception.
-----------
* What went wrong:
Execution failed for task ':Generic:compileJava'.
> Compilation failed; see the compiler error output for details.

* Try:
> Run with --info option to get more log output.
> Run with --scan to get full insights.
==============================================================================

2: Task failed with an exception.
-----------
* What went wrong:
Execution failed for task ':Debugger-swig-lldb:compileMainMac_x86_64SharedLibraryMainCpp'.
> A build operation failed.
      C++ compiler failed while compiling LLDBWrapJava.cpp.
  See the complete log at: file:///Users/viktorb/Desktop/ghidra/Ghidra/Debug/Debugger-swig-lldb/build/tmp/compileMainMac_x86_64SharedLibraryMainCpp/output.txt
   > C++ compiler failed while compiling LLDBWrapJava.cpp.

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
> Get more help at https://help.gradle.org.
==============================================================================

Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.

You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

For more on this, please refer to https://docs.gradle.org/8.5/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.

BUILD FAILED in 16s
6 actionable tasks: 3 executed, 3 up-to-date

Here is a full output of the errors: https://gist.github.com/viktorb1/7576abc6e8eecf0c7eb6a9ca4e8ab995
I installed both llvm (v17.0.6) and gradle (v8.5) using brew
If someone knows how to fix this, I would appreciate it. Thanks

@viktorb1 Hey, and, first off, sorry to hear you're having difficulties.  Looking at the errors, am pretty sure you have a mismatch between your version of lldb and the SWIG files included with the distribution.   The SWIG files in the distro match lldb v16 and, as you noted, you have 17.0.6.  The complete instructions for how to solve this are in the Ghidra/Debug/Debugger-swig-lldb/InstructionsForBuildingLLDBInterface.txt, but will give you the basic outline.
First off, make sure you have swig installed.  Second, I would recommend "git clone"ing the llvm repo and using that for LLVM_HOME.  I would also use "git checkout release/17.x" to make sure things match your version.  Alternatively, you can use the brew-installed version, but you may have to modify some paths in the build.gradle file in Debugger-swig-lldb, so that things line up correctly.  It's basically expecting LLVM_HOME/lldb//include/lldb, so....  I would also verify that LLVM_BUILD/lib/liblldb.dylib exists.  Again, different packages seem to have slightly different organizations.
With all of that set, from the Debugger-swig-lldb dir, run "gradle generateSwig" and then "gradle build".
Fingers crossed, but let us know if things go sideways.

I followed all your steps. I installed SWIG using brew install swig. I cloned the repo and switched to release 17.x and tried using its directory as the environmental variable for LLVM_HOME. I tried both modifying the paths in the gradle build file and using the original LLVM_HOME and I verified that the liblldb.dylib file exists in the correct path. Despite this, the command gradle build (and buildNatives) still gives me those errors shown above. However grade generateSwig runs without errors. I don't think this is related to not being able to find the header files because I had that error earlier and I resolved it by changing build file so that it points to the correct path. This error that I am now getting happens after I resolved that header file error. I'm out of ideas about what to do.


List() is deprecated but does not provide a deprecation message

The default List (List()) constructor is deprecated, but there's no deprecation message associated with the annotation. We should provide one with a brief description, and / or a link to the hosted docs (which do provide a reason for the deprecation and how to switch to a supported version).
If we link to a url, we could use something like https://api.dart.dev/stable/dart-core/List/List.html.

cc @lrhn

cc @lrhn

It has a deprecation message now.

It has a deprecation message now.


Deadlock occur with concurrent request for session extend API with the same session

Describe the issue:
When concurrent session extending requests for the same session are received, deadlocks occur with the following exception in the IDN_AUTH_SESSION_META_DATA table:
ERROR {org.wso2.carbon.identity.application.authentication.framework.util.FrameworkUtils} - Updating session meta data failed. org.wso2.carbon.identity.application.authentication.framework.exception.UserSessionException: Error while updating Last Access Time of session:9797sdsdhsf0ef233a1ea52ae4925374d7b8fbcfcd30ef6ea849b18b0952 in table `IDN_AUTH_SESSION_META_DATA`.
	at org.wso2.carbon.identity.application.authentication.framework.store.UserSessionStore.updateSessionMetaData(UserSessionStore.java:722)
	at org.wso2.carbon.identity.application.authentication.framework.util.FrameworkUtils.updateSessionLastAccessTimeMetadata(FrameworkUtils.java:2857)

Although this is an edge case, this behaviour could occur when the session extend API is invoked multiple times concurrently with the same session data key.
Analysing the error, we identified that the UserSessionStore[1] doesn't use a synchronise block similar to the sessionDataStore [2]. Therefore, we need to use an approach similar to the sessionDataStore[2] to avoid such behaviours leading to a pool exhaustion.
[1] https://github.com/wso2/carbon-identity-framework/blob/master/components/authentication-framework/org.wso2.carbon.identity.application.authentication.framework/src/main/java/org/wso2/carbon/identity/application/authentication/framework/store/UserSessionStore.java#L78
[2] https://github.com/wso2/carbon-identity-framework/blob/master/components/authentication-framework/org.wso2.carbon.identity.application.authentication.framework/src/main/java/org/wso2/carbon/identity/application/authentication/framework/store/SessionDataStore.java#L299
How to reproduce:

Invoke the session extend API with the same session data key concurrently.

Expected behavior:

Deadlocks shouldn't occur.

Environment information:

Product Version: IS 5.11.0

Not applicable as eager initialisation is used [1].
[1] https://github.com/wso2/carbon-identity-framework/blob/master/components/authentication-framework/org.wso2.carbon.identity.application.authentication.framework/src/main/java/org/wso2/carbon/identity/application/authentication/framework/store/UserSessionStore.java#L59


[BUG] Opensearch dashboards notifications plugin on docker does not work

Describe the bug
(this ticket was transferred from Opensearch to Dashboards, but I cannot see the original via search this ticket so I recreated)
After creating a channel and alarms etc to my belief by the book nothing works. This is a docker version of open search + dashboards and dockerhub official repo.
I've a webhook and email configuration, both fails timeout 30000ms error on GUI.
When I exec bash at container, I can use CURL to send webhook call to MS TEAMS generated webhook and get alert in the MS Teams channel. It proves that container => Internet => MS TEAMS is perfectly working, so IMO it must be something in the code.
With TCPDUMP I cannot see anything going out from container.
Logs are attached to end..
To Reproduce
Steps to reproduce the behavior:
0. Use Docker version of Open-search dashboards, I don't know if problem is with non-docker version.

Go to "Opensearch plugins / notifications"
Click on "Create channel"
Create Webhook-type channel to a valid webhook, for example Teams
Press "Send test message"
See the error after 30s

After "Send test message"

After second send

Expected behavior
Well Webhook (and email) should work so Teams channel should have test message and email too if email out is tested.
OpenSearch Version
Not relevant but docker pull'd same time as Dashboards with "latest"-tag
Dashboards Version
"Labels": {
"org.label-schema.build-date": "2022-06-30T22:04:43Z",
"org.label-schema.description": "4011",
"org.label-schema.license": "Apache-2.0",
"org.label-schema.name": "opensearch-dashboards",
"org.label-schema.schema-version": "1.0",
"org.label-schema.url": "https://opensearch.org",
"org.label-schema.vcs-url": "https://github.com/opensearch-project/OpenSearch-Dashboards",
"org.label-schema.vendor": "Amazon",
"org.label-schema.version": "2.1.0"
Plugins
$ bin/opensearch-dashboards-plugin list
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>Screenshots
If applicable, add screenshots to help explain your problem.
Host/Environment (please complete the following information):

OS: docker on Ubuntu 22.04.4 LTS

Additional context
Logs
`
{"type":"error","@timestamp":"2022-08-16T08:33:52Z","tags":[],"pid":1,"level":"error","error":{"message":"Internal Server Error","name":"Error","stack":"Error: Internal Server Error\n    at HapiResponseAdapter.toError (/usr/share/opensearch-dashboards/src/core/server/http/router/response_adapter.js:143:19)\n    at HapiResponseAdapter.toHapiResponse (/usr/share/opensearch-dashboards/src/core/server/http/router/response_adapter.js:97:19)\n    at HapiResponseAdapter.handle (/usr/share/opensearch-dashboards/src/core/server/http/router/response_adapter.js:92:17)\n    at Router.handle (/usr/share/opensearch-dashboards/src/core/server/http/router/router.js:164:34)\n    at runMicrotasks ()\n    at processTicksAndRejections (internal/process/task_queues.js:95:5)\n    at handler (/usr/share/opensearch-dashboards/src/core/server/http/router/router.js:124:50)\n    at exports.Manager.execute (/usr/share/opensearch-dashboards/node_modules/@hapi/hapi/lib/toolkit.js:60:28)\n    at Object.internals.handler (/usr/share/opensearch-dashboards/node_modules/@hapi/hapi/lib/handler.js:46:20)\n    at exports.execute (/usr/share/opensearch-dashboards/node_modules/@hapi/hapi/lib/handler.js:31:20)\n    at Request._lifecycle (/usr/share/opensearch-dashboards/node_modules/@hapi/hapi/lib/request.js:371:32)\n    at Request._execute (/usr/share/opensearch-dashboards/node_modules/@hapi/hapi/lib/request.js:281:9)"},"url":"http://xxx.yyy.hosting.fi/api/notifications/test_message/1NzJpYIBCI5M2_14qImg","message":"Internal Server Error"}
{"type":"response","@timestamp":"2022-08-16T08:33:52Z","tags":[],"pid":1,"method":"get","statusCode":500,"req":{"url":"/api/notifications/test_message/1NzJpYIBCI5M2_14qImg","method":"get","headers":{"connection":"upgrade","host":"xxx.yyy.hosting.fi","x-real-ip":"aaa.bbb.ccc.ddd","x-forwarded-for":"aaa.bbb.ccc.ddd","x-forwarded-proto":"https","x-forwarded-host":"xxx.yyy.hosting.fi","x-forwarded-port":"443","sec-ch-ua":""Chromium";v="104", " Not A;Brand";v="99", "Microsoft Edge";v="104"","content-type":"application/json","sec-ch-ua-mobile":"?0","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.81 Safari/537.36 Edg/104.0.1293.54","osd-version":"2.1.0","sec-ch-ua-platform":""Windows"","accept":"/","sec-fetch-site":"same-origin","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"https://xxx.yyy.hosting.fi/dashboards/app/notifications-dashboards","accept-encoding":"gzip, deflate, br","accept-language":"fi,en-US;q=0.9,en;q=0.8","securitytenant":""},"remoteAddress":"<IP_ADDRESS>","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.81 Safari/537.36 Edg/104.0.1293.54","referer":"https://xxx.yyy.hosting.fi/dashboards/app/notifications-dashboards"},"res":{"statusCode":500,"responseTime":22730,"contentLength":9},"message":"GET /api/notifications/test_message/1NzJpYIBCI5M2_14qImg 500 22730ms - 9.0B"}
{"type":"response","@timestamp":"2022-08-16T08:34:15Z","tags":[],"pid":1,"method":"delete","statusCode":200,"req":{"url":"/api/notifications/delete_configs?config_id_list=1NzJpYIBCI5M2_14qImg","method":"delete","headers":{"connection":"upgrade","host":"xxx.yyy.hosting.fi","x-real-ip":"aaa.bbb.ccc.ddd","x-forwarded-for":"aaa.bbb.ccc.ddd","x-forwarded-proto":"https","x-forwarded-host":"xxx.yyy.hosting.fi","x-forwarded-port":"443","sec-ch-ua":""Chromium";v="104", " Not A;Brand";v="99", "Microsoft Edge";v="104"","content-type":"application/json","sec-ch-ua-mobile":"?0","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.81 Safari/537.36 Edg/104.0.1293.54","osd-version":"2.1.0","sec-ch-ua-platform":""Windows"","accept":"/","origin":"https://xxx.yyy.hosting.fi","sec-fetch-site":"same-origin","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"https://xxx.yyy.hosting.fi/dashboards/app/notifications-dashboards","accept-encoding":"gzip, deflate, br","accept-language":"fi,en-US;q=0.9,en;q=0.8","securitytenant":""},"remoteAddress":"<IP_ADDRESS>","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.81 Safari/537.36 Edg/104.0.1293.54","referer":"https://xxx.yyy.hosting.fi/dashboards/app/notifications-dashboards"},"res":{"statusCode":200,"responseTime":14,"contentLength":9},"message":"DELETE /api/notifications/delete_configs?config_id_list=1NzJpYIBCI5M2_14qImg 200 14ms - 9.0B"}
{"type":"response","@timestamp":"2022-08-16T08:34:59Z","tags":[],"pid":1,"method":"post","statusCode":200,"req":{"url":"/api/notifications/create_config","method":"post","headers":{"connection":"upgrade","host":"xxx.yyy.hosting.fi","x-real-ip":"aaa.bbb.ccc.ddd","x-forwarded-for":"aaa.bbb.ccc.ddd","x-forwarded-proto":"https","x-forwarded-host":"xxx.yyy.hosting.fi","x-forwarded-port":"443","content-length":"441","sec-ch-ua":""Chromium";v="104", " Not A;Brand";v="99", "Microsoft Edge";v="104"","content-type":"application/json","sec-ch-ua-mobile":"?0","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.81 Safari/537.36 Edg/104.0.1293.54","osd-version":"2.1.0","sec-ch-ua-platform":""Windows"","accept":"/","origin":"https://xxx.yyy.hosting.fi","sec-fetch-site":"same-origin","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"https://xxx.yyy.hosting.fi/dashboards/app/notifications-dashboards","accept-encoding":"gzip, deflate, br","accept-language":"fi,en-US;q=0.9,en;q=0.8","securitytenant":""},"remoteAddress":"<IP_ADDRESS>","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.81 Safari/537.36 Edg/104.0.1293.54","referer":"https://xxx.yyy.hosting.fi/dashboards/app/notifications-dashboards"},"res":{"statusCode":200,"responseTime":21,"contentLength":9},"message":"POST /api/notifications/create_config 200 21ms - 9.0B"}
{"type":"error","@timestamp":"2022-08-16T08:34:59Z","tags":[],"pid":1,"level":"error","error":{"message":"Internal Server Error","name":"Error","stack":"Error: Internal Server Error\n    at HapiResponseAdapter.toError (/usr/share/opensearch-dashboards/src/core/server/http/router/response_adapter.js:143:19)\n    at HapiResponseAdapter.toHapiResponse (/usr/share/opensearch-dashboards/src/core/server/http/router/response_adapter.js:97:19)\n    at HapiResponseAdapter.handle (/usr/share/opensearch-dashboards/src/core/server/http/router/response_adapter.js:92:17)\n    at Router.handle (/usr/share/opensearch-dashboards/src/core/server/http/router/router.js:164:34)\n    at runMicrotasks ()\n    at processTicksAndRejections (internal/process/task_queues.js:95:5)\n    at handler (/usr/share/opensearch-dashboards/src/core/server/http/router/router.js:124:50)\n    at exports.Manager.execute (/usr/share/opensearch-dashboards/node_modules/@hapi/hapi/lib/toolkit.js:60:28)\n    at Object.internals.handler (/usr/share/opensearch-dashboards/node_modules/@hapi/hapi/lib/handler.js:46:20)\n    at exports.execute (/usr/share/opensearch-dashboards/node_modules/@hapi/hapi/lib/handler.js:31:20)\n    at Request._lifecycle (/usr/share/opensearch-dashboards/node_modules/@hapi/hapi/lib/request.js:371:32)\n    at Request._execute (/usr/share/opensearch-dashboards/node_modules/@hapi/hapi/lib/request.js:281:9)"},"url":"http://xxx.yyy.hosting.fi/api/notifications/test_message/1dzKpYIBCI5M2_14rolN","message":"Internal Server Error"}
{"type":"response","@timestamp":"2022-08-16T08:34:59Z","tags":[],"pid":1,"method":"get","statusCode":500,"req":{"url":"/api/notifications/test_message/1dzKpYIBCI5M2_14rolN","method":"get","headers":{"connection":"upgrade","host":"xxx.yyy.hosting.fi","x-real-ip":"aaa.bbb.ccc.ddd","x-forwarded-for":"aaa.bbb.ccc.ddd","x-forwarded-proto":"https","x-forwarded-host":"xxx.yyy.hosting.fi","x-forwarded-port":"443","sec-ch-ua":""Chromium";v="104", " Not A;Brand";v="99", "Microsoft Edge";v="104"","content-type":"application/json","sec-ch-ua-mobile":"?0","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.81 Safari/537.36 Edg/104.0.1293.54","osd-version":"2.1.0","sec-ch-ua-platform":""Windows"","accept":"/","sec-fetch-site":"same-origin","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"https://xxx.yyy.hosting.fi/dashboards/app/notifications-dashboards","accept-encoding":"gzip, deflate, br","accept-language":"fi,en-US;q=0.9,en;q=0.8","securitytenant":""},"remoteAddress":"<IP_ADDRESS>","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.81 Safari/537.36 Edg/104.0.1293.54","referer":"https://xxx.yyy.hosting.fi/dashboards/app/notifications-dashboards"},"res":{"statusCode":500,"responseTime":30011,"contentLength":9},"message":"GET /api/notifications/test_message/1dzKpYIBCI5M2_14rolN 500 30011ms - 9.0B"}
{"type":"response","@timestamp":"2022-08-16T08:35:29Z","tags":[],"pid":1,"method":"delete","statusCode":200,"req":{"url":"/api/notifications/delete_configs?config_id_list=1dzKpYIBCI5M2_14rolN","method":"delete","headers":{"connection":"upgrade","host":"xxx.yyy.hosting.fi","x-real-ip":"aaa.bbb.ccc.ddd","x-forwarded-for":"aaa.bbb.ccc.ddd","x-forwarded-proto":"https","x-forwarded-host":"xxx.yyy.hosting.fi","x-forwarded-port":"443","sec-ch-ua":""Chromium";v="104", " Not A;Brand";v="99", "Microsoft Edge";v="104"","content-type":"application/json","sec-ch-ua-mobile":"?0","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.81 Safari/537.36 Edg/104.0.1293.54","osd-version":"2.1.0","sec-ch-ua-platform":""Windows"","accept":"/","origin":"https://xxx.yyy.hosting.fi","sec-fetch-site":"same-origin","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"https://xxx.yyy.hosting.fi/dashboards/app/notifications-dashboards","accept-encoding":"gzip, deflate, br","accept-language":"fi,en-US;q=0.9,en;q=0.8","securitytenant":""},"remoteAddress":"<IP_ADDRESS>","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.81 Safari/537.36 Edg/104.0.1293.54","referer":"https://xxx.yyy.hosting.fi/dashboards/app/notifications-dashboards"},"res":{"statusCode":200,"responseTime":23,"contentLength":9},"message":"DELETE /api/notifications/delete_configs?config_id_list=1dzKpYIBCI5M2_14rolN 200 23ms - 9.0B"}
`

Now I found my earlier bug report, so #504 and #505 are the same issue..
But anybody here? How to debug this issue?

Hi @joriham, this may be related to https://github.com/opensearch-project/notifications/issues/343.
Unfortunately, the SendTestMessage is only formatting the body as plaintext today so when the payload expects a JSON format, the test message may fail. That doesn't mean the channel doesn't necessarily work though. Could you try to actually use the channel after creating it with something (for example, Alerting or IM)? Just so we can confirm this is in fact the issue.

@qreshi  - I'll take a look at #343
This is the outcome of my test. I formulated Trigger-Action error message as JSON as I understood that was part of the request and previous experiment with standard text proposed by Dashboard plugin did not work. And on webhook  there is mandatory content-type json-header for
Error message from UI as ASCII..
Error: Failed running action: org.opensearch.OpenSearchStatusException: {"event_status_list": [{"config_id":"GzORJIEB1zY3DXSy2drU","config_type":"webhook","config_name":"teams channel webhook","email_recipient_status":[],"delivery_status":{"status_code":"500","status_text":"Failed to send webhook message inmicsnebula.webhook.office.com"}}]}
Alerting status:

configuration:

Then to add that webhook URL from Opensearch dashboards container with above config is all fine by curl CLI command..

Would you be able to look at the opensearch.log so we can see what kind of payload is being sent for the notification? Or perhaps there will be more insight in the full stack trace there.

I recall that the Mustache template in Alerting has had trouble guaranteeing valid JSON in the past (since Mustache itself doesn't really guarantee it). So if we can check that,  it might help in verifying the issue.

Let's add logs from container aka Opensearch.log as I understand it:
[2022-09-14T14:11:09,240][INFO ][o.o.n.i.ConfigIndexingActions] [muro-mongodb-hel-2] notifications:NotificationConfig-get org.opensearch.commons.notifications.action.GetNotificationConfigRequest@5cdbf60a [2022-09-14T14:11:09,240][INFO ][o.o.n.i.ConfigIndexingActions] [muro-mongodb-hel-2] notifications:NotificationConfig-info GzORJIEB1zY3DXSy2drU [2022-09-14T14:11:09,241][INFO ][o.o.n.s.SendMessageActionHelper] [muro-mongodb-hel-2] notifications:getSingleConfig-get GzORJIEB1zY3DXSy2drU [2022-09-14T14:11:09,401][ERROR][o.o.n.c.t.WebhookDestinationTransport] [muro-mongodb-hel-2] Exception sending webhook message GzORJIEB1zY3DXSy2drU: org.opensearch.notifications.spi.model.MessageContent@2d8e87be java.io.IOException: Failed: Summary or Text is required.         at org.opensearch.notifications.core.client.DestinationHttpClient.validateResponseStatus(DestinationHttpClient.kt:150) ~[opensearch-notifications-core-<IP_ADDRESS>.jar:<IP_ADDRESS>]         at org.opensearch.notifications.core.client.DestinationHttpClient.execute(DestinationHttpClient.kt:98) ~[opensearch-notifications-core-<IP_ADDRESS>.jar:<IP_ADDRESS>]         at org.opensearch.notifications.core.transport.WebhookDestinationTransport.sendMessage(WebhookDestinationTransport.kt:41) [opensearch-notifications-core-<IP_ADDRESS>.jar:<IP_ADDRESS>]         at org.opensearch.notifications.core.transport.WebhookDestinationTransport.sendMessage(WebhookDestinationTransport.kt:21) [opensearch-notifications-core-<IP_ADDRESS>.jar:<IP_ADDRESS>]         at org.opensearch.notifications.core.NotificationCoreImpl.sendMessage$lambda-0(NotificationCoreImpl.kt:38) [opensearch-notifications-core-<IP_ADDRESS>.jar:<IP_ADDRESS>]         at java.security.AccessController.doPrivileged(AccessController.java:318) [?:?]         at org.opensearch.notifications.core.NotificationCoreImpl.sendMessage(NotificationCoreImpl.kt:35) [opensearch-notifications-core-<IP_ADDRESS>.jar:<IP_ADDRESS>]         at org.opensearch.notifications.send.SendMessageActionHelper.sendMessageThroughSpi(SendMessageActionHelper.kt:574) [opensearch-notifications-<IP_ADDRESS>.jar:<IP_ADDRESS>]         at org.opensearch.notifications.send.SendMessageActionHelper.sendWebhookMessage(SendMessageActionHelper.kt:398) [opensearch-notifications-<IP_ADDRESS>.jar:<IP_ADDRESS>]         at org.opensearch.notifications.send.SendMessageActionHelper.sendMessageToChannel(SendMessageActionHelper.kt:229) [opensearch-notifications-<IP_ADDRESS>.jar:<IP_ADDRESS>]         at org.opensearch.notifications.send.SendMessageActionHelper.access$sendMessageToChannel(SendMessageActionHelper.kt:61) [opensearch-notifications-<IP_ADDRESS>.jar:<IP_ADDRESS>]         at org.opensearch.notifications.send.SendMessageActionHelper$sendMessagesInParallel$1$statusDeferredList$1$1.invokeSuspend(SendMessageActionHelper.kt:157) [opensearch-notifications-<IP_ADDRESS>.jar:<IP_ADDRESS>]         at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) [kotlin-stdlib-1.6.10.jar:1.6.10-release-923(1.6.10)]         at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) [kotlinx-coroutines-core-jvm-1.4.3.jar:?]         at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571) [kotlinx-coroutines-core-jvm-1.4.3.jar:?]         at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750) [kotlinx-coroutines-core-jvm-1.4.3.jar:?]         at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678) [kotlinx-coroutines-core-jvm-1.4.3.jar:?]         at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665) [kotlinx-coroutines-core-jvm-1.4.3.jar:?] [2022-09-14T14:11:09,401][INFO ][o.o.n.s.SendMessageActionHelper] [muro-mongodb-hel-2] notifications:sendMessage:statusCode=500, statusText=Failed to send webhook message Failed: Summary or Text is required. [2022-09-14T14:11:09,402][WARN ][o.o.n.a.PluginBaseAction ] [muro-mongodb-hel-2] notifications:OpenSearchStatusException: org.opensearch.OpenSearchStatusException: {"event_status_list": [{"config_id":"GzORJIEB1zY3DXSy2drU","config_type":"webhook","config_name":"teams channel webhook","email_recipient_status":[],"delivery_status":{"status_code":"500","status_text":"Failed to send webhook message Failed: Summary or Text is required."}}]}         at org.opensearch.notifications.send.SendMessageActionHelper.executeRequest(SendMessageActionHelper.kt:99) ~[?:?]         at org.opensearch.notifications.send.SendMessageActionHelper$executeRequest$1.invokeSuspend(SendMessageActionHelper.kt) ~[?:?]         at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) [kotlin-stdlib-1.6.10.jar:1.6.10-release-923(1.6.10)]         at kotlinx.coroutines.internal.ScopeCoroutine.afterResume(Scopes.kt:32) [kotlinx-coroutines-core-jvm-1.4.3.jar:?]         at kotlinx.coroutines.AbstractCoroutine.resumeWith(AbstractCoroutine.kt:113) [kotlinx-coroutines-core-jvm-1.4.3.jar:?]         at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46) [kotlin-stdlib-1.6.10.jar:1.6.10-release-923(1.6.10)]         at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) [kotlinx-coroutines-core-jvm-1.4.3.jar:?]         at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571) [kotlinx-coroutines-core-jvm-1.4.3.jar:?]         at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750) [kotlinx-coroutines-core-jvm-1.4.3.jar:?]         at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678) [kotlinx-coroutines-core-jvm-1.4.3.jar:?]         at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665) [kotlinx-coroutines-core-jvm-1.4.3.jar:?]

Is this error related:
https://forum.opensearch.org/t/mustache-template-function-removing-trailing-comma/2528

What do we do when dealing with JSON object on webhooks? Current templating with aggregations basically makes it impossible due to trailing commas.

For example, using any kind of templating requires iterations over an object in the ES response object. However, every json iteration that will be seperated by a comma will always have a trailing comma like so:

{
"obj1": "val1",
"obj2": "val2",
"obj3": "val3",
"obj4": "val4", <- Sadface
}

The vast majority of JSON compliant webhooks will reject this / fail to decode the JSON object on the other end.

Any suggestions on how to get around this?

There was some suggestion:
{{#toJson}}ctx.results.0{{/toJson}}
but I did not succees that, tried foo as text and json object "foo": "bar"

I was experimenting custom webhook URL which if forwarded to netcat:
Pressing send test message with

Gave correct looking output

so I added it to test monitor with more identifiers and enabled it and got:

To me it looks fine..

Ok, my test string was bad for Teams API as on JSON it expects Office 365 connector card -format.


why not combine getParam and getQueryParam to one method?

We can use FlowRouter.getParam inside autoruns in our templates to get data that is required to build our templates. The way I see it, a template knows that he is depending on a certain data-key, let's say "comment-id". The template may know that he can find this key trough the router (in the url), but it's not up to him to decide to look for a param or a query-param. Where the key is stored or comming from, is not that interesting. He simply requires a value.
So I'm using the hack below to work around this problem. Is there a reason why this is not simply build into FlowRouter itself?
FlowRouter.getParam = (function() {
  _getParam = FlowRouter.getParam;

  return function(key) {
    if (this._current.params.hasOwnProperty(key)) {
      return _getParam.apply(this, arguments);
    }

    return this.getQueryParam.apply(this, arguments);
  }
})();
```

By using this method override, `getParam` returns the route param if it is provided, otherwise it will look for a `queryParam`.

I think `setParam` should work in the same way. If the current route has a param with the given name, than it should set the `route-param` otherwise it should set the `query-param`. So query params should simply be fallbacks in case the route doesn't have a parameter defined with the given name.

We are reactively watching it. That's the reason. There is no specific reason into this.
I get it what you are saying.
You can access this both in the FlowRouter.route callback. With Blaze 2 you'll be able to pass props from top to bottom.

@smeijer in addition to @arunoda answer - what if in params and query you will have same key?

@dr-dimitru in my opinion, getParam should win in such cases. But in the context of my question, you should forget that problem exists. Because in my opinion, if there is a 'route param' then setParam should set the route param, otherwise is should set a query param. So in my thinking; a query param will only exists if the current route does not support a param by that name.
Now I think of it, I do understand that this will make the router more complex. Because then it is less obvious what route to use, depending on all route params and potentially 'upgrade-able' query params.
The reason I brought this up, is because I don't think a template should be aware of the origin. It's not up to a template to decide to use a route param or a query param.
Also in your example, it will be highly confusing if you are using two equally named keys on different locations. What comment is your template going to render if you use a route like:  /c/:commentId and visit a url like: example.com/c/foo?commentId=bar. Will you see comment foo or bar? I know, it depends on whether you call FlowRouter.getParam or FlowRouter.getQueryParam. But still....
I think, routes should only be changed by a call to FlowRouter.go, and not by setParam. That way setParam can just contain a single dictionary, that is both used to fill in the route params of the current route, and the query params. When FlowRouter.go is called, it reads the params with getParams, and uses that dictionary to fill in it's new route params. Whatever keys are left, are appended to the url as being a query param.
Simple and effective. Right?


Project Card hover effect does not work correctly

Description
On the website's main page (https://codinasion.org), the project cards under the "Explore our open source projects" header have a hover effect that looks pretty weird:

Additional information
No response
Code of Conduct

[X] I have read and agree to the Codinasion project's Code of Conduct

Could I be assigned to this issue?

Sure @Yarnacle

The problem occurs for all project cards, so on the projects page (https://codihttps://codinasion.org/projects) as well

@Yarnacle
All pages use the same Project Card component 👉🏻 https://github.com/codinasion/codinasion/blob/master/src/components/Projects/ProjectCard.tsx
Maybe the issue is with #25

yeah it seems the bug was introduced in #25


Weird pages-build-deployment failure.

Something strange is going on.
This is failing but our action, which builds and deploys is fine.

Rubberduck @dpshelio helped. Probs OK now. Need a new commit on main before I can confirm.

Could be related to the changes from Ben Thomas

Looks like it was a v. minor misconfigured setting.
Now we have sane builds and that weird guy didn't run for 6ca79c92be6c08c462b0c49770bbd1b1460c546a
👍


Firebase cloud message not work with google play games services plugin

Hi everyone, I used Firebase analytics, firebase remote config with google play services plugin in my game and everything worked well. But when I implemented Firebase clouse message, it did not work (cannot receive any tokenId or message from firebase).
I created an empty project, only use firebase message and it work well, but when i add google play services plugin, it did not work anymore.
I'm using google player services 0.9.50 and firebase 5.1.1. All dependency libraries (only Google play services plugin and Firebase cloud message plugin) are:
com.google.firebase.firebase-app-unity-5.1.0n
com.google.firebase.firebase-common-16.0.0
com.google.firebase.firebase-iid-16.2.0
com.google.firebase.firebase-messaging-unity-5.1.0
com.google.games.gpgs-plugin-support-0.9.50
android.arch.core.common-1.0.0
android.arch.lifecycle.common-1.0.0
android.arch.lifecycle.runtime-1.0.0
com.android.support.support-annotations-26.1.0
com.android.support.support-compat-26.1.0
com.android.support.support-core-ui-26.1.0
com.android.support.support-core-utils-26.1.0
com.android.support.support-fragment-26.1.0
com.android.support.support-media-compat-26.1.0
com.android.support.support-v4-26.1.0
com.google.android.gms.play-services-ads-identifier-15.0.1
com.google.android.gms.play-services-auth-15.0.1
com.google.android.gms.play-services-auth-api-phone-15.0.1
com.google.android.gms.play-services-auth-base-15.0.1
com.google.android.gms.play-services-base-15.0.1
com.google.android.gms.play-services-basement-15.0.1
com.google.android.gms.play-services-drive-15.0.1
com.google.android.gms.play-services-games-15.0.1
com.google.android.gms.play-services-measurement-base-16.0.0
com.google.android.gms.play-services-nearby-15.0.1
com.google.android.gms.play-services-stats-15.0.1
com.google.android.gms.play-services-tasks-15.0.1
com.google.firebase.firebase-analytics-16.0.1
com.google.firebase.firebase-analytics-impl-16.1.1
com.google.firebase.firebase-core-16.0.1
com.google.firebase.firebase-iid-interop-16.0.0
com.google.firebase.firebase-measurement-connector-16.0.0
com.google.firebase.firebase-measurement-connector-impl-16.0.1
com.google.firebase.firebase-messaging-17.1.0
libmessaging_unity_player_activity

@mtoanhcm what is the Google Play Services plugin you're referring to?

@stewartmiles I'm using plugin from this:
https://github.com/playgameservices/play-games-plugin-for-unity
with lastest version 0.9.50

@claywilkinson FYI
@mtoanhcm when you say it isn't working, what isn't working?  Is there a build error, does the application when built not run?   Could you share some logs?

@stewartmiles I fixed all dependency libraries issue when use both goolg play plugin and fire base cloud message plugin, my game build and run success with no error in logcat. But I cannot receive any token or message (I received it success when use only Firebase cloud message plugin)

@DeusExMachina1993 and @mtoanhcm if you're using Unity 2018 it's possible this is related a regression we had in AndoridManifest.xml variable replacement in 5.1.0, give the Firebase Unity 5.2.0 SDK a try.
w.r.t conflicting dependencies, we now will pin all explicitly specified dependencies to the specified version in the Android Resolver which is going to break some folks who are using plugins with conflicting components and fix others with conflicting transitive dependencies.  In your case for any library that is specified multiple times (i.e by both Firebase and Google Play Games Services) it will pick the most recent version of the two and try resolving again, which may work depending upon whether any breaking API changes have been applied to either Android SDK. @claywilkinson any idea when the Google Play Games Services plugin will be updated?

Greate, Firebase version 5.2.0 fixed my issues, very thanks for your support @stewartmiles

@mtoanhcm Hello guys, I am having similar issue. I am using Firebase cloud messaging 5.2.1 with GPGS 0.9.5 in unity 4.7.2. My app is getting Firebase registration token and signing in in GPGS properly but the moment I add this line 'RequestServerAuthCode(false)' to request server auth code it crashes
`FATAL EXCEPTION: main
Process: com.appname, PID: 2924
java.lang.Error: FATAL EXCEPTION [main]
Unity version     : 4.7.2f1
                                             Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/auth/api/signin/internal/SignInHubActivity;
                                                 at com.google.android.gms.auth.api.signin.internal.zzh.zzc(Unknown Source)
                                                 at com.google.android.gms.auth.api.signin.internal.zzf.getSignInIntent(Unknown Source)
                                                 at com.google.games.bridge.TokenFragment$2.onResult(TokenFragment.java:304)
                                                 at com.google.games.bridge.TokenFragment$2.onResult(TokenFragment.java:295)
                                                 at com.google.android.gms.common.api.internal.BasePendingResult$CallbackHandler.handleMessage(Unknown Source)
                                                 at android.os.Handler.dispatchMessage(Handler.java:102)
                                                 at android.os.Looper.loop(Looper.java:154)
                                                 at android.app.ActivityThread.main(ActivityThread.java:6119)
                                                 at java.lang.reflect.Method.invoke(Native Method)
                                                 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
                                                 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)`

If I remove Firebase from project then it works and I get server auth code as well. Any idea?

@stewartmiles how can i download firebase old builds?

@pancar old builds are available via https://dl.google.com/firebase/sdk/unity/firebase_unity_sdk_VERSION.zip e.g https://dl.google.com/firebase/sdk/unity/firebase_unity_sdk_5.4.2.zip


Iperf3 is not working on GKE

Hello,
First of all, thank you for sharing this project.
I have successfully went through on the quickstart guide using Google Kubernetes Engine.
However, when I try to run iperf3 benchmark the execution fails:
kubectl create --namespace kubestone -f https://raw.githubusercontent.com/xridge/kubestone/master/config/samples/perf_v1alpha1_iperf3.yaml
iperf3.perf.kubestone.xridge.io/iperf3-sample created

kubectl get pods --all-namespaces
NAMESPACE          NAME                                                           READY   STATUS    RESTARTS   AGE
kube-system        heapster-v1.6.1-93c9c3f34-rgthd                                3/3     Running   0          17h
kube-system        kube-dns-78d5dcc983-ndhsm                                      4/4     Running   0          17h
kube-system        kube-dns-78d5dcc983-xh75l                                      4/4     Running   0          17h
kube-system        kube-dns-autoscaler-bb58c3784-hqwsr                            1/1     Running   0          17h
kube-system        kube-proxy-gke-standard-cluster-2-default-pool-afc313f1-3bgt   1/1     Running   0          17h
kube-system        kube-proxy-gke-standard-cluster-2-default-pool-afc313f1-4bdj   1/1     Running   0          17h
kube-system        kube-proxy-gke-standard-cluster-2-default-pool-afc313f1-nftt   1/1     Running   0          17h
kube-system        l7-default-backend-fd59395cd-lmrg8                             1/1     Running   0          17h
kube-system        metrics-server-v0.3.1-37c75779f-xn635                          2/2     Running   0          17h
kubestone-system   kubestone-controller-manager-cb2c75fb-dbcnw                    1/1     Running   0          44s
kubestone          iperf3-sample-2f47fdb74-plbkm                                  1/1     Running   0          8s
kubestone          iperf3-sample-client                                           0/1     Error     0          5s

The iperf3 client log shows connection refused error:
$ kubectl logs -n kubestone iperf3-sample-client
iperf3: error - unable to connect to server: Connection refused

Thank you for your help!

Thank you for reporting this issue and sorry for the inconvenience caused.
Could you please:

detail how many nodes are present in your cluster?
post the output of kubestone-controller-manager-cb2c75fb-dbcnw from kubestone-system namespace?

hi @otto-von-bivouac .
Answers:

Three worker nodes (n1-standard-2) were present during the test.
Output of kubestone-controller-manager as follows:

2019-08-30T13:49:45.432Z	INFO	controller-runtime.metrics	metrics server is starting to listen	{"addr": ":8080"}
2019-08-30T13:49:45.433Z	INFO	controller-runtime.controller	Starting EventSource	{"controller": "iperf3", "source": "kind source: /, Kind="}
2019-08-30T13:49:45.434Z	INFO	controller-runtime.controller	Starting EventSource	{"controller": "fio", "source": "kind source: /, Kind="}
2019-08-30T13:49:45.434Z	INFO	controller-runtime.controller	Starting EventSource	{"controller": "sysbench", "source": "kind source: /, Kind="}
2019-08-30T13:49:45.434Z	INFO	setup	starting manager
2019-08-30T13:49:45.434Z	INFO	controller-runtime.manager	starting metrics server	{"path": "/metrics"}
2019-08-30T13:49:45.632Z	DEBUG	controller-runtime.manager.events	Normal	{"object": {"kind":"ConfigMap","namespace":"kubestone-system","name":"controller-leader-election-helper","uid":"069a394e-cb2d-11e9-bf3f-42010af001a1","apiVersion":"v1","resourceVersion":"8514"}, "reason": "LeaderElection", "message": "kubestone-controller-manager-cb5c75fb-rp66g_067ccb69-cb2d-11e9-90fd-de4331d2627b became leader"}
2019-08-30T13:49:45.632Z	INFO	controller-runtime.controller	Starting Controller	{"controller": "sysbench"}
2019-08-30T13:49:45.632Z	INFO	controller-runtime.controller	Starting Controller	{"controller": "iperf3"}
2019-08-30T13:49:45.632Z	INFO	controller-runtime.controller	Starting Controller	{"controller": "fio"}
2019-08-30T13:49:45.732Z	INFO	controller-runtime.controller	Starting workers	{"controller": "sysbench", "worker count": 1}
2019-08-30T13:49:45.732Z	INFO	controller-runtime.controller	Starting workers	{"controller": "fio", "worker count": 1}
2019-08-30T13:49:45.732Z	INFO	controller-runtime.controller	Starting workers	{"controller": "iperf3", "worker count": 1}
2019-08-30T13:55:01.036Z	INFO	Event(v1.ObjectReference{Kind:"Iperf3", Namespace:"kubestone", Name:"iperf3-sample", UID:"c28875be-cb2d-11e9-bf3f-42010af001a1", APIVersion:"perf.kubestone.xridge.io/v1alpha1", ResourceVersion:"9766", FieldPath:""}): type: 'Normal' reason: 'CreateSucceeded' Created /apis/apps/v1/namespaces/kubestone/deployments/iperf3-sample
2019-08-30T13:55:01.130Z	INFO	Event(v1.ObjectReference{Kind:"Iperf3", Namespace:"kubestone", Name:"iperf3-sample", UID:"c28875be-cb2d-11e9-bf3f-42010af001a1", APIVersion:"perf.kubestone.xridge.io/v1alpha1", ResourceVersion:"9766", FieldPath:""}): type: 'Normal' reason: 'CreateSucceeded' Created /api/v1/namespaces/kubestone/services/iperf3-sample
2019-08-30T13:55:06.571Z	INFO	Event(v1.ObjectReference{Kind:"Iperf3", Namespace:"kubestone", Name:"iperf3-sample", UID:"c28875be-cb2d-11e9-bf3f-42010af001a1", APIVersion:"perf.kubestone.xridge.io/v1alpha1", ResourceVersion:"9766", FieldPath:""}): type: 'Normal' reason: 'CreateSucceeded' Created /api/v1/namespaces/kubestone/pods/iperf3-sample-client
2019-08-30T13:55:12.010Z	INFO	Event(v1.ObjectReference{Kind:"Iperf3", Namespace:"kubestone", Name:"iperf3-sample", UID:"c28875be-cb2d-11e9-bf3f-42010af001a1", APIVersion:"perf.kubestone.xridge.io/v1alpha1", ResourceVersion:"9766", FieldPath:""}): type: 'Normal' reason: 'DeleteSucceeded' Deleted /api/v1/namespaces/kubestone/services/iperf3-sample
2019-08-30T13:55:12.129Z	INFO	Event(v1.ObjectReference{Kind:"Iperf3", Namespace:"kubestone", Name:"iperf3-sample", UID:"c28875be-cb2d-11e9-bf3f-42010af001a1", APIVersion:"perf.kubestone.xridge.io/v1alpha1", ResourceVersion:"9766", FieldPath:""}): type: 'Normal' reason: 'DeleteSucceeded' Deleted /apis/apps/v1/namespaces/kubestone/deployments/iperf3-sample
2019-08-30T13:55:12.146Z	DEBUG	controller-runtime.controller	Successfully Reconciled	{"controller": "iperf3", "request": "kubestone/iperf3-sample"}
2019-08-30T13:55:12.146Z	DEBUG	controller-runtime.controller	Successfully Reconciled	{"controller": "iperf3", "request": "kubestone/iperf3-sample"}

Thanks for the details, I'll take a look over the weekend!

I have validated, now works like a charm. Thank you!


Add --debug flag to regal lint command

More capabilities to be added in time, but for now:

Disable print output unless the debug flag is provided
Print the location of the user configuration file found
Print the final configuration merged from provided and user conf
Fix bug that made configuration be parsed and merged twice

@srenatus True :) I'll add an e2e test.

Ugh! Good call... 🤦
found user config file: e2e/testdata/configs/ignore_files_prefer_snake_case.yaml
panic: cannot have key "ignore" in inlined map: conflicts with struct field [recovered]
	panic: cannot have key "ignore" in inlined map: conflicts with struct field

goroutine 1 [running]:
gopkg.in/yaml%2ev3.handleErr(0x14000539f08)
	/Users/anderseknert/go/pkg/mod/gopkg.in/yaml.v3@v3.0.1/yaml.go:294 +0x80
panic({0x10331aec0?, 0x1400029f1c0?})
	/opt/homebrew/Cellar/go/1.21.0/libexec/src/runtime/panic.go:914 +0x218
gopkg.in/yaml%2ev3.(*encoder).structv.func1()
	/Users/anderseknert/go/pkg/mod/gopkg.in/yaml.v3@v3.0.1/encode.go:245 +0x398
gopkg.in/yaml%2ev3.(*encoder).mappingv(0x1400046e800, {0x0?, 0x0}, 0x14000539118)
	/Users/anderseknert/go/pkg/mod/gopkg.in/yaml.v3@v3.0.1/encode.go:265 +0xfc
gopkg.in/yaml%2ev3.(*encoder).structv(0x1400046e800, {0x0, 0x0}, {0x1033e2b00?, 0x1400028fbf0?, 0x102a80dbc?})

Not sure how to best serialize the extra attributes without having a key named "extra" in the YAML output then. Back to the drawing board.

Huh, so the custom marshaller was never invoked due to it being a poiinter receiver, and apparently it shouldn't have been. Marshalling now works as intended, and I added another test to make sure it continues to do so.


test case vehicule access restriction seems not to be taken into account

For this routing event though cars are not allowed through Avenue Champlain graphhopper advise me to take it.
Thanks

Thanks a lot. This is a bug!

Ah. No. The problem is access=no but motor_vehicle=designated, so at the end the car is allowed


Integration with Swagger / OpenAPI specs

Added API specs in YAML
Added request and response validation with OpenAPI specs
Added swagger routing

I purposely left the ADRs in the cittadinanza-digitale repo, since they describe our overall project choices, whereas this repo only contains the code for Azure Functions.

refactoring everything


Disclaimer component

Basic structure of Disclaimer component will need styling

Looks great! Are you looking to submit any more to this PR, or are we good with the basic structure for now?

Yea, I mentioned submitting PR for structure. Then we can have another PR for styling. Just to have something for now. @SomeMoosery

Totally agree - good call!


Feature expose request helpers

Follows on from discussion in #202.
The main difference is that GetByURL also accepts a ListOptions struct. This was done to allow consumers to re-use the existing Options structs without interpolating raw values into urls.
I've also changed the Response struct to expose links that were defined in the header, which makes it easier for consumers to paginate through results. The implementation isn't very clean, but I don't get a huge amount of time to work on this and wanted to get your feedback before running down a rabbit hole!

Closing year-old PR as inactive.


Fix grammatical issue on home page

It's not a preference at all, but a grammatical issue. The second phrase is not explaining how or why Monero is a currency, but an independent clause that's related to the previous clause. That calls for a semicolon, not a colon.