Documentation

@samgoodgame has started the process of documenting our work. As a result of his pull request, I've given him access as a contributor to the repository. Thanks @samgoodgame!
We still have a couple of steps on this issue:

[ ] Finish up the user guide
[ ] Do a walk through of the admin site
[ ] Post the documentation to ReadTheDocs.org

@samgoodgame please assign yourself to this issue when you accept the team invite!

@bbengfort it appears as though as a team member, I only have read access; unless there's another way to assign the issue to myself, it appears as though I am unable. Screenshot:

@samgoodgame strange - I'll look into it, but I've added you.

@samgoodgame ok, you should now have write access.

Awesome, I assigned it to myself. Thanks!

@bbengfort should I point the readthedocs site at our development or master branch? Master currently doesn't have much on it, but I'm not sure if you want to hold off posting develop until we release it/merge with master

I'd say post it to develop for now, and we can start having different
releases of documentation with the next push to production.
On Fri, Aug 26, 2016 at 1:31 PM, Sam Goodgame<EMAIL_ADDRESS>wrote:

@bbengfort https://github.com/bbengfort should I point the readthedocs
site at our development or master branch? Master currently doesn't have
much on it, but I'm not sure if you want to hold off posting develop until
we release it/merge with master
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/DistrictDataLabs/partisan-discourse/issues/20#issuecomment-242799246,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAth7ikNYEDR8HyNQbjDv3P5CN1ZV-8lks5qjyLvgaJpZM4JtrVe
.

Ok-- it's currently visible at this URL:
http://partisan-discourse.readthedocs.io/en/develop/


HELP Custom font in purchase list

Hi. Can anybody help to load a custom font in purchase list, im trying to replace weapon names with custom icons. But I have following problem. I can easily use ImGui::PushFont in GUI.cpp, but in purchase list it is not recognized, how do I pass it to purchase list? Appreciate any help, thank you.

Transferred and reworked Misc.cpp windows in GUI.cpp, like it was couple of years ago. Works fine until I find better way.


[New feature suggestions] add history (loss function/accuracy) at each iteration (shapelet model)

Hi Romain,
Thank you so much for your amazing input!
I'm new to the python/deep learning/keras community.
I'm wondering if the shapelet model could output the history (e.g. loss function/accuracy) at each iteration? Or could you point out the way to output the history if the current version of the code has this output?
Thank you again!
Charlotte

Hi Charlotte,
Thank you for this feedback, and for this suggestion. I will check asap whether this could be implemented easily or not, and let you know.

Hi @charlatteD
After a quick check, this is available, but a bit hidden at the moment:
clf = ShapeletModel(n_shapelets_per_size={10: 3},
                    optimizer=Adagrad(lr=.01),
                    weight_regularizer=0.1,
                    max_iter=1000,
                    verbose_level=2,
                    random_state=None)

clf.fit(X_train, y_train)
print(clf.model.history.history)

It could be a good idea to update the example notebook in the doc so that people are aware of that possibility. I will tag that as a good first issue if someone is interested to update the docs, or do it later (but not sure when).
Let me know if this fits your needs.

Hi @rtavenar
Yes, it's exactly what I want. Thank you so much! I've been testing your shapelet code on my project for quite a while. But I'm very new to the github community. Maybe I will update the docs once I'm better at navigating through the github system. Thanks!!
Best,
Charlotte

Great!
So for anyone willing to add this info to the docs, one simple idea would be to add a plot of training accuracy in this example:
https://github.com/rtavenar/tslearn/blob/master/tslearn/docs/examples/plot_shapelets.py

Will appear in the doc once version 0.2 is released


latest_testflight_build_number doesn't work for app extension

New Issue Checklist

[x] Updated fastlane to the latest version
[x] I read the Contribution Guidelines
[x] I read docs.fastlane.tools
[x] I searched for existing GitHub issues

Issue Description
I have an app with two targets, one for the app and the second for push notifications.
When trying to get the latest TF build number for app extension, it fails.
Command executed
build_number = latest_testflight_build_number(app_identifier: app_bundle_id) + 1  => this works
build_number = latest_testflight_build_number(app_identifier: ext_bundle_id) + 1  => this doesn't!

Complete output when running fastlane, including the stack trace and command used

 Could not find an app on App Store Connect with app_identifier: myapp-qa.notificationServiceExtension

Environment
🚫 fastlane environment 🚫
Stack

Key
Value

OS
12.4

Ruby
3.0.0

Bundler?
false

Git
git version 2.32.1 (Apple Git-133)

Installation Source
~/.rvm/gems/ruby-3.0.0/bin/fastlane

Host
macOS 12.4 (21F79)

Ruby Lib Dir
~/.rvm/rubies/ruby-3.0.0/lib

OpenSSL Version
OpenSSL 1.1.1n  15 Mar 2022

Is contained
false

Is homebrew
false

Is installed via Fabric.app
false

Xcode Path
/Applications/Xcode.app/Contents/Developer/

Xcode Version
13.4.1

Swift Version
5.6.1

System Locale

Error

No Locale with UTF8 found 🚫

fastlane files:
No Fastfile found
No Appfile found
fastlane gems

Gem
Version
Update-Status

fastlane
2.207.0
✅ Up-To-Date

Loaded fastlane plugins:
No plugins Loaded
Loaded gems

Gem
Version

did_you_mean
1.5.0

atomos
0.1.3

CFPropertyList
3.0.5

colored2
3.1.2

nanaimo
0.3.0

xcodeproj
1.21.0

rouge
2.0.7

xcpretty
0.3.0

terminal-notifier
2.0.0

unicode-display_width
1.8.0

terminal-table
1.8.0

plist
3.6.0

addressable
2.8.0

multipart-post
2.0.0

word_wrap
1.0.0

optparse
0.1.1

tty-screen
0.8.1

tty-cursor
0.7.1

tty-spinner
0.9.3

artifactory
3.0.15

babosa
1.0.4

colored
1.2

highline
2.0.3

commander
4.6.0

faraday-cookie_jar
0.0.7

faraday_middleware
1.2.0

gh_inspector
1.1.3

mini_magick
4.11.0

naturally
2.2.1

rubyzip
2.3.2

security
0.1.3

xcpretty-travis-formatter
1.0.1

dotenv
2.7.6

simctl
1.6.8

emoji_regex
3.2.3

tsort
0.1.0

set
1.0.1

uri
0.10.1

rexml
3.2.5

claide
1.1.0

public_suffix
4.0.7

excon
0.92.3

ruby2_keywords
0.0.5

faraday-retry
1.0.3

faraday-rack
1.0.0

faraday-patron
1.0.0

faraday-net_http_persistent
1.2.0

faraday-net_http
1.0.1

faraday-multipart
1.0.4

faraday-httpclient
1.0.1

faraday-excon
1.1.0

faraday-em_synchrony
1.0.0

faraday-em_http
1.0.0

faraday
1.10.0

unf_ext
<IP_ADDRESS>

unf
0.1.4

domain_name
0.5.20190701

http-cookie
1.0.5

fastimage
2.2.6

json
2.6.2

bundler
2.3.11

jwt
2.4.1

webrick
1.7.0

httpclient
2.8.3

multi_json
1.15.0

signet
0.16.1

os
1.1.4

memoist
0.16.2

googleauth
0.17.1

mini_mime
1.1.2

retriable
3.1.2

trailblazer-option
0.1.2

declarative
0.0.20

uber
0.1.0

representable
3.2.0

google-apis-core
0.5.0

google-apis-playcustomapp_v1
0.8.0

google-apis-androidpublisher_v3
0.22.0

rake
13.0.6

digest-crc
0.6.4

google-apis-storage_v1
0.15.0

google-apis-iamcredentials_v1
0.11.0

google-cloud-errors
1.2.0

google-cloud-env
1.6.0

google-cloud-core
1.6.0

google-cloud-storage
1.37.0

aws-eventstream
1.2.0

aws-sigv4
1.5.0

aws-partitions
1.602.0

jmespath
1.6.1

aws-sdk-core
3.131.2

aws-sdk-kms
1.57.0

aws-sdk-s3
1.114.0

forwardable
1.3.2

logger
1.4.3

pathname
0.1.0

shellwords
0.1.0

cgi
0.2.0

date
3.1.0

timeout
0.1.1

stringio
3.0.0

securerandom
0.1.0

openssl
2.2.0

io-nonblock
0.1.0

ipaddr
1.2.2

io-wait
0.1.0

zlib
1.1.0

resolv
0.2.0

digest
3.0.0

time
0.1.0

open-uri
0.1.0

mutex_m
0.1.1

net-protocol
0.1.0

net-smtp
0.2.1

ostruct
0.3.1

english
0.7.1

erb
2.2.0

strscan
3.0.0

abbrev
0.1.0

io-console
0.5.6

tempfile
0.1.1

delegate
0.2.0

fileutils
1.5.0

tmpdir
0.1.1

base64
0.1.0

singleton
0.1.1

open3
0.1.1

nkf
0.1.0

nokogiri
1.13.6

racc
1.6.0

prettyprint
0.1.0

pp
0.1.0

find
0.1.0

yaml
0.1.1

psych
3.3.0

generated on: 2022-07-06

latest_testflight_build_number
Fetches most recent build number from TestFlight
Provides a way to have increment_build_number be based on the latest build you uploaded to iTC.
Fetches the most recent build number from TestFlight based on the version number. Provides a way to have increment_build_number be based on the latest build you uploaded to iTC.
latest_testflight_build_number
Supported platforms	ios, mac
Author	@daveanderson
Returns	Integer representation of the latest build number uploaded to TestFlight

latest_testflight_build_number Fetches most recent build number from TestFlight
Provides a way to have increment_build_number be based on the latest build you uploaded to iTC. Fetches the most recent build number from TestFlight based on the version number. Provides a way to have increment_build_number be based on the latest build you uploaded to iTC.
latest_testflight_build_number Supported platforms ios, mac Author @daveanderson Returns Integer representation of the latest build number uploaded to TestFlight

I can read that from the documentation. And that still doesn't solve my issue.

I believe it is common for the extension and the app to use the same version number. In the past it was required.


[FR]: Convert Open5e website to Obsidian

What is Open5e?
Open5e is an open resource of 5th edition Dungeons & Dragons rules and tools that serves over 125,000 players, DMs, and content-creators every month. (Fun fact: you guys really love reading about monks!)
We are firmly ad-free. You will never see an ad or a link to a store on Open5e. Frustration with advertising is a big part of why we started the site; that's why we're asking for your support to make this resource better.
I would love to see this tool also use the SRDs from all the other projects like KoboldPress, Level Up: Advanced 5th Edition, etc.

Some of this other content (e.g. Kobold press) is present in 5eTools Homebrew..
Re: Open5e content, it is unfortunate that the content is pre-formatted. If all you want is "digest these into markdown" .. that's easy enough, but there is no mechanism for recursive processing to insert/handle references or add block ids or callouts or any of that. I can only use what is there, with no real way to enrich it.


Add flag to enable s3 media storage.

@akatsoulas r?

Coverage decreased (-0.008%) to 86.801% when pulling 199d73b3fa0bcdc09ef4175ed12e4ad3d9edf6d6 on johngian:flag-s3-media into 2997f972e2d7dcea530d7dcc68283d599111d7ab on mozilla:master.


Problem with pod

I tried to import SpecLeaks with cocoapods (specifying pod 'SpecLeaks' in my podfile), but it seems that many files are missing.
In fact, I only got LeakTest.swift, but all the other files are not downloaded.
Maybe there is a problem with your pod configuration ?

I have the same problem. Any solution?

Do you have some updates ?

@fmirault Sorry for the late late response, I have been too busy. I just uploaded a new version 0.1.1 and tested it with a blank app. You should be able to use SpecLeaks now.
Remember to set it in your test target, something like this:
target 'TestingAppTests' do TestingApp is the default target while TestingAppTests is the testing target
pod 'SpecLeaks'
end
Can you please let me know if that works for you?
@mbarnach I had to remove macOS support because it was causing issues with lib lint and couldn't push to trunk. I created a feature branch here: https://github.com/leandromperez/specleaks/tree/feature/0.1.1.macos.support in case you're interested in taking a look and run pod lib lint. I couldn't found the issue.

@MrAtiebatie Can you try now?

I still didn't received the right files through Cocoapods. However take a look at my fork:
MrAtiebatie/specleaks
I managed to get it to work by removing the swift version from the podspec file.

Hi @MrAtiebatie,
I've just added support for Swift 5 and Travis.CI is running the tests. I'm closing this issue, if you are still experiencing this, could you please re-open it?
Thanks!


fix: mobile downloads blocked on demo

Issue(s)
The download and share bar were dropped by the demo account banner for users on demo accounts.
Fixes #
How to test

Go to a chat in development on mobile
You should be able to access the share and download buttons

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


LICENSE.txt?

Hi there! Excellent research, your results look incredible.  What is the license for this codebase?  I'm curious if you intend to allow for commercial use beyond research.  Thank you!

Hi,
Thank you for your kind words and for bringing this up.
We add the MIT license to this repo.
Thanks!


[Automation] Generate Fluent Lite from TypeSpec terraform

[Automation] Generate Fluent Lite from TypeSpec terraform
namespace review: https://github.com/Azure/azure-sdk-pr/issues/2098
release issue: https://github.com/Azure/sdk-release-request/issues/5662

/azp run prepare-pipelines

/azp run java - terraform - ci

API change check
APIView has identified API level changes in this PR and created following API reviews.
com.azure.resourcemanager:azure-resourcemanager-terraform


[feature] Add check for shadowed variables.

Is your feature request related to a problem? Please describe.
Describe the solution you'd like
go tool vet -shadow=true ./

ref: https://github.com/barakmich/go-nyet
Add check in ci.
Describe alternatives you've considered
Additional context

go nyet may be misjudgment, so it can only be used as a self -examination and cannot be used as a standard.

go install golang.org/x/tools/go/analysis/passes/shadow/cmd/shadow@latest
go vet -vettool=$(which shadow)


Add virtualenv (pyenv) support

This is extremely specific and only works for me. I'll keep it like this until I find reason to make it more friendly to others.

Progress toward issue #54. At least the bot will be easier to set up with pyenv on systems that have installed it.


[Feature Request] Per table theming

Great project :+1:
Would be nice if there was a way to do something like
{{ data_table(table, {'theme': 'data_table/theme_a.html.twig'}) }}
{{ data_table(table, {'theme': 'data_table/theme_b.html.twig'}) }}
to not only have the theme be determined by bundle configuration but to be able to determine theme everytime a table is rendered.
Feature request in case i am not able to create a pull request with the feature.
Best regards

Hey, thanks for suggestion! I agree, this seems like a must have feature and I'll try to implement this as soon as possible.

Per table theming is now available since version 0.12.0.
The configuration themes node is now deprecated, use defaults.themes instead.
Of course, you can override the themes option directly in the template (notice the "themes" array instead of singular "theme"):
{{ data_table(table, {'themes': ['data_table/theme_a.html.twig']}) }}

The documentation is also updated:

https://data-table-bundle.swroblewski.pl/features/theming/
https://data-table-bundle.swroblewski.pl/reference/configuration/


Adapt to FDP change (mapping->model)

The Travis failure seems to be a flaky test.
Apart from that, this PR looks good to me :+1:


Bump to axum 0.7

This so far is unfortunately blocked by tonic.
Will be resumed once tonic bumps its dependency on http crate to 1.0

Blocked by https://github.com/hyperium/tonic/issues/1579


Expanded Liberia support

Coverage increased (+0.03%) to 99.61% when pulling 4e599a29e4a7cdf3dcf26d139b36ec91e61f21bc on sconstantinides:master into 749b7db2e7b8a923d0358d9b3f814d607b28518b on floere:master.

Very nice, thank you very much!

Released in 2.12.12.


update UI to .net 8

done in

done in https://github.com/learntocloud/define-the-cloud-site/pull/4 by @arthurlemelle


Introduce a function that performs the routes processing to find out the direct route.

Defining new constants: regex patterns for leading and trailing parts of a bus stops sequence, relative to the matching element.
Introducing a function that performs the routes processing to find out the direct route, and calling it conditionally in the respective callback.
Adding the "Consuming" section and the "Error handling" subsection to the README doc.
Bumping version number to 0.2.0.

She looks searching... and finding ! :+1: — Approved. :blue_heart:


Add helper method for logging in Starter.java #1303

/gcbrun

@Lukkaeus in case you were still interested, this seems like a good improvement if concerns were addressed?

Opened #2418 using a patch so original author's work is preserved, then added another commit to address the unresolved feedback on this PR. Closing.


solution TO PROBLEM https://codeforces.com/contest/1553/problem/A

Description
Please include a summary of the change and which issue is fixed. List any dependencies that are required for this change.
Fixes #2170
Replace issue_no with the issue number which is fixed in this PR
Type of change
Please delete options that are not relevant.

[ ] 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 not work as expected)
[ ] This change requires a documentation update
[ ] Documentation Update

Checklist:

[ ] My code follows the style guidelines(Clean Code) of this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have created a helpful and easy to understand README.md
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests/screenshots(if any) that prove my fix is effective or that my feature works

@MehaShukla send only one code file.

@MehaShukla send only one code file.

OK SIR,
I DELETED 2 FILES AND NOW THERE IS ONLY A SINGLE ONE WHICH HAS 1 CODE ONLY.

@MehaShukla add test cases


unset plugin configuration value -anonymous- should act like default value

We upgraded kong v0.9 to v0.10.1. In postgres we saw
select config from plugins where name='key-auth';
{"hide_credentials":false,"key_names":["apikey"]}
select consumer_id from plugins where name='key-auth';
(one result, seems to be empty string)

When installing v0.10 directly (without upgrade) the config value is
{"hide_credentials":false,"key_names":["apikey"],"anonymous":""}

Kong started returning error HTTP 500 for valid keys after the upgrade.  The kong error log file contained
2017/05/17 13:25:53 [error] 2764#0: *1514 lua entry thread aborted: runtime error: /usr/local/share/lua/5.1/kong/tools/database_cache.lua:223: attempt to concatenate local 'id' (a nil value)
stack traceback:
coroutine 0:
	/usr/local/share/lua/5.1/kong/tools/database_cache.lua: in function 'consumer_key'
	/usr/local/share/lua/5.1/kong/plugins/key-auth/handler.lua:135: in function 'access'
	/usr/local/share/lua/5.1/kong.lua:256: in function 'access'
	access_by_lua(nginx-kong.conf:80):2: in function <access_by_lua(nginx-kong.conf:80):1>, client: <IP_ADDRESS>, server: kong, request: "GET /APINAME?key=VALIDKEY HTTP/1.1", host: "KONG_SERVER:PORT"

The line number (135) is misleading. In handler.lua on the server the error happens around cache.get_or_set https://github.com/Mashape/kong/blob/bb88a8071c8a30caed72b620f60835cc238c13f9/kong/plugins/key-auth/handler.lua#L149
Previous to that line there's a condition
 if conf.anonymous ~= "" and conf.anonymous ~= nil then

I'd argue it should be or instead of and so that an unset configuration value has the same meaning as the default (empty string according to https://getkong.org/plugins/key-authentication/)
After we changed the config value via a SQL statement the HTTP 500 errors stopped.
Checking the master branch other plugins seem to have the same logic
grep -r 'conf.anonymous ~= nil' ./
.//kong/plugins/basic-auth/access.lua:    if conf.anonymous ~= "" and conf.anonymous ~= nil then
.//kong/plugins/hmac-auth/access.lua:    if conf.anonymous ~= "" and conf.anonymous ~= nil then
.//kong/plugins/jwt/handler.lua:    if conf.anonymous ~= "" and conf.anonymous ~= nil then
.//kong/plugins/key-auth/handler.lua:    if conf.anonymous ~= "" and conf.anonymous ~= nil then
.//kong/plugins/ldap-auth/access.lua:    if conf.anonymous ~= "" and conf.anonymous ~= nil then
.//kong/plugins/oauth2/access.lua:    if conf.anonymous ~= "" and conf.anonymous ~= nil then

@mtmail thank you for the detailed report! This was set to be fixed via a migration in 0.11, and we have a bandaid that will be released in 0.10.3 (see https://github.com/Mashape/kong/pull/2508). If you're using 0.10.1 the logic you've noted is not applicable to your running install, as this PR is not yet released (unless you've patched the PR in directly).

Closing, since this is fixed as noted in both upcoming releases.


Add decision offset to LastDecisionCompleted reset type

What changed?
Add decision offset to LastDecisionCompleted reset type

Why?
https://github.com/uber/cadence/issues/4668

How did you test it?

Potential risks
None

Release notes

Documentation Changes

Pull Request Test Coverage Report for Build 52b37313-94a3-4294-a42c-45f71be10f76

0 of 25 (0.0%)  changed or added relevant lines in 1 file are covered.
124 unchanged lines in 15 files lost coverage.
Overall coverage decreased (-0.05%) to 56.987%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

tools/cli/workflowCommands.go
0
25
0.0%

Files with Coverage Reduction
New Missed Lines
%

service/history/execution/mutable_state_task_refresher.go
1
73.82%

common/peerprovider/ringpopprovider/ringpop_config.go
2
81.58%

common/persistence/executionManager.go
2
76.94%

common/persistence/statsComputer.go
2
96.43%

common/task/fifoTaskScheduler.go
2
87.63%

common/task/weightedRoundRobinTaskScheduler.go
2
89.64%

service/history/execution/mutable_state_builder.go
2
69.66%

common/persistence/nosql/nosqlplugin/cassandra/workflow.go
3
55.49%

service/history/shard/context.go
9
66.19%

common/persistence/nosql/nosqlplugin/cassandra/workflowUtils.go
12
77.59%

Totals

Change from base Build 9ae87487-02a4-45b5-a201-7b9139583b00:
-0.05%

Covered Lines:
82862

Relevant Lines:
145406

💛  - Coveralls


vrouter: reload haproxy when cfg file is updated

since 4.11.3, haproxy is always restarted when add/delete a lb rule.
When haproxy is started, the processes are
root@r-854-VM:~# ps aux |grep haproxy
root     22272  0.0  0.2   4036   668 ?        Ss   07:52   0:00 /usr/sbin/haproxy-systemd-wrapper -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid
haproxy  22274  0.0  2.3  38444  5856 ?        S    07:52   0:00 /usr/sbin/haproxy-master
haproxy  22275  0.0  0.3  38444   880 ?        Ss   07:52   0:00 /usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid -Ds

When haproxy is reload, the processes are
root@r-854-VM:~# ps aux |grep haproxy
root     22272  0.0  0.2   4168   632 ?        Ss   07:52   0:00 /usr/sbin/haproxy-systemd-wrapper -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid
haproxy  22283  0.0  2.3  38444  5884 ?        S    07:53   0:00 /usr/sbin/haproxy-master
haproxy  22286  0.0  0.3  38444   880 ?        Ss   07:53   0:00 /usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid -Ds -sf 22275

We need to change the pid file from /var/run/haproxy.pid to /run/haproxy.pid, so the haproxy will be reloaded instead of restarted.
Description

Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[X] Bug fix (non-breaking change which fixes an issue)
[ ] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)

Screenshots (if appropriate):
How Has This Been Tested?

add/delete a lb rule, haproxy is reloaded
root@r-854-VM:~# tailf /var/log/cloud.log |grep haproxy

2019-11-28 14:34:36,353  CsFile.py commit:66 Wrote edited file /etc/haproxy/haproxy.cfg.new
2019-11-28 14:34:36,356  CsHelper.py copy:266 Copied /etc/haproxy/haproxy.cfg.new to /etc/haproxy/haproxy.cfg
2019-11-28 14:34:36,376  CsHelper.py execute:188 Executing: systemctl reload haproxy
2019-11-28 14:34:36,414  CsHelper.py service:227 Service haproxy reload
2019-11-28 14:34:50,419  CsFile.py commit:66 Wrote edited file /etc/haproxy/haproxy.cfg.new
2019-11-28 14:34:50,422  CsHelper.py copy:266 Copied /etc/haproxy/haproxy.cfg.new to /etc/haproxy/haproxy.cfg
2019-11-28 14:34:50,445  CsHelper.py execute:188 Executing: systemctl reload haproxy
2019-11-28 14:34:50,519  CsHelper.py service:227 Service haproxy reload
2019-11-28 14:35:39,684  CsFile.py commit:66 Wrote edited file /etc/haproxy/haproxy.cfg.new
2019-11-28 14:35:39,687  CsHelper.py copy:266 Copied /etc/haproxy/haproxy.cfg.new to /etc/haproxy/haproxy.cfg
2019-11-28 14:35:39,707  CsHelper.py execute:188 Executing: systemctl reload haproxy
2019-11-28 14:35:39,744  CsHelper.py service:227 Service haproxy reload

@blueorangutan package

@DaanHoogland a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Packaging result: ✖centos6 ✔centos7 ✖debian. JID-410

@blueorangutan package

@DaanHoogland a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Packaging result: ✔centos6 ✔centos7 ✔debian. JID-414

@blueorangutan  test

@blueorangutan package

@rhtyd a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Packaging result: ✖centos6 ✖centos7 ✔debian. JID-439

@blueorangutan package

@rhtyd a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Packaging result: ✖centos6 ✖centos7 ✔debian. JID-442


Whitespace for cmdlet definitions is ignored

I suppose this is because it's a "comment" but I'll leave it to you to decide if it should be beautified or nto
https://i.imgur.com/yOEXvHa.png

Hmmmm that's a new case I haven't seen.  Typically the help text is put before the function keyword.  I didn't think Get-Help would correctly read help comment text when inside the function but it does in fact work.  Interesting.
The parser sees that text all as one block (see image) which is why only the first line is getting indented.  The cleanest fix would probably be to not indent the line if it's Type = Comment and SYNOPSIS is detected in the comment.  Does that work for you?
I'm not sure if programmatically breaking up that multi-line comment and indenting each line would be a good idea.

That does work.
Though, I can always start putting the help text out of the function if that's best practice. I believe this is the way I saw it the first time and just have always done it.

I've been looking around and have seen mixed use, so neither way is the official standard.  I'll make the change tonight.

Hey @JoshCrook - change is made; give it a try.


SCCB Pull-ups?

Hi, do I need to use pull-up resistors on the SCCB lines?

Answering my own question after two weeks without response:
No, it does not need external pull-up resistors as I can configure the GPIOs to use internal pull-ups.

Hello. But can I add external pull-up resistors to these two lines?
I have to use these two lines for I2C communication, and for it, external resistors are recommended.


[Tool] Kustomize to Helm Automation Script

Created tool to enable kustomize to helm automation for AWS kubeflow component helm charts

The tool consumes dictionaries defined in tools/helmify/template/values_config.yaml and tools/helmify/src/config.yaml to generated chart outputs
The source of truth for the yaml file is based on kustomize build, the tool only splits the consolidated kustomized file and assemble them into workable helm charts

Super excited to try this out, nice PR!

Please test with main before merging


[FLINK-16251][python] Optimize the cost of function call in ScalarFunctionOpertation

What is the purpose of the change
This pull request will optimize the cost of function call in ScalarFunctionOpertation
Brief change log

Remove the InputGetter, OffsetInputGetter, ScalarFunctionInputGetter, ScalarFunctionInvoker
All related compute logic move to ScalarFunctionOpertation

Verifying this change
This change added tests and can be verified as follows:

It is a perforce improvement without extra function test

Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (no)
The serializers: (no)
The runtime per-record code paths (performance sensitive): (no)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn/Mesos, ZooKeeper: (no)
The S3 file system connector: (no)

Documentation

Does this pull request introduce a new feature? (no)
If yes, how is the feature documented? (not applicable)

How does this patch test
Test Code
@udf(input_types=[DataTypes.INT(False)], result_type=DataTypes.INT(False))
def inc(x):
    return x

t_env.register_function("inc", inc)

# num_rows = 100000000
num_rows = 100000
num_columns = 100

select_list = ["inc(c%s)" % i for i in range(num_columns)]
t_env.register_table_sink(
    "sink",
    PrintTableSink(
        ["c%s" % i for i in range(num_columns)],
        [DataTypes.INT(False)] * num_columns))

t_env.from_table_source(MultiRowColumnTableSource(num_rows, num_columns)) \
    .select(','.join(select_list)) \
    .insert_into("sink")

beg_time = time.time()
t_env.execute("perf_test")
print("consume time: " + str(time.time() - beg_time))

Test Results
num rows, num colums |  Consume Time(Before) | Consume Time(After)
1000w,1                         |     104.63                         |   90.60
1000w,10                       |     222.07                         |   164.36
100w, 100                      |     148.23                         |   95.75

@HuangXingBo Thanks for the PR. LGTM.


DD-272 Updating dependencies

Drop Node 14, 16 and 18 and allowing only 20.x || 22.x  and updating the following dependencies:
debug ^4.3.4 -> ^4.3.7
glob ^10.4.5 -> ^11.0.0
eslint ^8.57.0 -> ^9.11.1
Adding eslint-define-config and replacing .eslintrc with eslint.config.js
Adding Husky ^9.1.6 and mpo-node-standards ^2.0.0 then adding  ./husky/pre-push
nyc ^17.0.0 -> ^17.1.0
sinon ^18.0.0 -> ^19.0.2
globals ^15.9.0
mocha  ^10.7.0 -> ^10.7.3

Can we update the branch name so it's not specific to Node 22 as we support 20 as well?


Upgrade to qUnit 2 to support mac os sierra

The QUnit 1 grunt plugin is loading PhantomJS v1.9 which is no longer maintained and segfaults on macOS Sierra.

fixed by #1894


Fix yaourt install line (cannot be run as root)

Running yaourt as root eventually errors out with "Running makepkg as
root is not allowed as it can cause permanent, catastrophic damage to
your system."

Thanks!


Preview windows size

Description
I do not undertstand id it's bug.
I have adjusted preview windows size by mouse. But I cannot do it now.
I am not sure when this behavior is occured.
When I change the file name, preview function is useful.
I am biggner to use "files"
Files versidn <IP_ADDRESS>.
Best Reagrds
Kpo
Steps To Reproduce
NA
Steps to fix

eg. Fix crash that occurs when...
eg. Correct action happens when clicking...

Files Version
<IP_ADDRESS> OS Version: 10.0.22621.963
Windows Version
Windows 11 Home 22H2 22621.963 Windows Feature Experience Pack 1000.22638.1000.0
Relevant Assets/Logs
NA

On Windows 10 V22H2, the preview window cannot be resized! This clearly seems to be a bug?

Are you sure it can not be resized. Have you clicked and held on the left then dragged

Can confirm this is an issue @Josh-65

There is a bug where the cursor icon doesn't show, this makes it a little hard to find the correct place to draw but it still works.


Unable to open the UI

Qt WebEngine seems to be initialized from a plugin. Please set Qt::AA_ShareOpenGLContexts using QCoreApplication::setAttribute before constructing QGuiApplication.

Traceback (most recent call last):
  File "/..../galsupports/main.py", line 109, in <module>
    main()
  File "/...5/galsupports/main.py", line 101, in main
    launch_gui()
  File "/Use...orts/main.py", line 34, in launch_gui
    AllNodesWindow()
  File "/...orts/all_nodes/graphic/widgets/main_window.py", line 86, in __init__
    self.create_dock_windows()
  File "/Use...orts/all_nodes/graphic/widgets/main_window.py", line 199, in create_dock_windows
    self.attr_editr_dock.setAllowedAreas(
TypeError: 'PySide2.QtCore.Qt.DockWidgetArea' object cannot be interpreted as an integer

Hi @jjhesk , thanks for raising this.
What OS are you using?

Hi @jjhesk , could you provide more info about this problem (the os you are using, python version... )
Thanks!

Closed due to lack of additional info


Time limit exceeded and authentication sessions left open

When generating certificates with a lot of domains this most of the time fails with a "Time limit exceeded" error. Which isn't too surprising seeing that it takes more than 45 minutes for 36 domains to be validated via the DNS challenge.
What seems to happen as well because of this - but I don't have any proof for that - is that sessions are left open at LetsEncrypt resulting in "Too many currently pending authorizations" errors for all following calls.
I use version 0.3.1. And we use CloudFlare for the DNS challenge.
It makes creating these certificates practically impossible, because we need all these domains for at least 5 of our applications and they need to be renewed somewhere between 60 and 90 days after the previous certificate was created.
Any thoughts on what causes this?
12:05:33.955<EMAIL_ADDRESS>CLOUDFLARE_API_KEY=****** lego --domains=api.development.yourdomain.com --domains=api.development.vliegwinkel.nl --domains=api.development.yourdomain-a.be --domains=api.development.yourdomain-a.ch --domains=api.development.yourdomain-a.de --domains=api.development.yourdomain-a.nl --domains=api.development.yourdomain-c.ie --domains=api.development.flugladen.at --domains=api.development.flugladen.de --domains=api.development.yourdomain-b.ae --domains=api.development.yourdomain-b.com.au --domains=api.development.yourdomain-b.be --domains=api.development.yourdomain-b.ca --domains=api.development.yourdomain-b.co.uk --domains=api.development.yourdomain-b.es --domains=api.development.yourdomain-b.fr --domains=api.development.yourdomain-b.in --domains=api.development.yourdomain-b.it --domains=api.development.yourdomain-b.lv --domains=api.development.yourdomain-b.nl --domains=api.development.yourdomain-b.co.nz --domains=api.development.yourdomain-b.ph --domains=api.development.yourdomain-b.pl --domains=api.development.yourdomain-b.pt --domains=api.development.yourdomain-b.tw --domains=api.development.yourdomain-b.co.za --domains=api.development.yourdomain-a.sg --domains=api.development.yourdomain-a.co.th --domains=api.development.yourdomain-a.hk --domains=api.development.yourdomain-c.com --domains=api.development.my.yourdomain-b.com --domains=api.development.def.yourdomain.com --domains=api.development.yourdomain-b.ru --domains=api.development.yourdomain-a.fr --domains=api.development.yourdomain-a.cn --domains=api.development.abc.yourdomain.com<EMAIL_ADDRESS>--dns=cloudflare --accept-tos run
12:05:34.392 2016/06/03 12:05:34 [INFO][api.development.yourdomain.com, api.development.vliegwinkel.nl, api.development.yourdomain-a.be, api.development.yourdomain-a.ch, api.development.yourdomain-a.de, api.development.yourdomain-a.nl, api.development.yourdomain-c.ie, api.development.flugladen.at, api.development.flugladen.de, api.development.yourdomain-b.ae, api.development.yourdomain-b.com.au, api.development.yourdomain-b.be, api.development.yourdomain-b.ca, api.development.yourdomain-b.co.uk, api.development.yourdomain-b.es, api.development.yourdomain-b.fr, api.development.yourdomain-b.in, api.development.yourdomain-b.it, api.development.yourdomain-b.lv, api.development.yourdomain-b.nl, api.development.yourdomain-b.co.nz, api.development.yourdomain-b.ph, api.development.yourdomain-b.pl, api.development.yourdomain-b.pt, api.development.yourdomain-b.tw, api.development.yourdomain-b.co.za, api.development.yourdomain-a.sg, api.development.yourdomain-a.co.th, api.development.yourdomain-a.hk, api.development.yourdomain-c.com, api.development.my.yourdomain-b.com, api.development.def.yourdomain.com, api.development.yourdomain-b.ru, api.development.yourdomain-a.fr, api.development.yourdomain-a.cn, api.development.abc.yourdomain.com] acme: Obtaining bundled SAN certificate
12:05:36.083 2016/06/03 12:05:36 [INFO][api.development.yourdomain.com] acme: Could not find solver for: tls-sni-01
12:05:36.083 2016/06/03 12:05:36 [INFO][api.development.yourdomain.com] acme: Trying to solve DNS-01
12:05:40.210 2016/06/03 12:05:40 [INFO][api.development.yourdomain.com] Checking DNS record propagation...
12:07:45.488 2016/06/03 12:07:45 [INFO][api.development.vliegwinkel.nl] acme: Could not find solver for: http-01
12:07:45.488 2016/06/03 12:07:45 [INFO][api.development.vliegwinkel.nl] acme: Could not find solver for: tls-sni-01
12:07:45.488 2016/06/03 12:07:45 [INFO][api.development.vliegwinkel.nl] acme: Trying to solve DNS-01
12:07:48.304 2016/06/03 12:07:48 [INFO][api.development.vliegwinkel.nl] Checking DNS record propagation...
12:09:54.099 2016/06/03 12:09:54 [INFO][api.development.yourdomain-a.be] acme: Trying to solve DNS-01
12:09:57.142 2016/06/03 12:09:57 [INFO][api.development.yourdomain-a.be] Checking DNS record propagation...
12:12:03.133 2016/06/03 12:12:03 [INFO][api.development.yourdomain-a.ch] acme: Could not find solver for: http-01
12:12:03.133 2016/06/03 12:12:03 [INFO][api.development.yourdomain-a.ch] acme: Could not find solver for: tls-sni-01
12:12:03.134 2016/06/03 12:12:03 [INFO][api.development.yourdomain-a.ch] acme: Trying to solve DNS-01
12:12:06.635 2016/06/03 12:12:06 [INFO][api.development.yourdomain-a.ch] Checking DNS record propagation...
12:13:13.369 2016/06/03 12:13:13 [INFO][api.development.yourdomain-a.ch] The server validated our request
12:13:18.643 2016/06/03 12:13:18 [INFO][api.development.yourdomain-a.de] acme: Trying to solve DNS-01
12:13:24.642 2016/06/03 12:13:24 [INFO][api.development.yourdomain-a.de] Checking DNS record propagation...
12:13:37.223 2016/06/03 12:13:37 [INFO][api.development.yourdomain-a.de] The server validated our request
12:13:41.396 2016/06/03 12:13:41 [INFO][api.development.yourdomain-a.nl] acme: Trying to solve DNS-01
12:13:44.518 2016/06/03 12:13:44 [INFO][api.development.yourdomain-a.nl] Checking DNS record propagation...
12:14:00.268 2016/06/03 12:14:00 [INFO][api.development.yourdomain-a.nl] The server validated our request
12:14:04.446 2016/06/03 12:14:04 [INFO][api.development.yourdomain-c.ie] acme: Trying to solve DNS-01
12:14:08.393 2016/06/03 12:14:08 [INFO][api.development.yourdomain-c.ie] Checking DNS record propagation...
12:14:33.397 2016/06/03 12:14:33 [INFO][api.development.flugladen.at] acme: Could not find solver for: tls-sni-01
12:14:33.397 2016/06/03 12:14:33 [INFO][api.development.flugladen.at] acme: Could not find solver for: http-01
12:14:33.397 2016/06/03 12:14:33 [INFO][api.development.flugladen.at] acme: Trying to solve DNS-01
12:14:36.358 2016/06/03 12:14:36 [INFO][api.development.flugladen.at] Checking DNS record propagation...
12:14:43.591 2016/06/03 12:14:43 [INFO][api.development.flugladen.at] The server validated our request
12:14:47.751 2016/06/03 12:14:47 [INFO][api.development.flugladen.de] acme: Could not find solver for: http-01
12:14:47.751 2016/06/03 12:14:47 [INFO][api.development.flugladen.de] acme: Trying to solve DNS-01
12:14:50.615 2016/06/03 12:14:50 [INFO][api.development.flugladen.de] Checking DNS record propagation...
12:15:11.122 2016/06/03 12:15:11 [INFO][api.development.flugladen.de] The server validated our request
12:15:15.458 2016/06/03 12:15:15 [INFO][api.development.yourdomain-b.ae] acme: Could not find solver for: http-01
12:15:15.458 2016/06/03 12:15:15 [INFO][api.development.yourdomain-b.ae] acme: Trying to solve DNS-01
12:15:18.383 2016/06/03 12:15:18 [INFO][api.development.yourdomain-b.ae] Checking DNS record propagation...
12:15:53.080 2016/06/03 12:15:53 [INFO][api.development.yourdomain-b.ae] The server validated our request
12:15:57.408 2016/06/03 12:15:57 [INFO][api.development.yourdomain-b.com.au] acme: Trying to solve DNS-01
12:16:00.485 2016/06/03 12:16:00 [INFO][api.development.yourdomain-b.com.au] Checking DNS record propagation...
12:16:23.343 2016/06/03 12:16:23 [INFO][api.development.yourdomain-b.com.au] The server validated our request
12:16:27.574 2016/06/03 12:16:27 [INFO][api.development.yourdomain-b.be] acme: Could not find solver for: http-01
12:16:27.574 2016/06/03 12:16:27 [INFO][api.development.yourdomain-b.be] acme: Could not find solver for: tls-sni-01
12:16:27.574 2016/06/03 12:16:27 [INFO][api.development.yourdomain-b.be] acme: Trying to solve DNS-01
12:16:33.663 2016/06/03 12:16:33 [INFO][api.development.yourdomain-b.be] Checking DNS record propagation...
12:16:55.682 2016/06/03 12:16:55 [INFO][api.development.yourdomain-b.be] The server validated our request
12:17:03.183 2016/06/03 12:17:03 [INFO][api.development.yourdomain-b.ca] acme: Could not find solver for: tls-sni-01
12:17:03.184 2016/06/03 12:17:03 [INFO][api.development.yourdomain-b.ca] acme: Could not find solver for: http-01
12:17:03.184 2016/06/03 12:17:03 [INFO][api.development.yourdomain-b.ca] acme: Trying to solve DNS-01
12:17:07.224 2016/06/03 12:17:07 [INFO][api.development.yourdomain-b.ca] Checking DNS record propagation...
12:17:20.284 2016/06/03 12:17:20 [INFO][api.development.yourdomain-b.ca] The server validated our request
12:17:24.307 2016/06/03 12:17:24 [INFO][api.development.yourdomain-b.co.uk] acme: Could not find solver for: http-01
12:17:24.312 2016/06/03 12:17:24 [INFO][api.development.yourdomain-b.co.uk] acme: Trying to solve DNS-01
12:17:28.001 2016/06/03 12:17:28 [INFO][api.development.yourdomain-b.co.uk] Checking DNS record propagation...
12:17:57.557 2016/06/03 12:17:57 [INFO][api.development.yourdomain-b.co.uk] The server validated our request
12:18:04.834 2016/06/03 12:18:04 [INFO][api.development.yourdomain-b.es] acme: Trying to solve DNS-01
12:18:07.751 2016/06/03 12:18:07 [INFO][api.development.yourdomain-b.es] Checking DNS record propagation...
12:18:24.614 2016/06/03 12:18:24 [INFO][api.development.yourdomain-b.es] The server validated our request
12:18:28.736 2016/06/03 12:18:28 [INFO][api.development.yourdomain-b.fr] acme: Trying to solve DNS-01
12:18:31.580 2016/06/03 12:18:31 [INFO][api.development.yourdomain-b.fr] Checking DNS record propagation...
12:18:53.772 2016/06/03 12:18:53 [INFO][api.development.yourdomain-b.fr] The server validated our request
12:18:58.052 2016/06/03 12:18:58 [INFO][api.development.yourdomain-b.in] acme: Could not find solver for: tls-sni-01
12:18:58.052 2016/06/03 12:18:58 [INFO][api.development.yourdomain-b.in] acme: Could not find solver for: http-01
12:18:58.052 2016/06/03 12:18:58 [INFO][api.development.yourdomain-b.in] acme: Trying to solve DNS-01
12:19:01.789 2016/06/03 12:19:01 [INFO][api.development.yourdomain-b.in] Checking DNS record propagation...
12:19:44.505 2016/06/03 12:19:44 [INFO][api.development.yourdomain-b.in] The server validated our request
12:19:48.657 2016/06/03 12:19:48 [INFO][api.development.yourdomain-b.it] acme: Could not find solver for: http-01
12:19:48.658 2016/06/03 12:19:48 [INFO][api.development.yourdomain-b.it] acme: Could not find solver for: tls-sni-01
12:19:48.658 2016/06/03 12:19:48 [INFO][api.development.yourdomain-b.it] acme: Trying to solve DNS-01
12:19:51.570 2016/06/03 12:19:51 [INFO][api.development.yourdomain-b.it] Checking DNS record propagation...
12:20:15.735 2016/06/03 12:20:15 [INFO][api.development.yourdomain-b.it] The server validated our request
12:20:20.634 2016/06/03 12:20:20 [INFO][api.development.yourdomain-b.lv] acme: Trying to solve DNS-01
12:20:23.700 2016/06/03 12:20:23 [INFO][api.development.yourdomain-b.lv] Checking DNS record propagation...
12:21:26.960 2016/06/03 12:21:26 [INFO][api.development.yourdomain-b.lv] The server validated our request
12:21:31.217 2016/06/03 12:21:31 [INFO][api.development.yourdomain-b.nl] acme: Trying to solve DNS-01
12:21:34.185 2016/06/03 12:21:34 [INFO][api.development.yourdomain-b.nl] Checking DNS record propagation...
12:22:36.627 2016/06/03 12:22:36 [INFO][api.development.yourdomain-b.nl] The server validated our request
12:22:40.848 2016/06/03 12:22:40 [INFO][api.development.yourdomain-b.co.nz] acme: Could not find solver for: tls-sni-01
12:22:40.849 2016/06/03 12:22:40 [INFO][api.development.yourdomain-b.co.nz] acme: Could not find solver for: http-01
12:22:40.849 2016/06/03 12:22:40 [INFO][api.development.yourdomain-b.co.nz] acme: Trying to solve DNS-01
12:22:44.294 2016/06/03 12:22:44 [INFO][api.development.yourdomain-b.co.nz] Checking DNS record propagation...
12:23:08.396 2016/06/03 12:23:08 [INFO][api.development.yourdomain-b.co.nz] The server validated our request
12:23:12.729 2016/06/03 12:23:12 [INFO][api.development.yourdomain-b.ph] acme: Could not find solver for: tls-sni-01
12:23:12.729 2016/06/03 12:23:12 [INFO][api.development.yourdomain-b.ph] acme: Could not find solver for: http-01
12:23:12.729 2016/06/03 12:23:12 [INFO][api.development.yourdomain-b.ph] acme: Trying to solve DNS-01
12:23:15.625 2016/06/03 12:23:15 [INFO][api.development.yourdomain-b.ph] Checking DNS record propagation...
12:24:02.955 2016/06/03 12:24:02 [INFO][api.development.yourdomain-b.ph] The server validated our request
12:24:07.197 2016/06/03 12:24:07 [INFO][api.development.yourdomain-b.pl] acme: Could not find solver for: tls-sni-01
12:24:07.197 2016/06/03 12:24:07 [INFO][api.development.yourdomain-b.pl] acme: Trying to solve DNS-01
12:24:10.224 2016/06/03 12:24:10 [INFO][api.development.yourdomain-b.pl] Checking DNS record propagation...
12:25:42.310 2016/06/03 12:25:42 [INFO][api.development.yourdomain-b.pl] The server validated our request
12:25:46.559 2016/06/03 12:25:46 [INFO][api.development.yourdomain-b.pt] acme: Trying to solve DNS-01
12:25:49.510 2016/06/03 12:25:49 [INFO][api.development.yourdomain-b.pt] Checking DNS record propagation...
12:27:25.219 2016/06/03 12:27:25 [INFO][api.development.yourdomain-b.pt] The server validated our request
12:27:30.066 2016/06/03 12:27:30 [INFO][api.development.yourdomain-b.tw] acme: Could not find solver for: http-01
12:27:30.066 2016/06/03 12:27:30 [INFO][api.development.yourdomain-b.tw] acme: Trying to solve DNS-01
12:27:34.291 2016/06/03 12:27:34 [INFO][api.development.yourdomain-b.tw] Checking DNS record propagation...
12:28:11.211 2016/06/03 12:28:11 [INFO][api.development.yourdomain-b.tw] The server validated our request
12:28:15.421 2016/06/03 12:28:15 [INFO][api.development.yourdomain-b.co.za] acme: Could not find solver for: tls-sni-01
12:28:15.421 2016/06/03 12:28:15 [INFO][api.development.yourdomain-b.co.za] acme: Could not find solver for: http-01
12:28:15.422 2016/06/03 12:28:15 [INFO][api.development.yourdomain-b.co.za] acme: Trying to solve DNS-01
12:28:18.396 2016/06/03 12:28:18 [INFO][api.development.yourdomain-b.co.za] Checking DNS record propagation...
12:30:23.925 2016/06/03 12:30:23 [INFO][api.development.yourdomain-a.sg] acme: Trying to solve DNS-01
12:30:28.039 2016/06/03 12:30:28 [INFO][api.development.yourdomain-a.sg] Checking DNS record propagation...
12:32:21.740 2016/06/03 12:32:21 [INFO][api.development.yourdomain-a.sg] The server validated our request
12:32:26.649 2016/06/03 12:32:26 [INFO][api.development.yourdomain-a.co.th] acme: Could not find solver for: http-01
12:32:26.649 2016/06/03 12:32:26 [INFO][api.development.yourdomain-a.co.th] acme: Could not find solver for: tls-sni-01
12:32:26.649 2016/06/03 12:32:26 [INFO][api.development.yourdomain-a.co.th] acme: Trying to solve DNS-01
12:32:29.556 2016/06/03 12:32:29 [INFO][api.development.yourdomain-a.co.th] Checking DNS record propagation...
12:34:34.505 2016/06/03 12:34:34 [INFO][api.development.yourdomain-a.hk] acme: Trying to solve DNS-01
12:34:37.460 2016/06/03 12:34:37 [INFO][api.development.yourdomain-a.hk] Checking DNS record propagation...
12:36:42.306 2016/06/03 12:36:42 [INFO][api.development.yourdomain-c.com] acme: Could not find solver for: tls-sni-01
12:36:42.306 2016/06/03 12:36:42 [INFO][api.development.yourdomain-c.com] acme: Trying to solve DNS-01
12:36:45.237 2016/06/03 12:36:45 [INFO][api.development.yourdomain-c.com] Checking DNS record propagation...
12:38:50.700 2016/06/03 12:38:50 [INFO][api.development.my.yourdomain-b.com] acme: Trying to solve DNS-01
12:38:53.762 2016/06/03 12:38:53 [INFO][api.development.my.yourdomain-b.com] Checking DNS record propagation...
12:40:59.624 2016/06/03 12:40:59 [INFO][api.development.def.yourdomain.com] acme: Could not find solver for: http-01
12:40:59.624 2016/06/03 12:40:59 [INFO][api.development.def.yourdomain.com] acme: Trying to solve DNS-01
12:41:02.560 2016/06/03 12:41:02 [INFO][api.development.def.yourdomain.com] Checking DNS record propagation...
12:43:10.383 2016/06/03 12:43:10 [INFO][api.development.yourdomain-b.ru] acme: Could not find solver for: http-01
12:43:10.384 2016/06/03 12:43:10 [INFO][api.development.yourdomain-b.ru] acme: Could not find solver for: tls-sni-01
12:43:10.384 2016/06/03 12:43:10 [INFO][api.development.yourdomain-b.ru] acme: Trying to solve DNS-01
12:43:14.598 2016/06/03 12:43:14 [INFO][api.development.yourdomain-b.ru] Checking DNS record propagation...
12:45:20.118 2016/06/03 12:45:20 [INFO][api.development.yourdomain-a.fr] acme: Trying to solve DNS-01
12:45:24.645 2016/06/03 12:45:24 [INFO][api.development.yourdomain-a.fr] Checking DNS record propagation...
12:47:29.905 2016/06/03 12:47:29 [INFO][api.development.yourdomain-a.cn] acme: Could not find solver for: http-01
12:47:29.905 2016/06/03 12:47:29 [INFO][api.development.yourdomain-a.cn] acme: Could not find solver for: tls-sni-01
12:47:29.912 2016/06/03 12:47:29 [INFO][api.development.yourdomain-a.cn] acme: Trying to solve DNS-01
12:47:33.827 2016/06/03 12:47:33 [INFO][api.development.yourdomain-a.cn] Checking DNS record propagation...
12:49:40.326 2016/06/03 12:49:40 [INFO][api.development.abc.yourdomain.com] acme: Trying to solve DNS-01
12:49:43.254 2016/06/03 12:49:43 [INFO][api.development.abc.yourdomain.com] Checking DNS record propagation...
12:51:49.510 2016/06/03 12:51:49 [api.development.yourdomain-c.com] Could not obtain certificates
12:51:49.511  Time limit exceeded. Last error: NS nora.ns.cloudflare.com. returned NXDOMAIN for _acme-challenge.api.development.yourdomain-c.com.
12:51:49.511 2016/06/03 12:51:49 [api.development.yourdomain-a.fr] Could not obtain certificates
12:51:49.511  Time limit exceeded. Last error: NS nora.ns.cloudflare.com. returned NXDOMAIN for _acme-challenge.api.development.yourdomain-a.fr.
12:51:49.511 2016/06/03 12:51:49 [api.development.abc.yourdomain.com] Could not obtain certificates
12:51:49.511  Time limit exceeded. Last error: NS nora.ns.cloudflare.com. returned NXDOMAIN for _acme-challenge.api.development.abc.yourdomain.com.
12:51:49.511 2016/06/03 12:51:49 [api.development.yourdomain-b.co.za] Could not obtain certificates
12:51:49.511  Time limit exceeded. Last error: NS nora.ns.cloudflare.com. returned NXDOMAIN for _acme-challenge.api.development.yourdomain-b.co.za.
12:51:49.516 2016/06/03 12:51:49 [api.development.yourdomain-a.co.th] Could not obtain certificates
12:51:49.516  Time limit exceeded. Last error: NS nora.ns.cloudflare.com. returned NXDOMAIN for _acme-challenge.api.development.yourdomain-a.co.th.
12:51:49.516 2016/06/03 12:51:49 [api.development.my.yourdomain-b.com] Could not obtain certificates
12:51:49.516  Time limit exceeded. Last error: NS nora.ns.cloudflare.com. returned NXDOMAIN for _acme-challenge.api.development.my.yourdomain-b.com.
12:51:49.522 2016/06/03 12:51:49 [api.development.def.yourdomain.com] Could not obtain certificates
12:51:49.522  Time limit exceeded. Last error: NS nora.ns.cloudflare.com. returned NXDOMAIN for _acme-challenge.api.development.def.yourdomain.com.
12:51:49.522 2016/06/03 12:51:49 [api.development.yourdomain-c.ie] Could not obtain certificates
12:51:49.523  acme: Error 400 - urn:acme:error:malformed - Unable to update challenge :: Challenge data was corrupted
12:51:49.523 2016/06/03 12:51:49 [api.development.vliegwinkel.nl] Could not obtain certificates
12:51:49.523  Time limit exceeded. Last error: NS nora.ns.cloudflare.com. returned NXDOMAIN for _acme-challenge.api.development.vliegwinkel.nl.
12:51:49.523 2016/06/03 12:51:49 [api.development.yourdomain-b.ru] Could not obtain certificates
12:51:49.523  Time limit exceeded. Last error: NS mimi.ns.cloudflare.com. returned NXDOMAIN for _acme-challenge.api.development.yourdomain-b.ru.
12:51:49.523 2016/06/03 12:51:49 [api.development.yourdomain.com] Could not obtain certificates
12:51:49.523  Time limit exceeded. Last error: NS nora.ns.cloudflare.com. returned NXDOMAIN for _acme-challenge.api.development.yourdomain.com.
12:51:49.525 2016/06/03 12:51:49 [api.development.yourdomain-a.hk] Could not obtain certificates
12:51:49.525  Time limit exceeded. Last error: NS nora.ns.cloudflare.com. returned NXDOMAIN for _acme-challenge.api.development.yourdomain-a.hk.
12:51:49.525 2016/06/03 12:51:49 [api.development.yourdomain-a.cn] Could not obtain certificates
12:51:49.526  Time limit exceeded. Last error: NS nora.ns.cloudflare.com. returned NXDOMAIN for _acme-challenge.api.development.yourdomain-a.cn.
12:51:49.526 2016/06/03 12:51:49 [api.development.yourdomain-a.be] Could not obtain certificates
12:51:49.526  Time limit exceeded. Last error: NS nora.ns.cloudflare.com. returned NXDOMAIN for _acme-challenge.api.development.yourdomain-a.be.

Hey! I'm sorry this is causing such problems for you :worried:
The DNS checks we do to ensure the domain is resolvable have a timeout per authorization. This means the default timeout of 60 seconds is per domain. It seems like cloudflare is getting slower to roll out the changes the more domains you request.
In current master we have a new switch which allows you to specify a custom DNS timeout on the command line using the --dns-timeout flag. Could you try setting this while pointing the client to use the staging server at staging LE server at https://acme-staging.api.letsencrypt.org/directory using the --server switch. This will allow you to test this without reaching the authz limit.

I've tested this with a value of 300 seconds and now it works fine. It's quite a high value of course, but your work on testing the challenges in parallel will make this more manageable.


A new release?

Hi Waylan!
There has been some awesome bugfix work by @facelessuser and you in the recent days. Will it be possible to have a new release within a couple of days?
Then it will be possible to ship it in Debian 9 (the deadline for uploading packages before freeze is Jan 26th).

Actually, yes, I was planning to do a release soon. Probably on the 25th but no later than the 26th.

Just pushed 2.6.8.

Thank you! It will land in Debian in a few hours and then in Ubuntu in a few more hours ;)


Fix generate_interval_case integration test failure

Is your feature request related to a problem or challenge? Please describe what you are trying to do.
This ticket is for generate_interval_case case in integration test.
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
See https://github.com/apache/arrow-rs/issues/1404

@viirya  Can you list the plan or missing item for IT in #1404 ?

Sure. Where should I put them? In #1404?


SRP-dependent cotranslational protein targeting to membrane, signal sequence recognition (GO:0006617)

Definition |
The process in which SRP binds to the signal peptide in a nascent protein, causing protein elongation to pause, during cotranslational membrane targeting.
has the parent
cellular protein-containing complex assembly
is that correct?

Yes it does...

This is similar to how nuclear import is describes: there are two 'steps':
GO:0000061 protein import into nucleus, substrate release
GO:0000060 protein import into nucleus, translocation
(we should discuss this in another ticket, but we should make the same decision)

I have never used these terms because I don't know what they mean process-wise. They  do sound like activities.
They are used for 71 EXP, and  the annotations are very strange:
Brca1 | BRCA1, DNA repair associated
PDE2A | cGMP-dependent 3',5'-cyclic phosphodiesterase
 RBM22 | Pre-mRNA-splicing factor RBM22
BCL6 | B-cell lymphoma 6 protein
IFNG | Interferon gamma
MAVS | Mitochondrial antiviral-signaling protein
?

http://amigo.geneontology.org/amigo/term/GO:0000061
no annotations


MFA License for MFA Server

Want to deploy MFA Server On-Premises for VPN. But Standalone MFA license is not available for new purchase. Now, what will be cost per user? Shall I have to buy Azure AD Premium for each user or something else? The Pricing is really confusing for MFA. Even if we buy Azure AD Premium what is the relation between MFA Server and Azure AD? This is an On-Premises environment.

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

ID: feb03e63-f543-d85b-9daf-16b4d1e13a60
Version Independent ID: da9dcdd2-70d4-e08e-18f2-6e6a1489937a
Content: Azure MFA versions and consumption plans
Content Source: articles/active-directory/authentication/concept-mfa-licensing.md
Service: active-directory
GitHub Login: @MicrosoftGuyJFlo
Microsoft Alias: joflore

@vikaskumawat80
Thanks for your feedback! We will investigate and update as appropriate.

Hi @vikaskumawat80 , that's correct. Your licensing agreement states that you need to have a Premium P1 or P2 license for each user. It is a bit confusing since it has changed, but as of September Azure MFA is no longer available as a standalone service.

We will now proceed to close this thread. Please let me know if you have further questions! If you would like to continue the discussion feel free to tag me in the comments and I will gladly answer any follow-ups.


Possible Duplicate on Running Stacks API with Docker

Are https://docs.hiro.so/stacks-blockchain-api/how-to-guides/how-to-run-stacks-blockchain-api-docker and https://docs.hiro.so/stacks-blockchain-api/how-to-guides/how-to-use-docker-with-Stacks-blockchain-api the same thing?
If so should remove the one with less helpful content

Solved via https://github.com/hirosystems/stacks-blockchain-api/pull/1716

Just a remark.... removing that entry caused an issue with Docusaurus starting process. It was trying to find the documentation linked at the stacks-blockchain-api. Fixed by: https://github.com/hirosystems/docs/pull/510
@alexlmiller Seems that this issue here can be closed. :-)
Cheers!


Fix broken link to controls docs

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Thank you for your submission! As we are still trying to better understand Pglet use cases (and the upcoming release there could be other breaking changes) may I ask where did you know about Pglet and what kind of app are you working on and what language? Thanks!


[MetricsAdvisor] Service returns 0 CustomFillValue even if fill type is not CustomValue

In DataFeedMissingDataPointFillSettings, CustomFillValue is set only when FillMissingPointType is CustomValue. When the fill type is NOT CustomValue, I'd expect the service to not return the CustomFillValue (or return null). However, it returns 0.0.
Note: remove the workaround we did in the internal DataFeedMissingDataPointFillSettings constructor when this is fixed:
CustomFillValue = dataFeedDetail.FillMissingPointType == DataFeedMissingDataPointFillType.CustomValue
    ? dataFeedDetail.FillMissingPointValue
    : null;

Update it to:
CustomFillValue = dataFeedDetail.FillMissingPointValue;

Service issue. Closing this since it's not related to the SDK.


⚠ Bofrost.fr has degraded performance

In 3dd919e, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1549 ms

Resolved: Bofrost.fr performance has improved in e31e6a3 after 9 minutes.


Add new tool plugin for the ruff tool.

Includes new ruff level to do only Python discovery and run ruff
tool. Ignores line-too-long warnings since those are better dealt with
by the black tool.

I tested with:
python3 -m venv ruff-venv
. ruff-venv/bin/activate
pip install .
statick . --level self_check --log info --timings

The tool runs and no issues are reported. To see issues empty out the flags in the ruff level configuration. Then you should see some "line too long" issues. I ignored "line too long" ruff warnings because we use black for that and the two tools seem at odds with each other over what is proper and acceptable.

Code review looks good.  Just need to do test it out live...

I tested with:
python3 -m venv ruff-venv
. ruff-venv/bin/activate
pip install .
statick . --level self_check --log info --timings

The tool runs and no issues are reported. To see issues empty out the flags in the ruff level configuration. Then you should see some "line too long" issues. I ignored "line too long" ruff warnings because we use black for that and the two tools seem at odds with each other over what is proper and acceptable.

I followed the directions above, but don't see evidence that ruff is running

That's because I gave the wrong command to test, sorry about that. In the venv use the ruff level instead of the self_check level. To see lint too long issues use ruff level with the flags empty.
statick . --level ruff --log info --timings

As of now you should not see the ruff tool run as part of the self_check level.


0000-01-02-Bri-0.md

layout: slide
title: "Welcome to our second slide!"
Your text
Use the left arrow to go back!

hey


Allow otel module directives

https://nginx.org/en/docs/ngx_otel_module.html
Proposed changes
Describe the use case and detail of the change. If this PR addresses an issue on GitHub, make sure to include a link to that issue using one of the supported keywords here in this description (not in the title of the PR).
Checklist
Before creating a PR, run through this checklist and mark each as complete.

[x] I have read the CONTRIBUTING document
[x] If applicable, I have added tests that prove my fix is effective or that my feature works
[x] If applicable, I have checked that any relevant tests pass after adding my changes
[x] I have updated any relevant documentation (README.md)

There are already directives from dynamic modules in crossplane (notably NJS), but the point has been made in the past that perhaps these should be "add ons" rather than included in the core map in analysis.go. I think this has some merit as you could "customize" crossplane to be aware of whatever non-standard modules you are using.
This could allow using crossplane with unknown 3rd party modules or better support those that allow configurations that can look very different from the usual NGINX configs (Lua).
Since there are already directives from "first party" nginx modules in crossplane, I think move forward with reviewing and merging this PR.


added :objects option to declare-native

I wanted to ask if something like this makes sense, because it allows a project file like this: https://github.com/saikyun/freja-jaylib/blob/test-deps/project.janet
The main idea is that I can have raylib be compiled, and added as a dependency to (freja-)jaylib. This way people won't have to recompile raylib each time jaylib is modified.
Only missing thing in jpm is linking the .a-file, so I added the :objects-key.
I've only tried on macOS, but should work for linux. For the sake of windows, perhaps declare-native / :objects should deal with using the right suffix. I'm also guessing that for static builds the extra :objects would be needed as well.
What do you think @bakpakin? :) Should I continue in this direction, and make sure it works on windows & with static builds as well, or is there a better way to do this?

Oh, maybe a bit more work is needed for static builds to work. I tried a
bit but couldn't quite figure out what went wrong.
Is there something special needed in order to link .a-files when doing a
static build?
Den lör 11 feb. 2023 16:47Calvin Rose @.***> skrev:

Merged #66 https://github.com/janet-lang/jpm/pull/66 into master.
—
Reply to this email directly, view it on GitHub
https://github.com/janet-lang/jpm/pull/66#event-8496813963, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAS46Z3RRSZW6ETEL3L44XLWW6YCFANCNFSM6AAAAAAUH5PEDE
.
You are receiving this because you authored the thread.Message ID:
@.***>

Okay, so what I'm finding is something like this:
If I try to link with raylib.a when doing the static build, I get an error like this when trying to compile an exe using that jaylib:
linking build/test_build...
ld: in build/freja-jaylib.a(raylib.a), archive member 'raylib.a' with length 2181616 is not mach-o or llvm bitcode file 'build/freja-jaylib.a' for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

I looked closer at how linking is done normally, and it seems that only .o-files are linked. I tried linking all the .o-files instead of the single .a-file, and now it works.
The question then is if there's a concise way of expressing "I want all the .o-files of this other native module". I guess I could store all the paths to the .o-files in the result of declare-native, and use that in the second declare-native. But it feels kinda messy.

Perhaps try adding a flag like "-l:raylib.a" to lflags?

More to the point, in most cases jpm isn't designed for the way you are trying to link things - what you should have are dynamic libraries for raylib, and dynamic libraries for freja. When a user then uses create executable to finally using freja (and there for raylib by dependency), static versions of both libraries should be compiled together into one big executable. There is no benefit (that I can think of off hand) for having a dynamic library that has a static library bundled inside it.

Aha, I see. I'll take another look. I have just recently understood what linkers do, so the subtleties between static / dynamic linking in multiple steps are beyond me. Thanks for giving me more clues. :)

So I'm noticing that default executables on linux created by (create-executable ...) do not have -rdynamic passed, meaning that they cannot themselves easily import dynamic libraries. You can change this adding -rdynamic to :lflags if the system is linux. I believe that may help your original use case for freja (a bundled executable that can load other janet native modules).

Ah, yeah, I am using that flag. I think you gave me that tip over a year ago. :D
Linking with raylib.a made it possible to build the .exe, so thanks for that. :)
Just so we aren't talking past each other, when building (vanilla) jaylib, and using the jaylib.so by (use jaylib), do you mean that it in turn loads raylib.so rather than raylib.a? And when I build an executable from the same source, it will instead use jaylib.a and raylib.a?

I just noticed that when modifying files in (vanilla) jaylib it acts as I want if I only modify files in :source, it's when I modify files in :headers that it recompiles all of raylib as well.

I just noticed that when modifying files in (vanilla) jaylib it acts as I want if I only modify files in :source, it's when I modify files in :headers that it recompiles all of raylib as well.

Yes, jpm will make each source file depend on all headers, rather than trying to determine which source file imports which headers.

Okay. Is improving the incremental build time in those cases something that you'd be interested in having?
A couple of weeks ago I tried doing something using clang -MM which figures out local includes. It worked well with my limited testing: https://github.com/saikyun/jpm/blob/eef7ae1f9aeee40b730b44253ef3ec9a56645378/jpm/cc.janet#L101-L113
Not sure if a similar thing exists for cl. And maybe it's just too flaky overall.


feat: initial import of the extension sdk

Output and flags
Based on some early feedback from @pnadolny13
 I configured the default logging profile to drop timestamps and info fields. That's mainly to keep output clean when its nested within a meltano run invocation.
The fields can be re-enabled via cli options or env vars. In addition, there's also a MELTANO_LOG_FORMAT=true/--meltano-log-format option. That switches the extension to start writing output in json format. I wanted to have that present out of the gate so that down the road, meltano can start setting that flag and more intelligently parse an extension's output (and selectively present portions of it).
Basic cookiecutter overview
main.py and pass_through.py which covers the CLI invocation, logging setup, disabling the rich & typer colorized styling, etc, is completely auto-generated. The only thing a user will have to do is fill out wrapper.py and satisfy the interface defined by the ExtensionBase class (which only has a small handful of required methods).
Expect ExtensionBase to evolve a lot when tackle Superset/dbt - especially as we need more explicit config handling and path setting's when we go and implement dbt.
Basic usage example
Given this yaml:
  utilities:
  - name: airflow
    namespace: airflow
    pip_url: git+https://github.com/meltano/ext-airflow.git@feat-init-extension apache-airflow==2.3.3
      --constraint https://raw.githubusercontent.com/apache/airflow/constraints-2.3.3/constraints-no-providers-3.8.txt
    executable: airflow_invoker
    commands:
      describe:
        executable: airflow_extension
        args: describe
      initialize:
        executable: airflow_extension
        args: initialize
    settings:
    - name: core.dags_folder
      label: DAGs Folder
      value: $MELTANO_PROJECT_ROOT/orchestrate/dags
      env: AIRFLOW__CORE__DAGS_FOLDER
    - name: core.plugins_folder
      label: Plugins Folder
      value: $MELTANO_PROJECT_ROOT/orchestrate/plugins
      env: AIRFLOW__CORE__PLUGINS_FOLDER
    - name: core.load_examples
      label: Load Examples
      value: false
      env: AIRFLOW__CORE__LOAD_EXAMPLES
    - name: core.dags_are_paused_at_creation
      label: Pause DAGs at Creation
      env: AIRFLOW__CORE__DAGS_ARE_PAUSED_AT_CREATION
      value: false
    - name: database.sql_alchemy_conn
      label: SQL Alchemy Connection
      value: sqlite:///$MELTANO_PROJECT_ROOT/airflow/airflow.db
      env: AIRFLOW__CORE__SQL_ALCHEMY_CONN
    - name: webserver.web_server_port
      label: Webserver Port
      value: 8080
      env: AIRFLOW__WEBSERVER__WEB_SERVER_PORT
    config:
      home: $MELTANO_PROJECT_ROOT/airflow
      config: $MELTANO_PROJECT_ROOT/airflow/airflow.cfg

(melty-3.8) ➜  extdev meltano install utilities airflow
Installing 1 plugins...
Installing utility 'airflow'...
Installed utility 'airflow'
(melty-3.8) ➜  extdev tree
.
├── logging.yaml-orig
├── meltano.yml
└── plugins
    ├── extractors
    ├── loaders
    └── utilities

4 directories, 2 files

Calling any command would create airflow home and all the supporting files. But if we want the optional meltano dag generator, you can call the "initialize" command of the plugin.
(melty-3.8) ➜  extdev meltano invoke airflow:initialize
meltano dag generator not found, will be auto-generated dag_generator_path=PosixPath('/Users/syn/projects/meltano-projects/extdev/orchestrate/dags/meltano_dag_generator.py')
(melty-3.8) ➜  extdev tree
.
├── airflow
│   ├── airflow.cfg
│   ├── airflow.db
│   ├── logs
│   │   └── scheduler
│   │       ├── 2022-08-05
│   │       └── latest -> /Users/syn/projects/meltano-projects/extdev/airflow/logs/scheduler/2022-08-05
│   └── webserver_config.py
├── meltano.yml
├── orchestrate
│   └── dags
│       ├── README.md
│       └── meltano_dag_generator.py
└── plugins
    ├── extractors
    ├── loaders
    └── utilities

Create a user and start the webserver:
(melty-3.8) ➜  extdev meltano invoke airflow users create -u<EMAIL_ADDRESS>-p password --role Admin -e<EMAIL_ADDRESS>-f admin -l admin
<-- tons of output from the airflow cli -->
User<EMAIL_ADDRESS>created with role "Admin"

(melty-3.8) ➜  extdev meltano invoke airflow webserver
[2022-08-05 13:05:14 -0500] [17215] [INFO] Starting gunicorn 20.1.0
[2022-08-05 13:05:14 -0500] [17215] [INFO] Listening at: http://<IP_ADDRESS>:8088 (17215)
[2022-08-05 13:05:14 -0500] [17215] [INFO] Using worker: sync
[2022-08-05 13:05:14 -0500] [17217] [INFO] Booting worker with pid: 17217
[2022-08-05 13:05:15 -0500] [17218] [INFO] Booting worker with pid: 17218
[2022-08-05 13:05:15 -0500] [17219] [INFO] Booting worker with pid: 17219
[2022-08-05 13:05:15 -0500] [17220] [INFO] Booting worker with pid: 17220

Doesn't yet close https://github.com/meltano/meltano/issues/6398 as well still need to chat about how to transition folks to the new extension and how we want to represent it on the hub.

@aaronsteers @pnadolny13 it might be easier to look at this on the branch (https://github.com/meltano/ext-airflow/tree/feat-init-extension). Full disclosure , i haven't had a chance to retest the cookiecutter since making some changes this morning. But basically.
Curious what yall's first thoughts are.

@pandemicsyn this is awesome! I'll review the code also and share any thoughts/feedback but I had an initial question to start.
Could you re-explain the situation with invoke and why we need the second invoke command following the plugin name like your example meltano invoke airflow invoke xyz? Is there a plan to remove that but just not in the first iteration? Is there a way for us to inject that ourselves behind the scenes when we know its needed?

@pandemicsyn this is awesome! I'll review the code also and share any thoughts/feedback but I had an initial question to start.
Could you re-explain the situation with invoke and why we need the second invoke command following the plugin name like your example meltano invoke airflow invoke xyz? Is there a plan to remove that but just not in the first iteration? Is there a way for us to inject that automatically ourselves behind the scenes when we know its needed?

Is there a way for us to inject that automatically ourselves behind the scenes when we know its needed?
Yes, and we might not even have too. I think @aaronsteers had an idea for reusing the existing command/yaml structure.

But we could definitely hide it on the meltano side and inject it automatically, but on the extension side it's needed because without it you get into command and option shadowing situations. IMHO generally speaking having to use the extension this way should be rare. Like, a proper well-integrated airflow extension would make user creation/management easier, and allow it to be meltano config driven.
Our extension spec has that extensions must support three commands right now:

airflow_extension describe
airflow_extension initialize
airflow_extension invoke

Down the road we might have others (e.g cleanup, service, start, state, whatever). Those are commands for the extension, NOT for what it wrap's behind the scenes. You need the invoke in this scenario to tell the extension that what you're about to ask it to do should be passed on to the thing you're calling (e.g. airflow).  Doing it this way prevents an extension command from shadowing a command of a wrapper.
For example, if airflow had a describe command or an initialize command and we allowed bare invocations that are proxied straight through to airflow, then when you called airflow_extension describe you'd have a collision. Similarly,  would happen with flags.
If your extension has a global flag like --do-something and you called airflow_extension --do-something invoke somecmd its clear that --do-something is an option for the extension. Calling airflow_extension --do--something somecmd you can't tell anymore if the user expects that option to apply to the extension, the wrapped thing you're passing stuff too, or both.
There are many ways we can skin this cat, e.g. we could mitigate this some with creative flag use to indicate that we're about to ask an extension to run a meltano command. This could even be a per extension/author choice. Don't want a clean entry point where you pass on everything and want to explicit define the commands you wrap? You can! Just drop to invoke, and define some specific subcommand's instead.

If the invoke pattern is a no-go, we could also invert the requirement, and just require extensions to have a top level meltano command that houses describe, initialize, and future meltano specific commands .e.g:

airflow_extension meltano * # handled internally to extension via the sdk
airflow_extension meltano describe --format=yaml # handled internally to extension via the sdk
airflow_extension * # gets passed on the airflow
airflow_extension --something somecommand  # gets passed on to airflow
airflow_extension --help # gets passed on to airflow

That does men that flags like airflow_extension --meltano-log-format=true are probably a no-go and would have to be env vars (just to make it easier to extension authors).
That might actually be pretty nice ? /cc @aaronsteers @pnadolny13

If the invoke pattern is a no-go, we could also invert the requirement, and just require extensions to have a top level meltano command that houses describe, initialize, and future meltano specific commands .e.g:

airflow_extension meltano * # handled internally to extension via the sdk
airflow_extension meltano describe --format=yaml # handled internally to extension via the sdk
airflow_extension * # gets passed on to airflow
airflow_extension --something somecommand  # gets passed on to airflow
airflow_extension --help # gets passed on to airflow

That does men that flags like airflow_extension --meltano-log-format=true or a future --meltano-context are probably a no-go and would have to be env vars (just to make it easier to extension authors).
That might actually be pretty nice ? /cc @aaronsteers @pnadolny13

I like this exploration of options. The "meltano" command (or similar) with subcommands is a nice approach. I just thought of another approach, which is to have 2 CLI entrypoints. For example:
# These are 'special' and handled by the SDK:
airflow-ext initialize ...
airflow-ext describe ...

# This is a passthrough, unless the plugin defines special action:
airflow-ext invoke ...

# This is also a passthrough (basically an alias to `airflow invoke ...)
airflow-invoke --help

This can be accomplished by simply defining an extra line in the pyproject.toml that points to the invoke command instead of the main or generic cli command/class.
What's nice about this is that it still plays nicely with invocation patterns that want to basically swap one executable with another.

@pandemicsyn - What do you think about this?

I'm not sure I grok what the benefit is to splitting this up into two commands.
I think from an extension development standpoint this does make it a bit harder to reason about - even with cookiecutter doing the bulk of the heavy lifting because things aren't quite as clear-cut and click/typer usage might get a bit complicated for them (what you can use where, where you can use a command group, etc). The one big hang up for me is mixing pass through and non-pass through on the wrapper commands:

airflow-invoke --help                     # This is the help from airflow (passthrough)
airflow-invoke start                      # This is a custom command that the plugin defines

If you allow that then I'm not sure what this gains us over just automatically injecting a required meltano top-level command group like in my alternate proposal? It's the same pattern for the pass through, but with the additional overhead of now having two cli's to reason about and a slightly more complicated scaffolding.

@aaronsteers I'm kinda blocked on this since I'm at the point where I'd like to clean up the Airflow and Superset extensions and start on dbt.
So if you wanted to roll with your solution I'd propose a minor tweak of the invoker command NOT allowing custom commands or shadowing:
# These are 'special' and handled by the SDK:
airflow-ext --help         #help for the airflow-ext cli
airflow-ext initialize ...
airflow-ext describe ...   # would register all custom subcommands AND the invoker cli AND the cli being wrapped (e.g. "airflow")
airflow-ext invoke ...     # pass through mostly handled by the SDK
airflow-ext custom ...     # custom command that can take full advantage of typer  for arg/option handling
airflow-ext start ....     # custom command that can take full advantage of typer for arg/option handling

# All commands are straight pass throughs
# useful when you still need to do pre/post invoke style patterns - which will still be supported out of the box.
airflow-invoke --help                     # This is the help from airflow (passthrough)
airflow-invoke webserver -p 8080 -D True  # This is a passthrough

I like how clean this is on the extension side, but feels like it might be more messy on the meltano side (who invokes what variation and when)?

@pandemicsyn - Yeah, I like this latest proposal iteration a lot. 👍

To your question here:

who invokes what variation and when

I can see these usage patterns emerging:

To wrap the plugin commands, use executable: <PLUGIN>-invoke in place of executable: <PLUGIN>.
If a user believes the wrapper itself is causing some error and/or not working correctly, they can simply swap back temporarily to the original executable (without the -invoke suffix) to debug/confirm the native behavior separately from the wrapper's behavior.
"Special", "custom", or "non-native" commands like service start or describe go through the <PLUGIN>-ext entrypoint. (There's no swapping these and the reader will correctly infer that they are plugin operators and/or SDK operators - and not native to the tool being wrapped.)

@aaronsteers updated the PR comment to reflect current usage, but what I settled on for now, is setting the extension invoker to the main executable for plugin, and configuring specific commands that use the extension cli for extension level commands:
  utilities:
  - name: airflow
    namespace: airflow
    pip_url: git+https://github.com/meltano/ext-airflow.git@feat-init-extension apache-airflow==2.3.3
      --constraint https://raw.githubusercontent.com/apache/airflow/constraints-2.3.3/constraints-no-providers-3.8.txt
    executable: airflow_invoker
    commands:
      describe:
        executable: airflow_extension
        args: describe
      initialize:
        executable: airflow_extension
        args: initialize
     something-custom:
       executable: airflow_extension
       args: mycustom-cmd

IMHO this works out super well in practice to differentiate extension commands from pass through commands:
$ meltano invoke airflow:<some-custom-extension-commands>
$ meltano invoke airflow <pass> <through> <things>

Real example:
(ext-dev) ➜  meltano install utilities airflow
Installing 1 plugins...
Installing utility 'airflow'...
Installed utility 'airflow'
(ext-dev) ➜  meltano invoke airflow:describe --format=yaml
commands:
- name: airflow_extension
  description: airflow extension commands
  commands:
  - describe
  - invoke
  - pre_invoke
  - post_invoke
  - initialize
  pass_through_cli: false
- name: airflow_invoker
  description: airflow pass through invoker
  commands:
  - :splat
  pass_through_cli: true

(ext-dev) ➜  meltano invoke airflow:initialize
meltano dag generator not found, will be auto-generated dag_generator_path=PosixPath('/Users/syn/projects/meltano-projects/extdev/orchestrate/dags/meltano_dag_generator.py')

(ext-dev) ➜  meltano invoke airflow users create -u admin@localhost -p password --role Admin -e admin@localhost -f admin -l admin
<--- bunch or airflow console output -->
User "admin@localhost" created with role "Admin"

/cc @pnadolny13

fwiw - had a lot of changes so need to test the cookie cutter generation again and make sure its still spitting out valid stuff - but this is super close.

@pandemicsyn - I think this looks great!

@aaronsteers fyi - I can only add you, Douwe, or Reb as reviewers - im guessing I missed some setting during initial repo setup (or lack perms?) Any ideas.

@aaronsteers fyi - I can only add you, Douwe, or Reb as reviewers - im guessing I missed some setting during initial repo setup (or lack perms?) Any ideas.

I added @meltano/meltano-team to the repository with write access at https://github.com/meltano/ext-airflow/settings/access
Are you able to add others as reviewers now @pandemicsyn?

Are you able to add others as reviewers now @pandemicsyn?

🥳 yep, roped in @pnadolny13 and @edgarrmondragon

fyi - rebuilt a basic version of the superset extension on top of the output from the cookiecutter template: https://github.com/meltano/ext-superset/pull/1 🥳

Not really relevant for this first PR, but in case anyone's curious about how we'll handle release of the extension initially, there's some details in the parent issue: https://github.com/meltano/meltano/issues/6398#issuecomment-1216726425

class ExtensionCommand(Command):
    description = "The extension cli"
    pass_through_cli: bool = False
    commands: List[str] = [
        "describe",
        "invoke",
        "pre_invoke",
        "post_invoke",
        "initialize",
    ]

@pandemicsyn Since ExtensionCommand is defined as having invoke, pre_invoke, and post_invoke, is there any way to make an extension that cannot be invoked? For the cron utility, the only commands I want to define at the moment are schedule and deschedule. Having describe and a no-op initialize is fine, but having no-op invoke, pre_invoke, and post_invoke commands seems odd.

@pandemicsyn Using the EDK, should I have the extension I'm developing call Meltano directly with subprocess.run, or is there some special way provided to call Meltano? Are there plans to add a special way to call Meltano that saves the EDK user from manually handling subprocesses?

I think we should make meltano_extension_sdk into a namespace package named meltano.edk. It would still be versioned/installed separately from Meltano - making it a namespace package only affects the import name (i.e. meltano.edk) and the distribution name meltano-edk.

👍 @WillDaSilva I'm down for this. @aaronsteers any objections ?

@pandemicsyn Since ExtensionCommand is defined as having invoke, pre_invoke, and post_invoke, is there any way to make an extension that cannot be invoked? For the cron utility, the only commands I want to define at the moment are schedule and deschedule. Having describe and a no-op initialize is fine, but having no-op invoke, pre_invoke, and post_invoke commands seems odd.

@WillDaSilva Yea,  invoke and friends probably doesn't need to be required, although in this first version, since we're only targeting wrappers 🤷. Eventually, I think it might come down to if we want to try to keep ExtensionCommand generic and layer on WrapperCommand and UtilityCommand or something. And then have the cookie cutter template use the appropriate one when a dev starts a new project?
@aaronsteers we've not really chatted about plain utility commands all that much but I know you've been thinking about this for awhile, any prefs or thoughts ?

@pandemicsyn Using the EDK, should I have the extension I'm developing call Meltano directly with subprocess.run, or is there some special way provided to call Meltano? Are there plans to add a special way to call Meltano that saves the EDK user from manually handling subprocesses?

@WillDaSilva yea have the extension call Meltano directly with subprocess.run for now. fyi - there should be a symlink back to meltano in MELTANO_PROJECT_ROOT/run/bin. That's that definitely something we should try to make easy for users - because it probably will be pretty common.

@WillDaSilva Yea, invoke and friends probably doesn't need to be required, although in this first version, since we're only targeting wrappers 🤷. Eventually, I think it might come down to if we want to try to keep ExtensionCommand generic and layer on WrapperCommand and UtilityCommand or something. And then have the cookie cutter template use the appropriate one when a dev starts a new project?

@aaronsteers we've not really chatted about plain utility commands all that much but I know you've been thinking about this for awhile, any prefs or thoughts ?

Punted on this since I figure we can iterate on it when we go to break the EDK out into its own repo tomorrow.

A nitpick: some of the files lack newlines at the end of them. It would probably be worth enabling precommit.ci for this repository, and adding a similar pre-commit config as what we've got in our other repositories.

I've got #2 logged to setup all the ci/linter things. Knowing that the cookiecutter templates and the edk would need special handling and that we'd immediately just turn around and modify the configs to remove those anyway, didn't seem worth the work for the initial PR.
I'll steal the pre-commit config from the SDK repo real quick to cover the basics.

Added a pre-commit config, and fixed up all the warnings - I might have missed back porting some to the cookiecutter templates themself's since I didn't completely regenerate the extension from scratch again. It was mostly missing doc strings - I'll keep an eye out for those when I regenerate the superset extension.


Problem with start pylyzer on neovim

Hi. Help me undestand how to make to pylyzer work for me.
I am use two prebuilds on neovim
LunarVim
https://www.lunarvim.org/
LazyVim
https://www.lazyvim.org/configuration/general
Both of them use Mason plugins manager.
My OS is VoidLinux and MacOS
I have installed rust on my PCs.
─  rustc --version                                                                                1 (0.186s)
rustc 1.69.0 (84c898d65 2023-04-16)

─  rustup --version
rustup 1.26.0 (5af9b9484 2023-04-05)
info: This is the version for the rustup toolchain manager, not the rustc compiler.
info: The currently active `rustc` version is `rustc 1.69.0 (84c898d65 2023-04-16)

I see that is productive release of pylyzer is 0.0.22 but mason pm and cargo show 0.0.20 version
─  cargo search pylyzer                                                                                0 (0.154s)
pylyzer = "0.0.20"    # A static code analyzer & language server for Python

PIP show pylyzer 0.0.22
So, mason plugins install the same version 0.0.20 and els 1.23 nightly
With this version i have error from here
https://github.com/mtshiba/pylyzer/issues/19
So, wich steps i must do to make that pylyzer will work?
Thanks

The latest pylyzer 0.0.22 has been published to crates.io. The bug may be fixed in this release.

It is starting for me today with version 0.0.23 on Lunarvim.

The version of Neovim plugin and cargo was updated to 0.0.23
But still not positive results.
Now i catch the same error but on enother place
[ERROR][2023-04-29 15:01:56] .../vim/lsp/rpc.lua:734	"rpc"	"pylyzer"	"stderr"	"thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: \"No such file or directory\" }', /home/kobzar/.cargo/registry/src/github.com-1ecc6299db9ec823/els-0.1.24-nightly.2/hir_visitor.rs:49:63\nnote: run with `RUST_BACKTRACE=1` environment variable to display a backtrace\n"

Try reinstalling pylyzer inside Lunarvim with:
:MasonInstall pylyzer

The same error

I think this was fixed in https://github.com/erg-lang/erg/commit/6c665157bcc0411dbbfb6c72b368ac74a2297e2c.
Please update to pylyzer 0.0.24.

I was updated and finally its started and look like work.
No errors, but crached when i try to open help on print fuction. For range - show without error.
Also dont show error for dict range like
d = {1: "One"}
print(d[2])

So, the project is wery young. But i hope it will fixed in close future.
But my first problem is resolved. So topic is closed.


NEW $belongs_to relations to be used in $searchable_fields of gridfie…

GridFieldAddExistingAutocompleter uses the $searchable_fields from DataObject.
If you use fields of related objects to search in, you can use it like this:
$searchable_fields = array(
'Relation.Field'=>'Field'
);
This works if Relation is a $has_one field, but not if it is a $belongs_to field.
The $belongs_to fields are supported if used in $summary_fields, but strangely not if used in $searchable_fields.
This change adds the needed extra leftJoin to enable searching in $belongs_to.

Thanks for the pull request; I've left a note on two things that need fixing.
Are you also able to please add a unit test to show that it works on belongs_to? :P Ta!

Thanks for the suggestions. Still working on the tests, is appears there's more work to be done to get this right. When running the tests it seems the belong_to fields are not included in the where condition.
Currently it's like this:
		$belongs_to = Config::inst()->get($dataClass, 'belongs_to');
		if( !empty($belongs_to) ) {
			foreach ($searchFields as $searchField) {
				if( strpos($searchField, '.') !== false && $relation = strtok($searchField,'.') ) {
					if (!empty($belongs_to[$relation])) {
						$relationClass = $belongs_to[$relation];
						$remoteJoinField = $dataClass::create()->getRemoteJoinField($relation,'has_one');
						$results = $results->leftJoin($relationClass, "\"{$relation}\".\"{$remoteJoinField}\" = \"{$dataClass}\".\"ID\"",$relation);
					}
				}
			}
		}

                    $remoteJoinField = $dataClass::create()->getRemoteJoinField($relation,'has_one');

you need to use the type of field you are joining FROM. In this case, belongs_to not has_one

Any response to my feedback? I haven't seen any updates in a few months.

I haven't found the time to figure this one out yet. Ran into some issues with the tests, after that I ran out of time...

@RVXD can you push what you've got so far in the way of tests/fixes?


Working example for new version 8 API

Greetings!
I have numerous workflows that are essentially a Snakefile with a minimal Python package wrapper to provide a robust command line interface and facilitate testing, deployment, etc. For a long time, I've used snakemake.snakemake to launch these Snakemake workflows from Python, but since the version 8 release this no longer works.
For now I've been pinning my workflows to version <8.0, but ideally I'd like to migrate to using the new API. There is some documentation for this API, but compared to the documentation for the deprecated snakemake.snakemake function it is sparse and un-intuitive. It appears that the new API is designed to enable finer control over resource management and workflow execution: that's great, but it seems to have significantly complicated the design and execution of the simplest use case (e.g. from snakemake import snakemake; snakemake("workflow.smk", config=cfg).
The example provided in the new docs simply instructs the user to Go on by calling methods of the dag api: Which methods? Is this DAG API documented? If so, where? I haven't found clear answers to these questions by searching the documentation or by inspecting objects in the interactive Python interpreter.
Would it be possible to provide one or two complete working examples? Or a concise transition guide?

@johanneskoester is the snakemake python API no longer supported?

+1 Everyone wants this.

#2908


support cinc-auditor v4.x (OSS build of Chef inspec)

Hi,
as far as I understand this project defaults to use inspec v3.9.3 version which doesn't have this "Chef(c) license lock".
In order to move forward I propose to integrate cinc-auditor as a verifier executable.
Downloads:
http://downloads.cinc.sh/files/stable/cinc-auditor/

This was the intention behind the CINC project


Problem with logistic system

Hi,
I have a question / suggestion to the logistic system and hope it is Ok to ask here.
At the moment i am hosting your mission on a public server without problems, expect the logistics system.
Basically it works fine but i always have the problem that people play around with the settings without knowing what they do. The result is that there a no resources left at the FOBs and all the factorys are full.
Is there any way to limit the access to the logistics system to admins or change back to the passive income system?
At the moment it is not possible to play on long term without constantly checking if the logistic is still fine, when you host the mission on a public server.

Is there any way to limit the access to the logistics system to admins

The production and the logistic interface is already only available for logged in admins and the player on the commander (Platoon Leader) slot. And the possibility to whitelist the commander slot is given by the mission parameter and whitelist.sqf in the mission folder.


Display toast notification when an OTP is copied

Reported by vinaur on 28 Aug 2014 00:26 UTC
With the recent switch to automatic copying of OTP when tapped, the Copy option has been removed from the menu. This is confusing to the user, because it is not obvious that the app copies the OTP to clipboard automatically and there is no explicit way of copying the OTP.
I suggest that FreeOTP displays a toast notification (not sure what the equivalent would be for iOS or if this is even an issue there) when the OTP is copied to clipboard. It could read something like "OTP copied to clipboard"

Comment by npmccallum on 29 Aug 2014 16:37 UTC
Fixed in [0dc4bb915499458321f654ba158e62949b905aa1/android].


Fix width of last image in display

If there's one or two images in the last row, they distribute equally across the container.

Fixed