Is Multivalent really used?

The README explains where to get Multivalent20091027.jar, but the makepdf script passes --use-multivalent=false to pdfsizeopt:
https://github.com/izh1979/makepdf/blob/4d4f3eb9cd64cfa221d94069bbd93683c9fc7d7a/makepdf#L33
Is it used anywhere else, or is Multivalent simply no longer a dependency of this project?

It is an optional module. I've made a comparison (in README.md) and you can see that it is useful. But it could depend on the source document. Since it's not maintained anymore, I've made it off by default. But every user can check its effect on their documents.

I wouldn't remove the submodule because it would be harder to enable it. Currently you can simply change --use-multivalent to true and it would be used.
(Also multivalent is written in Java and requires JRE to be set-up, although in modern Linux distros it's already there. And it increases the total time of document generation. So anybody should decide by themselves whether its effect worth using it.)

Is it enabled in the setup generating the HTML PDF?

Wasn't, but I've enabled it now. (Don't remember why I turned it off.) It reduces the final file by 50 KB, but atakes about 2 extra minutes.

OK, if it's just 50 KB then I will leave it disabled in my work to make PDF generation part of html-build.
Maybe you can document how to enable Multivalent to close this issue?

Added a couple of words about Multivalent installing: https://github.com/izh1979/makepdf/blob/master/README.md#multivalent

Thanks, closing this issue!


Add pipeline for build goss docker image

Checklist

[x] make test-all (UNIX) passes. CI will also test this
[ ] unit and/or integration tests are included (if applicable)
[ ] documentation is changed or added (if applicable)

Description of change

Add building own docker image and upload to ghcr.io. Realted image: https://github.com/aelsabbahy/goss-docker/blob/master/Dockerfile
Build image from

master branch with goss version: <latest-tag>-master+<short commit sha> (semantic version)
tag with version <tag>

Add CVE scan to github  security page
Related to:

#901

So is this essentially a replacement for: https://github.com/aelsabbahy/goss-docker
Btw.. many thanks for the awesome work you've submitted! These are all great improvements.

Added a small question, and might be helpful to add some documentation to this PR (can be minimal). Otherwise, it seems ready to merge

Did you mean this kind of documentation? Or something to the GH pipeline?

Did you mean this kind of documentation? Or something to the GH pipeline?

Yup, this looks great!

I will have a look why it is failing. I had tested it successfully.

In my repo I have not problems and it works. But I cannot see the package in goss Repo: https://github.com/orgs/goss-org/packages?repo_name=goss
Perhaps GH needs some time to activate.

It seems that permissions have to set there for the package: https://docs.github.com/en/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility

Yeah it's set to private, but I can't set it to public due to org settings. I'll take a look at it sometime in the next couple of days.

https://github.com/goss-org/goss/pkgs/container/goss
Done, was pretty simple actually.


Fractal Designer 6 Design

@T-V-J Now our main designing work is listed on our group blog.
Please visit https://frd.teddy-van-jerry.org to have a better understanding of Fractal Designer.

Hi, I would like to work on this issue, can you suggest me ways to get started?

@PracticalMetal Thanks for your offer! Well, I am a college student and not familiar with Compilers design (even though it seems to be an interpreter). So my ideas are very primitive.
I have almost finished writing the eval function that takes a std::string and returns a std::complex<double> result. With that, the frd script can be transformed into data types. Other tasks will become something like read and if-else or what.

The first step is to release FRD 5.6 where colour designs and fractal templates can be done with the formula specification (i.e. using eval function to achieve).
The later steps will be the implementation of using frd script to build fractal videos.

Since the Qt code here is a little bit complicated due to my poor arrangement (Actually I am learning Qt by this project, so I am trying to better that), so I prefer to edit that myself.
So how about writing the core C++ code without Qt that reads frd script and stores data? I think I can learn a lot from you!

I now have met another problem with custom syntax highlighting using QScintilla, which is posted on Stack Overflow.

So far, basic problems have been tackled, with 6.0.9 Beta2 version released. I will carry on with the documentation work recently.


setWifiEnabled always calls fail cb

Hi!
I am trying to enable WiFi if disabled.
I can succesfully check the state, and if enabled and connected can dissconnect from the current AP.
However any cal to setWifiEnabled fails.
Using Android 5.0.2, Cordova 6.1.1 and WifiWizard 0.2.11, here's the code used:
if(typeof WifiWizard != 'undefined'){
  if(WifiWizard.isWifiEnabled(function(result){
    if(result){
      //wifi is connected
      console.log("wifi already enabled");
      console.log("disconnecting...");
      WifiWizard.getCurrentSSID(
          function(ssid){
            WifiWizard.disconnectNetwork(ssid,
                function(){console.log("ok")},
                function(){console.log("failed!")}
                )
          },
          function(fail){
            //error message for isWifiEnabled
            console.log("cannot get current ssid");
          }
          );

    }else{
      WifiWizard.setWifiEnabled(true,
          function(results){
            if(results == 'OK'){
              //enabled wifi
              console.log("wifi enabled");
            }
          },
          function(fail){
            //error message for setWifiEnabled
            console.log(fail);
          }
          );
    }

  },function(fail){
    //error message for isWifiEnabled
    console.log(fail);
  }));
}

wich outputs the following:
Cannot enable wifi
I checked the source code and seems that it fails on wifiManager.setWifiEnabled(status.equals("true"))
I checked the permissions on android manifest and everything seems fine
Also here's the filtered logcat out:
W/CordovaPlugin( 4024): Attempted to send a second callback for ID: WifiWizard1939867177
W/CordovaPlugin( 4024): Result was: "Invalid action"
I/chromium( 4024): [INFO:CONSOLE(1)] "Cannot enable wifi", source:  (1)

I tried with both wifi enabled and disabled, enabling and disabling the wifi. nothing works, i'm maybe getting something wrong. So i'll be glad if someone helps.
Thanks in advance!

After a little research it seems that the issue is with my smartphone.
I tried with a another couple of smartphones and it works flawlessy.
You can always open a dialog to tell the user that it must manually open the wifi.
Close the bug.
Sorry for any inconvenience


Python3 support

This is not working under python 3, can it be upgraded?

Yes, i will upgrade it.

Any update on this?


feat(app-shell): refresh app shell UX

Description
Refreshing the app shell experience to support the new TD products branding
What's included?

CSS updates to appshell and scrolling
Moving the user-menu slot from the navigation section to above the main area
Help menu styling improvements
Styling adjustments to the breadcrumbs in markdown-navigator-component
Adding a contained property to app shell that wraps the main area in a card styling
Adding support for a dense property for textfield
Adding more support to use covalent-icon(s) attribute on the cv-icon component
Adding support for sticky mode for toolbar
Exporting missing secondary entry points for some packages

Test Steps

[ ] npm run storybook
[ ] then this open the app shell story
[ ] finally test out the new app shell improvements

General Tests for Every PR

[ ] npm run start still works.
[ ] npm run lint passes.
[ ] npm run stylelint passes.
[ ] npm test passes and code coverage is not lower.
[ ] npm run build still works.

Screenshots or link to StackBlitz/Plunker

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

v8.4.0
GitHub release

Your semantic-release bot :package::rocket:


.testcaferc.json does not work as described v1.0.0

Added config file as described ".testcaferc.json" inside the root folder where i execute tests.
Config file is simple, only browsers is declared.
When executing tests, Error occurs with: No Browser selected to test agains.

So, i thought, lets try video recording.
The following message is displayed when running tests.
First: The "browsers" option from the configuration file will be ignored.
Second: Error: Cannot find module '.testcaferc.json'
What's causing this behavior?

Thank you for your report. I've reproduced the problem with the No Browser selected to test against. and our team is working on the fix.
As a workaround, you can specify both browsers and source files in a configuration file.
However, I can't reproduce the problem with the Cannot find module '.testcaferc.json' error. Could you please provide the following information:

The command or the runner script file you used to start TestCafe
Your .testcaferc.json configuration file
Your test file

Great, thanks! And ofcourse.
My folder structure:
react-project

src
test

src

data
utilities

test-cases

autorun
drafts

The command or the runner script file i use to start TestCafe:
I've used many:

yarn testcafe chrome (troughout each folder, so from react-project with source test/test-cases/autorun (with the config file in both locations, to navigating to the autorun folder and executing tests from there)
yarn run test-script ("test-script": "yarn testcafe chrome test/test-cases/autorun", inside package.json)
And ofcourse the options above without the chrome keyword

My .testcaferc.json configuration file
{
    "browsers": "chrome",
    "reporter": [
        {
            "name": "json",
            "output": "reports/report.json"
        }
    ]
}

My test file
All files look pretty much like this
import * as u from '../../src/utilities/functions';
import * as s from '../../src/utilities/selectors';

fixture`Package: Test Suite`
    .page('http://localhost:5000')
    .beforeEach( async t => {
          await t.resizeWindow(1024,690).setTestSpeed(1)})

    test('Test name', async (t) => {
        await t.click(s.btnQca)
        await t.click(s.btnAnalysis);
        await u.selectFrame(29);
        await t.click(s.drawButton);

        await u.clickPoint(332,104);
        await u.clickPoint(320,125);
        await u.clickPoint(298,150);
        await u.doubleClickPoint(298,150);

        //ASSERT
        await u.objectDoesNotExist(s.viewportSvg);
    });

Util functions
export const clickPoint = (x: number, y: number) => {
    return t.click(s.canvas, { offsetX : x, offsetY: y });
};
export const doubleClickPoint = (x: number, y: number) => {
    return t.doubleClick(s.canvas, { offsetX : x, offsetY: y });
};
export const objectDoesExist = async (object: any) => {
    const result = await object.exists ? true : false
    await t.expect(result).ok("Object does not exist");
};
export const selectFrame = async (targetFrame: number) => {
    const frametext           = s.currentFrame.textContent;
    const returnValue         = await frametext;
    const afterSlash          = returnValue.lastIndexOf('/');
    const numberOfFrames: any = returnValue.substring(afterSlash + 1);
    const correction          = 4;

    const track = s.sliderTrack;
    const sliderWidth = await t.eval(() => track().clientWidth, {
      dependencies: { track }
    });
    //Calculates X coordinates to be able to select frames
    await t.doubleClick(track, {offsetX: Math.round(sliderWidth / numberOfFrames * targetFrame) - correction});
};

Unfortunately I can't reproduce the second problem with your data. Could you please try to reproduce the "Cannot find module '.testcaferc.json'" error with the following .testcaferc.json file and provide TestCafe command arguments and terminal output:
{
    "browsers": "chrome",
    "reporter": [
        { "name": "spec" },
        {
            "name": "json",
            "output": "reports/report.json"
        }
    ]
}

PS C:\Users\user\Documents..(project name)..\Test environment\TestCafe builds\test_dir_v1> yarn testcafe chrome test/test-cases/autorun --video artifacts/videos/
yarn run v1.13.0
$ "C:\Users\user\Documents..(project name)..\Test environment\TestCafe builds\test_dir_v1\node_modules.bin\testcafe" chrome test/test-cases/autorun --video artifacts/videos/
ERROR Cannot prepare tests due to an error.
Error: Cannot find module '.testcaferc.json'
at Object. (C:\Users\user\Documents..(project name)..\Test environment\TestCafe builds\test_dir_v1\test\test-cases\autorun\analyze-view.ts:4:1)
at Function._compile [as _execAsModule] (C:\Users\user\Documents..(project name)..\Test environment\TestCafe builds\test_dir_v1\node_modules\testcafe\src\compiler\test-file\api-based.js:50:13)
at TypeScriptTestFileCompiler._execAsModule [as compile] (C:\Users\user\Documents..(project name)..\Test environment\TestCafe builds\test_dir_v1\node_modules\testcafe\src\compiler\test-file\api-based.js:144:42)
at compile (C:\Users\user\Documents..(project name)..\Test environment\TestCafe builds\test_dir_v1\node_modules\testcafe\src\compiler\index.js:48:42)
at step (C:\Users\user\Documents..(project name)..\Test environment\TestCafe builds\test_dir_v1\node_modules\babel-runtime\helpers\asyncToGenerator.js:17:30)
at C:\Users\user\Documents..(project name)..\Test environment\TestCafe builds\test_dir_v1\node_modules\babel-runtime\helpers\asyncToGenerator.js:28:13
Type "testcafe -h" for help.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Could you please share the analyze-view.ts file which caused the error? It is located in the following directory judging by the stack trace:
C:\Users\user\Documents..(project name)..\Test environment\TestCafe builds\test_dir_v1\test\test-cases\autorun\

I guess you have something like require('.testcaferc.json') in line 4 in this file. If it is so, you can fix this statement in the following way: require('./.testcaferc.json').

A funny thing is that when i run the command with "chrome", the video's record. But the resize event does not take place. It looks like the before each event does not trigger.
But when i remove "chrome", i get the error:
ERROR Unable to find the browser. "test/test-cases/autorun" is not a browser alias or path to an executable file.
Here is the code:
import * as u from '../../src/utilities/functions';
import * as s from '../../src/utilities/selectors';
import * as i from '../../src/utilities/init';
require('./.testcaferc.json');

  fixture`Package: Analysis View (vessel analysis)`
    .page('http://localhost:5000')
    .beforeEach( async t => {
          await t.resizeWindow(1024,690).setTestSpeed(1)})

    test('TC-QW-QXA-001 - Entering Vessel Analysis View', async (t) => {
        //SETUP & ACTION
        //await t.click(s.btnAnalysis);
        console.log('   ↓ Disabled because of bug');
        //ASSERT
        //await t.expect(s.btnAnalysis.hasClass('selected')).ok();
    });

    test('TC-QW-QXA-002 - Defining a vessel', async (t) => {
        //SETUP & ACTION
        await i.Qva5ClicksFrame23();

        //ASSERT
        await u.objectDoesExist(s.viewportSvg);
    });

    test('TC-QW-QXA-003 - Discard define or edit action', async (t) => {
        //NOTE
        console.log('   ↓ Edit action can not be tested yet');

        //SETUP
        await t.click(s.btnQca)
        await t.click(s.btnAnalysis);
        await u.selectFrame(29);
        await t.click(s.drawButton);

        await u.clickPoint(332,104);
        await u.clickPoint(320,125);
        await u.clickPoint(298,150);

        //ACTION
        await t.pressKey('esc');

        //ASSERT
        await u.objectDoesNotExist(s.viewportSvg);
    });

    test('TC-QW-QXA-004 - Delete contour', async (t) => {
        //SETUP
        await i.Qva5ClicksFrame23();

        //ACTION
        await t.click(s.deleteContour);

        //ASSERT
        await u.objectDoesNotExist(s.viewportSvg);
    });

    test.skip('TC-QW-QXA-005 - Edit contour', async (t) => {
      console.log('   ↓ TC-QW-QXA-005 editing is not possible yet')
    });

    test.skip('TC-QW-QXA-006 - Add analysis method', async (t) => {
        console.log('   ↓ TC-QW-QXA-006 editing is not possible yet')
    });

    test.skip('TC-QW-QXA-007 - Remove analysis method', async (t) => {
        console.log('   ↓ TC-QW-QXA-007 editing is not possible yet')
    });

    test.skip('TC-QW-QXA-008 - Reposition marker', async (t) => {
        console.log('   ↓ TC-QW-QXA-008 editing is not possible yet')
    });

    test.skip('TC-QW-QXA-010 - Switch analysis method', async (t) => {
        console.log('   ↓ TC-QW-QXA-010 editing is not possible yet')
    });

    test.skip('TC-QW-QXA-020 - Analysis results', async (t) => {
        console.log('   ↓ TC-QW-QXA-020 editing is not possible yet')
    });

Closed by #3427.


Extracted more stages out

This gives the underlying implementations more power to do optimizations and understand what's going on.
This was discussed briefly in a meeting, that it would be better to have more fine grained stages to allow underlying implementations to handle them as they wish, perhaps with optimizations.
The stages introduced are Skip, Limit and DropWhile. Additionally, I've now made Filter non stateful (ie, it doesn't contain a Supplier<Predicate>), this is because it's no longer used to implement skip and dropWhile, which required a stateful predicate. Also, I've done the same for TakeWhile, since it's no longer used to implement limit, and also I've removed the inclusive attribute from TakeWhile, since it's no longer used.

It may be needed in future - it's useful when you want the stream to terminate immediately after the current element. A non inclusive takeWhile will terminate it before emitting the current element. Of course, you can make a takeWhile terminate after the current element by setting an AtomicBoolean to true, and then checking that on the next element and returning false, however, that does mean that you won't terminate the stream until you receive the next element. It's kind of nice to be able to say "emit this element and then immediately terminate the stream".


projet tokens to to root level in json object config

Right now it is necessary to know the actual json path of a field in a json object to search for it.
It would be nice to have an option that acts as if we also projected all tokens to the root json path.
That way, someone could search for a term and all documents containing the term somewhere in the JSON would be returned.

This is a big one! I actually would love to have it for two projects of mine - one using Tantivy and one using QuickWit.
For quickwit users, it would be great they could just set mode: dynamic, import their stuff, run a query and get results. Now they get this error:
Invalid query: No default field declared and no field specified in query


Add CNI reconciler

Description of changes:
It calls the different CNI reconciler implementations, depending on the
CNI configured for the cluster. It only supports Cilium for now.
Also added logic to build it in factories and inject it in the snow
cluster reconciler.
Testing (if applicable):
Unit tests
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/approve


Need a guide for setting up reverse registration of smart contracts

Hey guys, sorry if I missed it, but there really needs to be a clear guide for setting up the reverse resolution of smart contracts
I'm the owner of flowerpatch.app and related FLOWER contracts. I'd love to be able to set up my flowerpatch.ens to point to the main FLOWER contract, but reverse name resolution requires you to be logged in as the address -- which is not really possible for a contract. It seems like the way you can achieve reverse resolution is either by modifying the smart contract to have certain functions included, or perhaps by implementing a custom resolver. Upgrading my existing contracts seems undesirable currently, and I couldn't find clear instructions on a less invasive method.
Alternatively, could it be possible to allow the "contract owner / creator" to set the reverse lookup on behalf of a contract? That would make life a lot simpler

You're right - the contract needs to call a function to set its name, or to set the owner of the reverse record when it's constructed. Documentation for this is here; the simplest route is to put this in the constructor:
reverseRegistrar.claim(msg.sender)

We can't assume that the creator of a contract has the right to do that, because the creator doesn't generally have any special permissions over a contract.


feat: custom long flags

Codecov Report

Merging #45 (f702c93) into main (ae1c933) will decrease coverage by 0.54%.
The diff coverage is 95.45%.

@@             Coverage Diff             @@
##              main      #45      +/-   ##
===========================================
- Coverage   100.00%   99.46%   -0.54%
===========================================
  Files            7        7
  Lines          184      188       +4
  Branches        49       50       +1
===========================================
+ Hits           184      187       +3
- Misses           0        1       +1

Flag
Coverage Δ

unittests
99.46% <95.45%> (-0.54%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

src/options.ts
98.11% <95.00%> (-1.89%)
:arrow_down:

src/parser.ts
100.00% <100.00%> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Please Add support for Mi Smart Pressure Cooker 5L

Device model
chunmi.pre_cooker.dylg5
Device name
Mi Smart Pressure Cooker 5L
Does the device require a MiCloud connection?
Do not know
Anything special about the device?
Nope

Hi,
did you already tried to add it? Does it show up? Can you post some homebridge debug log from such attempt if not?

Sorry for the late replay. I did try, but homekit showed "This accessory is not currently supported by the Home app". No displayed or controllable element displayed.

[27/11/2022, 09:08:42] [homebridge-miot] [Mi Smart Pressure Cooker 5L] Initializing device services
[27/11/2022, 09:08:42] [homebridge-miot] [Mi Smart Pressure Cooker 5L] Device services: [
"pressure-cooker",
"custom"
]
[27/11/2022, 09:08:42] [homebridge-miot] [Mi Smart Pressure Cooker 5L] Initializing device properties
[27/11/2022, 09:08:42] [homebridge-miot] [Mi Smart Pressure Cooker 5L] Device properties: [
"pressure-cooker:status",
"pressure-cooker:fault",
"pressure-cooker:cook-mode",
"pressure-cooker:left-time",
"custom:cook-data",
"custom:taste",
"custom:favs",
"custom:cook-status",
"custom:menu-id",
"custom:press-status",
"custom:cook-time",
"custom:finish-push",
"custom:cover-state",
"custom:cook-finish-flag",
"custom:menu-type",
"custom:akw-flg",
"custom:error-code",
"custom:action-out-string"
]
[27/11/2022, 09:08:42] [homebridge-miot] [Mi Smart Pressure Cooker 5L] Initializing device actions
[27/11/2022, 09:08:42] [homebridge-miot] [Mi Smart Pressure Cooker 5L] Device actions: [
"pressure-cooker:start-cook",
"pressure-cooker:cancel-cooking",
"custom:cooking-start",
"custom:set-menu",
"custom:factory-reset",
"custom:cancel-cooking",
"custom:get-inspection-data"
]
[27/11/2022, 09:08:42] [homebridge-miot] [Mi Smart Pressure Cooker 5L] Device not supported! Using a generic device with limited properties! Consider requesting device support!
[27/11/2022, 09:08:42] [homebridge-miot] [Mi Smart Pressure Cooker 5L] Initializing accessory!
[27/11/2022, 09:08:42] [homebridge-miot] [Mi Smart Pressure Cooker 5L] Accessory successfully initialized!
[27/11/2022, 09:08:42] [homebridge-miot] [Mi Smart Pressure Cooker 5L] Registering 1 accessories!
[27/11/2022, 09:08:42] [homebridge-miot] [Mi Smart Pressure Cooker 5L] Everything looks good! Initiating property polling!
[27/11/2022, 09:08:42] [homebridge-miot] [Mi Smart Pressure Cooker 5L] Log in to MiCloud!

Yeah, support will be added in the next update!

Wow. Thank you.

Should now be working with version 1.4.4


flynn route app to install certificate

I would like to have my app itself to install and update the certificate.  So how can this be done?
I found two ways:

install flynn in the app and use it with a script
use the controller api

but in both cases my app gets to many access rights (to other apps too), but I just want it to install the private key and the certificate, so I think this is too many access for the app.
any hints/ideas?
Thanks

We don't currently have granular permissions for the API, but will be implementing them as a part of #410, which will allow you to do this without exposing additional capabilities to the app.


Fix assembly of projects containing spring-web

If you have a project depending on spring-web
// build.sbt
libraryDependencies += "org.springframework" % "spring-web" % "4.2.1.RELEASE"

When you run sbt assembly I get
$HOME/.ivy2/cache/org.springframework/spring-aop/jars/spring-aop-4.2.1.RELEASE.jar:META-INF/spring.tooling
$HOME/.ivy2/cache/org.springframework/spring-beans/jars/spring-beans-4.2.1.RELEASE.jar:META-INF/spring.tooling
$HOME/.ivy2/cache/org.springframework/spring-context/jars/spring-context-4.2.1.RELEASE.jar:META-INF/spring.tooling

This pull request choose filterDistinctLines strategy for META-INF/spring.tooling files, fixing the problem.

Does this make sense?

Sorry about the late response. I've been traveling around these days.
The change LGTM


Alerts & reports : Parser must be a string or character stream, not datetime

I created a report in a superset .my celery worker giving the parser error
Report setting in screenshot

Trace of error:
Scheduling alert test eta: 2023-07-13 19:56:00
[2023-07-13 19:56:00,089: INFO/ForkPoolWorker-1] Scheduling alert test eta: 2023-07-13 19:56:00
[2023-07-13 19:56:00,094: ERROR/ForkPoolWorker-3] Task reports.execute[de8817cb-4be2-4eac-9622-4bc36af95594] raised unexpected: TypeError('Parser must be a string or character stream, not datetime')
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/celery/app/trace.py", line 477, in trace_task
    R = retval = fun(*args, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/superset/initialization/__init__.py", line 108, in __call__
    return task_base.__call__(self, *args, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/celery/app/trace.py", line 760, in __protected_call__
    return self.run(*args, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/superset/tasks/scheduler.py", line 81, in execute
    scheduled_dttm_ = parser.parse(scheduled_dttm)
  File "/usr/local/lib/python3.9/site-packages/dateutil/parser/_parser.py", line 1368, in parse
    return DEFAULTPARSER.parse(timestr, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/dateutil/parser/_parser.py", line 640, in parse
    res, skipped_tokens = self._parse(timestr, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/dateutil/parser/_parser.py", line 719, in _parse
    l = _timelex.split(timestr)         # Splits the timestr into tokens
  File "/usr/local/lib/python3.9/site-packages/dateutil/parser/_parser.py", line 201, in split
    return list(cls(s))
  File "/usr/local/lib/python3.9/site-packages/dateutil/parser/_parser.py", line 69, in __init__
    raise TypeError('Parser must be a string or character stream, not '
TypeError: Parser must be a string or character stream, not datetime

My superset config
FEATURE_FLAGS = {
    "ALERT_REPORTS": True,
    "THUMBNAILS": True,
    "THUMBNAILS_SQLA_LISTENERS": True,
}
REDIS_HOST = "localhost"
REDIS_PORT = "6379"

class CeleryConfig:
    broker_url = 'redis://%s:%s/0' % (REDIS_HOST, REDIS_PORT)
    imports = ('superset.sql_lab', "superset.tasks", "superset.tasks.thumbnails", )
    result_backend = 'redis://%s:%s/0' % (REDIS_HOST, REDIS_PORT)
    worker_prefetch_multiplier = 10
    task_acks_late = True
    task_annotations = {
        'sql_lab.get_sql_results': {
            'rate_limit': '100/s',
        },
        'email_reports.send': {
            'rate_limit': '1/s',
            'time_limit': 600,
            'soft_time_limit': 600,
            'ignore_result': True,
        },
    }
    beat_schedule = {
        'reports.scheduler': {
            'task': 'reports.scheduler',
            'schedule': crontab(minute='*', hour='*'),
        },
        'reports.prune_log': {
            'task': 'reports.prune_log',
            'schedule': crontab(minute=0, hour=0),
        },
    }
CELERY_CONFIG = CeleryConfig

Activating my celery command
nohup celery --app=superset.tasks.celery_app:app worker --pool=prefork -O fair -c 4  > /tmp/celery_first.out &
nohup celery --app=superset.tasks.celery_app:app beat   > /tmp/celery_second.out &

Environment

browser type and version:  Chrome 114
superset version: 2.1.0
python version: 3.9
celary version  : 5.3.1 (emerald-rush)
database for  superset - postgres 14

I have the same error "TypeError: Parser must be a string or character stream, not datetime".

The same one.

Any ideas?

Getting the same error.

Are you all using your own Celery instances, or the Celery containers that spin up with docker-compose ?

I have the same problem

python3 3.9.9

The same issue

Hi @sfirke, I am having the same issue on a dev install from scratch using venv.
ubuntu 22.04
superset 2.1.1
python3.10.12
pip 23.2.1
celery 5.3.4 [ I downgraded 5.2.7 as it is working fine on 2.0.1 but I saw the same issue]
I am using the -B switch on celery running worker and beat in one go as follows:
celery --app=superset.tasks.celery_app:app worker \
       --pool=prefork --max-tasks-per-child=128 \
       -O fair -c 4 -E -B

Hope this helps.  Superset was installed from scratch but the metadata database was upgraded from 2.0.1.  Everything else seems to be working fine but it is not possible for us to upgrade without the alerts and reports working.

Quick update regarding the alerts and reports issue above.  I upgraded my dev install to superset 3.0.0.  Everything seems to be working as expected.  I tested the feature for both email and Slack.
ubuntu 22.04
superset 3.0.0
python 3.10.12
pip 23.2.1
celery 5.2.7
all added in venv
Additionally, I just had to install libecpg-dev package on ubuntu 22.04 for SQL Lab to properly give syntax alerts on queries.

Thanks for the update @ngurmen ! I'd like to hear from others whether upgrading to 3.0.0 fixed the problem for them.

It's been six months since the last comment here, so I'm assuming all is well. Closing, but happy to re-open if warranted.


MSID: 90976 Version: 2 DOI: 10.1101/2<IP_ADDRESS>1547

MSID: 90976
Version: 2
Preprint DOI: https://doi.org/10.1101/2<IP_ADDRESS>1547
Step 1. Awaiting reviews
Editorial to post reviews via hypothesis
Useful links:

DocMap: https://data-hub-api.elifesciences.org/enhanced-preprints/docmaps/v2/by-publisher/elife/get-by-manuscript-id?manuscript_id=90976
New model tracking: https://docs.google.com/spreadsheets/d/1_fHaoOy7hjyocptKtVJRijeNpUY4hBS7Ck_aVmx6ZJk/
Reviews on sciety: https://sciety.org/articles/activity/10.1101/2<IP_ADDRESS>1547

For trouble shooting (e.g. no Docmaps available):

DocMap issue addressing: https://miro.com/app/board/uXjVNCwK6EI=/
Explore DataHub DocMaps API: https://lookerstudio.google.com/reporting/4c2f0368-babb-4beb-b5b3-497e7e7b0f08/page/ejphD
Unmatched submissions and preprints: https://lookerstudio.google.com/u/0/reporting/9f86204f-3bf7-477c-9b18-5c5ef141bf69/page/p_gxi57ha93c
Unmatched manuscripts spreadsheet: https://docs.google.com/spreadsheets/d/15QcK8w-ssB7109RQEDtFpJPZ0J5HTGxoHa_2TtpMBbg/edit#gid=1336081641

Step 2. Preview reviewed preprint
Production QC content ahead of publication
Instructions:

QC preview: https://prod--epp.elifesciences.org/previews/90976v2
Update ticket with any problems (add blocked label)
When QC OK, add QC OK label to ticket and add publication date and time to https://docs.google.com/spreadsheets/d/1amAlKvdLcaDp5W8Z8g77NmkwbMF5n_u89ArSqPMO8jg
Move card to next column
(At end of the day post link in #enhanced-preprint and ask for PDF to be generated)

Useful links:

Preprint DOI :  https://doi.org/10.1101/2<IP_ADDRESS>1547
Confirm reviews returned by EPP: https://prod--epp.elifesciences.org/api/reviewed-preprints/90976/v2/reviews
To update the MECA path in the docmap: https://docs.google.com/spreadsheets/d/1mctCQuNFBjSn97Lihy7_vBO6z7-N-oqyLv4clyi6zHg

Step 3: Awaiting search reindex
This step adds the reviewed preprint to the homepage: https://elifesciences.org
The search reindex is triggered once an hour. We need the reviewed preprint to be indexed as the search application serves the journal homepage.
Useful links:

Jenkins pipeline to reindex search can be triggered sooner or monitored here: https://alfred.elifesciences.org/job/process/job/process-reindex-reviewed-preprints/

Step 4: Published! PDF requested
Waiting for PDF to be generated
Useful links:

PDF tracking: https://docs.google.com/spreadsheets/d/106_XeDjmuBae7gexOTNzg60lapeqjl2aRn9DzupGyS8/

Step 5: Introduce PDF to data folder and git repo
Upload PDF to relevent folder in git repo https://github.com/elifesciences/enhanced-preprints-data/
Step 6: Done!

[ ] Kettle is on!

Minor issues with formatting of two references, title captured as journal.
Formatting of Reviewer 3 heading.

@rkcook312, Nicely spotted. I think i'd be happy to proceed with the first two ones as is (you're correct of course, but the issue is minor IMO). For the other problem, I see this has already been edited on hypothesis. I think when this is published it will update, so we can proceed and the problem will resolve itself (as adding the publication date will update the docmap, thereby reimporting the (now corrected) content).


Iron out movement. Want to add crouch-running state.

Movement now has friction and air friction but state management is not yet rock-solid.

Crouch state added


Bot API Changes for Team/Chat Members

Docs Build status updates of commit 767f687:
:warning: Validation status: warnings

File
Status
Preview URL
Details

msteams-platform/resources/team-chat-member-api-changes.md
:warning:Warning
View
Details

msteams-platform/TOC.yml
:white_check_mark:Succeeded
View

msteams-platform/resources/team-chat-member-api-changes.md

[Warning] Author <ojasvi> cannot be recognized in GitHub.
Line 9: [Warning] Link 'https://docs.microsoft.com/en-us/microsoftteams/platform/bots/how-to/get-teams-context?tabs=dotnet#fetching-the-roster-or-user-profile' contains locale code 'en-us'. For localizability, remove 'en-us' from links to most Microsoft sites.
Line 47: [Warning] Link 'https://docs.microsoft.com/en-us/dotnet/api/microsoft.bot.connector.conversationsextensions.getconversationpagedmembersasync?view=botbuilder-dotnet-stable' contains locale code 'en-us'. For localizability, remove 'en-us' from links to most Microsoft sites.
Line 47: [Warning] Link 'https://docs.microsoft.com/en-us/dotnet/api/microsoft.bot.connector.conversationsextensions.getconversationpagedmembersasync?view=botbuilder-dotnet-stable' contains locale code 'en-us'. For localizability, remove 'en-us' from links to most Microsoft sites.
Line 48: [Warning] Link 'https://docs.microsoft.com/en-us/windows/win32/ad/naming-properties#userprincipalname' contains locale code 'en-us'. For localizability, remove 'en-us' from links to most Microsoft sites.
Line 49: [Warning] Link 'https://docs.microsoft.com/en-us/microsoftteams/platform/bots/how-to/get-teams-context?tabs=json#tabpanel_CeZOj-G++Q_json' contains locale code 'en-us'. For localizability, remove 'en-us' from links to most Microsoft sites.
Line 9: [Suggestion] H1 is required. Use a single hash (#) followed by a space to create your top-level heading. NOTE: This Suggestion will become a Warning on 04/01/2020.

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Docs Build status updates of commit b13555a:
:warning: Validation status: warnings

File
Status
Preview URL
Details

msteams-platform/resources/team-chat-member-api-changes.md
:warning:Warning
View
Details

msteams-platform/TOC.yml
:white_check_mark:Succeeded
View

msteams-platform/resources/team-chat-member-api-changes.md

Line 9: [Warning] A space is required after the hash (#) in H1.

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Will push another PR that addresses warnings

Docs Build status updates of commit 30d6cac:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/TOC.yml
:white_check_mark:Succeeded
View

msteams-platform/resources/team-chat-member-api-changes.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


MSID: 102756 Version: 1 DOI: 10.1101/2<IP_ADDRESS>1034

MSID: 102756
Version: 1
Preprint DOI: https://doi.org/10.1101/2<IP_ADDRESS>1034
Step 1. Awaiting reviews
Editorial to post reviews via hypothesis
Useful links:

DocMap: https://data-hub-api.elifesciences.org/enhanced-preprints/docmaps/v2/by-publisher/elife/get-by-manuscript-id?manuscript_id=102756
New model tracking: https://docs.google.com/spreadsheets/d/1_fHaoOy7hjyocptKtVJRijeNpUY4hBS7Ck_aVmx6ZJk/
Reviews on sciety: https://sciety.org/articles/activity/10.1101/2<IP_ADDRESS>1034

For trouble shooting (e.g. no Docmaps available):

DocMap issue addressing: https://miro.com/app/board/uXjVNCwK6EI=/
Explore DataHub DocMaps API: https://lookerstudio.google.com/reporting/4c2f0368-babb-4beb-b5b3-497e7e7b0f08/page/ejphD
Unmatched submissions and preprints: https://lookerstudio.google.com/u/0/reporting/9f86204f-3bf7-477c-9b18-5c5ef141bf69/page/p_gxi57ha93c
Unmatched manuscripts spreadsheet: https://docs.google.com/spreadsheets/d/15QcK8w-ssB7109RQEDtFpJPZ0J5HTGxoHa_2TtpMBbg/edit#gid=1336081641

Step 2. Preview reviewed preprint
Production QC content ahead of publication
Instructions:

QC preview: https://prod--epp.elifesciences.org/previews/102756v1
Update ticket with any problems (add blocked label)
When QC OK, add QC OK label to ticket and add publication date and time to https://docs.google.com/spreadsheets/d/1amAlKvdLcaDp5W8Z8g77NmkwbMF5n_u89ArSqPMO8jg
Move card to next column
(At end of the day post link in #enhanced-preprint and ask for PDF to be generated)

Useful links:

Preprint DOI :  https://doi.org/10.1101/2<IP_ADDRESS>1034
Confirm reviews returned by EPP: https://prod--epp.elifesciences.org/api/reviewed-preprints/102756/v1/reviews
To update the MECA path in the docmap: https://docs.google.com/spreadsheets/d/1mctCQuNFBjSn97Lihy7_vBO6z7-N-oqyLv4clyi6zHg

Step 3: Awaiting search reindex
This step adds the reviewed preprint to the homepage: https://elifesciences.org
The search reindex is triggered once an hour. We need the reviewed preprint to be indexed as the search application serves the journal homepage.
Useful links:

Jenkins pipeline to reindex search can be triggered sooner or monitored here: https://alfred.elifesciences.org/job/process/job/process-reindex-reviewed-preprints/

Step 4: Published! PDF requested
Waiting for PDF to be generated
Useful links:

PDF tracking: https://docs.google.com/spreadsheets/d/106_XeDjmuBae7gexOTNzg60lapeqjl2aRn9DzupGyS8/

Step 5: Introduce PDF to data folder and git repo
Upload PDF to relevent folder in git repo https://github.com/elifesciences/enhanced-preprints-data/
Step 6: Done!

[ ] Kettle is on!

WOS query sent


File I/O not synchronized immediately between rounds

I'm using the tournament manager in a way where the game schedule has every following game to also be in a new round, e.g.
...
game 15, round 0
game 16, round 1
game 17, round 2
...
Hoping that the TM would synchronize the File I/O after each round. It looks like that doesn't always work though.
For example, I tested with the following games: BotA vs BotB, BotB vs BotA, BotA vs BotB and in the third game, BotA didn't seem to have access to the second game.
What could the issue be? Is File I/O really synchronized after each round or could there be any delays?

It should be synchronized after every round if EnableBotFileIO is set to true in the server settings.

Yes, it is enabled. Weird...
Keep in mind that in this case, each game is a separate round.
On Thu, Mar 22, 2018 at 3:51 PM, Rick Kelly<EMAIL_ADDRESS>wrote:

It should be synchronized after every round if EnableBotFileIO is set to
true in the server settings.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/davechurchill/StarcraftAITournamentManager/issues/28#issuecomment-375312977,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF5gO81v28UHBov0H3E6ZyquSt0CDx8Wks5tg6xZgaJpZM4S26hI
.

--
BR

The server should print to the GUI log: "Moving Write Directory to Read Directory" every time it's about to do that. How often does that happen?

I can see it printed before every new game
On Thu, Mar 22, 2018, 16:28 Rick Kelly<EMAIL_ADDRESS>wrote:

The server should print to the GUI log: "Moving Write Directory to Read
Directory" every time it's about to do that. How often does that happen?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/davechurchill/StarcraftAITournamentManager/issues/28#issuecomment-375325833,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF5gO9WeRHZW2WeDa2JpeAb3lMoPquo-ks5tg7UGgaJpZM4S26hI
.

I just did a quick test with a two bot tournament and I'm seeing the correct behaviour (1vsall and allvsall). It shouldn't matter if you have a custom games list either. Any errors printed to the server console (not the GUI log)?

Nope, no errors. I mean files do get transferred from read/ to write/ as
expected. It's just that when you have multiple games with the same 2
players changing slots (A vs B, B vs A, A vs B) it is as if some of the
games in between (in this particular case B vs A) get lost in terms of data
stored into write/. Weird indeed...
On Thu, Mar 22, 2018 at 6:45 PM, Rick Kelly<EMAIL_ADDRESS>wrote:

I just did a quick test with a two bot tournament and I'm seeing the
correct behaviour (1vsall and allvsall). It shouldn't matter if you have a
custom games list either. Any errors printed to the server console (not the
GUI log)?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/davechurchill/StarcraftAITournamentManager/issues/28#issuecomment-375375463,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF5gO0-k3Itx_QQV8sEktbX1uTnOWQ5Vks5tg9UQgaJpZM4S26hI
.

--
BR


ci | diagnostics unit test...

Closed by GitHub build #40:

see the unit test issues report

Closed by GitHub build #41:

see the documentation issues report

Closed by GitHub build #42:

see the coverage verification issues report


Bug: Two LineBreak is disappeared when backspace in one linebreak (plain text mode)

Lexical version:
0.11.2 version
Steps To Reproduce

Type two line lexical editor (base editor)
Enter twice linebreak between typed two line
delete line break between typed two line

Link to code example:
https://codesandbox.io/s/lexical-plain-text-example-forked-mcdh3v?file=/src/onChange.js

The current behavior
delete two line break
The expected behavior
delete one line break
https://github.com/facebook/lexical/assets/16471540/d3dd7de1-c8db-450b-83ed-3ba48fcb5fe0
------------- video --------------

I can't reproduce this at https://playground.lexical.dev/?isRichText=false


fix flood protection rule

@ynasser25 @julianpool-pa - what's this for, does it need merging?

@ynasser25 @julianpool-pa - what's this for, does it need merging?

This is to correct the httpfloodprotection WAF rule. It was originally created wrong, so wasn't actually doing anything. This will first create it correctly, but in count mode, so won't actually limit anything. Then once we have confirmed it looks okay we can set the rule to block flood/ddos requests.


Shuffling stage is too slow

When training an index the shuffling stage runs too slowly.  This seems to be because we are storing 1 batch per partition (even empty partitions need a batch) and there is a lot of concatenation.  By storing a list array we can avoid both problems and the shuffling can actually completely quite quickly (in theory as fast as 6 minutes for 1B rows but might need many CPUs / RAM to achieve).  At the very least we should be able to finish in 1-2 hours.

https://github.com/lancedb/lance/pull/2492/commits/5709bcd88bc4ed7a62fba355d85bd320785b20ed describes a potential fix

Also need https://github.com/lancedb/lance/pull/2492/commits/c59478be12953fbdbc358ffe9206f0d58c12ced4


Annoyingly large font size in selected post

I find the large font size of the selected post quite irritating, especially on the smartphone.
I only have the iOS app and Chrome on the desktop, but I guess it's the same on Android.
Would it be possible to change the template to a smaller size, e.g. from 22px to18px?
To Reproduce
Click on a post in the feed, the font size of the post content increases (16px to 22px in Chrome).
Expected behavior
The font-size should be slightly larger, currently it is annoyingly huge. I think it would be nice if it was similar to X where it increases from 15px to 17px.
Screenshot
left side: current state 22px (Chrome desktop)
right side: proposal 18px

Going to put up a PR with a smaller font and discuss with the team. This is a stylistic choice so no promises, but want to give it a look.


[PLUGIN] Add Drift stake voter plugin

This is a simple plugin that allows users to vote using either native spl-gov deposits or gov tokens staked in the Drift insurance pool.
https://github.com/drift-labs/realms-vote-plugin
This PR should not be merged until the Civic stuff is

closing due to merge hell, see https://github.com/solana-labs/governance-ui/pull/2269/files


[WIP] Update to latest nightly

I want to log the progress on this one as I'm going to be OOO for a couple of weeks, and if anyone wants to pick it up in the meantime, feel free to do so; otherwise, I'll get back to it when I return.
The whole thing comes out a bit hacky for now, but that's rather expected.
The new sanity check procedure requires stage0 tools to be able to build for all the targets we're building for, not only for the host. I'm not sure if it's a bug or a feature I cannot grok, but fortunately it's worked around by setting the BOOTSTRAP_SKIP_TARGET_SANITY env var.
Then, some fun stuff comes in. After this change compiler-builtins requires RiscV targets to compile optimized C code with no easy way around that. Obviously, the host system's cc does not support our targets, so I ended up enabling clang and friends compilation in place and using them (with a couple of hacks around different target triple formats).
That works on Linux/x64 buuuut of course, MacOS/M2 minds its own thing, requiring C compiler at stage0, so I had to create a silly bootstrap calling into host tools that is later overwritten with clang et al.
The very last bit not working on MacOS is building the stage2 cargo (which I believe is the very last thing that is built at stage2), where it manages to screw up library paths somehow.
So, the current status is that it successfully builds for x86_64-unknown-linux-gnu but fails to build stage2 cargo for aarch64-apple-darwin.
CC @koute @athei

Okay, seems like I've hacked it together, and now it works, at least on my end (Manjaro Linux x86_64 and macOS Sonoma 14.6.1). For now, it's a well-balanced system of crutches and props, but I believe it's how it will be until everything we need is merged upstream (BTW, the risc32em is already there).
Whoever will come across this PR, please try it with other macOS versions and Linuxes.


Horizontal and vertical camera movement options

Currently, you can zoom with the mouse wheel and rotate the data set by click+dragging. It would be useful to have a way to move up/down and left/right relative to the plot area as well.
It might make sense to constrain movement to one axis at a time by default. For example, dragging left and right would rotate around the Y axis (as it does now), and dragging up and down would move the plot area up and down.
Creating "snap" points for rotation (0°, 45°, 90°, etc.) and translation would also be helpful.

Correct me if I'm wrong but you can move up/down and left/right relative to the plot area by rightclick+dragging.

You are correct, you can pan with right mouse button and rotate with left mouse button.
The other point that you make @kmck is great, some extra navigation options might be really useful.

Modifier keys on the rotation:

Holding down alt might move you into snap rotation mode - useful for when you really want to view at the graph from perfect positions.
Holding down shift will constrain movement to one axis.

Some 3d editing tools, like 3ds Max, have helper cube, called View Cube, in the corner of the visualization. It mimics the rotation of the graph, but clicking on it's sides helps you to move the camera to this position. It's a neat little thing that might be useful to bring here as well.


Update tests to use Endpoint Aliases

[x] This contribution adheres to CONTRIBUTING.md.

What does this Pull Request accomplish?
Fixes all the tests to use the updated name of the Endpoint Aliases section.
Why should this Pull Request be merged?
Without this change, all the tests will fail because the underlying scripting API is using the string Endpoint Aliases to get the properties, but the test system definitions do not contain that section until now.
What testing has been done?
Ran all the unit tests. Built and checked manually that import and export work correctly.

Should the scripting API be using the GUID to search, instead of using the name? That seems more robust.

Should the scripting API be using the GUID to search, instead of using the name? That seems more robust.

Yes, they should and that's one of my next PRs. But, I want to fix the tests anyway because I imagine we will disallow renaming of the section soon and I don't want out-of-date system definitions in the tests.


is there a way to implement scale filter after a concat?

I have a block of perfectly functional code that looks like this (irrelevant filters removed for brevity...)  It basically builds three sub streams with different filters, then concat's them back together at the end.
    slate = (
        ffmpeg.input(infile)
        #### do some substream specific filters here... ####
        .filter('scale', width='-4', height='480')
        .setpts('PTS-STARTPTS')
    )

    jump = (
        ffmpeg.input(infile)
        #### do some substream specific filters here... ####
        .filter('scale', width='-4', height='480')
        .setpts('PTS-STARTPTS')
    )

    freeze = (
        ffmpeg.input(infile)
        #### do some substream specific filters here... ####
        .filter('scale', width='-4', height='480')
        .setpts('PTS-STARTPTS')
    )

    joined = (
        ffmpeg
        .concat(slate, jump, freeze, v=1, a=0).node       # stitch it all together
    )

    out = (
        ffmpeg
        .output(joined[0], outfile, crf=22, format='mp4')     # encode that junk!
        .run()
    )

The code works as designed, but the .filter('scale') line is repetitive, opening the door for bugs and probably slowing down the whole process a fair bit.  Ideally, I'd like to have the concat operate on the native (un-scaled) substreams, and then at the very end scale the whole thing to whatever size I want.
But I haven't been able to figure out if this is possible (I don't see why it shouldn't be allowed to scale a concatenated stream?) or if it is possible, the correct syntax.  I saw another (open at time of writing) question regarding the use of .node here, which might be relevant but I also can't figure out what that part is doing...

Hi @laurentalacoque,
You can apply the scale filter at the end of the process, passing the filter as a output argument.
Like this:
    out = (
        ffmpeg
        .output(joined[0], outfile, crf=22, vf='scale=-4:480', format='mp4')
        .run()
    )

This works for me!

Thanks - I'd found this, but the completely different syntax makes things more difficult.  It should have been obvious, but what I actually CAN do is just move the .scale and .setpts lines into the output block, but they need to go BEFORE the actual .output() call.  Since the whole filter chain ends up getting evaluated at once, it doesn't matter in what location we append them as long as the dependency/graph is the same.


Cleanup and make consistent markdown files

files had a different line length
shell commands had leading $ prompt
add fenced code block language markers
use native markup where some HTML was embedded
fixup whitespace inline with community practice

This change is

Hi @philoserf thanks for your contribution.

that should do it

Hi @philoserf due to many changes, I think this PR will be very hard to merge. Is it ok when I pick up the most important changes to master? After this, you can create a new one or leave it as it is.

Will do. I will create a few smaller ones.


During inference, is the length of the input video sequence 100 or 60?

The article mentions that the length of the training samples is 60. However, in the provided inference script, the length used is 100.
So I'm confused.

same question


I cannot use data-clipboard-target like the example

Hello,
I've been trying to implement codes second item from the below address
https://github.com/zeroclipboard/zeroclipboard/blob/master/docs/instructions.md#text-to-copy
The below example looks like very nice. However I spent 8 hours and I couldn't be successful.
http://zeroclipboard.org/#demo
Actually I need to use ZeroClipboard for two different elements. I can accomplish if I use for just one elements. Otherwise every time second constructed element's copy operation works.

         Client ID:
         <button id="copy_id" data-clipboard-target="client_id">Copy ID</button>
         <input id="client_id" class="form-control" >

         Client ID:
         <button id="copy_secret" data-clipboard-target="client_secret">Copy Secret</button>
         <input id="client_secret" class="form-control" >

I had to use an alternate way;
var client = new ZeroClipboard( $('.clip_button'), {
      moviePath: "/js/ZeroClipboard.swf"
    } )

client.on("copy", function(e) {
	var clipboard = e.clipboardData;
	if(e.target.id == "copy_id")
		clipboard.setData("text/plain", $("#client_id").val())
	else
		clipboard.setData("text/plain", $("#client_secret").val())
})

Thank you all who have worked for this useful tool...

@efkan This should've worked fine and I would like to investigate further if it truly was not. Can you provide me with an otherwise-working JSFiddle/JSBin/CodePen/etc. of your setup?

For your particular case, the following should've been sufficient:


Update Preview version number

@JohanFreelancer9 Copy editing is needed for this PR. Thanks.

@brandber PR has been copyedited and is ready for final review, could you please check and merge? Thanks!

Can we merge this one? @scanum


Indent scope provider for fold method

Contributing guidelines

[X] I have read CONTRIBUTING.md
[X] I have read CODE_OF_CONDUCT.md

Module(s)
identscope
Description
Ability to fold code based on scope highlight.

Thanks for the suggestion!
Not exactly the same, but using set foldmethod=indent is close enough. So I don't it will be implemented in 'mini.indentscope'.

Yep, i'm using it right now and can't get accustomed to what I see and what I get :)


StackedInline no space between records

the separation between the inlines was better now when they were so close to each other it was hard to distinguish between them

Thanks for feedback but that was long standing UI issue (double boxed layout) which is fixed right now. If you want, you can always apply your own CSS styles to change the visual.


[lambda][alert] breaking out output classes across files

to: @jacknagz & @javuto
cc: @airbnb/streamalert-maintainers
size: large
resolves N/A
Background
The stream_alert/alert_processor/outputs.py file was getting unwieldily large and needs to be broken into files for each output class.
Changes

Breaks the output classes (SlackOutput, PagerDutyOutput, etc) into their own respective files, groups by service (ie: PagerDutyOutput and PagerDutyOutputV2 are in the pagerduty.py file).
This change incorporates a StreamAlertOutput factory style class decorator to be used for all output classes. This decorator is also used for caching of all output types.
Updating and massively simplifying unit tests for the various outputs.
Small update to docs for the @StreamAlertOutput usage

Testing

Unit tests & pylint all passing. CLI output adding verified as well.
Deployed in test account for verification.

Coverage increased (+0.1%) to 96.034% when pulling 7ee840122e90e4a86d0438b6f4114f47d0c70e97 on ryandeivert-output-class-breakout into 0e45f5a8e27411907c6d1e647a0dc35a3df93ebc on master.

Coverage increased (+0.1%) to 96.045% when pulling dcb3d51fcc846ee92db5ecadee22cb4b924e88d4 on ryandeivert-output-class-breakout into 1f5cb69da63eff15c72cbe545e906f89ed1076b6 on master.

Coverage increased (+0.1%) to 96.045% when pulling bb51b6487d68218a9df489b5db940bbef803006f on ryandeivert-output-class-breakout into 1f5cb69da63eff15c72cbe545e906f89ed1076b6 on master.


No reaction to pressing arrow keys on FF 32

I am using 1.4.0 and I found that cursor is not reacting to arrow keys on Firefox 32.0. After a little googling I found out that FF fires keypress event even on arrow keys, that's why 'keypressEvent' function is invoked and this condition (!(e.ctrlKey || e.altKey || e.metaKey || 32 > k) && k && 13 !== k) is true, so event is prevented by e.preventDefault() and cursor stays at the same position.

The same problem exists in Firefox 36 and 37.
Furthermore, it appears it is not limited to the arrow keys. If you type something in a masked input field and press tab, it will repeat the character to the left or right of the cursor.
Tested with both Firefox 36 and 37.

Quick and Dirty fix (IE8+, FF30+):
Add:
function specialKeys(k) {
    var spKeys = [35, 36, 37, 39]; // Home, End, Left, Right
    return spKeys.indexOf(k) >= 0;
}

Right above keypressEvent()
And in keypressEvent(), add to the if condition (at the end of the statement for example):
.. && !specialKeys(k)
Works in both IE & FF (not tested thoroughly with other browsers yet.)
You can make it more descriptive by changing the specialKeys function to something like this (it has the same effect):
function specialKeys(k) {
    var spKeys = { home: 35, end: 36, left: 37, right: 39 },
          isSpecialKey = false;
    for (sk in spKeys) {
        if (spKeys.hasOwnValue(sk) && spKeys[sk] === k) {
            isSpecialKey = true;
            break;
        }
    }
    return isSpecialKey;
}

Cheers, nice plugin btw.
Julio

Thanks @JulioFS ! Your hack works for me.

Hi,
This issue is still in 1.4.1, should it have been fixed in this release?


[Proposal] Use json object to be encoded in base64 for magic link

Currently on FE we decode the base64 magic link code into email and otp fields. But if we are going to use phone number field or other field for magic link let's say then it will not work. One good way to solve it could be that we could encode the json object to base64 for TokenObtainRequest OpenAPI model.
Currently encoded data format in base64 string for magic link
email/otp
// example
<EMAIL_ADDRESS>
Suggesting format
{

"email": "email", // or "phone": "phone"
"otp":"otp"
}

Then I could create the object TokenObtainRequest.fromJson(json) and we could allow user to login via email/phone etc with OTP without much problem.

Not needed


KAFKA-9748: extend EosIntegrationTest for EOS-beta

Call for review @abbccdda @guozhangwang

Only the broken StandbyTaskEOSIntegrationTest failed.

Updated this PR (also rebased to pickup the fix for the broken test).

Build timed out. Waiting for reviews before retesting.

Address review comments and rebased to resolve merge conflicts.

Updated this PR (including rebase to resolve merge conflicts).

Retest this please.

Retest this please.

Java 11: kafka.api.ConsumerBounceTest.testRollingBrokerRestartsWithSmallerMaxGroupSizeConfigDisruptsBigGroup
Java 8: org.apache.kafka.streams.integration.QueryableStateIntegrationTest.concurrentAccesses

@abbccdda

and disable certain upgrade/downgrade tests

This PR does not contain any upgrade/downgrade tests thus there is nothing to be disabled. The other PR was https://github.com/apache/kafka/pull/8367 and it's merged already with the backward compatibility system test disabled.
Actual upgrade tests will be added in separate future PRs.

Java 8 passed.
Java 11 timed out.
Retest this please.

Java 8: org.apache.kafka.streams.integration.QueryableStateIntegrationTest
Java 11: kafka.api.PlaintextConsumerTest.testLowMaxFetchSizeForRequestAndPartition
Retest this please.

Retest this please.

Java 8 timed out (but did pass above)
Java 11: org.apache.kafka.streams.integration.QueryableStateIntegrationTest.shouldAllowConcurrentAccesses


fix: ColdStart capture warning and wrong metrics timestamp

Please provide the issue number

Issue number: 206 & 207
Summary
This PR is to address two minor bugs identified in metrics library
Changes

Please provide a summary of what's being changed

Logic for empty metrics is changed not to show warning when user capture ColdStart metric
Timestamp for the context has change to generate a new time every time context flushes and serialises EMF metrics to CloudWatch logs

User experience

Please share what the user experience looks like before and after this change

Checklist
Please leave checklist items unchecked if they do not apply to your change.

[x] Meets tenets criteria
[x] I have performed a self-review of this change
[x] Changes have been tested
[ ] Changes are documented
[x] PR title follows conventional commit semantics

Is this a breaking change?
RFC issue number:
Checklist:

[ ] Migration process documented
[ ] Implement warnings (if it can live side by side)

Acknowledgment
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Disclaimer: We value your time and bandwidth. As such, any pull requests created on non-triaged issues might not be successful.

Codecov Report
Base: 56.35% // Head: 56.39% // Increases project coverage by +0.03% :tada:

Coverage data is based on head (a46a887) compared to base (f854e95).
Patch coverage: 55.55% of modified lines in pull request are covered.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop     #208      +/-   ##
===========================================
+ Coverage    56.35%   56.39%   +0.03%
===========================================
  Files           41       41
  Lines         1778     1784       +6
===========================================
+ Hits          1002     1006       +4
- Misses         776      778       +2

Flag
Coverage Δ

unittests
56.39% <55.55%> (+0.03%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

.../AWS.Lambda.Powertools.Metrics/MetricsAttribute.cs
0.00% <0.00%> (ø)

...aries/src/AWS.Lambda.Powertools.Metrics/Metrics.cs
84.25% <50.00%> (+0.25%)
:arrow_up:

...owertools.Metrics/Internal/MetricsAspectHandler.cs
76.00% <80.00%> (-0.60%)
:arrow_down:

...rc/AWS.Lambda.Powertools.Metrics/Model/Metadata.cs
97.91% <100.00%> (-0.05%)
:arrow_down:

...ls.Metrics/Serializer/JsonNamingPolicyDecorator.cs
57.14% <0.00%> (ø)

...da.Powertools.Logging/Internal/PowertoolsLogger.cs
91.01% <0.00%> (+0.05%)
:arrow_up:

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

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Pass arguments to ffmpeg

Checklist

[x] I'm asking a question
[x] I've looked through the README and FAQ for similar questions
[x] I've searched the bugtracker for similar questions including closed ones

Question
Is it possible to pass arguments to ffmpeg directly from youtube-dl cli?
I did some search, and have found one example in the python code level, but I'm wondering if it is possible from youtube-dl cli.
The use case is, for --extract-audio to convert video files to audio-only files, or doing audio-only downloading, it'll be super if I can increase the audio volume using ffmpeg option on the fly, instead of me doing it again afterwards.
I don't know if it is even possible, so I'm just asking. thx

--postprocessor-args

Thanks.
Just even having used -v I cannot really tell if my option has been passed to ffmpeg or not.
Anyway, thanks.

--postprocessor-args

Hey @pukkandan but using this nothing is being passed after using -v for verbosity.

Agree, nothing is being passed.
Thanks the for the confirmation, thus, reopening the issue.

Please provide the verbose log.

I am trying to download a video, but the audio is empty, so I wanted to set analyzeduration and probesize higher (as recommended), to a value refrenced here. I assumed that it should be able to do that with --postprocessor-args, which it seems does not work.
I executed following command (Ubuntu 20.04 on WSL2):
youtube-dl https://URL_REPLACED/video_1629/1806/1806.m3u8 --postprocessor-args "-analyzeduration<PHONE_NUMBER> -probesize<PHONE_NUMBER>" -v
Respective result @kikuyan:

[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['https://URL_REPLACED/video_1629/1806/1806.m3u8', '--postprocessor-args', '-analyzeduration<PHONE_NUMBER> -probesize<PHONE_NUMBER>', '-v']
[debug] Encodings: locale UTF-8, fs utf-8, out utf-8, pref UTF-8
[debug] youtube-dl version 2021.06.06
[debug] Python version 3.8.10 (CPython) - Linux-<IP_ADDRESS>-microsoft-standard-WSL2-x86_64-with-glibc2.29
[debug] exe versions: ffmpeg 4.2.4, ffprobe 4.2.4
[debug] Proxy map: {}
[generic] 1806: Requesting header
[generic] 1806: Downloading m3u8 information
[debug] Default format spec: bestvideo+bestaudio/best
[debug] Invoking downloader on 'https://URL_REPLACED/video_1629/1806/1806_hls.m3u8'
[download] Destination: 1806-1806.mp4
[debug] ffmpeg command line: ffmpeg -y -loglevel verbose -headers 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.15 Safari/537.36
Accept-Charset: ISO-8859-1,utf-8;q=0.7,;q=0.7
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/*;q=0.8
Accept-Encoding: gzip, deflate
Accept-Language: en-us,en;q=0.5
' -i https://URL_REPLACED/video_1629/1806/1806_hls.m3u8 -c copy -f mp4 file:1806-1806.mp4.part
ffmpeg version 4.2.4-1ubuntu0.1 Copyright (c) 2000-2020 the FFmpeg developers
built with gcc 9 (Ubuntu 9.3.0-10ubuntu2)
configuration: --prefix=/usr --extra-version=1ubuntu0.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-nvenc --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
libavutil      56. 31.100 / 56. 31.100
libavcodec     58. 54.100 / 58. 54.100
libavformat    58. 29.100 / 58. 29.100
libavdevice    58.  8.100 / 58.  8.100
libavfilter     7. 57.100 /  7. 57.100
libavresample   4.  0.  0 /  4.  0.  0
libswscale      5.  5.100 /  5.  5.100
libswresample   3.  5.100 /  3.  5.100
libpostproc    55.  5.100 / 55.  5.100
[tcp @ 0x5591834155c0] Starting connection attempt to <IP_ADDRESS> port 443
[tcp @ 0x5591834155c0] Successfully connected to <IP_ADDRESS> port 443
[hls @ 0x559183412500] Skip ('#EXT-X-VERSION:3')
[hls @ 0x559183412500] HLS request for url 'https://URL_REPLACED/video_1629/1806/1806_hls_00001.ts', offset 0, playlist 0
[hls @ 0x559183412500] Opening 'https://URL_REPLACED/video_1629/1806/1806_hls_00001.ts' for reading
[tcp @ 0x5591836ecd00] Starting connection attempt to <IP_ADDRESS> port 443
[tcp @ 0x5591836ecd00] Successfully connected to <IP_ADDRESS> port 443
[hls @ 0x559183412500] HLS request for url 'https://URL_REPLACED/video_1629/1806/1806_hls_00002.ts', offset 0, playlist 0
[hls @ 0x559183412500] Opening 'https://URL_REPLACED/video_1629/1806/1806_hls_00002.ts' for reading
[tcp @ 0x559183712080] Starting connection attempt to <IP_ADDRESS> port 443
[tcp @ 0x559183712080] Successfully connected to <IP_ADDRESS> port 443
[h264 @ 0x559183a015c0] Reinit context to 1920x1088, pix_fmt: yuv420p
[hls @ 0x559183412500] max_analyze_duration 5000000 reached at 5005000 microseconds st:0
[hls @ 0x559183412500] Could not find codec parameters for stream 1 (Audio: aac ([15][0][0][0] / 0x000F), 0 channels, fltp): unspecified sample rate
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Input #0, hls, from 'https://URL_REPLACED/video_1629/1806/1806_hls.m3u8':
Duration: 00:04:37.00, start: 2.033367, bitrate: 0 kb/s
Program 0
Metadata:
variant_bitrate : 0
Stream #0:0: Video: h264 (High), 1 reference frame ([27][0][0][0] / 0x001B), yuv420p(tv, bt709, left), 1920x1080 (1920x1088) [SAR 1:1 DAR 16:9], 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
Metadata:
variant_bitrate : 0
Stream #0:1: Audio: aac ([15][0][0][0] / 0x000F), 0 channels, fltp
Metadata:
variant_bitrate : 0
Output #0, mp4, to 'file:1806-1806.mp4.part':
Metadata:
encoder         : Lavf58.29.100
Stream #0:0: Video: h264 (High), 1 reference frame (avc1 / 0x31637661), yuv420p(tv, bt709, left), 1920x1080 (0x0) [SAR 1:1 DAR 16:9], q=2-31, 29.97 fps, 29.97 tbr, 90k tbn, 90k tbc
Metadata:
variant_bitrate : 0
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Press [q] to stop, [?] for help
[hls @ 0x559183412500] HLS request for url 'https://URL_REPLACED/video_1629/1806/1806_hls_00003.ts', offset 0, playlist 0
[https @ 0x5591836ea740] Opening 'https://URL_REPLACED/video_1629/1806/1806_hls_00003.ts' for reading
[hls @ 0x559183412500] HLS request for url 'https://URL_REPLACED/video_1629/1806/1806_hls_00004.ts', offset 0, playlist 0
[https @ 0x559183709a40] Opening 'https://URL_REPLACED/video_1629/1806/1806_hls_00004.ts' for reading
[hls @ 0x559183412500] HLS request for url 'https://URL_REPLACED/video_1629/1806/1806_hls_00005.ts', offset 0, playlist 0
[https @ 0x5591836ea740] Opening 'https://URL_REPLACED/video_1629/1806/1806_hls_00005.ts' for reading
[hls @ 0x559183412500] HLS request for url 'https://URL_REPLACED/video_1629/1806/1806_hls_00006.ts', offset 0, playlist 0
[https @ 0x559183709a40] Opening 'https://URL_REPLACED/video_1629/1806/1806_hls_00006.ts' for reading
[hls @ 0x559183412500] HLS request for url 'https://URL_REPLACED/video_1629/1806/1806_hls_00007.ts', offset 0, playlist 0
[https @ 0x5591836ea740] Opening 'https://URL_REPLACED/video_1629/1806/1806_hls_00007.ts' for reading
[hls @ 0x559183412500] HLS request for url 'https://URL_REPLACED/video_1629/1806/1806_hls_00008.ts', offset 0, playlist 0
[https @ 0x559183709a40] Opening 'https://URL_REPLACED/video_1629/1806/1806_hls_00008.ts' for reading
[hls @ 0x559183412500] HLS request for url 'https://URL_REPLACED/video_1629/1806/1806_hls_00009.ts', offset 0, playlist 0
[https @ 0x5591836ea740] Opening 'https://URL_REPLACED/video_1629/1806/1806_hls_00009.ts' for reading
[hls @ 0x559183412500] HLS request for url 'https://URL_REPLACED/video_1629/1806/1806_hls_00010.ts', offset 0, playlist 0
[https @ 0x559183709a40] Opening 'https://URL_REPLACED/video_1629/1806/1806_hls_00010.ts' for reading
[hls @ 0x559183412500] HLS request for url 'https://URL_REPLACED/video_1629/1806/1806_hls_00011.ts', offset 0, playlist 0
[https @ 0x5591836ea740] Opening 'https://URL_REPLACED/video_1629/1806/1806_hls_00011.ts' for reading
[hls @ 0x559183412500] HLS request for url 'https://URL_REPLACED/video_1629/1806/1806_hls_00012.ts', offset 0, playlist 0
[https @ 0x559183709a40] Opening 'https://URL_REPLACED/video_1629/1806/1806_hls_00012.ts' for reading
[hls @ 0x559183412500] HLS request for url 'https://URL_REPLACED/video_1629/1806/1806_hls_00013.ts', offset 0, playlist 0
[https @ 0x5591836ea740] Opening 'https://URL_REPLACED/video_1629/1806/1806_hls_00013.ts' for reading
[hls @ 0x559183412500] HLS request for url 'https://URL_REPLACED/video_1629/1806/1806_hls_00014.ts', offset 0, playlist 0
[https @ 0x559183709a40] Opening 'https://URL_REPLACED/video_1629/1806/1806_hls_00014.ts' for reading
[hls @ 0x559183412500] HLS request for url 'https://URL_REPLACED/video_1629/1806/1806_hls_00015.ts', offset 0, playlist 0
[https @ 0x5591836ea740] Opening 'https://URL_REPLACED/video_1629/1806/1806_hls_00015.ts' for reading
[hls @ 0x559183412500] HLS request for url 'https://URL_REPLACED/video_1629/1806/1806_hls_00016.ts', offset 0, playlist 0
[https @ 0x559183709a40] Opening 'https://URL_REPLACED/video_1629/1806/1806_hls_00016.ts' for reading
[hls @ 0x559183412500] HLS request for url 'https://URL_REPLACED/video_1629/1806/1806_hls_00017.ts', offset 0, playlist 0
[https @ 0x5591836ea740] Opening 'https://URL_REPLACED/video_1629/1806/1806_hls_00017.ts' for reading
[hls @ 0x559183412500] HLS request for url 'https://URL_REPLACED/video_1629/1806/1806_hls_00018.ts', offset 0, playlist 0
[https @ 0x559183709a40] Opening 'https://URL_REPLACED/video_1629/1806/1806_hls_00018.ts' for reading
[hls @ 0x559183412500] HLS request for url 'https://URL_REPLACED/video_1629/1806/1806_hls_00019.ts', offset 0, playlist 0
[https @ 0x5591836ea740] Opening 'https://URL_REPLACED/video_1629/1806/1806_hls_00019.ts' for reading
[hls @ 0x559183412500] HLS request for url 'https://URL_REPLACED/video_1629/1806/1806_hls_00020.ts', offset 0, playlist 0
[https @ 0x559183709a40] Opening 'https://URL_REPLACED/video_1629/1806/1806_hls_00020.ts' for reading
[hls @ 0x559183412500] HLS request for url 'https://URL_REPLACED/video_1629/1806/1806_hls_00021.ts', offset 0, playlist 0
[https @ 0x5591836ea740] Opening 'https://URL_REPLACED/video_1629/1806/1806_hls_00021.ts' for reading
[hls @ 0x559183412500] HLS request for url 'https://URL_REPLACED/video_1629/1806/1806_hls_00022.ts', offset 0, playlist 0
[https @ 0x559183709a40] Opening 'https://URL_REPLACED/video_1629/1806/1806_hls_00022.ts' for reading
[hls @ 0x559183412500] HLS request for url 'https://URL_REPLACED/video_1629/1806/1806_hls_00023.ts', offset 0, playlist 0
[https @ 0x5591836ea740] Opening 'https://URL_REPLACED/video_1629/1806/1806_hls_00023.ts' for reading
[hls @ 0x559183412500] HLS request for url 'https://URL_REPLACED/video_1629/1806/1806_hls_00024.ts', offset 0, playlist 0
[https @ 0x559183709a40] Opening 'https://URL_REPLACED/video_1629/1806/1806_hls_00024.ts' for reading
No more output streams to write to, finishing.
frame= 8296 fps=4509 q=-1.0 Lsize=    7528kB time=00:04:36.74 bitrate= 222.9kbits/s speed= 150x
video:7431kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.316245%
Input file #0 (https://URL_REPLACED/video_1629/1806/1806_hls.m3u8):
Input stream #0:0 (video): 8296 packets read (7608919 bytes);
Input stream #0:1 (audio): 12975 packets read (4428800 bytes);
Total: 21271 packets (12037719 bytes) demuxed
Output file #0 (file:1806-1806.mp4.part):
Output stream #0:0 (video): 8296 packets muxed (7608919 bytes);
Total: 8296 packets (7608919 bytes) muxed
[AVIOContext @ 0x559183e0bc40] Statistics: 2 seeks, 33 writeouts
[AVIOContext @ 0x559183a03040] Statistics: 6142524 bytes read, 0 seeks
[AVIOContext @ 0x55918370c9c0] Statistics: 7371668 bytes read, 0 seeks
[AVIOContext @ 0x5591836f0140] Statistics: 833 bytes read, 0 seeks
[ffmpeg] Downloaded 7709071 bytes
[download] 100% of 7.35MiB in 00:02

Thanks in advance!

@UliGall
In your case, ffmpeg IS downloading, not post-processing. You can pass arguments with --external-downloader-args.

Thanks @kikuyan, that solved (at least) my problem!


fix flipped function arguments

In package.go you send assetUrl to assetName and vice versa
https://github.com/creativeprojects/go-selfupdate/blob/ce6530a4d21d788d48970e49d83a2d9f88cadd27/package.go#L32
https://github.com/creativeprojects/go-selfupdate/blob/ce6530a4d21d788d48970e49d83a2d9f88cadd27/update.go#L92

Well spotted!
Thanks for the fix 👍🏻


Add CCCMYC Domain.

School Offical Website:
https://www.cccmyc.edu.hk/
Prove of computer related course:
https://www.cccmyc.edu.hk/doc/2021/School Curriculum Policy (Sept 2020 ).pdf (page9, 10)

@XiaoXingYuan Pull request merged. Thank you!


Can't run the demo.

I tried to run the demo command like this:
python demo/python/porcupine_demo.py --keyword_file_paths resources/keyword_files/blueberry_windows.ppn
But i got this error:
Traceback (most recent call last):
  File "demo/python/porcupine_demo.py", line 204, in <module>
    input_device_index=args.input_audio_device_index).run()
  File "demo/python/porcupine_demo.py", line 92, in run
    sensitivities=[self._sensitivity] * num_keywords)
  File "demo/python\../../binding/python\porcupine.py", line 69, in __init__
    library = cdll.LoadLibrary(library_path)
  File "C:\Python\lib\ctypes\__init__.py", line 426, in LoadLibrary
    return self._dlltype(name)
  File "C:\Python\lib\ctypes\__init__.py", line 348, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: [WinError 126] The specified module could not be found

What can i do to fix this problem

Fredrik

Hi Fredrik, What version of Windows and Python are you using? (32/64bit).

I'm using python 3.6.6 and windows 10 $

32-bit or 64-bit? I suspect that you are using a 64-bit OS but 32-bit python ...

Hmmm. Yes i'm using 64-bit... But how does i check if python is 32-bit? @kenarsa

Thanks @kenarsa it worked. I reinstalled python because i had python 32-bit and i installed the 64-bit and it helped 👍  Thanks again - Fredrik :)

anytime. happy it worked.


AngularJs and Checkbox problem

Checkbox for some reason disables ng-submit and doesn't track changes. I created a plunkr to demonstrate this issue. (sorry jsfiddle doesn't work very well).
http://plnkr.co/edit/Ns9eZp?p=preview
I really want to use the modern looking checkbox instead of ugly default one. Any ideas?

I got it to work inside a ng-repeat by using the non-javascript setup.

                    <input type="checkbox" id="{{$index}}-cb" ng-model="header.active">

@geemang2000 Thanks ! I confirm this works without any semantic javascript as described here http://semantic-ui.com/modules/checkbox.html#basic-checkbox
but this requires that the id of the input element matches the for attribute of the label element.

@ozeebee I mistakenly left some angularjs {{ }} stuff in there.

@ozeebee , @geemang2000 thanks. This helped me as well. No more any semantic js.

I'm doing it the way described above (with matching id and for) but it fires a function only after second click. What can i miss?

@sobakinet I had the same problem and it turned out I was still running $(".ui.checkbox").checkbox().  Commenting that out helped.

I had the sam problem. this is my solution :
I create a directive named ckeck
In my js
(function() {
    'use strict';

    angular
        .module('exampleApp')
        .directive('check', check);
 function check ( ) {

        var directive = {
            link: link,
            restrict: 'AE',
            scope:true
        };
        return directive;
   function link(scope, element, attrs) {
element.on("click", function () {scope.$apply(attrs["check"]);
});
        }
    }

})();

In my html document

<input type="radio" name="privacy" ng-checked="ctrl.datavalue">
Toggle

Thanks @jeblister, this is working great.

I had the same problem, but I worked out a non-directive based solution.
Semantic UI renders the radio or checkbox in CSS as a :before element to the label, and hides the original html input radio and checkbox. Hence, if you click on it in a ng-repeat generated list of radio or checkbox choices, you ain't gonna get anywhere.
What I did was to use the {{option.description}} method.
so, in the  field, add an id="someUniqueID" that corresponds to the label, and it should work.
Here's my sample code:
<form name="myForm" class="ui form">

{{item.statement}}

<input  type="radio" ng-model="item.result" ng-value="{{choice.score}}" id="{{'qn'+item.qn_no+'s'+choice.score}}" ng-if="choice.type=='radio' "/>
`<input type="checkbox" ng-model="item.result[$index]" ng-value="{{choice.score}}" id="{{'qn'+item.qn_no+'s'+choice.score}}" ng-if="choice.type=='checkbox' " />`

	`<textarea ng-if="choice.type=='textarea'" ng-model="item.result[$index]"></textarea>`
	`<label for="{{'qn'+item.qn_no +'s'+ choice.score}}">{{choice.choice}}</label>`
`</div>`

`</div>`

</form>
I have a nested ng-repeat array. I also have a conditional ng-class for the items in my nested array. So, based on the type of input [radio, checkbox or textarea], the semantic styling is applied accordingly with ng-if. Hope this is helpful for anyone doing dynamically loaded forms from an array.

it work!!
div(class='inline field')
            div(class='ui checkbox', ng-click='vm.input.agree =! vm.input.agree')
                input(type='checkbox', name='agree', ng-model='vm.input.agree', ng-required='true')
                label
                    | I agree to the terms and conditions

Just curious @sensugaz what framework or language are you using ?


include libstdc++ into release

copy libstdc++ that was used and libtinfo to the install/lib and git add it, so that the release works consistently (or possibly add them to some lib-fallback and use them only when the libstdc++ on the system does not work)

Done


🐛 unexpected keyword argument 'silentId'

What version of Integration has the issue?
V2.7.3
System Health details
System Information

version
core-2023.2.5

installation_type
Home Assistant Container

dev
false

hassio
false

docker
true

user
root

virtualenv
false

python_version
3.10.7

os_name
Linux

os_version
5.15.0-60-generic

arch
x86_64

timezone
Europe/Copenhagen

config_dir
/config

Home Assistant Community Store

GitHub API
ok

GitHub Content
ok

GitHub Web
ok

GitHub API Calls Remaining
4993

Installed Version
1.30.1

Stage
running

Available Repositories
1291

Downloaded Repositories
41

Home Assistant Cloud

logged_in
false

can_reach_cert_server
ok

can_reach_cloud_auth
ok

can_reach_cloud
ok

Dashboards

dashboards
2

resources
21

views
5

mode
storage

Recorder

oldest_recorder_run
February 13, 2023 at 23:05

current_recorder_run
February 23, 2023 at 12:10

database_engine
mysql

database_version
10.11.2

Checklist

[X] I have enabled debug logging for my installation.
[X] This issue only contains 1 issue (if you have multiple issues, open one issue for each issue).

Describe the issue
Toggling the Watch Silent switch on returns an error.
It is possible to turn them off, but they won't turn on within Home Assistant.
Reproduction steps

turn off Silent switch
try and turn it on again
error message appears and it does not get turned on

Debug logs
Logger: homeassistant.components.websocket_api.http.connection
Source: custom_components/xplora_watch/switch.py:192
Integration: Home Assistant WebSocket API (documentation, issues)
First occurred: 13:48:18 (1 occurrences)
Last logged: 13:48:18

[140114939648160] PyXploraApi.setEnableSilentTime() got an unexpected keyword argument 'silentId'
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 200, in handle_call_service
    await hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 1787, in async_call
    task.result()
  File "/usr/src/homeassistant/homeassistant/core.py", line 1824, in _execute_service
    await cast(Callable[[ServiceCall], Awaitable[None]], handler.job.target)(
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 213, in handle_service
    await service.entity_service_call(
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 680, in entity_service_call
    future.result()  # pop exception if have
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 968, in async_request_call
    await coro
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 720, in _handle_entity_call
    await result
  File "/config/custom_components/xplora_watch/switch.py", line 192, in async_turn_on
    silents = await self.coordinator.controller.setEnableSilentTime(silentId=self._silent[ATTR_ID])
TypeError: PyXploraApi.setEnableSilentTime() got an unexpected keyword argument 'silentId'

It still happens on V2.7.5. Only now I can't toggle the switch off. Before it was the other way around.
Logger: homeassistant.components.websocket_api.http.connection
Source: custom_components/xplora_watch/switch.py:199
Integration: Home Assistant WebSocket API (documentation, issues)
First occurred: 16:55:23 (2 occurrences)
Last logged: 16:55:36
[140077349118128] PyXploraApi.setDisableSilentTime() got an unexpected keyword argument 'silent_id'
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 200, in handle_call_service
await hass.services.async_call(
File "/usr/src/homeassistant/homeassistant/core.py", line 1787, in async_call
task.result()
File "/usr/src/homeassistant/homeassistant/core.py", line 1824, in _execute_service
await cast(Callable[[ServiceCall], Awaitable[None]], handler.job.target)(
File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 213, in handle_service
await service.entity_service_call(
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 680, in entity_service_call
future.result()  # pop exception if have
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 968, in async_request_call
await coro
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 720, in _handle_entity_call
await result
File "/config/custom_components/xplora_watch/switch.py", line 199, in async_turn_off
silents = await self.coordinator.controller.setDisableSilentTime(silent_id=self._silent[ATTR_ID])
TypeError: PyXploraApi.setDisableSilentTime() got an unexpected keyword argument 'silent_id'

Sorry, I have an error in the library, I will fix it as soon as possible.


Ability to include music metadata in downloaded file

First of all, Thanks a lot for the great program!
Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
I always have to tag all the downloaded music after downloading, but it is a little uneasy when there are no initial metadata within the downloaded file.
Describe the solution you'd like
A clear and concise description of what you want to happen.
It would be great if the downloaded file can include embedded metadata such as title, artist, albumArtist, album, trackNumber, lyrics, album image, etc.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
I have tried to fork this project and include this feature but sadly I am not familiar with PHP, so I don't really understand how to contribute and run this project locally.
Additional context
Add any other context or screenshots about the feature request here.
Possibly useful information:
https://soundcharts.com/blog/music-metadata

@SheepYY039
I have no time at present to realize this good idea.
These are the local run steps.

Install PHP(>=8.1).
git clone https://github.com/guanguans/music-dl.git && cd music-dl
Just execute the command(...path/php-binary music-dl) in the terminal.

This is the relevant code for the download section.
public function download(string $url, string $savePath): void
{
    $this->createHttpClient()->get($url, [
        'sink' => $savePath,
        'progress' => static function (int $totalDownload, int $downloaded) use (&$progress, $savePath): void {
            if (0 === $totalDownload || 0 === $downloaded || 'submit' === $progress?->state) {
                return;
            }

            if (! $progress instanceof Progress) {
                /** @noinspection PhpVoidFunctionResultUsedInspection */
                $progress = tap(progress($savePath, $totalDownload))->start();
            }

            value(static function (Progress $progress, int $downloaded): void {
                $progress->progress = $downloaded;
                $progress->advance(0);
            }, $progress, $downloaded);

            if ($totalDownload === $downloaded) {
                $progress->finish();
            }
        },
    ]);
}

😃 Looking forward to your code implementation and PR.


Unable to find timezone abbreviation from Date.prototype.toString()

Hello I came across the moment.js site via a forum and clicked my way through it, when I came across the unit test - which failed 2 tests what I want to report here:
UserAgent:
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.77 Safari/535.7 (Chrome 16.0.912.77 m)
Timezone:
UTC+1
Failed tests (# 28):
http://pastebin.com/bQsDuxdH
*Title edited by timrwood

I get the same error in the unit-tests and I'm in UTC+1 (previously known as GMT+1) as well.
new Date().toString() prints "Sat Feb 11 2012 02:15:10 GMT+0100" in Firefox 10, "Sat Feb 11 2012 02:18:29 GMT+0100 (W. Europe Standard Time)" in Chrome 16 and "Sat Feb 11 02:18:59 UTC+0100 2012" in Internet Explorer 9

Hmm, I was afraid of this. The problem is that Date.prototype.toString returns such different results. That is the only place to get the timezone name (PST, CST, EST, etc). If this method is not returning any timezone information (as is the case with FF10 and IE9, there is no way to get it.
Perhaps it's time to depreciate? Or is it acceptable to just note the issue in the docs?

4318 passed, 2 failed. 2715 milliseconds.
Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11
UTC +2 (Kyiv, Ukraine)
format timezone 2 passed,2 failed.
---> Something like "PST"
AssertionError:  ---> Something like "PST"
at Object.ok (http://momentjs.com/js/tests.js?=120203_183019:1526:39)
at http://momentjs.com/js/tests.js?=120203_183019:2413:14
at Object.runTest (http://momentjs.com/js/tests.js?=120203_183019:1702:9)
at http://momentjs.com/js/tests.js?=120203_183019:1748:25
at http://momentjs.com/js/tests.js?=120203_183019:1006:13
at http://momentjs.com/js/tests.js?=120203_183019:616:13
at http://momentjs.com/js/tests.js?=120203_183019:627:25
at http://momentjs.com/js/tests.js?=120203_183019:1008:17
at http://momentjs.com/js/tests.js?=120203_183019:1589:17
---> Something like "PST"
AssertionError:  ---> Something like "PST"
at Object.ok (http://momentjs.com/js/tests.js?=120203_183019:1526:39)
at http://momentjs.com/js/tests.js?=120203_183019:2414:14
at Object.runTest (http://momentjs.com/js/tests.js?=120203_183019:1702:9)
at http://momentjs.com/js/tests.js?=120203_183019:1748:25
at http://momentjs.com/js/tests.js?=120203_183019:1006:13
at http://momentjs.com/js/tests.js?=120203_183019:616:13
at http://momentjs.com/js/tests.js?=120203_183019:627:25
at http://momentjs.com/js/tests.js?=120203_183019:1008:17
at http://momentjs.com/js/tests.js?=120203_183019:1589:17
+02:00 ---> Something like "+07:30"
+0200 ---> Something like "+0700"

I also get the same failing test # 28. My timezone is GMT -3.
Agent:
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.66 Safari/535.11
Failed test: http://pastebin.com/dsWHMF3h
.:.
Agent:
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:10.0.2) Gecko/20100101 Firefox/10.0.2
or
Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; Zune 4.7; .NET4.0E)
Failed test: http://pastebin.com/6t6JP9fu

So, asking just to make sure I understand: There is no replacement for the deprecated 'z' format?

If I have a timestamp in the ISO-8601 format, such as:
2014-07-25T18:00:00-04:00

And I want to display this timestamp as the following:
6:00 PM EST

Does moment no longer support this formatting? All of the timezone data is included in my timestamp, and I only want to display it directly without transforming the timezone in any way.

That does not actually include the timezone. There can be several timezone names that correspond to the same UTC offset, especially when considering the possibilities of varying DST. You cannot infer from "UTC-4:00" that the timezone is EST.

For clarification, the z formatter still works when using moment-timezone with a specific zone - since the abbreviation can be pulled from the time zone data.

Just mentioning this now - if you use
new Date().toTimeString()
you get the same result across all browsers as far as I have tried.

Hi I see above that format('z') is deprecated. also in moment docs, i see it is been deprecated from 1.6.0. I am using 2.11.0 now, i can use the 'z' to display timezone (PST/PDT) based on offset.
Should i not to use this 'z' in my code now? can you please tell exact alternative to display PST instead of -/+8

@themakshter - no, you do not get the same result across all browsers.  OS, browser version, and language play into it heavily - and there is no consistency requirement in the spec.

@Shobana16 - If you just do moment().format('z'), it will always return "".
If you're using moment-timezone, and do something like moment.tz('America/Los_Angeles').format('z'), then you will get a valid response.
z is fine with moment-timezone.  It does nothing on a plain moment.

Thank you for the comments MJ. Yeah i am using 'z' with moment-timezone only. Ok cool will remain my code with 'z'. !

Just a note to add, as of moment-timezone 0.5.0, you can guess at the local time zone, which opens the door for:
var abbreviation = moment.tz(moment.tz.guess()).format('z');

This is ok, but be aware that:

It's just a guess.  It might guess wrong.
If it does guess wrong, there's still a possibility that the abbreviation could be correct, as many similar time zones will use the same abbreviations, such as how Europe/Paris and Europe/Berlin both use CET and CEST.
However, there's no guarantees.  If it guesses wrong, you might present the wrong abbreviation.

We might also consider adapting moment.js such that if moment-timezone is available that it could try to do this automatically to re-enable the z formatter.  Though this is not happening currently.

var abbreviation = moment.tz(moment.tz.guess()).format('zz'); doesn't seem to work (with two zs). Am I only able to retrieve "EDT" and not "Eastern Daylight Time"?
Thanks!

Ahhh, I found that http://momentjs.com/timezone/docs/#/using-timezones/formatting/ says: To provide long form names, you can override moment.fn.zoneName and use the zz token.
[and much more...]
Thanks.

One thing is confusing though. In current version (or as it is stated "as of 1.6.0") there is no way to show timezone without using separate moment-timezone. But when I do moment(...).toString() it shows for example GMT in the end. So is it a bug, or one solution contradicts another functionality?

One thing is confusing though. In current version (or as it is stated "as of 1.6.0") there is no way to show timezone without using separate moment-timezone. But when I do moment(...).toString() it shows for example GMT in the end. So is it a bug, or one solution contradicts another functionality?

I think the problem is reliability. Moment can't reliably extract the correct timezone from the local date object so it no longer supports z/zz in its formatting.
Discussed above:
https://github.com/moment/moment/issues/162#issuecomment-4060027

This is what worked for us to get the "GMT" text since z has been deprecated
const dateGenerated = moment("2020-05-20 08:15:25");
const localDateGenerated = dateGenerated.local().format('DD MMM YYYY hh:mm A') + ' ' + String(dateGenerated.local()._d).split(' ')[5];

It will generate 20 May 2020 08:15 AM GMT+0300"

How do i add +1 to hours ??
Iam using this: var time = moment().format('yyyy-MM-DD, HH:mm');
The output i.e: 2021-06-07, 23:02
but i want to add +1 to hours to match my local time
ie: 2021-06-07, 00:02

How do i add +1 to hours ??
Iam using this: var time = moment().format('yyyy-MM-DD, HH:mm');
The output i.e: 2021-06-07, 23:02
but i want to add +1 to hours to match my local time
ie: 2021-06-07, 00:02

This has nothing to do with the timezone display format. You need to use local() as in moment().local().format('');

well it does not work in my code at all, i use loop for many accounts, so the muldule only print the first time and keep repeating it no update.

I confirm that moment.tz("Europe/Bucharest").format('z') work very well with moment 2.29.4 and timezone 0.5.37

Using:
"moment": "^2.29.4",
"moment-timezone": "^0.5.43"

This works:
const timezone = "America/New_York";
const timezoneAbbreviation = moment.tz(timezone).zoneAbbr();
const formattedDate = moment(date, timezone).format('...') + timezoneAbbreviation;