Enable Okta to use OpenLDAP for user and group search

Issue: rancher/rancher#38029

Problem

SAML does not offer an interface for searching for principals. Therefore, in order to allow such a search, it would be necessary to use a separate mechanism, similar to how the Shibboleth provider currently works with OpenLDAP-powered search.
Solution

Change the backend to use the same logic currently in-use by Shibboleth to allow the Okta provider to also search for principals in an OpenLDAP backend.
Testing

Engineering Testing
Manual Testing

Scenario: enable the Okta provider without OpenLDAP

Enabled the Okta provider without OpenLDAP.
Checked that groups list when clicking the principal box and can be selected, but no users appear.
Checked that upon typing a username a principal is generated and is available to select, but no actual search happens.

Scenario: enable the Okta provider with OpenLDAP

Enabled the Okta provider with OpenLDAP, providing information on an OpenLDAP server.
Checked that it's possible to search for principals and both users and groups matching the search appear.
Checked that it's possible to select a principal and have permissions granted to them.

Automated Testing

Automated testing will be added in a subsequent PR.
QA Testing Considerations

Fresh enablement of the Okta provider.
Disabling/re-enabling the Okta provider.
Functionality stays as-is when the OpenLDAP option is not selected.
Disabling OpenLDAP does not remove permissions from users that had them granted when OpenLDAP was enabled.

Regressions Considerations

@stormqueen1990 Can you also fill up the PR template with link to Issue/Description/ any Tests info.

@stormqueen1990 Can you also fill up the PR template with link to Issue/Description/ any Tests cases info. The test coverage for this feature will be added by @nflynt

Hi @prachidamle, just updated!


node status should be comprehensible

In GitLab by @luotian-github on Sep 20, 2017, 13:45
node info is null

In GitLab by @wknet123 on Nov 8, 2019, 07:37
Fixed with PR #352

In GitLab by @sokril on Nov 8, 2019, 08:10
closed

In GitLab by @sokril on Nov 8, 2019, 08:10
assigned to @wknet123


Constexpr unit symbol

Add unit_symbol_view to generate unit_symbol during compilation.
Update iterator when adding to the provided buffer.

I am sorry to reject this PR 😢
I do not think that exposing interfaces with static, fixed storage is a good idea. Guessing the number of characters is always wrong (either too big or too small). Also, it is not thread-safe.
A user can either use unit_symbol to get a compile-time std::string (no allocation at runtime) or can provide its own contiguous storage and call unit_symbol_to (as you did in your PR):
std::cout << unit_symbol(m / s) << "\n";

If you need std::string_view why not use:
static constexpr std::string txt = unit_symbol(m / s);
const std::string_view view = txt;
std::cout << view << "\n";

Sad that it was rejected, because the library does not have a working interface to get unit_symbol at compile time. Or at least I am unable to make it work.
This static constexpr std::string txt = unit_symbol(m / s); is invalid since you cannot use heap allocated storage such as std::string as buffer, example: https://godbolt.org/z/cndKMTM6r
std::string does however work with string literals.
And tried your example:
static constexpr std::string foo = unit_symbol(kilometre);

Error:
[1/5] Building CXX object test/unit_test/static/CMakeFiles/foo.dir/unit_test.cpp.o
FAILED: test/unit_test/static/CMakeFiles/foo.dir/unit_test.cpp.o
/usr/bin/cmake -E env CCACHE_DIRECT=1 CCACHE_NO_DEPEND=1 CCACHE_BASEDIR=/home/jonb/Projects/units /usr/bin/ccache /usr/bin/c++ -DFMT_SHARED -DMP_UNITS_USE_LIBFMT=1 -Dgsl_CONFIG_CONTRACT_CHECKING_AUDIT -I/home/jonb/Projects/units/src/core/include -I/home/jonb/Projects/units/src/core-io/include -I/home/jonb/Projects/units/src/core-fmt/include -I/home/jonb/Projects/units/src/systems/angular/include -I/home/jonb/Projects/units/src/systems/isq/include -I/home/jonb/Projects/units/src/systems/iec80000/include -I/home/jonb/Projects/units/src/systems/si/include -I/home/jonb/Projects/units/src/systems/isq_angle/include -I/home/jonb/Projects/units/src/systems/natural/include -I/home/jonb/Projects/units/src/systems/cgs/include -I/home/jonb/Projects/units/src/systems/hep/include -I/home/jonb/Projects/units/src/systems/iau/include -I/home/jonb/Projects/units/src/systems/imperial/include -I/home/jonb/Projects/units/src/systems/international/include -I/home/jonb/Projects/units/src/systems/typographic/include -I/home/jonb/Projects/units/src/systems/usc/include -I/home/jonb/Projects/units/src/utility/include -g -std=gnu++23 -fdiagnostics-color=always -Wall -Wextra -Wpedantic -Wshadow -Wnon-virtual-dtor -Wold-style-cast -Wcast-align -Wunused -Woverloaded-virtual -Wcast-qual -Wconversion -Wsign-conversion -Wnull-dereference -Wformat=2 -Wdangling-else -Wdouble-promotion -Wmisleading-indentation -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Werror -MD -MT test/unit_test/static/CMakeFiles/foo.dir/unit_test.cpp.o -MF test/unit_test/static/CMakeFiles/foo.dir/unit_test.cpp.o.d -o test/unit_test/static/CMakeFiles/foo.dir/unit_test.cpp.o -c /home/jonb/Projects/units/test/unit_test/static/unit_test.cpp
../test/unit_test/static/unit_test.cpp:546:57: error: ‘std::__cxx11::basic_string<char>{std::__cxx11::basic_string<char>::_Alloc_hider{((char*)(& foo.std::__cxx11::basic_string<char>::<anonymous>.std::__cxx11::basic_string<char>::<unnamed union>::_M_local_buf))}, 2, std::__cxx11::basic_string<char>::<unnamed union>{char [16]{'k', 'm', 0}}}’ is not a constant expression
  546 | static constexpr std::string foo = unit_symbol(kilometre);
      |                                                         ^
[4/5] Building CXX object test/unit_test/static/CMakeFiles/foo.dir/isq_test.cpp.o
ninja: build stopped: subcommand failed.

But yes I will use unit_symbol_to, I just need the iterator fixed like you mention will be done.

Yes, I admit this can be improved. However, the solution with a static array of a fixed size is not the right solution.

If you want, you can take some inspiration from Au's StringConstant: https://github.com/aurora-opensource/au/blob/main/au/utility/string_constant.hh
Here are our tests, to give you a feel for how it works: https://github.com/aurora-opensource/au/blob/main/au/utility/test/string_constant_test.cc
detail::as_char_array() shows how we can expose a character array of just-the-right-size for each unit, and we use this in our unit_label(U) function: https://github.com/aurora-opensource/au/blob/a57588019be67eb46a816a9d88183cd78d325dbb/au/unit_of_measure.hh#L794-L797

expose a character array of just-the-right-size

You can also use lefticus/tools mentioned at https://github.com/mpusz/mp-units/pull/337#discussion_r824289309.

@jbbjarnason it would be great if you could proceed with the hints above. In case you are not interested or do not have time for it, could you please submit an issue for this problem referring to the above two messages as a possible solution?

@mpusz I have updated the branch according to the suggestions by @JohelEGP and @chiphogg.
For reference, https://github.com/jbbjarnason/units/commit/5ac1dd41aabbaff89109383933301cfc1dd495b4
Could you maybe reopen the PR so we could get updates here?

Reopened.
Thanks a lot for your efforts! I will look into this soon.

Thanks a lot! This worked in most of our compilers but, in my opinion, was too "hacky". It would be hard to defend such an interface and implementation in the C++ Committee. I just submitted a different solution that will hopefully resolve your issues.
Thanks again for raising this and proposing a resolution!


Flutter doctor throws an issue

Steps to Reproduce
Hello.
I just do flutter doctor and it throws me an issue: Bad UTF-8 encoding (U+FFFD; REPLACEMENT CHARACTER).
Everything was fine last time.
Logs

Logs
```
```
[☠] Visual Studio - develop for Windows (the doctor check crashed)
X Due to an error, the doctor check did not complete. If the error message below is not helpful, please let us know
about this issue at https://github.com/flutter/flutter/issues.
X Exception: Bad UTF-8 encoding (U+FFFD; REPLACEMENT CHARACTER) found while decoding string: [
{
"instanceId": "92b8aee5",
"installDate": "2022-04-17T10:26:52Z",
"installationName": "VisualStudio/17.2.2+32519.379",
"installationPath": "C:\Program Files\Microsoft Visual Studio\2022\Community",
"installationVersion": "17.2.32519.379",
"productId": "Microsoft.VisualStudio.Product.Community",
"productPath": "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\devenv.exe",
"state":<PHONE_NUMBER>,
"isComplete": true,
"isLaunchable": true,
"isPrerelease": false,
"isRebootRequired": false,
"displayName": "Visual Studio Community 2022",
"description": "��魠� ��⥣�஢����� �।� ࠧࠡ�⪨, ��ᯫ�⭠� ��� ��㤥�⮢, ���⭨��� �஥�⮢ � ������ ����� � �⤥���� ���짮��⥫��.",
"channelId": "VisualStudio.17.Release",
"channelUri": "https://aka.ms/vs/17/release/channel",
"enginePath": "C:\Program Files (x86)\Microsoft Visual
Studio\Installer\resources\app\ServiceHub\Services\Microsoft.VisualStudio.Setup.Service",
"installedChannelUri": "https://aka.ms/vs/17/release/channel",
"releaseNotes": "https://docs.microsoft.com/en-us/visualstudio/releases/2022/release-notes-v17.2#17.2.2",
"thirdPartyNotices": "https://go.microsoft.com/fwlink/?LinkId=661288",
"updateDate": "2022-05-25T08:14:47.8236681Z",
"catalog": {
"buildBranch": "d17.2",
"buildVersion": "17.2.32519.379",
"id": "VisualStudio/17.2.2+32519.379",
"localBuild": "build-lab",
"manifestName": "VisualStudio",
"manifestType": "installer",
"productDisplayVersion": "17.2.2",
"productLine": "Dev17",
"productLineVersion": "2022",
"productMilestone": "RTW",
"productMilestoneIsPreRelease": "False",
"productName": "Visual Studio",
"productPatchVersion": "2",
"productPreReleaseMilestoneSuffix": "1.0",
"productSemanticVersion": "17.2.2+32519.379",
"requiredEngineVersion": "3.2.2148.26540"
},
"properties": {
"campaignId": "2030:e68d1bc1-412e-406c-8c16-b8409343445a",
"channelManifestId": "VisualStudio.17.Release/17.2.2+32519.379",
"nickname": "",
"setupEngineFilePath": "C:\Program Files (x86)\Microsoft Visual Studio\Installer\setup.exe"
}
}
]
.


Bar Chart: Animate in sequence

Hi there,
I am using PNBarChart for months of the year
At the moment all the bars animate at the same time... is there a way I can get them to animate in order?
e.g. jan animates to value, then feb, then marc etc
Ideally it would start animating the next bar a few milliseconds before it ends
Tried doing it myself but a little out of my depth!
Loving PNChart!
Thanks,
Dave

Yes but little bit complicated
For a quick trick, you can modified the method at here https://github.com/kevinzhow/PNChart/blob/master/PNChart/PNBarChart.m#L246
just add the animation a delay time.


CP - 1 new AWS Odin detection

Background
[MITRE IaaS Gap] - T1535 Unused/Unsupported Cloud Regions
Changes
New detection
Added fields to aws_rule_context()

Working on linter concerns here: https://panther-labs.slack.com/archives/C026QGU2UG4/p1665684966870519


build(deps): weekly dependabot updates

Are the builds failing?
(Mobile doesn't show it very clearly)

Are the builds failing? (Mobile doesn't show it very clearly)

Yes, nx build krew-ui-react fails:
WARNING in DefinePlugin
Conflicting values for 'process.env.NODE_ENV'


How do you SUBSCRIBE to a channel?

Do you have any example code?

Hi @amnonbc,
There are two ways:

https://github.com/rueian/rueidis#pubsub
https://github.com/rueian/rueidis#alternative-pubsub-hooks

Thanks @rueian
It tried
package main

import (
	"context"
	"fmt"
	"github.com/rueian/rueidis"
	"log"
	"time"
)

func main() {
	ctx, cancel := context.WithTimeout(context.Background(), time.Second)
	defer cancel()
	c, err := rueidis.NewClient(rueidis.ClientOption{
		InitAddress: []string{"<IP_ADDRESS>:6379"},
	})
	if err != nil {
		panic(err)
	}
	defer c.Close()

	c.Do(ctx, c.B().Publish().Channel("ch").Message("msg1").Build())

	done := make(chan struct{})
	go func() {
		comm := c.B().Subscribe().Channel("ch").Build()
		err := c.Receive(ctx, comm, func(msg rueidis.PubSubMessage) {
			fmt.Println(msg.Message)
			close(done)
		})
		log.Println(err)
	}()
	c.Do(ctx, c.B().Publish().Channel("ch").Message("hi").Build())
	select {
	case <-done:
		log.Println("got sub message")
	case <-ctx.Done():
		log.Println(ctx.Err())
	}
}

https://go.dev/play/p/_wJP2GhBLBu
But I get  context deadline exceeded on lines 31 and 38.
What am I doing wrong?

Great! That works.
Just trying to figure out how I can get the maximum throughout and minimize the number of context switches.

Tried benchmarking against go-redis and found similar performance.
My code is on https://github.com/amnonbc/redistest
~/redistest$ /bin/time rueian/rueian -n 100000
3.52user 7.18system 0:10.39elapsed 103%CPU (0avgtext+0avgdata 9516maxresident)k
0inputs+0outputs (0major+1901minor)pagefaults 0swaps

~/redistest$ /bin/time ./standardlib/standardlib -n 100000
redistest.go:53: got 100000 messages in 10.621125625s
3.80user 6.89system 0:10.62elapsed 100%CPU (0avgtext+0avgdata 10676maxresident)k
0inputs+0outputs (0major+1981minor)pagefaults 0swaps

Hi @amnonbc, thank you for sharing your benchmark.
However, it seems to me that the delay in your benchmark is quite confusing if you want to push the client to the limit.
To achieve better performance, you could change this:
func publisher(ctx context.Context, c rueidis.Client) {
	tick := time.NewTicker(delay)
	defer tick.Stop()

	for range tick.C {
		err := c.Do(ctx, c.B().Publish().Channel("ch").Message("msg").Build()).Error()
		...
	}
}

to either this:
func publisher(ctx context.Context, c rueidis.Client) {
	for i := 0; i < numMsgs; i++ {
		go func() {
			err := c.Do(ctx, c.B().Publish().Channel("ch").Message("msg").Build()).Error()
			...
		}()
	}
}

or this:
func publisher(ctx context.Context, c rueidis.Client) {
	msgs := make(rueidis.Commands, numMsgs)
	for i := range msgs {
		msgs[i] = c.B().Publish().Channel("ch").Message("msg").Build()
	}
	for _, resp := range c.DoMulti(ctx, msgs...) {
		err := resp.Error()
		...
	}
}

Thanks @rueian ,
I updated the benchmark as suggested
% time ./standardlib/standardlib -n 100000
redistest.go:51: got 100000 messages in 5.213545974s

real	0m5.218s
user	0m1.970s
sys	0m3.465s
%
% time ./rueian/rueian -n 100000 -b 1
2022/11/18 14:35:58 got 100000 messages in 5.797057133s

real	0m5.803s
user	0m1.584s
sys	0m4.100s
%
%
%  time ./rueian/rueian -n 100000 -b 1000
2022/11/18 14:36:08 got 100000 messages in 300.503933ms

real	0m0.306s
user	0m0.197s
sys	0m0.039s
%

So when running the publish commands back-to-back, we get similar performance from rueidis as go-redis.
But if we introduce batching, as you suggested, then we get a x10 speedup.
The problem is that the way my service is structured, there is not a natural way of batching the publish operations.

The problem is that the way my service is structured, there is not a natural way of batching the publish operations.

Sure, it is a common scenario that there is no way to do batching from the upper level. Therefore, rueidis automatically batches concurrent requests for you , for example:
func publisher(ctx context.Context, c rueidis.Client) {
	for i := 0; i < numMsgs; i++ {
		go func() {
			err := c.Do(ctx, c.B().Publish().Channel("ch").Message("msg").Build()).Error()
			...
		}()
	}
}

The result should be faster than 5s. This might be much useful to you If your service is a HTTP/gRPC or other RPC server.


User Defined Source: Add functionality to tag messages

Summary
What change needs making?
In the User-defined source, I would like to have the ability to add tags to the messages.
Use Cases
When would you use this?
By adding tags to the messages in user defined sources, we can route the messages using conditional forwarding.

Message from the maintainers:
If you wish to see this enhancement implemented please add a 👍 reaction to this issue! We often sort issues this way to know what to prioritize.

Is there any particular reason you do not want to use a source-transformer?

@vigith i can pick this up, if it's in roadmap

absolutely, thank you

@rishhavv Are you still working on this?


Scala Hadoop Elasticsearch: use manifest for loading bad rows

At the moment there is no manifest - the folder of bad rows to load is passed in on the command line (EmrEtlRunner figures out which folder(s) need loading and spawns a job for each).
Going forwards, we will maintain a manifest of which batches (defined by etl_tstamp) have already been loaded, and this will dictate which subsequent batches to load...

Scala Hadoop Elasticsearch has been deprecated.


The clear command doesn't

macOS 10.13.3
extraterm v1.6.8
zsh 5.3 (x86_64-apple-darwin17.0)
Typing the clear command should clear the screen.  Instead it just shows a normal command succeeded blue box

Dupe of #15.

thanks for reporting this even though it is a duplicate.


SSL certificate validation failed when using WebSocketClient

I am trying to open a test connection to wss://stream.binance.com:9443, and when I attempt that I get the following errors:
20210502 07:59:19.791046 UTC 387277 ERROR Domain validation failed - TcpConnectionImpl.cc:1637
20210502 07:59:19.791085 UTC 387277 ERROR SSL certificate validation failed. - TcpConnectionImpl.cc:1656

Is there any way to skip validation, or am I doing something wrong? Also, am I using path correctly, or should it be appended to the connection string?
auto wsPtr=drogon::WebSocketClient::newWebSocketClient("wss://stream.binance.com:9443");
auto req=drogon::HttpRequest::newHttpRequest();
req->setPath("/ws/btcusdt");
wsPtr->connectToServer(req, [](drogon::ReqResult r, const drogon::HttpResponsePtr &resp, const drogon::WebSocketClientPtr &wsPtr) { ... });

@nodeverror, I made a PR #835 to resolve this issue, would you please check it?

@nodeverror, I made a PR #835 to resolve this issue, would you please check it?

That worked, but now the connectToServer cb ReqResult is called with ReqResult::BadResponse. Binance should respond with JSON, do you know why the response is bad? Response seems fine when I test with simple websocket client in chrome.
To reproduce:
wss://stream.binance.com:9443
path: /ws/btcusdt@depth@100ms

Try to use setPathEncode to disable URL encoding, some servers don't decode the URL.
            wsPtr = WebSocketClient::newWebSocketClient(
                "wss://stream.binance.com:9443");
            auto req = HttpRequest::newHttpRequest();
            req->setPath("/ws/btcusdt@depth@100ms");
            req->setPathEncode(false);
            ...

Try to use setPathEncode to disable URL encoding, some servers don't decode the URL.
            wsPtr = WebSocketClient::newWebSocketClient(
                "wss://stream.binance.com:9443");
            auto req = HttpRequest::newHttpRequest();
            req->setPath("/ws/btcusdt@depth@100ms");
            req->setPathEncode(false);
            ...

Works now, thank you so much for your help!


[web] changing orientation on ios device browser leaves bottom white bar

When changing from portrait to landscape or vice versa on ios browsers I get a white bar at bottom of screen. Testing on iPhone 8 (physical device) web browsers (chrome and safari). Can't reproduce on android emulators. If I reload the page in the browser it fixes the issue, then when rotating back to portrait or landscape the issue happens again.
Created a new project with just a red container to see issue:
void main() {
  runApp(MaterialApp(
    home: Home(),
    debugShowCheckedModeBanner: false,
  ));
}

class Home extends StatelessWidget {

  @override
  Widget build(BuildContext context) {
    return Container(color: Colors.red,);
  }
}

@ctapp1
Tried your code sample using latest stable on iOS simulator with safari browser, but didn't see the behavior you mentioned.
https://user-images.githubusercontent.com/67046386/117416526-15e01080-af37-11eb-933c-d590dc1b9074.mov
Can you try on iOS simulator too to see if issue persists ? Also, please try to upgrade to latest stable and try again.

flutter doctor -v

[✓] Flutter (Channel stable, 2.0.6, on Mac OS X 10.15.4 19E2269 darwin-x64,
    locale en-GB)
    • Flutter version 2.0.6 at /Users/dhs/documents/fluttersdk/flutter
    • Framework revision 1d9032c7e1 (7 days ago), 2021-04-29 17:37:58 -0700
    • Engine revision 05e680e202
    • Dart version 2.12.3

[!] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.3, Build version 12C33
    ! CocoaPods 1.9.3 out of date (1.10.0 is recommended).
        CocoaPods is used to retrieve the iOS and macOS platform side's plugin
        code that responds to your plugin usage on the Dart side.
        Without CocoaPods, plugins will not work on iOS or macOS.
        For more info, see https://flutter.dev/platform-plugins
      To upgrade see
      https://guides.cocoapods.org/using/getting-started.html#installation for
      instructions.

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] VS Code (version 1.55.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.21.0

[✓] Connected device (3 available)
    • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729 • ios
      • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)            • macos                                •
      darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)               • chrome                               •
      web-javascript • Google Chrome 90.0.4430.93

! Doctor found issues in 1 category.

@ferhatb can you please triage? You fixed some of it already. I can't tell if there's anything else left here to do.

@ctapp1 we have fixed the issue in master channel. It is very recent , will propagate to dev/stable eventually.
You should be able to use master channel and see it fixed.
It is completely fixed on Safari now and on most Chrome/iPhone devices.
On iPhone Pro/Max devices there is still an edge case that has been fixed by upcoming Chrome build 88.


Base actor test

Base actor test

Closing this PR as another one will be raised with necessary changes.


Docker image for 1.1.4 broken

Flagr fails to start with the following error when attempting to launch the checkr/flagr:1.1.4 image with Docker.
Error relocating ./flagr: fcntl64: symbol not found
This seems to be an issue with missing glibc (understandable in alpine), but from what I can see in master's Dockerfile this shouldn't be an issue. I'm not sure how/why these old versions are built/re-pushed because I don't see branches correlating with versions.

Yup, 1.1.4 was not safe to rebuild/recreate due to https://github.com/checkr/flagr/pull/281
Please bump to 1.1.5 (if you want minimal changes from 1.1.4), or bump up to 1.1.7 (latest).
ChangeLog: https://github.com/checkr/flagr/blob/master/CHANGELOG.md

We're pulling the old image for 1.1.4 by SHA (checkr/flagr@sha256:7a13c5ec26ab87070b802f211e5864bcbafc3237077e93fc61536bbeeed080cc) for now and will plan an upgrade after we've had a chance to verify/test the latest version.
May I ask what the reasoning is for pushing all old image tags? I don't believe I've encountered other projects that do this and it can cause unexpected issues for consumers.

Sorry for the inconvenience. We are doing maintenance work on all the images hosted on dockerhub. We are moving private images out of docker hub, and we are also examining if the public docker images are affected by docker hub hack or not, especially for images built around that time. We don't believe so since we didn't find anything, but still, want to recreate all the tags from source code (checkout from git tag and rebuild) just to be safe. I've checked all the existing tags, and only 1.1.4 crashed on docker run.
I will push checkr/flagr@sha256:7a13c5ec26ab87070b802f211e5864bcbafc3237077e93fc61536bbeeed080cc to checkr/flagr:1.1.4, since the newly built image checkr/flagr:1.1.4 was broken anyway.

1.1.4 is back.
https://hub.docker.com/layers/checkr/flagr/1.1.4/images/sha256-7a13c5ec26ab87070b802f211e5864bcbafc3237077e93fc61536bbeeed080cc?context=explore

Thank you!


Add form validation to add user

This commit addresses #28 and includes several end-to-end tests of the form validation. There are a few tests missing (user name being too short or too long), but give a good idea about how this works. We should probably add those, but this is real progress toward this issue and could maybe close it.

E2E seem to pass for me as well as the tests run for a successful build, by the way.

Closes #28


Fix setting linked datasources for reports #398

Fixes #398
Changes proposed in this pull request:

check datasource property IsReference
correct test context message

How to test this code:

Pester test added
Test will fail with current master branch version, succeed with this PR

Has been tested on (remove any that don't apply):

Powershell 5.1 and 7.2.11
Windows 10
SQL Server 2017

@microsoft-github-policy-service agree company="Inhouse GesmbH"


CloudLogEvents _updater doesn't work

This code goes through the logs backwards, from old to new. self.last_timestamp is the timestamp of the newest log, so _a.timestamp (the oldest log) is always less than self.last_timestamp and the loop stops.
https://github.com/TimMcCool/scratchattach/blob/b5d6321140ea1404c8e8068895d7e7aba3042672/scratchattach/eventhandlers/cloud_events.py#L96-L100
It should be like this:
if _a.timestamp <= self.last_timestamp: continue

will be fixed asap


Kanban Board

Kanban Board Setup

We are a group of 4 people

@2004-okari
@jecode93
@anshuman7negi
@noelfoka

Kanban board

Wow, you did it 🎉

Thank you for implementing the changes requested by the previous reviewer 💪 🥇 ㊗
Well done!
Your project is complete!  There is nothing else to say other than... it's time to merge it :shipit:
Congratulations! 🎉
Optional suggestions

[ ] OPTIONAL: Please consider adding at least 1.5 more points to @jecode93, because the difference between him and @anshuman7negi is more than 5 points.

Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, remember to tag me in your question so I can receive the notification.

As described in the Code reviews limits policy  you have a limited number of reviews per project (check the exact number in your Dashboard). If you think that the code review was not fair, you can request a second opinion using this form.


Only some dependency lock files updated (pip/pipenv)

Package ecosystem: pip / pipenv
Package manager version:
Language version Python 3.8+
Manifest location and content before the Dependabot update:
requirements.txt
Pipfile.lock
dependabot.yml content
dependabot.yml
Updated dependency
pikepdf 5.1.1 -> 5.1.2  (but this has also been seen with other dependencies recently)
What you expected to see, versus what you actually saw
Both the requirements.txt and the Pipfile.lock updated to the new revision.  Instead, only the requirements.txt was updated.  Sometimes forcing a recreation of the pull will update both, for example this pull request after a few attempts updated both the files.
Native package manager behavior
Doing a pipenv lock then pipenv lock -r > requirements.txt would yield the expected behavior.
Images of the diff or a link to the PR, issue, or logs

Not working: https://github.com/paperless-ngx/paperless-ngx/pull/759
Also not working: https://github.com/paperless-ngx/paperless-ngx/pull/835

🕹 Bonus points: Smallest manifest that reproduces the issue

Related:

https://github.com/dependabot/dependabot-core/issues/1946

Pretty sure this is a duplicate of #6200. This one is older, but the new one has a bit more discussion and I already investigated a bit that particular case, so let me close this one in favor of #6200.
Please subscribe and/or comment there if still interested!


Add documentation for feature flag usage with config file

What will this achieve?
This will give users of our component library documentation on how to enable components via feature flags. There have been people asking about how to enable this and we should be able to point them to documentation on this.
How will success be measured?
When there is docs on github where we can send people to when they are using components that have not been released.
Current best synopsis thanks @dcwarwick

@matthewgallo any update on this?

Yes, I forgot to close this. @AlexanderMelox added some docs in this.


Week #1: Intro Python, Jupyter, Fastpages Hacks - Ethan Tran

Week 1: Intro Python, Jupyter, Fastpages Hacks
Fastpages link
Hacks

Quiz Jupyter Notebook
Quiz.py

Bash and Checks (tool check)

Bash Installation Checks
Bash file

Work/Study Pages

Class Notes
Vocabulary

Extra Credit

Added .dockx files to my homepage
→ ie. Honors Humanities Notes
Additional pages for class notes

-3.0

Python Quiz had lists and iterations to make code easier to manipulate
Imported .docx files from google docs
Added class notes and notes from other classes (vocaublary)
Bash installation checks
Different page color

Thoughts

Iterated through the number of questions in order to ask and check questions in the python quiz
Used .docx files to add notes from other classes
Changed page color
Checked the versions of a few of the required tools to verify their installation

Overall Grade

3.0

Thoughts

Used list and dictionaries to condense code in his python quiz
Changed the fastpage page color
Added notes from other classes through .docx files
Ran bash installation checks

Overall Grade

3.0

Thoughts

showed use of the quiz
added in the class note and different notes
ran the bash installation checks
had a decorated front page

Overall Grade
3.0
Closing Statements
Has a customized background page and it looks super clean and organized!


remove deprecated fields

Related #23533 and #23120

Hi @shamsher31. Thanks for your PR.
I'm waiting for a istio member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
Once the patch is verified, the new status will be reflected by the ok-to-test label.
I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@howardjohn Is it a good idea to move deleted flags to meshConfig in the default profile?


[OTHER]: Stub generation + editable install?

How do I have stub generation + editable install (pip install -e .)?
I'm trying to get my vscode to show type hints for my extension module during development.
I believe this is related to stub generation and editable installs.
I have installed nanobind using the git submodule method.
This is my repo's cmakelists: https://github.com/kj4tmp/pyethercat/blob/main/CMakeLists.txt

sorry, moving to a discussion

moving to discussion


Failed to resolve component

when I use the component like this
// app.vue
<mp-block>
  <Test />
</mp-block>

// test.vue
<template>
  <mp-button>111</mp-button>
</template>

it didn't show normal and has warning that Failed to resolve component: mp-button , while I try to console.log(this) in test.vue, it show that it didn't register any components

while I try console.log(app) in main.js , it seems normal, what happen???

Thanks for the report @Yubiao-Li
Do you mind providing a reproduction via CodeSandbox or CodePen/JSFiddle?

Thanks for the report @Yubiao-Li
Do you mind providing a reproduction via CodeSandbox or CodePen/JSFiddle?

https://codepen.io/Yubiao-Li/pen/bGgZZgy?editors=1111

@privatenumber

Ah it's not working because you registered components globally, which is currently not supported.
Changing it to local registration works: https://codepen.io/privatenumber/pen/jOyRVEz?editors=1111
Let's change this to a feature request to support global component registration

Ah it's not working because you registered components globally, which is currently not supported.
Changing it to local registration works: https://codepen.io/privatenumber/pen/jOyRVEz?editors=1111
Let's change this to a feature request to support global component registration

@privatenumber Oh I don't know it can't support global component registration. Looking forward to your update


Re-structured root folders of project, tweaked docker

Do not merge

Summary by CodeRabbit

New Features

Introduced simple functional components for rendering specific pages (Packets, Metrics, Clients, Connections, Channels).
Added a responsive Navbar component, improving navigation across the application.
Implemented new styling changes and utility classes for enhanced UI consistency.
Updated the Home component to include metrics fetching and display, along with a welcome message.

Documentation

Updated the README.md with refined instructions for local development and production deployment.

Refactor

Optimized Dockerfile for better build process and security.
Integrated MetricsPage component's functionality into the Home component.

Chores

Updated .dockerignore and .gitignore files for improved file management.
Introduced basic configuration for Next.js and Tailwind CSS, including color definitions and plugin usage.

@coderabbitai review


Formats GameManager.cs and Enemy.cs

Resharper run through GameManager.cs
Logic clean up inside GameManager.Update to reduce nesting
Adds comments to Enemy.cs
Cleans up variable names in Enemy

WIP on #38

👍
I've looked over these changes and they look fine to my mortal eyes. This is basically my preemptive approval.
I don't believe this PR has any unintended side-effects, but I think the responsible thing to do is wait to merge this until we've merged the stability patches so we can be absolutely certain.


fix empty lines when generating release.yaml

I am not so sure I got this right but this seems to pass the yamllint
could not replicate error from #1015  tho
add a ci check too..
fixes #1015
Signed-off-by: Chmouel Boudjnah<EMAIL_ADDRESS>Changes

Submitter Checklist

[ ] ♽  Run make test lint before submitting a PR (ie: with pre-commit, no need to waste CPU cycle on CI
[ ] 📖 If you are adding a user facing feature or make a change of the behavior, please verify that you have documented it
[ ] 🧪 100% coverage is not a target but most of the time we would rather have a unit test if you make a code change.
[ ] 🎁 If that's something that is possible to do please ensure to check if we can add a e2e test.
[ ] 🔎 If there is a flakiness in the CI tests then don't necessary ignore it, better get the flakyness fixed before merging or if that's not possible there is a good reason to bypass it. (token rate limitation may be a good reason to skip).

/retest

Codecov Report

Merging #1017 (b280b89) into main (ead974f) will decrease coverage by 0.07%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##             main    #1017      +/-   ##
==========================================
- Coverage   61.22%   61.15%   -0.08%
==========================================
  Files          98       98
  Lines        6007     6008       +1
==========================================
- Hits         3678     3674       -4
- Misses       1979     1984       +5
  Partials      350      350

Impacted Files
Coverage Δ

pkg/cmd/tknpac/describe/describe.go
47.01% <0.00%> (-0.64%)
:arrow_down:

pkg/cmd/tknpac/webhook/update-token.go
47.94% <0.00%> (-2.06%)
:arrow_down:

pkg/matcher/annotation_matcher.go
93.69% <0.00%> (-0.22%)
:arrow_down:

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


Expeditions time limit

Make it 5 minutes after we get https://github.com/space-wizards/space-station-14/issues/16639 and https://github.com/space-wizards/space-station-14/issues/18164

This will also necessitate nerfing structure count + boss count to 1 and probably adding more mobs to make it denser.
Loot quality likely also needs bumping (random spawns for high-tier loot).


PORT TO RUBY

Why?
Because I want to learn ruby and extend the projects that can use BDF (such as metasploit, bettercap, Cartero, ...)
And the code needs a major reworking, from beginning to end, with better documentation.
This will allow the improvement of the python project.
How?
I need a posse. If you want to help contact me on twitter @midnite_runr or on irc.freenode.net #BDFactory

Count on me @secretsquirrel

W00T!


seeing cron error dumping webmodules db

This started happening after mysql-docker deploy to production, but after cursory review it isn't clear what's trying to do the dump.
Logs from mysql-docker-crond-1 only show users dump
$ docker logs mysql-docker-crond-1
crond: crond (busybox 1.35.0) started, log level 8
crond: USER root pid   7 cmd mysqldump -h db -u root -p"$(cat /run/secrets/db-password)" users | gzip > /backup/users-$(date +%Y-%m-%d).sql.gz
crond: USER root pid  31 cmd mysqldump -h db -u root -p"$(cat /run/secrets/db-password)" users | gzip > /backup/users-$(date +%Y-%m-%d).sql.gz

error happened overnight, transferred ticket to webmodules, tried restarting webmodules on development machine

Looking for db-password so this must be coming from production server

2023-08-02 07:06 fab -H www.webmodules.loutilities.us deploy [docker-skeleton-v1.7-13-g43b798e]

cat: can't open '/run/secrets/db-password': No such file or directory
Segmentation fault (core dumped)

2023-08-03 06:13 fab -H www.webmodules.loutilities.us deploy [docker-skeleton-v1.7-14-gc448751]


k3s autoscale

I cant autoscale deploys
kubectl autoscale deployment hello-world --min=2 --max=5 --cpu-percent=50
i use this command
➜ k3s -v
k3s version v0.6.1 (7ffe802a)

after load with hey!

It looks like your deployment does not have a resource request. Autoscaling for pods is based on the resources they request so you must have this for the autoscaler to work.
For example, you could set the request to be 1000m CPU cores. When you create the autoscaler, you tell it --cpu-percent=50, so it should try to make enough pods to keep the usage at 50 % of the request (1000m in this example), so it will try to keep the usage at 500m.
Check this example. Note that they specify --requests=cpu=200m when they create the deployment. The algorithm details can be found here if you are interested.

Closing due to age.


Virtual Efuses Don't Work with PSRAM Enabled (IDFGH-9576)

Answers checklist.

[X] I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
[X] I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
[X] I have searched the issue tracker for a similar issue and not found a similar issue.

IDF version.
v4.4.4
Operating System used.
Linux
How did you build your project?
Command line with idf.py
If you are using Windows, please specify command line type.
None
Development Kit.
ESP32 Pico Devkit M-2 v1.0
Power Supply used.
USB
What is the expected behavior?
Expect application to boot when virtual efuses and psram are both enabled.
What is the actual behavior?
Application does not boot and resets due to watchdog.
Steps to reproduce.
To easily reproduce this issue I have created a repo.

Clone the repo at https://github.com/sidwarkd/virtual_efuses_bug
Ensure v4.4.4 of IDF is installed
Build and run project with idf.py flash monitor
Notice efuses will be read during boot and application will run normally.
Modify sdkconfig.defaults file by uncommenting lines 62-70 (SPIRAM config)
Run idf.py fullclean
Build and run project with idf.py flash monitor
Notice application no longer boots but hangs and restarts due to watchdog timer.

Debug Logs.
ets Jul 29 2019 12:21:46

rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 271414342, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff00b8,len:7644
ho 0 tail 12 room 4
load:0x40078000,len:16532
load:0x40080400,len:3832
0x40080400: _init at ??:?

entry 0x4008069c
W (66) boot.esp32: eFuse virtual mode is enabled. If Secure boot or Flash encryption is enabled then it does not provide any security. FOR TESTING ONLY!
I (44) boot: ESP-IDF v4.4.4 2nd stage bootloader
I (44) boot: compile time 15:43:08
I (44) boot: chip revision: v3.0
I (47) boot.esp32: SPI Speed      : 80MHz
I (52) boot.esp32: SPI Mode       : DIO
I (56) boot.esp32: SPI Flash Size : 8MB
I (61) boot: Enabling RNG early entropy source...
I (66) boot: Partition Table:
I (70) boot: ## Label            Usage          Type ST Offset   Length
I (77) boot:  0 nvs              WiFi data        01 02 0000c000 00002000
I (85) boot:  1 nvs_custom       WiFi data        01 02 0000e000 00003000
I (92) boot:  2 otadata          OTA data         01 00 00011000 00002000
I (100) boot:  3 nvs_key          NVS keys         01 04 00013000 00001000
I (107) boot:  4 custom_key       WiFi data        01 02 00014000 0000a000
W (115) efuse: Loading virtual efuse blocks from flash
EFUSE_BLKx:
0) 0x00000000 0x6d28fedc 0x005de89f 0x0000ad00 0x00001038 0x0015de26 0x00000004
1) 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000
2) 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000
3) 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000

I (153) boot:  5 efuse_em         efuse            01 05 0001e000 00002000
I (161) boot:  6 ota_0            OTA app          00 10 00020000 00390000
I (168) boot:  7 ota_1            OTA app          00 11 003b0000 00390000
I (176) boot:  8 storage          Unknown data     01 81 00740000 00080000
I (183) boot:  9 coredump         Unknown data     01 03 007c0000 00010000
I (191) boot: End of partition table
I (195) boot: No factory image, trying OTA 0
I (200) esp_image: segment 0: paddr=00020020 vaddr=3f400020 size=0a280h ( 41600) map
I (221) esp_image: segment 1: paddr=0002a2a8 vaddr=3ffb0000 size=021fch (  8700) load
I (225) esp_image: segment 2: paddr=0002c4ac vaddr=40080000 size=03b6ch ( 15212) load
I (233) esp_image: segment 3: paddr=00030020 vaddr=400d0020 size=15a94h ( 88724) map
I (263) esp_image: segment 4: paddr=00045abc vaddr=40083b6c size=06e80h ( 28288) load
I (279) boot: Loaded app from partition at offset 0x20000
I (279) boot: Set actual ota_seq=1 in otadata[0]
I (279) boot: Disabling RNG early entropy source...
I (296) psram: This chip is ESP32-D0WD
ets Jul 29 2019 12:21:46

rst:0x10 (RTCWDT_RTC_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 271414342, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff00b8,len:7644
ho 0 tail 12 room 4
load:0x40078000,len:16532
load:0x40080400,len:3832
0x40080400: _init at ??:?

entry 0x4008069c
W (67) boot.esp32: eFuse virtual mode is enabled. If Secure boot or Flash encryption is enabled then it does not provide any security. FOR TESTING ONLY!
I (44) boot: ESP-IDF v4.4.4 2nd stage bootloader
I (45) boot: compile time 15:43:08

More Information.
No response

In my own application, I do not have a problem with virtual effuses and PS ram

@chipweinberger Would you be able to try to reproduce with the steps I provided above? This is a dead simple test app using an off-the-shelf dev kit. Perhaps some other combination of settings in your sdkconfig causes it to work :man_shrugging: ? In the sample I provided it is very easy to repro the issue by just turning on PSRAM. Also, are you on IDF 4.4.4 or a different version?

I'm away from my device for awhile.
Did you erase your flash before enabling virtual efuses?

@chipweinberger Not immediately but I had tried erasing the entire flash after it was not working. Same result.

Hi @sidwarkd !
I run your example on v4.4.4 with and without PSRAM. I do not see any issue at all. I see the log This is a test of virtual efuses and psram.
I used ESP32 v1.0 (ECO1), and FLASHSIZE_4MB (I reduced the partition table).

@KonstantinKondrashov :thinking: I've reproduced this on two separate ESP32 Pico v3 chips. One was the Pico Devkit M-2 and the other is our custom hardware that uses the Pico V3-02. Do you have access to  Pico V3 that you could also try it on.

@sidwarkd This happens because when the virt efuse mode is on then the efuse buffer should be filled by real efuse before to start using it. There is a efuse constructor that is called at the startup code but apparently, later than the psram init function. So there is a solution just to use efuse directly from the hal component. You can try it, should help.
FYI, it is already fixed on the master.
diff --git a/components/esp_hw_support/port/esp32/spiram_psram.c b/components/esp_hw_support/port/esp32/spiram_psram.c
index 4bbd239..a4f36cd 100644
--- a/components/esp_hw_support/port/esp32/spiram_psram.c
+++ b/components/esp_hw_support/port/esp32/spiram_psram.c
@@ -26,6 +26,7 @@
 #include "soc/soc_caps.h"
 #include "driver/gpio.h"
 #include "hal/efuse_hal.h"
+#include "hal/efuse_ll.h"
 #include "hal/gpio_hal.h"
 #include "driver/spi_common_internal.h"
 #include "driver/periph_ctrl.h"
@@ -822,7 +823,7 @@ bool psram_is_32mbit_ver0(void)
 esp_err_t IRAM_ATTR psram_enable(psram_cache_mode_t mode, psram_vaddr_mode_t vaddrmode)   //psram init
 {
     psram_io_t psram_io={0};
-    uint32_t pkg_ver = esp_efuse_get_pkg_ver();
+    uint32_t pkg_ver = efuse_ll_get_chip_ver_pkg();
     if (pkg_ver == EFUSE_RD_CHIP_VER_PKG_ESP32D2WDQ5) {
         ESP_EARLY_LOGI(TAG, "This chip is ESP32-D2WD");
         rtc_vddsdio_config_t cfg = rtc_vddsdio_get_config();

@KonstantinKondrashov I confirmed this solution works! Thanks for your help.


Really long words can overlap other text when highlighting

Describe the bug
Really long words can overlap other text when highlighting.
To Reproduce
Steps to reproduce the behavior:

Go to Colours (Zulu) - Level 4: https://followthelearners.curiouslearning.org/drupal/?q=h5p/embed/51
Navigate to page 3.
Tap "linezindlebe"

Expected behavior
We should allow the author to make sure that highlights don't cover up other words. One way we could accomplish this is to allow return characters to be part of words so that the author can write really long words on a new line? This suggestion, however, does break how words are parsed when selecting words for timestamps.
Screenshots

Desktop (please complete the following information):

OS: Mac
Browser: Chrome
Version: N/A

Additional context

Another example now is some words can highlight over AND under other words simultaneously:


Preserve paragraph integrity in generated text

This commit parses the generated text into paragraph nodes to preserve the
original paragraph structure OnFinish. Previously, the text was being trimmed into a
single paragraph upon any edits due to the use of '\n\n' for paragraph separation.
With this change, each paragraph maintains its integrity even after edits.

Hmmm just checked this out – it doesn't work unfortunately:

The code is trying to solve this problem.   The code is parsing streamed text into "paragraph text type".  It does not know the original numberlist type .
(original)
https://github.com/steven-tey/novel/assets/62420169/8c548607-6ee0-499f-ac22-4e52fa801b6f
(added parsing into paragraphs using"/n/n")
https://github.com/steven-tey/novel/assets/62420169/2cfbd1c5-1686-4b99-94d3-9350284b42b6

@jt6677 ohhhh gotcha! I will need to think this one through a bit more 🙏

I'll close this PR because of the recent changed and AI example here #297. For direct streaming we might have a new example


SerialPort cannot receive anything

I use SerialPort class from the System.IO.Ports in the web server. Everything works fine under Windows. But there is a problem under Linux. SerialPort works only for transmission, but cannot receive anything. DataReceived event is not called.

@derwish-pro for issues with System.IO.Ports please file an issue here: https://github.com/dotnet/corefx/issues
Thanks!


fetch data for PDP

fetch product item data using URL slug or ID
update any PDP components with mapped data

@jshimko How close are we to having a PR with this?

This is still depending on the catalog schema PR in the main Reaction repo (https://github.com/reactioncommerce/reaction/pull/4218), but it's ready to be tested/reviewed.
reaction init -b refactor-4196-aldeed-catalog-schema-changes catalog-schema
cd catalog-schema
docker-compose up -d --build

Then start up this PR branch and everything should work.  You should see the PDP is now completely populated by the GraphQL API data.

@nnnnat FYI, it's hidden in the Github UI now because I pushed changes, but I did respond to the logging questions.

@spencern  @aldeed  I think this is good 2 go, but should we wait on PR 4218 before we merge this one?


[cuda] lineinfo for device function

Related gitter discussion starting at here and here.
Reproducer:
# filename: debugme.py
import math
import numpy as np
import numba
from numba import cuda

@cuda.jit(device=True, debug=True)
def expensive(x):
    return math.pow(x, 1.001)

@cuda.jit(device=True, debug=True)
def cheap(x):
    return math.sqrt(x)

@cuda.jit(device=True, debug=True)
def calc(x):
    s1 = expensive(x)
    q = cheap(s1)
    return q + 1

@cuda.jit(device=True, debug=True)
def threadid():
    return cuda.blockDim.x * cuda.blockIdx.x + cuda.threadIdx.x

@cuda.jit(argtypes=[numba.int32[:]], debug=True)
def kernel(arr):
    for i in range(1000):
        where = threadid()
        value = arr[where]
        arr[where] = calc(value)

def main():
    print("SUP")
    z = np.array(range(0, 5000))
    print(z)
    kernel[5000 // 128 + 1, 128](z)
    print(z)

    print(kernel.inspect_llvm())

if __name__ == '__main__':
    main()

Run the above with:
$ nvprof -a instruction_execution --export-profile profile_output python debugme.py

On my OSX 10.13 with CUDA 9.2, we can see some line-info in the profile_output using NVVP:

The "inline-closure" version (this style: https://gist.github.com/c200chromebook/d131322c918b142f14f40c9b3583cc6d) looks like:

@c200chromebook, can you tell us what you see?

CUDA 10.1, numba 0.48.0, numpy 1.18.1, llvmlite 0.31.0 - you don't even get near the profiling.

Using the goofy inline-closure format:

hmm... i think this might be a problem in libNVVM in CUDA 10.1. @gmarkall, do you know if there are known problems regarding debug-symbols in newer CUDA.

Yeah, you'll excuse me, I did very minorly goof - 10.2. Forgot we had upgraded.

@sklam If you're referring to the appearance of the message "Debugging support cannot be enabled when the number of debug compile units is more than 1", it's a message I've bumped into before but hadn't yet got around to looking into... I didn't realise it ever did work with 9.2 though.

I've also seen that message a fair few times.

@stuartarchibald, on what hardwares and CUDA versions?

I've seen it with CUDA 10.0 and a V100.

@stuartarchibald, on what hardwares and CUDA versions?

Stretching memory, but CUDA 10.2 and a GTX970.

hmm... i think this might be a problem in libNVVM in CUDA 10.1. @gmarkall, do you know if there are known problems regarding debug-symbols in newer CUDA.

I just noticed that it's documented that only a single module is supported: https://docs.nvidia.com/cuda/nvvm-ir-spec/index.html#source-level-debugging-support:

Source level debugging is supported only for a single debug compile unit. If there are multiple input NVVM IR modules, at most one module may have a single debug compile unit.

Hm... we can possibly prelink the module in llvm before sending it over to nvvm.

Is this one a fundamental limitation or should the prelink workaround fix?

@gmarkall, the doc change first happened in 10.0 (https://docs.nvidia.com/cuda/archive/10.0/nvvm-ir-spec/index.html#source-level-debugging-support). In 9.2 (https://docs.nvidia.com/cuda/archive/9.2/nvvm-ir-spec/index.html#source-level-debugging-support), there were no restriction on "a single debug compile unit" and it works.
Why is this restriction needed? I would think that one can use LLVM to link the modules together and the debug symbol will merge fine. If it is not that simple, I don't know what Numba can do to address this problem.
@c200chromebook is reporting (at https://gitter.im/numba/numba?at=5f35a6314bb58d3181951aea) that this affects a single kernel case in Numba. Which is odd because there should only be one LLVM module. Unless NVVM is counting the libdevice that we are linking in.

See also the below, which has two items to compile, thus causing a fail.
from numba import cuda
import numba as nb

@cuda.jit(nb.void(nb.int32[:], nb.int32[:]), debug=True)
def whatever(inp, outp):
    outp[0] = 1 if inp[0] in (2, 3) else 3

whatever[1, 1](cuda.device_array(1), cuda.device_array(1))

yields
Error: Debugging support cannot be enabled when number of debug compile units is more than 1
NVVM_ERROR_COMPILATION

On master with CUDA 11.2 (NVVM 7.0) line info seems to be available again with debug=True:

See also the below, which has two items to compile, thus causing a fail.
from numba import cuda
import numba as nb

@cuda.jit(nb.void(nb.int32[:], nb.int32[:]), debug=True)
def whatever(inp, outp):
    outp[0] = 1 if inp[0] in (2, 3) else 3

whatever[1, 1](cuda.device_array(1), cuda.device_array(1))

yields
Error: Debugging support cannot be enabled when number of debug compile units is more than 1
NVVM_ERROR_COMPILATION

This reproduces for me with CUDA 10.1, but the issue appears to be resolved with CUDA 11.2.

To summarise where I think we are:

Our debuginfo generation is better for NVVM 7.0 than it is for NVVM 3.4, due to using the exact same mechanism as the CPU target.
For a presently-unknown reason, the "Error: Debugging support cannot be enabled when number of debug compile units is more than 1" is not triggered with NVVM 7.0, though this is still unsupported: https://docs.nvidia.com/cuda/archive/11.2.1/nvvm-ir-spec/index.html#source-level-debugging-support
See also the PR to add lineinfo generation only: https://github.com/numba/numba/pull/6802

@sklam asked earlier:

Why is this restriction needed? I would think that one can use LLVM to link the modules together and the debug symbol will merge fine. If it is not that simple, I don't know what Numba can do to address this problem.

I don't know the reason for the restriction. I believe that we can conform with this restriction in Numba by changing
https://github.com/numba/numba/blob/81f708263be0ba6e803bd54633e8c278d93a5e78/numba/cuda/codegen.py#L114-L115
so that instead of passing a list of the IR for all modules into llvm_to_ptx, we call it once for each module's IR, then link the resulting PTX for each module one-by-one when linking the cubin. So here:
https://github.com/numba/numba/blob/81f708263be0ba6e803bd54633e8c278d93a5e78/numba/cuda/codegen.py#L139
we'd have multiple PTXs to add.
I hadn't done this by default so far because it seems to result in less inlining and less efficient code in the non-debug case (I did try it, but couldn't get the linker to inline the PTX as eagerly as NVVM seems to inline IR for device functions). For debug, this isn't a problem though, as we're not going to be expecting much / any inlining.
We have this hack in the code:
https://github.com/numba/numba/blob/81f708263be0ba6e803bd54633e8c278d93a5e78/numba/cuda/cudadrv/nvvm.py#L708-L728
which is intended to workaround the fact we are passing in multiple modules when debug=True. If the above changes to pass one module to NVVM at a time are implemented, I believe that this workaround could be removed (and maybe debug info in CUDA would work a bit better than it presently does).

instead of passing a list of the IR for all modules into llvm_to_ptx, we call it once for each module's IR, then link the resulting PTX for each module one-by-one when linking the cubin.

I've tried implementing this strategy and removing the debug_pubnames patching in: https://github.com/gmarkall/numba/commit/ce840bc90e8d1ed6831ae797e50f0d0d06bde091
It fixes the failure to compile with NVVM 3.4. Things seem to work as well as they did before with NVVM 7.0. Stepping line-by-line seems like it might be more stable, but I'm not sure if that's just my perception - I need to do some more careful experiments.

PR #6841 includes a fix for the message "Error: Debugging support cannot be enabled when number of debug compile units is more than 1" using the strategy described above - since lineinfo is working with NVVM 7.0, and the error message is resolved with NVVM 3.4, I will consider this issue resolved once that PR is merged.


Create rough reporting 'roadmap'

What's coming up over the next quarter for reporting? Let's put on our thinking caps and create a rough roadmap to align our thinking.
Acceptance Criteria:

[ ] Schedule time with POs (+ SMs optional)
[ ] Create draft reporting roadmap
[ ] Ideate when we would like to have User Stories created
[ ] Ideate when we would like to have MVP created
[ ] Pass roadmap to scrum team for feedback
[ ] Iterate on feedback if needed

Goal of ticket:

Get an idea of what to plan for next sprint
Do some rough work ahead of Q3 Roadmap planning

Hey team! Please add your planning poker estimate with Zenhub @nanyangpro @NicoleGovvy

Done.


KeyError when downloading original_no_seq weights

Hi Model-Angelo Team,
I am following your instructions for setting up a shared install on our cluster. (I am trying in my own space first before doing a central install.)
Model-Angelo seems to install correctly and download the original bundle of weights successfully, but when it comes to downloading the original_no_seq bundle I get the following error:
Setting up bundle with name: original_no_seq for the first time.
Traceback (most recent call last):
  File "/gpfs2/well/rescomp/users/iub031/src/model-angelo/model_angelo/utils/setup_weights.py", line 17, in <module>
    model_dst = download_and_install_model(args.bundle_name)
  File "/well/rescomp/users/iub031/conda/skylake/envs/model_angelo/lib/python3.9/site-packages/model_angelo-0.0.1-py3.9.egg/model_angelo/utils/torch_utils.py", line 456, in download_and_install_model
    bundle_name_to_link[bundle_name],
KeyError: 'original_no_seq'

This occurs when sourcing the install script with the --download-weights option.
Please could you help?

Try replacing in the install scropt original_no_seq with original_no_sequence. Seems to be the correct key in the download_and_install_model function inside the torch_utils.py

Thanks, @KiSchnelle. If I do this I get the following error after the download of the first file for original_nosequence:
Traceback (most recent call last):
  File "/gpfs2/well/rescomp/users/iub031/src/model-angelo/model_angelo/utils/setup_weights.py", line 17, in <module>
    model_dst = download_and_install_model(args.bundle_name)
  File "/well/rescomp/users/iub031/conda/skylake/envs/model_angelo/lib/python3.9/site-packages/model_angelo-0.0.1-py3.9.egg/model_angelo/utils/torch_utils.py", line 465, in download_and_install_model
    with open(os.path.join(dest, "success.txt"), "w") as f:
FileNotFoundError: [Errno 2] No such file or directory: '/well/rescomp/users/iub031/model_angelo_weights/hub/checkpoints/model_angelo/original_no_sequence/success.txt'

Model-Angelo has created the directory /well/rescomp/users/iub031/model_angelo_weights/hub/checkpoints/model_angelo/original_no_seq.
There is also a reference to original_no_seq in model_angelo/apps/build_no_seq.py:
    advanced_args.add_argument(
        "--model-bundle-name",
        type=str,
        default="original_no_seq",
        help="Inference model bundle name",
    )

I will try changing the key in the dictionary inside torch_utils.py and check if that works.

Hi @cjroberts ,
Sorry, this is a bug I introduced on Friday. If you pull the new code, I have now  fixed it. The fix commit is here: 11adfad5ce4890ba53ad3274461a8bfb164e1bf9
Thank you for using ModelAngelo!
Best,
Kiarash.

Thanks!:)
If you run it step by step not with the install script and changed the key in the torch_utlis.py you got to do again the
setup.py install

so the model_angelo-0.0.1-py3.9.egg is build again with the changed code.
cheers
Kilian

Thank you for the quick fix, @jamaliki!


bdk core

Closes #387
Still some clean up we can do but this migrates us to bdk core. Was able to test an on-chain receive and it worked well

FYI, BDK PR 926  will make some large-ish changes in the 1.0.0-alpha.1 release, but we'll also be updating examples and can help you work through what you'll need to change.


Website

So we want a website. I thought for ease of deployment we could just add it to the app. IE the primary landing page (in app.tsx) could be our website, and a login button could take you to the actual app

Find the idea great!


Duplicate Configuration Manager object initialization

Problem
Duplicate Configuration Manager object initialization during _InitChipStack()
Summary of Changes
Remove Initializing the Configuration Manager object in GenericPlatformManagerImpl_POSIX.ipp
The Configuration Manager object is initialized in GenericPlatformManagerImpl.ipp

 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.

@joyoungjun, awesome!  Thanks!
Do other platforms suffer from this?  What side effects have you observed?

@joyoungjun, awesome! Thanks!
Do other platforms suffer from this? What side effects have you observed?

I think only linux platform suffer from this.
It initializes the configuration manager object twice during _InitChipStack().


Bump HLS.js

The newer version resolves issues related to displaying subtitles and subtitle track selection.

Cheers @eldingraho. Published in 1.6.1


[QUESTION] Database file size reduction

I would like to know all the available methods for reducing the size of database files, without data loss.
One of them, it seems to me, would be the ability to disable Extended JSON.

Yes, it helps to store data more reliably, but my classes do not change, and if I change them, I will manually write a patch that will be launched when the database is initialized.
For me, the size of the database is critical, and I would like to know how to implement this and what other solutions exist to reduce its size.

@SKProCH The term "extended JSON" refers merely to the notation that LiteDB uses to represent certain BSON types when converted to JSON, given that BSON is a superset of JSON. This has no impact in the storage size.
If you really need to reduce datafile size, your best option would be to rebuild the datafile frequently.

Ok i got you, thanks


Add files via upload

Some Practice questions for Coders, mainly these are the solution of hacker rank solutions in c++, java, python and javascript
Assigned Issue Number ?
#Issue_Number
Language(s) Opted ?
C/C++/Python/Java ...
Number of file(s) added or updated ?
1/2/3/4/...
Name and location of the file(s) ?
Folder => Sub_Folder => ... => File.extension
Checklist

[x] I've followed the contributing guidelines
[ ] I've synced-up my forked repo.
[ ] Ain't pushing from the main branch.
[ ] The content added isn't directly copied from any sources like gfg, tutorialpoint, etc.
[ ] Input has been taken dynamically.
[ ] I've referred the correct issue number.
[ ] Comments have been added
[ ] I've  synced-up my forked repo.
[ ] Ain't pushing from the main branch.

I have added some Hacker Rank Interview Kitt Solution, I think you will like it ... it's my 1st time to contribute on GitHub under hacktoberfest ... i think you wil help me ,thank you

Hi @anand722000 , well first of all thank you for contributing in this repo :+1:
It isn't required to push 50 or 100 files at random places with random naming conventions.
Just push a single file at the correct location, referencing the correct issue number(not from the main branch).
Take a look at https://github.com/ahampriyanshu/algo_ds_101#how-to-contribute
Regards @ahampriyanshu :v:


Invalid object name 'maestro-api-dev.Properties' while opening the "Data" tab from an Azure databse's table

Hi,
After I tried to see the data from a table of an Azure SQL database, I got the following message:
  Invalid object name 'server-name.table-name'.
  Invalid object name 'server-name.table-name'.

Of course, server-name.table-name  is the actual Azure SQL server name and the table I wanted to open.
I think this issue was introduced on the latest version 4.3.5 for Windows x64.
Thank you.

What driver/version do you use for Azure?

Can't reproduce without additional details


mac RC1 updates and kill RU sentences and dead wood

working with PU on final wording.

@scottaddie I'll have some minor tweaks but this pretty close.
@Erikre can you test all these on your Mac. I can send you the HTML if you like.
@rachelappel  when we get the tree rat, can you handle merger conflicts or should I get you some help?

@DamianEdwards  the .NET Core support for Mac and Linux is still very new and not ready for production workloads.

@rachelappel per Wades new policy can you merge this? All checks have passed
Anything @Erikre and others find I'll fix. These doc's were totally broken and now they're in good shape.

@davidsan ready for review

@Rick-Anderson Thanks for the update! A couple quick questions for you:

Should the hyphen be removed from "client-tools"?
Should the code block type for the project.json "commands" snippet be changed from "c#" to "json"?

@scottaddie  fixed, thanks

The Person.cs file generated by yo has lost its indentation in the yeoman.rst file.
Otherwise, :+1:

@rachelappel  looks like we have a couple tree rats

@rachelappel  I did a commit on a bug fix for my MVC tutorial in this. Hope that doesn't mess things up.

:watch:

@danroth27  - should be ready. 5 hours after commit the build is still running.

I merged this in (8ed92fd3b90417deb1829f7ca5ff66e32092a4a7), but I reverted the changes to the Choosing the Right .NET article. Significant changes to that article really need to be reviewed with the .NET team. Really this content should live in the .NET docs. Let work with the .NET team on this.


fixed incorrect server port info

The unoconvert and unocompare commands use the Unoclient which actually defaults to port 2003 not 2002 as initially stated in the README. This commit corrects that.
See lines 251 and 263 here

Thanks!


Function wrapped in array are converted to string

This currently doesn't work
Feature: Test Javascript function

  Background:
    * def baseFunction =
    """
      function(value) {
        return "Hello " + value;
      }
    """
    * def arrayWrappedFunction =
    """
      [function(value) {
        return "Hello " + value;
      }]
    """
    * def callWrappedFunction =
    """
      function(value) {
        return arrayWrappedFunction[0](value);
      }
    """

  Scenario: Hello world

    Given def arg = "World"
    And def return = call callWrappedFunction arg
    Then match return == "Hello World"

It works if you change return arrayWrappedFunction[0](value); by return baseFunction(value); or return karate.eval(arrayWrappedFunction[0])(value);

this kind of complex js is not supported

Arrays are considered complex JS ? 🤔

feel free to submit a pull request

I think this bug is not even caused by arrays at all.
Multiline expressions seems to be parsed differently (as text, as Javascript, as JSON) depending on totally non obvious reasons (simply moving a completely unrelated call around force arrayWrappedFunction to be parsed either as Text or as Javascript).

pull request

Release 0.9.3 broke this again
  Background:
    * def baseFunction =
    """
      function(value) {
        return undefined;
      }
    """

might (see previous comment) be considered as JSON and throws
org.opentest4j.AssertionFailedError: -unknown-:33 - javascript function call failed: SyntaxError: Invalid JSON: <json>:1:0 Expected json literal but found u
undefined

works for me


update version to v1.3.3

Thanks!

np

@Aluxian after merging this the application keep asking to update to the last update even if you re using the last one. Hope you are going to release a new deb/exe file with this merged ;) Thanks!

v1.3.3 already released for days.

@PeterDaveHello  i know and i'm using 1.3.3 but the application keeps asking me to update the app to the last version.

hmmmm ... I have no problem with that.


Use of uninitialized value $effect in pattern match

Hi
I am having a recurrent issue with vcf2maf. I have used VEP to annotate my multi sample VCF file. It keeps giving me the error below. Initially I was using SNPeff and I saw that it had problems with this so I then used VEP, but the problem still occurs:
Use of uninitialized value in numeric eq (==) at /home/abeggs/vcf2maf-master/vcf2maf.pl line 611,  line 1073.
Use of uninitialized value $effect in pattern match (m//) at /home/abeggs/vcf2maf-master/vcf2maf.pl line 772,  line 1073.
Use of uninitialized value $effect in string eq at /home/abeggs/vcf2maf-master/vcf2maf.pl line 773,  line 1073.
Use of uninitialized value $effect in string eq at /home/abeggs/vcf2maf-master/vcf2maf.pl line 774,  line 1073.
Use of uninitialized value $effect in string eq at /home/abeggs/vcf2maf-master/vcf2maf.pl line 775,  line 1073.
Use of uninitialized value $effect in string eq at /home/abeggs/vcf2maf-master/vcf2maf.pl line 776,  line 1073.
Use of uninitialized value $effect in pattern match (m//) at /home/abeggs/vcf2maf-master/vcf2maf.pl line 777,  line 1073.
Use of uninitialized value $effect in string eq at /home/abeggs/vcf2maf-master/vcf2maf.pl line 778,  line 1073.
Use of uninitialized value $effect in string eq at /home/abeggs/vcf2maf-master/vcf2maf.pl line 779,  line 1073.
Use of uninitialized value $effect in pattern match (m//) at /home/abeggs/vcf2maf-master/vcf2maf.pl line 780,  line 1073.
Use of uninitialized value $effect in pattern match (m//) at /home/abeggs/vcf2maf-master/vcf2maf.pl line 781,  line 1073.
Use of uninitialized value $effect in pattern match (m//) at /home/abeggs/vcf2maf-master/vcf2maf.pl line 782,  line 1073.
Use of uninitialized value $effect in pattern match (m//) at /home/abeggs/vcf2maf-master/vcf2maf.pl line 783,  line 1073.
Use of uninitialized value $effect in pattern match (m//) at /home/abeggs/vcf2maf-master/vcf2maf.pl line 784,  line 1073.
Use of uninitialized value $effect in string eq at /home/abeggs/vcf2maf-master/vcf2maf.pl line 785,  line 1073.
Use of uninitialized value $effect in pattern match (m//) at /home/abeggs/vcf2maf-master/vcf2maf.pl line 786,  line 1073.
Use of uninitialized value $effect in string eq at /home/abeggs/vcf2maf-master/vcf2maf.pl line 787,  line 1073.
Use of uninitialized value $effect in string eq at /home/abeggs/vcf2maf-master/vcf2maf.pl line 788,  line 1073.
The only issue that I can think off is that I am using the new Illumina aligner Isaac followed by Strelka, however I have stripped all the extrataneous stuff it puts in with bcftools

Instead of feeding in a pre-annotated MAF using --input-vep, I'd recommend you allow vcf2maf to run VEP by using --input-vcf. This allows vcf2maf to use all the VEP runtime arguments as shown here. Since MAFs are based on having tumor-normal pairs, please click here to understand the caveats of using multisample VCFs from population-calling.

Thanks! Will try this and report back, but looks good.

Closing issue. Please reopen if you run into a similar bug.


Change behaviour of render method

What steps will reproduce the problem?
Using render function to render content of view file looks too hard.
Instead of return the result of render function we should to create response before and write data after.
Let's delegate creating the Response object to render function.
What is the expected result?
User controllers will be more simpler and cleaner
public function index(): Response
{
    return $this->render('index');
}

What do you get instead?
public function index(): Response
{
    $output = $this->render('index');
    $response = $this->responseFactory->createResponse();
    $response->getBody()->write($output);
    return $response;
}

View component is not aware of request-response. Its job is rendering templates. I don't think it's a good idea to couple it like suggested.
Still, I agree that it looks a bit cumbersome to create response like that (while it makes perfect sense if redirect or sending headers is involved).
Possible solutions:

Allow returning strings from handlers (actions).
Provide a shortcut method like createResponseWithBody($string).
???

If you want to render and collect result to string you can use $this->getView()->render(...);
Controller::render() is only wrapper over $view->render. I do not see any problems in returning  Response
Moreover, such a template is familiar to all PHP developers (at least), because all frameworks provide such a convenient interface.

Returning response directly from render()? Some references would not hurt...

I think @xepozz mean something like this
//abstract class Controller
protected function render(string $view, array $parameters = []): string
{
    $response = $this->responseFactory->createResponse();
    $content = $this->view->render($view, $parameters, $this);

    return $response->getBody()->write($this->renderContent($content));
}

Yes but that would be:
protected function render(string $view, array $parameters = []): Response

Yes but that would be:

Of course, I've just forgotten to change after copying.

Thought more about it. It doesn't sound bad to do it.


Using a filecoin address library and handling params

The largest change here is that I changed the code to use @openworklabs/filecoin-address.
Also added handling for message params. Looks like rust code had more handling of params, but it didn't work for arbitrary messages (at least last week).

We are auditing this code base and we want to avoid third party dependencies when possible.
We are actually working closely with Openwork labs. That package was something temporary that was used during the beginning of the development process. We later migrated to our own implementation.

About message params, it has already been completed and released.
Maybe you can separate that from the @openworklabs/filecoin-address change so it is clear what you are discussing and we can see if there is actually an overlap?

My problem is that when I try to send message to verifreg, I get
Error parsing parameters: data did not match any variant of untagged enum MessageParams at line 1 column 298 (rust)
or Error: ID protocol not supported. (js)
I'll change this PR so that the needed change to address handling is implemented here instead of using the library.

@rllola when you revire this.
The problem in test_rust and test_service are because CI is not passing node credentials as the PRs are coming from an external fork.

@mrsmkl Thanks for you PR!
Would it be possible to add a couple of tests to your PR?

I'll try to add some tests for param handling. I'm on a trip now but I'll probably have them done this week.

I think most of the commits where merged into space_race. Thanks!
https://github.com/Zondax/filecoin-signing-tools/pull/214


Allow the API endpoint to be configured via an environment variable

Adds the option to configure the API endpoint through an environment variable.
For example, export ENDPOINT_BASE_URL=some_url.

Sorry for the revert here.. I think we should also change the env var name to further specify it, in case there is overlap with another env var set on the system.
ENDPOINT_BASE_URL could be for anything, but CF_API_BASE_URL is probably as specific as we need and is pretty clear about what it is expected to be and when it should be set.
What do you think?

I also agree that we should be as specific as possible. We never know what other environment variables could be present. 👍


Parameter yaml block extra empty line after Aliases

Steps to reproduce

Generate MD from any PowerShell cmdlet that has at least 1 parameter.
Check the MD file parameter yaml block

Expected behavior
There is an extra empty line after "Aliases: "
Actual behavior
There should be no extra empty line within any parameter yaml block
Environment data

v0.7.4

This is by design.

// break line to improve readability and separate metadata block

https://github.com/PowerShell/platyPS/blob/master/platyPS.schema.md#version-200


Error 401 when loging to HubPress

Hi,
I am getting a 401 error when login to my HubPress blog. I am using my github name/password, which works fine for other kind of access to github. Any idea?
Thanks,
Pierre-Yves

Hi @pysaumont
The username in your config.json file is not good:

Thanks!


Indent XML output for TT assembly instructions

Indentation for TTX XMLF is 2 spaces. I chose 4 spaces for indentation of instructions to make it more noticeable. I hope it’s not a problem, because assembly code lines are usually very short.

Thanks!
A little test case in https://github.com/fonttools/fonttools/blob/master/Tests/ttLib/tables/ttProgram_test.py would also be nice ;)

I’ll have a go at writing a test case.
BTW here’s a Sublime Text syntax file for TTX, I have just added syntax matches for assembly code.

super cool! ... well, as cool as hinting could be ;)

Thanks a lot adding a test! :)
Before we can merge this, I still have a few comments.
In 07e4f24, you fixed the indentation of assembly and bytecode XML elements inside the instructions element, as I had suggested. However, now I realize that glyphs with empty instructions/assembly will end up having four lines instead of two, which is arguably a bit of a waste:
-      <instructions><assembly>
-        </assembly></instructions>
+      <instructions>
+        <assembly>
+        </assembly>
+      </instructions>

Maybe this was the reason why ttProgram.Program.toXML method did not end with a writer.newline() call, unlike the rest of the toXML methods inside ttLib. (cc @justvanrossum?)
Now I wonder if we could not write empty assembly elements, like this:
-      <instructions><assembly>
-        </assembly></instructions>
+      <instructions>
+      </instructions>

The instructions element must be there, even if empty, because it's the presence of a 'program' attribute that defines whether a composite should have the WE_HAVE_INSTRUCTIONS flag set.
In any case, whether we drop empty assembly elements or not, I think the writer.newline() which follows self.program.toXML(writer, ttFont) should be in the placed inside the toXML method instead of its caller, i.e. after each writer.endtag, for consistency with the rest of the codebase.
diff --git a/Lib/fontTools/ttLib/tables/_g_l_y_f.py b/Lib/fontTools/ttLib/tables/_g_l_y_f.py
index 735c546..88b7208 100644
--- a/Lib/fontTools/ttLib/tables/_g_l_y_f.py
+++ b/Lib/fontTools/ttLib/tables/_g_l_y_f.py
@@ -358,7 +358,6 @@ class Glyph(object):
                                writer.begintag("instructions")
                                writer.newline()
                                self.program.toXML(writer, ttFont)
-                               writer.newline()
                                writer.endtag("instructions")
                                writer.newline()
                else:
@@ -379,7 +378,6 @@ class Glyph(object):
                                writer.begintag("instructions")
                                writer.newline()
                                self.program.toXML(writer, ttFont)
-                               writer.newline()
                                writer.endtag("instructions")
                                writer.newline()

diff --git a/Lib/fontTools/ttLib/tables/ttProgram.py b/Lib/fontTools/ttLib/tables/ttProgram.py
index d189b70..8ffb5ca 100644
--- a/Lib/fontTools/ttLib/tables/ttProgram.py
+++ b/Lib/fontTools/ttLib/tables/ttProgram.py
@@ -246,6 +246,7 @@ class Program(object):
                                writer.newline()
                                writer.dumphex(self.getBytecode())
                                writer.endtag("bytecode")
+                               writer.newline()
                        else:
                                writer.begintag("assembly")
                                writer.newline()
@@ -279,11 +280,13 @@ class Program(object):
                                        if _indentRE.match(instr):
                                                indent += 1
                                writer.endtag("assembly")
+                               writer.newline()
                else:
                        writer.begintag("bytecode")
                        writer.newline()
                        writer.dumphex(self.getBytecode())
                        writer.endtag("bytecode")
+                       writer.newline()

        def fromXML(self, name, attrs, content, ttFont):
                if name == "assembly":

hey @jenskutilek, did you see this?
https://github.com/jenskutilek/fonttools/issues/1

I’ve seen it now ;)

Maybe this was the reason why ttProgram.Program.toXML method did not end with a writer.newline() call, unlike the rest of the toXML methods inside ttLib. (cc @justvanrossum?)

Yeah, I think that's correct. If you find a way to make this nicer in all situations, go ahead, but it feels a bit like a change for change's sake.

@jenskutilek no, no, that was not the issue why Appveor fails, please revert c043cfb
the problem is XMLWriter defaults to the os-specific line endings; instead you should pass newlinestr="\n" to XMLWriter in your test.

-        writer = XMLWriter(buf)
+        writer = XMLWriter(buf, newlinestr='\n')

Are you sure? When I revert the newline at the end of file, the test fails again, even with XMLWriter(buf, newlinestr='\n')

If you find a way to make this nicer in all situations, go ahead, but it feels a bit like a change for change's sake.

The thing is, once we indented the FDEF and IF instructions, the inconsistent indentation of the assembly/bytecode elements came to the fore.
The current solution looks nice to me:

A glyph with instructions have nicely indented , and within those, indented FDEF/IF,etc,
A contour-only glyph without instructions has an empty instructions element.
A composite glyph without instructions, has no instructions element.
An empty glyph, with no contours nor component data, has no sub-elements.

This solution is also backward compatible, in the sense that ttx files which do contain empty assembly/bytecode elements will work the same.

Are you sure?

I'm sure we do need a newline at the end of the ttProgram.ttx, as that's what we do in here:
https://github.com/fonttools/fonttools/pull/819/commits/499bc960f9f7e9c7428e938b99821b26bfc83bb8

I was confused ... my commit message wasn’t what actually changed. I think everything is correct now

no, we need a newline at the end of the ttProgram.ttx. You reverted it twice.
Please remove this commit: ff9c046

But the test passes locally now ... apparently I'm still confused.

the appveyor tests still fail because you didn't add the newline at the end of the ttProgram.ttx:
https://ci.appveyor.com/project/fonttools/fonttools/build/1.0.447/job/96wa7x1eir37q85p#L1152
As you can see, it is missing:
https://github.com/fonttools/fonttools/pull/819/files#diff-6187713984923e56fc3892dc9a6a8b74R1627
please add that

There you go, it's passing now!
Sorry for all the troubles.
next time, maybe you could create a branch instead of submitting a PR directly from your fork's master, so you can squash commits, force-push, etc. which shouldn't happen on master.

OK, thanks for your help! I will add a branch next time, this just seemed only a small change in the beginning ;)

Sorry, there's one thing which I'm still not super happy about...
It's when a instructions element does not contain any subelements, in which case it could be reduced to a simple tag with the same meaning:
-      <instructions>
-      </instructions>
+      <instructions/>

I'll try to see if I can find a solution for that after lunch.

What's confusing me is that now when I run ttProgram_test.py locally on macOS 10.12 with the system Python 2.7.10, it fails … but the AppVeyor test passes.

It appears that both ElementTree and lxml serialize empty elements using the special empty <element/> notation, but both allow to turn this off.
ElementTree tostring() function has short_empty_elements=True argument, while lxml.ElementTree class has a write_c14n method that uses the Canonical XML formatting, which among other things disallows the special handling of short elements.
https://en.wikipedia.org/wiki/Canonical_XML

empty elements are encoded as start/end pairs, not using the special empty-element syntax

Although it wouldn't be too difficult to add such a feature to our XMLWriter, perhaps for the sake of simplicity we could stick to what we currently have.

One can generate 'short' elements with XMLWriter with its simpletag() method, just not automatically.

@jenskutilek I sent you a few more cosmetic changes to https://github.com/jenskutilek/fonttools/pull/3
Could you please also write a small changelog entry at the top of NEWS? It's just a short phrase summarizing any user-facing changes for this pull request (#819).
Thank you for contribution!

One can generate 'short' elements with XMLWriter with its simpletag() method, just not automatically.

sure, I know. Would you like to do that for <instructions></instructions>? It'd be just a simple check if self.program: do begintag and endtag, else do simpletag.

Sure, go for it!

I just envy how much time you guys have on your hands ;).

@jenskutilek excellent, thank you!

I just envy how much time you guys have on your hands ;)

And I really appreciate Cosimo's patience and attention to detail 👏


Updated README.md

Pull Request Test Coverage Report for Build 86

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 82:
0.0%

Covered Lines:
524

Relevant Lines:
524

💛  - Coveralls


Error when importing

AttributeError: module 'ijson' has no attribute 'backend'

I think ijson change backend module into backends

Where are you running this ?

Can you please specify your ijson package version?

@ayende @IdanHaim
That happens to me as well.
If I rememver correctly, ijson version was the latest one 2.5.1
I didn't install it explicitly, that's how it came after pip install pyravendb
The cause seems to be that, in the fork used in pipy repo as "official" distribution v 2.5.1 https://pypi.org/project/ijson/
the backend is explicitly removed, pls check the last line at https://github.com/ICRAR/ijson/blob/v2.5.1/ijson/init.py
The way I resolved it was uninstalling ijson and installing it from https://github.com/isagalaev/ijson sources from master
Now I have
(venv3) az:~ pip freeze | grep pyravendb
pyravendb==<IP_ADDRESS>
(venv3) az:~ pip3 freeze | grep ijson
ijson==2.3

and it works fine. Well, at least so far.

Thank you.

Yes it work, thank you


Add possibility to run binaries directly instead of having to alias everything

Not having prefix every command with npm run is very convenient but it does force you do alias every command for use in npm-run-all.
For example the following script:
"build": "del-cli dist & npm run bar & node task/foo & npx webpack --config webpack.config.js --env.development",
"bar": "node task/bar -qz"

would resolve to the following with npm-run-all:
"build": "npm-run-all clean bar foo webpack",
"clean": "del-cli dist"
"bar": "node task/bar -qz",
"foo": "node task/foo",
"webpack": "npx webpack --config webpack.config.js --env.development"

This is fine for longer tasks but feels very clumsy for short tasks.
A downside (especially for large projects) is a very large and unreadable npm scripts.
It would be great if a call like npm-run-all \"eslint src/**/*.js\" webpack would just work (where eslint is a binary and webpack a command defined in package json scripts).

Don't know if #10 is still on the roadmap but I see that Concurrently uses a prefix (npm:) for npm scripts. Then again, I can easily see this working without prefix by indexing npm script keys and an includes conditional.


Added nicer error messages on parsing failures

Fixes #4
Instead of showing all the traceback from calcite (java) -> jpype -> python we only show a single, hand-made exception now, which gives information on the parsing error and where it happened.
For the example given in the issue #4, this would now look like
Traceback (most recent call last):
  File "test_me.py", line 7, in <module>
    context.sql("SELECT * from timeseries where name=Tim")
  File "/home/nils/projects/private/dask-sql/dask_sql/context.py", line 92, in sql
    raise ParsingException(sql, str(e.message())) from from_chained_exception
dask_sql.utils.ParsingException: Can not parse the given SQL: org.apache.calcite.runtime.CalciteContextException: From line 1, column 37 to line 1, column 39: Column 'Tim' not found in any table

The problem is probably somewhere here:

        SELECT * from timeseries where name=Tim
                                            ^^^

I took the idea to show ^ indicators from clang and blazingSQL.

Codecov Report

Merging #30 into main will increase coverage by 1.26%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main      #30      +/-   ##
==========================================
+ Coverage   77.51%   78.78%   +1.26%
==========================================
  Files          25       25
  Lines         685      726      +41
==========================================
+ Hits          531      572      +41
  Misses        154      154

Impacted Files
Coverage Δ

dask_sql/context.py
100.00% <100.00%> (ø)

dask_sql/java.py
100.00% <100.00%> (ø)

dask_sql/utils.py
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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

Woot.
On Fri, Sep 11, 2020 at 2:38 AM Nils Braun<EMAIL_ADDRESS>wrote:

Merged #30 https://github.com/nils-braun/dask-sql/pull/30 into main.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/nils-braun/dask-sql/pull/30#event-3755297508, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AACKZTGQB4OF3NFKIR7EO6TSFHV3FANCNFSM4RF7IFPQ
.


deprecated default recipe does a lot more than resources

the default recipe now says its deprecated, and it says we should change to using the resources.
usually when this is the case you take a look inside the default recipe and you see one or at most a few resources from the cookbook being called, e.g. the recipe can indeed be trivially replaced by the resources.
but that doesn't seem to be the case here. the recipe is doing quite a few things outside of just using the resources. so it it not clear to me how this cookbook expects me to change from the recipe to the resources. what is the suggested path here to proceed?

All the recipe is doing is installing packages and setting up the service.
Replace with iptables_packages and iptables_service resources.


Problem with parless.asi

Hey I appreciate your mod manager so much, I think it's helpful but I have this problem that bothering me.
When I open up Yakuza0.exe with ryu mod manager installed (already follow all instructions right) it show an error "microsoft c++ assertion failed, parless.asi line 22 etc" - I've tried several  methods like uninstall all vcredist and install it again, I'm a newbie and thank you!

same

The Windows 10 (UWP/GamePass) version of the game is currently unsupported.
If you're getting the assertion failed error and you're not using the GamePass version, then your game is not updated to the latest Steam version.


Add Peek Gif recorder

Requesting a new app ✨

[✓ ] I have checked that this app does not already have a pending request and has not previously been declined.
App Name: Peek
Download URL: https://code.launchpad.net/~peek-developers/+archive/ubuntu/stable
(It is available in Debian repositories, as well as via AppImage, Flatpak and other distributions' repositories).
Website URL: https://github.com/phw/peek
App Summary: Peek - Simple animated GIF screen recorder with an easy to use interface

Peek has been one of my go-to tools for a while.
I figured since it has a PPA run by the developers it should be available via deb-get. Also figured Martin might enjoy this one.

Thanks for working on this. However, the versions of peek published in the Ubuntu archive since 20.04 are newer than the versions of peek published in the PPA, so I will not be adding this change.


'module' object has no attribute 'tzwhere'

Dear Sir/Madam,
I installed pytzwhere via:
pip install git+https://github.com/pegler/pytzwhere.git
"import tzwhere" works, but "tz = tzwhere.tzwhere()" returns the following error message:
AttributeError: 'module' object has no attribute 'tzwhere'
Thank you so much for your time and concern.
Best regards,
Iman

You are importing the module tzwhere and not the class.  And I should fix the documentation.
Try something like
from tzwhere import tzwhere

should work

@cstich, Thank you so much.

You are welcome :)

By the way, this package is awesome. It took a while for me to find it, but it is exactly what I wanted.
Actually I have a list of city and state or country names and I was trying to identify their current time.
For this purpose, I combined the following four libraries:
from pytz import timezone
from geopy import geocoders
from tzwhere import tzwhere
from pytz import timezone
and the following is an example of my code:
location = "Sackville, Canada"
g = geocoders.GoogleV3()
place, (lat, lng) = g.geocode(location)
tz = tzwhere.tzwhere()
timeZoneObj = tz.tzNameAt(lat, lng)
now_time = datetime.now(timezone(timeZoneObj))
print now_time => 2015-06-26 15:56:37.425000-03:00
Do you know any more efficient way for this purpose?
Thank you again,
Iman

Thank you.
As you are already effectively queering Google, you could just try queering Google for the timezone directly. Have a look at their API and see whether that fits your requirements.
Alternatively there is also a database of cities and their timezone - cities timezone - but I am not sure how complete the list is.

I am actually using Google Geocoder API in order to locate the coordinates of addresses, cities, states, or countries. I think this is important, because these addresses are not formatted appropriately. Some of them may include only country name and others might include city and state. After having the coordinates, it's not efficient for me to use Google Time Zone API, because it doubles the number of requests that my program sends to Google APIs using the same key, which might exceed my quota.

That makes sense and the code you posted looks very reasonable to me.
The only way and from the top of my head to speed up your code would be to parallize it. That should be pretty straightforward.

@ImanYZ this comment is just to make sure you see my edited answer from just a second ago. I am not sure how github handles edits and notifications. Better be safe than sorry.

@cstich, Thank you so much for your comment.


StakableBar setup

Last step for this is to setup checkered blue color:
https://www.magicpattern.design/tools/css-backgrounds
"rectangles" might do the trick


Added group->company functionality

Also snuck in "source":"segment" to all api requests so we can track which ones come from Segment.

lgtm!


feat: Supporting GitHubs new draft status for PRs

Github announced new draft status for PRs.
https://developer.github.com/changes/2019-02-14-draft-pull-requests/
It can be seen in action over here:
https://github.com/tannakartikey/app/pull/6
fix #164

@tannakartikey I appreciate your PR. Let me review this amazing PR in 5 days. Thanks again. :smile:

Finally, let me check how it works in my computer before merging.

@sotayamashita so, did it work as expected?

@tannakartikey I am sorry to be late. I'll do it now.

@sotayamashita thanks for the review. I have implemented the changes.

@tannakartikey Thank you for quick fix. I'll review it again.

@tannakartikey Thanks I merged.


miniupnpc: Update to version 2.2.5

No change for the files we ship, so just bumping the version number.
Upstream changelog: https://github.com/miniupnp/miniupnp/blob/miniupnpc_2_2_5/miniupnpc/Changelog.txt
But they only changed upnp.c which we don't include in our tree.

Cherry-picked for 3.6.

Cherry-picked for 4.1.2.

Cherry-picked for 3.5.4.


BIGTOP-4144: Introduce gRPC for server-agent communication

LGTM

+1

Thanks @fuxiaofengfu @MacChen01


Stream drops connection every few minutes on multiple Mac machines

Hello,
I'm trying the latest version of your software with two different Mac laptops, one running Big Sur the other Mojave. I've connected an ATEM Mini Pro ISO--I've tried running it through my regular home network, as well as directly connected to two different machines, using a self-assigned 169. address
Everything works fine for a few minutes but then without fail, the stream gets interrupted for a few seconds. My ATEM "on air" button flashes for a few seconds, and if I have the stream open in VLC, it will stop.
I've also tried using the RMTP server functionality of Livestream Studio, provided by Vimeo, and have a similar problem, so I don't know if the issue is specific to this software, but it's puzzling to me the same thing happens on multiple computers. I only have one ATEM available to test from, but I use it frequently for actual livestreams to Vimeo and it always works just fine.
Any suggestions?

Hi Zach, could you help me with the atem software? Already try but for me I have a issue that on atem software the on air button don't flash, but the local rtmp don't recognize the signal.

Sorry, I was never able to get this to work and finally gave up.

Z A C H   R O S I N G   P R O D U C T I O N S   L L C
Video, Photography & Theatrical Media Production
ph:<PHONE_NUMBER>
email:  @.*** @.***>
web:  www.zachrosing.com http://www.zachrosing.com/

On Jun 5, 2022, at 3:39 PM, Williamjsdantas @.***> wrote:
Hi Zach, could you help me with the atem software? Already try but for me I have a issue that on atem software the on air button don't flash, but the local rtmp don't recognize the signal.
—
Reply to this email directly, view it on GitHub https://github.com/sallar/mac-local-rtmp-server/issues/42#issuecomment-1146871618, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJFRUZDGOFHLAF5KS4G2R5LVNT7AVANCNFSM45XIZMCA.
You are receiving this because you authored the thread.