PDFs not thumbed correctly with latest ImageMagick

Confirmed in 6.4-QA1, and based on the code, looks to affect 6.2-QA1 and 6.3-QA4.
Using the latest ImageMagick (6.9.3-Q16) and the attached pdf, the background is black instead of the expected white. Switching to ImageMagick 6.9.1-Q16 and re-contributing the pdf generates the thumbnail as expected.
Issue Converted from original Equella JIRA

We're still experiencing this (6.5 stable). If anyone runs into it, this is something from an old support email I received:

My unconfirmed suspicion is that these pdf files were built using layers. Most programs render the bottom layer as white, then stakck subsequent layers on top of that of course. I formerly worked in graphic design, and often saw layered pdf files render black if placed in another file (like illustrator, indesign, etc) as an image without being flattened. It would seem the default settings for IM do not flatten the pdf while thumbing, and since jpgs don't support transparency, it is defaulting to black for the background. I can't imagine why the IM coders used that for the default.
I can tell you, though, that another client found the below workaround. I can't guarantee it will work or that it won't cause any problems, so you can try this at your own risk. They've reported no issues with it. It just calls the flatten function for pdf files only, which lends credence to my theory of the root cause.
They have placed a bash script in the path where EQUELLA thinks ImageMagick is located '/usr/local/bin/convert' with the contents of:
if [[ $@ == ".pdf" ]] ;
then
/usr/bin/convert -flatten $@
else
/usr/bin/convert
$@
fi

I've not tested that but we're getting tired of these black thumbnails for PDFs so I may try it out soon and report back here.

Thanks @phette23 - The hooks for oE > IM need updating.  I've created the Thumbnails/Previews label to gather the issues.
With the -flatten flag, we should consider where we'd want to inject that - install, institution, collection, or scripting level.

A note for people who want to try this: that script above is definitely not correct. It should probably be something like this:
if [[ $@ == *".pdf"* ]] ;
then
    /path/to/convert -flatten "$@"
else
    /path/to/convert "$@"
fi

but I couldn't get that work either, I get a bunch of "No such file or directory" errors in our logs probably due to some sort of problem with spaces in filenames and quoting command parameters.

This is still a major issue for us and should not be closed. I appreciate trying to manage issues but just because there hasn't been commentary or progress on something doesn't mean it's been resolved. We've had to stop showing thumbnails for PDFs in most collections, showing a generic icon, because they're all coming out blackened.


Requesting Updates to tutorial for Azure Data Explorer

Hello, Thanks for making this tutorial
The section Create the data connection for diagnostic metrics and logs and activity logs looks like its referencing an old version of the console, compression settings are not referenced in the instructions.
Additionally, I followed the steps several times, double checking my work along the way and was not able to get events to populate in my table. Did something change that's not obvious breaking these instructions? Thanks!

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

ID: 9fe49562-852d-db87-a190-8e6f267951fc
Version Independent ID: 08c75879-50de-cf95-ecac-226e93285a66
Content: Tutorial: Ingest monitoring data in Azure Data Explorer without code
Content Source: data-explorer/ingest-data-no-code.md
Service: data-explorer
GitHub Login: @orspod
Microsoft Alias: orspodek

@jaimeatwork Thanks for the feedback. We're investigating this and will get back to you shortly.

Hello
Its OK that the section is not updated as it should work with default values (its not compressed)- but we will update it.
in the section
'See data flowing to your event hubs'
do you see trafic to EH ? if yes - do you see trafic from EH?
If not - are you sure the categories you selected produce data ?

Howdy, yes, it looks like it took a while for the data to populate (maybe my source account isn't active enough or it takes longer to populate than I expected) and since I created and deleted the data connection a few times, it may have resulted in lost data, I'm not certain.
After a weekend of letting it run, I can back, was able to simulate some activity like creating and deleting a virtual machine, and I am seeing activity like I would expect.  In Azure Active Directory, these are the audit log options I have selected

I am seeing events flow through the event hub now

It looks like a lot of this was a misunderstanding on my part and not being sure what to expect when actions were completed and results didn't soon after match what I saw in the documentation. Thanks for your time.

looks like this has been resolved. @jamieatwork please feel free to reach out with any docs questions or improvements!
#please-close


mod_proxy_wstunnel is added

Don't we also need:
https://github.com/apache/infrastructure-puppet/blob/13524566d230dd9db18fdeb244fb6703d9dc214d/data/nodes/openmeetings-vm2.apache.org.yaml#L39-L41
https://github.com/apache/infrastructure-puppet/blob/13524566d230dd9db18fdeb244fb6703d9dc214d/data/nodes/openmeetings-vm2.apache.org.yaml#L73-L74
?

The PR description should probably mention INFRA-17298

@martin-g I'm not sure :( is this is required or not
Our config uses http <-> https and ws <-> wss
Will try to perform some tests on our internal server first, if I do remember correctly simple ws <-> ws proxy might work as is ...


Testing documentation

Discussed in https://github.com/spectreconsole/spectre.console/discussions/1409

Originally posted by csc530 December 22, 2023
I think there should be dedicated documentation for using the Spectre.Console.Testing classes on the main website as it's a little hidden that SpectreConsole supports testing with it. And it's not super easy looking through the source code test to figure out which classes to use and how for whatever purpose you have (as seen in #912).
Right now there is a blurb under best practices...

Unit Testing Best Practices
For testing of console output, Spectre.Console has IAnsiConsole that can be injected into your application. The Spectre.Console.Test contains a set of utilities for capturing the output for verification, either manually or via a tool such as Verify.

I think it could be featured more prominently in its own section with use cases, examples, etc.  (I'm also happy to help start/contribute to these docs too).

I made a PR that adds some pages to show the existence of the testing classes and how to use them.
Although I'm not sure how to add API documentation for the test classes to docs.
I tried adding the line "../../src/Spectre.Console.Testing/**/{!bin,!obj,!packages,!*.Tests,}/**/*.cs", to the sourceFiles setting list in the docs/Program.cs file, but it didn't seem to work.


aMax and aMin behaves differently to NumPy

Hi,
During working with xTensor, I have found several issues with aMax and aMin compared to NumPy. They share those and probably are caused by the same fact so I have included them into one issue:

Unordered axes argument is not supported

xt::xarray<double>` a = xt::ones<double>({ 3, 3, 1 });
auto max = xt::amax(a, { -2, 0 });

Exception thrown at 0x00007FFF9A0E5AC8 in vstest.executionengine.exe: Microsoft C++ exception: std::runtime_error at memory location 0x0000003793C3D088.

Numpy:
numpy.amax(numpy.ones([3, 3, 1]), (-2, 0))
array([1.])

Scalar is not supported

xt::xarray<int> a = 15;
auto result = xt::amax(a, 0);
C++ exception: std::runtime_error at memory location 0x000000384B93D518.

NumPy:
a = 15
numpy.amax(a, 0)
15

Same axis appearing multiple times in axes argument is supported

xt::xarray<double> a = xt::ones<double>({ 3, 3, 1 });
auto max = xt::amax(a, { 0, 0 });

NumPy:
numpy.amax(numpy.ones([3, 3, 1]), (0, 0))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\ProgramData\Anaconda3\lib\site-packages\numpy\core\fromnumeric.py", line 2334, in amax
    initial=initial)
  File "C:\ProgramData\Anaconda3\lib\site-packages\numpy\core\fromnumeric.py", line 83, in _wrapreduction
    return ufunc.reduce(obj, axis, dtype, out, **passkwargs)
ValueError: duplicate value in 'axis'

Usage of aMax and aMin on empty arrays is supported

auto a = xt::ones<double>({ 2, 2, 0 });

auto result = xt::amax(a);
// - inf or +inf for amin

NumPy:

numpy.amax(numpy.ones([2, 2, 0]))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\ProgramData\Anaconda3\lib\site-packages\numpy\core\fromnumeric.py", line 2334, in amax
    initial=initial)
  File "C:\ProgramData\Anaconda3\lib\site-packages\numpy\core\fromnumeric.py", line 83, in _wrapreduction
    return ufunc.reduce(obj, axis, dtype, out, **passkwargs)
ValueError: zero-size array to reduction operation maximum which has no identity

Usage of aMax and aMin with axis argument specified as empty axis is supported

auto a = xt::ones<double>({ 2, 2, 0 });

auto result = xt::amax(a, 2);

//(2,2) full of -infs

NumPy:

numpy.amin(numpy.ones([2, 2, 0]))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\ProgramData\Anaconda3\lib\site-packages\numpy\core\fromnumeric.py", line 2334, in amax
    initial=initial)
  File "C:\ProgramData\Anaconda3\lib\site-packages\numpy\core\fromnumeric.py", line 83, in _wrapreduction
    return ufunc.reduce(obj, axis, dtype, out, **passkwargs)
ValueError: zero-size array to reduction operation maximum which has no identity

amax or amin with axis argument specified to non-empty axis should work and return array with specified axis removed :

a = numpy.ones([2,2,0])
numpy.amax(a, 1)
array([], shape=(2, 0), dtype=float64)

Thanks

You can create code blocks in Github by prefixing and ending with ```, that makes issues more readable ;)

@martinRenou Thanks for the notice, did also edit my former issues.

Unordered axes argument is not supported

This is the expected behavior, as stated by the message of the exception: "Reducing axes should be sorted". The reason for that is performance consideration, sorting the axes means making a copy (and thus a dynamic allocation) of the vector of axes.

Scalar is not supported

That's definitely a bug.

Same axis appearing multiple times in axes argument is supported

That's a bug if the operation if performed twice, otherwise I think it is ok to allow many times the same axis. I need to investigate more.

Usage of aMax and aMin on empty arrays is supported

That's expected, and conformant to the mathematical definition of the min and max of an empty set.

Usage of aMax and aMin with axis argument specified as empty axis is supported

This is similar to the previous use case

amax or amin with axis argument specified to non-empty axis should work and return array with specified axis removed

This has been fixed in #1729.


Add end-to-end ImageNet

The PR includes:

A new entry, entry-100, in the catalog with attributes of the ImageNet model and data.
A new notebook demonstrating an end-to-end pipeline for the ImageNet model using scivision.
Some changes in the reader to handle the branch argument.

Note the example only use a single image from a given URL. We should think about how to get intake to ingest, and scivision to grab the model, and then pipe the two together.

and here's the binder :rocket:

This looks good, really nice work! Let's discuss before merging

@quantumjot thanks for the review. I've made all changes suggested.
There are some failing checks 🐣 , however, the Binder runs 🚀 !


Hackage docs seem outdated?

http://xmonad.org/xmonad-docs/xmonad-contrib/XMonad-Doc-Configuring.html
That seems different to (I'm assuming it's the source):
https://github.com/xmonad/xmonad-contrib/blob/master/XMonad/Doc/Configuring.hs
The github source has no reference to "defaultConfig" but the hackage page does.

docs on xmonad.org are outdated but hackage docks are still up-to-date for 0.12

I had opened a ticket regarding updating xmonad.org docs but it was suggested to repoint the docs to hackage #83

Didn't realize those docs aren't actually on hackage! They are the top results in google though.

I think the docs on xmonad.org should just be a redirect to hackage.  This is something I'll look into while we prepare for the v0.13 release.

xmonad.org was updated just after the 0.13 release.  Closing this.


Implement V3 pact spec for JVM consumer DSLs

To take advantage of the v3 pact spec can the jvm consumer dsl implement the new version.

I've added a status page so you can see what has been implemented https://github.com/DiUS/pact-jvm/wiki/Status-of-implementation-of-pact-specification-versions

3.5.0-rc.1 has been released.

3.5.0 has now been released.


OpenFST install hangs (forever?)

strange bug installing Eesen: there are 3 attempts to download OpenFST from different sources; the first 2 fail because the source http://openfst.cs.nyu.edu seems to be offline. Maybe we should specify timeouts, or reverse the order, such that the copy downloaded from openslr.org works right away. I looked up default timeouts for wget and curl which appear to be 7.5 and 5 minutes, respectively, but my Eesen build seems in fact to be taking "forever" to download openfst-1.4.1.tar.gz.
Ok, not forever :)  just took a really super long time (probably the default 12.5 minutes combined)

Just fixed by changing to http://www.openfst.org - looks like they changed the base server and the openfst.org server is likely to be more stable.  I can create a pull request if you want.

Oops, looks like this has been fixed, but the Issue was never closed:
https://github.com/srvk/eesen/commit/fa4bc292ed9f2ca6f6709fa158f53e11e494aeda

Still relevant on branch tf_clean.


TransitioningContentControl makes content look aliased

What steps will reproduce this issue?
Create a UserControl that displays big text, something like
<TextBlock FontSize="{DynamicResource HeaderFontSize}" FontFamily="{DynamicResource HeaderFontFamily}">
    Feature Demos!
</TextBlock>

Display that UserControl inside a ContentControl and inside a TransitioningContentControl.
Expected outcome
Both should look anti-aliased, but only ContentControl looks anti-aliased. The text on TransitioningContentControl looks aliased (as well as the shapes in it if you place some).
--
Environment

MahApps.Metro v1.2.4
Windows 10
Visual Studio 2015
.NET Framework 4.6.1

@AbelToy please try latest pre-release, it should be already fixed

Yep, it works in the pre-release version! Thanks!


feat: foyer storage bench support flexible writers and readers

Signed-off-by: MrCroxx<EMAIL_ADDRESS>

Codecov Report

Merging #31 (1c92bc3) into main (8388de6) will decrease coverage by 11.45%.
The diff coverage is 0.00%.

@@             Coverage Diff             @@
##             main      #31       +/-   ##
===========================================
- Coverage   52.01%   40.57%   -11.45%
===========================================
  Files          45       32       -13
  Lines        5306     3088     -2218
===========================================
- Hits         2760     1253     -1507
+ Misses       2546     1835      -711

Impacted Files
Coverage Δ

foyer-common/src/bits.rs
51.72% <ø> (ø)

foyer-common/src/code.rs
0.00% <0.00%> (ø)

foyer-common/src/lib.rs
100.00% <ø> (+97.50%)
:arrow_up:

foyer-common/src/queue.rs
0.00% <ø> (ø)

foyer-intrusive/src/core/adapter.rs
97.56% <ø> (ø)

foyer-storage-bench/src/main.rs
0.33% <0.00%> (-0.04%)
:arrow_down:

foyer-storage/src/admission.rs
0.00% <ø> (ø)

foyer-storage/src/device/io_buffer.rs
97.43% <ø> (ø)

foyer-storage/src/flusher.rs
0.00% <ø> (ø)

foyer-storage/src/indices.rs
0.00% <ø> (ø)

... and 5 more

... and 1 file with indirect coverage changes


Reward service: Recalculate growth when content is added

From reward_service created by LG1401: IT-REX-Platform/reward_service#22
Description
The growth needs to be recalculated every time a piece of content is added, edited or removed.
Acceptance Criteria

[ ] growth gets recalculated

Low prio because it is recalculated the next day anyways


Docker

Add feature as docker build
update integration test
add docker file
add docker build in azp
update docker as basing alpine

@guoger , updated "azp" logic below:
So far, use only for docker build. Ref pic below, copy from
https://docs.microsoft.com/zh-cn/azure/devops/pipelines/migrate/from-travis?view=azure-devops
The azp run unit test and docker, then running for integration test.
Either ut fails or docker build fails will stop the pipeline.


Eliminate duplicated events

@keyki  check, please!
Eliminate duplicated events and notifications, ability to create events for an entire stack and/or host groups individually.

Jenkins build finished, all tests passed.
Refer to this link for build results: http://ci.sequenceiq.com/job/cloudbreak-pull-request/781/

Jenkins build finished, all tests passed.
Refer to this link for build results: http://ci.sequenceiq.com/job/cloudbreak-pull-request/782/


K8SSAND-1604 ⁃ Medusa Remote Restore v2

v2 of the remote restore feature uses mappings computed by the operator directly instead of the prepare restore MedusaTask, allowing to restore a backup on the first startup of a CassandraDatacenter.
┆Issue is synchronized with this Jira Task by Unito
┆friendlyId: K8SSAND-1604
┆priority: Medium

We now support restores with operator computed mappings.


RFC: future of this project

tl;dr Epollcat will be upstreamed into Cats Effect / FS2. Does anyone want to use it as a standalone project (without Cats Effect)? If so, where should it live, and who will maintain it?

Firstly, I am truly pleased by how well this project has demonstrated the potential of Scala Native and its ecosystem. Major libraries such as http4s Ember, Skunk, and SNUnit all run on the Epollcat runtime, and as a result can be used together simultaneously in a single application! Big thanks to everyone involved, particularly @LeeTibbert and @lolgab 👏
Thanks to Epollcat's success, as of https://github.com/typelevel/cats-effect/pull/3314 I have begun upstreaming its codebase directly into Cats Effect and FS2. This has a number of advantages, specifically:

I/O will work in Cats Effect and FS2 out-of-the-box, without any additional configuration.
We can directly implement FS2 I/O APIs without shimming JDK NIO and its various warts.
It can be deeply integrated with the multi-threaded runtime we are developing for Scala Native 0.5.

Thus development will continue there, the Typelevel Native stack will no longer need Epollcat, and personally I will not be able to develop or maintain it further.
However, this project still has important value, as a dependency-free, pure Scala event loop for Scala Native that offers an implementation of AsynchronousSocketChannel for Linux and macOS. Is there anyone who is interested in using it standalone?
One proposal is that we remove the Cats Effect dependency from this codebase and contribute it to the scala-native-loop repository as an alternative, non-libuv-based event loop implementation.

tl;dr Epollcat will be upstreamed into Cats Effect / FS2.

This work is now complete.
https://github.com/typelevel/cats-effect/releases/tag/v3.6.0-RC1
https://github.com/typelevel/fs2/releases/tag/v3.12.0-RC1
In the near future, I will make one last release deprecating EpollApp and archive this repository.


Fix: Web examples

:scroll: Description
This fixes some issues with the web examples.
#skip-changelog
:bulb: Motivation and Context
Closes https://github.com/getsentry/sentry-dart/issues/432
Also removes workaround mentioned by https://github.com/getsentry/sentry-dart/issues/431
:green_heart: How did you test it?
I run the examples
:pencil: Checklist

[x] I reviewed submitted code
[ ] I added tests to verify changes
[ ] I updated the docs if needed
[x] All tests passing
[x] No breaking changes

:crystal_ball: Next steps

Codecov Report

Merging #436 (f916d64) into main (a1f7888) will increase coverage by 3.64%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #436      +/-   ##
==========================================
+ Coverage   89.88%   93.52%   +3.64%
==========================================
  Files          54        5      -49
  Lines        1691      170    -1521
==========================================
- Hits         1520      159    -1361
+ Misses        171       11     -160

Impacted Files
Coverage Δ

dart/lib/src/protocol/sentry_device.dart

dart/lib/src/protocol/breadcrumb.dart

dart/lib/src/sentry_exception_factory.dart

dart/lib/src/transport/encode.dart

dart/lib/src/protocol/sentry_package.dart

dart/lib/src/platform_checker.dart

dart/lib/src/throwable_mechanism.dart

dart/lib/src/protocol/sdk_version.dart

dart/lib/src/protocol/sentry_gpu.dart

dart/lib/src/isolate_error_integration.dart

... and 39 more

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 a1f7888...f916d64. Read the comment docs.


Run Tests not working

Challenge Name
No repeats please
Issue Description
Run tests are always returning failure. For example, the test case "permAlone("aabb") should return 8", my code is indeed returning the number 8 but the test case is returning failure.
Browser Information
Google Chrome Version 51.0.2704.103 m (64-bit)
Windows 10 Enterprise (64-bit)
Desktop
Your Code
var permArr = [], usedChars = [];

function permAlone(input) {
	var permutations = permute(input);
	return countNonRepeatedConsecutiveLetters(permutations);
}

function permute(input) {

	var i, ch, chars = input.split("");

	for (i = 0; i < chars.length; i++) {

		ch = chars.splice(i, 1);

		usedChars.push(ch);

		if (chars.length === 0) permArr[permArr.length] = usedChars.join("");

		permute(chars.join(""));

		chars.splice(i, 0, ch);

		usedChars.pop();

	}

	return permArr;

}

function countNonRepeatedConsecutiveLetters(arr) {

	var repeatedConsecutiveLetters = 0;

	main_loop:
	for (var i = 0; i < arr.length; i++) {

		secondary_loop:
		for (var j = 0; j < arr[i].length; j++) {
			if (j === 0) continue;
			if (arr[i][j] == arr[i][j - 1]) {
				repeatedConsecutiveLetters++;
				break secondary_loop;
			}
		}

	}

	return arr.length - repeatedConsecutiveLetters;

}

permAlone("aabb");

Screenshot

I think this problem comes from the global variables declared (permArr and usedChars). I succeeded in modifying your code and make it work both in repl.it and chrome devtools, unfortunately it hangs while testing on FCC...
function permAlone(input) {
	var permArr = [], usedChars = [];

    return (function permute(input){
        var i, ch, chars = input.split("");

    for (i = 0; i < chars.length; i++) {

        ch = chars.splice(i, 1);

        usedChars.push(ch);

        if (chars.length === 0) permArr[permArr.length] = usedChars.join("");

        permute(chars.join(""));

        chars.splice(i, 0, ch);

        usedChars.pop();

    }
	    return countNonRepeatedConsecutiveLetters(permArr);
    })(input);
}

function countNonRepeatedConsecutiveLetters(arr) {

    var repeatedConsecutiveLetters = 0;

    main_loop:
    for (var i = 0; i < arr.length; i++) {

        secondary_loop:
        for (var j = 0; j < arr[i].length; j++) {
            if (j === 0) continue;
            if (arr[i][j] == arr[i][j - 1]) {
                repeatedConsecutiveLetters++;
                break secondary_loop;
            }
        }

    }

    return arr.length - repeatedConsecutiveLetters;

}

permAlone("aabb");

Nesting the variables in PermAlone and using a IIFE function inside to allow recursivity gave me the same result.

@mizujin Yes that is correct, we haven't specified it yet but the multiple tests run on the same snippet from the editor, this leaves using global variables causing issues such as these.
So @JoaoNeto87 the error that you see is due to the fact that you have used global vars that get mutated in the previous test cases leaving you with this.
The editor also hangs because of potential infinite loop caused in the algorithm above, you can disable a built in loop protect mechanism by adding //noprotect to the top of the code, as a work around.
This relates to the similar situation in #9199

@raisedadead @mizujin Thank you, guys. Using Global Variables was really causing problems to my code. I erased then inside my permAlone function and it worked perfectly.


Flow/Constant obfuscation failing

Describe the bug
When I try to obfuscate my project, everything looks fine in the decomplimiler, but I noticed that there are too few classes, and that showed. NoClassDefFoundError: It did not find the utils package. (No Renamer, No Shuffle)
To Reproduce
Steps to reproduce the behavior.
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Bozar version
v1.5
Additional context
Add any other context about the problem here.

Do you get any errors in the console?
Which obfuscation option(s) is/are causing that issue?
Can you give me more information to reproduce that?

Hey! Here are the Screenshots:

It looks like Flow/Constant obfuscation (one of them or both) causing unprocessable frames.
But I need more information to find the cause.
I'll release an update that will produce detailed errors. Maybe we can get enough information from that.

So, I've tested a bit here, and unfortunately I can't give you more information:
The class Obfuscation does not work at all: An exception comes: TypeNotPresentException: Type Cp not present in the class: Bozar.java (130) or Controller.java (120). The Flow Obfuscation works, but the Constant Obfuscation doesn't, I hope this helps you! LG

Can you test v1.6? Hope we can get more detailed errors.

The bug is still there: The console is spammed with "Cannot process class":

Can you run Bozar with this command line to print the output to a file and send me that?
Windows (using CMD):
Bozar.exe > output.txt 2>&1

Linux (using Terminal):
Bozar.run > output.txt 2>&1

Don't forget to navigate to the Bozar path using cd <bozar_path> command first

Assuming you fixed the problem


Logic Apps MQ Connector message properties

The IBM MQ client library provides a lot of message configuration options while the Logic Apps MQ connector provides only a very small subset. See the link to IBM document here:
https://www.ibm.com/support/knowledgecenter/en/SSFKSJ_7.5.0/com.ibm.mq.ref.dev.doc/q111220_.htm
In particular, I am facing issues with the message "format" as I am unable to set it to "MQSTR" and it is failing with garbled characters on the mainframe. This was working fine when previously using the IBM .NET library.
Looking for some information on how to configure the message properties.
Thanks!

Hi @sandeep-ma Thank you for your feedback! Since this channel is for driving improvements towards MS Docs, could you provide the URL of the specific documentation that your feedback is applicable to? That way, we are able to make sure your feedback is addressed by the right team.

Hi @mike-urnun-msft, appreciate your prompt response. @KetanChawda-MSFT, FYI, I am referring to the following Azure documentation related to the MQ connector (there is only one such Azure connector):
https://docs.microsoft.com/en-us/azure/connectors/connectors-create-api-mq
https://docs.microsoft.com/en-us/connectors/mq/
Only a very small subset of the configuration options that IBM has provided in their .NET library documentation (https://www.ibm.com/support/knowledgecenter/en/SSFKSJ_7.5.0/com.ibm.mq.ref.dev.doc/q111220_.htm) have been exposed in this connector, potentially based on some POC done with a specific client who needed only those, I suspect. Or maybe there is a way in the connector to configure the rest of the properties that is not mentioned in the documentation. This is either a documentation shortcoming or this connector should be flagged as in preview, if it does not support what IBM expects it to support.
Also, I just bumped on this article below, similar to my issue, which was answered by an AI bot, and there was no resolution of the issue:
https://social.msdn.microsoft.com/Forums/en-US/b1ceac19-a941-4bf5-9a9a-3f4aa8edea20/logic-app-mq-connector-mq-message-having-junk-characters
I would expect that the documentation mention that only a small subset of the IBM documented settings are currently supported, or alternatively provide an explanation as to why Azure does not see the remaining properties as relevant or guide me on how to configure them if I am missing something.
As mentioned before,  I am facing issues with the message "format" as I am unable to set it to "MQSTR" when attempting to send a message, and it is failing with garbled characters on the IBM Mainframe. This is a very fundamental setting in MQ Series and should be available.
Furthermore, I expect it to be documented as to what are the selected (default) values in the Logic Apps connector, for the setting that are not exposed, in the Azure Documents.
Once again, really appreciate your quick response!
Thanks.

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

ID: 42e7fab4-1469-22df-2618-b6b82b09df6d
Version Independent ID: 4d8ae394-5c92-7949-db5f-99884de55c21
Content: Connect to MQ server - Azure Logic Apps
Content Source: articles/connectors/connectors-create-api-mq.md
Service: logic-apps
GitHub Login: @valthom
Microsoft Alias: valthom

@sandeep-ma Thank you for providing the document details. I have assigned this to content author to review and provide and update as appropriate.

@sandeep-ma The properties exposed in the connector are the one that have been commonly requested by customers using our other MQ features. In logic apps, the encoding used for the “Message” field is whatever logic apps decides it is Probably UTF-8. In your case it sound as through the CodeCharSetID (CCSID) may need to be set to match your message. You can try setting the CCSID field.
If you still face the issue, that will require deeper analysis so I would like you to open a technical support request. If you do not have access to a support plan, please reach out @ AzCommunity at Microsoft dot com with a link to this Issue as well as your subscription ID and we can help to get one time free support ticket opened for this issue.
We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion.

I have the same issue, I need to set the MQSTR as MessageFormat while sending the message to MQ. How come this issue is closed??. I have created a ticket with Microsoft and got the response as it is not possible to set MessageFormat and being reported as an issue and given linked to this forum. Moderator please keep this issue opened so that others are aware of the limitations of using MQ connector with ISeries or Mainframe. Infact not advisable to use MQ connector without MessageFormat Setting!!!.

@raghuram816 The Logic Apps MQ Connector does not support, and has no way of setting or using, the Message Format field.
The Logic Apps MQ Connector does not do any character set conversion. It naively grabs whatever bytes are in the message field, drops them into a JSON message, and sends it on its way.
This is known, and no changes to the product have been made to address it.
@ecfan any thought on this to add it as a note/limitation in the document?

@divyaswarnkar for advice on doc improvements.

For product feature requests, people can submit feedback at the Logic Apps UserVoice site: https://feedback.azure.com/forums/287593-logic-apps

I've created a work item to cover this issue.


Question/Feature Request - Using multiple dictionaries at the same time

Hi,
I am trying to use 5 different dictionaries at the same time but it does look it only uses 1 of them.
Is there a way to get DNStwist to user multiple dictionaries at the same time?
Would be nice to have arguments like -d1 -d2 -d3 etc for wordlists so DNStwists goes through all the permutations from them.
Or is the solution to combine all the dictionaries i use into 1 file?

I think i figured out a way to solve this in a way:
for dictionary1 in $(cat dictionary1.txt); do for dictionary2 in $(cat dictionary2.txt); do for dictionary3 in $(cat dictionary3.txt); do domain="$dictionary1-$dictionary2-$dictionary3.com"; ./dnstwist.py --format csv -d "~/dnstwist/dictionaries/your_other_dictionary.dict" -r $domain | cut -d, -f2 >> permutations.txt; done; done; donefor dictionary1 in $(cat dictionary1.txt); do for dictionary2 in $(cat dictionary2.txt); do for dictionary3 in $(cat dictionary3.txt); do domain="$dictionary1-$dictionary2-$dictionary3.com"; ./dnstwist.py --format csv -d "~/dnstwist/dictionaries/your_other_dictionary.dict" -r $domain | cut -d, -f2 >> permutations.txt; done; done; done


[UWP] StreamProvider bugs

stream from MagnetLink:
await CreateStreamAsync raise exception - Manager.Torrent.Files - null
public async Task<Stream> CreateStreamAsync (TorrentFile file, bool prebuffer, CancellationToken token)
...
            if (!Manager.Torrent.Files.Contains (file))

stream from torrent file:
System.IO.FileNotFoundException: "Could not find file {destFile}"
in
public override async Task<int> ReadAsync (byte[] buffer, int offset, int count, CancellationToken cancellationToken)
...
 Stream = new FileStream (File.FullPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);

@askovpen Did you call StreamProvider.WaitForMetadataAsync before trying to create the stream? I can add an explicit check for this and throw an exception if it hasn't been done already. The metadata can take a long time to retrieve if you're relying solely on Dht which is why I separated that out.
However i can also make the CreateStreamAsync method call WaitForMetadataAsync internally you don't have to call that yourself

Actually, now that i've refreshed my memory I don't think there's anything to be changed here.
You can't call CreateStreamAsync until after the metadata has been downloaded as that's the only way to get a TorrentFile instance. I'll add an exception which should make this clearer :)

This issue has been addressed by throwing an exception if  Files is null. This is an error case as it means an invalid ITorrentFile instance is being passed in, and also the metadata hasn't been downloaded so the actual list of files (StreamProvider.Files) hasn't been populated.
Thanks for reporting!


Folksonomy + refresh, offline, background tasks

Problem
The new Folksonomy feature implemented by @gciluffo in #5768 needs to take into account several aspects of offline mode.
For instance, being able to add a folksonomy key/value with no access to internet.
Proposed solution
Using background tasks would make sense.

@gciluffo Do you feel like working on it, or do you prefer to recover first from that intense PR?
TBH it'd be better if I work on it - but you could review the PR.

This is what needs to be implemented:

Refresh 1 product - when we refresh an OxF product, we should refresh its folksonomies, and there's an API to retrieve all of them
Refresh several products - when we refresh a list of OxF products, we should refresh all their folksonomies. Unfortunately there's no API to retrieve all folksonomies of a list of products
Store server data locally - in a dedicated SQFLite table, in order to access data even offline, and that's where we'll put the "refreshed" data mentioned above
Store transient data locally - in a dedicated Hive table. When we add/update/delete a folksonomy, we use a background task, and until it's completed we consider a transient folksonomy on top of the server values
Background tasks - for add/create/delete folksonomy operations. They start with setting the transient value, then they run the API operation if possible, then they refresh the data from the server and remove the transient data

@gciluffo Do you feel like working on it, or do you prefer to recover first from that intense PR? TBH it'd be better if I work on it - but you could review the PR.

You can take this one if you want, I can definitly help review it!


Update to PureScript v0.15.0

Description of the change
Backlinking to purescript/purescript#4244
Migrates FFI to ES modules

Checklist:

[x] Added the change to the changelog's "Unreleased" section with a reference to this PR (e.g. "- Made a change (#0000)")
[x] Linked any existing issues or proposals that this pull request should close
[ ] Updated or added relevant documentation
[ ] Added a test for the contribution (if applicable)

CI fails for now as I'm not entirely sure how we should update the FFI here.

This patch would make eslint pass and get tests to run as well.
diff --git a/.eslintrc.json b/.eslintrc.json
index 9d6a62b..d894fe7 100644
--- a/.eslintrc.json
+++ b/.eslintrc.json
@@ -1,6 +1,7 @@
 {
   "extends": "eslint:recommended",
   "parserOptions": { "ecmaVersion": 6, "sourceType": "module" },
+  "env": { "browser": "true", "node": true },
   "rules": {
     "block-scoped-var": "error",
     "consistent-return": "error",
diff --git a/packages.dhall b/packages.dhall
index 582d6d3..a7ee8b2 100644
--- a/packages.dhall
+++ b/packages.dhall
@@ -1,4 +1,5 @@
 let upstream =
       https://raw.githubusercontent.com/purescript/package-sets/prepare-0.15/src/packages.dhall
+        sha256:b7f601683fe3f760ea88f2375c2b08cfe43b98c9a4fc6d000ae8bc49ac8bfb07

 in  upstream
diff --git a/src/Affjax.js b/src/Affjax.js
index 318172a..5b011cf 100644
--- a/src/Affjax.js
+++ b/src/Affjax.js
@@ -1,6 +1,4 @@
-/* global XMLHttpRequest */
-/* global process */
-export function _ajax() {
+export function _ajax(timeoutErrorMessageIdent, requestFailedMessageIdent, mkHeader, options) {
   var platformSpecific = { };
   if (typeof module !== "undefined" && module.require && !(typeof process !== "undefined" && process.versions["electron"])) {
     // We are on node.js
@@ -39,56 +37,54 @@ export function _ajax() {
     };
   }

-  return function (timeoutErrorMessageIdent, requestFailedMessageIdent, mkHeader, options) {
-    return function (errback, callback) {
-      var xhr = platformSpecific.newXHR();
-      var fixedUrl = platformSpecific.fixupUrl(options.url, xhr);
-      xhr.open(options.method || "GET", fixedUrl, true, options.username, options.password);
-      if (options.headers) {
-        try {
-          // eslint-disable-next-line no-eq-null,eqeqeq
-          for (var i = 0, header; (header = options.headers[i]) != null; i++) {
-            xhr.setRequestHeader(header.field, header.value);
-          }
-        } catch (e) {
-          errback(e);
+  return function (errback, callback) {
+    var xhr = platformSpecific.newXHR();
+    var fixedUrl = platformSpecific.fixupUrl(options.url, xhr);
+    xhr.open(options.method || "GET", fixedUrl, true, options.username, options.password);
+    if (options.headers) {
+      try {
+        // eslint-disable-next-line no-eq-null,eqeqeq
+        for (var i = 0, header; (header = options.headers[i]) != null; i++) {
+          xhr.setRequestHeader(header.field, header.value);
         }
+      } catch (e) {
+        errback(e);
       }
-      var onerror = function (msgIdent) {
-        return function () {
-          errback(new Error(msgIdent));
-        };
+    }
+    var onerror = function (msgIdent) {
+      return function () {
+        errback(new Error(msgIdent));
       };
-      xhr.onerror = onerror(requestFailedMessageIdent);
-      xhr.ontimeout = onerror(timeoutErrorMessageIdent);
-      xhr.onload = function () {
-        callback({
-          status: xhr.status,
-          statusText: xhr.statusText,
-          headers: xhr.getAllResponseHeaders().split("\r\n")
-            .filter(function (header) {
-              return header.length > 0;
-            })
-            .map(function (header) {
-              var i = header.indexOf(":");
-              return mkHeader(header.substring(0, i))(header.substring(i + 2));
-            }),
-          body: platformSpecific.getResponse(xhr)
-        });
-      };
-      xhr.responseType = options.responseType;
-      xhr.withCredentials = options.withCredentials;
-      xhr.timeout = options.timeout;
-      xhr.send(options.content);
+    };
+    xhr.onerror = onerror(requestFailedMessageIdent);
+    xhr.ontimeout = onerror(timeoutErrorMessageIdent);
+    xhr.onload = function () {
+      callback({
+        status: xhr.status,
+        statusText: xhr.statusText,
+        headers: xhr.getAllResponseHeaders().split("\r\n")
+          .filter(function (header) {
+            return header.length > 0;
+          })
+          .map(function (header) {
+            var i = header.indexOf(":");
+            return mkHeader(header.substring(0, i))(header.substring(i + 2));
+          }),
+        body: platformSpecific.getResponse(xhr)
+      });
+    };
+    xhr.responseType = options.responseType;
+    xhr.withCredentials = options.withCredentials;
+    xhr.timeout = options.timeout;
+    xhr.send(options.content);

-      return function (error, cancelErrback, cancelCallback) {
-        try {
-          xhr.abort();
-        } catch (e) {
-          return cancelErrback(e);
-        }
-        return cancelCallback();
-      };
+    return function (error, cancelErrback, cancelCallback) {
+      try {
+        xhr.abort();
+      } catch (e) {
+        return cancelErrback(e);
+      }
+      return cancelCallback();
     };
   };
-}();
+}
\ No newline at end of file
diff --git a/test/Main.js b/test/Main.js
index 5813d41..b0bfa42 100644
--- a/test/Main.js
+++ b/test/Main.js
@@ -1,3 +1,10 @@
+import express from "express";
+import bodyParser from "body-parser";
+import { dirname } from 'path';
+import { fileURLToPath } from 'url';
+
+const __dirname = dirname(fileURLToPath(import.meta.url));
+
 export function logAny(a) {
   return function () {
     console.log(a);
@@ -6,9 +13,7 @@ export function logAny(a) {
 }

 export function startServer(errback, callback) {
-  var express = require('express');
   var app = express();
-  var bodyParser = require('body-parser');

   // Always make req.body available as a String
   app.use(bodyParser.text(function() { return true; }));

The first of the two options there - the idea behind what I said is that you only end up with the correct driver being included in the project, avoiding the need for any bundling-related workarounds.

The first of the two options there - the idea behind what I said is that you only end up with the correct driver being included in the project, avoiding the need for any bundling-related workarounds.

Ok, that works. Now how do we create new repositories? That's a gap in my knowledge.

You can just initialize a new repository with Spago, then run the contrib updater tool. Docs here:
https://github.com/purescript-contrib/governance/blob/main/updater/docs/01-Generate.md
We may need to update the template files so that CI includes purs-tidy and purescript: "unstable".

@garyb We discussed this repo's issue with ES modules in today's working group call.
Below is an example for how the code is currently written:
import Affjax as AX
import Affjax.RequestFormat as ResponseFormat

foo = do
  result1 <- AX.get ResponseFormat.json "/api/one"
  result2 <- AX.get ResponseFormat.json "/api/two"
  result3 <- AX.get ResponseFormat.json "/api/three"

Here is my understanding of Option 1. Option 1 means everyone would "consume" the affjax-core library, but have to supply the driver via affjax-web or affjax-node (or affjax-electron). If used, then everyone would need to update their code to pass a driver arg into the affjax calls. For example:
import Affjax as AX
import Affjax.Driver.Node (nodeDriver)
import Affjax.RequestFormat as ResponseFormat

foo = do
  result1 <- AX.get nodeDriver ResponseFormat.json "/api/one"
  result2 <- AX.get nodeDriver ResponseFormat.json "/api/two"
  result3 <- AX.get nodeDriver ResponseFormat.json "/api/three"

Here's my understanding of Option 2. In option 2, end-users do not "consume" the affjax-core library. Instead, they "consume" the driver libraries (e.g. affjax-node, etc.), and update their imports and aliases for modules.
- import Affjax as AX
import Affjax.RequestFormat as AXRF
+ import Affjax.Node as AXN

foo = do
  result1 <- AXN.get ResponseFormat.json "/api/one"
  result2 <- AXN.get ResponseFormat.json "/api/two"
  result3 <- AXN.get ResponseFormat.json "/api/three"

AFAIU, there isn't really a good way to make Affjax work on multiple environments while using ES modules. If my understanding between the two is correct, the second seems to entail less breakage than the first.
What are your thoughts? Since you're the primary maintainer of this library, your decision stands. Whatever it is, I'd like to work on it so we can unblock the ecosystem update.

I think both cases are much the same actually - to provide request, get, post etc. from each of the driver libraries I imagine they'd just be applying the driver defined in the library to the request, get, post, etc. functions defined in affjax-core, knocking off the driver argument.
The only downside of including these functions per-driver is that it's more stuff to keep in sync if we introduce a new function in core, and similarly we should reject changes to the per-driver libraries that aren't based on a partially-applied-re-export from core. Since affjax is basically done in terms of interface I think that's fine though, and I agree it's less breaking if people can just change one import and dependency and have things work after this change.

Also, I moved the request code out of Affjax and into Affjax.Driver. This makes the compiler errors more understandable. Rather than errors like, "could not unify type AffjaxDriver with type { .... }", one will be notified that Affjax no longer exports request, making it more obvious that one needs to use a different module.

Also, I didn't include the response field in the AffjaxDriver since both the Node and web versions implemented it via return xhr.response;.

How should the web driver's tests be run? Before this split, Node could be used to verify the web code worked properly.

Re-implementing the xhr2 driver in test code is one option, but it kinda sucks. The other would to be to do some kind of browser automated testing thing, but that's probably even worse since it takes constant maintenance to keep browser-based testing working due to browser version upgrades and corresponding webdriver version bumps.
We could just leave it without automated tests, as realistically the implementation there should be trivial, and unchanging after initial implementation, since it's just passing through the global object, and the rest of Affjax's FFI code will be exercised by the node driver tests.
I don't really think there is a perfect solution. 😕

I'll take a look at the rest of the changes here later, probably tomorrow. Thanks for sorting all this out!

I'll wait to add the packages to the registry until we know this is the direction we're going — once @garyb has had a chance to review. Thanks!

Sounds good!

This is ready for another review.

@JordanMartinez Does the README still need to be updated to clarify how to use Affjax on Node or the browser now?

@thomashoneyman Ah, yeah it does.


Is it possible to make it non-interactive

Your ohlc package is pretty cool!
However it seems that it's only possible to show interactive text chart right now.
It would be useful to maybe have a non-interactive option.

Or maybe just provide an example to use the CandleCanvas from a simple file,
this way the user can write a wrapper and implement arguments (width etc).

It should be possible. Just check grab some code from the test cases.
Run PYTHONPATH=$PWD pytest-3 -x -v -s tests/test_candle.py and you will see some non-interactive charts.

I added support for the cli tool. Use -n to print a non-interactive chart.

It works. Amazing!
Honestly you did a very nice job with this package.
I'm going to open two other minor issues though :p.


Repo overview as main page

End goal is for repo overview to be the main page, show tutorial if there are no favorites.
Resolves #3269.
Implemented parts:

the abapgit logo goes to repo overview
added main menu to repo overview
added toggle favorites filter
removed favorites bar, dropdown

Lovely... My wish list:

Add link to package with jump to se80 package tree or ADT
Add link to branch for "switch branch" popup

arguably "Toggle only favs" also not needed if sorted by default

this one i disagree with, on large systems there is a lot of noise in the repository list and you definitely want to hide it.
the repo overview will be merged with the main page as intended
maybe put toggle detail on the right and toggle favs on the left?

on large systems there is a lot of noise in the repository list and you definitely want to hide it.

OK, if you see a practical case, let it be so. I think in a long run it should become some kind of tags. But it is a separate feature for sure.

maybe put toggle detail on the right and toggle favs on the left?

No, no, commands on the different sides of a large screen ... please no :))))) I meant something like this:

      Toggle detail
      |
      Toggle fav only

span.separator {
  padding-left: 0.5em;
  padding-right: 0.5em;
  opacity: 0.25;
}

There is an annoying issue where the back button will exit abapgit instead of going home.

Remaining:

what to do with empty favorites? Disable the toggle so this can't be done?
abapgit will exit if you go home->repo->back. this is because repo is not a page, but perhaps there is a simpler solution
anything i haven't noticed

When viewing a repo, we use a check mark to toggle for example "Diffs only". Suggest we use the same here
No favs: Disable toggle
It does look weird with the header and then tutorial page. I really liked the original tutorial page, when you start AG the first time. What does it look like on your version, when you click "Help > Tutorial"?

will have a look tomorrow

minor: maybe separate JS formatting changes into a separate PR ? Would make it easier to review. Just imho, I don't insist

maybe 2: add a short cut f to focus filter from keyboard ... can be a separate feature just an idea

The only thing that makes sense in the second breadcrumb is the repo name, which is already below. But at the same time I would like the remote link to stay visible and it won't fit in the breadcrumb...

I'll start with separating the tutorial like you proposed and then i'll get to the rest of the comments.

The only thing that makes sense in the second breadcrumb is the repo name, which is already below. But at the same time I would like the remote link to stay visible and it won't fit in the breadcrumb...

Yeah. And what do you think about the first option ? Remove "+" at repo view and add "Repolist" command there ? On the one hand it is logical - repo management in one place. On the other: it makes no advantage to have "+" only in repo overview page, besides this is one of the main function of AG so should be easily accessible.
The 3rd option would look something like this

But also not ideal.

And what do you think about the first option ? Remove "+" at repo view and add "Repolist" command there

I'm starting to like this idea more and more.

Latest iteration:

I removed all the other menus from the repo page, none of the advanced functions require a repo to be open.

But I think there should actually be a generic back chevron next to the page title, like it is in the fiori shellbar.
https://experience.sap.com/fiori-design-web/shell-bar/
This would look familiar even allow for a (smaller!) abapgit logo to be on the top.

But I think there should actually be a generic back chevron next to the page title, like it is in the fiori shellbar.

Do you mean this one?

Just thinking it would look weird if you are using the default SAP GUI theme and have two back-chevrons. Like SAP just got rid of the 3 back buttons next two other and split them across the screen.

Ah, the belize theme comes back to bite me. On the other hand, maybe we want the ui to be able to work completely independent of sapgui and a back button is important.
@sbcgua thoughts?

If and when we run in a browser, then the browser has back and forward controls. No need to put our own.

On Jun 20, 2020, at 20:35, Frederik Hudák<EMAIL_ADDRESS>wrote:

Ah, the belize theme comes back to bite me. On the other hand, maybe we want the ui to be able to work completely independent of sapgui and a back button is important.
@sbcgua thoughts?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.

On the other hand, maybe we want the ui to be able to work completely independent of sapgui and a back button is important.

This is a very huge and separate topic imho because it depends on what will be the tool do display AG ... Persnally I though that UI should either go in the direction of vscode (and the the UI will be fundamentally different) or some kind of "in tray" progressive web app on chrome and react ... not sure. Needs discussion

Will check the code later today. Seems like a big change :))
In terms of look ... looks nice. Remove "+" at repo view and add "Repolist" command there - yeah, appeared to be better than expected, I also like it. I would just keep Advanced and Help at the repo page.
Logo. Once @larshp declined me to remove bottom logo. And now it's the top one :P @larshp what do you think ?
Just in case a couple of new image renders to fit the size

see also some old renders here https://github.com/sbcgua/abapgit-design. Maybe it's time to do some refresh on logo ?

Sure, there's an evolution of a brand but do we need a logo change? I like it at the top left. Without it, it could be any tool in the world.
I don't like removing the top menu (online/offline/advanced/help) on the repo view. I fear user will be "where the did xyz go?" plus it adds more steps to get to things. I rather keep this top part of abapGit identical on all pages.
While we are at it, we should address that we have two "Advanced" menus.
Suggestion:

Change title from "Repository List/Overview" to "Home"
Keep logo top left (click on logo goes home)
Replace "Advanced > Repo Overview" with "Home" as the first menu item
Move "Advanced > Settings" to new gear as last menu item
Rename "Advanced" to "Utilities" (or something else)

Result:
Home | +Online | +Offline | Utilities | Help |
[lol]
remember? I'm still undecided if mysap or sap gold ranks worst...

[/lol]

The logo is fine to keep I guess, but with a few notes:

shouldn't look ugly in the dark theme, and if we're doing a new one, I'd replace the bottom logo as well (as a separate PR before this is merged? this one is getting a bit too large)

I wouldn't make it clickable to go to docs or home, but keep the back link as it is now

Docs are accessible from tutorial and it's just not where you need to go most of the time
as @sbcgua mentioned, it is not obvious that it's a button (and everyone who tried now probably remembers not to click it because it goes to a place they don't need to go to)

it doesn't need to be so big

I don't like removing the top menu (online/offline/advanced/help) on the repo view. I fear user will be "where the did xyz go?"
Actually, technically the top menu was only accessible from one page - home and repo were one page before I split them, and home was mostly useless. Stage/diff/commit have their own menus and I think this is fine.
The double "Advanced" is why I had the idea to just get rid of all the top menu links on the repo page.

none of the top advanced functions interact with the open repo
Help is useful to have everywhere, but it's not in the other page menus either
there is no more advanced->repo overview because it is the home page now
I like renaming the global advanced to utilities to distinguish them, but i'd still keep the utilities on the home page only

Currently known issues:

standard back button leads to dump
"show last repo" function needs reworking and cleanup

Already. Sounds good.
I was already working on the logo for dark theme. I will make it svg, so we can scale it with css to the size we like.

Uff, much to comment. :) Will separate to keep subjects.
Logo
According to my measurement the height of logo that fits the current header is 29px. Render here https://github.com/sbcgua/abapgit-design/blob/master/logo/abapGit-orange-29px.png (width = 118px). But better retry in other env - I may have unusual display scale settings. The render has transparent BG so should look fine in dark as well.
SVG is not supported by IE sadly.
Separate PR ? Mmm, I don't know, the header is already changed in this PR so why not add logo change here as well. It would be incomplete without it. Imho.

I wouldn't make it clickable to go to docs or home

+1

Menu

"Repository List/Overview" vs "Home". I'd go for "Repository ". "Home" does not reflect the action essence. Especially speaking about menu command. "Repository list" is clearer. Consequently the title should be similar. Maybe it is possible to find a better word than so long "Repository list" but should clearly indicate that it would switch the overview of available repos.

"...Rename "Advanced" to "Utilities"..." +1 Or maybe change to an icon - this or this - if OK, I can add to the font quickly.

... and help could become this

I'd keep Utils and Help everywhere. Help actually should be everywhere, in all pages. I'm going to refactor page header a bit to simplify this. So can be unified later.

mmmm .........

"none of the top advanced functions interact with the open repo". Yes, but there are flows that could be natural. E.g. I have some issue with current repo, I go to data base util. Or (real case) I'm checking the code before deploy to a client, double check everything was commited and no new changes, Advanced -> Package to zip (with master lang only flag). So I'd vote to keep it everywhere.

Add online/offline. Here I'm tentative. If to keep them everywhere I'd unite them in a subgroup (Add repo and 2 subitems - online/offile). But I have a feeling that they really belong to the repo list. Actually even not the head menu ! But to the page menu (where "default" and "only favs" are). Not sure. What do you think ?

P.S. If this slows does the delivery, I'd probably suggest a separate PR for menu finetuning. Imho.

Minor

Hotkeys stopped working at repo page, pls add this somewhere in the render_content gui_services( )->get_hotkeys_ctl( )->register_hotkeys( me ).
Now when repo view is a "page" I'd rename the class (view_repo) to zcl_abapgit_gui_page_repo. But can be done separately not to mess it now.

Random tip: git has no problems with renames

As for the logo, I will just put it back and whatever version gets used will get used.

I like the idea of icons. Simple but effective.

Repositories

Overview
Add Online
Add Offline

Utilities
Help

@sbcgua any thoughts on merging this, if only minor issues remain can it be moved to a new issue?

@FreHu: do you plan to add/rollback anything in this PR ? I'd say we can merge and fix the remaining things separately and maybe in parallel.
P.S. this should also unlock merge for #3540
P.P.S @larshp from me OK to merge and go forward, but just if Frederik says he finished with the current set of changes

cool, lets await a status from @FreHu

I still have these to do:

[ ] fix show last repo
[ ] fix dump with back buttons
[ ] fix hotkeys at repo page
[ ] add back logo

The rest can be done separately, this is getting too big. Feel free to merge anything before me, I'll resolve any potential conflicts.

All done. I also rolled back the formatting. Follow-ups:

icons in main menu + add menu back to repo page
logo changes
show tutorial page if no package is installed
main page filter is not remembered if you restart abapgit - session storage is used to store it. possibly it's enough to change to local storage

quick ... :) :+1: I'll have a look today later

@FreHu @mbtools FYI, added new icons to the font for future works

I added one more commit and i don't see it appearing in the PR.

I also get this when trying to update from master:

Any idea what's going on?

Seems like some kind of outage occurred: https://www.githubstatus.com/
Can you push another (dummy) commit?


jsRemoveLink

When you add some items from the Media to your existing modele you can't remove it directly due to the wrong class name.
Switching from jsRemoveSimpleLink to jsRemoveLink

Thanks! 😄


DROOLS-1056 - test fix for mysql55

Queries in QueryDataServiceIntegrationTest failed when I tried them with MySQL5.5 database.
This changes will make them work.

+1
this indicates that mysql was running in case sensitive mode meaning same fixes needs to be added in jbpm tests for query services
^^ @ibek just so you know as we discussed about these tests recently
@sutaakar if you find some time please submit PR for 6.4.x as that will be needed anyway, thanks!

merged as part of #299


copr: separate expression signature Upper to Upper and UpperUtf8

Signed-off-by: wangwangwar<EMAIL_ADDRESS>What have you changed?
Separate expression signatuer Upper to Upper and UpperUtf8.
What is the type of the changes?
Improvement
How is the PR tested?

Unit test
Integration test

Does this PR affect documentation (docs) or should it be mentioned in the release notes?
No. It should not change the behavior.
Does this PR affect tidb-ansible?
No
Refer to a related PR or issue link (optional)
Benchmark result if necessary (optional)
Any examples? (optional)

@sre-bot /test

/merge

@wangwangwar Please fix clipp, thank you~

@andylokandy Fixed and PTAL:)

/merge


feat: add monthly snapshot policy

fix #23

@koushikgongireddy thanks for the PR. Can you plz sign CLA?

@imrannayer  I signed the CLA

@koushikgongireddy can u plz check if you signed SLA with the account you submitted the PR?

@imrannayer Yeah its the same, please check the screenshot and let me know if anything is missing

@koushikgongireddy plz check the following

@imrannayer I see 1 commit is passing and not the other and i don't the reason for that
I made both the changes in the same way. Please help in how to get this resolved!

can u submit another PR and close this one?


Not able to create table for JSON data using hive serde

I want to load below JSON data and for that I am trying to create table as below:
CREATE TABLE my_table (field1 string, field2 int, field3 string, field4 double) ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe' ;
I added below JAR files :
1) hive-json-serde.jar
2) hive-json-serde-0.2.jar
3) json-serde-1.3.6-SNAPSHOT-jar-with-dependencies.jar
4) json-serde-1.3.jar

but it gives me below error:
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. Could not initialize class org.openx.data.jsonserde.objectinspector.JsonObjectInspectorFactory
I want to load below data:
[{
"field1": "data1",
"field2": 100,
"field3": "more data1",
"field4": 123.001
}, {
"field1": "data2",
"field2": 200,
"field3": "more data2",
"field4": 123.002
}, {
"field1": "data3",
"field2": 300,
"field3": "more data3",
"field4": 123.003
}, {
"field1": "data4",
"field2": 400,
"field3": "more data4",
"field4": 123.004
}]
I referred many links from stackoverflow as well as from github but of no use. Please help me with this. Let me know where I am going wrong.

@debuggerrr please create an issue at https://github.com/rcongiu/Hive-JSON-Serde


Android example doesn't work

Hi,
Your Example project doesn't work properly, I get the following error:
ReferenceError: Can't find variable: require (line1 in the generated bundle)
Do you know why?
Additionally, I implement the tab on my own project, work very well in iOS, however, in Android I get the following error:
undefined is not an object (evaluating 'el.props.name')
The error occurred on line 29 of your index.js
Thanks for helping

Trying to get this to work too... did you find a solution?

I'm not sure if this will help you, but I fixed my issue by having more than one tab in the Tabs component.

up


feat: Introduce systemd (WIP)

Prerequisite checklist

[ ] Read the contribution guidelines regarding submitting new changes to the project;
[ ] Tested your changes against relevant architectures and platforms;
[ ] Ran make fmt on your commit series before opening this PR;
[ ] Updated relevant documentation.

Description of changes

GitHub-Closes: #1466

Hey @MdSahil-oss
Do you have an estimate for when you'll restart work on this? :pray:


fix inconsistencies between declaration and body

In Riviera-PRO 2020.04 the build fails with
#
# Compiling bitvis_vip_axi source
#
# eval vcom  -2008 -nowarn COMP96_0564 -nowarn COMP96_0048 -dbg -work bitvis_vip_axi  uvvm_test/UVVM/script/../bitvis_vip_axi/script/../src/axi_bfm_pkg.vhd
# ACOM: File: uvvm_test/UVVM/script/../bitvis_vip_axi/script/../src/axi_bfm_pkg.vhd
# ACOM: Compile Package "axi_bfm_pkg"
# ACOM: Compile Package Body "axi_bfm_pkg"
# ACOM: The currently compiled unit contains subprogram specifications with minor inconsistencies between the declaration and the body.
# ACOM: Use -relax to ignore such inconsistencies.
# ACOM: Error: COMP96_0321: uvvm_test/UVVM/bitvis_vip_axi/src/axi_bfm_pkg.vhd : (417, 29): Subprogram specification of the body must conform to the subprogram specification of the declaration.
# ACOM: Error: COMP96_0321: uvvm_test/UVVM/bitvis_vip_axi/src/axi_bfm_pkg.vhd : (446, 22): Subprogram specification of the body must conform to the subprogram specification of the declaration.

This fixes the mentioned inconsistencies and the build succeeds.

This fixes #129

This fixes #129


staking

ref with previous issue link:  https://github.com/monyxcoin/monyx-coin/issues/130
then how it is possible 10 % per month in last 58 hr i have just received 1.59 coin. how u calculate 10% staking reward ? as per calculation it should be .75%return and till now i have received 1.59 coin.  please explain in details. thank you in advance @monyxcoin

@bang121 PoS reward scales with the coin age, it's made like so because 1) otherwise the total 24m limit of coins will be depleted really fast, 2) with more and more wallets running there will be more and more possible candidates for a new PoS block, so all other possible candidates getting older and will receive bigger reward (scaled with the coin age).
That's how it's done in every coin, as for example davorcoin: https://github.com/davorcc/DavorCoin/blob/master/src/main.cpp#L1012.
You can see the algorithm here:
https://github.com/monyxcoin/monyx-coin/blob/master/src/main.cpp#L973
You can read more on how PoS works here: https://github.com/novacoin-project/novacoin/wiki/Proof-of-stake


[docs] Spacing and typography style fixes

[x] h3 font size should be 20px

[x] Spacing between h2 and h3 should be 32px

[x] h3 spacing should be 16px between body copy and 32px between alerts. Spacing should be 16px between h3 and images/example containers.

[x] Example containers should have border radius of 8px.

[x] Font size of body copy on homepage is 16px.

[x] Page headers should have 80px padding-top for large screen sizes

Heading 3 should stay at 24px.

as part of the docs migration, i added the example shortcode. most instances of the shortcode rely on the style attribute to add custom styles to a given instance.
I think that ideally, we should seek to get rid of all of those custom styles and just use a shortcode/component that looks correct in any situation.

This example shortcode has been working pretty well:
{% example palette="light",
           width=498,
           alt="Spinner with numbers pointing to parts of the element",
           src="../spinner-anatomy.svg" %}

We also need a way to pull in images without adding the border and padding, but this markdown is kind of cumbersome to add: ![Alt tag](../spinner-spacing.svg){style="--inline-img-max-width:1000px;"}

we shouldn't need the --inline-img-max-width prop, IMO, plain old images should be fine.
There are automated tools which can apply the width and height atts for us in post, e.g. https://github.com/divriots/jampack


Uncertain of required open host ports on fresh install for k8s

Issue
Having trouble setting up appropriate firewall rules for K8s nodes after a fresh calico install.
Expected Behavior
I created k8s cluster using kubeadm and then installed calico following the quickstart guide. It should immediately work.
Current Behavior
Calico node failed to start because ports 5473 and 179 were not open. I opened them and now nodes report ready. But I am not sure the overlay will work. Are there are other host ports that need to be open for calico to work?
For example, when I apply the default custom-resources, it specifies encapsulation: VXLANCrossSubnet, which I see from the docs enables VXLAN accross subnets. This would in turn require UDP 4789 between security groups. What about IP-in-IP then? How can I be sure?
EDIT: I have set up busy box on each worker node and tried to ping their IPs. Inter-node communication is broken with my current port settings even though the pods report ready. I don't want to play whack-a-mole to sort it out.
Possible Solution
The documentation in the network requirements should clearly state which ports have to be open for a fresh installation. After 30 or so minutes searching, I am still not entirely sure what the default settings are for the quick start installation. There is no bug, but the directions could be clearer.
Context
A networking expert would have no trouble reading the docs and setting this all up. But for the lay person who just want to try running k8s on their own and use calico, it is unclear what the default settings are and by extension which open ports they require.

We could probably do a bit of cleanup on that table, although it largely has the information required IMO.
I think the main thing is that it's not clear in the QuickStart (and probably other install guides as well) what modes / features are enabled


Remove all generic type arguments to the objects.named kotlin extension function from the gradle build and provided samples and snippets

Fixes #19152

@bot-gradle test this

OK, I've already triggered ReadyForMerge build for you.

@bot-gradle test and merge

Your PR is queued. See the queue page for details.

OK, I've already triggered a build for you.


Build dissector plug-in using GitHub Actions

Build result on my fork: https://github.com/arkq/matter-dissector/actions/runs/5677705596

@arkq Hi, the file had been expired, can you please provide a new one, thanks.


Kotlin Multiplatform support

Are there any plans to make Connect a KMP friendly library? Personally interested in JVM, Android and iOS targets.

There are no current plans to migrate connect-kotlin to support other platforms but it sounds like a good idea.
If you have interest, perhaps starting with a proposal of how we'd migrate to KMP would help to understand the scope of work and also the long term maintenance impacts.


linkify-element throws Invalid DOM Node type on s

Full error message: Cannot linkify [object HTMLObjectElement] - Invalid DOM Node type
Demo: https://jsfiddle.net/g6xwbtt4/1/

Issue is here. The typeof check should be removed. Fix coming soon.


can't join the discord server

Discord: https://discord.gg/Z7UVuWDn

Fixed: try this: https://discord.gg/gG7MXxS5Fd. it was set to expire in 7 days.  The new one does not expire.
@daedalus


WIP: Feature/interpolate

[x] Closes #1631
[x] Tests added / passed
[x] Passes git diff upstream/master | flake8 --diff
[x] Fully documented, including whats-new.rst for all changes and api.rst for new API

Rough draft of interpolate method for filling of arbitrary nans.
cc @darothen

@jhamman Would it be possible to have a limit option like pandas?
Quoting http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.interpolate.html
limit : int, default None.

    Maximum number of consecutive NaNs to fill. Must be greater than 0.

I suspect that a lot of the time, users want to fill in "small" gaps but not "large" ones. It is what I usually do.

@dcherian - Yes, we can do that. Just haven't gotten there yet.

This is ready for some more reviews. I'm seeing some failing tests on the py27-min build that I'm struggling to detangle at the moment but I'm pretty sure they're just pytest related.
cc @darothen - I'd particularly appreciate your thoughts on the interpolators.

@fujiisoup - care to take another pass here? I think this is done but would appreciate a few more reviews.

This looks good to me.
Thanks for the great work :)
I will merge it in this weekend if there are no further comments.

This is great! While I left some comments, I don't think any warrant changes now, as long as ppl are good with the interpolate_na name

ready to go?

Thanks for this great work!


Frontend-Backend separation support for providing multi-cluster joint management.

What would you like to be added:
Frontend-Backend separation support for providing multi-cluster joint management.
Why is this needed:
For large-scale data centers, it is unwise to deploy all nodes into one k8s cluster, so that if the cluster fails, all machines will not be able to provide services normally. However, splitting all nodes into multiple clusters will bring additional burdens to Operations management and end-users.
Without this feature, how does the current module work:
A Frontend mangas a Backend, thus forming a cluster, and a cluster maintains a user database.
Components that may involve changes:
Separate the Frontend from the cluster and provide multiple Backend access capabilities. When a user submits a job, before selecting a virtual cluster, first select a cluster, so there is no significant difference in usage from before. But for Operations management, the probability of SPOF will be reduced. Version upgrades can also be done in batches to minimize uncertainty.

@siaimes Thanks for the proposal. Is this what you need ?  We have supported job transfer among different clusters since v1.4.

@suiguoxin Thank you for your reply.
Job transfer is not what I wanted.
For clarity, I drew a sketch as an illustration.

We can provide an option that allows users to configure a frontend (a single-node cluster or a node in a cluster) and connect to the back-end of other clusters.
The benefits are as follows:

Split a large k8s cluster into multiple small k8s clusters to reduce the probability that a single point of failure will cause the entire system to become unusable (The frontend node needs high availability);
We can provide a unified user management system to reduce the pressure on Operations management;
As long as the frontend node and the master node can access each other, the deployment of large-scale clusters with nodes distributed in multiple data centers is supported;
The version upgrade can be rolled separately for each k8s cluster to ensure that the frontend is always available.

seems the Job specialization in #4801 is what you need as the protocol and backend support. However, due to some resource limits, we haven't gotten a chance to implement. Hope this can inspire your ideas.


removed inserting {site} token when ServerRelativeUrl is / resulting …

…in https:{site}{site}......sharepoint.com{site}

Hi @Pieter-Veenstra, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. Real humans will now evaluate your PR.

TTYL, MSBOT;

Hi Pieter,
thx for the good catch, appreciated.


exit code broken?

Hi,
I was trying to get my cron on ran into what I think is a typo in the guide... or maybe the code.
[steam@ark-server ~]$ cat ark_nanny.sh
/usr/local/bin/arkmanager checkupdate @valhalla >> /home/steam/ark_nanny.log 2>&1
update=$?
/usr/local/bin/arkmanager checkmodupdate @valhalla >> /home/steam/ark_nanny.log 2>&1
modupdate=$?

echo $update
echo $modupdate

Which provides the following output:
[steam@ark-server ~]$ ./ark_nanny.sh
0
1

However checking what's in the guide (README.asciidoc) the exit codes aren't matching up:
[steam@ark-server ~]$ cat ark_nanny.log
Running command 'checkupdate' for instance 'valhalla'
Current version:  2893367
Available version:  2893367
Your server is up to date!
Running command 'checkmodupdate' for instance 'valhalla'
All mods are up to date

I then went ahead and added --revstatus to both just to see, and both returned '0' and '0'.
I don't mind digging in code, but I wont be able to circle back around on this for awhile so I figured I'd document it here. PS love arkmanager, keep up the good work!

same thing here. it would be really nice to use exit codes instead of parsing the output.

I have now updated the documentation with the exit codes for checkupdate

Theres a really strange behaviour with these exit Codes:
/usr/local/bin/arkmanager checkupdate @valguero-pve >> /home/steam/test.log 2>&1
update=$?
echo ResponseCode: $? >> /home/steam/test.log
/usr/local/bin/arkmanager checkmodupdate --revstatus @valguero-pve >> /home/steam/test.log 2>&1
modupdate=$?
echo ResponseCode: $? >> /home/steam/test.log

echo ResponseCode: $update
echo ResponseCode: $modupdate

File Output in test.log:

Running command 'checkupdate' for instance 'valguero-pve'
^[7Querying Steam database for latest version...
^[8^[[JCurrent version: ^[[1;32m 4143025 ^[[0;39m
Available version: ^[[1;32m 4143025 ^[[0;39m
Your server is up to date!
ResponseCode: 0
Running command 'checkmodupdate' for instance 'valguero-pve'
All mods are up to date
ResponseCode: 0

Console Output:
ResponseCode: 1
ResponseCode: 1

I've tried multiple Options to get a different result but it always ends in the same strange behaviour!

$? gives the status of the last operation.
Setting a variable will reset the status code.
$ false
$ x=$?
$ echo $?
0
$ echo $x
1

Try:
/usr/local/bin/arkmanager checkupdate @valguero-pve >> /home/steam/test.log 2>&1
update=$?
echo ResponseCode: $update >> /home/steam/test.log
/usr/local/bin/arkmanager checkmodupdate --revstatus @valguero-pve >> /home/steam/test.log 2>&1
modupdate=$?
echo ResponseCode: $modupdate >> /home/steam/test.log

echo ResponseCode: $update
echo ResponseCode: $modupdate

Yeah that changed the strange behaviour... Now i just get the wrong response code for the status of the Servers...

Running command 'checkupdate' for instance 'valguero-pve'
^[7Querying Steam database for latest version...
^[8^[[JCurrent version: ^[[1;32m 4143025 ^[[0;39m
Available version: ^[[1;32m 4143025 ^[[0;39m
Your server is up to date!
ResponseCode: 1
Running command 'checkmodupdate' for instance 'valguero-pve'
All mods are up to date
ResponseCode: 1

Are you running as root?
If so, 40e373f should fix it.


Fix format flag (reported by go vet)

Signed-off-by: Mrunal Patel<EMAIL_ADDRESS>

@liangchenye PTAL

LGTM
(sorry for late,  just back from vacation)

@liangchenye no worries :) Thanks!


conformtomaskrawvalue-mask-config documentation

in https://github.com/text-mask/text-mask/blob/master/core/README.md#conformtomaskrawvalue-mask-config documentation:
"mask (string): the mask to which you want the string to conform."
SHOULD BE:
"mask (array): the mask to which you want the string to conform."

@ipassynk Thanks for this correction. I'm aware that that page is out of date and inaccurate.
I'm curious about what you were looking for on that page, why were you reading it?

i am working with angular 2 and use text-mask for some inputs. these inputs are dollar amount and i have limit max and min values for them. so i have to validate input and if the new value is out of range i need to get the previous value from a store, apply mask (conformToMask) and put the old masked value to dom. so i was reading this page to understand how conformToMask works together createNumberMask function. it is a little bit confusing because in all other cases mask can be function or array and  conformToMask function accepts mask ONLY as an array (but this page says a string that is even more confusing).

@ipassynk Yeah, sorry about that. That page is intentionally not maintained to minimize the general upkeep overhead of the project. I've added a bigger warning on the page that's hopefully harder to miss.
But since Text Mask seems to have stabilized for the most part, I might eventually update that page again.


PagerDuty rejects long descriptions

We're seeing this in the logs:
level=error ts=2019-04-17T09:55:59.256453054Z caller=notify.go:332 component=dispatcher msg="Error on notify" err="cancelling notify retry for \"pagerduty\" due to unrecoverable error: bad request (status code 400): {\"status\":\"invalid event\",\"message\":\"Event object is invalid\",\"errors\":[\"Description is too long (maximum is 1024 characters)\"]}"
level=error ts=2019-04-17T09:55:59.256582649Z caller=dispatch.go:177 component=dispatcher msg="Notify for alerts failed" num_alerts=7 err="cancelling notify retry for \"pagerduty\" due to unrecoverable error: bad request (status code 400): {\"status\":\"invalid event\",\"message\":\"Event object is invalid\",\"errors\":[\"Description is too long (maximum is 1024 characters)\"]}"
level=error ts=2019-04-17T10:10:59.278096687Z caller=notify.go:332 component=dispatcher msg="Error on notify" err="cancelling notify retry for \"pagerduty\" due to unrecoverable error: bad request (status code 400): {\"status\":\"invalid event\",\"message\":\"Event object is invalid\",\"errors\":[\"Description is too long (maximum is 1024 characters)\"]}"
level=error ts=2019-04-17T10:10:59.278205666Z caller=dispatch.go:177 component=dispatcher msg="Notify for alerts failed" num_alerts=7 err="cancelling notify retry for \"pagerduty\" due to unrecoverable error: bad request (status code 400): {\"status\":\"invalid event\",\"message\":\"Event object is invalid\",\"errors\":[\"Description is too long (maximum is 1024 characters)\"]}"

This is bad cuz the alert is magically dropped, we should consider truncating the description.

we've added this to other receivers, it would be great to add this to pagerduty as well.

This is already fixed (https://github.com/prometheus/alertmanager/pull/1701) but not yet released.

Closing as fixed


[source] Resource clean up of auto generated consumer groups

Consumer groups are created if not specified when a new Kafka source is created; however if the source is later deleted this automatically consumer group is not removed.
Expected behavior
Removing kafasource that had no consumer group specified should remove the auto generated consumer group

Solution 1:
0.26 (target release):

mark knative-kafka-source-*** consumer group ID as being owned by Knative and will be deleted when the source is deleted
add status.consumerGroup representing the actual consumerGroupID
add finalizer deleting the consumer group with the knative-kafka-source-* prefix

Then give time for tool implementors to use status.consumerGroup instead of spec.consumerGroup. I'm thinking 3 releases should be more than enough.
0.29 (target release):

remove setting setting spec.consumerGroup in the defaulting webhook

There is always the risk that knative-kafka-source-* is actually being used as a consumer group ID. The plan is to add  warning in the release notes
Solution 2:
Set the annotation sources.knative.dev/deleteConsumerGroup: "true"|"false" in the defaulting webhook. Easier than plan 1, but less clean
Solution 3:
Add new field in the spec deleteConsumerGroupOnDelete: "true"|"false". Easy but clutter the API.
Solution 4:
Always delete the consumer group when deleting the source.
TBH, solution 4 seems to be the way to go. I can't think of a reason why someone would want to start consuming events using an existing consumer group owned by another entity.
@cr22rc @steven0711dong @matzew @devguyio @travis-minke-sap @itsmurugappan any thoughts?

will take a look
On Wed 15. Sep 2021 at 20:17, Lionel Villard @.***>
wrote:

Solution 1:
0.26 (target release):

mark knative-kafka-source-*** consumer group ID as being owned by
Knative and will be deleted when the source is deleted
add status.consumerGroup representing the actual consumerGroupID
add finalizer deleting the consumer group with the
knative-kafka-source-* prefix

Then give time for tool implementors to use status.consumerGroup instead
of spec.consumerGroup. I'm thinking 3 releases should be more than enough.
0.29 (target release):

remove setting setting spec.consumerGroup in the defaulting webhook

There is always the risk that knative-kafka-source-* is actually being
used as a consumer group ID. The plan is to add warning in the release notes
Solution 2:
Set the annotation sources.knative.dev/deleteConsumerGroup: "true"|"false"
in the defaulting webhook. Easier than plan 1, but less clean
Solution 3:
Add new field in the spec deleteConsumerGroupOnDelete: "true"|"false".
Easy but clutter the API.
Solution 4:
Always delete the consumer group when deleting the source.
TBH, solution 4 seems to be the way to go. I can't think of a reason why
someone would want to start consuming events using an existing consumer
group owned by another entity.
@cr22rc https://github.com/cr22rc @steven0711dong
https://github.com/steven0711dong @matzew https://github.com/matzew
@devguyio https://github.com/devguyio @travis-minke-sap
https://github.com/travis-minke-sap @itsmurugappan
https://github.com/itsmurugappan any thoughts?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/knative-sandbox/eventing-kafka/issues/839#issuecomment-920265171,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABGPTT4G5DGEBACZEURAULUCDPKXANCNFSM5C5PV6BA
.

--
Sent from Gmail Mobile

If we can't think of a reason now (or in the future) why we may need to share Consumer Groups either across CRs or between a CR and some other kafka client, then I agree with option 4.

Agree with option 4.

Yep - option 4 sounds good to me.


Fix bit commands error msg

This PR makes the error message consistent with the error message in Redis when calling the bit commands.

Thank you for catching this @GoGim1

I want to complain about the PR title, which is not formal and clear enough to me.
@mapleFU You can adjust the commit message before you merge it, please do not miss the chance.

Sorry for that, I'll wait for some time before merging. You can force push to overwrite the title @PragmaTwice

It is forbidden by project settings to force push to the unstable branch.
Just be careful next time : )


Hello

I purchased this tutorial and I am enjoying it so far. I am trying to find out what are the plans for handling the update to the OAUth at google
https://developers.googleblog.com/2021/08/gsi-jsweb-deprecation.html
I would would you be able to update the guidebook as well?


Add support for random intervals

Hi!
This PR supersedes @grampajoe work on #26. I rebased master and fixed Job class repr as pointed out by @eth0izzle . Closes #89.
Any chance this gets released anytime soon?
Best,
Gilbsgilbs

@dbader Any news on this? I'd need this for one of my projects.

This is great, thanks for taking the time to finish this up! :+1:

Great job, LGTM!

@grampajoe and @gilbsgilbs: By the way, I added both of you to AUTHORS.rst. Thanks for the team work 🙂


Add Filters to Geofence Tool, Fix Search Throttling

Describe the problem
With an increasing number of new locations that contain state names, it has become impossible to search for certain states, like Tennessee, North Carolina, etc.
Also, the search throttling is annoying.
Describe the solution

Add a "Filter" to the search box that will limit the type of locations searched, such as US State, Zip Code, etc... all of the location types in SELECT * FROM location_types ORDER BY list_order;
Decrease throttling to ~100ms, and search only after stop typing

Additional context and instructions
Add any other context or screenshots about the feature request here.

Approved. Thank you.


Environment Variable %s is not set

using catalog from rancher configuring with autodiscovery with consul is not working
agent containers won't stay up
4/24/2019 3:14:51 PMHostname:<omitted>
4/24/2019 3:14:51 PMExporting host labels as host tags:
4/24/2019 3:14:51 PMEnabling Service Discovery
4/24/2019 3:14:51 PMEnvironment variable %s is not set!

Hi @dsielert thanks for reaching out. This repo is for an old agent version and we stopped development there. If you install from rancher you're likely using https://github.com/DataDog/datadog-agent
Also, could you reach out to support? We will need more details about your setup to troubleshoot this, and support will ask you about this details on a private channel.
Thanks again


SETUP_APP_VERSION in cmake files gives warning with TBB

I ran cmake on quartz on develop and got the following warning messages:
CMake Warning (dev) at CMakeLists.txt:593 (math):
Unexpected character in expression at position 2: t
Unexpected character in expression at position 3: b
Unexpected character in expression at position 4: b
Unexpected character in expression at position 9: o
Unexpected character in expression at position 10: s
Unexpected character in expression at position 11: s
Unexpected character in expression at position 19: t
Unexpected character in expression at position 20: b
Unexpected character in expression at position 21: b
Unexpected character in expression at position 28: o
Unexpected character in expression at position 29: s
Unexpected character in expression at position 30: s
Unexpected character in expression at position 37: t
Unexpected character in expression at position 38: b
Unexpected character in expression at position 39: b
Unexpected character in expression at position 41: o
Unexpected character in expression at position 42: s
Unexpected character in expression at position 43: s
from the line
SETUP_APP_VERSION(TBB tbb2018_20171205oss)
in quartz386.cmake.
Looking at the function, it looks like it expects a version number of the form major.minor.patch that is all numeric for the versions. Clearly SETUP_APP_VERSION wasn't designed for this case. We should probably not use it in this case and put a comment saying why.

That's strange. I don't see that warning when I run cmake from pascal (it uses the same config-site).
Which cmake are you running?
I agree, though, SETUP_APP_VERSION shouldn't be used in this case. It has actually started being used in ways unintended from the beginning (to distinguish between two supported versions of a TP lib).

I’m using CMake 3.14.7. I’m upgrading VTKh and VTKm and those require a later version of CMake.

Cool, newer cmake, I'm all for it. Been using 3.12 on Windows for awhile now.


[Tensor] Add subtract_i(Tensor) operator (AFTER #135)

Changes proposed in this PR:

Add subtract_i(Tensor) operator for a memcpyless operation
Lint unformated lines

Self evaluation:

Build test: [X]Passed [ ]Failed [ ]Skipped
Run test: [X]Passed [ ]Failed [ ]Skipped

Signed-off-by: Jihoon Lee<EMAIL_ADDRESS>

:memo: TAOS-CI Version: 1.4.20191203. Thank you for submitting PR #136. Please a submit 1commit/1PR (one commit per one PR) policy to get comments quickly from reviewers. Your PR must pass all verificiation processes of cibot before starting a review process from reviewers. If you are new member to join this project, please read manuals in documentation folder and wiki page. In order to monitor a progress status of your PR in more detail, visit http://nnsuite.mooo.com/.


[Suggestion] UAC Bypass

Hi dude,
I have coded an UAC bypass but I have no ideas how to integrate it ?
gtilab.com/thoxy/uac-bypass-powershell
2 option, I make a dll or I directly try to integrate it in the client.
Sorry I have no time to make it this week
PS : I have added NordVPN user.json grabber in my stealer lib and Coinomi wallet.

We realy need this.