⚠ Mobitopup has degraded performance

In b2c67b4, Mobitopup (https://napcard.voz.tech) experienced degraded performance:

HTTP code: 200
Response time: 3062 ms

Resolved: Mobitopup performance has improved in ddba2d3 after 7 minutes.


stack deploy: handle external network when deploying

Fixes #28835. There is two commits :

If the network is marked as external, don't use the namespace on it. Otherwise, it's not found.
It also validate that the existing networks are available before scheduling any services. This is more consistent with the way docker-compose does it and helps making sure we don't schedule an incomplete stack.

$ docker stack deploy --compose-file docker-compose.yml foo
Ignoring unsupported options: build

Ignoring deprecated options:

container_name: Setting the container name is not supported.

network "outside" is declared as external, but could not be found. You need to create the network before the stack is deployed (with overlay driver)

/cc @dnephin @aanand @thaJeztah @mavenugo
:frog:
Signed-off-by: Vincent Demeester<EMAIL_ADDRESS>

LGTM (IANAM)

LGTM


Deploy to maven central

Get them jars available!

sample repo: https://github.com/stefanbirkner/travis-deploy-to-maven-central
travis also has an example for publishing to packagecloud instead of maven central: https://blog.travis-ci.com/2017-03-30-deploy-maven-travis-ci-packagecloud/

completed with https://github.com/dynodao/dynodao/commit/631c4db94c1b72b2fc5c6c026648719f6dd1559d  #56

waiting for artifacts to actually appear

https://search.maven.org/search?q=g:com.github.dynodao


Trip count and travel methods

Overview of the Pull Request:

Refactored fake data to come from 2022-results.json file
Edited layout to charts will fit properly into smaller screen sizes
Edited layout so that the alignment is to the left

link to Trello card or Github issue
How Has This Been Tested?
When implemented, the layout of the component should appear as below:

Pull Request Checklist:
Make sure the following checkboxes[ ] are checked with x before sending your PR -- thank you!

[ ] Have you included a link Trello card / Github issue and written sufficient description to help others review your work?
[x] Is your pull request up-to-date with main branch?
[x] Have you checked That code is well formatted? Did npx prettier --check . return no warnings/errors?
[x] Have you written instructions on how to test that your changes work as expected?
[x] Have you tested your work thoroughly on your local machine to ensure you are not breaking anything?

Hi @RCode-Blue,
It looks awesome in desktop view 😍
In mobile view though, this section is cropped off on the left (see screenshot):

Was it your intention to address that in this PR, or another PR?

Yes

I'm working on the overall page layout now, which will address the Pie Charts layout. This will be submitted in another PR.


Fix tests

Ideally, the default test with the new systemic version a Bump should look like this, which is favouring async/await
const expect = require('expect.js');
const system = require('../system');
const supertest = require('supertest');

describe('Service Tests', () => {
  let request;
  let sys;

  before(async () => {
    sys = system()
    const { app } = await sys.start()
    request = supertest(app);
  })

  after(async () => {
    await sys.stop()
  })

  it('should return manifest', () => {
    request
     .get('/__/manifest')
     .expect(200)
     .then((response) => {
       expect(response.headers['content-type']).to.equal('application/json; charset=utf-8');
     });
  });

});

the problem is that the current version of gulp it doesn't seem to like async so i fixed the test with callbacks. So if you look at the change you will see that the complete test looks like this
const expect = require('expect.js');
const system = require('../system');
const supertest = require('supertest');

describe('Service Tests', () => {
  let request;
  let sys = system();

  before(done => {
    sys.start((err, { app }) => {
      if (err) return done(err);
      request = supertest(app);
      done();
    });
  });

  after(done => { sys.stop(done) });s

  it('should return manifest', () =>
    request
      .get('/__/manifest')
      .expect(200)
      .then((response) => {
        expect(response.headers['content-type']).to.equal('application/json; charset=utf-8');
      }));
});

So if we want to use async / await I guess we should update gulp to the latest versions  4, which in turn means that e should adapt gulp file to the new version. I also think that is a good idea to upgrade gulp and yeoman at the same time, which in turn means that we will also need to change some code to use classes instead of functions with the new yeoman version.
At this point, I think it's a good moment to chat and discuss together the next steps to do in order to have a good updated systemic generator.

@servatj can you paste that information in a different issue to take care of the upgrade? Thanks for this


[enhancement] improved serve:compare cli output

Motivation
When running larger test suites, the CLI output can be very verbose:
Finished 1 of 50 runs.
Finished 2 of 50 runs.
Finished 3 of 50 runs.
Finished 4 of 50 runs.
Finished 5 of 50 runs.
Finished 6 of 50 runs.
Finished 7 of 50 runs.
Finished 8 of 50 runs.
Finished 9 of 50 runs.
Finished 10 of 50 runs.
Finished 11 of 50 runs.
Finished 12 of 50 runs.
Finished 13 of 50 runs.
Finished 14 of 50 runs.
Finished 15 of 50 runs.
Finished 16 of 50 runs.
Finished 17 of 50 runs.
Finished 18 of 50 runs.
Finished 19 of 50 runs.
Finished 20 of 50 runs.
Finished 21 of 50 runs.
Finished 22 of 50 runs.
Finished 23 of 50 runs.
Finished 24 of 50 runs.
Finished 25 of 50 runs.
Finished 26 of 50 runs.
Finished 27 of 50 runs.
Finished 28 of 50 runs.
Finished 29 of 50 runs.
Finished 30 of 50 runs.
Finished 31 of 50 runs.
Finished 32 of 50 runs.
Finished 33 of 50 runs.
..

If we could consolidate the output to the following it would make it a lot easier to gauge what the status of the runs are
Running 1 of 50 (~15 minutes 20 seconds remaining)

duration phase estimated difference -247ms [-292ms to -201ms]
load phase no difference
boot phase estimated difference -191ms [-199ms to -183ms]
transition phase estimated difference -38ms [-57ms to -18ms]
render phase estimated difference -18ms [-33ms to -3ms]
paint phase no difference

The above output would render using something like https://github.com/vadimdemedes/ink to allow the output to constantly change based on the current run.

@gabrielcsapo thanks for the feedback. we will certainly looking into both logging estimated time to complete and a succinct logger.
I know the current implementation is as simple as possible to minimize ambient noise. Assuming we can implement something more robust all while keep noise to an absolute min. sounds-good-to-me.


Remove proxyout

Should be no longer required,
Announcement in #cloud-native-announce

Closed in favour of https://github.com/hmcts/pcq-frontend/pull/161


Update handbook link in readme

Pre-Flight checklist

[x] Testing

[x] Code is tested
[x] Changes have been manually tested

What are the relevant tickets?
None
What's this PR do?
Fixes the broken handbook link in the readme.
How should this be manually tested?
Visit the update link, It should work fine.

Codecov Report

Merging #1405 (8ee4e90) into main (e5da0df) will decrease coverage by 1.71%.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff             @@
##             main    #1405      +/-   ##
==========================================
- Coverage   83.25%   81.54%   -1.71%
==========================================
  Files         309      163     -146
  Lines       13116     8829    -4287
  Branches      931      931
==========================================
- Hits        10920     7200    -3720
+ Misses       1928     1362     -566
+ Partials      268      267       -1

Impacted Files
Coverage Δ

ecommerce/models.py
85.36% <0.00%> (ø)

...blic/src/containers/pages/checkout/OrderHistory.js

frontend/public/src/lib/validation_test.js

frontend/public/src/components/Expandable.js

...ntend/public/src/components/EnrolledProgramList.js

...ublic/src/components/forms/ApplyCouponForm_test.js

frontend/public/src/components/MixedLink_test.js

...rontend/public/src/util/integration_test_helper.js

...public/src/components/forms/RegisterDetailsForm.js

.../public/src/containers/pages/DashboardPage_test.js

... and 138 more

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


Result refactor

Mostly done! This branch greatly improves how errors are caught and handled within Conjure. I've made sure caught exceptions get logged too which should make debugging in the future easier when someone breaks Conjure. The whole plugin should be more robust in weird edge cases now, time for me to test it out for a while!
A few more small things:

[x] Remove use of conjure.result from conjure.code/parse-ns
[x] Delete all traces of conjure.result
[x] Ensure that this fixes #40, I'm 99% confident that it does

Yeah, whatever, codecov. You can whine all you want but I know it's okay. I'll get you a high test coverage percentage some day, my angry GitHub integration :heart:


Fix AFURLSessionManager security weakness

crashes when calling to a released block pointer
A security weakness was detected as a result of detection by Facebook's infer.
You can trigger a crash by sending nil to the url_session_manager_create_task_safely function as a debugger.

This could use a test that verifies that calling the method with a NULL block doesn’t crash.

Good morning.
I'm sorry for late reply.
Can I add and reflect whitespace?
Have a nice day
-----Original Message-----
From: "Jeff<EMAIL_ADDRESS>To<EMAIL_ADDRESS>Cc<EMAIL_ADDRESS><EMAIL_ADDRESS>Sent: 2017-07-13 (목) 11:42:06
Subject: Re: [AFNetworking/AFNetworking] Fix AFURLSessionManager security weakness (#3962)
@SlaunchaMan requested changes on this pull request.
Can you make a couple of formatting changes and merge in master?
In AFNetworking/AFURLSessionManager.m:
> @@ -39,13 +39,18 @@ static dispatch_queue_t url_session_manager_creation_queue() {
}
static void url_session_manager_create_task_safely(dispatch_block_t block) {

if (NSFoundationVersionNumber < NSFoundationVersionNumber_With_Fixed_5871104061079552_bug) {

   // Fix of bug

   // Open Radar:http://openradar.appspot.com/radar?id=5871104061079552 (status: Fixed in iOS8)

   // Issue about:https://github.com/AFNetworking/AFNetworking/issues/2093

   dispatch_sync(url_session_manager_creation_queue(), block);

if(block != nil) {

Can you add a space after the if here?
In AFNetworking/AFURLSessionManager.m:
>      } else {

   block();

   return;

This entire else statement can be removed, since it’s just calling return.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.


agent env variables

Hi,
I'm sorry if I'm not posting in the right place but I don't seem to be able to figure out how to do this:
I am using Buildkite on OsX to build ReactNative apps. All good and I'm very happy but I have the case where I need to pass some environment variables to the agent that are not the same with the machine I'm working on.
For example ANDROID_HOME
Setting this in the pipeline file is not an option as I want to be able to build the code without the need of extra changes and I don't know how to pass to the agent the variables already existent to a "normal" user.
Thanks for any help you could give 🤗

Hi! 👋🏻 This is the issue tracker for the bk cli command, mind dropping us an email to<EMAIL_ADDRESS>and we will assist?


Ensure certificates are verified by default.

Add unit test for #661: ensure certificates are verified by default.

Coverage remained the same at 64.377% when pulling ff19713e332bf82993db1e2ac3d25c09c48bba31 on pilou-:verify_ssl_check_default_behavior into f1d388d2e969115b4cb94a10241ad8b48fee391c on ansible:master.


[bug] Smart Mode adds files to git index

Smart Mode uses git add . --intent-to-add to files that are not ignored by git to git index to take diff on them. This is an unexpected side effect that might disrupt users' work. For example, if they use the git commit --all command.
Smart Mode should not have any side effects.
Steps to reproduce:
cd $(mktemp -d)
git init
git config user.email<EMAIL_ADDRESS>git config user.name John
git commit --allow-empty --message='Initial commit'
myks init
myks all
git status

Expected results:
On branch main
Untracked files:
  (use "git add <file>..." to include in what will be committed)
    .myks/
    envs/
    prototypes/

nothing added to commit but untracked files present (use "git add" to track)

Actual result:
On branch main
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
    new file:   .myks/tmp/data-schema.ytt.yaml
    new file:   .myks/tmp/myks-data.ytt.yaml
    new file:   envs/.gitignore
    new file:   envs/_env/argocd/annotations.overlay.ytt.yaml
    new file:   envs/_env/argocd/secret.overlay.ytt.yaml
    new file:   envs/_env/ytt/common.ytt.yaml
    new file:   envs/env-data.ytt.yaml
    new file:   envs/mykso/dev/.myks/env-data.yaml
    new file:   envs/mykso/dev/_apps/argocd/app-data.ytt.yaml
    new file:   envs/mykso/dev/_apps/httpbingo/argocd/overlay.ytt.yaml
    new file:   envs/mykso/dev/_apps/httpbingo/helm/httpbingo.yaml
    new file:   envs/mykso/dev/env-data.ytt.yaml
    new file:   prototypes/argocd/app-data.ytt.yaml
    new file:   prototypes/argocd/vendir/base.ytt.yaml
    new file:   prototypes/argocd/vendir/vendir-data.ytt.yaml
    new file:   prototypes/argocd/ytt/argocd-vault-plugin.ytt.yaml
    new file:   prototypes/argocd/ytt/ns.ytt.yaml
    new file:   prototypes/httpbingo/helm/httpbingo.yaml
    new file:   prototypes/httpbingo/vendir/base.ytt.yaml
    new file:   prototypes/httpbingo/vendir/vendir-data.ytt.yaml

no changes added to commit (use "git add" and/or "git commit -a")

Now the Smart Mode uses git diff and git status commands instead of git add and git diff. That solves the issue.


Pass in lifetimes to visitString

This should be faster than what we were doing before, since now we are using heap strings directly instead of always copying them.
Edit: 🎉  For some reason, we're slower than we were before all these changes.
Benchmark 1: ./getty
  Time (mean ± σ):     709.9 ms ±   1.7 ms    [User: 705.7 ms, System: 3.2 ms]
  Range (min … max):   708.2 ms … 713.0 ms    10 runs

Benchmark 2: ./std
  Time (mean ± σ):     483.1 ms ±   1.6 ms    [User: 480.0 ms, System: 2.2 ms]
  Range (min … max):   481.3 ms … 486.3 ms    10 runs

Summary
  ./std ran
    1.47 ± 0.01 times faster than ./getty

hmm, I actually misread the benchmarking result. We're definitely slower here than we were before (688ms to 709ms)...

It seems like Getty's string deserialization is a bit slower. Deserializing one paragraph of lorem ipsum 100K times, I get the following results:
Benchmark 1: ./getty-str
  Time (mean ± σ):     205.8 ms ±   1.0 ms    [User: 203.7 ms, System: 1.3 ms]
  Range (min … max):   204.1 ms … 207.5 ms    14 runs

Benchmark 2: ./std-str
  Time (mean ± σ):     193.4 ms ±   0.9 ms    [User: 192.0 ms, System: 1.0 ms]
  Range (min … max):   191.8 ms … 194.8 ms    15 runs

Summary
  ./std-str ran
    1.06 ± 0.01 times faster than ./getty-str

Hrmm... One reason why string deserialization in std.json is faster is b/c if the parsed string isn't an .allocated_string, it's returned directly to the user instead of being copied. As a result, the value is tied to whatever the parsed string came from.
Telling std.json to always allocate bumps its mean runtime to 199ms.

Ahhh, here's one reason why std.json is a bit faster:

/// For tokens with a []const u8 payload, the payload is a slice into the current input buffer.
/// The memory may become undefined during the next call to json.Scanner.feedInput()
/// or any json.Reader method whose return error set includes json.Error.
/// To keep the value persistently, it recommended to make a copy or to use .alloc_always,
/// which makes a copy for you.

The string being returned is a slice of the scanner's buffer, not a copy which is what Getty makes. The lifetime of std.json non-allocated strings are tied to the scanner/reader, unlike in Getty.
When I pass in the .alloc_always option, std.json's mean runtime bumps up to 199ms. Closer, but there's still room for improvement on Getty's side.

Removing the peek in deserializeString brings Getty's runtime down to 202ms. We're now more or less even when it comes to this specific kind of string comparison ([]const u8).

Ensuring that the safety check logic in the slice visitor was ran at comptime and then updating getty-json to basically not do any switching at all and simply call visitString immediately, getty-str's mean runtime goes down to 199.8-200.6ms


Add support for ZADD GT/LT options

Make sure that:

[x] You have read the contribution guidelines.
[x] You have created a feature request first to discuss your contribution intent. Please reference the feature request ticket number in the pull request.
[x] You use the code formatters provided here and have them applied to your changes. Don’t submit any formatting related changes.
[x] You submit test cases (unit or integration tests) that back your changes.

closes https://github.com/lettuce-io/lettuce-core/issues/1451

Maybe it's time to introduce @EnabledOnRedisVersion.

@mp911de Great idea. Maybe we should track this with separated issue?

For now, we can guard the tests with @EnabledOnCommand("ZMSCORE") since ZMSCORE was added in Redis 6.2, too.

Thanks. will update it later.

No worries, I'm about to merge and polish up this PR.

Thank you for your contribution. That's merged and polished now.


Change piwigo user and group ids

Describe the bug
Piwigo refuses to start with the root user, which is provided in roles/piwigo/defaults/main.yml
Environment

Ansible-NAS revision (git rev-parse --short HEAD): "5886702a"
Ansible version (paste the entire output of ansible --version on the machine you run the playbook from): 2.13.4
Ansible-NAS operating system (cat /etc/lsb-release on the Ansible-NAS box): Ubuntu 22.04.1 LTS

Expected behavior
Piwigo starts
Actual behavior
"please specify user and group other than root" in the logs of the docker container
webpage gives a 502 error
Steps to reproduce
run the playbook
Workaround
change "piwigo_user_id" and "piwigo_group_id" in group_vars/nas.yml

@AlanAndre thanks so much for documenting a workaround here! Just ran into this bug.
For others having trouble, just changing the two IDs Alan mentions from "0" to "1" did the trick for me to get Piwigo running.


Support usage of selectOrDie by tab, up & down keys

Support using selectOrDie by tab, up & down keys - https://github.com/vestman/Select-or-Die/issues/26

User can use tab, up & down keys to make a selection of dropdown options.
When user will press ENTER key while being selectOrDie dropdown, it will open the dropdown options, as we have in native dropdowns.
Default 'tabindex' = '-1'.  So that user don't need to use tab key twice to go to next field. Nobody wants to focus/tab into same 'select' twice.

Hey @vestman Any updates on this?

Hi @vestman, just wanted to know if there is any update regarding merging this.


don't find gobblin-dist.tar.gz

I use the command:' ./gradlew clean build -PuseHadoop2 -PhadoopVersion=2.6.0'  and I build successful,but i didn't find the file 'gobblin-dist.tar.gz',what's the problem?

@hellof3 did you resolve this issue?

@sahilTakiar it's my questions,because when i firstly built the project,the file 'gobblin-dist.tar.gz' was in the gobblin's root folder,but next time i changed hadoop version and rebuilt,it was gone.Finally,I found it is in the  folder -- '{GOBBLIN}/build/gobblin-distribution/ '.


Letsencrypt certificate not encountered

I wanted to switch the imap connection from using port 143 to 993 (for imaps), but the server kept rejecting it. I have been fighting with this for several days now, trying to find out what's going on.
I've tried connecting with openssl:
openssl s_client -servername mail.mydomain.com -connect mail.mydomain.com:imaps
139911320118528:error:0200206F:system library:connect:Connection refused:crypto/bio/b_sock2.c:110:
139911320118528:error:2008A067:BIO routines:BIO_connect:connect error:crypto/bio/b_sock2.c:111:
connect:errno=111

Using
docker exec -it container_id dovecot -n

I found out that
ssl_cert = </etc/dovecot/ssl/dovecot.pem

I've tried setting up the whole infrastructure anew, but it still looks the same. When starting containers manually with docker-compose up, I found out that this path indeed seems to be an issue, because I get this message:
Cannot access '/etc/letsencrypt/live/mydomain.pl/fullchain.pem'

The relevant part of the config:
SSL_TYPE=letsencrypt

Below I've posted my whole config file.
Outside of that file, I have only one-line additional configuration for dovecot, which is not relevant.
If anyone has any idea how to fix that, I would be very grateful!
Your Environment

Mailserver version used: latest
Docker version used: 19.03.5
Config file

# -----------------------------------------------------------------------------------------------------------------------------
# --------------------- General Settings --------------------------------------------------------------------------------------
# -----------------------------------------------------------------------------------------------------------------------------

# empty => uses the `hostname` command to get the mail server's canonical hostname
# => Specify a fully-qualified domainname to serve mail for.  This is used for many of the config features so if you can't set your hostname (e.g. you're in a container platform that doesn't let you) specify it in this environment variable.
OVERRIDE_HOSTNAME={{ hostname }}.{{ hostdomain }}

# 0 => Debug disabled
# 1 => Enables debug on startup
DMS_DEBUG=0

# 0 => mail state in default directories
# 1 => consolidate all states into a single directory (`/var/mail-state`) to allow persistence using docker volumes
ONE_DIR=1

# empty =><EMAIL_ADDRESS># => Specify the postmaster address
POSTMASTER_ADDRESS=

# Set different options for mynetworks option (can be overwrite in postfix-main.cf)
# empty => localhost only
# host => Add docker host (ipv4 only)
# network => Add all docker containers (ipv4 only)
PERMIT_DOCKER=

# empty => modern
# modern => Enables TLSv1.2 and modern ciphers only. (default)
# intermediate => Enables TLSv1, TLSv1.1 and TLSv1.2 and broad compatibility ciphers.
# old => NOT implemented. If you really need it, then customize the TLS ciphers overriding postfix and dovecot settings
#        (https://github.com/tomav/docker-mailserver/wiki/)
TLS_LEVEL=

# Configures the handling of creating mails with forged sender addresses.
#
# empty => (not recommended, but default for backwards compatibility reasons)
#           Mail address spoofing allowed. Any logged in user may create email messages with a forged sender address.
#           See also https://en.wikipedia.org/wiki/Email_spoofing
# 1 => (recommended) Mail spoofing denied. Each user may only send with his own or his alias addresses.
#       Addresses with extension delimiters(http://www.postfix.org/postconf.5.html#recipient_delimiter) are not able to send messages.
SPOOF_PROTECTION=

# Enables the Sender Rewriting Scheme. SRS is needed if your mail server acts as forwarder. See [postsrsd](https://github.com/roehling/postsrsd/blob/master/README.md#sender-rewriting-scheme-crash-course) for further explanation.
#  - **0** => Disabled
#  - 1 => Enabled
ENABLE_SRS=0

# 1 => Enables POP3 service
# empty => disables POP3
ENABLE_POP3=
ENABLE_CLAMAV=0

# If you enable Fail2Ban, don't forget to add the following lines to your `docker-compose.yml`:
#    cap_add:
#      - NET_ADMIN
# Otherwise, `iptables` won't be able to ban IPs.
ENABLE_FAIL2BAN=0

# 1 => Enables Managesieve on port 4190
# empty => disables Managesieve
ENABLE_MANAGESIEVE=1

# **enforce** => Allow other tests to complete. Reject attempts to deliver mail with a 550 SMTP reply, and log the helo/sender/recipient information. Repeat this test the next time the client connects.
# drop => Drop the connection immediately with a 521 SMTP reply. Repeat this test the next time the client connects.
# ignore => Ignore the failure of this test. Allow other tests to complete. Repeat this test the next time the client connects. This option is useful for testing and collecting statistics without blocking mail.
POSTSCREEN_ACTION=enforce

# empty => all daemons start
# 1 => only launch postfix smtp
SMTP_ONLY=

# Please read [the SSL page in the wiki](https://github.com/tomav/docker-mailserver/wiki/Configure-SSL) for more information.
#
# empty => SSL disabled
# letsencrypt => Enables Let's Encrypt certificates
# custom => Enables custom certificates
# manual => Let's you manually specify locations of your SSL certificates for non-standard cases
# self-signed => Enables self-signed certificates
SSL_TYPE=letsencrypt

# Set how many days a virusmail will stay on the server before being deleted
# empty => 7 days
VIRUSMAILS_DELETE_DELAY=

# This Option is activating the Usage of POSTFIX_DAGENT to specify a lmtp client different from default dovecot socket.
# empty => disabled
# 1 => enabled
ENABLE_POSTFIX_VIRTUAL_TRANSPORT=

# Enabled by ENABLE_POSTFIX_VIRTUAL_TRANSPORT. Specify the final delivery of postfix
#
# empty => fail
# `lmtp:unix:private/dovecot-lmtp` (use socket)
# `lmtps:inet:<host>:<port>` (secure lmtp with starttls, take a look at https://sys4.de/en/blog/2014/11/17/sicheres-lmtp-mit-starttls-in-dovecot/)
# `lmtp:<kopano-host>:2003` (use kopano as mailstore)
# etc.
POSTFIX_DAGENT=

# Set the mailbox size limit for all users. If set to zero, the size will be unlimited (default).
#
# empty => 0
POSTFIX_MAILBOX_SIZE_LIMIT=

# Set the message size limit for all users. If set to zero, the size will be unlimited (not recommended!)
#
# empty => 10240000 (~10 MB)
POSTFIX_MESSAGE_SIZE_LIMIT=50240000

# Enables a report being sent (created by pflogsumm) on a regular basis.
# **0** => Report emails are disabled
# 1 => Using POSTMASTER_ADDRESS as the recipient
# => Specify the recipient address
REPORT_RECIPIENT=0

# Change the sending address for mail report
# **empty** => mailserver-report@hostname
# => Specify the report sender (From) address
REPORT_SENDER=

# Changes the interval in which a report is being sent.
# **daily** => Send a daily report
# weekly => Send a report every week
# monthly => Send a report every month
#
# Note: This Variable actually controls logrotate inside the container and rotates the log depending on this setting. The main log output is still available in its entirety via `docker logs mail` (Or your respective container name). If you want to control logrotation for the docker generated logfile see: [Docker Logging Drivers](https://docs.docker.com/config/containers/logging/configure/)
REPORT_INTERVAL=daily

# -----------------------------------------------------------------------------------------------------------------------------
# --------------------- Spamassassin section ----------------------------------------------------------------------------------
# -----------------------------------------------------------------------------------------------------------------------------

ENABLE_SPAMASSASSIN=1

# add spam info headers if at, or above that level:
SA_TAG=2.0

# add 'spam detected' headers at that level
SA_TAG2=6.31

# triggers spam evasive actions
SA_KILL=6.31

# add tag to subject if spam detected
SA_SPAM_SUBJECT=***SPAM*****

# -----------------------------------------------------------------------------------------------------------------------------
# --------------------- Fetchmail section -------------------------------------------------------------------------------------
# -----------------------------------------------------------------------------------------------------------------------------

ENABLE_FETCHMAIL=0

# The interval to fetch mail in seconds
FETCHMAIL_POLL=300

# -----------------------------------------------------------------------------------------------------------------------------
# --------------------- LDAP section ------------------------------------------------------------------------------------------
# -----------------------------------------------------------------------------------------------------------------------------

# A second container for the ldap service is necessary (i.e. https://github.com/osixia/docker-openldap)
# For preparing the ldap server to use in combination with this container this article may be helpful: http://acidx.net/wordpress/2014/06/installing-a-mailserver-with-postfix-dovecot-sasl-ldap-roundcube/

# empty => LDAP authentification is disabled
# 1 => LDAP authentification is enabled
ENABLE_LDAP=

# empty => no
# yes => LDAP over TLS enabled for Postfix
LDAP_START_TLS=

# If you going to use the mailserver in combination with docker-compose you can set the service name here
# empty => mail.domain.com
# Specify the dns-name/ip-address where the ldap-server
LDAP_SERVER_HOST=

# empty => ou=people,dc=domain,dc=com
# => e.g. LDAP_SEARCH_BASE=dc=mydomain,dc=local
LDAP_SEARCH_BASE=

# empty => cn=admin,dc=domain,dc=com
# => take a look at examples of SASL_LDAP_BIND_DN
LDAP_BIND_DN=

# empty** => admin
# => Specify the password to bind against ldap
LDAP_BIND_PW=

# e.g. `"(&(mail=%s)(mailEnabled=TRUE))"`
# => Specify how ldap should be asked for users
LDAP_QUERY_FILTER_USER=

# e.g. `"(&(mailGroupMember=%s)(mailEnabled=TRUE))"`
# => Specify how ldap should be asked for groups
LDAP_QUERY_FILTER_GROUP=

# e.g. `"(&(mailAlias=%s)(mailEnabled=TRUE))"`
# => Specify how ldap should be asked for aliases
LDAP_QUERY_FILTER_ALIAS=

# e.g. `"(&(|(mail=*@%s)(mailalias=*@%s)(mailGroupMember=*@%s))(mailEnabled=TRUE))"`
# => Specify how ldap should be asked for domains
LDAP_QUERY_FILTER_DOMAIN=

# -----------------------------------------------------------------------------------------------------------------------------
# ---------------- Dovecot section --------------------------------------------------------------------------------------------
# -----------------------------------------------------------------------------------------------------------------------------

# empty => no
# yes => LDAP over TLS enabled for Dovecot
DOVECOT_TLS=

# e.g. `"(&(objectClass=PostfixBookMailAccount)(uniqueIdentifier=%n))"`
DOVECOT_USER_FILTER=

# e.g. `"(&(objectClass=PostfixBookMailAccount)(uniqueIdentifier=%n))"`
DOVECOT_PASS_FILTER=

# Define the mailbox format to be used
# default is maildir, supported values are: sdbox, mdbox, maildir
DOVECOT_MAILBOX_FORMAT=maildir

# -----------------------------------------------------------------------------------------------------------------------------
# ---------------- Postgrey section -------------------------------------------------------------------------------------------
# -----------------------------------------------------------------------------------------------------------------------------

ENABLE_POSTGREY=0
# greylist for N seconds
POSTGREY_DELAY=300
# delete entries older than N days since the last time that they have been seen
POSTGREY_MAX_AGE=35
# response when a mail is greylisted
POSTGREY_TEXT=Delayed by postgrey
# whitelist host after N successful deliveries (N=0 to disable whitelisting)
POSTGREY_AUTO_WHITELIST_CLIENTS=5

# -----------------------------------------------------------------------------------------------------------------------------
# ---------------- SASL section -----------------------------------------------------------------------------------------------
# -----------------------------------------------------------------------------------------------------------------------------

ENABLE_SASLAUTHD=0

# empty => pam
# `ldap` => authenticate against ldap server
# `shadow` => authenticate against local user db
# `mysql` => authenticate against mysql db
# `rimap` => authenticate against imap server
# NOTE: can be a list of mechanisms like pam ldap shadow
SASLAUTHD_MECHANISMS=

# empty => None
# e.g. with SASLAUTHD_MECHANISMS rimap you need to specify the ip-address/servername of the imap server  ==> xxx.xxx.xxx.xxx
SASLAUTHD_MECH_OPTIONS=

# empty => localhost
SASLAUTHD_LDAP_SERVER=

# empty or 0 => `ldap://` will be used
# 1 => `ldaps://` will be used
SASLAUTHD_LDAP_SSL=

# empty => anonymous bind
# specify an object with priviliges to search the directory tree
# e.g. active directory: SASLAUTHD_LDAP_BIND_DN=cn=Administrator,cn=Users,dc=mydomain,dc=net
# e.g. openldap: SASLAUTHD_LDAP_BIND_DN=cn=admin,dc=mydomain,dc=net
SASLAUTHD_LDAP_BIND_DN=

# empty => anonymous bind
SASLAUTHD_LDAP_PASSWORD=

# empty => Reverting to SASLAUTHD_MECHANISMS pam
# specify the search base
SASLAUTHD_LDAP_SEARCH_BASE=

# empty => default filter `(&(uniqueIdentifier=%u)(mailEnabled=TRUE))`
# e.g. for active directory: `(&(sAMAccountName=%U)(objectClass=person))`
# e.g. for openldap: `(&(uid=%U)(objectClass=person))`
SASLAUTHD_LDAP_FILTER=

# empty => no
# yes => LDAP over TLS enabled for SASL
# Must not be used together with SASLAUTHD_LDAP_SSL=1_
SASLAUTHD_LDAP_START_TLS=

# empty => no
# yes => Require and verify server certificate
SASLAUTHD_LDAP_TLS_CHECK_PEER=

# empty => No sasl_passwd will be created
# string => `/etc/postfix/sasl_passwd` will be created with the string as password
SASL_PASSWD=

# -----------------------------------------------------------------------------------------------------------------------------
# ---------------- SRS section --------------------------------------------------------------------------------------------
# -----------------------------------------------------------------------------------------------------------------------------

# empty => Envelope sender will be rewritten for all domains
# provide comma separated list of domains to exclude from rewriting
SRS_EXCLUDE_DOMAINS=

# empty => generated when the image is built
# provide a secret to use in base64
# you may specify multiple keys, comma separated. the first one is used for
# signing and the remaining will be used for verification. this is how you
# rotate and expire keys
SRS_SECRET=

# -----------------------------------------------------------------------------------------------------------------------------
# ---------------- Default relay host section ---------------------------------------------------------------------------------
# -----------------------------------------------------------------------------------------------------------------------------

# Setup relaying all mail through a default relay host
#
# empty => don't configure default relay host
# default host and optional port to relay all mail through
DEFAULT_RELAY_HOST=

# -----------------------------------------------------------------------------------------------------------------------------
# ---------------- Multi-domain relay section ---------------------------------------------------------------------------------
# -----------------------------------------------------------------------------------------------------------------------------

# Setup relaying for multiple domains based on the domain name of the sender
# optionally uses usernames and passwords in postfix-sasl-password.cf and relay host mappings in postfix-relaymap.cf
#
# empty => don't configure relay host
# default host to relay mail through
RELAY_HOST=

# empty => 25
# default port to relay mail
RELAY_PORT=25

# empty => no default
# default relay username (if no specific entry exists in postfix-sasl-password.cf)
RELAY_USER=

# empty => no default
# password for default relay user
RELAY_PASSWORD=

I'm not using letsencrypt, so I hope someone else notices and answers.

Works for me. What is the output of
docker exec -it container_id  bash -c "ls -lR /etc/letsencrypt/live/"

Hey.  I didn't mount the volume with the letsencrypt certs. And they weren't there.
However now, I fixed that and the paths are right. The certs are there. Relevant output of ls:
/etc/letsencrypt/live/:
total 28
-rw-r--r-- 1 root root 1870 Dec 21 01:09 default.crt
-rw-r--r-- 1 root root 3272 Dec 21 01:09 default.key
-rw-r--r-- 1 root root  424 Dec 21 01:09 dhparam.pem
drwxr-xr-x 2 root root 4096 Feb 22 08:53 mail.mydomain.pl
lrwxrwxrwx 1 root root   28 Feb 21 12:43 mail.mydomain.pl.chain.pem -> ./mail.mydomain.pl/chain.pem
lrwxrwxrwx 1 root root   32 Feb 21 12:43 mail.mydomain.pl.crt -> ./mail.mydomain.pl/fullchain.pem
lrwxrwxrwx 1 root root   13 Feb 21 12:43 mail.mydomain.pl.dhparam.pem -> ./dhparam.pem
lrwxrwxrwx 1 root root   26 Feb 21 12:43 mail.mydomain.pl.key -> ./mail.mydomain.pl/key.pem

/etc/letsencrypt/live/mail.mydomain.pl:
total 24
lrwxrwxrwx 1 root root   67 Feb 22 08:53 account_key.json -> ../accounts/acme-v02.api.letsencrypt.org/directory/default_key.json
lrwxrwxrwx 1 root root   67 Feb 22 08:53 account_reg.json -> ../accounts/acme-v02.api.letsencrypt.org/directory/default_reg.json
-rw-r--r-- 1 root root 2259 Feb 21 12:43 cert.pem
-rw-r--r-- 1 root root 1646 Feb 21 12:43 chain.pem
-rw-r--r-- 1 root root 3906 Feb 21 12:43 fullchain.pem
-rw-r--r-- 1 root root 3275 Feb 21 12:43 key.pem

But the issue still persists. I am still unable to connect via 993. I've checked the cert with some online checker - it's valid. I still get the same error with openssl

What exactly was the command you used for connecting? You aren't behind a (for instance hotel) firewall blocking outgoing traffic on port 993?
The following worked for me:
Test, whether we can establish a TCP connection:
$ nc -vz the_mail_host 993
the_mail_host [XX.XXX.XXX.XXX] 993 (imaps) open

Test, whether we can establish a TLS/SSL connection over TCP:
$ openssl s_client -connect the_mail_host:993
CONNECTED(00000005)
depth=1 C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3
verify error:num=20:unable to get local issuer certificate
verify return:0
---
Certificate chain
 0 s:/CN=the_mail_host
   i:/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
 1 s:/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
   i:/O=Digital Signature Trust Co./CN=DST Root CA X3
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIGVzCCB...
w==
-----END CERTIFICATE-----
subject=/CN=mail.the_mail_host
issuer=/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
---
No client certificate CA names sent
---
SSL handshake has read 3714 bytes and written 444 bytes
---
New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES256-GCM-SHA384
Server public key is 4096 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
    Protocol  : TLSv1.2
    Cipher    : ECDHE-RSA-AES256-GCM-SHA384
    Session-ID: ...
    Session-ID-ctx:
    Master-Key: ...
    TLS session ticket lifetime hint: 7200 (seconds)
    TLS session ticket:
    0000 - e0 24 cd dc 51 e4 a7 9d-08 be e3 43 a9 a6 5b 6f   .$..Q......C..[o
    ...
    0090 - 44 23 87 70 9d c6 51 a1-b8 81 4c 51 6f d1 76 16   D#.p..Q...LQo.v.

    Start Time:<PHONE_NUMBER>
    Timeout   : 300 (sec)
    Verify return code: 0 (ok)
---
* OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ AUTH=PLAIN AUTH=LOGIN] Dovecot ready.

If it still does not work, what is the value of ssl_cert =  (you described in your first posting) in your Dovecot config?

Alright, so:
I am not behind a firewall. I am in my home wifi network. There is a firewall set up on my server, but the port 993 is opened in it. What nmap says:
Starting Nmap 7.80 ( https://nmap.org ) at 2020-02-22 17:26 CET
Nmap scan report for mydomain (<IP_ADDRESS>)
Host is up (0.092s latency).
rDNS record for myip
Not shown: 993 filtered ports
PORT    STATE  SERVICE
22/tcp  open   ssh
25/tcp  open   smtp
80/tcp  open   http
143/tcp open   imap
443/tcp open   https
587/tcp open   submission
993/tcp closed imaps

Where closed in nmap should mean that there is no application connected to it, but it can open when the application will connect (whereas the application should be a container connected to this external 993 port, but I'm guessing because of some reason it does not connect).
What openssl says:
openssl s_client -connect mail.mydomain:993           16s   2.4.1
139723716367616:error:0200206F:system library:connect:Connection refused:crypto/bio/b_sock2.c:110:
139723716367616:error:2008A067:BIO routines:BIO_connect:connect error:crypto/bio/b_sock2.c:111:
connect:errno=111

The value of ssl_cert in dovecot config is:
ssl_cert = </etc/letsencrypt/live/mail.mydomain/fullchain.pem

which is valid now. The path exists and there is a cert there.
To give a full overview, I'm attaching my docker-compose.yml here as well:
version: '2'

services:
  mail:
    image: tvial/docker-mailserver:latest
    hostname: ${HOSTNAME}
    domainname: ${DOMAINNAME}
    container_name: ${CONTAINER_NAME}
    ports:
    - "25:25"
    - "143:143"
    - "587:587"
    - "465:465"
    - "993:933"
    volumes:
    - maildata:/var/mail
    - mailstate:/var/mail-state
    - maillogs:/var/log/mail
    - ./config/:/tmp/docker-mailserver/
    - /srv/nginx/certs:/etc/letsencrypt/live
    env_file:
    - .env
    - env-mailserver
    cap_add:
    - NET_ADMIN
    - SYS_PTRACE
    restart: unless-stopped
  cert-companion:
    image: nginx
    container_name: mail-cert-companion
    restart: unless-stopped
    environment:
      - VIRTUAL_HOST=${HOSTNAME}
      - LETSENCRYPT_HOST=${HOSTNAME}
      - LETSENCRYPT_EMAIL=${EMAIL}

volumes:
  maildata:
    driver: local
  mailstate:
    driver: local
  maillogs:
    driver: local

Please see if the docker proxy listens to port 993 on your host system:
someone@hostsystem $ sudo ss -tupln
Netid  State    Recv-Q   Send-Q        Local Address:Port        Peer Address:Port
...
tcp    LISTEN   0        128                 <IP_ADDRESS>:25               <IP_ADDRESS>:*       users:(("docker-proxy",pid=5969,fd=4))
tcp    LISTEN   0        128                       *:993                    *:*       users:(("docker-proxy",pid=5911,fd=4))
tcp    LISTEN   0        128                       *:587                    *:*       users:(("docker-proxy",pid=5925,fd=4))
tcp    LISTEN   0        128                       *:143                    *:*       users:(("docker-proxy",pid=5953,fd=4))
...
tcp    LISTEN   0        128                       *:465                    *:*       users:(("docker-proxy",pid=5939,fd=4))

Run the same in the container and see if dovecot listens to port 993.
Please check iptables -n -L on the host that runs the mail container (as root) and inside the container. See if something prevents connections to port 993 or see if your home's public IP address is listed somewhere.
Also determine whether you/ your client connects with IPv6, and if so, also look for the gateway IP of the container (find it by typing ip route show in the container) in the iptables output.

Seems to be fine... (thank you for taking your time btw!).
 I have some different values in there than you do, but I've compared them to another setup that works, and they are exactly the same.

993/tcp closed imaps

For me, it seems like there is no "physical" barrier to connect to port 993

Your nmap output suggested the port was in closed state, however.
Did you try connect with openssl from the host system or a system in the same network? Maybe someone between is doing sneaky things.

Hmm, you're right.
What this means is that there is no app attached to 993 port on my server. That would mean that docker is not attached to it, or dovecot is messing something up from within the container...
I did not try that. It's my VPS, so technically I don't have any physical access to it.

That would mean that docker is not attached to it, or dovecot is messing something up from within the container...

... or fail2ban blocked the connection or any router. That's why I suggested using netcat (nc or ncat) to test the underlying TCP connection first. Port 143 is listed as "open", so you could also try IMAP with STARTTLS to verify the certificates are fine.
StackOverflow suggests
openssl s_client -showcerts -connect target.server.name.here:143 -starttls imap

It's my VPS, so technically I don't have any physical access to it.

... can you can SSH into it and run netcat and if that succeeds, openssl from the VPS SSH shell against Port 993?

you could also try IMAP with STARTTLS to verify the certificates are fine.

Certs are fine. I'm using this image with port 143 and STARTTLS, and it works. Also connecting with openssl gives me the correct results.

can you can SSH into it and run netcat and if that succeeds, openssl from the VPS SSH shell against Port 993?

Oh, you're right. That goes somewhere...
I am unable to connect using netcat.
Being logged in my server via ssh, here is the result:
nc -vz mail.mydomain.com 993
mail.mydomain.com [ip number] 993 (imaps) : Connection refused

Same thing from the outside.

So it doesn't appear a certificate issue but a connection issue.
You could additionally try the following for troubleshooting:

Run nc -vz <IP_ADDRESS> 993 when connected to the VPS through SSH to see if the connection can be established through the loopback interface.
Shut down the mail docker container (so the ports are free) and add netcat as a listener on port 993 to see if it is an issue with Dovecot:
On the VPS (connected through SSH shell) run:

docker-compose run --service-ports --rm mail bash -c "nc -vvl 993"

Keep this terminal open. This will listen on TCP Port 993 for connections. Re-run if it terminates due to terminating connections.
In a separate terminal on the VPS (connected through SSH shell) run:
nc -vz <IP_ADDRESS> 993

This will attempt connect to port 993 you just opened by running netcat in the Docker container via loopback interface.
If this works, you may try
nc -vz mail.mydomain.com 993

from your local machine to see if it connects correctly. If that worked, too, it's probably Dovecot that's to blame.

Ask your provider for help (turns out they are quite helpful most of the time) or ask this question for instance on serverfault.com or networkengineering.stackexchange.com if it's a networking issue.

Run nc -vz <IP_ADDRESS> 993 when connected to the VPS through SSH to see if the connection can be established through the loopback interface.

Yes, it connects.

Shut down the mail docker container (so the ports are free) and add netcat as a listener on port 993 to see if it is an issue with Dovecot.

I did that. I can connect via localhost. However, I still cannot connect through the outside ip neither from within my server, nor from my local machine.
So the problem persists on the "interface to the world". I will write to my provider. I guess they might have something to say.
Thank you for all your help up to this point!

@zemiret has this been solved so we can close?

Unfortunately, I gave up on this one. I couldn't solve it.

Right, I'll close it then. Feel free to reopen if you want to try again.


The Purview Account create operation return 200 but resource still in progress

From the test https://github.com/Azure/azure-sdk-for-net/pull/34839#discussion_r1133665634, we found the LRO operation return success, but the resource is still in prgress, need return this issue to service team.

This is a known issue from service side, the only solution is check whether the resource exists after created


add support for AMD and CommonJS

no jQuery dependency for AMD or CommonJS, but jQuery will be used if available in global scope. All tests passing. Solves https://github.com/linkedin/hopscotch/issues/150

Hi @stebunovd, thanks for the pull request! Would love to see Hopscotch work well in whichever context its used within. A contemplation about how to best handle Hopscotch in multiple environments...
Originally, I believe this was something we were planning to address as part of refactoring Hopscotch in 0.3.0. When originally thinking through the problem, the solution I was leaning towards was to use common environment-agnostic JS code that was then included (using the include-replace grunt task) in wrappers for their particular environment. This would result in multiple files (Hopscotch for AMD, CommonJS, window global) and the developer would import the file that works best for their environment (instead of having Hopscotch interpret what to use depending on window globals). Hopefully this allows the developer to best reason about how Hopscotch is invoked in their app and cuts down on code that's isn't required for every environment.
Do we believe this sort of build target separation be useful, or would this just convolute things?

Hi @zimmi88,
thank you for pointing out how to avoid that hack for templates.
the pattern I used here for AMD/CommonJS support is called UMD, see https://github.com/umdjs/umd. This is a well-tested and widely used solution, which can be found in many JS libraries. Size overhead doesn't seem to be large, and having one universal file looks simpler and clearer from my perspective. In most cases users want all libraries in their environment to support the same format, either AMD, or CommonJS, or browser globals, so auto-detect works fine. Even if I want to do something different, say export library object from CommonJS environment to browser global scope, this is pretty easy to do either by single line of code window.hopscotch = require('hopscotch'), or using built-in tool of my favorite JS bundler. For example, see exports loader for Webpack http://webpack.github.io/docs/list-of-loaders.html

Thank you for the pull request! Overall these changes look good to me. My only concern is jQuery and YAHOO params to factory function. It would be nice to remove them.

A matter of habit. I write all my JS code with 'use strict';, so I always try to avoid implicit calls to global scope. However hopscotch.js doesn't use strict mode, so you're right, these params are redundant.

Looks good to me! I'll pull it in tomorrow if there are no other comments.


update series cardinality definition to discuss dependent tags

not all cardinality is multipliciative

Also add queries for series cardinality.


Added a CSV file template + parsing input from user with Argu

This change is

Reviewed 1 of 7 files at r1.
Reviewable status: 1 of 7 files reviewed, 1 unresolved discussion (waiting on @Kavignon)

MentorMatchmaker/MentorMatchmaker/mentorship_schema_file.csv, line 3 at r1 (raw file):

Timestamp,Email Address,What is your full name (First and Last Name),What is your fsharp.org slack name?,I want to be a ,What topics do you feel comfortable mentoring?,What topic do you want to learn?,Why do you think you are good candidate for the mentorship program?,What is your time zone?,What time are you available? [09:00 - 12:00 local time],What time are you available? [12:00 - 15:00 local time],What time are you available? [15:00 - 18:00 local time],What time are you available? [18:00 - 21:00 local time],What time are you available? [21:00 - 00:00 local time]
9/7/2020 21:47,kevin.avignon5@gmail.com,Kevin Avignon,Kavignon,mentor,"Introduction to F#, Deep dive into F#",,,UTC - 4,,"Saturday, Sunday","Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday","Monday, Tuesday, Wednesday, Thursday, Friday",
,,,,,,,,,,,,,

I don't think we need all those lines, amirite?

Oops no, we do not!


Handle pending-for-input host status

Enhance host status popover to show validation groups and results

The messages need work as a follow up. We need to find a way to identify the problem from the backend data and provide relevant message on the frontend. This will resolve the problem of combining  backend and frontend messages and prepare us for eventual i18n implementation since the messages will be defined on the frontend.


Probabilities Greater Than 1

Hi,
Running this on some testing data that I've hand-classified, I'm getting results as large as 9.0, although most inputs seems to behave well. I'll try to find out why, perhaps a strange Unicode issue.

Ah my mistake! I was reading the output incorrectly. Apologies.


scanner: require explicit target globals/versions

Now only wl_display, wl_registry, and wl_callback are generated by
default (these interfaces are locked to version 1 for eternity).
All other interfaces must be explicitly requested in the program's
build.zig using ScanProtocolsStep.generate(global_name, version).
This ensures forwards compatibility of programs written using
zig-wayland with newer protocol xml.
Closes #14

For a bit larger example usage, see https://github.com/riverwm/river/tree/zig-wayland-explict-globals

So overall it works great, I like the design, scanner.generate() make sense as a name and is not to annoying to use with a lot of global to generate.
The only thing that would be nice to have, but I'm really not sure it is possible or worth it, is the errors handling. If you have a typo or don't add the global a better error message than for example the following would be cool.
I can't think of a nice solution implemented in the scanner side though, it seems not possible to me.
./src/Backend.zig:39:19: error: container '.wayland.client.wl' has no member called 'Output'
    wl_output: *wl.Output,
                  ^
/home/novakane/.local/lib/zig-0.9.1/lib/std/linked_list.zig:22:13: note: while checking this field
            data: T,
            ^
/home/novakane/.local/lib/zig-0.9.1/lib/std/linked_list.zig:68:9: note: while checking this field
        first: ?*Node = null,
        ^
./src/Backend.zig:613:1: note: while checking this field
outputs: std.SinglyLinkedList(Output) = .{},

Yeah, there's not really anything we can do to improve the error message for leaving out a generate("wl_output", 1) call. One thing we could do is validate that all the global interfaces requested through generate() actually exist, which would help with typos.

That could be nice, it's a bit of nitpicking though, I wouldn't add to much code for this, the current way is already fine to works with on the client side.

Works great, the error to catch typos is a nice add. IMO this is a good implementation now, ready to be merged


rendering of MESSAGEix documentation on Firefox and EDGE

In Firefox and EDGE the MESSAGEix documentation (public version at http://messageix.iiasa.ac.at) theme renders using an italics font which is difficult to read (screenshot from Firefox attached). Making sure that the theme renders the same across browsers (in a more readable way than the attached example) would be good.

Closed by #154.


Bug with Power feature

Hello there,
First thanks for this amazing plugin!
I saw you publish the 9.x 1 week ago, (I am not in Homebridge 2 yet, 'cause still in beta), i tried several version 9.x of you plugin, but each time this feature :"Here set the power summary in (W) of all microinverters, based on this value the power production level will be calculated and displayed as (%) in HomeKit." is working like a charm in 8.1.1 but not in 9.x, it always display "100%".
Could you help me?
Log example: v8.1.1: [8/19/2024, 8:18:48 AM] [homebridge-enphase-envoy] Device: envoy.local Énergie solaire, Production power level: 9.8 %
v9.2.3: [8/19/2024, 9:21:00 AM] [homebridge-enphase-envoy] Device: envoy.local Énergie solaire, Production power level: 0.03013333333333333 %
Thanks in advance.

fixed in 9.2.4

this was happen only if you do not have CT meters


Multi-project/module MVC practices

How to package views and view components so they can be reused in another project

An FAQ item currently is how to split out Areas into separate projects (to facilitate separate teams responsible per-area). Would this be covered in this topic as well?


Changing an attribute of a NumberLine does not affect it

I create a NumberLine object, then I copy it and try to alter its x_max value. Only then do I output both objects to the screen. However both are of the same length. See pictures below.
I know I could create a new object with specified x_max value. However I would like to know if it is possible to alter an attribute after its creation.
Any help appreciated!
My code:
class Plot2(Scene):
    def construct(self):
        line = NumberLine(
            x_min=0,
            x_max=4,
            include_numbers=True,
            include_tip=True
        )

        line2 = line.copy()
        line2.x_max = 3
        line2.shift(2*UP)

        self.play(ShowCreation(line))
        self.play(ShowCreation(line2))

What I get:

What I want:

That can't be done given how objects are built in Manim, but you can do the following:
class Plot2(Scene):
    def construct(self):
        numberline_kwargs = {
            "x_min": 0,
            "x_max": 4,
            "include_numbers": True,
            "include_tip": True
        }
        line = NumberLine(**numberline_kwargs)
        numberline_kwargs["x_max"] = 5
        line2 = NumberLine(**numberline_kwargs)
        line2.x_max = 3
        line2.shift(2*UP)

        self.play(ShowCreation(line))
        self.play(ShowCreation(line2))

In case you want to loop this or automate it further you can do the following:
class Plot2(Scene):
    CONFIG = {
        "initial_numberline_kwargs": {
            "x_min": 0,
            "x_max": 4,
            "include_numbers": True,
            "include_tip": True
        }
    }
    def construct(self):
        line = self.get_number_line()
        line2 = self.get_number_line(x_max=5,color=RED)
        line2.x_max = 3
        line2.shift(2*UP)

        self.play(ShowCreation(line))
        self.play(ShowCreation(line2))

    def get_number_line(self,**new_kwargs):
        numberline_kwargs = self.initial_numberline_kwargs.copy()
        for nk in new_kwargs:
            numberline_kwargs[nk] = new_kwargs[nk]

        return NumberLine(**numberline_kwargs)

That's more than I expected! Thank You!

That's more than I expected! Thank you!


lncli listpayments --include_incomplete incurs into a "cannot marshall failure *lnwire.InvalidOnionPayload" error

Background
I've been trying twice to make some loop out without succeding.
The result in both cases was leaving my node with some unsettled HTLCs, and in that situation I incurred in the error.
Your environment

version of lnd
lncli version 0.12.1-beta commit=v0.12.1-beta

which operating system (uname -a on *Nix)
Linux XXXXX 5.11.11-200.fc33.x86_64 #1 SMP Tue Mar 30 16:53:32 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

version of btcd, bitcoind, or other backend
Bitcoin Core version v0.21.0 (release build)

any other relevant environment details
node running behind tor: Tor <IP_ADDRESS> running on Linux

Steps to reproduce
Trying to loop out and wait to have some unsettled HTLCs.
issuing the command:
lncli listpayments  --include_incomplete

Expected behaviour
getting a list of payments
Actual behaviour
[lncli] rpc error: code = Unknown desc = cannot marshall failure *lnwire.InvalidOnionPayload

That's odd, we have a case present to ensure we can encode the error type to the proto version of it: https://github.com/lightningnetwork/lnd/blob/master/lnrpc/routerrpc/router_backend.go#L1116

Ah this was fixed here: https://github.com/lightningnetwork/lnd/pull/5074
But it isn't hasn't been packaged within a release yet. If you're able to, you can apply that commit/PR locally and then you'll be able to read out the data. Otherwise you can upgrade directly to master, but I'd recommend just applying that patch instead if you're able to.

Ah this was fixed here: #5074
But it isn't hasn't been packaged within a release yet. If you're able to, you can apply that commit/PR locally and then you'll be able to read out the data. Otherwise you can upgrade directly to master, but I'd recommend just applying that patch instead if you're able to.

great: applied the patch and it is working! thank you very much!


Roll Chromium 89

Maksim, PTAL

cc @jschfflr to cut a release including this change (once it happens)

cc @jschfflr to cut a release including this change (once it happens)

The roll has finished! Jan, do you want to look into cutting a release? Thanks 👍

Sure! Can you point me to some documentation on how to do so?


Please add "Git Create Tag"

Please add "Git Create Tag"

Thanks for the suggestion. Create Tag has been added in the new release

Thanks


Escaped newline does not work in ex-mode substitute commands

Describe the bug
A s(ubstitute) or similar command containing an escaped newline winds up inserting a NUL rather than a newline
To Reproduce
Detailed steps to reproduce the behavior:

Run ex --clean (or vim --clean followed by gQ command)
Insert line containing foobar
Type s/foobar/foo\
bar
Display the line with p(rint) or similar command.

Expected behavior
Two lines, one with foo and one withbar.   Instead I get a single line with foo^@bar.  Investigating with od -c or a similar tool shows that the ^@ really is a NUL character.
A highly non-obvious workaround is to type s/foobar/foo^V^Mbar/, where ^V and ^M are the control characters.
Environment:
VIM - Vi IMproved 8.1 (2018 May 18, compiled Apr 17 2020 17:49:10)
macOS version
Included patches: 1-503, 505-680, 682-2292
Compiled by<EMAIL_ADDRESS>Normal version without GUI.

Upvote the bug, and agree that it is annoying for us old time vi users.

Note that this only happens in ex mode. In visual mode, the final backslash becomes part of the substitution (vim doesn't go on to read another line). I've forgotten what original BSD vi did for this case, but clearly ex mode should treat the escaped newline as a newline since original ed did (and still does) behave this way.

I imagine (without any knowledge of internals) that this is the same as :s//\n/ not working as you’d expect, and that you have to use <C-V><C-M> or \r instead; but it’s well-enough established behaviour with plugin-breaking implications that #7744 concludes it’s a feature, not a bug.


fix: 🐛 Fixes issue where settings icon was hidden on Android

Added SafeAreaProvider
Added a  resusable safeAreaViewContainer.component that takes in account for the statusbar in Android...
... which I end up not using, but using the inset hook on children.component instead due to the reason that there was also a bug where the safe area added a white border in the bottom, even though the page is grey.
Added safeAreaViewContainer to newsItem.component and auth.component

Screenshot from both apps

✅ Closes: #180

Snyggt!


Add module-info for Java 9

Add the module-info.java file
Make the appropriate changes to pom.xml

Awesome! Would be create if you could create and reference a JIRA ticket as described in CONTRIBUTING.md, so this will show up in our release notes.

Coverage increased (+0.01%) to 95.199% when pulling cb5a17949bf941118a80ef05ccd5a77717779792 on jodastephen:module-info into 1f0dfc31b51a445eb2cfbee5321800cf51e10b67 on apache:master.

Coverage increased (+0.01%) to 95.199% when pulling 07c0c408e72836231ef262f565761778e3e9e103 on jodastephen:module-info into 1f0dfc31b51a445eb2cfbee5321800cf51e10b67 on apache:master.

Coverage increased (+0.01%) to 95.199% when pulling 886b26aa09efc1a4bfca3470e33b952399f18f6d on jodastephen:module-info into 1f0dfc31b51a445eb2cfbee5321800cf51e10b67 on apache:master.

Is there any way to rewrite AbstractCircuitBreaker to eliminate the dependency on java.desktop? Java.desktop is quite a large dependency to have for the sake of one class.

@michaelsavich I have a proposal in a branch, submitted some months ago https://github.com/apache/commons-lang/pull/275
Waiting for feedback to prepare deprecated annotations in place, and merge in a major release (I believe it breaks BC)

@michaelsavich , this PR does not create a full dependency on java.desktop. The dependency is expressed as requires static, which means that it will not be pulled in by default. Users that want to use the two broken classes on Java 9 in module mode (a very small percentage of commons-lang users) will need to manually include the java.desktop dependency. As such, there is no urgency to get AbstractCircuitBreaker removed.

Ah, gotcha. That makes sense.

Coverage decreased (-0.02%) to 95.163% when pulling 8362e24c2edd5a7cb88fd9b74c71475462e2fb64 on jodastephen:module-info into 1f0dfc31b51a445eb2cfbee5321800cf51e10b67 on apache:master.

Coverage decreased (-0.02%) to 95.163% when pulling 8362e24c2edd5a7cb88fd9b74c71475462e2fb64 on jodastephen:module-info into 1f0dfc31b51a445eb2cfbee5321800cf51e10b67 on apache:master.

I'll bring this up a last time on the ML to make sure nobody has objections against merging this.

mvn install works fine on each JDK version AFAICT. mvn site still breaks on cobertura on Java 9 and I'm not sure I can work around it without removing it from the parent pom.

@jodastephen What's the error that you get with site? Any links to the build?

Coverage decreased (-0.02%) to 95.163% when pulling 313723da37a87a683683ff5edab139cf10612573 on jodastephen:module-info into 1f0dfc31b51a445eb2cfbee5321800cf51e10b67 on apache:master.

@namannigam You need to check it out and run mvn clean install site on Java 9.

Hi guys,
What's the status on this pull request? 😄

Adding module-info causes some older/Android projects to fail as they can't handle the class format. So, projects are left with the choice of moving forwards or breaking these older/Android projects.
This issue is also tied up in the need to modernise the commons parent pom.xml for Java 9 and later.

Its not just compiling, there are issues at runtime still AFAIK, especially with Java EE and older bytecode libraries.

@jodastephen can you be more specific?

There is a lot of complexity in commons-parent and commons generally. Getting a build to work for Joda was hard enough, and there I am willing to insist on releases being done on Java 9 or later. There needs to be a lot more work on the commons build before module-info should be considered, however at the moment its not clear as to whether doing that work would be positive (due to Android, Jakarta EE issues etc)

@jodastephen moditect can be configured to generate module-info.class into META-INF/versions/9/module-info.class instead, maintaining compatibility with Java8 and earlier runtimes.

@jodastephen @jfallows
I have successfully managed to get moditect on lang3, io, fileupload and text -
https://github.com/GedMarc/commons-lang
https://github.com/GedMarc/commons-io
https://github.com/GedMarc/commons-fileupload
Using source and target of 1.6 is still supported to build for that target JDK (I have done this successfully with the org.json project), however the actual build has to happen in JDK 8 for the plugin to work.
When building the module-info, no import statements are allowed as yet
I place them directly in the root, @ClassGraph (Duke Choice Winner), places the module info files in the meta-inf/versions/ correctly with moditect. He also participates in the moditect development.
https://github.com/GedMarc/commons-lang/blob/master/src/jre11/java/module-info.java

@GedMarc if you add the following to <configuration> section of moditect-maven-plugin version 1.0.0.Beta2, it will place module-info.class into META-INF/versions/9/module-info.class instead.
<jvmVersion>9</jvmVersion>

@jfallows Yeah I've gone through a couple iterations and different mechanisms, about a year and half ago there was an issue in a few of the older ones which I'm sure this project will care about, in things like Wildfly 10/EAP 7 using Jandex the scanner would warning out on the class structure and items like that, so "hiding" the class there seemed like a good idea, or the older reflections etc,
For me though I'm planning on discontinuing JDK 8 soon though, so for my purposes and to build cleanly with a full distribution cycle jdk 12 13 and up, the root definitely seems like the best idea and 190 odd projects later (Assisting Jackson JSON, having to use local builds of Guice no replies on the pull requests, stopped making pull requests because of that actually, commons).
JLink, and JPMS, has it's requirements though, but the results are spectacular.

@jfallows for interests sake though -
https://github.com/GedMarc/JPMSThirdPartyParent/tree/86537e0f18de56e10c3d9da4cb5a68f9273b7e87 is a listing of all the libraries that I'm expecting full JPMS compliance with in the short term
The list of modules that are either finalized/closed/owner's non-contactable, or the repositories abandoned are here
https://github.com/GedMarc/JPMSThirdPartyParent/tree/86537e0f18de56e10c3d9da4cb5a68f9273b7e87
If you can help in getting a hold of these guys, specially javax.inject, man that would be fantastic

I've seen error reports from using multi-version jar files as well as from just placing the module-info.class in the root. It is perfectly possible to create a fully modularized commons-lang provided the team are willing to exclude some users who can't handle module-info.class or multi-version jar files.

@GedMarc thanks for the links, will help however I can.
I'm intrigued by the italics of "seemed like a good idea". 😄
Libraries designed with a base version of Java9 can handle module-info.class at the root, whereas older libraries designed with base version of Java8 or lower might invalidate assumptions about class file contents when placing module-info.class at root, but that should be largely mitigated by placing module-info.class under META-INF/versions/9 instead for runtime discovery by Java9 and higher.
Did you find that there were remaining issues where libraries scanned for all class files inside a JAR, even if they were under META-INF/versions/9 and still tripped up on module-info.class due to their historical assumptions about class file structure? If so, is the proposed solution for those libraries to make them resilient to the presence of module-info.class in general, whether at the root or under META-INF/versions/9, i.e. treat like a bug and fix them?
@jodastephen please share details about those error reports if possible, just in case there are additional relevant pitfalls to navigate 👍

The last time I tried to use a jar with a Java 9 class file properly embedded in META-INF it blew up the Android toolchain. It's been a while so I am not sure what the current state is...

Ping https://github.com/apache/commons-fileupload/pull/26

Basic Update -
Maven Coordinates have changed, all libraries are up to date and modular, can simply include them to build up JLink artifacts
http://www.guicedee.com

@kinow I have an alternative branch that would allow users to continue to use AbstractCircuitBreaker with or without the java.desktop module, available here https://github.com/apache/commons-lang/compare/master...Sineaggi:commons-lang:make-java.desktop-optional.
In this case we provide two ways of specifying a listener, one from java.desktop and on provided by apache. For users that still use the java.beans.PropertyChangeListener, they'll need a requires java.desktop in their module-info.java file, but for other users they can use the new org.apache.commons.lang3.concurrent.StateChangeListener without issue. I could also do some extra work to make the new classes closely mirror the ones in java.beans.

@jodastephen Will you have any time to work on this branch and get it ready to merge?

I have no plans to work further on this, and in my 2023 view adding module-info.java is a mistake for most projects, as it creates more problems than it solves. Having a module name reserved in the manifest is, of course, fine.

Why the edit to change the import of PropertyChangeListener to a FQCN?
If the class still has a reference to PropertyChangeListener how is it different?

Why the edit to change the import of PropertyChangeListener to a FQCN? If the class still has a reference to PropertyChangeListener how is it different?

You're right, that change is unnecessary. I originally used the same names for the classes in java.beans.

I have all the commons libraries with module-info's for natively building artifacts
https://github.com/GedMarc/GuicedEE-Services/tree/2a56ec5e79010c8214b6a398d3cf5b4e09f844ce
These are always up to date and contain the required configurations for operation
https://mvnrepository.com/artifact/com.guicedee.services/ - prefix "commons"
e.g. https://mvnrepository.com/artifact/com.guicedee.services/commons-logging

Closing: This is currently done through the moditect Maven plugin.


communities: community's logo

They were integrated into zenodo/invenio at some point, but (I think) never integrated in invenio/invenio or later invenio/invenio-communities.

https://github.com/zenodo/invenio/commit/b602adef4ea7dbb938ac7e13e89a3015b0b6d7f1
https://github.com/zenodo/invenio/commit/8e368c312fb3aa308056911d70da414f4c986f31

closed via #19 (d9bec263e753b1bcbc4d0ea89982159729e44595).


Generate and push docker image from github actions

At the root of the repository there is Dockerfile, we should generate the image in a github action, and push it to docker hub.
ref: https://docs.github.com/en/actions/publishing-packages/publishing-docker-images

See https://github.com/scheme-live/live/pull/61


refactor: create model package

oops I merged the wrong PR :facepalm: wanted to merge my dropdown one. feel free to leave any review comments on here still and I can take care of them @johnytiago


CollectionConfig removes indexes field

Documentation Issue
The indexes field has been removed from CollectionConfig in the latest version, but I can't find any description on how to migrate it in the documentation?

@denolfe Do you understand what's going on here? Thanks!


Feature: Add Actions settings page

Summary

[x] Added an empty page named Actions
[x] Added PointerOver visual state
[x] Added support to edit remapping with custom TextBox editor
[x] Added support to save remapped keyboard to the json
[x] Added support to reset a mapping to default
[x] Added support to reset all mappings to default
[x] Added automation test for Actions page
[ ] Fixed an issue where "+" is stored as unicode format
[ ] Localize

PR Checklist

[x] Were these changes approved in an issue or discussion with the project maintainers? In order to prevent extra work, feature requests and changes to the codebase must be approved before the pull request will be reviewed. This prevents extra work for the contributors and maintainers.
Closes #9559
[x] Did you build the app and test your changes?
[ ] Did you check for accessibility? You can use Accessibility Insights for this.
[ ] Did you remove any strings from the en-us resource file?

[ ] Did you search the solution to see if the string is still being used?

[x] Did you implement any design changes to an existing feature?

[x] Was this change approved?

[x] Are there any other steps that were used to validate these changes?

Go to Actions page in Settings dialog
Edit, reset, save a mapping

Screenshots

Putting off until #15106 merged.

Continue working on this!

Will continue working on this!

We'll need to prevent the esc key from closing the dialog while editing a key binding.

/format

/format

/format

/format

Some of those descriptions are pretty redundant 😅

Just added for me to understand.
It's under development.

Some of those descriptions are pretty redundant 😅

It's out of scope for this PR but there are a number of mistakes as well that need to be sorted out.


Solidify Argument support

Args should support:

[x] optional, required, and variadic
[x] providing a name for an argument (this will be important when generating help and docs)
[x] providing a description

@DamianReeves Done, I think, can you review and close this?


WaveOut and WaveIn support in netstandard?

I'm working on a WPF application for my electronic drum set and currently target .NET Core 3.0 and .NET 4.7.2.
While much of NAudio is available in the netstandard2.0 target, WaveIn and WaveOut aren't available - and even WaveInEvent/WaveOutEvent don't allow me to detect the number of devices or get their capabilities.
Is this a fundamental limitation within .NET Standard, or could it be addressed in a future release? Would adding a netstandard2.1 target help? Let me know if there's anything you'd like me to investigate.

+1 for WaveOut.
For input devices WaveInEvent.DeviceCount is available in netstandard2.0. Unfortunately no matching method on WaveOutEvent.

This also applies to a lot of the Asio stuff (like AsioOut). I wonder if there's any reason this can't target .net standard (for windows), or even .net core? .net core 3 can actually build WPF apps on windows, and I believe that's what MS wants you to do from now on, considering that .Net Framework 4.8 is going to be the last of the .Net Frameworks.
See how AsioOut.cs is just remove from compilation for .Net standard (are there apis missing from .net standard or .net core that's causing it to fail compilation?): https://github.com/naudio/NAudio/blob/ec5266ca90e33809b2c0ceccd5fdbbf54e819568/NAudio/NAudio.csproj#L28

After some quick investigation, AsioDriver's usage of Microsoft.Win32.Registry seems to be the only thing stopping preventing successful compilation: https://github.com/naudio/NAudio/blob/89dd9528a79d559c80f2bfd4a91600ec9fde2050/NAudio/Wave/Asio/ASIODriver.cs#L33
I've found that Microsoft has released a .net standard (and friends) compatible package for this: https://www.nuget.org/packages/Microsoft.Win32.Registry. I'm really curious now. I'm going to see if I can get this part to work under .net standard

Now that #574 is merged, here is the situation:

.Net Standard 2.0 supports ASIO
.Net Core 3.0 supports WaveIn/WaveOut

I think this can be closed, because this should be sufficient for most use cases as new apps should probably be using .Net Core 3.0 anyway.

Sounds good to me. I hadn't spotted the 1.10 release with this in. If it's okay with everyone, I'll leave this open for a few days until I get the chance to actually test migrating my application back to .NET Core 3, by updating the NAudio dependency to 1.10. (I'm hoping it'll be just that simple...)

Great, let us know how you get on with this. I've done a bit of testing and it seems the .NET Core support is working nicely (thanks @jwosty). And @jskeet sorry I missed your NDC London talk, I was only there for the Wed & Thu this year.

Works perfectly, thanks :)


Vertical sliderproblem

In a vertical slider, with sliderImage set, the slider moves in the opposite direction. That's pretty wrong.. 🤓 (Xcode 9.3)
It took me some time to find what's happening there, but I found a solution:
override open func draw(_ rect: CGRect) {
	super.draw(rect)

	/* lots of code */

	if let image = sliderImage {
		if direction == .horizontal {
			context!.translateBy(x: 0, y: imageRect.size.height)
	   		context!.scaleBy(x: 1.0, y: -1.0)
	  	} else {
	    	context!.scaleBy(x: 1.0, y: 1.0)
	   	}
	   	context!.draw(image.cgImage!, in: (sliderSize != CGSize.zero ? CGRect(x: circleRect.origin.x + sliderImageOffset.x, y: (radius * 0.5) - (sliderSize.height * 0.5) + sliderImageOffset.y, width: sliderSize.width, height: sliderSize.height) : circleRect))
	} else {
	  circleColor.set()
	  /* rest of code */
	}
}

Thanks @Mvdl, I've pushed the code. Also, reuploaded the new pod. (0.7)


first version of solarflare nic device plugin test

What this PR does / why we need it:
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
Special notes for your reviewer:
Release note:

lgtm :)


JetBrains Toolbox icon

JetBrains Toolbox

IDEA Welcome

This icon represents a plugin for IntelliJ. This plugin is not a plugin for IntelliJ.
Also, the project is IDE-agnostic, I'd like to avoid IntelliJ-specific configuration here.


IceBreaker-manifest.zip fails validation and cannot be uploaded as an app

I've tried checking against https://dev.teams.microsoft.com/appvalidation.html and trying to upload the zip created by the script directly to Teams and both error out saying the manifest.json cannot be found. I see it within the ZIP file and it appears to be correct. Is this an error with the script?

It appears the auto generated ZIP is missing the actual language JSON files and thus fails validation. Combining all the language JSONs and the filled out manifest.json into a new ZIP makes it pass validation and upload successfully.


Failed to execute 'decodeAudioData' and Black screenshot

i'm using edge and when i'm trying to update the last card i have this error message, also i tried to remove the sentence audio field then it worked but the screenshot is just a full black picture.
i set up asb with this video: https://youtu.be/B60cj69MSmA

If you can provide a more complete error log from your developer console that would be great. Otherwise I would suggest using a different browser. Chrome now supports HEVC decoding depending on your hardware, so there is less reason to use Edge.

thank you it works perfectly fine now.


Added a talk on Going Beyond The Pipeline Problem

Lesbians Who Tech and Pantheon put together a great event around "Going beyond the pipeline problem". Added link to that talk.

Thanks @dreamingechoes .. made the change.


A coredump occurred during json serialization

(gdb) bt
#0  0x00000000008f42fe in sonic_json::internal::DoEscape (nb=<synthetic pointer>: 10, dst=<synthetic pointer>: 0x3d0c0ff3 "", src=<synthetic pointer>: <optimized out>) at /opt/logtail/deps/include/sonic/internal/arch/avx2/../common/quote_common.h:39
#1  sonic_json::internal::avx2::Quote (dst=0x3d0c0ff3 "", nb=10, src=<optimized out>) at /opt/logtail/deps/include/sonic/internal/arch/avx2/../common/x86_common/quote.inc.h:199
#2  sonic_json::internal::SerializeImpl<0u, sonic_json::DNode<sonic_json::MemoryPoolAllocator<sonic_json::SimpleAllocator, sonic_json::SimpleChunkPolicy> > > (wb=..., node=0x3b6a7088, node@entry=0x7fffb1c10aa0) at /opt/logtail/deps/include/sonic/dom/serialize.h:78
#3  sonic_json::DNode<sonic_json::MemoryPoolAllocator<sonic_json::SimpleAllocator, sonic_json::SimpleChunkPolicy> >::serializeImpl<0u> (this=this@entry=0x7fffb1c10de0, wb=...) at /opt/logtail/deps/include/sonic/dom/dynamicnode.h:747
#4  0x00000000008efd3e in sonic_json::GenericNode<sonic_json::DNode<sonic_json::MemoryPoolAllocator<sonic_json::SimpleAllocator, sonic_json::SimpleChunkPolicy> > >::Serialize<0u> (wb=..., this=0x7fffb1c10de0) at /opt/logtail/deps/include/sonic/dom/genericnode.h:1000

Can you help me take a look? Do you need to provide any other information?

could you provide some reproduce codes?

Thank you for your reply. It has not been reproduced, but after I added the following line of code, there is no coredump. What do you think?
    if (kQuoteTab[ch].s) {
      std::memcpy(dst, kQuoteTab[ch].s, 8);
    }

https://github.com/bytedance/sonic-cpp/blob/d43066fc2d5dfa3deba4ccd97d382911041f422e/include/sonic/internal/arch/common/quote_common.h#L39

@xiegx94 Thank you for your reply. The problem is solved. The reason is that when using sonic_json::Node, a temporary string is used without copying.

@xiegx94 Thank you for your reply. The problem is solved. The reason is that when using sonic_json::Node, a temporary string is used without copying.

Thanks for your replying！


Getting Incomplete form value

While trying to access form value using form.value. The response is not complete. i.e the while form data does not showup.  Please help me.
audition = FormGroup(
      {
        'name': FormControl<String>(validators: [Validators.required]),
        'email': FormControl<String>(
            validators: [Validators.required, Validators.email]),
        'contact_number': FormControl<String>(
            validators: [Validators.required, Validators.number]),
        'current_address':
            FormControl<String>(validators: [Validators.required]),
        'permanent_address':
            FormControl<String>(validators: [Validators.required]),
        'sex': FormControl<String>(validators: [Validators.required]),
        'date_of_birth': FormControl<String>(validators: [Validators.required]),
        'nationality': FormControl<String>(validators: [Validators.required]),
        'religion': FormControl<String>(validators: [Validators.required]),
        "answers": FormArray(
          questionList!
              .map(
                (e) => FormGroup(
                  {
                    'question': FormControl(
                      value: e.question,
                    ),
                    'nepaliQuestion': FormControl(
                      value: e.questionNp,
                    ),
                    'answer': FormControl(validators: [Validators.required]),
                  },
                ),
              )
              .toList(),
        ),
        "video": FormControl<ImageFile>(
          validators: [Validators.required],
        )
      },
    );

Printing after filling up all fields.
submitForm() {
    print(audition.rawValue);
  }

Result
 {name: Aadarsha Dhakal, email<EMAIL_ADDRESS>contact_number: 98, current_address: hzisksmsks, permanent_address: nxkxlmd, sex: Female, date_of_birth: 2021-07-16T00:00:00.000, nationality: jdjdkxkd, religion: jdjdj dmd, answers: [{question: Tell something about yourself, nepaliQuestion: तपाई आफ्नो बारेमा केही भन्नुहोस् ।, answer: udjdkd dmmmdo}, {question: Why do you want to become roadies?, nepaliQuestion: तपाई किन रोडिज बन्न चाहानुहुन्छ ?, answer: jiskzisknzuxjsisms}, {question: What is your view on equal rights between man and women, nepaliQuestion: महिला-पुरुष समानताका बिषयमा तपाईको धारणा के हो ?, answer: jdidmzkicndjdnsizkmdjdixmskizmsms}, {question: What do you think, tittok, instgram, facebook social media is having effect on youth Positive or negative? Why?, nepaliQuestion: फेसबुक,, answer: ud

Hi @aadarshadhakalg,
I guess you figured out how to solve your issue. Thanks for using Reactive Forms. Don't hesitate to ask questions.
Best regards

Yeah, actually I was printing the form.value and later I knew that the print function cannot print large strings at once. Thank you so much for the amazing package.


[TFLite int16] 16-bit version of MUL reference kernel operator

This PR is one of steps to extend 8-bit quantization to support symmetric 16-bit activations.
Each activation is of type int16 and symmetric around zero. The weight tensor precision remains at 8-bit signed values. The bias is set to int64 precision.
In this PR we introduce implementation and tests for MUL kernel reference function.
The specification of this operator:
MUL
  Input 0:
    data_type  : int16
    range      : [-32768, 32767]
    granularity: per-tensor, zero_point=0
  Input 1:
    data_type  : int16
    range      : [-32768, 32767]
    granularity: per-tensor, zero_point=0
  Output 0:
    data_type  : int16
    range      : [-32768, 32767]
    granularity: per-tensor, zero_point=0
32767]
    granularity: per-tensor, zero_point=0

@rthadur This PR has been approved, but it still has the label "stat: awaiting response". What does this mean ? Could this PR be merged ? Thanks


Enter Option: error: could not open document

Hello,
I have a similar issue to #10
I have all dependencies installed, however i keep receiving:
Enter Option: error: could not open document

Which pdf viewer are you using?

Probably try opening with another pdf viewer using
manga-cli -o <your pdf viewer>

It works fine for me, but I can't understand why it is not working for you. Could you try a clean install?
rm /usr/local/bin/manga-cli
rm -rf ~/.cache/manga-cli

Can check the list of the contents of ~/.cache/manga-cli after trying to download a manga.

can you send the code was the manga-cli file

Do you have zip and Imagemagick installed?


Current output path configuration causes issues for create_labeled_video

In order to run create_labeled_video, the video must be in the same directory as the h5
Options

Move the video to the output directory
Add table for running this function and temporarily move the video to the output directory
Make a copy of the video in the output directory
Change course - only add output to default location

Invalid issue. created_labeled_video can be launched with paths for each. See demo notebook


Fixing File Imports and Exports in Web Build

Let's say I'm using the web build, and I want to import or export something.
I get this:

At first glance, this seems fine, but it's actually not; because this is not any part of my PC.
I faintly recall the Godot docs saying something about web builds accessing a database with a filesystem inside; maybe that's what it's looking through?
Either way, I think the problem is that it opens Godot's file manager, when we really want the OS file manager.

I can tell this dialog uses the FileDialog node, so maybe try this:
https://docs.godotengine.org/en/stable/classes/class_filedialog.html#class-filedialog-property-use-native-dialog
No idea if it works on Web, and I'm having issues trying to clone the repo + I haven't exported to web yet.
But I'll try.

I'm not sure how to fix this right now, but for a starting point, let's go over how it's implemented. GodSVG checks if the DisplayServer supports native file dialogs. If it does, it instantiates one. If it does not, it uses this fake wonky FileDialog scene as a fallback.
Not sure what a solution would look like, but it should be possible.

I'm currently unable to compile to web, but I have an idea:
According to the docs, you can use a custom HTML page to have custom JavaScript functions, which are callable by the game.
So maybe we could use a custom web page, add a function that opens the OS file manager for FileDialogs, and then make GodSVG use it if you're on web.


Create Cool project.txt

Signed-off-by: Smita-jha48<EMAIL_ADDRESS>
Description

What does this PR do?

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New chore (expected functionality to be implemented)

Checklist:

[ ] My change requires a change to the documentation.

[ ] I have updated the documentation accordingly.

[ ] I've signed off with an email address that matches the commit author.

Why sending spam mails
On Thu, 22 Dec, 2022, 23:48 Smita-jha48, @.***> wrote:

Closed #42 https://github.com/score-spec/spec/pull/42.
—
Reply to this email directly, view it on GitHub
https://github.com/score-spec/spec/pull/42#event-8098114210, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AW4ZZPSKUAE3X3THYM6WK7LWOSLQHANCNFSM6AAAAAATG7TD6Y
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


ERROR: Unable to extract uploader id

Checklist

[x ] I'm reporting a broken site support issue
[ x] I've verified that I'm running youtube-dl version 2021.12.17
[ x] I've checked that all provided URLs are alive and playable in a browser
[ x] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[ x] I've searched the bugtracker for similar bug reports including closed ones
[ x] I've read bugs section in FAQ

Verbose log

[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-o', '%(uploader)s - %(title)s.%(ext)s', '-f', 'best', 'https://www.youtube.com/watch?v=fMi6Xi6Li2Q', '--verbose']
[debug] Encodings: locale UTF-8, fs utf-8, out utf-8, pref UTF-8
[debug] youtube-dl version 2021.12.17
[debug] Python version 3.10.12 (CPython) - Linux-6.1.58+-x86_64-with-glibc2.35
[debug] exe versions: ffmpeg 4.4.2, ffprobe 4.4.2
[debug] Proxy map: {'colab_language_server': '/usr/colab/bin/language_service'}
[youtube] fMi6Xi6Li2Q: Downloading webpage
ERROR: Unable to extract uploader id; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/dist-packages/youtube_dl/YoutubeDL.py", line 815, in wrapper
    return func(self, *args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/youtube_dl/YoutubeDL.py", line 836, in __extract_info
    ie_result = ie.extract(url)
  File "/usr/local/lib/python3.10/dist-packages/youtube_dl/extractor/common.py", line 534, in extract
    ie_result = self._real_extract(url)
  File "/usr/local/lib/python3.10/dist-packages/youtube_dl/extractor/youtube.py", line 1794, in _real_extract
    'uploader_id': self._search_regex(r'/(?:channel|user)/([^/?&#]+)', owner_profile_url, 'uploader id') if owner_profile_url else None,
  File "/usr/local/lib/python3.10/dist-packages/youtube_dl/extractor/common.py", line 1012, in _search_regex
    raise RegexNotFoundError('Unable to extract %s' % _name)
youtube_dl.utils.RegexNotFoundError: Unable to extract uploader id; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

Description

WRITE DESCRIPTION HERE
trying another youtube url got same result,
trying from python code, got an error too :
[youtube] QYgaT9rF89g: Downloading webpage
ERROR: Unable to extract uploader id; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
---------------------------------------------------------------------------
RegexNotFoundError                        Traceback (most recent call last)
[/usr/local/lib/python3.10/dist-packages/youtube_dl/YoutubeDL.py](https://localhost:8080/#) in wrapper(self, *args, **kwargs)
    814             try:
--> 815                 return func(self, *args, **kwargs)
    816             except GeoRestrictedError as e:

9 frames
RegexNotFoundError: Unable to extract uploader id; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

During handling of the above exception, another exception occurred:

DownloadError                             Traceback (most recent call last)
[/usr/local/lib/python3.10/dist-packages/youtube_dl/YoutubeDL.py](https://localhost:8080/#) in trouble(self, message, tb)
    596             else:
    597                 exc_info = sys.exc_info()
--> 598             raise DownloadError(message, exc_info)
    599         self._download_retcode = 1
    600

DownloadError: ERROR: Unable to extract uploader id; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

best regards

[ x] I've searched the bugtracker for similar bug reports including closed ones

Actually do this first.
https://github.com/ytdl-org/youtube-dl/issues?q=Unable+to+extract+uploader+id


chore: setting suggested filters as not ready for release

This PR resolves []
Description
This PR sets the suggested filters as not ready for release until we get an answer from the design team about how to proceed.

PR Checklist

[x] I have tested my changes on iOS and Android.
[x] I hid my changes behind a feature flag, or they don't need one.
[x] I have included screenshots or videos, or I have not changed the UI.
[x] I have added tests, or my changes don't require any.
[x] I added an app state migration, or my changes do not require one.
[x] I have documented any follow-up work that this PR will require, or it does not require any.
[x] I have added a changelog entry below, or my changes do not require one.

To the reviewers 👀

[ ] I would like at least one of the reviewers to run this PR on the simulator or device.

#nochangelog
Need help with something? Have a look at our docs, or get in touch with us.

Warnings

:warning:

✅ No changelog changes

  Generated by :no_entry_sign: dangerJS against c40adc555f2bbba72138663cfba0a8cedd3f645f

@MounirDhahri Considering last week's sync and green light for release, I think we can go ahead and close this PR.


Independent steering for front and rear axle + follow a path

Hello,
I want to make a vehicle follow a specific path without manually contolling it while it drives. It should be possible, to steer the rear axle independently of the front steering. In the end, I only want to provide steering angles for front and rear wheels as well as the acceleration to follow the path. Can I fulfill this task with CARLA, and if yes, what would be the best way?
Is it also possible if I do not use Unreal Engine for this?
Thank you in advance!

@lisatenbo you can't as the platform is right now. Do you really need to control the front and rear axles independently? What is your use case?

@lisatenbo are you still interested in this issue?

I'm not interested anymore.

Hi @germanros1987 , has this feature been implemented yet?

@germanros1987 I am also interested, please feel free to tell us a way to control them separately!

I am trying to simulate a robot in carla that works on swerve drive. So is there any feature to control steering angles of each wheel through ROS bridge or python API. If not then how can I add it by changing the source code? can anyone help me on this please


[commissioner] use ExtAddress helper methods

Combining the commit from this onto this common PR https://github.com/openthread/openthread/pull/4181. Closing this.


Add HTTPS to the GCE ingress controller

Adds support for HTTPS, and 3 modes:

len(ing.Spec.TLS) == 0: pure http
len(ing.Spec.TLS) > 0: http on :80 + https on :443 with ing.Spec.TLS[0]
ing.Annotation[allowHTTP] == false: don't setup anything on :80

Second and third commits have real code.
@kubernetes/goog-cluster feel free to jump in and take over as reviewers, assigning to Tim as defacto reviewer.

Assignig to @freehan because Tim is ooo

Overall it is good. It is just the L7 and L7RuntimeInfo abstraction seems to be trapped between gcp and k8s. And I cannot think of a better way to refactor it. So LGTM...

Overall it is good. It is just the L7 and L7RuntimeInfo

Yeah this is because GCE doens't have an L7. It's a lot easier to reason about an L7 as an L7 object. This object contains all the resources that make up the conceptual GCE L7, and hook them up with the Kubernetes resources.
Hopefully GCE will just get an L7 object.

@freehan added the requested comments: https://github.com/bprashanth/contrib/commit/a2f82d5f48fe470db0a259888b29582699c3fb9f#diff-0ca32fb01d30b7ffd4f37d77adcce2e5R252

@freehan thanks for the review