cmd/go: remove special-case that puts godoc in $GOROOT/bin

What version of Go are you using (go version)?

go version go1.6 linux/amd64

What operating system and processor architecture are you using (go env)?

GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="$HOME/devel/go"
GORACE=""
GOROOT="/usr/lib/go"
GOTOOLDIR="/usr/lib/go/pkg/tool/linux_amd64"
GO15VENDOREXPERIMENT="1"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0"
CXX="g++"
CGO_ENABLED="1"

What did you do?

go get -v golang.org/x/tools/cmd/godoc

What did you expect to see?
godoc gets installed to $GOPATH/bin/godoc.

What did you see instead?

go install golang.org/x/tools/cmd/godoc: open /usr/lib/go/bin/godoc: permission denied

On Arch Linux, and, I assume, most other distributions that have a Go package in their repositories, $GOROOT is set to a directory that all users have access to. On Arch, it gets set to /usr/lib/go/. This means that installing godoc via go get can only be done by root because it is hardwired in the go tool (pkg.go:703) to install to $GOROOT/bin.

I believe this was intentional, as part of the transition of moving godoc out of the standard library. But maybe it's time to reconsider that. @adg, @robpike?

-me, +@rsc

I think we should probably remove the special case for Go 1.7.
Once this was necessary to make go doc work, but cmd/doc has made that unnecessary.
The release-builder tool can take care of putting godoc in $GOROOT/bin for binary releases.

I have submitted the fix to cmd/go, but will hold off on submitting the corresponding change to x/build/cmd/release until just before Go 1.7 beta1. Keep this issue open and associated with the Go 1.7 milestone until then.

Ping @adg. We're closing in on the beta release, so it's about time to submit your CL.

Thanks for the reminder @quentinmit!


Support Create Database to External Storage

Signed-off-by: RuliXu<EMAIL_ADDRESS>What type of PR is this?
/kind feature

What this PR does / why we need it:
Clusterpedia may work together with other system which already has a storage component, to better share this component, clusterpedia should support to create database with the permission of the user.
This PR adds a flag createDatabase to values, which defaults to be false and needs to be actively set to true by the user to create the database, to ensure that the user is explicitly aware that a high privilege operation is being performed.
--set externalStorage.createDatabase=true will render an init container for creating the database into the core component deployments.
Which issue(s) this PR fixes:
https://github.com/clusterpedia-io/clusterpedia/issues/326
Special notes for your reviewer:
1. External Storage Create Database
Mysql

Postgresql

2. External Storage Not Create Database
Mysql

Postgresql

Does this PR introduce a user-facing change?:

/lgtm
@27149chen PTAL, Thanks


implemented move method for github

solves issue #16

Maybe look over the test for the move method. There are three quite meaty lines commented out: https://github.com/flowertwig-org/jStorage/blob/master/tests/tests.js#L161

fixed test code.


Migration to IntelliJ IDEA 14 API

This one is not urgent, it seems like JetBrains works mostly on 14 version and we will have to migrate eventually. It seems like they removed JpsSerialization modules and other jps stuff from API. So it shouldn't be hard to upgrade plugin to work with 14 version. Currently it's in preview, but we might need to consider such possibility in near future.
TIR: STB-2896

Fixed as of 605785a4cbee4733d21189eba9692c744a9a7477.  A masterIdea14 branch was created and kept updated for a while.  Now it has all been merged back to the master branch, which can build any of the following flavors: 13.1, 14, 14.1.


Client doesn't send payload from corresponding input. Previous request payload is sent

Steps:

Send PUT request with some payload
Change method to GET and execute some request (this step may be redundant, but I'm describing my experience)
Change method to PUT and enter another value to payload input
Execute PUT request and check, that payload of first PUT request is sent
Expected: new payload is sent

This unfortunately renders this awesome app unusable. It doesn't send what you have on screen when you press send. I am sadly looking for an alternative.
You don't even need to change http verb. Just try changing the request body and what you have in the input field is not sent in the http call.

Can I suggest you roll-back the live version of the chrome web app now while you fix these problems please? Otherwise you're going to lose all of your users.

+1 for roll-back. I'm already using postman. Current version of restClient disallow any usage.

Am also moving to postman...

Hi, thanks for an issue report.
Can you send me app and Chrome version numbers? Do you use "raw" or "Form field"? Do you have CodeMirror enabled in settings? I can't reproduce the problem it on stable and dev channel. It seems to work as designed.

Since the upgrade, I consistently see this issue as well.

I use the "raw" field.
I have not changed the CodeMirror setting - it appears to be On by default.
Application version: 4.6.0 Stable
Chrome for OS X - Version 47.0.2526.106 (64-bit)

I sadly am in the same boat...I have the exact same setup as braddewitt...I lost 3 hours today just assuming that my authorization token was wrong when in fact it was the app sending the wrong (old) token...makes me sad as I love this app....but have switched to Postman (for now...if there is a quick fix I will return)

And additional question, if you switch off code mirror is it starts working?
I'm just trying to limit the places where I should look for a bug.

I just switched off code mirror and I am seeing the same behaviour...hope that helps....good luck finding the bug

Hey Paweł, Sorry for the delay in replying. I'm on mac chrome 48.0.2564.82 (64-bit), app is 4.6.0 stable, I always use raw, and codemirror is ON. Aha! I hadn't thought of trying with the code mirror off, but with it off, things are back to normal and working fine :) This not only fixes this bug here (not passing through what's in the request body), but also the other bug I commented on re the header value being truncated with anything after a ; - hope this helps to track down the source, there's a good suspect now!

Thanks for the comment. I'll take care of it tomorrow. Today is getting late...

After seeing getmeben's comment I tried it a second time with Code Mirror off and I was mistaken...my request DID work.

Thanks for clarifying @craiggoudy this. I'll fix it tomorrow during the day (London's time).

I think it may be related to #368

And #365


Revert "Modified Reuse metric to include ID"

Reverts openshift/aws-account-operator#119 - This PR is causing the operator to crash, reverting until we have tested fix.

/lgtm
/approve

/hold #124

@jharrington22 Please close this in favor of #124


feat: register device token with FCM

Adds helpers for registering / deregistering device tokens for customers using Firebase Cloud Messaging
https://github.com/firebase/quickstart-ios/blob/1095ad3bb2a73bb6026c2490b760112299ae7535/messaging/MessagingExampleSwift/AppDelegate.swift#L39-L55
https://firebase.google.com/docs/cloud-messaging/ios/client#analytics-not-enabled

:tada: This PR is included in version 1.0.0-alpha.12 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0-beta.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Preview don't work (i include to-markdown)

Hello guys,
I do that on my header :
<script src ="js/to-markdown.js"></script>     <script src ="js/bootstrap-markdown.js"></script>
I inverse the include order too, i tried a lot of thing, but the button preview still don't work...
Have an idea?
Thanks, valt

I'm having the same issue, did you manage to fix it @LeValt ?

Got it, missed the note at the bottom:

The preview functionalities and html to markdown conversion are provided by 3rd party codes : markdown-js, marked (default failover if markdown-js lib not available) and to-markdown. Without them, this plugin would still work and convert the content as-is, so you could easily modify those functionalities yourself via available hooks.

I think this needs to be made more prominent?

Hi guys,
The 3rd party library didn't work for me, but I found showdown.js library to solve the problem.
Good luck!

I noticed the docs are using this fork of markdown-js.
I also ended up using showdown.js.
It was easy to setup:
<script>
    var markdown = new showdown.Converter();
    markdown.toHTML = function(val) {
        return markdown.makeHtml(val);
    }
</script>

I used marked.js. Just add it to your page and the preview button works great.

You can pass an arbitrary markdown-to-html function using the parser option, like this:
$('textarea').markdown({
  parser: showdown.Converter().makeHtml, // or whatever
});


the wechat code is expired

Describe the issue:
the wechat code is expired, please update. thx for it!

@EroData - updated, thanks.


resource-scheduling: add simulator section

This PR adds simulator section.

Rest (after these nits) LGTM.

@huachaohuang PTAL.

Thanks for your review! @dcalvin

@Hoverbear PTAL.

This is on the website now! Please see that issue


feat: Fine Tuning

What kind of change does this PR introduce?
This PR introduces the finetune.py file addressing #69 , with the aim of implementing a fine-tuning pipeline for LLM models to learn how to predict next Action Events, given Reference Window States and their respective Reference Action Events.
Fine-Tune Strategy (Subject to Change based on Results)
Within finetune.py, the aim is to have the Davinci model from OpenAI learn the "summary" of a recording through fine-tuning, after which the fine-tuned model will be used to generate action_events given an incomplete recording, along with its intended summary.
Summary
The file, finetune.py accepts a model_name string along with a recording_id integer which will then be used to fine-tune the given model (if it is supported) on Window States within the given recording.
It also adds a get_recording_by_id method inside crud.py in order to fetch the Recording corresponding to the given ID.
Checklist

[x] My code follows the style guidelines of OpenAdapt
[x] I have performed a self-review of my code
[ ] If applicable, I have added tests to prove my fix is functional/effective
[ ] I have linted my code locally prior to submission
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation (e.g. README.md, requirements.txt)
[ ] New and existing unit tests pass locally with my changes

How can your code be run and tested?
No tests as of now.

looks good so far

closed in favour of #379


feat: Customize ScrollPhysics for MonthView

Description
This change allows for adding a specific ScrollPhysics to the month view, for the month view's pages.
In my case, I have the MonthView nested somewhere in a sliver of a CustomScrollView and the month view page's GridView suddenly takes the "scroll focus" while I just want it never to scroll. This option allows me to pass in a NeverScrollableScrollPhysics which fixes the issue.
Checklist

[x] The title of my PR starts with a Conventional Commit prefix (fix:, feat:, docs: etc).
[ ] I have followed the Contributor Guide when preparing my PR.
[ ] I have updated/added tests for ALL new/updated/fixed functionality.
[x] I have updated/added relevant documentation in docs and added dartdoc comments with ///.
[ ] I have updated/added relevant examples in examples or docs.

Breaking Change?
No breaking changes
Migration instructions
If the PR is breaking, uncomment this header and add instructions for how to migrate from the
currently released version to the new proposed way.
-->

[ ] Yes, this PR is a breaking change.
[x] No, this PR is not a breaking change.

This might solve #178  as well


Rolling Back

How can I roll back from v2 back to v1.4?
My installation was done initially with v2
And are there any compatibility problems with the rollback?
Many thanks

Customers can rollback the CloudFormation stack created using the v2.0.0 templates, by using the CloudFormation templates of v1.4.0 available here, they can use the same instructions for updating the template provided here

Can be close now.


state_machine is abandoned, please switch to state_machines-activerecord

https://github.com/pluginaweek/state_machine/issues/343

activerecord is so big dependency for eye, i dont want to include it.

but i think i can update to use https://github.com/state-machines/state_machines, seems interface is similar


[PE-D][Tester B] Inconsistent command format

For commands such as findtag, the parameter does not need the "t/" prefix. For other commands such as listing add, it required the "t/" prefix.

Labels: type.FeatureFlaw severity.Low
original: SherChew27/ped#11

not v sure what this means

not a bug. we cannot change command format now.


@types/glob should depend on @types/minimatch, but doesn't

glob imports minimatch, but minimatch isn't listed as a dependency in glob's package.json.

fixed in<EMAIL_ADDRESS>


Plugins fixed!

All plugins can install, but can't use, pls fix it

hi, i tried all the plugins and they work, if they still dont work, please open a new issue.


Missing closing-tages

Add missing closing tags for NavigationNodes and Controls under section 3 / ThreeColumn
Category

[x] Content fix
[ ] New article
[ ] Example checked item (delete this line)

DELETE THIS LINE BEFORE SUBMITTING | For the above list, an empty checkbox is [ ] as in [SPACE]. A checked checkbox is [x] with no space between the brackets. Use the PREVIEW tab at the top right to preview the rendering before submitting your issue.

Related issues

fixes #issuenumber
partially #issuenumber
mentioned in #issuenumber

DELETE THIS LINE BEFORE SUBMITTING | If this fixes (aka: closes) or references an issue, please reference it here. This helps maintaining the issue list as it will (1) link the PR to the issue & (2) automatically close the issue when this PR is merged in.

What's in this Pull Request?

DELETE THIS LINE BEFORE SUBMITTING | Please describe the changes in this PR. Sample description or details around bugs which are being fixed.

Submission guidelines

!!IMPORTANT!! - All submissions must complete the baseline sections included in this template. Ignoring or deleting this template may result in closing the issue with the label type:incomplete-submission.
Follow our guidance on How To Create Good Pull Requests.
Target the master branch of this repo. Released documents are in live branch.

DELETE THIS SECTION BEFORE SUBMITTING

Docs Build status updates of commit 62bfe09:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/solution-guidance/Introducing-the-PnP-Provisioning-Engine.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Translation into korean

Would you mind if I translate it into korean?

No i don’t
On Mon, Nov 9, 2020 at 10:54 PM kbsat<EMAIL_ADDRESS>wrote:

Would you mind if I translate it into korean?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/microsoft/c9-python-getting-started/issues/76, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AQ4TBFPWX5MLBLP7FRJ2DFDSPCTO7ANCNFSM4TQDL7LA
.

Korean translation is complete. If you need Korean version, please refer to the link.


fix(hasNotch): Add iPhone 13 lineup to list of devices with notch

Description
iPhone 13 lineup is about a week out, so adding this to the device list for devices with notch.
Compatibility

OS
Implemented

iOS
✅

Android
✅

Windows
✅

Just out of curiosity, what is following Conventional Commits useful for? I sense a learning opportunity.

Just out of curiosity, what is following Conventional Commits useful for? I sense a learning opportunity.

@rolfb checkout commitizen/cz-cli

@mikehardy Appreciate the explanation, and thank you for the quick merge and release :)

Hi @mikehardy
Just curious to know don't we require the IOS file changes for notch support?
actually i am testing it on IOS 13 but always  returning me false
I just found the reference here  how it was for IOS 12, there i can see IOS file changes
https://github.com/react-native-device-info/react-native-device-info/pull/1099/files

Seems like I missed a file 🥺

Hi @mikehardy && @rolfb
Just curious to know don't we require the IOS file changes for notch support?
actually i am testing it on IOS 13 but always returning me false
I just found the reference here how it was for IOS 12, there i can see IOS file changes
https://github.com/react-native-device-info/react-native-device-info/pull/1099/files

seems like that, hope you will add that file soon, eagerly waiting for testing , thanks for your efforts

@hiteshSavkare can you have a look at #1309 and see if that fixes things for you?

@hiteshSavkare can you have a look at #1309 and see if that fixes things for you?

@rolfb yes perfect, working as expected

@rolfb yes perfect, working as expected

@hiteshSavkare great! if you have a chance to verify that all four iPhone 13 devices are correctly mapped now I'd appreciate it 😊 I couldn't find official docs for firmware identifiers but it's highly likely that they are following the same pattern.


⚠ ClamAV has degraded performance

In 5571489, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 96 ms

Resolved: ClamAV performance has improved in 67cd45b.


EC2 instance doesn't get stopped after a build failure

We have our build script fail for multiple reasons during development. Our expectation was that the EC2 instance would get deleted after the pipeline completes but they keep running after a build failure.
The output from the step functions is as follows
{
  "error": "States.Runtime",
  "cause": "An error occurred while executing the state 'Prepare Release Builder Input' (entered at the event id #196). Invalid path '$[0]' : Filter: [0] can only be applied to arrays. Current context is: {params={pipeline={jobId=fcd7db40-6366-41f2-ae83-6289c4602b8f, executionId=624dc6d0-e226-4e55-b047-f8abf520c939, arn=arn:aws:codepipeline:ap-southeast-2:583812563872:SIT12-RnL-Build_pipeline02, name=SIT12}, artifacts={input={bucketName=our-artefactbucket, objectKey=SIT12-RnL-Build_pipe/SourceDock/ugScfFR}, output={path=, bucketName=our-artefactbucket, objectKey=SIT12-RnL-Build_pipe/BuildDocke/amZpHzo}}, instance={imageId=ami-0951414059f50d500, instanceType=t3.2xlarge, keyName=}, command={commandText=.\\build.ps1 Build, workingDirectory=C:\\\\source, timeout=3600}}, status={instance={instanceId=i-0e6811d5f254ee743, status=STARTED}}}"
}

It's failing at the Prepare Release Builder Input step

Any direction here would be highly appreciated @kolomied .
I'm thinking of changing this
            "Prepare Release Builder Input": {
              "Type": "Pass",
              "InputPath": "$[0]",
              "Next": "Release Builder Flow"
            },

to this
            "Prepare Release Builder Input": {
              "Type": "Pass",
              "InputPath": "$",
              "Next": "Release Builder Flow"
            },

in our main cloud formation template.

@dasiths Please take a look - I submitted a PR with simplified state passing between Step Function stages and added a missing lambda that reports job execution status at the end.

Thanks. I will have a look.

@dasiths Going to close this one - feel free to reopen if you face further issues.


read_hdf is not threadsafe on multiple files

Currently we use one lock per hdf file.  This appears to be unsafe.
https://gitter.im/dask/dask?at=574eb9a610f0fed86f4a2c35

Fixed by #1199


chore(kafka): Remove kubectl

Description
We need to wait for the merge of https://github.com/stackabletech/kafka-operator/pull/443
Definition of Done Checklist

Not all of these items are applicable to all PRs, the author should update this template to only leave the boxes in that are relevant
Please make sure all these things are done and tick the boxes

- [ ] Changes are OpenShift compatible
- [ ] All added packages (via microdnf or otherwise) have a comment on why they are added
- [ ] Things not downloaded from Red Hat repositories should be mirrored in the Stackable repository and downloaded from there
- [ ] All packages should have (if available) signatures/hashes verified
- [ ] Add an entry to the CHANGELOG.md file
- [ ] Integration tests ran successfully

TIP: Running integration tests with a new product image
The image can be built and uploaded to the kind cluster with the following commands:
bake --product <product> --image-version <stackable-image-version>
kind load docker-image <image-tagged-with-the-major-version> --name=<name-of-your-test-cluster>

See the output of bake to retrieve the image tag for <image-tagged-with-the-major-version>.

I'm happy to silently remove it, as only kafka-operator should be using it.
I just proposed to wait until the release is over, just in case some customer messes up his env and the product image being more recent than the operator image


Add code coverage action

It's been exactly three years today since we last submitted a coverage report to Coveralls. This PR introduces a GitHub workflow that runs whenever a commit is pushed to master. To make sure everything was running as intended, I temporarily removed the master branch constraint before opening this PR, here's an example run: https://coveralls.io/builds/68519008

I had a look at this exact problem recently when I was working on
https://github.com/badges/shields/pull/10320
I think there's a few points I would highlight here.
First one is minor: I think we should run this on a schedule. We don't currently do a full service test run on every commit to master. I think this is the right call. Although we don't merge super frequently, when we do dependabot updates we do often merge 10 or 20 PRs rapidly. A full service test run on every merge is slow, and does get us into the territory where we're possibly hitting rate limits on some of those api keys we use for testing. Previously we were reporting coverage based on a daily test run. I think once a day is about the right cadence for this. If we're going to have one service test run to make the markdown report and one to report coverage, maybe we do them a few hours apart.
Secondly, when I had a go at this, I was running each individual test suite:

core
package
entrypoint
integration
services

as a seperate step in the workflow.

Here's an example of a run:
https://github.com/badges/shields/actions/runs/9553559835/job/26332639191
You'll notice that as well as the service tests failing (which we kind of expect), the core and package tests were also failing. The reason for that is this TypeError: undefined is not iterable which is caused by https://github.com/bcoe/v8-coverage/pull/2 We're kind of papering over it with continue-on-error: true (which we've put there because we expect the services to fail, but not everything else) but looking at the logs this PR also has the same issue (which I expected). One thing I didn't really fully dig into is whether this means there are some tests that are not being run or not being run correctly, or bits of the coverage being missed. Did you spend any time looking into that? I found that if you do the coverage run on node 22, that fixes this problem, although it is not the same as the platform we deploy on.
The final thing is a question really. It doesn't look like you're doing to explicitly merge the coverage reports, but it does seem to be happening, looking at coveralls. Any idea how this is working?

I think we should run this on a schedule.

Will update accordingly 👍🏻

Secondly, when I had a go at this, I was running each individual test suite:

I guess one middle-ground would be to separate in two steps, one that runs non-service coverage, and one that runs service coverage, which aligns with the delineation we've done in package.json with coverage:test vs. coverage:test:services.

One thing I didn't really fully dig into is whether this means there are some tests that are not being run or not being run correctly, or bits of the coverage being missed. Did you spend any time looking into that? I found that if you do the coverage run on node 22, that fixes this problem, although it is not the same as the platform we deploy on.

All tests seems to be running as expected, but having generated a report on Node 22 (excluding flaky service tests), coverage percentage is slightly higher (68.92% vs. 68.7%). I'm guessing bits of coverage are being missed unless something else has changed in Node 22. However, I'm tempted to not agonise over this and maybe just switch them to Node 22? 😄

The final thing is a question really. It doesn't look like you're doing to explicitly merge the coverage reports, but it does seem to be happening, looking at coveralls. Any idea how this is working?

Looking at how things are being generated locally, there seems to be some clever merging happening to append new coverage information into a single lcov.info file. The Coveralls GitHub action then kicks it to upload that file. AT least that' my rough understanding!

I guess one middle-ground would be to separate in two steps

I think it would be useful to separate tests we expect to pass from ones we expect to fail.

I'm tempted to not agonise over this and maybe just switch them to Node 22?

I think I would also be in favour of just measuring test coverage on node 22 as the least-worst solution. You'll need
  node-version: 22
env:
  NPM_CONFIG_ENGINE_STRICT: 'false'

but lets also leave a comment in the workflow yaml explaining why we're deploying on node 20 and measuring coverage on 22.

I'll just add that part of the discussion here relates to a broader topic of discussion I was alluding to in https://github.com/badges/shields/pull/10341#discussion_r1671588024

Latest run example:

https://github.com/badges/shields/actions/runs/9870631284/job/27256797632?pr=10340
https://coveralls.io/jobs/146441583


Unable to see AFLNet's options.

Why does the command afl-fuzz --help not display AFLNet's options after restarting after a successful installation? （Before restarting, there is aflnet option, and the aflnet test protocol can be used normally）Does this mean that the installation failed? But after I reinstalled, I still can't see AFLNet's options using afl-fuzz --help.

I also encountered this problem, and I tried to reinstall it, but I have not tested a virtual machine. Did you solve this problem?

Hello! I have solved this problem, instead of using export PATH=$PATH:$AFLNET, use export PATH=$AFLNET:$PATH. Hope can help you!
ccc
@.***

------------------ 原始邮件 ------------------
发件人:                                                                                "aflnet/aflnet"                                                                                @.>;
发送时间: 2023年5月7日(星期天) 中午1:16
@.>;
@.>;"State @.>;
主题: Re: [aflnet/aflnet] Unable to see AFLNet's options. (Issue #96)
I also encountered this problem, and I tried to reinstall it, but I have not tested a virtual machine. Did you solve this problem?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you modified the open/close state.Message ID: @.***>

Hello! I have solved this problem, instead of using export PATH=$PATH:$AFLNET, use export PATH=$AFLNET:$PATH. Hope can help you! ccc @.***
…
------------------ 原始邮件 ------------------ 发件人: "aflnet/aflnet" @.>; 发送时间: 2023年5月7日(星期天) 中午1:16 @.>; @.>;"State @.>; 主题: Re: [aflnet/aflnet] Unable to see AFLNet's options. (Issue #96) I also encountered this problem, and I tried to reinstall it, but I have not tested a virtual machine. Did you solve this problem? — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you modified the open/close state.Message ID: @.***>

Thank you for your suggestion. I have also successfully solved this problem

OK! But this setting will cause new problems when testing lightftp, as shown in the picture below. At this time, you need to modify export PATH=$AFLNET:$PATH to export PATH=$PATH:$AFLNET. After executing make, you need to modify it to export PATH=$AFLNET:$PATH. Good luck!
ccc
@.***

------------------ 原始邮件 ------------------
发件人:                                                                                "aflnet/aflnet"                                                                                @.>;
发送时间: 2023年5月8日(星期一) 上午10:00
@.>;
@.>;"State @.>;
主题: Re: [aflnet/aflnet] Unable to see AFLNet's options. (Issue #96)
Hello! I have solved this problem, instead of using export PATH=$PATH:$AFLNET, use export PATH=$AFLNET:$PATH. Hope can help you! ccc @.***
…
------------------ 原始邮件 ------------------ 发件人: "aflnet/aflnet" @.>; 发送时间: 2023年5月7日(星期天) 中午1:16 @.>; @.>;"State @.>; 主题: Re: [aflnet/aflnet] Unable to see AFLNet's options. (Issue #96) I also encountered this problem, and I tried to reinstall it, but I have not tested a virtual machine. Did you solve this problem? — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you modified the open/close state.Message ID: @.***>
Thank you for your suggestion. I have also successfully solved this problem
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you modified the open/close state.Message ID: @.***>

What a strange setting! This sounds like AFLNet has to be reset every time it is used on a new object.
银
@.***

------------------ 原始邮件 ------------------
发件人: @.>;
发送时间: 2023年5月8日(星期一) 下午3:52
收件人: @.>;
抄送: @.>; @.>;
主题: Re: [aflnet/aflnet] Unable to see AFLNet's options. (Issue #96)
OK! But this setting will cause new problems when testing lightftp, as shown in the picture below. At this time, you need to modify export PATH=$AFLNET:$PATH to export PATH=$PATH:$AFLNET. After executing make, you need to modify it to export PATH=$AFLNET:$PATH. Good luck!
ccc
@.***

------------------ 原始邮件 ------------------
发件人:                                                                                "aflnet/aflnet"                                                                                @.>;
发送时间: 2023年5月8日(星期一) 上午10:00
@.>;
@.>;"State @.>;
主题: Re: [aflnet/aflnet] Unable to see AFLNet's options. (Issue #96)
Hello! I have solved this problem, instead of using export PATH=$PATH:$AFLNET, use export PATH=$AFLNET:$PATH. Hope can help you! ccc @.***
…
------------------ 原始邮件 ------------------ 发件人: "aflnet/aflnet" @.>; 发送时间: 2023年5月7日(星期天) 中午1:16 @.>; @.>;"State @.>; 主题: Re: [aflnet/aflnet] Unable to see AFLNet's options. (Issue #96) I also encountered this problem, and I tried to reinstall it, but I have not tested a virtual machine. Did you solve this problem? — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you modified the open/close state.Message ID: @.***>
Thank you for your suggestion. I have also successfully solved this problem
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you modified the open/close state.Message ID: @.>
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: @.>

Yeah. That shouldn't be happening. If you know what is the reason, a PR will be much appreciated!

I also think this shouldn't happen, but sorry I didn't find out why.
I also think this shouldn't happen, but sorry I didn't find out why.
ccc
@.***

------------------ 原始邮件 ------------------
发件人:                                                                                "aflnet/aflnet"                                                                                @.>;
发送时间: 2023年5月8日(星期一) 下午5:17
@.>;
@.>;"State @.>;
主题: Re: [aflnet/aflnet] Unable to see AFLNet's options. (Issue #96)
Yeah. That shouldn't be happening. If you know what is the reason, a PR will be much appreciated!
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you modified the open/close state.Message ID: @.***>


Issues in  JWT Secured Authorization Response Mode (JARM) for OAuth 2.0 Scenarions

Describe the issue:

when testing JARM related scenarios , the following response mode and response type combinations didn't give the expected
output
References
1.https://is.docs.wso2.com/en/next/references/concepts/authorization/jarm/
2.JARM_Scenarios (1).pdf
1.Verify in query.jwt response mode if response_type = token
Page 13
No error response is generated
2.Verify response_mode fragment.jwt navigates to Authorization Flow
Page 16
3.Verify the '#' Sign' authorization server need to send the authorization response as HTTP redirect to the redirect URI
Page 18
4.Verify in fragment.jwt response mode if response_type = code id_token
Page 19
5.Verify in fragment.jwt response mode if response_type = none
Page 22
return an error saying that the response type is not supported
6.Verify authorisation flow with response method jwt and response type code id_token
Page 26
WT contains token - no jwt is generated
How to reproduce:

Expected behavior:

Environment information (Please complete the following information; remove  any unnecessary fields) :

Product Version: [wso2is-7.0.0-m3-SNAPSHOT-src.zip]
OS: [Mac]
Database: [e.g., MySQL, H2]
Userstore: [e.g., LDAP, JDBC]

Optional Fields
Related issues:

Suggested labels:

when testing JARM related scenarios , the following response mode and response type combinations didn't give the expected output
References 1.https://is.docs.wso2.com/en/next/references/concepts/authorization/jarm/ 2.JARM_Scenarios (1).pdf
1.Verify in query.jwt response mode if response_type = token Page 13 No error response is generated

This will. be fixed with https://github.com/wso2-extensions/identity-inbound-auth-oauth/pull/2191

2.Verify response_mode fragment.jwt navigates to Authorization Flow Page 16

This flow is working as expected.

3.Verify the '#' Sign' authorization server need to send the authorization response as HTTP redirect to the redirect URI Page 18

This flow is working as expected.

4.Verify in fragment.jwt response mode if response_type = code id_token Page 19

This flow is working as expected.

5.Verify in fragment.jwt response mode if response_type = none Page 22 return an error saying that the response type is not supported

The given test scenario is incorrect. According to the spec, if response_type = none and response_mode = fragment.jwt, it should return a fragment JWT without any authorization info in the JWT.
refer: https://openid.net/specs/oauth-v2-multiple-response-types-1_0.html#none

6.Verify authorisation flow with response method jwt and response type code id_token Page 26 WT contains token - no jwt is generated

This flow is working as expected.

closing since fixed.


error in php 7.4

An uncaught Exception was encountered
Type: Error
Message: Call to undefined method CI_Form_validation::substr()
Filename: /system/libraries/Form_validation.php
Line Number: 1242
Backtrace:
File: /application/controllers/Welcome.php
Line: 84
Function: run
File: /index.php
Line: 315
Function: require_once
@narfbg

There is no substr method in the CI_Form_validation class.
If you have any issues with your own application, please ask for help on the forums.


Android 8.0 and Traccar Manager / Chrome issues

Hi,
I recently upgraded my Android cell phone to version 8.0.0. After the upgrade the Traccar Manager (v2.4) remains stuck when I open the app. It only shows the blue turning circle. Same happens when I try to open the Traccar website using the Chrome browser (v61.0.3163.98) on the cell phone.
However when using a Firefox web browser (v56.0) on the cell phone all works ok.
Do you know what could be wrong?

This issue should be in the https://github.com/tananaev/traccar-web repo

The issue is already fixed:
https://www.traccar.org/forums/topic/traccar-manager-on-android-wont-load/


(PE-37482) Use a branch for puppetlabs-postgresql for upgrade tests

Use a branch of puppetlabs-postgresql with gpg backports to the last module version that supported puppet 6 for upgrade tests.

backport branch in puppetlabs-postgres https://github.com/puppetlabs/puppetlabs-postgresql/tree/backport-gpg-key


Find a way to exclude subjects with strong artifacts when processing data

The 'bad' subjects are listed in the file exclude.yml, which was filled after visual QC of the whole dataset.

After running the pre-processing script again with the larger sci-zurich dataset, I found this subject (sub-zh78_ses-01) which has a strong metal artifact which completely threw off sct_deepseg_sc to get the spinal cord segmentation initially.

 SCT preprocessing output for `sub-zh78_ses-01`

Note: The cropped image is shown to be brighter than the original image so that they can be distinguished.
Because of the heavy artifact interference, I will be adding this subject to exclude.yml.

Closing this as we have moved away from an explicit preprocessing script. In addition, we are not excluding any subjects from the dataset and instead using all of them (despite the presence of metal artifacts)


Devserver is supported

This can lead to misunderstanding. Devserver is in stable since like 8 months.

thanks, didn't notice this :)


installation fails

Hello,
i get the following errors when i try to build the image:

i use latest raspbian buster version on a pi 4 64bit

also the same on a x86 image of raspi os

will take a look  on this in the weekend.

Thank you 🙏

this was because my resolv.conf was wrong


Refactor authorisation implementation to use OAuth2 Authorization Code with PCKE grant type

Name of feature to enhance
Authentication
Description of feature
How we handle token management for authentication and authorisation
Describe the enhancement
We need to refactor authentication on FHIR Core to use the OAuth2 Authorization Code with PCKE grant type instead of the current Password Grant type for enhanced security.
Checklist

[x] Research OAuth2 Auth code with PCKE concept and Keycloak support
[x] Research on Android implementation and any additional dependencies required
[ ] POC & Implementation on to FHIR Core
[ ] Unit Testing
[ ] Documentation - Implementation + Keycloak set up

Acceptance Criteria

[ ] Above check list is complete
[ ] Login for the app works correctly
[ ] Automatic token renewal works correctly

Cool, does this go in a milestone?

b/c PCKE does not work offline we will not be able to do this yet


Feat/carousel/drag behaviour improvements

Coverage decreased (-10.8%) to 69.364% when pulling 0e605bac499dba9ed62d766c78b20d62a57d7ecb on feat/carousel/drag-behaviour-improvements into 30e60cd928b0c1379ccfa83a30b83207869a6f10 on master.


(-215:Assertion failed) sz.width % 2 == 0 && sz.height % 3 == 0 in function 'CvtHelper'

This is the output of ./deepseg -d -d -c /dev/video0 -v /dev/video1:
deepseg v0.2.0
(c) 2021 by<EMAIL_ADDRESS>https://github.com/floe/deepbacksub
debug:  2
ccam:   /dev/video0
vcam:   /dev/video1
width:  640
height: 480
flip_h: no
flip_v: no
threads:2
back:   (none)
model:  models/segm_full_v679.tflite

vid_format->type                = 2
vid_format->fmt.pix.width       = 640
vid_format->fmt.pix.height      = 480
vid_format->fmt.pix.pixelformat =<PHONE_NUMBER>
vid_format->fmt.pix.sizeimage   = 614400
vid_format->fmt.pix.field       = 1
vid_format->fmt.pix.bytesperline= 1280
vid_format->fmt.pix.colorspace  = 8

tensor #0: 1
tensor #0: 144
tensor #0: 256
tensor #0: 3
tensor #244: 1
tensor #244: 144
tensor #244: 256
tensor #244: 2
Invalid MIT-MAGIC-COOKIE-1 keyQSettings::value: Empty key passed
QSettings::value: Empty key passed
terminate called after throwing an instance of 'cv::Exception'
  what():  OpenCV(3.4.9) /home/abuild/rpmbuild/BUILD/opencv-3.4.9/modules/imgproc/src/color.simd_helpers.hpp:104: error: (-215:Assertion failed) sz.width % 2 == 0 && sz.height % 3 == 0 in function 'CvtHelper'

Thanks in advance!

Not sure if the Invalid MIT-MAGIC-COOKIE-1 key is the problem or the assertion.. if you are trying to run this remotely, you may want to remove the -d -d to avoid the application trying to display an image (but not finding a valid .Xauthority file). With the display issue out of the way we have a chance :)

I don't know what Invalid MIT-MAGIC-COOKIE-1 key exactly is, but I have a temporarily fix for it. If I do the fix, the output is the same, just without the Invalid MIT-MAGIC-COOKIE-1 key.
That's the output of the gdb commands:
#0  0x00007ffff2ad9520 in raise () at /lib64/libc.so.6
#1  0x00007ffff2adab01 in abort () at /lib64/libc.so.6
#2  0x00007ffff366d016 in  () at /usr/lib64/libstdc++.so.6
#3  0x00007ffff367888c in  () at /usr/lib64/libstdc++.so.6
#4  0x00007ffff36788f7 in  () at /usr/lib64/libstdc++.so.6
#5  0x00007ffff3678ba9 in  () at /usr/lib64/libstdc++.so.6
#6  0x00007ffff3bd4072 in cv::error(cv::Exception const&) () at /usr/lib64/libopencv_core.so.3.4
#7  0x00007ffff3bd548c in cv::error(int, cv::String const&, char const*, char const*, int) () at /usr/lib64/libopencv_core.so.3.4
#8  0x00007ffff41b4a4a in  () at /usr/lib64/libopencv_imgproc.so.3.4
#9  0x00007ffff4234a03 in  () at /usr/lib64/libopencv_imgproc.so.3.4
#10 0x00007ffff424164e in  () at /usr/lib64/libopencv_imgproc.so.3.4
#11 0x00007ffff41f2c7d in cv::cvtColor(cv::_InputArray const&, cv::_OutputArray const&, int, int) () at /usr/lib64/libopencv_imgproc.so.3.4
#12 0x0000000000408da5 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at deepseg.cc:326

OK, thanks, that confirms the crash is still in the conversion step. I've been digging for camera formats and fourcc codes (the 'YU12' in your logs), which seems to indicate that I guessed wrong earlier with NV12. Please try with:
cv::cvtColor(in_u8_yuv,in_u8_rgb,CV_YUV2RGB_I420);
this is according to:
http://wiki.oz9aec.net/index.php/Pixel_formats
I will continue to look into OpenCV source code and attempt to discover how it automatically converts to RGB during capture when asked (also how my PR fixes this for me, but YMMV), as this will form the basis of a robust fix.

Same error :neutral_face:

Well, that's weird. As far as I can see, OpenCV's automatic conversion uses the same call, assuming your camera really is providing YU12 (aka V4L2_PIX_FMT_YUV420) format frames:
https://github.com/opencv/opencv/blob/64e6cf9fe50ef25d317d3529a42d4862b93f002a/modules/videoio/src/cap_v4l.cpp#L1546
(note that COLOR_YUV2BGR_I420 is an alias for COLOR_YUV2BGR_IYUV)
We may need to try a different approach, letting OpenCV convert to RGB during capture, I'll do that in a separate fix branch and let you know when it's ready to test..

Really weird...
Thank you for your efforts, and sorry for the circumstances!

No worries, I've just pushed a branch which uses OpenCV to convert input to BGR, rather than try and do it ourselves. Please give it a go and let me know here.. branch issue47

It worked now, but it is this normal?

Ok I looked at #29 and #30 and it does not lag but I'm still just green, should I open a new issue?

Yay!, OK, I'll get the fix pushed into main. That is normal for low light conditions and no background image selected.

As I said, I used another model and I also tried out to select a background image. I don't lag anymore, but I'm still just green:

OK, I have reproduced this locally now, I too am a green blob with this patch.. I have missed something...

I don't want to be impatient, but how is it going?

It's being handled in #48 and looks like it's good to go. There were some performance considerations that had to be discussed and been decided upon first.
That aside, none of the people working on this project do so as their day-job and in fact are usually quite busy with other tasks that life demands of them. Please be patient until we are sure that this patch doesn't break things for other people and thus decide to go ahead and finally integrate it.

Thanks for the answer and yes I know and appreciate that you're doing this here voluntarily. I just wanted to get a little status update and didn't want to sound impatient. I apologize if my message sounded like that :neutral_face:


Time of day based alert routing/notification

We've had numerous requests for routing alerts based on the time of day/week. This issue is to track those.

So, @brian-brazil (@fabxc ?), could you provide any design guidance on how to implement said feature, as I think I'd like to suppress all 'severity: warning' alerts overnight rather than putting loads of time-based rule duplication into my Prometheus alert rules.  I really don't want to do that as warnings are still valid & worth warning about if I go looking for current Alerts active - I just don't want to be woken up for them.  They also shouldn't seem to resolve every evening & start again in the morning.
After being burnt wasting effort on #709 I want some suggestion up front of what might be accepted from the maintainers.

Indeed, it would be nice to see whether it is within the scope of AM. It'd be great to have this feature.

I would like to be able to have time of day, or day of week influence which receiver an alert is sent to.  i.e. - during daytime/business hours, alerts might go to a slack channel, vs during night/weekends, same alerts might go to pagerduty, or on e-mail for the current on-call person.
From the Alertmanager perspective, it could be nice to use existing label matching to control routing to different receivers based on datetime.
i.e. -
- match_re:
      alertname: MyAlert
      day: '(Monday|Tuesday|Wednesday|Thursday|Friday)'
   receiver: slack_appteam
- match_re:
      alertname: MyAlert
      day: '(Saturday|Sunday)'
   receiver: pagerduty_appteam

Something similar for time of day?   It's a little tricker, and in routing, it would be nice keep things simple...  i.e. - match_re on a label like 'time_window: business_hours', but I'm not sure how to get that meaningful label in there from the alert manager perspective without some sort of relabeling within alertmanager itself, and prometheus passing along an alert date/time.   I'm a Prometheus/Alertmanager newbie, so apologies in advance if I'm missing something obvious here.
An approach that generates meaningful date/time labels on the alerts, means those labels could also be used in inhibition as per @tyrken 's request to inhibit warnings for some or all alerts overnight.
One of my main drivers for this is to not introduce time based rule duplication in all my prometheus alerts, as that feels cumbersome.

+1 : Just here to says it would be a lovely feature to be able to sleep well during the night and have some alerts only during business hours / days

Adding https://golang.org/pkg/time/#Weekday for future reference. This could be implemented as a pipeline step that filters based on a defined day/time range. All times would be done in UTC.

This is a important missing feature! Either enable alerts during some time ranges, or allow recursive silent rules
Is there any workaround to silent staging/test/QA alerts during the night, but still receive then during the day?

@danielmotaleite I have a solution for this based on inhibition rules that doesn't require any change to AlertManager. I'll post the blog post address here once it is out.

AlertManager definitely needs a way for setting silence hours in config file. With label targeting, like it is in inhibit_rules.

@simonpasquier - waiting for that blog link!

@simonpasquier I am thirsty for this. 👍

Hello
Here is a starting point that we have used to silence alerts outside of office hours :
vector(1)
and on()
(
                  6 < hour(vector(time()))
and
                 hour(vector(time())) < 19
and
                   0 < day_of_week(vector(time()))
and
                   day_of_week(vector(time())) < 6
)

Of course it's GMT based so does not take into account summer/winter times, neither bank holidays.
Hope it might helps others.
You should just have to replace vector(1) with the prometheus expression/aggregation you need

PS: about daily_saving_time_belgium: yes it works.

I've written a blog post on how I solved my use case - link

@Tom-Fawcett  this is so great!

Yes we have switched to inhibition now!! so much easier!! :)

I was considering the development of a calendar exporter. It would produce simple on/off status based on calendar rules.
It would be easier to handle specific cases (multiple time zone, extract from database, non-gregorian calendar) and any number of integrations could be considered.
IMHO it would be an elegant solution but at the cost of additional dummy metrics space.
What do you think ?

The main problem is that with such a thing, if it is down, Prometheus will fire many alerts. Maybe we could do a binary/script that would generate files suitable for alerting rules. Because it will be more reliable

Good point. I guess the same code able to generate metrics would be able to generate such a recording rule (in simple cases). Or, it could send the corresponding inhibition requests.
In my line of work (exchange market access for financial institutions), we have a lot of checks related to calendar, across multiple timezones. So it wouldn't be limited to alert inhibition, we also expect events to occur within a specific time frame.

@roidelapluie @michael-doubez just like any other exporter, you should have redundant instances in different zones running, so if one fails, you still get data from the other way
The idea of a exporter outputting data and time based rules is actually , not bad, but developing one with enough features may be tricky! :)

I am thirsty for this too. 👍

@danielmotaleite @roidelapluie @michael-doubez
Not sure if you still need this or not, but we had the same idea of writing an exporter to expose the current time.  We actually put it up on our organizations github page.
https://github.com/OneMainF/time_range_exporter
Feel free to do with it what you will.  It has support for adding custom durations and even exposes whether the current day is a national holiday.  It's java based so take that how you will.  I know different people feel differently about java.
Personally I feel that this is a nasty way of doing it though.  I would prefer for this logic to live on the alert routing side than the actual alert itself.

The lack of this feature and the complex proposed workarounds make this a frustrating situation for people trying to migrate to Prometheus. In Nagios, I just define timeperiods in a very straightforward way and assign alerts to them.
timeperiod_name 24x7
  alias           24 Hours A Day, 7 Days A Week
  sunday          00:00-24:00
  monday          00:00-24:00
  tuesday         00:00-24:00
  wednesday       00:00-24:00
  thursday        00:00-24:00
  friday          00:00-24:00
  saturday        00:00-24:00
  }

I'm using a python export to solve this problem. is very similar of the @cpmoore, but in Python instead of Java inside a docker container.
Project here: https://github.com/allangood/holiday_exporter

I'm also interested about this feature in AM.

I'm also interested in this.

Can we guys add this as the priority for next release as we are all waiting for the 1st version of this feature? 🤔

I would like to see and discuss a design document first, as it is not as trivial as it sounds.

This is an open source project, there is no central priority list - only what individual people wish to work on.
Adding metoos has no impact on how quickly this is implemented (if it even ever will be implemented), they only clutter the issue. Proposing a design would however help, though keep in mind anything will only work in UTC and other solutions have become apparent above.

Is this really the best place to put in this feature? Most users get the notification on the phone where they can customize their own do not disturb times.

I'm now using a simplified solution based on the code that @roidelapluie shared, but I think a cleaner implementation wouldn't hurt.
@laktak I think it's the right place, yes. Not managing this in a centralized manner means the burden is on the users to create their own solutions. Right now I see people that ignore all alerts, others that don't ignore any alerts and both situations cause excessive stress.
I think @brian-brazil is right, this is an open source project and we'd be better discussing a proposed design instead. I only have experience with this feature in Nagios and I'm not sure we want to replicate that.

I have to agree with @brian-brazil and @gtirloni, IMHO, Alertmanager already has all the tools necessary to make this type of configuration. It doesn't a out-of-the-box kind of solution, but I don't think it is too hard to implement with the tools we have now. I've just created a docker exporter to help with this and everything I have to do is create an inhibition rule, what is not something hard to do. I even added a way to create custom holidays, for me it is much more flexible doing this outside Alermanager because I can implement what ever necessary without changing the code of a big project. Another advantage of doing this in a outside exporter is the flexibility to work with localtime and/or daylight saving time. On my project page I wrote an example on how to inhibit alerts when out of working hours taking care of daylight saving. Painless implementation, without changing Alertmanager code.

I think the "me toos" are just as unhelpful as the "we don't need this, you can just use this workaround." This issue is proposing an out of the box solution. I think the value is pretty obvious.

I don't think a health discussion with examples on how to do things are "unhelpful", but we can have different point of view. And in my opinion, the value is exactly the opposite as "pretty obvious".
If this feature was implemented inside Alertmanager, as @brian-brazil mentioned it would be implemented using UTC time. In this case, the feature wouldn't work as expected without an external "daylight_savings_exporter". And before someone says that is possible to use some expressions to solve this problem, some countries doesn't have fixed daylight saving dates and they are different every year. Look at prometheus/prometheus#4160. If an external work around would be necessary anyway, what is the point for this feature?

I don't think a health discussion with examples on how to do things are "unhelpful", but we can have different point of view. And in my opinion, the value is exactly the opposite as "pretty obvious".

@allangood  Offering a different point of view is one thing; coming into an issue that people clearly want and countering everything with a reason it shouldn't exist is quite another. You're not just offering a helpful workaround, you're actively lobbying for this feature not to be built in. There are reasons why a built-in solution would be more desirable (e.g. maintenance cost, higher barrier to entry for new users, etc.). It's fine to think external exporters are better for your particular use cases and preferences, but not everyone shares your use cases or preferences. Coming into an issue for tracking a built-in solution and trying to tell everyone they just need to share your perspective is not helpful.

If this feature was implemented inside Alertmanager, as @brian-brazil mentioned it would be implemented using UTC time. In this case, the feature wouldn't work as expected without an external "daylight_savings_exporter". And before someone says that is possible to use some expressions to solve this problem, some countries doesn't have fixed daylight saving dates and they are different every year. Look at prometheus/prometheus#4160. If an external work around would be necessary anyway, what is the point for this feature?

Prometheus wouldn't be the first piece of software that needed to be timezone aware. You're talking like there aren't ways to convert local timestamps to UTC on the server side. Just because there are some cases where a solution isn't foolproof doesn't mean it couldn't work well for the many, many other users where daylight savings is fixed. This is extremely black and white thinking.

Here's a TZ/DST-aware pattern that we are using as a cron job:
#!/bin/sh

tool=/opt/alertmanager-0.15.2.linux-amd64/amtool
url=http://localhost:9093
user='crond@prod-monitor-01'
fmt='+%Y-%m-%dT%H:%M:%SZ'

tz=$(TZ='America/Los_Angeles' date -d '12:00:00 next thursday' '+%Z')

if [ "$tz" = PST ]; then
    start_time=20:00:00
    end_time=22:00:00
elif [ "$tz" = PDT ]; then
    start_time=19:00:00
    end_time=21:00:00
else
    exit 1  # "impossible"
fi

start="$(date -d "$start_time next thursday" -u $fmt)"
end="$(date -d "$end_time next thursday" -u $fmt)"

$tool --alertmanager.url=$url silence add -a "$user" --start=$start --end=$end \
 -c 'weekly maintenance Noon-2 Pacific' 'alertname=Our_Special_Service_Unresponsive'

exit $?

For what it's worth.

What about the possibility of allowing re-routing of alerts from the API? Silencing with amtool is easier to manage for time-zones, DST, and holidays using a general-purpose programming language and cron jobs. Adding re-routing of alerts via amtool would allow the same flexibility for those who want to re-route, not just silence.

To me, the most natural approach to solving this appears to be basically what @mpsmith has suggested, which would allow time-based matching inside the routing tree. Similar to match and match_re, if a node doesn't match based on its time rules we simply move on to sibling nodes or stop traversing.
This could be restricted to UTC, or we could leverage Go's time/location capabilities and translate the time ranges to UTC from a user-specified IANA timezone upon evaluation. I think this would provide the most user benefit, however I know timezones are a controversial subject in Prometheus/AM and I'm sure there's wider impacts I haven't considered.
Something like this:
    routes:
    - match:
        severity: critical
       match_times:
         - time_range: '0900-1700'
           days: ['monday', 'tuesday', 'wednesday', 'thursday', 'friday']
           timezone: America/New_York
      receiver: team-X-pager

One thing worth noting with my suggestion above is that it doesn't support the description of arbitrary time periods. Nagios, for example, (has a far more descriptive time period cosntruct)[https://assets.nagios.com/downloads/nagioscore/docs/nagioscore/3/en/timeperiods.html] that allows you to specify things like 'Tuesday' and '2nd Tuesday in December' as valid ranges. I'm not sure what the appetite for this would be though.

@benridley Some thoughts, without being an expert in the latest Alertmanager code base:
I wonder if this should really be a match parameter like you suggest or rather be a route setting that does not affect matching itself. Since you may or may not want the alert to continue matching against siblings if you are out of business hours, and then you'd need an extra setting for that which is separate from the currently already existing continue setting. How about just making it independent of the match behavior, but mute a route when it's out of its time range? Then I think the existing label matching + time-based muting + existing continue setting should be enough to model all use cases? E.g. you could still have two sibling routes that match the same alerts, but are muted at complementary times (one sending to pager, another to Slack), and with a continue: true in the first one, you would always match both, but only one would actually send.
My hunch is that this would also play together better with the alert state tracking (firing/resolved) in the different routes, as alerts wouldn't suddenly switch routes based on time of day, and a route is where that state is kept over time. So as a match-style parameter, a route would suddenly just lose all of its alerts and send resolved-notifications for them. We probably want this to behave more like inhibitions, where state is still tracked in the same routes as before, but only notifications are suppressed.

Given that the existing "integrations" of this feature use inhibition, :+1:

I also think it'd make sense to have a new top-level section for time range definitions that are reusable from routes (like receiver definitions are). Then in your route you would reference their names, with some constructs to AND or OR multiple conditions together.

Thanks @juliusv, the idea of muting the route makes more sense especially given the life-cycle tracking that happens within a route.
I agree, the reusable interval definitions would be useful. I suppose the next question is what I alluded to above which is how comprehensive do we want an interval definition to be?
Viewing intervals from the perspective of a week and defining intervals on weekdays (similar to y snipped above) seems like it'd be the simplest implementation and cover most use cases. Something more expressive like the Nagios syntax above however would enable some interesting use cases like modelling maintenance windows and public holidays for example. I am wary of the complexity it introduces though.

@benridley Again, I'm more of a drive-by commenter here and haven't deeply thought about it yet, but: Since the actual calculation of time ranges would be a completely separate part of code that doesn't interact in complex ways with other pieces of Alertmanager (other than saying "yes, we're currently in this time range"), it seems fine to me to allow more complex time range definitions (á la Nagios) as well.

I suppose the next question is what I alluded to above which is how comprehensive do we want an interval definition to be?

TL;DR: Don't implement anything new, create a new docs page and ready-to-adapt, community-driven examples instead because everything we need is already there.
#kiss #yagni #minimalism #reuse #docs #community

(Note: Although I sometimes write only routing and/or inhibition, I usually mean both with respect to / focusing on time and different teams receiving alerts based on time.)
Having recently implemented a routing/inhibition solution based on that PromCon 2019 material, I must admit I couldn't be happier with it, given that I can even include public holidays from my country/state and company policies. (For anyone who hasn't seen it, I highly recommend to check it out.)

I could even add SysAdminDay, if I wanted to :-D

With these more involved inhibition rules, I have come to realize that, although it might be nice to have a $simple time of day and weekday based routing, it would not be sufficient for our policies and what we as a group of colleagues would want to express (office hours, on-call duty, being able to sleep, no alerts on holidays, etc.). I can only assume that (almost) everyone who is interested in time of day, day of week, etc. based inhibition/routing would agree that an overly simplistic, albeit more easily implementable solution would not be sufficient.
Given that a $not_so_simple routing/inhibition including stuff like country/state public holidays (or even company policies like holiday between Xmas and new years) is a bit too much to ask to implement (in an ad-hoc routing logic; and a never-ending pit of new feature requests), I feel myself being largely in favor of providing more extensive documentation and examples for inhibition rules rather than asking for an implementation of a full-fledged native routing configuration.

My proposal/RFC to not implement time of day based routing would be:

Create a new examples directory structure and allow encourage contributors to throw in their (easily adaptable) configurations in a timezone like fashion, e.g. I would contribute mine as examples/business-hours/Europe/Germany/Saxony/time.rules.

Create a dedicated Routing and Inhibition https://prometheus.io/docs/alerting/routing-and-inhibition/ docs page:

highlight the difference between $simple and $not_so_simple inhibition/routing (and that in the end you/your team/your boss would most likely end up wanting $not_so_simple anyway)
showcase how both routing and inhibition can be based on labels like time_window
link to the growing example configuration directory where users can easily grab/adapt/contribute their local timezone/holiday configs

What do you think?

@wookietreiber That's a valid way of seeing it, though I would still prefer to have first-class support for this. It would be nice not to have to configure anything on the Prometheus side at all, as conceptually this is a routing decision that should be configured only on the Alertmanager side (or even in the receiver tool afterwards, like a PagerDuty schedule). And a dedicated way of configuring this would be much more explicit and clear to the user, rather than having to explain how it's somehow accidentally possible to use alerting rules to pause other alert notifications based on the current time.
But I like the point that making the dedicated configuration too simplistic would be sad, because then a lot of people would still be using the alerting-rule-based variant and we'd have both ways around forever. If we go for something closer to what Nagios has (see e.g. https://assets.nagios.com/downloads/nagioscore/docs/nagioscore/4/en/oncallrotation.html), then it looks like we should be able to cover most use cases?

@juliusv I do understand your reservations about both the accidental possibility issue and mixing of concerns between Prometheus and Alertmanager. I'd rather avoid these as well, however, given that Prometheus and Alertmanager are pretty much closely coupled anyway, it doesn't bother me too much.

If we go for something closer to what Nagios has

That's exactly my point: The Nagios configuration is ad-hoc and static. It doesn't allow for any kind of algorithm that defines e.g. when Easter is and you would always have (to remember) to modify it (although only once a year in case of these few varying public holidays). Personally, I'd rather define these kind of rules once and live happily ever after knowing I will never have to change them.
I am confident that the inhibition rules cover all necessary use cases, without the need to implement anything new. Feel free to prove me wrong :-D
It's hard to tell, how many use cases a configuration similar to that of Nagios covers. This largely depends on how fast you could implement how much of that functionality. Given that this will take some time, ATM the inhibition rules are the only way to do (all/most of) it and may possibly find the way into many Prometheus/Alertmanager users configurations. The question then becomes: can you express your current inhibition rules with the new native time-based routing configuration? Would you bother changing your configuration especially if it's already working with inhibition rules?

@wookietreiber Dynamic holidays etc. that you can calculate with PromQL, but that would be hard to express in a Nagios-style notation are a good point. OTOH in practice I would probably just hardcode Easter for the next 10 years and be done with it :) Also, there's probably holidays or other special cases that you would need to hardcode ad-hoc anyway, as they are not calculatable. Overall I see your point, but still leaning my direction :)

@wookietreiber This is how nagios solve the problem. https://assets.nagios.com/downloads/nagioscore/docs/nagioscore/4/en/oncallrotation.html
But if you really  want to stay with promql based rules. How it is about to improve the promql date functionality?
Like using some https://www.php.net/manual/en/datetime.formats.php
Sorry dont found the matching c code will short research.
But this would allow rules like:
time() > strftime(09:00) > strftime(17:00)
or
date() == strtime(eastern + 1day) for esster monday

A question for the maintainers, how do we determine whether this feature should be implemented or not? It's clear that inhibition rules are working for people, but as we've seen some of us are in the camp that believe there's value in supporting this as a first-class feature. Seeing as this is now the second most commented issue (and most thumbed-up) after almost three years I think we should have a direction for this issue.

@GreenRover That's exactly what the easy to use/adapt example templates are for.
I adapted the one from here to Germany/Saxony and I basically only had to change the public holiday dates. I now provide mine here and then it's more easily adaptable for other German states.
This way, you don't have to do the math or even think about it, I didn't even have to do it.

A question for the maintainers, how do we determine whether this feature should be implemented or not?

@simonpasquier as the current Alertmanager maintainer, any opionions on how to progress?
While the Prometheus expert and nerd in me likes the idea of solving everything through an existing flexible mechanism (PromQL+alerting rules+inhibits), we have to consider how this contraption seems to new and non-expert users. See e.g. https://github.com/prometheus/alertmanager/issues/876#issuecomment-548541560 - I think a lot of them will be turned off even with more documentation and examples.
So I'm leaning towards thinking we should do it, with the exact time range specification language still to be determined.

@wookietreiber  are you shure that your day light saving time rule is correckt for all years?
Please see this table: https://www.linker.ch/eigenlink/sommerzeit_winterzeit.htm

I agree, can we have a feature like this
routes:
- match:
severity: critical
match_times:
- time_range: '0900-1700'
days: ['monday', 'tuesday', 'wednesday', 'thursday', 'friday']
timezone: America/New_York
receiver: team-X-pager

@GreenRover I'm not, I just copied from the others and thought good enough. That's kinda off topic here, please discuss at the gist.

Thank you all for the good discussions! I was still on the fence as to whether this should be part of Alertmanager or something managed externally (e.g. with Prometheus recording rules). Eventually I feel that not having it in Alertmanager isn't friendly for beginners and newcomers. Especially since it's something that "legacy" monitoring tools offer...
Going forward, it would be good to have someone starting a document so that we can gather requirements and design proposal. I agree with Julius that route configuration should probably be extended to specify when the alert group is active/inactive wrt time. Having a way to declare time windows upfront and reference them in the routing tree is also interesting.

Thanks @simonpasquier. Is there a traditional route for design/implementation of features like this? Perhaps we should start a new issue focused on the design and additionally ask the mailing list for comments. I think @juliusv's comments would serve as a good starting point.

We generally work on google docs for design documents, and they are posted on the developers mailing list.

Thanks @roidelapluie,
I'm happy to get started on a design doc. I'll post back here with a link when I've drafted it.

One way I’ve always thought about implementing it, is in the same form as ansible’s when conditions
It’s a simple list of string templates (ansible uses Jinja, but they could just be go templates) that are rendered to return either true or false (or default to false if they return a non Boolean value)
I believe this allows for the most flexible configuration as users can specify as many conditions or nested conditions as they want for instance
‘’’
when: date.hour < 14 and date.day == 0
‘’’
Then it would be rendered using the following logic
{% if condition %}true{% else %}false{% endif %}
If it renders to true then the route applies
Sorry for the terrible formatting, I’m on my phone

Hi all, design doc is up and open for comments and suggestions here.

Assuming this is still in the planning stages?

Correct. The design doc is still open for comments but we're getting there!
On Fri, 19 Jun 2020, 10:42 pm callahan22<EMAIL_ADDRESS>wrote:

Assuming this is still in the planning stages?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/prometheus/alertmanager/issues/876#issuecomment-646614673,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AF3AWO4NAEYRYZ2YRQ6VOP3RXNMLZANCNFSM4DP6ACQQ
.

I have another similar but different use case:
I want a rule to only start matching after some point in time X.
So that the rule looked like some_vector > 1234 AND time() ><PHONE_NUMBER>.
This would effectively mute it til 2020-12-01T00:00:00Z.

I have another similar but different use case:
I want a rule to only start matching after some point in time X.
So that the rule looked like some_vector > 1234 AND time() ><PHONE_NUMBER>.
This would effectively mute it til 2020-12-01T00:00:00Z.

Interesting use case Ivan.
The time based silencing spec is in limbo at the moment. I'm still working on it occasionally but it's gone through a few iterations and finding consensus has proven difficult and it's important we get it right. The current design however would not support this use case, as its primarily designed to address silences thst need to occur periodically with known time intervals.
My instinct would be to separate the query and use a silence to mute the alert until the specified time but I'm not sure if that would meet your requirements

Just to update on this issue:
Something myself and some of the maintainers would like to see is the ability to specify a timezone in your time interval configuration. Currently, this is basically impossible because it breaks cross platform support as Go doesn't use the OS timezone database on Windows, and being able to build/run on Windows was pointed out as a key requirement.
There is an issue for this here. A resolution on this issue would mean that we'd be able to reliably convert timezones on Windows. Alternatively, the recently released Go 1.15 allows us to embed the timezone database in the binary, but this both inflates the binary size and would require updates of Alertmanager to get new timezone definitions, which isn't ideal, so personally I'd like to see this support in Go before we can make a feature that's really useful (or comparable to the inhibition based approach).

@benridley
I know it’s certainly not idea but what about something like using exec to call tzutil to get the time zone information, if alertmanager happens to be running on windows. Until the support is added to Go itself anyways.

@cpmoore Certainly a clever workaround, however tzutil would require timezones in Window's format rather than IANA format which Go and Linux use. At which point we'd need to keep a conversion table somewhere, and if we go that far we may as well implement the fix in upstream Go...
I think this is something that should be fixed upstream rather than us tackling it here or trying to work around it.
Perhaps an alternative would be to implement the feature with timezone support but leave it disabled. If people want to use it, they can use a build tag to build the application with tzdata bundled in and timezone support enabled. That would at least give people who want it an option, and make the transition easy when it's fixed in upstream.

Hi all, I've been chipping away it this. The feature is implemented in my development branch and supports the features outlined in the design document.
It's currently failing some acceptance tests so I will work on that next. It also likely needs some sort of UI feedback for when routes are muted, as the current inhibition/silence mechanism don't illustrate that.

@benridley great job! One thing can be added is the timezone management like so:
 - name: business_hours
   intervals:
     - days: ['monday:friday']
       times: ['09:00-17:00']
       timezone: UTC

That will be helpful to manage summer time and winter time in Europe :). If not specified, the default timezone will be UTC and can be override.

Timezones are not supported in go on Windows.

Alertmanager uses Golang 1.14, but 1.15 has an option to embed the timezone data - does that work on Windows? See https://golang.org/doc/go1.15#time/tzdata

Not really, it was out of date when it was added and hasn't been updated since. Even if was promptly updated, you could still be easily talking a year for an update to propagate out given Go and AM release cycles which is far too long - ignoring all the other problems with embedding data such as being forced to upgrade.

Yeah proper timezone support will have to wait until Go parses the OS provided timezone files on Windows. There's an open issue for this in Go, so hopefully there's progress soon. We can always add the feature relatively easily as soon as support is added.

But is not having any TZ support still better than no support whatsoever?
Timezones don't change frequently majority of regions.

But is not having any TZ support still better than no support whatsoever?
Timezones don't change frequently majority of regions.

Il we go out today it will be out of sync for europe in about 6 months

@roidelapluie is a change for the whole Europe scheduled next April?

@roidelapluie is a change in timezones for the whole Europe scheduled next April?

It seems like they moved it to 2022, but yes, it should be the end of DST here.

There's countries where you often get zero notice of a change, and more generally timezone changes happen more frequently than you'd think. Canada is in the middle of one for example (the relevant law hadn't passed yet, but they were planning on it last I looked).

Merge request here: https://github.com/prometheus/alertmanager/pull/2393

Glad to see there's a PR open for this feature!  Any chance this making it for one of the next releases?

Hi @hartfordfive, this was initially discussed in the design draft, but it was determined to be too problematic to change routing between time periods because there's a lot of important behaviour tied to routes, for example when time intervals change should a flurry of new alerts fire to the newly active route? Should a flurry of resolved alerts be sent to the old one?
For this reason, routing remains static and muting is applied to them in the above design. However you should be able to achieve most of the same outcomes by muting routes and using the continue option to specify alternate paths for the same alert.

Hi,
I was wondering if anyone can help me. So i followed this post and from the design document, if I understood correctly i set the below in alertmanager.yml
mute_time_intervals:

name: business_hours
time_intervals:

weekdays: ['monday:friday']
times:

start_time: "09:00"
end_time: "17:00"

I started with this to test, however every time i am restarting alertmanager, I am getting the below error:
msg="Loading configuration file failed" file=/etc/alertmanager/alertmanager.yml err="yaml: unmarshal errors:\n  line 1: field mute_time_intervals not found in type config.plain
Am i missing something?
Following this doc : https://docs.google.com/document/d/1pf-rPDQUGJUHazyr5vanTO6ft3loNZO9UoVpvhShFtA/edit

Hi @justin27c,
this feature is not part of any official release, you need to compile alertmanager yourself with PR #2393, but I don't know about the stability.

hours 0-6 silence:
node_load5 > 8 and ON() hour() >0 < 6

Implemented in https://github.com/prometheus/alertmanager/pull/2393

Hi all.
I'm trying to use that feature with release version 0.22.0-rc.1, but I have no luck with it.
My alertmanager.yml:
mute_time_intervals:
  - name: business_hours
    time_intervals:
      - weekdays: ['monday:friday']
        times:
        - start_time: "09:00"
          end_time: "11:00"

templates:
- '/etc/alertmanager/templates/*.tmpl'
receivers:
- name: pagerduty
  pagerduty_configs:
  - client_url: http://x.x.x.x/
    description: '{{ if .CommonAnnotations.summary }}{{ .CommonAnnotations.summary
      }}{{ end }}'
    routing_key: xxx
    severity: '{{ if .CommonLabels.severity }}{{ .CommonLabels.severity | toLower
      }}{{ end }}'

route:
  group_by:
  - alertname
  - cluster
  - service
  - env
  group_interval: 5m
  group_wait: 30s
  receiver: pagerduty
  repeat_interval: 4h
  routes:
  - group_wait: 10s
    match:
      severity: low
      alertname: InstanceDowntest
      mute_time_intervals:
        - business_hours
      receiver: pagerduty

But  with that config alertmanager don't want to start.
Part of log:
level=error ts=2021-05-14T13:38:06.667Z caller=coordinator.go:118 component=configuration msg="Loading configuration file failed" file=/etc/alertmanager/alertmanager.yml err="yaml: unmarshal errors:\n  line 44: cannot unmarshal !!seq into string"

Can anyone help me?
Thanks

@bimmerkiev  - can you paste the whole log file to check which is line 44?

@justin27c sure. fixed.
It's about
"        - business_hours"

Can you change the below?
     time_intervals:
        - business_hours
      receiver: pagerduty

to

mute_time_intervals:
     - business_hours
  receiver: pagerduty

Can you change the below?
     time_intervals:
        - business_hours
      receiver: pagerduty

to

mute_time_intervals:
     - business_hours
  receiver: pagerduty

Already tried that - no luck. The same error

If I try this:
  routes:
  - group_wait: 10s
    match:
      severity: loww
    mute_time_intervals:
        - business_hours
      receiver: pagerduty

I'm receiving:
level=error ts=2021-05-14T13:59:24.090Z caller=coordinator.go:118 component=configuration msg="Loading configuration file failed" file=/etc/alertmanager/alertmanager.yml err="yaml: line 43: did not find expected key"

If like this:
  routes:
  - group_wait: 10s
    match:
      severity: loww
      mute_time_intervals:
        - business_hours
      receiver: pagerduty

The result:
level=error ts=2021-05-14T14:00:06.573Z caller=coordinator.go:118 component=configuration msg="Loading configuration file failed" file=/etc/alertmanager/alertmanager.yml err="yaml: unmarshal errors:\n  line 43: cannot unmarshal !!seq into string"

I have the below config and working fine:
mute_time_intervals:
  - name: business_hours
    time_intervals:
      - weekdays: ['monday':'friday']
        times:
        - start_time: '18:00'
          end_time: '22:00'

route:
  routes:
  - match:
      severity: low
    receiver: team-receiver
    mute_time_intervals:
      - business_hours

Hi @bimmerkiev, you were almost there with this version:
  routes:
  - group_wait: 10s
    match:
      severity: loww
    mute_time_intervals:
        - business_hours
      receiver: pagerduty

The problem is that the receiver was indented, so Alertmanager was getting confused because it should be at the top level alongside mute_time_intervals, group wait etc. This config should be ok:
  routes:
  - group_wait: 10s
    match:
      severity: loww
    mute_time_intervals:
      - business_hours
    receiver: pagerduty

Hi @bimmerkiev, you were almost there with this version:
  routes:
  - group_wait: 10s
    match:
      severity: loww
    mute_time_intervals:
        - business_hours
      receiver: pagerduty

The problem is that the receiver was indented, so Alertmanager was getting confused because it should be at the top level alongside mute_time_intervals, group wait etc. This config should be ok:
  routes:
  - group_wait: 10s
    match:
      severity: loww
    mute_time_intervals:
      - business_hours
    receiver: pagerduty

I'm really appreciate for your help.
It works now

Thank you all for your ideas, this is the expression I came up with in order to trigger the alert only during working hours on week days: vector(1) and on() (day_of_week() > 0 and day_of_week() < 6) and on() (hour() > 8 and hour() < 18) where 'vector(1)' is the query for the metric I'm using.
Hope it's useful to you, best regards


Is any like such as multiprocess.close() needed?

Hello,
Thanks for the nice work. Do I need any line of code such as multiprocess.close or equivalent at the end or p_tqdm takes care of closing the workers once the work is done?
Maybe it would be nice to add this info in the readme.
Best,
Tommaso

Hi @TommasoBendinelli, thank you for the question and the suggestion! The parallel Pool object doing the multiprocessing is automatically closed when the p_tqdm map finishes (you can see here) so you don't need to worry about closing it. I've added a note at the end of the README explaining this.
I'm 99% sure the Pool objects close correctly, but please do let me know if you run into any situations where they aren't closing.


How to use in Angular 2+

Hi, great work! Thanks.
Is it possible to use anime in a Angular 2+ project?  Would love to use if there. Any ideas hoe?

@whyboris
Hi, i got a problem after following your step

My dependencies version

thanks man

Anime.js is mostly working fine with Angular 10, the only exception is keyframes. When using Keyframes, no animation is produced. No results are produced in the terminal either. Anyone else encountered this issue ?

This isnt working, how to use it in 2021 ?!?!

This isnt working, how to use it in 2021 ?!?!

Change your import to import anime from "animejs/lib/anime.es"; and it worked for me.


Adding brain test job to cap-release pipeline.

Ticket: https://jira.suse.com/browse/CAP-1247

Merging, and fly setting pipeline so it's up-to-date.

Thanks for merging. Moved the associated JIRA ticket to QA.


Autocompletion of birth dates isn't working

The recent addition of autocomplete attributes for date inputs marked date_of_birth: true doesn't appear to be working and it's unclear why.
The spec isn't massively clear, but suggests that all that is required is to set day, month or year autocompletion is to set bday-day, bday-month and bday-year on the inputs respectively.
This doesn't appear to work in Firefox or Chrome.
On closer reading it seems that the bday-(day|month|year) parts are nested within bday, so the autocomplete should contain both keys.
The following markup appears to work for me:

    Day
    <input id="dob-day" name="day" autocomplete="bday bday-day">

    Month
    <input id="dob-month" name="month" autocomplete="bday bday-month">

    Year
    <input id="dob-year" name="year" autocomplete="bday bday-year">

[x] Check this is the correct approach
[x] Modify #date_of_birth_autocomplete_value so that it returns the value prefixed with bday .
[x] Fix specs accordingly

This functionality doesn't yet have widespread browser support, see #18


Add session management and update api

:tada: This PR is included in version 0.4.0 :tada:
The release is available on:

0.4.0
GitHub release
0.4.0

Your semantic-release bot :package::rocket:


And before you say "yOu cAnnOt coDE soMeThING wIkE tHiS" No, I cannot. But if you're gonna advertise this as working, then it doesnt work for a ton of people (as seen by a billion issues here), then you're false advertising. Wake up and actually fix this, don't be sending out half assed updates that are "KFD fix" it excites everyone, but when their device crashes again, they get disappointed because of YOU!


download pretrained model

I cannot download pretrained model.
Can you please check if 'SDFA-Net-SwinTM_384' is able to download?

After selecting this option

This goes over and over.
Thank you

Hi
I think it works well on Windows, but I have not tried to download it on Linux. There may be something wrong with PanBaidu on Linux.
I am uploading the pre-trained model to google drive, I hope it would be helpful.

Thank you, that would be great!

Thank you:)


support Unicode Emoji variant selectors

Is your feature request related to a problem? Please describe.
Unicode defines two variation selector characters, U+FE0E and U+FE0F, also respectively known as VS15 and VS16.
When VS15 is appended to a symbol, it forces it to be displayed as text (black and white glyph). Contrarily, when VS16 is appended, it forces the color version to be displayed (emoji).
Take monochrome version ❌ as the input of MathJax, the output is the color version ❌

Describe the solution you'd like
Take monochrome version ❌ as the input of MathJax, the output should remain monochrome.

This is not something that MathJax controls.  You don't say what OS or browser you are using (as requested in the issue template), but on my Mac OS, U+274C shows the colored version regardless of whether it is followed by U+FE0E or U+FE0F, or by neither one.  This is being handled by the system text renderer, since U+274C is not in the MathJax fonts, so it is up to the system to properly handle these selectors.  MathJax doesn't have any control over that, other than to pass them along to the system in this case.
Of course, you should use \text{...} around any such multi-character sequences so that MathJax will put them into a single mtext node rather than treating each as a separate mi or mo.

This is not something that MathJax controls. You don't say what OS or browser you are using (as requested in the issue template)
Sorry, I didn't mention that I am using Mozilla Firefox (122.0.1) on Windows 11 Education version 10.0.22631 Build22631.

Of course, you should use \text{...} around any such multi-character sequences so that MathJax will put them into a single mtext node rather than treating each as a separate mi or mo.
Yes, I tried \text{❌} and the output MathML is

<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
  <mtext>❌</mtext>
</math>

but in the output HTML the multi-character sequences is split into two nodes, which I think caused the problem


GIF Export

Hi!
Excuse me for disturbing you but I see a strange result when I export character animations in (ABM).
This file contains various animations of the same character (idle, death, attack).
Only export to GIF is possible but the size of the sequence is defined by the first frame. Which means that as soon as the animation changes and the size of the image changes, the GIF becomes corrupted.
I can't find a way to export everything as a PNG image sequence, which could fix the problem and export the images of various sizes depending on the exported animation.
I don't know if I'm being very clear. (^_^; )
It seems that the GIF format compresses the original images and reduces the quality of exports
Example of corrupt GIF:

And congratulations for this incredible tool!

Hey, could you send me the abm you are trying to decode?

I managed to find that one, and updated the app to export as a series of .png files like you suggested.
I think the issue with the .gif was that the gif writer tries to keep the size consistent, but like you noticed, it always just dies at the end lol.
Please let me know if this was what you were looking for!

Hi!
Thank you for your prompt response !
The tool is perfect now, the images are well separated, uncompressed, in short, everything is perfectly accessible!
Thanks again !
This is off topic but do you think you'll one day look into the FST video format?
I also have software, cmp2wav, which allows you to convert dialogues and music, the fx being in wave.
But I can't find the author and there are some issues.
Anyway, thank you again for your work!

Hey!
No problem, it was fun jumping back into this.
It's funny you mentioned .fst files. You can see the way the data is encoded here:https://wiki.multimedia.cx/index.php/FutureVision_audio_formats
but apparently the FST format on that page is slightly wrong. I haven't taken a look at it. I did however manage to get the game to load whatever fst files I wanted, and I went through every one of them that was found on the disc. I only found 3 unseen ones, which you can find on my youtube channel: https://www.youtube.com/@honeycrispfan1211/videos
I can also explain what I did if you would like.
I was thinking of trying to get the cmp decoding working too for this tool, but havent had the time.

Thanks again.
Do you process by changing video file name in memory while the game running ? You  use a script for this ?
They may have used a modified variation of Indeo codec from intel for videos, I'm probably saying anything.
I'm trying to see if it would be possible to port to AGS. I captured the videos from a virtual machine because dosbox does not play them properly but it remains less clean than a conversion of the source files.
Merci pour les infos !

I didn't use a script, I just modified the value in memory using cheat engine. I basically found a video clip I knew the name of (I think it was like PEEP1.FST), modified the value to the name of another FST, then triggered that original cutscene (looked through the peephole on the first day).
I actually think that it was a proprietary format, and only Harvest used it...
Doing it in AGS sounds really interesting, I'd love to see that come to fruition. Definitely let me know if you have any questions about this stuff. What's wrong with the .cmp converter you're using now?

Hello,
Unused videos may could be reinstated.
Here a FLC video file OPERATE.zip from GRAPHIC\ROOMANIM, if I force open with VLC, the video playing...
Could there be a link between FLC (video only) and FST (video+sound)?
I have a small report for the tool.
"Convert Folder of Backgrounds" cannot find the corresponding PAL and it is not possible to choose it manually.

"Convert Folder of Backgrounds" lets you choose your PAL but crash when extract (And extract only in GIF and the window speak about PNG exports)

For the sound extract problem, when i use cmp2wav.zip, most of the sounds correctly convert, but on some files the volume turn down the first 4/5 second and play normally after... Strange. 😄
Again, thanks for your time and help !

Sorry, I'm really bad at checking these - I think the issue with the FST is that its a totally seperate format.
For the "convert folder" the reason I have it like that is because I wouldnt want the user to have to pick each pal file manually... Though the .gif thing could totally be changed.
For ABM, I think there is a section in the bytes that says how many animations it is... But I loop based on that. You're saying that it always does 80?
If you want to reach out to me in a way I'm more likely to see by the way, you can message me on discord - my username is "MrDaveForDays". I check that more often and I can see it on my phone

Also, regarding the exporting folder of ABM as .gif, I think I could get it so it creates a folder for every animation, and then dumps all the .png files into that folder... Would that help at all?


Bluetooth: tester: Fix undeclared CONFIG_UART_PIPE_ON_DEV_NAME

This fixes build error due to undeclared CONFIG_UART_PIPE_ON_DEV_NAME
on nrf52840 board.
Signed-off-by: Mariusz Skamra<EMAIL_ADDRESS>

I was getting this error on all nRF52 boards that I tried. It looks like this will only fix it for one of them?

Also, it seems odd that this would have to be fixed for every application wanting to use CONFIG_UART_PIPE_ON_DEV_NAME, considering that it's not a single-app feature (if it was then Kconfig is the wrong place for it). So isn't there some better non-app-specific place to fix this?

jhe: I could set this in boards/arm/nrf*/*.dts, but this could conflict with zephyr,console = &uart0, see:
`/ {
model = "Nordic PCA10056 Dev Kit";
compatible = "nordic,pca10056-dk", "nordic,nrf52840-qiaa",
"nordic,nrf52840";
chosen {
	zephyr,console = &uart0;
	zephyr,sram = &sram0;
            zephyr,uart-pipe = &uart0;
};

};`

@MariuszSkamra I have no idea. Perhaps @SebastianBoe has a suggestion for how to fix this cleanly?

@jhedberg I could set this in boards/arm/nrf*/*.dts, but this could conflict with zephyr,console = &uart0, see:

It doesn't conflict with console because it is not valid to enable console and uart-pipe simultaneously.

Is it ok?

Yes.
PS: I don't really get why DTS is used to select which peripheral a SW component uses at all. I don't have a good understanding of Kconfig and dts yet, but you would think that a user should be able to kconfigure which peripheral a SW component is using.

There are many boards that will fail to build uart-pipe. I'm not sure I should provide a patch that affects every board... I will push a change only for nrf52840, because this is the one I can test patch with.

updated

What confuses me is that the kconfig already looks like this:
if ! HAS_DTS
config UART_PIPE_ON_DEV_NAME
	string "Device Name of UART Device for pipe UART"
	default "UART_0"
	depends on UART_PIPE
	help
	This option specifies the name of UART device to be used
	for pipe UART.
endif

so you would think that was already defaulting to UART_0 without the proposed patch. I am
struggling to see why UART_PIPE_ON_DEV_NAME is not defined as UART_0 before this patch.

I need to look at the details, but I think a dts overlay might help with this.

@SebastianBoe What confuses me is that the kconfig already looks like this:
if ! HAS_DTS
so you would think that it was already defaulting to UART_0 without the proposed patch. I am
struggling to see why UART_PIPE_ON_DEV_NAME is not defined as UART_0 before this patch.

Note that there is negation operator. This board (target) supports device tree config, so HAS_DTS is set to true.
@galak Yes, overlay does the work, but it can be applied only per board. Am I right?

Note that there is negation operator.

My mistake ...

Note that there is negation operator. This board (target) supports device tree config, so HAS_DTS is set to true. UART_PIPE_ON_DEV_NAME won't be set.
@galak Yes, overlay does the work, but it can be applied only per board. Am I right?

We could improve things to introduce a non-board specific overlay, but I question if that truly makes sense.  Do you know that the UART is always going to be the same regardless of the board?

I agree with @galak that samples that use UART_PIPE have overlay files (reason being, we dont want users enabling console and uart-pipe at the same time when there is only one supported uart peripheral).