Looking for testers: How eqMac works on M1 chip with Rosetta and build an ARM universal build

As people are now getting access to an M1 Macs, would be great if someone would test how eqMac works without any updated to the binary with Rosetta translation. Also I already managed to do a build with Universal binary, I will post it in this issue soon. If anyone has got an M1 Mac and is willing to do some beta testing please make yourself known in this issue! Thank you!

Any updates on this? I wanna buy an M1 but I wanna know if EqMac works already on this machine?

Had no responses from anyone yet. Trying to source a M1 16GB RAM machine but they are not easily available yet :( Don't want to go for the 8GB RAM model

But there shouldn't be any dramatic differences. I was already able to build a Universal Binary for the Driver and the App itself, will release it this weekend. Kinda scary that people base their decision to buy a new machine on wether eqMac will work on it or not 😄 but it should be pretty safe to buy I think

I do have an M1 MacBook Air, just installed eqMac and it seems to work.
During installation it asked me to restart Audio or the whole Mac, when I selected to restart the Mac, the Mac restarted and the driver was not installed. Driver installation works only when selecting to restart Audio only.
What i noticed in a few minutes: balance control does not work right, when going to left, it gets louder until like 80% for the right channel, then it gets less loud until its silent when 100% left 0% right. When going to the right it just lowers the volume until its silent when set to 100% right 0%left.
Sorry, English is not my first language, so im not sure if I worded that in a understandable way.

@wildpa I've made a build for M1 chip, could you try it out?
https://github.com/bitgapp/eqMac/releases/tag/v0.3.7
Before you run the installer. Could you please delete this file on your system:
/Library/Audio/Plug-Ins/HAL/eqMac.driver. This is so that the installer would install the new M1 native version of the driver. You can do this by running this command in Terminal.app:
sudo rf -rf /Library/Audio/Plug-Ins/HAL/eqMac.driver

I am awaiting my M1 Mac delivery by Dec 8. Will help when I have it in hands. Meanwhile you may consider my help with Intel if needed.

The installer ran fine, EQ works as before, but it looks like its still intel.

@wildpa thanks, sorry I think I messed up. What version does the app says it's running?

I checked. It says 0.3.6

Sorry lads, clearly made a mistake here. I'll reupload the v0.3.7 and will let you know

I downloaded the pkg from the 0.3.7 release tag and it runs fine for me on 16GB RAM m1 mac mini.
0.3.6 from the website would not even run.

Guys I have reuploaded the correct version here:
https://github.com/bitgapp/eqMac/releases/tag/v0.3.7
Please try again and report back on how it went 😄
I appreciate your help and patience

Just tried 0.3.7 on Intel MacBook Air - works fine here. Mind the balance issue mentioned by @wildpa above. No special steps to reproduce - simply try making Left only signal :)

@artyvasiuk is that the M1 Chip or Intel?

@nodeful Intel.

Huh weird, what type of output device used?

Are you referring to balance issue or something else?
Output device setting in the eqMac itself? Any device has balance issue - speakers and external headphones.

I'm referring to the balance issue that is not reproducable on my end. eqMac is always the output device, I meant the device that the final Audio is being routed to

@nodeful Then yes, it's External headphones and same for Macbook Air Speakers. Maybe you need to try it as clean install? Let me know if you need a video or smth. Right channel 100% - 0% works as a volume (from regular to nothing). Left channel 100%-0% - no effect.

M1 mac mini user here. Made an account so I could jump in here. I've been struggling with the eqMac app using rosetta. It seems to be going out of phase or something after a few hours, it "detunes".
Video of the detuning issue:
https://youtu.be/bjZKdGw4Ik0
I downloaded v0.3.7 and I'm testing it now. I'll be listening to spotify all day today so I'll report back here if the detuning issue arises again with v0.3.7.
Observed Improvements:
-It installed much quicker and more smoothly(no restart/just works).
-Volume control using MX Master side wheel is no longer glitchy.
-Sound level indicator LED on my micca OriGen g2 DAC properly responds now.

@Chunguska great observations. Haven't thought about tuning eqMac like that 😮  I can code, but clearly I can't audio.
I will make v0.3.7 the latest release then now.

If I choose restart the machine the installation fails. M1 Macbook Air with 16GB ram here. OSX 11.1

However after reading the above and choosing restart the audio, the installation worked. The first launch after success installation crashed the App and I was stuck with a grey blank App. I force quit it and launch it again and everything is working. Checked System Monitor and saw its running in Apple mode.
Hope the above helps.

If I choose restart the machine the installation fails. M1 Macbook Air with 16GB ram here. OSX 11.1

However after reading the above and choosing restart the audio, the installation worked. The first launch after success installation crashed the App and I was stuck with a grey blank App. I force quit it and launch it again and everything is working. Checked System Monitor and saw its running in Apple mode.
Hope the above helps.

Hello, on my M1 Macbook Air, the sound stops working when waking the laptop from hibernation/sleep. There is no sound at all until I wait a minute or mess with the sound input settings.
Also for installation, it fails if I select restart mac, it only successfully installs if I select restart audio instead.

Running on MacMini M1 OS X 11.2 - Installation was flawless and as expected. First start of the app was a bit strange (no app window, forcing the app windows up shows an empty white box), after second try everything seems to work fine. I wish for a rather esoteric feature: using an iPhone as calibration mike to baseline any speaker (a bit like SONOS does it) - Great Job, thanks a bunch for this smart piece of software. Would gladly pay a few bucks to keep this going ! :)

Installed the v3.7 Beta on M1 MBP and application seems functional. I did see the white window problem noted above, had to quit and restart then it started to function normally.

Hello, I am trying to install bur it gives me this error.

Installing was weird, at first it rebooted, failed. After reinstalling it complained it started with a blank window, muted all audio. After closing the window and restarting, it started fine, seem to be working. Pan slider doesn't work correctly: -100 - 0 is just volume and 0 - +100 doesn't affect sound at all. Somehow setting pan slider in the middle lowers volume?

Installer still requires Rosetta 2 to be installed. Someone mentioned that the Distribution file needs to be updated:

https://developer.apple.com/forums/thread/667672?answerId=648995022#648995022


chore: bump patch version to v6.5.9

What is changed and how it works?

Issue Number: Close #xxx

What's Changed:

Related changes

[ ] PR to update pingcap/docs/pingcap/docs-cn:
[ ] Need to cherry-pick to the release branch

Check List
Tests

[x] No code

Side effects

[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[ ] Breaking backward compatibility

Release note

None

/run-unit-test

/test


fix missing remove interface

When trying to do remove where on an encrypted column an error appears
saying that 'decrypt' is missing from the IRemoveQuery interface.

released v - 1.1.3


Fill out "TBD" sections on JobSet landing page

What would you like to be added:
The JobSet docsite landing page (https://jobset.sigs.k8s.io) to have a high level description of what JobSet is, some common use cases it address, etc. Similar to Kueue: https://kueue.sigs.k8s.io/
Why is this needed:
To have useful, polished documentation.

/assign


F proxy ytdlp

[ x] I have read CONTRIBUTE.md

With this PR it is possible to configure yt_dlp with a proxy and with a flag check the proxy certificate or ignore it.
In the YAML configuration:
reading:
yt_args:
proxy: "<proxy_address>"
proxy-check-certificate: False

Hey, I think these points would help

Making the ci pass
Adding a test using a proxy (either an open one publicly available or starting a local one in the CI for testing purposes)
Adding a note in the readme about proxy support
Adding recommendation on what proxy / proxy software to use and speeds observed if using a proxy

The first point is necessary. The rest would be nice

thanks @rom1504, I think I addressed some changes that should make the CI go, added some comments in the readme and more general details in the yt-dlp specific examples section.


[Bug] Why there is jar inside jar?

It is complicated to do texture pack (i am doing dark mode).

The code and texture image to create the screen are common for each mod, reinforced chests, shulker boxes, and barrels. It's ridiculous to write the same code and image in each mod, so I separated them as a shared library. That is why there is a shared library jar inside each mod jar.
This is not a bug.

Using

I can modify it to create a screen with a vanilla texture (e.g. generic_54.png). Is it more convenient for you when doing texture pack?

I edit the pack myself as a temporary solution (I did it by extracting whole then repacked it again in zip) as I am using dark mode but the chest does not follow. It would better if use vanilla texture as long as it change alongside Vanilla when using texture pack, so no need to edit anything.

released version 2.0.3+1.19

released version 2.0.3+1.19

Would you port the fixe to 1.18.2 too please? Thank you :p


Cannot Open Local Argilla UI

Describe the bug
I want to run Argilla outside of docker. I've launched elasticsearch and and the argilla server locally (i.e. python -m argilla) and everything looks to be running smoothly.
On top of that, I've also logged a smaple dataset using rg.log()
However, when I open the UI at localhost:6900/, I just get a not found json response. On the server logs, I see the message "GET / HTTP/1.1" 404 Not Found
What steps am I missing? How do I access the UI and annotate my dataset?
To Reproduce
Steps to reproduce the behavior:

launch your elasticsearch server locally
launch agrilla locally python -m argilla
Try to open localhost:6900/
See error

Expected behavior
The URL localhost:6900/ should be opening the UI, but it's not
Screenshots

Environment (please complete the following information):

OS [e.g. iOS]: Rocky Linux
Browser [e.g. chrome, safari]: Firefox, Chrome, Edge
Argilla Version [e.g. 1.0.0]: 1.4.0
ElasticSearch Version [e.g. 7.10.2]: 7.10.2

That's exactly what I missed, thanks!
I need to run from source, since I'm using a custom branch that hasn't been merged yet, so that I can load images from the metadata :)


restic: 0.9.6 -> 0.10.0 (incomplete)

Motivation for this change
New version: https://github.com/restic/restic/releases/tag/v0.10.0
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[ ] macOS
[x] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Note:
This is currently incomplete. The package builds, but restic's tests fail because fusermount is unavailable. I'm not sure how this should be solved. Example:
integration_fuse_test.go:63: unexpected error: fusermount: exec: "fusermount": executable file not found in $PATH

The fusermount program is part of the fuse package.


export cmake package

Hi there,
I finally made modifications to export SOCI as a cmake package as we talked in my previous issue.
I was not able to fully test it because I need to integrate it into my local hunter script.
Since I tried to keep modifications minimalist as possible, the target names are different from my FindSOCI.cmake, e.g.: SOCI::core → SOCI::soci_core. But it should support shared vs. static build, e.g.: SOCI::soci_core vs. SOCI::soci_core_static.
For some reason, when I built SOCI with hunter, it seems CMAKE_DEBUG_POSTFIX is set to "d".
In this case, it's not. I've to manually add -DCMAKE_DEBUG_POSTFIX="d" to differentiate release and debug builds (which is mandatory on Visual Studio).
If everything is fine and this pull request is merged, I'd like to propose this library for hunter project, are you ok with this? Usually it requires to upload an recent .tar.gz archive of the source code, is it something you could maintain?
For the info, I use these command lines to build SOCI:
md _build;cd _build
cmake .. -G"Visual Studio 14 Win64" -DCMAKE_INSTALL_PREFIX=../_install -DSOCI_CXX_C11=TRUE -DCMAKE_DEBUG_POSTFIX="d"
cmake --build . --target install --config release --config debug

Thanks in advance,

Looks good. Thanks.
Proposing SOCI to hunter sounds good, but I don't think SOCI developers would accept any new responsibilities.
Current packaged release is SOCI 3.2.3.
Current master is heading towards SOCI 4 but without release date yet.
What I can suggest is to link directly to:
https://github.com/SOCI/soci/archive/master.zip


Convert accelerated dice coefficient wrapper code to Cython

Creates a cython wrapper for the similarity comparison C++ code and removes the cffi compiler.
I noticed that the hot loop includes three dynamically resizing arrays (similarities and two indicies arrays), not trivial but it would speed things up if that was all done in the C/C++ code.
Closes #168

/AzurePipelines run

So it looks like all the tests now pass on Windows, OSX, and Linux. The CI is failing due to sending code coverage.


If you have any wierd behaviour with RootNote data I'm sharing an excerpt from my source code here.

impl TryFrom<u8> for RootNote {
    type Error = ConversionError;

    // TODO:
    // When a pattern is sent (or maybe something else happens) the notes are between 0 and 11
    // But by default they are between 96 and 108
    // This indicates probably a flag encoding somewhere in the data.
    // I'm a bit lazy to figure out what it is, so I'm just going to do a quick hack here.
    // But if a lost flag is waiting to be discovered in this context one can start analyzing this behaviour.
    fn try_from(note: u8) -> Result<Self, Self::Error> {
        match note {
            0 | 96 => Ok(Self::C),
            1 | 97 => Ok(Self::CSharp),
            2 | 98 => Ok(Self::D),
            3 | 99 => Ok(Self::EFlat),
            4 | 100 => Ok(Self::E),
            5 | 101 => Ok(Self::F),
            6 | 102 => Ok(Self::FSharp),
            7 | 103 => Ok(Self::G),
            8 | 104 => Ok(Self::GSharp),
            9 | 105 => Ok(Self::A),
            10 | 107 => Ok(Self::BFlat),
            11 | 108 => Ok(Self::B),
            _ => Err(ConversionError::Range {
                value: note.to_string(),
                type_name: "RootNote".into(),
            }),
        }
    }
}

When do you see those 0..11 notes ? this is how it looks on my (mk1) AR (using the prt debug command in my editor):
[FUNC+PLAY] (clear pattern), then set trig on track 1 / step 1 (default note=C-3):
[dbg] handleCmdReadPatternTrig: stepIdx=0 trig=$0381 note=127(127) vel=255(127) dur=255 mic=0 rlen=46 rrat=9 rvel=0 cond=127

p-lock step 1 to note C#3:
[dbg] handleCmdReadPatternTrig: stepIdx=0 trig=$0381 note=61(61) vel=255(127) dur=255 mic=0 rlen=46 rrat=9 rvel=0 cond=127

p-lock step 1 to note C-4:
[dbg] handleCmdReadPatternTrig: stepIdx=0 trig=$0381 note=72(72) vel=255(127) dur=255 mic=0 rlen=46 rrat=9 rvel=0 cond=127

i.e. initially the note is set to 127 (with the MSB condition bit masked out) which means "use the track's default note".
p-locking the note sets it to the (MIDI?) note number, e.g. 61 = (5*12)+1 = C#3, or 72 = (6*12) = C-4
(the AR seems to use the Yamaha "Middle C" notation, i.e. middle C = C-3)
This does not look like there are any more hidden flags.
p.s.: I just merged your pull requests (sry for the delay. the ctrl_in_* fields seem to be mkII only, couldn't find them on my mk1)

on second thought: you are talking about the Euclidean generator's root note, not the trigs, right ?
sU8     root_note;                   /* @0x0284            <ali> Root Note 96..107 From C to B                                  */

speaking of which, the previously unknown 0x332C byte stores the pad scale "per pattern" flag:
sU8                pad_scale_per_pattern; /* @0x332C            1=apply to all tracks, 0=apply only to current track */

=> pattern.h

last but not least, and to solve the mystery of the unknown root_note bits:
sU8     root_note;                   /* @0x0284            <ali> bits 0..3: Root Note 0..11 (C..B) bits 4..7: octave shift (0..9, def=6) */

=> pattern.h


Unused model

In speech_prompt_encoder we define speech_prompt_encoder but it's usage is commented
So model is unused or used in different place?

There are two ways to project the speech prompt to desired channels. I am using one and commenting the other. Either can be used.

I mean that the model creation is not commented but then model is not called anywhere, in this case it just takes up space.

I see, good catch. Can be commented out if not used.


Respect VSLANG env variable

Grab language settings from VSLANG env var that VS sets to respect their language pack. Doing this the same way dotnet cli does it. https://github.com/dotnet/cli/pull/7021
Cherry-picked from #2987

We decided against this fix, since it might be a breaking change.


Did any one setup spelling checks on PR using probot

Did any one setup spelling checks on PR using probot. If anyone have setup ready, is it possible the share code. Appreciate your help

@hpatil47: I haven't done it with probot, but if you're just looking for something to do spell checking, check-spelling/spell-check-this deploys the check-spelling/check-spelling action.
I was initially looking into using probot as my framework for the action, but eventually found a way to do it using just github actions and github's own hosting.


231405332 Replace file error (Ali)

Issue reported by AH001 at 2022-05-02 07:15:32 UTC
Time: 2022-05-02T07:01:42+00:00
Session ID: aea628fe939eddb0f53e91c299513d03
Problem Page URL: /manage_resources/new?locale=en
Previous Page URL: https://www.freecen.org.uk/cms/refinery/login
Reported Issue:
On 26/4/2022 as CC I replaced  file RG10_1471 into ID FreeCEN00905.
ID FreeCEN00905 cannot now replace this file, has tried twice, receives the message:
"You are attempting to replace a file that you do not have, lkely you are a coordinator--" etc etc.

Resolved by using the Delete function on the file (available to Tech Support users only) which removes any spurious links.


jshint ^2.6.0

Just updated the jshint version

honestly jshint needs to be taken out of the code and installed when this is.


Doesn't describe how to load data using JSON

I can spot newtonsoft.json in the latest version of ML.NET 0.10 ,but I can't find a way to process JSON data in these docs.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 72764a44-6802-52cc-0fde-4e77ea023ef1
Version Independent ID: 4744f614-da6b-a15c-aebf-8a457f5549c8
Content: Load data from a text file for machine learning processing - ML.NET
Content Source: docs/machine-learning/how-to-guides/load-data-from-text-file-ml-net.md
Product: dotnet-ml
GitHub Login: @JRAlexander
Microsoft Alias: johalex

@tylergarland, I believe newtonsoft.json is used for internal processing.  @shmoradims or @sfilipi, do you have any feedback on this? You might try deserializing your JSON into a collection - like here: https://www.newtonsoft.com/json/help/html/SerializingCollections.htm#DeserializingCollections  then using ReadFromEnumerable from your deserialized collection and then prediction,etc from here:  https://github.com/dotnet/samples/blob/master/machine-learning/tutorials/SentimentAnalysis/Program.cs#L180

Closing this as I believe it's been resolved. @tylerjgarland, please reopen if this is not the case. Thanks!


Another tiny clean up

Split (with no arg) produces things that are already stripped for whitespace.

You can tell I only did this in 5 minutes... ;-)


add librdkafka and confluent-kafka to e2e

What does this PR do?

Motivation

Additional Notes

Review checklist (to be filled by reviewers)

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

superseded by https://github.com/DataDog/integrations-core/pull/14022


cmd/root: Let rpm-ostree pull from the container repo

RPM-OSTree now knows how to pull data directly from a local OSTree repo:
https://github.com/projectatomic/rpm-ostree/pull/1732
Make use of this to avoid doing pull-local ourselves. The main
advantage is that RPM-OSTree runs with the right SELinux context and
thus can safely handle pulling objects with new SELinux labels. It's
also cleaner overall to delegate all the lower-level OSTree operations
to RPM-OSTree directly.
[1] https://github.com/openshift/machine-config-operator/issues/314#issuecomment-459471127

/lgtm

Also LGTM


e2e devServerTarget doesn't seem to be working correctly

Versions
Angular CLI: 6.0.0
Node: 8.9.4
OS: darwin x64
Angular: 6.0.0
... animations, cdk, cli, common, compiler, compiler-cli, core
... elements, forms, http, language-service, material
... platform-browser, platform-browser-dynamic, router

Package                           Version
-----------------------------------------------------------
@angular-devkit/architect         0.6.0
@angular-devkit/build-angular     0.5.12
@angular-devkit/build-optimizer   0.5.12
@angular-devkit/core              0.6.0
@angular-devkit/schematics        0.6.0
@ngtools/webpack                  6.0.0-rc.10
@schematics/angular               0.6.0
@schematics/update                0.6.0
rxjs                              6.0.0
typescript                        2.7.2
webpack                           4.6.0

Repro steps

This may not be an issue, but rather a lack of understanding of how the new cli config works.

Update port option in myapp-app:serve to 8080
Set myapp-app-e2e:e2e option of devServerTarget to myapp-app:serve
Run ng e2e
Server starts up on localhost:4200 rather than specified port.

Again, maybe I am not understanding how this works, but I would think that if I set the devServerTarget e2e option then whatever configuration that server has it should pull through during the e2e task.
Observed behavior
ng e2e
** Angular Live Development Server is listening on localhost: 4200, open your browser on http://localhost:4200/ **

Desired behavior

I would expect server to startup on the specified port that is set in myapp-app:serve.
Mention any other details that might be useful (optional)
If I set the port option directly in the myapp-app-e2e:e2e options section, then it does respect that and starts up the server on that port.

Same issue here, when I tried to add the options to the e2e part of the angular.json it failed because of Schema validation. Only overriding the port there was fine though but we need some more settings to get serve to work.
Are we misunderstanding what the devServerTarget is refering to?

Same issue here. I was surprised to see that the port for e2e is different than what I specified in myapp:serve. For now overriding just port is fine, but I am confused nevertheless.

I am confused too.

 I got it working, here is an example for you guys.
 "serve": {
                    "builder": "@angular-devkit/build-angular:dev-server",
                    "options": {
                        "browserTarget": "XpertHR.Liveflo.SPA:build",
                        "hmrWarning": false,
                        "host": "myproject.com",
                        "port": 8000
                    },
                    "configurations": {
                        "hmr": {
                            "hmr": true,
                            "browserTarget": "Project:build:hmr"
                        },
                        "production": {
                            "hmr": false,
                            "browserTarget": "Projectbuild:production"
                        }
                    }
                },

Output message from Angular:
Angular Live Development Server is listening on myproject.com: 8000, open your browser on http://myproject.com:8000/ **

You've misunderstood the original issue. It's not about setting a port for serve target.

Earlier we run --serve=false with --base-url or baseUrl(protractor.conf) for remote testing, but now that don't work. Any news about this bug?

And i dont know why devServerTarget is a requirement either. --sever=false is a valid use case and now its gone

With @tongfa's comment i was able to change host and port. Remove the "devServerTarget": "project-name:serve" like he mentions and in protractor.conf.js just update the baseUrl to contain both your host and port eg: baseUrl: 'http://project-name.local:8080/'

@Smiter15  @tongfa it did not working for me. here is my configuration and I running ng e2e --configuration=e2e-ci --suite=home
            "e2e-ci": {
              "protractorConfig": "./protractor.conf.js",
              "baseUrl": "https://udc.dev.finra.org"
            }

I make it work and below is the stackoverflow link and details how it works
https://stackoverflow.com/questions/50744266/angular-cli-use-configuration-with-e2e-tests/52542761#52542761

Related: https://github.com/angular/angular-cli/issues/11089

Heya, we weren't computing host and port correctly in our Protractor setup. https://github.com/angular/angular-cli/pull/12507 should fix it. Sorry about that!


create Escola de Contas TCE RO

@raphaelheitor I have to close this request without merging, because you requested to add a non-existent domain to this repository: Host tce.ro.gov.br not found: 2(SERVFAIL) Please ensure that you are familiar with this repository rules located at the bottom of this page and submit a new request with the correct information. Thank you for understanding!


Rewrite appends original path to rewritten path.

Maybe I'm configuring something wrong, but it seems like rewrite it doing something it shouldn't.

My config
module.exports = {
	hostname: 'localhost',
	port: '4200',
	directory: './dist',
	rewrite: [
		{
			from: /\/(fi|en|sv)(?:\/(?!.*\..{2,5}$))/,
			to: '/$1/index.html',
		}
	],
};

Expected output:
{
  'middleware.rewrite.local': {
    from: '/en/product/97/card-150-x-100-mm-2-page/details',
    to: '/en/index.html'
  }
}

Actual output:
{
  'middleware.rewrite.local': {
    from: '/en/product/97/card-150-x-100-mm-2-page/details',
    to: '/en/index.htmlproduct/97/card-150-x-100-mm-2-page/details'
  }
}

I don't know why is it appending the remainder of the path even though I'm not telling it to do so and I even tried using a non-capturing group in the regex.
I was able to get it to work by adding ?file= to the rewrited file so it loads the correct file, but if you can tell me the problem with my config I can improve the docs about it.

Hi, each rewrite rule is passed to and handled directly by path-to-regexp (also used by Express) so it helps to know their syntax.
This config seems a more straight-forward way to achieve the same thing.
{
  rewrite: [
    {
      from: '/:lang/(.*)',
      to: '/:lang/index.html'
    }
  ]
}

Does that help?

Hey, I think you misunderstood the intent of my regex, which was to detect file extensions (to not redirect those). I realized that the problem was that the regex was not matching the full path so the remainder of the path was appended to the result.
I tweaked my config like this and it works as long as our urls don't include dots:
{
	from: /\/(fi|en|sv)\/[^.]+$/,
	to: '$1/index.html',
}

excellent, nice clean solution 👍


"Lists & Libraries Doesn't Appear"

I have followed these directions to the letter, but when I select "Settings", I don't have the option for "Lists & Libraries". Any thoughts as to why?
Thank you!

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 4f1bd4ab-c640-1db8-05bb-e249129dfa46
Version Independent ID: 4ceb7bc8-39c0-61fb-b31c-381cb7a5018b
Content: Change the default list and library experience
Content Source: SharePoint/SharePointOnline/change-default-list-and-library-experience.md
Service: sharepoint-online
GitHub Login: @kaarins
Microsoft Alias: kaarins

Had a site revert back to classic, came in to make sure this was still set to modern and also gone. What happen to it ?

@officedocsbot assign @scanum

@tangoprjct Thank you for reaching out.  There was a previous issue as well if you scroll to the bottom of the document.  This was supposed to be resolved on the 1st April 2019, so please have a look and let me know if you are still having this problem.

@tangoprjct  We appreciate any feedback that improves the content in the Microsoft docs but we haven't had any response from you so we are going to close this issue.
Please feel free to re-open this issue if there is a specific area of the docs that we can improve or make better. Thank you.

@officedocsbot close

I just saw this update. I still don't have the "Lists and Libraries" option.

@tangoprjct thanks for letting us know.  I'll have the team look into this and get back to you.

@tangoprjct please have a look at this link.  If you switch over to 'modern' mode it might help. https://techcommunity.microsoft.com/t5/Microsoft-SharePoint-Blog/Delivering-SharePoint-modern-experiences/ba-p/315023

@lindspea - The article you mention above mentions this:
" Disable modern experience for specific site collections. Administrators can use a PowerShell script to enable or disable the modern experience for a single site collection or for a list of site collections as provided by the SharePoint Modernization scanner.  Alternately, users can still use the “return to classic” option on modern views of lists or libraries to temporary return to classic, and list owners can use List Settings to configure that list to use the classic experience for all users. "
There is no mention of using a feature to accomplish this. Further, like the OP, I have looked Site Collection features, and in Site Features (SP 2019), and I cannot find anything that looks like it would help change the experience. Also, the contextual link to "Enable or disable site collection features" is a generic link to enable or disable a feature. It does not name the feature. This is confusing.
From what I can tell, the only way to change this is via PowerShell. If that is the case, please update the documentation.

I see this thread is intended for SP Online, but I do think you should still update the documentation to show the feature name. This link seems to be the true solution:
https://docs.microsoft.com/en-us/sharepoint/dev/transform/modernize-userinterface-lists-and-libraries-optout


Timer not showing

I have loaded the angular-timer.min.js. I have got a <timer /> and $scope.$broadcast('timer-start'); in my controller, hoping to start it, but nothing shows up...
Have I missed something?

Did you also install some of the dependencies mentioned in the requirements - https://github.com/siddii/angular-timer#requirements ?

Definitely, I have also got the moment.min.js, locales.min.js and humanize-duration.js

Could you please share your code as a plunkr or something?

It is in an ionic app actually, not sure if I can put it on there...
Do I have to inject any additional modules to get it to work actually?
Currently I basically have
.controller('MyController', ['$scope', function($scope) { $scope.$broadcast('timer-start'); }])

Yes, angular-timer.

I see, so now I changed it to
.controller('MyController', ['$scope', 'angular-timer', function($scope, angular-timer) { $scope.$broadcast('timer-start'); }])
but I get a Uncaught SyntaxError: Unexpected token function for that line with angular-timer...

Thats a wrong injection. It should be injected as a module where you inject ionic modules.

Sorry...my bad... now I removed my previous incorrect injection, and went to modify this:
angular.module('starter', ['ionic', 'starter.controllers', 'starter.services', 'angular-timer'])
But I get this
Uncaught Error: [$injector:modulerr] Failed to instantiate module starter due to: Error: [$injector:modulerr] Failed to instantiate module angular-timer due to: Error: [$injector:nomod] Module 'angular-timer' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.

Can you create a plunkr? Its hard to see without all the pieces.

My bad again... timer should be injected instead of angular-timer? I used timer instead and previous errors are all gone, although nothing is shown, still...
I only get Error: [$injector:unpr] Unknown provider: timerProvider <- timer <- MyController this time, never seen this before though...

Do you still have timer injected as a service?

Yes

Timer module don't expose any service at this point. Can you try removing it?

Did this ever get anywhere? I have a similar issue...

I am also Facing simillar issue

@saeed68gm , got it to work.
Dont include it as a dependency in any controller. Just add it on the module.
angular     .module('DemoApp', [         'ngAnimate',         'timer'     ])

Thanks for the answer @Thomasforweb .
I tried it and it didn't really work for me. My module got undefined.
Although I only added timer to public->controllers->mycontroller.js
Is this because this will create a new angular module instead of using the previous created one?

Here is the code for controller before adding timer:
`var apptyme = angular.module('mean.tyme', ['timer']);
apptyme.controller('TymeController', ['$scope', '$location', 'Global', 'Tyme', 'MeanUser',
function($scope, $location, Global, Tyme, MeanUser) {
$scope.global = Global;
$scope.package = {
name: 'tyme'
};
$scope.startTimer = function() {
  console.log('starting  timer')
  $scope.$broadcast('timer-start');
  $scope.timerRunning = true;
};

}]);`
After I add timer my page does not even load and it goes back to the original mean.io home page.
The code for public services:
'use strict'; var apptyme = angular.module('mean.tyme'); apptyme.factory('Tyme', ['$resource',   function($resource) {     // console.log('services resource:'+ $resource);     return $resource('api/tyme/:tymeId', {       tymeId: '@_id'     });   } ]);
For public routes:
'use strict'; var apptyme = angular.module('mean.tyme');   apptyme.config(['$viewPathProvider', function($viewPathProvider) {     $viewPathProvider.override('system/views/index.html', 'tyme/views/index.html');   }])   .config(['$controllerProvider', function($controllerProvider) {     $controllerProvider.allowGlobals();   }]);

@saeed68gm  Can you create plunker?

Hey @Thomasforweb  here is the link to the plunker.
This is only the public folder of my package in mean.io:
https://plnkr.co/edit/5nxxGDDJbFUsUTHyfsBZ

I tried following this tutorial:
http://storybynumbers.com/meanio-asset-management.html
I added these three lines to config/assets.js:
        "bower_components/moment/moment.js",
        "bower_components/humanize-duration/humanize-duration.js",
        "bower_components/angular-timer/dist/angular-timer.min.js",

And this line to tyme/app.js:
  Tyme.angularDependencies(['timer']);
Now when I try to inject the dependency in my package's public controller:
var apptyme = angular.module('mean.tyme');
apptyme.controller('TymeController', ['$scope', '$location', 'Global', 'Tyme', 'MeanUser', 'timer',
  function($scope, $location, Global, Tyme, MeanUser, timer) {

I get the following error:
Error: $injector:unpr
Unknown Provider
Unknown provider: timerProvider <- timer <- TymeController

I figured it out, the correct way to use it is just to have the AngularDependencies in app.js file and not to  inject the module in the controller at all.

please was this issue ever fixed?

Same issue also occurred for me. is there any possible solution. I have a condition, based on one condition timer start working, but on another condition timer is not working.


Feature/add batch services account

Created #191 in place of this one because that one implements the enablement external PRs for this module.


resolved

@brr53
A synset.txt is text file contains class names for image classification/object detection. Each line represent a class name.
The number classes is purely depends the number of classes in your dataset that you trained on.
For example:

ImageNet dataset contains 1000 classes, you can ImageNet synset file here
CIFAR10 dataset contain 10 classes, you can find the synset file here
coco dataset contain 80 object categories, you can find the synset file here
PASCAL VOC dataset contains 20 object categories, you can find the synset file here

Yolo model usually is trained on COCO or VOC dataset.


Misalignment of block text in tA when Section is off.

v1.0.4-rc.2

go to a tA article(eg. translate/bita-humanbehavior/01.md)
toggle the section button to remove the section
scroll down the page and note that the blocks are misaligned as in the screenshot.

This can also be replicated when Blocks button is toggled with the Section kept as OFF.

@ancientTexts-net do we retest this? Thought the misalignment issue was fixed. Can you confirm?

@elsylambert Can you re-test?

moving to watchlist as Section button might get fixed with rc.7. will retest after that.

Not seeing the issue in translationCore Create - v1.0.5-rc.7.

v1.0.5-rc.10
@elsylambert - This doesn't seem right, but I'm not sure if this is different than what you were seeing.


How to use custom json response

Hello @OndrejKunc , i hope you are doing well :) As the contributor this project, I'm here again with a new project :) There has been a lot of change since the last time, can we create a form with a custom json response now?
For example i have below example response from server. Each field means form element, and i will generate form according to DataType ( string, date, etc) . Can you give me some example ? according to below response . ( By the way we can't change json response)
{
"Id": 54,
"Name": "A Testi",
"NamingPattern": "",
"Fields": [
{
"Id": 202,
"Name": "Malzeme Kodu",
"DataType": "string",
"Description": "",
"Regex": "",
"DefaultValue": "",
"Required": false,
"MultiValued": false,
"Unique": false,
"Order": 0,
"LookupId": 0
},
{
"Id": 204,
"Name": "Cari Listesi",
"DataType": "lookup",
"Description": "",
"Regex": "",
"DefaultValue": "",
"Required": false,
"MultiValued": false,
"Unique": false,
"Order": 0,
"LookupId": 6
},
{
"Id": 205,
"Name": "Cast",
"DataType": "string",
"Description": "",
"Regex": "",
"DefaultValue": "",
"Required": false,
"MultiValued": false,
"Unique": false,
"Order": 0,
"LookupId": 0
},
{
"Id": 206,
"Name": "Kullanıldığı Mamul Kodu",
"DataType": "string",
"Description": "",
"Regex": "",
"DefaultValue": "",
"Required": false,
"MultiValued": false,
"Unique": false,
"Order": 0,
"LookupId": 0
}
]
}

Hi @kalismeras61,
Hope you are also doing well. I think fundamentals are still the same, there is now the null safety feature and there are couple of new widgets which should make it easier to set up this project, but they are built on top of existing infrastructure.
I think the situation where you have JSON which can't be changed and should be mapped to some components is not a typical use case for this project. Usually, you define components first, (preferably using YAML) format and use predefined deserialization from JSON or XML.
However, it is possible to write your custom deserialization logic. The whole JSON deserialization is defined in just those 2 classes:
https://github.com/OndrejKunc/flutter_dynamic_forms/tree/master/packages/dynamic_forms/lib/src/parser/json
So you can write your own version of ParserNode and ParserService and then this ParserService can be passed to ParsedFormProvider as shown in the main Readme.md.
But looking at your JSON I am missing one important thing - name of the component. In order to map part of the JSON into a specific component, there needs to be some information for the parser so it knows which component to create. Currently, class JsonParserNode contains the getName method which maps to JSON property with the key "@name". But your JSON seems like you have one parent component with list of children, which doesn't look very dynamic to me.
So maybe you don't need this deserialization mechanism at all, you can just simply deserialize it yourself and create your components directly in your own CustomFormManager:
class CustomFormManager extends FormManager {
  void init({
    required Map<String, dynamic> json,
    List<FunctionExpressionFactory> expressionFactories = const [],
  }) {
    var formBuilder = FormBuilder(
      JsonFormParserService([]), // this is not used, since you don't parse the from in a standard way
      expressionFactories: expressionFactories,
    );

    // Here is your deserialization logic
   // ....
   // CheckBox example to showcase how to create component by hand
    var checkBox = CheckBox();
    checkBox.labelProperty = ImmutableProperty<String>(json['label']);
    checkBox.valueProperty = MutableProperty<bool>(json['value']);

    // assuming rootComponent is the root formElement of your form
    var formData = formBuilder.buildFromForm(rootComponent);
    fillFromFormData(formData);
  }
}

And then use FormProvider instead of ParsedFormProvider in your widget tree (as shown in the Readme.md).
I know it isn't exactly a straightforward solution, but I hope it will help.


[server] Avoid creating separate consumer services for broker alias addresses

[server] Avoid creating separate consumer services for broker alias addresses
In the current setup, we may inadvertently create a separate KafkaConsumerService for each alias address.
This change prevents such unnecessary duplication.
How was this PR tested?

CI
Does this PR introduce any user-facing changes?

[X] No. You can skip the rest of this section.
[ ] Yes. Make sure to explain your proposed changes and call out the behavior change.

Thanks a lot, @huangminchn for the review!


pdal: 2.4.0 -> 2.4.3

Description of changes
Update PDAL to the latest version.
List of changes:

https://github.com/PDAL/PDAL/releases/tag/2.4.1
https://github.com/PDAL/PDAL/releases/tag/2.4.2
https://github.com/PDAL/PDAL/releases/tag/2.4.3

Change in build dependencies:

libtiff is now needed as buildInput

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

PR manually tested tested:

nix-build

nix-build -A pdal
/nix/store/psfjm6xzzb2b968vl3hwa379xxv3z04z-pdal-2.4.3

running built binary

./result/bin/pdal random --count 1000 --output output.txt

./result/bin/pdal info --boundary output.txt

{
  "boundary":
  {
    "area":<PHONE_NUMBER>,
    "avg_pt_per_sq_unit": 0.479755396,
    "avg_pt_spacing": 0.3650553215,
    "boundary": "POLYGON ((5.1676301 -7.1315494,7.4324451 4.6367747,0.638 8.5595494,-8.4212602 0.714,5.1676301 -7.1315494))",
    "boundary_json": { "type": "Polygon", "coordinates": [ [ [ 5.16763008, -7.13154944 ], [ 7.43244512, 4.63677472 ], [ 0.638, 8.55954944 ], [ -8.421260159999999, 0.714 ], [ 5.16763008, -7.13154944 ] ] ] },
    "density": 7.503823887,
    "edge_length": 0,
    "estimated_edge": 7.845549438,
    "hex_offsets": "MULTIPOINT (0 0, -2.26482 3.92277, 0 7.84555, 4.52963 7.84555, 6.79445 3.92277, 4.52963 0)",
    "sample_size": 5000,
    "threshold": 15
  },
  "file_size": 25915,
  "filename": "output.txt",
  "now": "2022-12-12T11:33:16+0100",
  "pdal_version": "2.4.3 (git-version: Release)",
  "reader": "readers.text"
}

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

1 package failed to build:

cloudcompare

3 packages built:

entwine
grass
pdal

cloudcompare build error message:
/nix/store/x78aj8dsf81fhdllm3m1f0b1wz6is2ny-cgal-5.5.1/include/CGAL/Constrained_triangulation_2.h:50:24: note: declared here
   50 | struct CGAL_DEPRECATED No_intersection_tag :
      |                        ^~~~~~~~~~~~~~~~~~~
make[2]: *** [libs/qCC_db/extern/CCCoreLib/CMakeFiles/CCCoreLib.dir/build.make:146: libs/qCC_db/extern/CCCoreLib/CMakeFiles/CCCoreLib.dir/src/Delaunay2dMesh.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
[ 25%] Linking CXX static library libE57Format.a
[ 25%] Built target E57Format
make[1]: *** [CMakeFiles/Makefile2:3370: libs/qCC_db/extern/CCCoreLib/CMakeFiles/CCCoreLib.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 25%] Linking CXX static library libQCustomPlot.a
[ 25%] Built target QCustomPlot
[ 25%] Linking CXX static library libQPOISSON_RECON_LIB.a
[ 25%] Built target QPOISSON_RECON_LIB
make: *** [Makefile:136: all] Error 2

cloudcompare build error message without this PDAL PR:
make[2]: *** Waiting for unfinished jobs....
[ 24%] Building CXX object plugins/core/IO/qE57IO/extern/libE57Format/CMakeFiles/E57Format.dir/src/E57Exception.cpp.o
[ 24%] Building CXX object plugins/core/IO/qE57IO/extern/libE57Format/CMakeFiles/E57Format.dir/src/E57Format.cpp.o
[ 24%] Building CXX object plugins/core/IO/qE57IO/extern/libE57Format/CMakeFiles/E57Format.dir/src/E57SimpleData.cpp.o
[ 24%] Building CXX object plugins/core/IO/qE57IO/extern/libE57Format/CMakeFiles/E57Format.dir/src/E57SimpleReader.cpp.o
[ 24%] Building CXX object plugins/core/IO/qE57IO/extern/libE57Format/CMakeFiles/E57Format.dir/src/E57SimpleWriter.cpp.o
[ 25%] Building CXX object plugins/core/IO/qE57IO/extern/libE57Format/CMakeFiles/E57Format.dir/src/E57XmlParser.cpp.o
make[1]: *** [CMakeFiles/Makefile2:3370: libs/qCC_db/extern/CCCoreLib/CMakeFiles/CCCoreLib.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 25%] Linking CXX static library libQRANSAC_SD_PRIM_SHAPES_LIB.a
[ 25%] Built target QRANSAC_SD_PRIM_SHAPES_LIB
[ 25%] Linking CXX static library libE57Format.a
[ 25%] Built target E57Format
[ 25%] Linking CXX static library libQCustomPlot.a
[ 25%] Built target QCustomPlot
[ 25%] Linking CXX static library libQPOISSON_RECON_LIB.a
[ 25%] Built target QPOISSON_RECON_LIB
make: *** [Makefile:136: all] Error 2

Looks like this PR is not cause of cloudcompare breakage.

Thanks everybody.

Why the backport?

@risicle , I requested backport because 2.4.3 is bug fix release and it fits under "Criteria for Backporting changes" as "Patch updates" type of update.
But please correct me if I don't understand things correctly. Thank you.

The "bugfixes" criteria are pretty broad - these releases do also add features and a dependency on libtiff that could be an unexpected surprise to users of the stable channel.

An example of a nasty surprise in a "bugfix" release is the big memory leak issue introduced in 2.4.1 (and then fixed in 2.4.3).

Thank you @risicle for explanation, I understand this. Added dep on libtiff doesn't sound great, but on the other hand keeping old version while knowing there are bugs already fixed in new "bug fix" release doesn't look great either. I still lean in to taking small risk and always upgrading to the latest "bug fix" releases.

But in reality they never do just fix bugs and there's a often a fine line between features and bugfixes.

But in reality they never do just fix bugs and there's a often a fine line between features and bugfixes.

Do you mean this happens for PDAL or in general ?

In general.


function createInvoiceLink not exist

I don't use function createInvoiceLink in TelegramBot  => My code: const TelegramBot = require("node-telegram-bot-api");

Your example @tieudat  is not a full example...  Only import the api, but you need to use it.
This is basic example:
// Import the library
const TelegramBot = require('node-telegram-bot-api');

// Replace the value below with the Telegram token you receive from @BotFather
const token = 'YOUR_TELEGRAM_BOT_TOKEN';

// Create bot that uses 'polling' to fetch new updates
const bot = new TelegramBot(token);

// Now call the function
const title = 'Invoice link product';
const description = 'Our test invoice link product';
const payload = 'sku-p002';
const providerToken = XXXXX.....; // Token of your payment provider get it form botfather bot config
const currency = 'EUR';
const prices = [{ label: 'NTBA API', amount: 12000 }, { label: 'tax', amount: 10000 }];

bot.createInvoiceLink(title, description, payload, providerToken, currency, prices).then(resp => {
       console.log("Invoice Link", resp)
 });

If you're using TypeScript with @types/node-telegram-bot-api, it appears that the createInvoiceLink method was inadvertently omitted.
The workaround involves extending the TypeScript definitions to include the missing createInvoiceLink function. This can be achieved by creating a declaration file (e.g., telegram-bot-extension.d.ts) in your project. Here's how you can do it:

Create a file named telegram-bot-extension.d.ts in your project.
Copy and paste the following code into this file:

import type TelegramBotRoot from 'node-telegram-bot-api'

declare module 'node-telegram-bot-api' {
  interface LabeledPrice {
    label: string
    amount: number // Amount in the smallest units of the currency
  }

  export default class TelegramBot extends TelegramBotRoot {
    /**
     * Creates a link for an invoice.
     * @param {string} title - Product name, 1-32 characters.
     * @param {string} description - Product description, 1-255 characters.
     * @param {string} payload - Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use for your internal processes.
     * @param {string} provider_token - Payment provider token, obtained via @BotFather. Pass an empty string for payments in Telegram Stars. Optional.
     * @param {string} currency - Three-letter ISO 4217 currency code. Pass “XTR” for payments in Telegram Stars.
     * @param {LabeledPrice[]} prices - Price breakdown, a JSON-serialized list of components. Must contain exactly one item for payments in Telegram Stars.
     * @param {number} [max_tip_amount] - The maximum accepted amount for tips in the smallest units of the currency. Defaults to 0. Optional. Not supported for payments in Telegram Stars.
     * @param {number[]} [suggested_tip_amounts] - A JSON-serialized array of suggested amounts of tips in the smallest units of the currency. At most 4 suggested tip amounts can be specified. Optional.
     * @param {string} [provider_data] - JSON-serialized data about the invoice, which will be shared with the payment provider. Optional.
     * @param {string} [photo_url] - URL of the product photo for the invoice. Optional.
     * @param {number} [photo_size] - Photo size in bytes. Optional.
     * @param {number} [photo_width] - Photo width. Optional.
     * @param {number} [photo_height] - Photo height. Optional.
     * @param {boolean} [need_name] - Pass True if you require the user's full name to complete the order. Ignored for payments in Telegram Stars. Optional.
     * @param {boolean} [need_phone_number] - Pass True if you require the user's phone number to complete the order. Ignored for payments in Telegram Stars. Optional.
     * @param {boolean} [need_email] - Pass True if you require the user's email address to complete the order. Ignored for payments in Telegram Stars. Optional.
     * @param {boolean} [need_shipping_address] - Pass True if you require the user's shipping address to complete the order. Ignored for payments in Telegram Stars. Optional.
     * @param {boolean} [send_phone_number_to_provider] - Pass True if the user's phone number should be sent to the provider. Ignored for payments in Telegram Stars. Optional.
     * @param {boolean} [send_email_to_provider] - Pass True if the user's email address should be sent to the provider. Ignored for payments in Telegram Stars. Optional.
     * @param {boolean} [is_flexible] - Pass True if the final price depends on the shipping method. Ignored for payments in Telegram Stars. Optional.
     * @returns {string} The created invoice link.
     */
    createInvoiceLink: (
      title: string,
      description: string,
      payload: string,
      provider_token: string,
      currency: string,
      prices: LabeledPrice[],
      max_tip_amount?: number,
      suggested_tip_amounts?: number[],
      provider_data?: string,
      photo_url?: string,
      photo_size?: number,
      photo_width?: number,
      photo_height?: number,
      need_name?: boolean,
      need_phone_number?: boolean,
      need_email?: boolean,
      need_shipping_address?: boolean,
      send_phone_number_to_provider?: boolean,
      send_email_to_provider?: boolean,
      is_flexible?: boolean
    ) => string // Replace `any` with the actual return type of the method
  }
}

Ensure your project is set up to include .d.ts files. You might need to adjust your tsconfig.json if it's not already set up to do so.
This extension will allow you to use the createInvoiceLink function with TypeScript, providing type safety and IntelliSense support in your IDE.

Workaround
  public async generateInvoiceLink(userId: number): Promise<string> {
    const data = {
      title: 'Meercat Coin',
      description: 'Virtual Purchase',
      payload: `User_${userId}`,
      currency: 'XTR',
      prices: JSON.stringify([{amount: 5, label: '5 Virtual Items'}]),
    };
    const params = new URLSearchParams(data).toString();

    const response = await fetch(
      `https://api.telegram.org/bot${this.parameters.botToken}/createInvoiceLink?${params}`
    );
    const json = await response.json();

    return json.result;
  }


chore: group dependabot PRs

Codecov Report

Merging #352 (dda65f7) into master (3cdd61d) will increase coverage by 1.09%.
Report is 57 commits behind head on master.
The diff coverage is 57.14%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files

@@            Coverage Diff             @@
##           master     #352      +/-   ##
==========================================
+ Coverage   58.94%   60.03%   +1.09%
==========================================
  Files           7        7
  Lines        1023     1061      +38
==========================================
+ Hits          603      637      +34
- Misses        353      354       +1
- Partials       67       70       +3

Files
Coverage Δ

encoding/protobq/schema.go
78.94% <57.14%> (-5.27%)
:arrow_down:

... and 1 file with indirect coverage changes


Error training bot with docker-compose

Describe the bug
I'm not able to reproduce the bot from the rasa tutorial using the UI.
When I try to train the bot I got the following error message:
{"data":{
    "error":{
        "version":"1.4.0a1",
        "status":"failure",
        "message":"An unexpected error occurred during training. Error: stat: path should be string, bytes, os.PathLike or integer, not NoneType",
        "reason":"TrainingError",
        "details":{},
        "help":null,
        "code":500
        }
},
"status":500,
"config":{
   "method":"POST",
   "transformRequest":[null],
   "transformResponse":[null],
   "jsonpCallbackParam":"callback",
   "url":"/api/v2/rasa/model/train?bot_name=test&bot_id=2&comment=",
   "data":"{\"nlu\":\"## intent:mood_unhappy\\n- so sad\\n- extremely sad\\n- not very good\\n- terrible\\n- awful\\n- very bad\\n- bad\\n- unhappy\\n- very sad\\n- sad\\n## intent:mood_great\\n- I'm good\\n- I am great\\n- I am feeling very good\\n- wonderful\\n- amazing\\n- great\\n- very good\\n- perfect\\n## intent:deny\\n- not really\\n- no way\\n- don't like that\\n- I don't think so\\n- never\\n- no\\n## intent:affirm\\n- correct\\n- that sounds good\\n- of course\\n- indeed\\n- yes\\n## intent:goodbye\\n- see you later\\n- see you around\\n- goodbye\\n- bye\\n## intent:greet\\n- hey there\\n- good evening\\n- good morning\\n- hi\\n- hello\\n- hey\\n\\n\",\"domain\":\"intents:\\n- mood_unhappy\\n- mood_great\\n- deny\\n- affirm\\n- goodbye\\n- greet\\n\\ntemplates:\\n utter_goodbye:\\n - text: \\\"Bye\\\"\\n utter_happy:\\n - text: \\\"Great carry on!\\\"\\n utter_did_that_help:\\n - text: \\\"Did that help you?\\\"\\n utter_cheer_up:\\n - text: \\\"Here is something to cheer you up:\\\"\\n utter_greet:\\n - text: \\\"Hey! How are you?\\\"\\n\\nactions:\\n- utter_goodbye\\n- utter_happy\\n- utter_did_that_help\\n- utter_cheer_up\\n- utter_greet\",\"stories\":\"## say goodbye\\n* goodbye\\n - utter_goodbye## sad path 2\\n* greet\\n - utter_greet\\n* mood_unhappy\\n - utter_cheer_up\\n - utter_did_that_help\\n* deny\\n - utter_goodbye## sad path 1\\n* greet\\n - utter_greet\\n* mood_unhappy\\n - utter_cheer_up\\n - utter_did_that_help\\n* affirm\\n - utter_happy## happy path\\n* greet\\n - utter_greet\\n* mood_great\\n - utter_happy\",\"config\":\"# Configuration for Rasa NLU.\\n# https://rasa.com/docs/rasa/nlu/components/\\nlanguage: en\\npipeline: supervised_embeddings\\n\\n# Configuration for Rasa Core.\\n# https://rasa.com/docs/rasa/core/policies/\\npolicies:\\n - name: MemoizationPolicy\\n - name: KerasPolicy\\n - name: MappingPolicy\",\"out\":null,\"force\":\"false\"}",
   "headers":{
        "Accept":"application/json, text/plain, */*",
        "Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwibmFtZSI6IlBvcnRhbCBBZG1pbmlzdHJhdG9yIiwiaWF0IjoxNTY4NTEyMjA5fQ.nguQCl1Mh09tXNGOAu2XUFKZF_67ovSxYd1-dLMd73M",
        "Content-Type":"application/json;charset=utf-8"
    }
},
"statusText":"Internal Server Error",
"xhrStatus":"complete"}

In the server the logs were:
rasa_ui    | 2019-09-15 02:18:42.273|rasa-ui|info|Rasa NLU Train Request -> http://rasa:5005/model/train;
rasa       | 2019-09-15 02:18:42 DEBUG    rasa.nlu.training_data.loading  - Training data format of '/tmp/tmpc6sn7r1h/nlu.md' is 'md'.
rasa       | 2019-09-15 02:18:42 DEBUG    rasa.nlu.training_data.loading  - Training data format of '/tmp/tmpc6sn7r1h/nlu.md' is 'md'.
rasa       | 2019-09-15 02:18:42 DEBUG    rasa.server  - Traceback (most recent call last):
rasa       |   File "/usr/local/lib/python3.6/site-packages/rasa/server.py", line 674, in train
rasa       |     force_training=rjs.get("force", False),
rasa       |   File "/usr/local/lib/python3.6/asyncio/coroutines.py", line 110, in __next__
rasa       |     return self.gen.send(None)
rasa       |   File "/usr/local/lib/python3.6/site-packages/rasa/train.py", line 89, in train_async
rasa       |     kwargs,
rasa       |   File "/usr/local/lib/python3.6/asyncio/coroutines.py", line 110, in __next__
rasa       |     return self.gen.send(None)
rasa       |   File "/usr/local/lib/python3.6/site-packages/rasa/train.py", line 161, in _train_async_internal
rasa       |     old_model = model.get_latest_model(output_path)
rasa       |   File "/usr/local/lib/python3.6/site-packages/rasa/model.py", line 83, in get_latest_model
rasa       |     if not os.path.exists(model_path) or os.path.isfile(model_path):
rasa       |   File "/usr/local/lib/python3.6/genericpath.py", line 19, in exists
rasa       |     os.stat(path)
rasa       | TypeError: stat: path should be string, bytes, os.PathLike or integer, not NoneType
rasa       |
rasa_ui    | 2019-09-15 02:18:42.407|rasa-ui|error|Error occured while training. Rasa Server Response Code : 500;

To Reproduce
It all started with
git clone https://github.com/paschmann/rasa-ui.git bug
sudo docker-compose -f bug/docker-compose.yml up

Then, with the aplication up and running, I have filled all the fields in the UI so that I would end up with the same bot as in the tutorial.
The Raw Traning Data is like this
{"nlu":"## intent:mood_unhappy\n- so sad\n- extremely sad\n- not very good\n- terrible\n- awful\n- very bad\n- bad\n- unhappy\n- very sad\n- sad\n## intent:mood_great\n- I'm good\n- I am great\n- I am feeling very good\n- wonderful\n- amazing\n- great\n- very good\n- perfect\n## intent:deny\n- not really\n- no way\n- don't like that\n- I don't think so\n- never\n- no\n## intent:affirm\n- correct\n- that sounds good\n- of course\n- indeed\n- yes\n## intent:goodbye\n- see you later\n- see you around\n- goodbye\n- bye\n## intent:greet\n- hey there\n- good evening\n- good morning\n- hi\n- hello\n- hey\n\n","domain":"intents:\n- mood_unhappy\n- mood_great\n- deny\n- affirm\n- goodbye\n- greet\n\ntemplates:\n  utter_goodbye:\n    - text: \"Bye\"\n  utter_happy:\n    - text: \"Great carry on!\"\n  utter_did_that_help:\n    - text: \"Did that help you?\"\n  utter_cheer_up:\n    - text: \"Here is something to cheer you up:\"\n  utter_greet:\n    - text: \"Hey! How are you?\"\n\nactions:\n- utter_goodbye\n- utter_happy\n- utter_did_that_help\n- utter_cheer_up\n- utter_greet","stories":"## say goodbye\n* goodbye\n  - utter_goodbye## sad path 2\n* greet\n  - utter_greet\n* mood_unhappy\n  - utter_cheer_up\n  - utter_did_that_help\n* deny\n  - utter_goodbye## sad path 1\n* greet\n  - utter_greet\n* mood_unhappy\n  - utter_cheer_up\n  - utter_did_that_help\n* affirm\n  - utter_happy## happy path\n* greet\n  - utter_greet\n* mood_great\n  - utter_happy","config":"# Configuration for Rasa NLU.\n# https://rasa.com/docs/rasa/nlu/components/\nlanguage: en\npipeline: supervised_embeddings\n\n# Configuration for Rasa Core.\n# https://rasa.com/docs/rasa/core/policies/\npolicies:\n  - name: MemoizationPolicy\n  - name: KerasPolicy\n  - name: MappingPolicy","out":null,"force":"false"}

Then I clicked "Start Training" in the "Training" tab and the error happened.
Expected behavior
The expected behavior is to be able to train the bot.
Installation Type:

Docker Compose

@tomasbarcellos - It could be the null value in the server output folder of the training data - "out":null
When you setup your bot in Rasa UI, you need specify the server output folder the model should be saved to. After the fact, you can do this under the options when you edit the bot.
Please let me know if this solves the problem, if so, I will update the code base and make this a required field.

🎉  It worked! 🎉
Thanks so much.

@tomasbarcellos - on a side note - if there are any improvements you can suggest around documentation/installation or usage of Rasa UI - please feel free to suggest them! Thanks! Paul

I guess everything is fine with the exists docs, you're doing a fine job. We may need more, though.
I'll suggest new improvements in other issues / pull requests.


docs: update docker-compose.md

First pass of writer edits.

@jenworthington for each new branch please checkout to main and only after that create a new branch. This way every PR will have main state as base

@jenworthington ready for the final pass

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


Cancel and Ok button colors regarding selected theme

I'm using an app with  white theme for Material App:
primaryColor: Colors.white,
              colorScheme: ColorScheme.light(
                primary: Colors.white,
                onPrimary: Color.fromRGBO(0, 152, 187, 1),
                secondary: Color.fromRGBO(0, 152, 187, 1),
              ),

I try to use the ColorPicker showPickerDialog.
Dialog is correctly displayed but cancel and OK buttons are displayed with white color and are not visible.
I think it is due to my primary: Colors.white configuration.
How to customize / theme the ColorPicker to display Cancel and OK button in a customized color ?

Hi @fvisticot, thanks for your question.
The buttons follow the surrounding "ambient" theme of your Flutter application as they should.
 This is what you are seeing indeed, and even totally expected behavior with the theme you defined.
This is probably not the theme you want for you application, since you will be forced to manually give colors to all built-in widgets you use, instead of setting them once via the theme as you want them to look for your application.
I am perhaps a bit of expert on how theming works in Flutter. I for example also wrote FlexColorScheme a package to help Flutter devs theme their app, read/see more about in this tweet thread
What kind of theme do you want/need for your app?
If you explain how you want the colors to behave in your application, I can perhaps advise how you should approach that matter, so you can avoid making everything white.
In this case, what is it that you are trying to make white in light theme mode?
The AppBar? If AppBar then set the AppBarTheme sub theme, in ThemeData for your app, where you set its background color to white and foreground to e.g. black and you get clean AppBar, while at it, make its elevation 0 in its theme, or 0.5 for a slight underline effect.
Or perhaps it is something else you are trying to make white? AppBar is a common thing to want white though, popular in many clean light theme designs.
Making primary in ThemeData property colorScheme and primaryColor in ThemeData, white is not recommended and not a good idea for a light theme in Flutter. You will run into a lot of issues. Basically most standard Flutter SDK UI widgets will then be white and mostly invisible. Except text since it has color via other values in ThemeData. Primary color is intended to have a color that contrasts with the background, which is white in light theme mode, so making it white, is obviously not something you should do, unless you want "invisible" widgets, like buttons that depend on primary color. 😃
So back to your question. For the ColorPicker buttons, if you used the bottom buttons, these:
)
They can use use the Text, Outlined or Raised button style, and both buttons' style can be set independently.
https://pub.dev/packages/flex_color_picker#dialog-action-buttons
https://pub.dev/documentation/flex_color_picker/latest/flex_color_picker/ColorPickerActionButtons-class.html
Theme wise they do use the surrounding theme, and yes, if you make primary color in colorScheme white, they will be white. Like pretty much every other standard widget in your app that use primary color.
If you insist that you for some reason must have primary as white, you can always surround the widget with a Theme of its own to give it color, make it black for example:
Theme(
  data: Theme.of(context).copyWith(colorScheme: ColorScheme.light(primary: Colors.black)),
  child: ColorPicker(...)
  ),
);

Alternatively you can use the top toolbar buttons instead of the bottom ones, they should turn up with dark on white since I think they are using icons theme and onSurface color in this case:

So that might work even with your everything white theme 👍🏻 😃
Hope any of this helps,
BR Mike

Whaouuuuu!! tx a lot for this great post with lots of advices !!
All is fixed an working like a charm :)

Glad it helped @fvisticot ! 👍🏻  Closing the issue! 😃


Various spec fixes

This PR fixes various errors or ambiguities in the spec. My original goal was to write what I think is the best layering (the first two commits), but while doing so I wound some problems with the current spec text. I will open a separate PR with the first commits.

Thanks for working these through!


Custom location feature

Title say it all tho.
Would be nice that users can move indicator to where they want

Added in the latest version (v1.0.3)

Thanks for the update :)


I can´t see my old projects that was stored using the old advanced rest client.

Hi,
Thank you for issue report.
Can you please try to debug the app and see in Chrome Dev Tools is there are data in your database?
Since there was no change in a database structure it should still be there. I'm looking for any error message.
Thanks

This is what is see from the the log. Hope it helps you.
Regards Torbjörn
[image: Infogad bild 1]
2016-04-28 13:57 GMT+02:00 Paweł Psztyć<EMAIL_ADDRESS>
Hi,
Thank you for issue report.
Can you please try to debug
https://github.com/jarrodek/ChromeRestClient/wiki/debugging the app and
see in Chrome Dev Tools is there are data in your database?
Since there was no change in a database structure it should still be
there. I'm looking for any error message.
Thanks
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/jarrodek/ChromeRestClient/issues/641#issuecomment-215401514

Hi,
Thank you for your effort. However GitHub is not processing images and I can't see the image. Can you paste the text instead or paste image in GitHub's editor?
Thanks

Please, see the issue #391. I'm closing this as a duplicate.


Images2coco.py for customised data

Describe the feature
Hello,
I found the documentation for converting images to coco format is not very helpful (refering to the documentation screenshot below).

The ${CLASSES}  part does not specify the file type and it creates trouble for me.
I passed in a text file "path/to/classes.txt" which has one line of all classes. But it doesn't seem to work correctly (though in the end, I solved the problem by hard coding the classes I need into the Images2coco.py file)
Please update the documentation. Thank you.

Thanks for your suggestion! We will update the document soon. Also, it would be really appreciated if you would like to create a PR to fix this.


About our vizualisations: Add section headers in right-hand sidebar

Page URL:
https://mabarber92.github.io/data/viz
This page is missing the right-hand sidebar with the table of contents of the page

Thanks so much for all these detailed issues. Coming back to this one now, because I remember the technical reason for why the TOC isn't there.
The issue is as follows:
I have used an 'archive' type layout for the page (so we can have constantly updating blogs at the bottom of the page, ones that are tagged 'viz'). The trade off for this is that the theme will not allow you to use a sidebar TOC with this layout chosen (at least so far as I have seen).
Do you think it's better to leave the blogs off and have the TOC, or keep it as is?

Hi Mathew, I think it's probably better to have the sidebar TOC; we could include "blogs about visualization" (or something similar) as an entry in the left-hand sidebar, and link to that at the bottom of the "About our Vizualisations" section?

 Content updates

Thank you! See updates here: https://mabarber92.github.io/data/viz
Let me know if this is all ok.


[flowbroker] Error running cron and cron-batch nodes

I'm submitting a ...

[x] bug report
[ ] feature request
[ ] support request

Do you want to request a feature or report a bug?
bug

What is the current behavior?
Error running cron (event request and http request) and cron-batch nodes

If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem

Steps to reproduce the problem:

Create flows with cron and cron-batch nodes
Execute the flows

flowbroker_1                  | <16:48:41 14/10/2021> -- |template -- DEBUG: ... template node was successfully executed.
flowbroker_1                  | <16:48:41 14/10/2021> -- DEBUG: [executor] hop (template) result: [{"payload":{"metadata":{"tenant":"admin","timestamp":1634230121119},"event":"publish","data":{"attrs":{"bool":true,"protocol":"mqtt","serial":"indefinido"},"id":"dae72b"}},"reqJOB":[{"time":"*/2 * * * *","timezone":"America/Sao_Paulo","name":"Keep alive","description":"This job sends a keep alive notification to a device every 2 minutes","http":{"method":"PUT","headers":{"Authorization":"Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJlVTFyNjM2bVpNdDF4VFJzeDdNVDNHQld1MFVpRWRkayIsImlhdCI6MTYzNDIzMDA3MCwiZXhwIjoxNjM0MjMwNDkwLCJwcm9maWxlIjoiYWRtaW4iLCJncm91cHMiOlsxXSwidXNlcmlkIjoxLCJqdGkiOiIwOTAzNGQyYjcxMTFiYzRkY2E3NDU1ZWNhOGM2YzBkMSIsInNlcnZpY2UiOiJhZG1pbiIsInVzZXJuYW1lIjoiYWRtaW4ifQ.vsTg-EgterCQ-U3NL5mTagmBDeCt7VcZJRnud4OPL3o","Content-Type":"application/json"},"url":"http://device-manager:5000/device/dae72b/actuate","body":{"attrs":{"mensagem":"tô vivo"}}}}]}]
flowbroker_1                  | <16:48:41 14/10/2021> -- DEBUG: [executor] will handle node Ae606f5d2fbbfd8:cron-batch
flowbroker_1                  | <16:48:41 14/10/2021> -- |cron-batch -- DEBUG: Executing cron-batch node...
flowbroker_1                  | <16:48:41 14/10/2021> -- ERROR: Unhandled Rejection at: TypeError: Converting circular structure to JSON
flowbroker_1                  |     at JSON.stringify (<anonymous>)
flowbroker_1                  |     at axios.then.catch.error (/opt/flowbroker/orchestrator/src/nodes/cron-batch/cron-batch.js:87:65)
flowbroker_1                  |     at <anonymous>
flowbroker_1                  |     at process._tickCallback (internal/process/next_tick.js:189:7). Bailing out!!

What is the expected behavior?

What is the motivation / use case for changing the behavior?

Please tell us about your environment:

Version: 0.7.1-rc.1
Environment: docker-compose
Operating system: Ubuntu 18.04

Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, gitter, etc)

Steps to reproduce the problem:

import the database:
DojotData-2294.json.txt

publish data:
mosquitto_pub -h localhost -p 1883 -t admin:e74d07/attrs -u admin:e74d07  -m '{"bool":true}'

The problem is probably with the cron service, because error 500 also happens when using a script to create a cron job
./create-or-update-http-job.sh -d localhost:8000 -u admin -p admin
Getting jwt token ...
... Got jwt token eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJFZXlwRnV0ZjVJd0Rsb1lvMWQ5dWZFcXd0ZmpONXNodSIsImlhdCI6MTYzNTk2OTE3MCwiZXhwIjoxNjM1OTY5NTkwLCJwcm9maWxlIjoiYWRtaW4iLCJncm91cHMiOlsxXSwidXNlcmlkIjoxLCJqdGkiOiJlZDdmNWVhOWM0NzViN2ZhNGJkNDM4MjM5MjdhMTk2MyIsInNlcnZpY2UiOiJhZG1pbiIsInVzZXJuYW1lIjoiYWRtaW4ifQ.WC0wSWzf14ItAPlcRQ24ALlTpDpILhBGtjzVAd5pwXQ.
Creating template ...
... Created template 4.
Creating device ...
... Created device 451ab8.
Scheduling a cron job (keepalive) ...
... Failed to create cron job.
{"status":"error","errors":"Cannot read property 'collection' of undefined"}

cron_1                        | 2021-11-03T19:52:50.816Z -- server -- info: - "HTTP/1.1 POST /cron/v1/jobs" "500 76bytes 2ms" "::ffff:<IP_ADDRESS> - curl/7.58.0"

./create-or-update-broker-job.sh -d localhost:8000 -u admin -p admin
Getting jwt token ...
... Got jwt token eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJFZXlwRnV0ZjVJd0Rsb1lvMWQ5dWZFcXd0ZmpONXNodSIsImlhdCI6MTYzNTk2OTE4NiwiZXhwIjoxNjM1OTY5NjA2LCJwcm9maWxlIjoiYWRtaW4iLCJncm91cHMiOlsxXSwidXNlcmlkIjoxLCJqdGkiOiI3MjdlNDc1M2NlODNjYmEzYmEzNmU1ZmRiOGE1YjFiNiIsInNlcnZpY2UiOiJhZG1pbiIsInVzZXJuYW1lIjoiYWRtaW4ifQ.Kq0v1l1DAnNLkWMEcI5yzQQVCOfOIPV-fOke5G26uSQ.
Creating template ...
... Created template 5.
Creating device ...
... Created device "42aad".
Scheduling a cron job (keepalive) ...
... Failed to create cron job.
{"status":"error","errors":"Cannot read property 'collection' of undefined"}

cron_1                        | 2021-11-03T19:53:06.120Z -- server -- info: - "HTTP/1.1 POST /cron/v1/jobs" "500 76bytes 3ms" "::ffff:<IP_ADDRESS> - curl/7.58.0"

jobs creation

CRON-BATCH node: HTTP

flowbroker_1                  | <20:49:01 08/02/2022> -- |cron-batch -- DEBUG: Executing cron-batch node...
flowbroker_1                  | <20:49:01 08/02/2022> -- |cron-batch -- DEBUG: Succeeded to create cron job 24e6ef15-cf87-4084-b426-b8d763ba1fa3

CRON node: HTTP REQUEST

flowbroker_1                  | <20:49:01 08/02/2022> -- |cron -- DEBUG: Executing cron node...
flowbroker_1                  | <20:49:01 08/02/2022> -- |cron -- DEBUG: Executing create operation ...
flowbroker_1                  | <20:49:01 08/02/2022> -- |cron -- DEBUG: Succeeded to create cron job 61a5ed1a-c084-4f40-a8a3-53b78e4fb72e

CRON-BATCH node: BROKER

flowbroker_1                  | <20:49:07 08/02/2022> -- |cron-batch -- DEBUG: Executing cron-batch node...
flowbroker_1                  | <20:49:07 08/02/2022> -- |cron-batch -- DEBUG: Succeeded to create cron job 4c2025c4-3374-41b8-a4eb-02e8c98e264c

CRON node: EVENT REQUEST:

flowbroker_1                  | <20:49:07 08/02/2022> -- |cron -- DEBUG: Executing cron node...
flowbroker_1                  | <20:49:07 08/02/2022> -- |cron -- DEBUG: Executing create operation ...
flowbroker_1                  | <20:49:07 08/02/2022> -- |cron -- DEBUG: Succeeded to create cron job 84acc7d2-c645-4ded-84e7-5319a2a25c26

curl -X GET localhost:8000/cron/v1/jobs -H "Authorization: Bearer ${JWT}"  -H 'Content-Type:application/json' 2>/dev/null | jq
[
  {
    "jobId": "24e6ef15-cf87-4084-b426-b8d763ba1fa3",
    "spec": {
      "time": "*/2 * * * *",
      "timezone": "America/Sao_Paulo",
      "name": "Keep alive",
      "description": "This job sends a keep alive notification to a device every 2 minutes",
      "http": {
        "method": "PUT",
        "headers": {
          "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciO...2qZq6iHg",
          "Content-Type": "application/json"
        },
        "url": "http://device-manager:5000/device/c1863a/actuate",
        "body": {
          "attrs": {
            "mensagem": "tô vivo"
          }
        }
      }
    }
  },
  {
    "jobId": "61a5ed1a-c084-4f40-a8a3-53b78e4fb72e",
    "spec": {
      "time": "*/3 * * * *",
      "timezone": "UTC",
      "name": "tô vivo 2",
      "description": "Esse job envia notificação de tô vivo 2 a cada 3 minutos",
      "http": {
        "method": "PUT",
        "headers": {
          "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciO...2qZq6iHg",
          "Content-Type": "application/json"
        },
        "url": "http://device-manager:5000/device/c1863a/actuate",
        "body": {
          "attrs": {
            "mensagem": "tô vivo 2"
          }
        }
      }
    }
  },
  {
    "jobId": "4c2025c4-3374-41b8-a4eb-02e8c98e264c",
    "spec": {
      "time": "*/3 * * * *",
      "timezone": "America/Sao_Paulo",
      "name": "Keep alive",
      "description": "This job sends a keep alive notification to a device every 3 minutes",
      "broker": {
        "subject": "dojot.device-manager.device",
        "message": {
          "event": "configure",
          "meta": {
            "service": "admin",
            "timestamp":<PHONE_NUMBER>006
          },
          "data": {
            "attrs": {
              "mensagem": "keepalive"
            },
            "id": "75439a"
          }
        }
      }
    }
  },
  {
    "jobId": "84acc7d2-c645-4ded-84e7-5319a2a25c26",
    "spec": {
      "time": "*/2 * * * *",
      "timezone": "UTC",
      "name": "keepalive2",
      "description": "Esse job envia notificação de keepalive2 a cada 2 minutos",
      "broker": {
        "subject": "dojot.device-manager.device",
        "message": {
          "event": "configure",
          "meta": {
            "service": "admin",
            "timestamp":<PHONE_NUMBER>001
          },
          "data": {
            "attrs": {
              "mensagem": "keepalive2"
            },
            "id": "75439a"
          }
        }
      }
    }
  }
]

jobs removal
flowbroker_1                  | <11:47:34 09/02/2022> -- |cron-batch -- DEBUG: Executing cron-batch node...
flowbroker_1                  | <11:47:34 09/02/2022> -- |cron-batch -- DEBUG: Succeeded to remove cron job 24e6ef15-cf87-4084-b426-b8d763ba1fa3

flowbroker_1                  | <11:47:34 09/02/2022> -- |cron -- DEBUG: Executing cron node...
flowbroker_1                  | <11:47:34 09/02/2022> -- |cron -- DEBUG: Executing remove operation ...
flowbroker_1                  | <11:47:34 09/02/2022> -- |cron -- DEBUG: Succeeded to remove cron job 61a5ed1a-c084-4f40-a8a3-53b78e4fb72e

flowbroker_1                  | <11:48:39 09/02/2022> -- |cron-batch -- DEBUG: Executing cron-batch node...
flowbroker_1                  | <11:48:39 09/02/2022> -- |cron-batch -- DEBUG: Succeeded to remove cron job 4c2025c4-3374-41b8-a4eb-02e8c98e264c

flowbroker_1                  | <11:48:39 09/02/2022> -- |cron -- DEBUG: Executing cron node...
flowbroker_1                  | <11:48:39 09/02/2022> -- |cron -- DEBUG: Executing remove operation ...
flowbroker_1                  | <11:48:39 09/02/2022> -- |cron -- DEBUG: Succeeded to remove cron job 84acc7d2-c645-4ded-84e7-5319a2a25c26

curl -X GET localhost:8000/cron/v1/jobs -H "Authorization: Bearer ${JWT}"  -H 'Content-Type:application/json' 2>/dev/null | jq
[]


build-installer-win64.bat missing

I would like to do a full build on windows platform, however build-installer-win64.bat is missing from sources.
Can you please check?
Thank you.

@cleverca22 @disassembler can you help us here?

@cleverca22 @disassembler can you help us here?

@claudiudc unfortunately, there is no support for building on Windows platform and adding this is not in our plans.


Clippy fixes

Some minor things pointed out by Clippy.

Codecov Report

Merging #10 into master will decrease coverage by <.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master      #10      +/-   ##
==========================================
- Coverage    97.9%   97.89%   -0.01%
==========================================
  Files           3        3
  Lines         381      380       -1
==========================================
- Hits          373      372       -1
  Misses          8        8

Impacted Files
Coverage Δ

src/lib.rs
97.98% <100%> (-0.01%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 8f17aea...4edec65. Read the comment docs.


The class BxBaseProfileGenerator isn't inherited

The class BxBaseProfileGenerator isn't inherited.
It is located in the same file as the class BxBaseProfileView but if you inherit it in the file BxTemplProfileView, the inheritance is overridden.
https://www.boonex.com/forums/topic/Not-a-bug-but.htm

https://github.com/boonex/dolphin.pro/issues/508


can not add tenant name first time

i should click EDIT button again to add and save

You mean the tenant host/prefix is not saved when the tenant is created?

the first field--i remember host ---not save ,see collaboration2

Please provide some repro steps with what you are expecting to see. Thanks.

1-enable tenancy
2--create tenant
3--fill in RealEstateWorld in Host field
4--save
5--get this:

6--clike Edit
can see this

7--fill in RealEstateWorld in Host field
8--save
now ok

This works fine for me on dev.  What branch are you using?

1.9.x and 1.10
localhost

Thats interesting, I am running on dev on localhost and also 1.10 - no issues with adding a tenant.  You don't have any custom modules do you?  Could they be overriding the tenant service?

for 1.9.x, it is clean version

my mistake,
i did not fill in host field, so close it


Error when with email notifications

poloniex_1  | modules.Notify.NotificationException: (535, '5.7.3 Authentication unsuccessful [VI1PR0802CA0045.eurprd08.prod.outlook.com]')
poloniex_1  |
poloniex_1  | v3.0.0 Unhandled error, please open a Github issue so we can fix it!
poloniex_1  | Could not send email, got error (535, '5.7.3 Authentication unsuccessful [VI1PR0802CA0045.eurprd08.prod.outlook.com]')
Config :

Thx :)

5.7.3 Authentication unsuccessful [VI1PR0802CA0045.eurprd08.prod.outlook.com
Seems like you have an issue with your credentials.

Relevant: https://social.technet.microsoft.com/Forums/ie/en-US/906f235a-9979-43de-944f-d9adac0385c5/535-573-authentication-unsuccessful?forum=exchange2010
Seems to be on user's side

"I have to add "Exchange Users" to the "Permission Group", then it works. Thanks to Rich Matheisen Reinhard" ........ Hum it's not Exchange, it's Outlook for me !

Would be great if another user who uses Outlook for email notifications can chime in. May be simple troubleshooting someone else has figured out.

Maybe ask on the Telegarm channel?

Yes please, i haven't it.


unit test currently failing

Hello @ericpruitt,
Thanks so much for making this little library. It's very helpful.
I was working on a small missing feature needed to implement support for time jump tracking for the Vixie cron style local time tracking event loop algorithm, where non-wildcard and wildcard job execution changes intelligently in the presence of DST, transitions and most forward and reverse clock skew occurrences.
While I was testing my own changes, I noticed an original UT is failing in the unchanged code. I wanted to see if you could check it for a second so I could be sure the change I'd like to contribute will work properly for everyone.
Thanks,
@megahall
$ ./tests.py
...................F....
======================================================================
FAIL: test_periodics_month (__main__.test_testedmodule)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "./tests.py", line 116, in test_periodics_month
    self.assertFalse(testex.check_trigger(now_tuple[:5]))
AssertionError: True is not false

----------------------------------------------------------------------
Ran 24 tests in 0.035s

FAILED (failures=1)

I did some more investigation on this. I think I see what's happening:
It's checking for a job to trigger between 2014-01-10 and 2017-09-08 by moving 1,337 days.
That's 3 years, 7 months, 29 days or 43 months but the cron expression was * * * %44 * or every 44 months.

The repeaters in each field are independent of one another. Although you are correct n stating the difference is 3 years, 7 months, 29 days, what actually matters is the difference in calendar months:
~$ bc
(2017 * 12 + 9) - (2014 * 12 + 1)
44

The documentation reads "Triggers in different fields operate independently of each other: %10 %10 * * * would trigger at 00:00, 00:10, ... 00:50, 10:00, 10:10, etc..." In the source code, the calculation reflects this on line 177:
174         # Figure out how much time has passed from the epoch to the given date
175         utc_diff = utc_offset - self.epoch[5]
176         mod_delta_yrs = year - self.epoch[0]
177         mod_delta_mon = month - self.epoch[1] + mod_delta_yrs * 12
178         mod_delta_day = (given_date - zeroday).days
179         mod_delta_hrs = hour - self.epoch[3] + mod_delta_day * 24 + utc_diff
180         mod_delta_min = mins - self.epoch[4] + mod_delta_hrs * 60

Let me know if I misunderstood the problem. Otherwise, let me know if this makes sense, and I'll fix the unit test.
Aside: I think making unit tests depend on the current time is yet another of many mistakes I made creating this library :P. I should really wrap up the rewrite I started for https://github.com/ericpruitt/cronex/issues/4 .

At least on my machine the test wasn't passing by itself at the current moment.
Matthew Hall

On Sep 9, 2017, at 3:08 PM, Eric Pruitt<EMAIL_ADDRESS>wrote:
The repeaters in each field are independent of one another. Although you are correct n stating the difference is 3 years, 7 months, 29 days, what actually matters is the difference in calendar months:
~$ bc
(2017 * 12 + 9) - (2014 * 12 + 1)
44
The documentation reads "Triggers in different fields operate independently of each other: %10 %10 * * * would trigger at 00:00, 00:10, ... 00:50, 10:00, 10:10, etc..." In the source code, the calculation reflects this on line 177:
174         # Figure out how much time has passed from the epoch to the given date
175         utc_diff = utc_offset - self.epoch[5]
176         mod_delta_yrs = year - self.epoch[0]
177         mod_delta_mon = month - self.epoch[1] + mod_delta_yrs * 12
178         mod_delta_day = (given_date - zeroday).days
179         mod_delta_hrs = hour - self.epoch[3] + mod_delta_day * 24 + utc_diff
180         mod_delta_min = mins - self.epoch[4] + mod_delta_hrs * 60
Let me know if I misunderstood the problem. Otherwise, let me know if this makes sense, and I'll fix the unit test.
Aside: I think making unit tests depend on the current time is yet another of many mistakes I made creating this library :P. I should really wrap up the rewrite I started for #4 .
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

At least on my machine the test wasn't passing by itself at the current moment.

Right, the test is undoubtedly broken:
~$ date --date='2017-09-08' +%s
1504854000

diff --git cronex/tests.py cronex/tests.py
index 0d04d1f..ed3e341 100755
--- cronex/tests.py
+++ cronex/tests.py
@@ -104,7 +104,7 @@ class test_testedmodule(unittest.TestCase):
         Verify that arbitrary-period repeaters in the month field work as
         expected.
         """
-        now = int(time.time())
+        now = int(1504854000)
         then = time.gmtime(now - 1337 * DAY)
         now_tuple = time.gmtime(now)
         curmon = now_tuple[1]

# FAIL: test_periodics_month (__main__.test_testedmodule)
# ---------------------------------------------------------------------
Traceback (most recent call last):
  File "cronex/tests.py", line 116, in test_periodics_month
    self.assertFalse(testex.check_trigger(now_tuple[:5]))
AssertionError: True is not false

# ----------------------------------------------------------------------
Ran 1 test in 0.000s

I was explaining how the code is supposed to work to ensure I understood the problem you were reporting and to ensure I fixed the correct thing. I will push a fix for the test soon.

This has been fixed in dd3e719d17d8400083bc8876f7356d69f1fe30e5 . Please try it out and let me know if you observe any other problems. Thank you for reporting this issue.

Sorry about the miscommunication from my end. It took me a good couple of hours to try to figure it out how it was happening in the first place!
Matthew Hall

On Sep 9, 2017, at 5:06 PM, Eric Pruitt<EMAIL_ADDRESS>wrote:
This has been fixed in dd3e719 . Please try it out and let me know if you observe any other problems. Thank you for reporting this issue.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

No problem. If you use PyPI, I have just pushed the updated package as 0.1.2.


Newest version of svg.draggable.js breaks functionality

title says it all :)

What is that new version? In the readme file it's written that one of the dependencies is our fork: https://github.com/jillix/svg.draggable.js

then you have not made that clear enough in the doc. it has the same title with the original svg.draggable.js by wout. Only following the link would clarify.
Is this draggable better than the original? If so, have you proposed a pull to wout?
(I'd love to use your plugin)

then you have not made that clear enough in the doc

True. I fixed it here.

Is this draggable better than the original?

Yes, and I'm proud of that. :smile:
The differences?

touch event support
multiple listeners on events
dragging scaled elements (even when the parents are scaled)
some syntax changes (missing semicolons etc)

If so, have you proposed a pull to wout?

See this comment. The changes are major and we will probably maintain our fork syncing with the original repo if there will be any updates there.

(I'd love to use your plugin)

We'are happy that our tools are used by humans. Feel free to open issues with any ideas/questions/features/bug reports and :star: the projects you like! :smile:


Can't set Water Level to OFF.

I have a Roborock S5 Max, which has 4 Water Levels (Off, Low, Medium, High). Depending on the fan speed I choose in the Water Box fan accessory, I can change the water level to Low, Medium, or Strong, but if I switch off the Water Box fan or lower its speed to 1% the vacuum will not change the level to OFF.

Hey @alxalxnet,
AFAIK, it should be 0% in order to set it OFF. You can see the different levels we've got setup for that model in here:
https://github.com/homebridge-xiaomi-roborock-vacuum/homebridge-xiaomi-roborock-vacuum/blob/a0be525387ed876aad88ea55849055ad26e480e5/models/watermodes.js#L4-L30

Thanks for the prompt reply.
I tried both on my iPhone as well as on my Mac, but I cannot set the Water Box fan 0%—no matter how slow I drag the fan slider down. I can get it to 3%, 2%, 1%, but the next step after that will be OFF, no 0%. Same thing if I tell Siri: "Set the Water Box to 0%." The result is the Water Box fan set to OFF and Siri reply is "OK, the Mop is OFF"

And when you start a clean while having the Water Box set to ~0%~ OFF, does it still use the Water Box?
Sorry, I'm not sure I'm understanding the question 🙂

Yes, it still uses water (it switches to the "Light" level, instead of "OFF").

Original question: How can I set the vacuum to clean a room without mopping (i.e., setting the water level to "Off")?
Your answer: Set up up the Water Box fan level to 0%
However, Homekit does NOT allow you do set a fan to 0% (only to OFF or 1%)

Could change the percentages in the watermodes.js file to:
Off (25%)
Light (50%)
Medium (70%)
High (100%)
Or, can I change those settings on my end?

Published a fix in version<EMAIL_ADDRESS>Instead of changing the percentages (which might break the use of other users), I thought it was better to handle the OFF requests sent by iOS to set the speed to 0%.
Feel free to reopen if, after updating, it doesn't work.


omnibus/config/software: switch to non-rake build for trace-agent

What does this PR do?
It removes the dependency on rake when building the datadog-trace-agent. Depends on https://github.com/DataDog/datadog-trace-agent/pull/369
Motivation
Getting rid of rake as a dependency in the datadog-trace-agent.

Closing based on https://github.com/DataDog/datadog-trace-agent/pull/369#issuecomment-367262393


Update nav style

I want one big continuous button with rounded corners, and I want the background color to match the footer.

Tried this out and I didn't like it. Closing this issue and keeping the nav the way it is.


feat(transformer): support helper loader

Close: #4753

#6162  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @Dunqing and the rest of your teammates on  Graphite

Merge activity

Oct 13, 4:04 AM EDT: The merge label '0-merge' was detected. This PR will be added to the Graphite merge queue once it meets the requirements.

Ahh I accidentally clicked merged, @overlookmotel please review despite being merged.


Upstreaming into HA

Hi
Will you consider upstreaming this into Home Assistant itself?

Yes, I think it should be done. But I would like to get some code review done before. I am not a python developer by trade.


Add user authentication to the ADC flow.

According to google's docs [1], the ADC strategy is

env variable
user credentials
metadata server

Currently, this crate does 1 and 3; this PR inserts 2 in there.
[1] https://cloud.google.com/docs/authentication/application-default-credentials
Note that this is a breaking change, and it also breaks the test for me locally because I have user credentials configured. Presumably the CI doesn't so I guess they'll succeed there? But this isn't great so I've marked it as a draft.

Great idea! Apologies for the delayed feedback. Let me know when this is ready for review.

Will this feature be released soon?


Integer K-Means and Hierarchical K-Means

Because I was started so why not finish...
Was a great way to learn more about Cython, especially the Hierarchical part which is done by converting to C struct to a python representation back and forth (as it is done in the MATLAB version).
Test cases are trickier to design because of the random initialization of the algorithm which does not always give correct results for toy datasets.

I don't understand the error AppVeyor is getting... @patricksnape can you rerun the checks?

Jenkins test this please

@Atanahel I think its segfaulting on Python 3.5 on Windows

Seems so, but I'm very confused at why it'd work on the different architectures on python 3.5 and with windows on python 3.4 but not on windows+py3.5...

It uses a different compiler unfortunately, so that is likely why.

Can you just merge master into here so we can see if this still fails? If so I will take a look at it!

Youhou, passing!
No clues why it changed though...

I'm going to put my hand up and say that I think the vlfeat builds on Windows were actually broken - and I fixed them when I went to enable threads. The wrong runtime was being linked to which was causing memory issues. So thanks for forcing me to notice that! I will review this PR asap :+1:

Mostly just not sure what that push method does - if you just update the docs for this I will merge and make a new release :smile:

Haha, yeah I kept the terminology of the Matlab interface but I agree that this name is not self-explanatory at all.
It's actually a method that from a set of pre-computed centers, compute the nearest neighbour center for each point in a set of given points. It's for projecting the visual words on the dictionnary of the k-means centers.

Great! Thanks so much for the excellent contributions! Merging now since we know it passes :smile:

Cool!
By the way, maybe the documentation of the starting page should be updated. It still says only the SIFT methods are interfaced which is not true anymore (HoG, FV, K-means now)

Updated!