Custom styling presets

Part 2 of M-SS-L-G-A
begins to add custom styling in the form of titles to familiarize myself with adding custom options from the config.toml

I've taken way too long to review this. My hesitancy is that it adds a lot of code for a task that can quite easily be done manually. However it is really nice that you only have to edit the config.toml to do everything. Another downside is that config.toml is already getting large.
I'd like someone else's opinion!
The only issue I could find is that repeated editing of the config.toml stying doesnt update. It only makes the first change.
One other thought is that some of the custom.css reading-writing-logging code could be squished together, though on the other hand Lloyd is trying to get me to not to over engineer @Frostsnap to save lines. But I think it could be appropriate here. Like

def insert_css_property(css_file, marker, default_value, custom_value, log_message):
    with open(css_file, "r") as f:
        style_css = f.read()

    if marker in style_css:
        logging.info("Found existing {} in style.css.".format(log_message))
        return

    custom_css_property = (
        "{}: {}; /* {} */".format(marker, custom_value, log_message)
    )

    modified_css = style_css.replace(default_value, custom_css_property)

    with open(css_file, "w") as f:
        f.write(modified_css)

    logging.info("Wrote style.css with {}.".format(log_message))

def insert_font_family_css(customCSS):
    insert_css_property(
        "static/style.css",
        "/* Custom Font Family CSS */",
        "--preset--font--family: \"Lucida Console\", \"Courier New\", monospace;",
        "--preset--font--family: {};".format(customCSS),
        "Custom Font Family CSS"
    )

...

As always, thanks for contributions. Have a think as to whether you think this is something people would prefer to use and derive value from, or whether it could cause more issues down the track. We don't hear from users much, I usually just randomly stumble upon satsale instances online and often they are already using custom css!

I also note now that this was something mentioned in https://github.com/SatSale/SatSale/issues/139,
Easily customizable for custom payment gateways - imagine you want to make SatSale match your website theme.

I don't recall what I was thinking at the time, but @kristapsk was a fan of this idea!

No worries, haven't thought about this in a long time either!

I usually just randomly stumble upon satsale instances online and often they are already using custom css!

With you bringing up the general use-case for SatSale I think I would agree with you that a user that can embed a SatSale I frame into their website can probably add some custom css into the site as they see fit, so maybe I was trying to fix the wrong issues when I went about this PR.
At the time I chose to add everything in the config.toml to try and make it possible to edit from something like a node-in-a-box instances but I'm not sure that those instances are really used beyond exploration realistically
I do think making customization as easy as possible is valuable but speaking from my own perspective now 6 months later I think I would have to agree that having everything in the config.toml isn't something I want to deal with unless I really did not understand dev at all. and would rather have some basic access to a custom.css file and a text.json for changing the copy
And yep "M-SS-L-G-A" was from that issue, "Make SatSale Look Great Again"


Merge tag 'v1.0.3' into develop

Add Image files(for Screen Shot in the unityroom.com).

Closed PR.


A temporary fix for this is to add faces (p and q) to the items in list a there (ie a/(list _[p=(wonk *fel) q=(need *wit)])), but seeing as how other existing calls to ++op work fine, this shouldn't be necessary.
An alternative fix is to make ++my:nl use lark instead of p and q, but it's working with a (pair) so it really shouldn't need to?
To reproduce, get Fang-/arvo/remaint-merge-talk, and then run in dojo:
&talk-prize [%friend ~]

Smallest reproduction case appears to be just this:
::  /gen/test-op.hoon
(op ace so):dejs-soft:format

~zod:dojo> +test-op

If this compiles, it'll spit out %one-argument %dojo-lame. But it won't, because it doesn't compile. (Until you apply one of the fixes above.) Seems this isn't exclusive to new talk's use after all?
Should note that ++op was only ever used in the old talk marks, which I haven't actually tested on remaint (since they're replaced now).

That's better but it's still not a minimal reproduction case -- you need to
tear apart ++dejs-soft.
On Tue, Oct 24, 2017 at 11:39 AM, Fang<EMAIL_ADDRESS>wrote:

Smallest reproduction case appears to be just this:
::  /gen/test-op.hoon
(op ace so):dejs-soft:format
~zod:dojo> +test-op
If this compiles, it'll spit out %one-argument %dojo-lame. But it won't,
because it doesn't compile. (Until you apply one of the fixes above.) Seems
this isn't exclusive to new talk's use after all?
Should note that ++op was only ever used in the old talk marks, which I
haven't actually tested on remaint (since they're replaced now).
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/urbit/arvo/issues/444#issuecomment-339090003, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AALyARuvm_CtlXY3r9-BdHSgZGj9ZwQuks5svi7SgaJpZM4QEdLM
.

That's true.
::  /gen/test-my.hoon
(my:nl *(list {@ @}))

Also noteworthy: with a dry gate it does compile:
::  /gen/test-my.hoon
%.  *(list {@ @})
::  the below is ++my:nl with its gate modified
|=  a/(list (pair))
=>  .(a ^+((le:nl a) a))
(~(gas by `(map _p.i.-.a _q.i.-.a)`~) a)

Wow, I could swear I'd tested this case pretty thoroughly.  Thanks!  I'll
look into it.
On Tue, Oct 24, 2017 at 12:10 PM, Fang<EMAIL_ADDRESS>wrote:

That's true.
::  /gen/test-my.hoon
(my:nl *(list {@ @}))
Also noteworthy: with a dry gate it does compile:
::  /gen/test-my.hoon
%.  *(list {@ @})
::  the below is ++my:nl with its gate modified
|=  a/(list (pair))
=>  .(a ^+((le:nl a) a))
(~(gas by (map _p.i.-.a _q.i.-.a)~) a)
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/urbit/arvo/issues/444#issuecomment-339099327, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AALyAehbeytdXjv2oWBUIywU6zh0pMiPks5svjZAgaJpZM4QEdLM
.

OK, brain fart -- this is "not a bug."  Anything that's a recursive type
can't be repainted.  You have to do (list (pair @ @)) or (list [p=@ q=@])).
On Tue, Oct 24, 2017 at 12:12 PM, Curtis Yarvin<EMAIL_ADDRESS>wrote:

Wow, I could swear I'd tested this case pretty thoroughly.  Thanks!  I'll
look into it.
On Tue, Oct 24, 2017 at 12:10 PM, Fang<EMAIL_ADDRESS>wrote:

That's true.
::  /gen/test-my.hoon
(my:nl *(list {@ @}))
Also noteworthy: with a dry gate it does compile:
::  /gen/test-my.hoon
%.  *(list {@ @})
::  the below is ++my:nl with its gate modified
|=  a/(list (pair))
=>  .(a ^+((le:nl a) a))
(~(gas by (map _p.i.-.a _q.i.-.a)~) a)
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/urbit/arvo/issues/444#issuecomment-339099327, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AALyAehbeytdXjv2oWBUIywU6zh0pMiPks5svjZAgaJpZM4QEdLM
.

So that means ++op is in the wrong here, and should be doing a/(list _[p=(wonk *fel) q=(need *wit)]) or a/(list (pair _(wonk *fel) _(need *wit)) instead? (The latter feels slightly prettier.)

Yes, you're right.  Try it! :-)
On Tue, Oct 24, 2017 at 2:52 PM, Fang<EMAIL_ADDRESS>wrote:

So that means ++op is in the wrong here, and should be doing a/(list
_[p=(wonk *fel) q=(need *wit)]) or a/(list (pair _(wonk *fel) _(need
*wit)) instead? (The latter feels slightly prettier.)
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/urbit/arvo/issues/444#issuecomment-339144553, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AALyAR_bA8EZ2V_zcQJrwVbkYEwQci5Yks5svlwvgaJpZM4QEdLM
.

++op is not exactly in the wrong there, we just need malt back.


[RTL] Adds "lang" tag to allow overriding language specific text rendering without starting a new paragraph.

Allows to control language specific glyph variants (see https://github.com/godotengine/godot/issues/80762) without starting a new paragraph.

Thanks!


Unsafe type assertion in PubSub cause panic: interface {} is []interface {}, not string

Hello, our project recently migrated to a new version of go-redis - v8 and I faced a panic from the library.
panic: interface conversion: interface {} is []interface {}, not string

goroutine 117 [running]:
github.com/go-redis/redis/v8.(*PubSub).newMessage(0xc00022a000, 0xaf1560, 0xc01fc0f9b0, 0xc00079c370, 0x0, 0x0, 0x0)
        /root/go/pkg/mod/github.com/go-redis/redis/v8@v8.11.4/pubsub.go:313 +0xbd3
github.com/go-redis/redis/v8.(*PubSub).ReceiveTimeout(0xc00022a000, 0xcbd508, 0xc0000240b8, 0x0, 0xb1e580, 0xc01181da90, 0x0, 0x0)
        /root/go/pkg/mod/github.com/go-redis/redis/v8@v8.11.4/pubsub.go:384 +0x198
github.com/go-redis/redis/v8.(*PubSub).Receive(...)
        /root/go/pkg/mod/github.com/go-redis/redis/v8@v8.11.4/pubsub.go:391
github.com/go-redis/redis/v8.(*PubSub).ReceiveMessage(0xc00022a000, 0xcbd508, 0xc0000240b8, 0x0, 0x0, 0xc00022a000)
        /root/go/pkg/mod/github.com/go-redis/redis/v8@v8.11.4/pubsub.go:399 +0x4d

Looks like issue is caused by non-safe interface convertion in go-redis/redis/pubsub.go:306
func (c *PubSub) newMessage(reply interface{}) (interface{}, error) {
	switch reply := reply.(type) {
	case string:
		return &Pong{
			Payload: reply,
		}, nil
	case []interface{}:
		switch kind := reply[0].(string); kind {
		case "subscribe", "unsubscribe", "psubscribe", "punsubscribe":
			// Can be nil in case of "unsubscribe".
			channel, _ := reply[1].(string)
			return &Subscription{
				Kind:    kind,
				Channel: channel,
				Count:   int(reply[2].(int64)),
			}, nil
		case "message":
			switch payload := reply[2].(type) {
			case string:
				return &Message{
					Channel: reply[1].(string),
					Payload: payload,
				}, nil
			case []interface{}:

...

Also I found other unsafe type assertions in other places:

command.go:1424 - readXMessage

Expected Behavior
No panics and safe type-assertion.
Current Behavior
Panic from inner PubSub.newMessage method.
Possible Solution
Add safe type assertion, like:
case "message":
switch payload := reply[2].(type) {
	case string:
+		chanName, ok := reply[1].(string)
+		// TODO: handle type assertion failure
+
		return &Message{
-			Channel: reply[1].(string),
+			Channel: chanName,
			Payload: payload,
		}, nil
	case []interface{}:
		ss := make([]string, len(payload))
		for i, s := range payload {
+			strVal, _ := s.(string)
+			ss[i] = strVal
-			ss[i] = s.(string)
		}
		return &Message{
+			// TODO: add safe type assertion
			Channel:      reply[1].(string),
			PayloadSlice: ss,
		}, nil
	default:
		return nil, fmt.Errorf("redis: unsupported pubsub message payload: %T", payload)
	}

Steps to Reproduce

Context (Environment)

Detailed Description

Possible Implementation

@monkey92t
Redis: 3.0.6
Go-Redis: v8.11.4
We're using PubSub.ReceiveMessage. Please take a look at stack trace in issue description.
pubSub := client.Subscribe(ctx, channel)
msg, err := pubSub.ReceiveMessage(ctx)
...


Missing files

Hello, thanks for the great work! I was trying to run your code but it seems that there are some missing documents like: nets_fk and ot
File "/content/Neural-McKean-Vlasov-Processes/mean_train_fk.py", line 15, in
from mf_fk import FKModule
File "/content/Neural-McKean-Vlasov-Processes/mf_fk.py", line 6, in
from nets_fk import SMLP
ModuleNotFoundError: No module named 'nets_fk'
I would highly appreciate it if you could guide me through the issue.
Thanks

Hello, we have fixed the nets_fk issue nets_fk.py is not a needed file to run the code. Also, ot is a package called POT: https://pythonot.github.io/. We have also added a requirements.txt.

Thanks


get_block_locations should work on directories

Current behavior of get_block_locations:
In [23]: hdfs.get_block_locations('/tmp/test/file')
Out[23]:
[{'hosts': ['8d2452d1af62'], 'length': 67108864, 'offset': 0},
 {'hosts': ['8d2452d1af62'], 'length': 32891136, 'offset': 67108864}]

However, if we want to read many files as in either of the following cases
In [23]: hdfs.get_block_locations('/tmp/test/file-*.csv')  # glob string
In [23]: hdfs.get_block_locations('/tmp/test/2015/')  # directory

Then we want to get both the existing information as well as the explicit filename
Out[23]:
[{'filename': '/tmp/test/file-1.csv', 'hosts': ['8d2452d1af62'], 'length': 67108864, 'offset': 0},
 {'filename': '/tmp/test/file-1.csv', 'hosts': ['8d2452d1af62'], 'length': 32891136, 'offset': 67108864},
 {'filename': '/tmp/test/file-2.csv', 'hosts': ['8d2452d1af62'], 'length': 67108864, 'offset': 0},
 {'filename': '/tmp/test/file-2.csv', 'hosts': ['8d2452d1af62'], 'length': 32891136, 'offset': 67108864}]

cc @martindurant

This would have to be two steps: get file-list (using glob), then pass each file to the current get_block_locations.

OK, can do

My solution to this within distributed/hdfs.py is as follows:
def get_block_locations(hdfs, filename):
    """ Get block locations from a filename or globstring """
    return [merge({'filename': fn}, block)
            for fn in hdfs.glob(filename)
            for block in hdfs.get_block_locations(fn)]


GoogleFonts volkhov Font Text word last letter not displaying

Describe the bug
In Flutter Web
GoogleFonts volkhov Font Text word last letter not displaying
Condition:
1)when space added in word it work perfectly but not whole word without space
2) In mobile platform working bug introduce in Flutter Web
package with version: google_fonts: ^1.1.0

Closing this since it is quite an old issue. Please reopen/open a new issue if you're still facing this issue with 2.2.0 and include:

a small code sample
the output offlutter doctor -v


Optional Settings Documentation

Proposed Changes
Change the optional_settings docs (nautobot/docs/configuration/optional-settings.md) to reflect the differences between settings for Nautobot and Django settings.
The proposal presumes breaking out Nautobot vs Django sections and additionally documenting why these specific Django settings are documented.
Justification
There is a lack of clarity on which settings are defined in Nautobot vs Django, within Django, there is not a documented reason for which configurations should be documented vs not.

Included Django settings such as ADMINS, DEBUG, HTTP_PROXIES, LOGGING
Not included Django settings such as CSRF_USE_SESSIONS

Plan is upon completion of #2029 create separated documentation as described in the proposal.


Modelling Festival Headliners

In addition to the existing fields in the Festival Structured Data templates, some festival organizations may also find it helpful to add festival headliner(s) to their structured data.
@fjjulien did some research and found a Wikidata item, headliner (Q1571829), that could be used as an additionalType to describe a performer in structured data – providing that the subclass in Wikidata is expanded to "artist" as opposed to just "performance artist" (aka visual artists who do performance art). I also found a Schema property called subjectOf that can be used to connect a Thing to a creativeWork or Event, along with its inverse property about.
This document contains three different modelling options (1.1, 1.2, 1.3) using the Wikidata URI additionalType and either subjectOf or about to connect the headlining performer to their respective festival edition/day. Do you think that any of these options in particular could be added to the Festival templates?
@saumier @christianroy

@dlh28 Your question is a tricky one and it has been on my mind for a long time...
Before I comment on your three options, I would like to deconstruct the question by proposing a different perspective on the concept of “headliner”:
Does the term (or tag) “headliner” apply to an artist (person or group) or does it apply to a performance (and, by extension, to its performer)?
A headliner is a kind of “act” – or at least it should be modelled in a similar fashion as the “opening act” or as support acts, since it only exists in opposition to these preceding acts. An act is a “thing done” or in the context of the performing arts, a part of a dramatic work meant to be performed at an event. Similarly, the French translation, « première partie », is also understood as a part of an event.
Let’s consider the pros and cons of these two modelling approaches – headliner as an artist vs headliner as a performance – from the perspective of competency questions: “What are the questions that the model needs to answer?”.
The modelling of the headliner as an artist is meant to answer a single competency question: “who will be (or who was) the main performer at an event?”
If “headliner” and “supporting acts” were used as qualifiers or additionalType for performances rather than for artists (persons or groups), would we lose any information that might otherwise have provided an answer to this question?
I don’t think so. It would still be possible to retrieve the artist information via the performance data record (and, in music, the name of the performance name is almost always the same as the name of the performer – which might explain why no one bothers making a distinction between the performance and the artist when talking/thinking about a headliner). If the data was flattened and/or simplified and rendered as text, “CityFolk 2023: has headliner: The Arkells” would be the outcome, either way.
If “headliner” and “supporting acts” were used as qualifiers or additionalType for performances rather than for artists (persons or groups), would we gain any information that might provide answers to additional competency questions?
If the headliner type is associated with a performance, we can still answer the question “who will be (or who was) the main performer at an event?” AND we can address additional competency questions:

“On what day will headliner X be performing?”
“At what time does headliner X’s set begin?”
“Will there be any guest performers alongside the headliner?”
“Is this a ticketed event?”
“How much does a day pass cost?”

If we want the modelling to answer as many competency questions as possible, it may be useful to shift the perspective and to consider “headliner“ as a qualifier for a performance rather than an artist.

I would hesitate to use the word “headliner” specifically to designate a performance, because it doesn’t make logical sense in English. The -er suffix denotes an actor or agent and a performance cannot be an actor or agent. In this case, it would be more accurate to say “headlining performance”.
“Opening act”, however, could logically refer to a performance. If we wanted to proceed in this direction, I would strongly encourage ditching the word “headliner” altogether.

I would hesitate to use the word “headliner” specifically to designate a performance, because it doesn’t make logical sense in English.

The primary function of conceptual modelling is not so much to represent information from a linguistic standpoint, but to represent information in relation to specific use cases in a given domain. How the concept is labelled – "headliner", "headliner act", "headlining performance" or "featured performance" – doesn't matter quite as much as how the concept is defined and modelled – and the capacity of this modelling to answer competency questions related to the use cases. This being said, I fully appreciate the importance of choosing the right name for a concept when comes the time to communicate a modelling strategy to potential adopters.
At present, my mind isn't set on any particular modelling strategy. I'm only attempting to tackle the question from a different angle, to broaden the range of options. I'm sorry if that is unsettling.

I would now like to comment on specific parts of your modelling options.
"performer":{
    "additionalType":"http://www.wikidata.org/entity/Q1571829",
    }

This additionalType is only TRUE in relation to a given event. If an artist entity was extracted from a festival event and minted an Artsdata ID, we wouldn’t want to import this additionalType in Artsdata, as it would not be meaningful or useful for data consumers.
In other words, “headliner” is not a defining characteristic of the artist entity itself. It is rather a ‘role’ in relation to an event.
Do I have any alternative suggestions? Not really.
It would be possible to represent “headliner” as a schema:role type. However, this would require intricate nesting of entities, which would represent an obstacle to adoption. I can try to code it, if you would like to visualize what it could look like.

Option 3
  "http://purl.org/ontology/mo/headliner":[{--some nested foaf:agent–"}],

This is a very simple and conceptually correct modelling strategy. The fact that the word “headliner” appears in the URI would make this code meaningful to anyone. Simplicity and meaningfulness would help with adoption.
In addition, I could see this modelling be used at the initial announcement of a festival edition, before performance start times are confirmed.
I would recommend that the headliner be represented as a nested entity, rather than just as a text string.

I would hesitate to use the word “headliner” specifically to designate a performance, because it doesn’t make logical sense in English.

The primary function of conceptual modelling is not so much to represent information from a linguistic standpoint, but to represent information in relation to specific use cases in a given domain. How the concept is labelled – "headliner", "headliner act", "headlining performance" or "featured performance" – doesn't matter quite as much as how the concept is defined and modelled – and the capacity of this modelling to answer competency questions related to the use cases. This being said, I fully appreciate the importance of choosing the right name for a concept when comes the time to communicate a modelling strategy to potential adopters.
At present, my mind isn't set on any particular modelling strategy. I'm only attempting to tackle the question from a different angle, to broaden the range of options. I'm sorry if that is unsettling.

Why would this be "unsettling"? I was merely pointing out the potential implications of using an English label that doesn't logically make sense for the definition/core concept we would be aiming for if we chose to focus on performances rather than artists. I didn't mean to imply that you had made up your mind (hence why I said, "if we wanted to proceed in this direction"). I'm sorry if that was unclear in my response

I would now like to comment on specific parts of your modelling options.
"performer":{
    "additionalType":"http://www.wikidata.org/entity/Q1571829",
    }

This additionalType is only TRUE in relation to a given event. If an artist entity was extracted from a festival event and minted an Artsdata ID, we wouldn’t want to import this additionalType in Artsdata, as it would not be meaningful or useful for data consumers.
In other words, “headliner” is not a defining characteristic of the artist entity itself. It is rather a ‘role’ in relation to an event.
Do I have any alternative suggestions? Not really.
It would be possible to represent “headliner” as a schema:role type. However, this would require intricate nesting of entities, which would represent an obstacle to adoption. I can try to code it, if you would like to visualize what it could look like.

Good point

Option 3
  "http://purl.org/ontology/mo/headliner":[{--some nested foaf:agent--}],

This is a very simple and conceptually correct modelling strategy. The fact that the word “headliner” appears in the URI would make this code meaningful to anyone. Simplicity and meaningfulness would help with adoption.
In addition, I could see this modelling be used at the initial announcement of a festival edition, before performance start times are confirmed.
I would recommend that the headliner be represented as a nested entity, rather than just as a text string.

I believe this was one of your initial modelling strategies, as I'm not familiar with it (I only expanded Option 1). I will defer to the rest of the group if this makes the most conceptual sense.


Additional changes needed to support specific ad networks?

Hello,
I was wondering if I needed specific changes in my Andriod.xml to support specific ad networks. (I am relatively new to react native). This is what I am seeing-

Create a ad unit on MobPub
Test it on MoPub sample app and make sure ad shows up for ad unit created in step # 1
Try the same ad unit in my own app and I get "No ads found"
I have tried the above for both Google Admob and Facebook audience and the exact same thing happened.
I confirmed the test ad units work on my own app, so am confident basic integration is in place.

Any pointers, particularly in reference to Google admob or facebook will be very helpful!

I'm having an issue when using load() function to load interstitial ad. Are you having the same problem?


DB Archieval Job

Hi Prafull,
I worked on the archival logic for Panchayat_tbl, please find the below 2 objects.
Panchayat_tbl_history => This is created to store the history data of Panchayat
Panchayat_Archive_sp=> Handle the archival logic to get the data based on date condition from Panchayat_tbl and load in Panchayat_tbl_history table.

will create new


Don't display falsey values

What do you think about having an option whereby you can not have the fields displayed if they have no value? That would be useful in the code I'm writing. I could use a helper of course but just wanted to float the idea for being built into the module, thanks.

Hm... I'm concerned that its a minor change with very little value-add for users, that may trip people up who are already using the module in the designed way... Suggest you filter empty fields out on your side.

No problem figured I'd mention it, thanks for the module!


Refactor campaign consent handle

Codecov Report

Merging #11 (2228cea) into main (0974f6f) will decrease coverage by 0.00%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main      #11      +/-   ##
==========================================
- Coverage   95.71%   95.71%   -0.01%
==========================================
  Files          74       74
  Lines        4736     4732       -4
  Branches      291      290       -1
==========================================
- Hits         4533     4529       -4
- Misses         55       57       +2
+ Partials      148      146       -2

Impacted Files
Coverage Δ

Flagship.Tests/Decision/ApiManagerTests.cs
96.40% <100.00%> (ø)

Flagship.Tests/Decision/BucketingManagerTests.cs
96.08% <100.00%> (ø)

Flagship/Decision/ApiManager.cs
91.42% <100.00%> (+1.95%)
:arrow_up:

Flagship/Decision/BucketingManager.cs
93.39% <0.00%> (-0.32%)
:arrow_down:

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


LogOutputChannel Logs Stored in Different Location than OutputChannel Logs

Does this issue occur when all extensions are disabled?: Yes

VS Code Version: 1.95
OS Version: Linux x64 5.15.0-125-generic

Assuming my extension (id="my.extension.id") contributes with 1 OutputChannel and 1 LogOutputChannel:
vscode.window.createOutputChannel("Simple Output Channel");
vscode.window.createOutputChannel("Log Output Channel", {log: true});

These logs will be stored at different locations:
$HOME/.config/Code/logs/<id>/window<N>/exthost/my.extension.id/* # Log Output Channel storage
$HOME/.config/Code/logs/<id>/window<N>/exthost/output_logging_<id>/* # Simple Output Channel storage

I am expecting all the Output Channels contributed by an extension to have their associated logs stored under the same directory, ideally:
$HOME/.config/Code/logs/<id>/window<N>/exthost/my.extension.id/*

Is there any reason for the 2 different storage directories?

My bad, Ive used VS Code 1.95.3 and its still reproducible

This is an implementation detail that where these files are stored and it is always subject to change.


Fix build definition for sbt 0.13.8

Without the braces, sbt 0.13.8 chockes on the build definition:
[error] [/Users/luc/scala/scala-stm/build.sbt]:46: ';' expected but 'true' found.
Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore? lucmac:scala-stm luc$

cc @jsuereth @eed3si9n

Yea. This is a known issue sbt/sbt#1666.

I created #1925. I modified two files. The problem is that on Travis sbt with version 0.13.8 is used to verify the tests. But we need sbt with just compiled version again scala 2.10.5. See failed Travis builds for mogę details.


Feature - TRSV2-597 - Caseworker ROI approval merge process

Codecov Report
Patch coverage: 2.77% and project coverage change: -0.18 :warning:

Comparison is base (9d79230) 36.52% compared to head (c8fe670) 36.35%.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop     #260      +/-   ##
===========================================
- Coverage    36.52%   36.35%   -0.18%
===========================================
  Files          103      103
  Lines         4249     4269      +20
  Branches       726      735       +9
===========================================
  Hits          1552     1552
- Misses        2697     2717      +20

Impacted Files
Coverage Δ

trade_remedies_caseworker/cases/views.py
20.29% <0.00%> (-0.06%)
:arrow_down:

trade_remedies_caseworker/organisations/urls.py
100.00% <ø> (ø)

...rker/organisations/v2/views/merge_organisations.py
21.56% <3.22%> (-1.37%)
:arrow_down:

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


Add Modin support for large datasets

As a user, I wish I could use Woodwork to with Modin (Ray backend), to work with large datasets.
https://modin.readthedocs.io/en/latest/
Modin just replaces the pandas import, and should allow for the same operations as pandas

Modin does not currently support custom accessors. Created a feature request

https://github.com/modin-project/modin/issues/3044


Add resolution for IDP

Fixes https://github.com/dyrector-io/dyrectorio/issues/318

Aha! "Internal Developer Platform".

Could you please rename your PR title according to the Conventional commits? After it, we can merge it. Thanks for your contribution.


Bump Equinix Terraform Provider to v2.6.0

Release notes at https://github.com/equinix/terraform-provider-equinix/releases/tag/v2.6.0

Will do this after https://github.com/rancherlabs/terraform-harvester-equinix/pull/102 is merged to avoid conflicts

We have https://github.com/equinix/terraform-provider-equinix/releases/tag/v2.8.0 released. Should we do that?

Yes, let's go with latest. I'll update the GH title.

and now latest is 2.9.0...

updating issue for 2.10.0


[PE-D][Tester B] applicant_status is not recognised on invalid input

As seen by the image above, a potential improvement can be done when a user inputs an invalid applicant_status command without prefixes then the command is not recognised.
This case can be addressed to ensure that the applicant_status behaves as described in the UG.

Labels: severity.Medium type.FunctionalityBug
original: YuvBindal/ped#1

duplicate


Synchronize more than 2 Time-Series

Hi,
with the following code there is possible to synchronize two time series (x and y).
import numpy as np
from scipy.spatial.distance import euclidean
from fastdtw import fastdtw

x = np.array([[1,1], [2,2], [3,3], [4,4], [5,5]])
y = np.array([[2,2], [3,3], [4,4]])
distance, path = fastdtw(x, y, dist=euclidean)

Is there any way how to synchronize more than two time series?
I tried to:
distance, path = fastdtw(x, y, z, dist=euclidean)
but only size-1 arrays can be converted to Python scalars.

Solution found.


Removed the excess source.ruby scope from interpolation end brackets

Before:

After:

Sorry this sat here so long! I just published it, you should see v0.1.0 available now.


Implemented metrics for LoadBasedPartitionAssignmentStrategy

Implemented the following metrics for LoadBasedPartitionAssignmentStrategy:

Minimum partitions across tasks (per datastream)
Maximum partitions across tasks (per datastream)
Throughput information fetch rate

Important: DO NOT REPORT SECURITY ISSUES DIRECTLY ON GITHUB.
For reporting security issues and contributing security fixes,
please, email<EMAIL_ADDRESS>instead, as described in
the contribution guidelines.
Please, take a minute to review the contribution guidelines at:
https://github.com/linkedin/Brooklin/blob/master/CONTRIBUTING.md

Also, in the case when a datastream is deleted, how would this work? Since we are never deleting the record for a datastream from the _partitionAssignmentStatsMap.

talked with jhora offline and he said, "on datastream delete/stop, the metric gets unregistered i.e. the values for deleted/stopped metrics don’t get accessed and emitted"


WebView content disappears when the window is docked

Despite images in Readme show docked windows with content, in practice when the window is docked its webview content disappears forever (undocking does not return it back). Tested in Unity 2018.4.13

I'm experiencing the same issue.

Yes, I tested this nice code on Unity 2019 and it has an issue when you dock the window. The webview seems to disappear.
The problem is that the webview still exists and is fully working, but seems to lose the right position inside the Unity interface, so it is located outside the Editor Window.
I tried to resolve this issue by myself, but I don't know how to force the webview to be correctly displayed.

Wow, thanks @studiostart !
Unfortunately Unity removed WebView from 2020, so now I'm not sure it's reasonable to use it.

Oh, you're right! They removed the webview (and so, also the Asset Store tab) from Unity. What a pity!!!


Info: Reducing costs for Blazor Admin UI for current App Service plan setup

Hi,
Currently, during the automated Azure resource deployment an App Service Plan in the Production workload (Plan B1) is created which costs approx. 50$ per month. One of the B1 pricing plan feature is the "always on".
As long as it's not used in a productive environment and doesn't need to be on 24x7 and as this is "only" for the Admin UI I changed the App Service Plan to the Dev/Test workload and used the F1 pricing tier which includes 60min computing power per DAY. Should be more than enough for the Admin UI to create new URLs. With that it costs also just a few cents per day until the new TinyBlazorAdmin  is ready 🥳

Yeah, F1 doesn't allow custom domains to call the Blazor Admin UI directly - so I'm using an own ShortURL 😎 and there I configured a custom domain.
Maybe this could go into documentation or otherwise just as info and can be ignored.

Yes now that Blazor web assembly is GA and Staticweb App (SWA) is out... this is where https://github.com/FBoucher/TinyBlazorAdmin will shine :)

Quick update to mention the TinyBlazorAdmin interface is mostly done. 🎉
The thing left is to make it easy to deploy and integrated it smoothly with this project.

It's finally done! Version 2.0 it's super budget-friendly... mostly free!


k_uptime_get_32() does not behave as documented

It was recently pointed out on slack that k_uptime_get_32() does not return The lower 32-bits of the elapsed time since the system booted, in milliseconds.
It returns instead the number of milliseconds corresponding to the low 32 bits of the tick counter.
u32_t z_impl_k_uptime_get_32(void)
{
        return __ticks_to_ms(z_tick_get_32());
}

The values are significantly different when you look at a 32-bit rollover of the tick clock:
At 10000 Hz ticks and 2^32 +/- 50:
t0 = 0x0000ffffffce =<PHONE_NUMBER> ticks => t0m = 429496724 ms
t1 = 0x000100000032 =<PHONE_NUMBER> ticks => t1m = 429496734 ms
t1-t0 = 100 ticks = 10 ms
and t1m-t0m = 10 ms
tt0 = 0x0000ffffffce =<PHONE_NUMBER> ticks => tt0m = 429496724 ms
tt1 = 0x000000000032 = 50 ticks => tt1m = 5 ms
tt1-tt0 = 100 ticks = 10 ms
but tt1m-tt1m =<PHONE_NUMBER> ms

This explains https://github.com/zephyrproject-rtos/zephyr/pull/17155#discussion_r309013463 which had claimed that the current implementation followed an algorithm that I noted was incorrect.  Apparently it does.

Doesn't #17155 already fix this, though? The resolution to that discussion was that the 32 bit conversion results should be correct to the full precision of the output word, and that's what the new conversion utilities implement and test for.

@pabigot might want to weigh in, but I think the reason for this is the fact that we can get a fix in time for 2.0, whereas #17155 will only be merged in time for 2.1.

@pabigot we've had this issue for a few releases now, so that might be why there was no vote. Just not deemed urgent enough given the amount of time this has been in the tree.

@pabigot that's a very good point.
That said, I am afraid it's just too late now for code changes for 2.0. Is there a chance you can instead send a PR that updates the documentation of k_uptime_get_32()?

@carlescufi @ioannisg OK, there's now  #18771 for this, intended for 2.0 merge as a "documentation fix".
It's a fine line between documenting the serious problems with this API to suggest people not to use it, while it's still used for many timeout operations within the kernel.
BTW: Accepting this for 2.0 probably implies deprecating the function in 2.1, since we don't want the behavior of an API function to change multiple times in successive releases.


Update launch-process contains function so the script does not exit

The launch-process script uses the set -e flag which tells bash to exit
if a command returns non-zero; In the case when the "contains"
function returned "1", (meaning that arg 1 contains arg 2 somewhere within
it), the script would exit.
This means that any users which set values through alluxio-env.sh could
possibly have their processes fail to start if setting things like Xmx
and MetaspaceSize that are checked in either the master or workers.
To remediate this issue the contains function was modified to
instead, echo "1" or "0". Callers then simply have to call the
function in a subshell and use the result in their conditional
checks. This approach offers a better and more consistent usage
with the rest of our scripts.
Fixes #9740

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/5130/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/5133/
Test PASSed.

@gpang Tested with the most recent update and everything seems to work.
I found that with echo, a newline was appended to the output, which bash did not like when parsing the ${res} values in the conditional. I could have used echo's -n option, but I've opted for printf which is an arguably more portable and safer alternative to echo as it does not rely on arguments which aren't in the UNIX specification

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/5165/
Test PASSed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/5171/
Test FAILed.

Jenkins, test this please

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/5172/
Test PASSed.

alluxio-bot, merge this please


Add support for resource-level JIT access

This is half question, half suggestion, but it doesn't look like this supports IAM bindings below project in the hierarchy (right?).  In our case, we'd like to add JIT access to individual GCS buckets, but after entering the appropriate project in step 1 of the request workflow, the roles that are returned don't include the bucket-level bindings.  Would it be possible to add support for individual resources (if it doesn't already exist)?

It it doesn't look like this supports IAM bindings below project in the hierarchy

Yes, that's correct. Unfortunately, adding support for resource-level bindings is challenging, primarily for two reasons:

To list eligible role bindings, JIT Access would have to analyze the IAM policies of all resources within a project. The Asset API (which JIT Access uses) does support this, but it quickly becomes inefficient as the number of resources grow and for large projects, it's not possible to perform this kind of analysis "in real time" anymore, leading to truncated results.
There's no single API for modifying resource-level IAM policies. For ex, to modify the policy of a VM instance, JIT Access would have to use the Compute Engine API, for a Cloud Storae bucket, the Storage API, etc.

What might be possible is adding support for IAM conditions like has({}.jitAccessConstraint) && resource.type == "storage.googleapis.com/Object" && resource.name.startsWith("projects/_/buckets/exampleco-site-assets/"). This wouldn't work for all resource types however.

Fair enough, thanks for the suggested workaround @jpassing!

@jpassing , I was just testing this out a bit myself after some of our users experienced issues.  It doesn't look like the tool presents eligible roles with both the has({}.jitAccessConstraint) condition and additional resource conditions (e.g.,  resource.name like you gave in your example).  It also doesn't seem to present roles with a time condition.

I'm sorry, I guess my previous comment was a bit misleading. Currently, JIT Access doesn't let you "combine" IAM conditions.
What I meant to say in my previous comment that it would be possible to add support for those kinds of conditions, but that would be a new feature.

Thanks for clarifying, @jpassing.  We'd certainly appreciate that feature.

@jpassing I was about to create a new issue, when I stumbled with your previous answer.
Besides changing the constraints in JitConstraints.java, what other source file would you suggest to update? This feature is critical for restricting access to specific secrets in GSM based on resources tags and names, so I could put together a PR for it :smile:

Yes, we'd need to relax the RegEx in JitConstraints. But that's not quite sufficient yet:

If there is an additional clause in the IAM condition of an eligible role binding (for ex, resource.name.startsWith("projects/_/buckets/exampleco-site-assets/") and a user activates that role binding, then we need to "copy" this clause into the temporary role binding.

Currently, JIT Access considers the tuple (role, resource, status) (where status is JIT or MPA) to be unique (see ProjectRole). It's possible that a user is granted the same role multiple times (for ex, once on the project and then again on the parent folder), but in that case the two role bindings are equivalent, and there's no need for JIT Access to distinguish between those 2 bindings.
This changes once we allow the IAM condition to contain additional clauses: Now we can grant a user the same role multiple times, but with sightly different clauses. For ex, we could create two role bindings for  roles/storage.objectViewer, each with a different condition:

has({}.jitAccessConstraint) && resource.name.startsWith("projects/_/buckets/FOO/")
has({}.jitAccessConstraint) && resource.name.startsWith("projects/_/buckets/BAR/")

These two role bindings aren't equivalent anymore and we'd need to make sure that:

The two roles are both surfaced in the UI, somehow indicating that they have a different condition and thus apply to different resources.
Depending on which one the user decides to activate, we need to use the right clause and add it to the temporary binding.
In case of multi-party approval, we also need to surface the condition to the reviewer, because it might impact their decision.

So the required changes are quite significant, unfortunately.
There is one other thing I'm a bit worried about: Because we're currently not allowing any complex IAM conditions (i.e., conditions that involve multiple clauses), it's sufficient for  JitConstraints to parse the condition with a RegEx. But evaluating the IAM condition becomes more tricky once we allow additional clauses: For example, someone might use a condition like (has({}.jitAccessConstraint) ||  has({}.multiPartyApprovalConstraint) or has({}.multiPartyApprovalConstraint) || resource.name=='...'. It's not clear what the semantics of such conditions would be and, more critically, it'll be difficult to evaluate such complex conditions with a RegEx-based approach.

@jpassing since #87 has been overlooked for the past releases, I will proceed to close it. Nevertheless, I do still believe that there is a need for more fine-grained control over the roles which the users can request a temporary binding to, thus, this issue will remain open.

This feature is now available as resource conditions in release 1.8.
Thank you @rialg for your contributions, and my apologies that it took so long.


Neogeo-menu is broken on multicart MVS

When running neogeo-menu on a multicart (2 slot) MVS PCB, an illegal instruction is thrown every time a game is selected.
The address and most registers are the same.  Pressing "C" causes the error to go away and game plays.
If you put the 161-in-1 into slot 1, and a regular game into slot 2, after you press C, the selected 161-in-1 game loads
If you put the 161-in-1 into slot 2, and a regular game into slot 1, after you press C, the MVS game in slot 1 loads

Can you confirm that this only happens with this menu and not the stock menu on the same 161-in-1 Multicart? Did you also substitute the CP1 CPLD configuration from the VTXCart project or just the menu itself? I suspect that the CPLD is responding when it shouldn't. Might not be possible to fix because SLOTCS is not connected on the 161-in-1 carts.

This doesn't happen with the stock 161-in-1 which has been in this arcade machine for months. VTXCart wouldn't even work if you don't reprogram all 3 FPGA's on the cart.  This cart works perfectly in 1 slot MVS.  The same code works perfectly on a  modified AES 161-in-1 cart on an AES.
I did not try the VTXCart project menu which gets modified by the generator. I ordered another MVS donor to test this and it finally got here. I'm almost done building another cart with the stock menu to confirm that it's the menu code and not something with the CPLD code on VTXCart.


support keep and custom input folder structure

Hi, so change here to support keep and custom input folder structure
// line 14 to 22
let dest = output ? path.join(output, path.basename(input)) : input;

if (opts.replaceOutputDir) {
	if (typeof opts.replaceOutputDir === 'function') {
		dest = opts.replaceOutputDir.call(null, dest);
	} else {
		throw new TypeError('The replaceOutputDir option should be an `Function`');
	}
}

We welcome a way to preserve folder structure, but it should be more thought out than this, and it should be well tested and documented.


How to review code - updated link

updated link about how to manage third party software dependencies

@katstevens the guidance is now up on the site, but I noticed one of the links needed updating. If you could review this for me I can merge the change in.
Thanks.


Update summary to handle being embeded within a question page

Will resolve #359

 Summary borders incorrect summary is on a question page


Refactor uniform bind groups to follow best practices

https://github.com/gfx-rs/wgpu/wiki/Do's-and-Dont's#do-group-resource-bindings-by-the-change-frequency-start-from-the-lowest

done in 6191136a56b9c7beb78b1d73e26dca347567460b


skipgram tutorial using gluon/mxnet interface

Description
This is a simple tutorial describing how to implement word2vec skipgram model using mxnet/gluon interface.
followed the below tutorial template
https://github.com/apache/incubator-mxnet/blob/master/example/MXNetTutorialTemplate.ipynb
Checklist
Essentials

[ ] Passed code style checking (make lint)
[x] Changes are complete (i.e. I finished coding on this PR)
[ ] All changes have test coverage:
Unit tests are added for small changes to verify correctness (e.g. adding a new operator)
Nightly tests are added for complicated/long-running ones (e.g. changing distributed kvstore)
Build tests will be added for build configuration changes (e.g. adding a new build option with NCCL)
[x] Code is well-documented:
For user-facing API changes, API doc string has been updated.
For new C++ functions in header files, their functionalities and arguments are documented.
For new examples, README.md is added to explain the what the example does, the source of the dataset, expected performance on test set and reference to the original paper if applicable
[x] To the my best knowledge, examples are either not affected by this change, or have been fixed to be compatible with this change

Changes
Comments

Please submit gluon notebooks to https://github.com/zackchase/mxnet-the-straight-dope


Add a pass to decompose ONNX operations into smaller ONNX operations

This patch is to:

Add a new pass which is to decompose ONNX operations into smaller ONNX operations, and
Move rewriting rules in canonicalization for Reduction ops into the new pass.

The new pass is called before shape inference, so it is used to decompose ops without the need of implementing shape inference for these ops.

@doru1004 Could you please take a look at this patch? It may help fix the problem related to SplitConvOp also.
FYI, @linkerzhang, I know you have been discussing a similar topic at https://github.com/clang-ykt/ONNF/issues/8. I guess this patch is somewhat related.


Stop package.json settings from overriding explicit options

Fixes #141.
This would be a breaking change. Contrary to https://github.com/Flet/standard-engine/pull/134#discussion_r85782733 though I'm only now (after writing the code) noticing that globals, plugins and envs are concatenated onto the existing values. So perhaps this isn't a problem at all?
If this is merged after all, note that I'm assuming #135 has landed, since it would allow implementors to write their own option merging logic.

Thanks for digging into this. It's been a while since I looked at this code. I think the right behavior is to continue merging the settings. The only setting where that's not possible is parser, and for that I think the explicitly passed in option should take precedent. I'll send a PR that makes this change.

PR sent: https://github.com/Flet/standard-engine/pull/154


Initialize BuilderContext

Describe the feature
BuilderContext is used to build components, but it isn't publicly available. I'd like to manage my own BuilderContext for launching custom node components.
Additional context
My blockchain uses some components for producing blocks and other components for validating and executing blocks after consensus. I need the same BuilderContext for launching components in these separate domains, but I can't initialize the struct because it's private.

are you extending the NodeComponents trait?
would like to know more about your customizations, consider reaching out on tg @mattsse :)


Starting a chatbot (zobot) by "perform custom action" is not possible.

Hello, I took my time to explain this issue in detail. Please try to read it carefully and if something is not clear, let me know. I will try to provide even more info.
Environment:
Flutter: 2.10.2
salesiq_mobilisten: ^1.0.4
Mainly Android and iOS (we are also implementing for WebApp)
Goal:
I want to run separate chatbots after different user interactions. For example:
Assume there are 3 buttons in the app.

Tap on the 1st button --> Should run the 1st chatbot created on the SalesIQ platform.
Tap on the 2nd button --> Should run the 2nd chatbot created on the SalesIQ platform.
Tap on the 3rd button --> Should start a regular chat with an operator so that the user can ask anything he/she wants. Should not start a chatbot at all.

What I have done:
I created 2 chatbots on SalesIQ. Then I carefully selected these settings:

"Choose bot audience" --> "All visitors".
"When should the bot initiate chat?" --> "When visitors perform the custom action": ("Bot1" for the 1st chatbot, "Bot2" for the 2nd chatbot)

On the Flutter mobile side:

(Just for your information) I successfully register and set the visitor info. SalesIQ can successfully recognize our existing contacts.
After that, mostly I have the methods below, and no matter how I call them (I mean in any order, sync/async/await, etc.), they run but in the end, sometimes the correct chatbot runs. However, in general, the wrong bot runs.

// Related methods that I tried in combination:
ZohoSalesIQ.performCustomAction('Bot1'); // "Bot2" for the other bot.
ZohoSalesIQ.show();
ZohoSalesIQ.startChat('A message');

I already spent 3 days on this. We have to ensure that 100% of the time, we show the correct chatbot to the user or if it is a regular chat, we must not show a chatbot at all.
At the moment, it works very unstable, and looks like this might be a deal breaker for our company. Is there any resolution that you can provide?
CC: @DavidBhahirathan

any news about it ?

Thank you for writing to us. we have examined your requirements and come up with a solution, for your requirement you will need a brand with at least three departments associated.
Let's assume a brand named Zylker with three departments associated - department 1, department 2, and department 3, along with two chatbots - bot 1 and bot 2.
For your first requirement "Tap on the 1st button --> Should run the 1st chatbot created on the SalesIQ platform"
Make sure you have created a bot 1 and have it associated only with department 1
For your second requirement "Tap on the 2nd button --> Should run the 2nd chatbot created on the SalesIQ platform"
Make sure you have created a bot 2 and have it associated only with department 2
For your third requirement "Tap on the 3rd button --> Should start a regular chat with an operator so that the user can ask anything he/she wants. Should not start a chatbot at all"
Make sure you have not associated any bot with department 3
Note: Add operators to the departments as per your requirement and please make sure the bot trigger is turned off
Please refer to the below sample code snippet
void onButtonOneClick() {
    ZohoSalesIQ.setDepartments(["department 1"]);
    ZohoSalesIQ.startChat("Chat with Bot 1");
}

/// This function is used to start a chat with the bot (i.e bot 2) that has been associated with department 2
void onButtonTwoClick() {
   ZohoSalesIQ.setDepartments(["department 2"]);
   ZohoSalesIQ.startChat("Chat with Bot 2");
}

/// This function is used to chat a start and connect with the operator as no bot has been associated with department 3
void onButtonThreeClick() {
   ZohoSalesIQ.setDepartments(["department 3"]);
   ZohoSalesIQ.startChat("Chat with our agent");
}

Please note that, the above solution is purely based on the understanding of your requirement in github for further queries and better understanding of your requirement, please feel free to write to us at<EMAIL_ADDRESS>We will be happy to assist you.
Regards,
Bhahirathan M.


Feature Request: Add Accumulate Ops (cumsum, cumprod)

I'm interested in using accumulate ops in Triton -- equivalent to numpy's cumsum and cumprod.

Yeah, we are considering about supporting prefix prefix algorithms


Querying image format properties

We need a decently implemented analogue of vkGetPhysicalDeviceImageFormatProperties.

Heads up - this appears to be responsible for a fair share of CTS failures. At least one per format :)


Control the tracks of dialogue

If the user suddenly inserts another sentence in the normal process, if it is not controlled, it will continue according to the normal process, and there will be a situation in which the answer is not asked, so it is necessary to control the state of the conversation. How to solve it?

Hello @yuxuan2015,
Can you provide more details about your issue? The Rasa Core will try to maintain the user in a story whenever possible; but if the user types something different, it will access an unknown path.
Whatever, you can still get the state of the conversation at any time using tracker.current_state() inside a custom action. Also, you can control the state sending events for the Dialogue State Tracker. You can get more details about that here: http://core.rasa.com/api/tracker.html
If nothing of that helps you, please let me know.

if normal process is as follow
YOU：hi
BOT：hi,what can I do for you?
YOU：What's the weather today?
BOT：fine
user suddenly inserts "who?",it will appear as below
YOU：hi
BOT：hi,what can I do for you?
YOU：who?
BOT：fine
@matheusmatos

You need to define some stories/intent training data to handle these kinds of cases


Integration no longer working

So I noticed a few weeks ago that I was getting no status updates for any of my devices.  I looked on here and saw a few different problems so I changed my password, agreed to the new TOS, still nothing was working.  I removed the integration and re-downloaded the new integration updating from 0.6.08 to 0.6.1  I've successfully logged back in but now it's not showing any devices at all.  I've restarted HA, I've restarted the server. I've uninstalled and reinstalled the integration multiple times.  I've changed my password again.  Nothing is working.

Not sure, there seem to be multiple terms you have to accept - you might have to logout of the SmartHQ app as well and log back in there - it presented yet another TOS screen when I did.

Logging out of the app and then back in and accepting the new terms worked to solve this for me. Thanks for the tip!


S02-233 igor training

WELCOME TO DEVOPS-EASY-LEARNING PULL REQUEST SYSTEM
Description of the change

Detailed description here

Checks and balances

[ ] Tests added and run
[ ] (External) Interfaces documented
[ ] Has security implications (describe below)

Type of change

[ ] Bug fix (non-breaking change that fixes an issue)
[x] New feature (non-breaking change that adds functionality)
[ ] Breaking change (fix or feature that would cause existing
functionality to not work as expected)

Related stories, issues and pulls

Links to Pivotal Tracker stories, JIRA tickets or other pull requests here

Security considerations

Describe any security impact this change may have

yes i do

good to go

thank you


Investigate build process on Windows

The package build seems to be failing on Windows, apparently once again due to some hard-coded path.
Context is in #75

This looks problematic:
https://github.com/awslabs/gluon-ts/blob/d7e73ec52cb49a52175e51e50ac1f30ed00f774c/setup.py#L43-L50
Also not sure whether this will behave correctly (since it has a "/" in the glob expression):
https://github.com/awslabs/gluon-ts/blob/d7e73ec52cb49a52175e51e50ac1f30ed00f774c/setup.py#L132

I made some modifications to 'setup.py', and I can install gluonts from source code on Windows.

before

GPU_SUPPORT = 0 == int(
    subprocess.call(
        "nvidia-smi",
        shell=True,
        stdout=open("/dev/null", "w"),
        stderr=open("/dev/null", "w"),
    )
)

after

import os

GPU_SUPPORT = 0 == int(
    subprocess.call(
        "nvidia-smi",
        shell=True,
        stdout=open(os.devnull, "w"),
        stderr=open(os.devnull, "w"),
    )
)


Issue#202: Specify TimestampFormat in logger

Config logrus to use TimestampFormat like 2006-01-02 15:04:05.999999 for both text and json, which is aligned with the raft log. Closes #202
After this change:
DEBU[2022-05-11 12:26:36.368961] Checking constant shards: 30
DEBU[2022-05-11 12:26:36.369329] value for num-shards found in storage: 30
2022-05-11 12:26:36.369479 I | config: using default EngineConfig
2022-05-11 12:26:36.369502 I | config: using default LogDBConfig

Thanks! Can you sign the CLA please (link is on the README)

I've signed.


[system] Add support for enableColorScheme in createCssVarsProvider

[x] I have followed (at least) the PR section of the contributing guide.

Part of https://github.com/mui-org/material-ui/issues/27651

Support for enableColorScheme in createCssVarsProvider (when true, we indicate to the browser which color-scheme to use when rendering built-in UI)
Set color-scheme property to body with correct mode value (light or dark) inside createCssVarsProvider

I am merging this to use it on marketing page.


Update contract-addresses.md

Added token pair contracts for ease of access (such as when wanting to query)

I dont know if it's good to list a pair addresses in docs. could be hard to manage them when getting a lot

I agree with @jhlee-young.


Make this website better and more appealing

Use your creativity and make it more better and useful for the user

can you assign this issue for me plz??

Sure, please go ahead

hello, bro, i think i can adjust the navbar and some stuff, can you assign it for me, plzz ?


Increase the default 2D gravity to 980

This makes 2D RigidBody physics feel less floaty out of the box.
This closes https://github.com/godotengine/godot-proposals/issues/98.

Why not just change the gravity vector to 98 and keep the weight at 1? Wouldn't this help keep mass and weight at a 1:1 ratio? (I'm not sure if this make sense physics wise, I haven't taken physics yet).

@ZingBlue As I said in a review comment above, I feel the weight/mass system is a whole different issue here. We should try to solve it separately later.

@Calinou The weight property was removed in #43925, so this PR needs to be rebased to reflect this.

@Calinou The weight property was removed in #43925, so this PR needs to be rebased to reflect this.

Thanks!


quick_e.h does not support 32-bit arm targets (e.g armeabi-v7a).

There are missing symbols, some examples:

float64x2_t
vdupq_n_f64
vdivq_f32
...

The issue is that these are only defined in the arm_neon.h header for 64 bit targets (__aarch64__). Is this something that is planned to be fixed? Or should vectorization be disabled for 32 bit arm targets?

Thanks for alerting me to this.  I had tested NEON vectorization on my Raspberry Pi with the 64-bit Manjaro OS.  As you say, NEON is much more limited on 32-bit targets, lacking not only vectorized double precision operations, but also some basic single precision operations like division (confirmed when I tried the 32-bit Raspian OS). It doesn't seem worth figuring out what small subset of vectorized floating-point operations I could still support in Adept, so in the latest commit I've disabled vectorization for 32-bit ARM targets.

Thanks for alerting me to this.  I had tested NEON vectorization on my Raspberry Pi with the 64-bit Manjaro OS.  As you say, NEON is much more limited on 32-bit targets, lacking not only vectorized double precision operations, but also some basic single precision operations like division (confirmed when I tried the 32-bit Raspian OS). It doesn't seem worth figuring out what small subset of vectorized floating-point operations I could still support in Adept, so in the latest commit I've disabled vectorization for 32-bit ARM targets.

Great! Thanks for adressing this.

Great! Thanks for adressing this.


Change Download Location

Is there anyway to change the download location?

@riichdog is this working for you?

The code is no longer running, but why?? even it not download the test twitter videos.. any solution??


Remove "New console for notebook" menu

We should probably remove the "New Console for Notebook" action from the File menu in the notebook, since it probably does not make sense.

Thanks @SylvainCorlay.
RetroLab now supports Code Consoles (added in #197 and released in v0.3.2). So I guess this could stay as it provides a nice way to start a console (in a new browser tab) from a notebook and share the kernel state?
https://user-images.githubusercontent.com/591645/134511182-d09697a5-cd14-4b90-acfc-fb59ec963116.mp4

Closing as fixed and answered!

Ok it seems that i needed to allow it to open other tabs.


add menu to result view, add proper images

Change variables access modifiers
Change string names
Add images with proper sizes
Add menu to exam result view
Hide exam view during result loading and display
Reordering functions in ExamActivity in order to improve the intuitiveness

This branch has conflicts that must be resolved


How to disable completion in org-roam select buffer

I have buffer completions enabled with nvim-cmp. Unfortunately they are also active in the selection buffer, which is very annoying. I am now searching for a way to identify the org-roam selection buffer within my implementation of the enabled function, which can be passed as an option to nvim-cmp's setup function.
I'm searching through the codes for some clues. I disabled completion for all buffers of buftype prompt.
@chipsenkbeil Can we set the buftype of the selection buffer to prompt or the filetype to something, which can be simply identified? Or do you have other suggestions for this problem?

I found a quickfix for me: Disabling completion for buftype == "nofile".
This disables completion for Telescope and org-roam selection buffer.
require("hrsh7th/nvim-cmp").setup({
  enabled = function()
    local buftype = vim.api.nvim_get_option_value("buftype", { buf = 0 })
    return buftype ~= "prompt" and buftype ~= "nofile"
  end
})

I don't believe I set a file type today, but I don't see a problem with providing something like org-roam-select. You want to take a look at adding what you need to select.lua when it creates the window and buffer?

Actually you name the buffer, which can be also used to identify it. We can add a hint to the documentation. I will create a PR for this.

Oh, lol. You know it's obscure if I forgot that I did that. :smile:

Oh, lol. You know it's obscure if I forgot that I did that. 😄

It's absolutely not. Related to what I've implemented my head is also acting like a flow heater. And I think every serious programmer is very familiar with this phenomenon. :sweat_smile:
I extended the docs a little bit and also tested the generation.
Actually the workflow I used is not ideal:

I added an intermediate commit including my branch into the docs Github action
I pulled the automatically created docs and checked it.
I fixed the docs, reset the branch and repeated
When I was satisfied I reset the branch a last time.

Beside that I wasn't able to create working cross references. I also looked for some existing ones and found out, that they also don't work in neovims help buffer. I think, this is an issue with panvimdoc when a targeted file is not Markdown. Actually I think, the underlying issue lies even deeper, in the pandoc converter from Org to Markdown itself.
Because you already wrote a lot of documentation in org format, how is your experience with it and how satisfied are you with the result of the conversion? Are there any general suggestions to keep the links intact in Org as well as in the resulting vimdoc?

Because you already wrote a lot of documentation in org format, how is your experience with it and how satisfied are you with the result of the conversion? Are there any general suggestions to keep the links intact in Org as well as in the resulting vimdoc?

It's okay, but there are definitely details of what panvimdoc can generate that leave me wanting for more, especially when using org syntax which has even more limited support. I chose to write the README and DOCS files in org syntax to force myself to dogfood the nvim-orgmode plugin, and like the idea that other could browse the documentation in a more familiar setting than a vim help buffer; however, links and headings aren't the nicest.
I don't want to go back to writing vim help documentation manually, which I've done in other plugins, as it's a pain and gets out of sync faster for me. But I'm open to suggestions or alternatives if we want to look for them.

I don't want to go back to writing vim help documentation manually, which I've done in other plugins, as it's a pain and gets out of sync faster for me. But I'm open to suggestions or alternatives if we want to look for them.

I understand that completely. I actually had a look at the documentation of panvimdoc and it seems, that they have some explicitly recommended syntax for Markdown files, which are transfered nicely to vimdoc. I also looked at other plugins, which use panvimdoc and they seem to be able to create really nice vimdocs from their Markdown files.
I will try out, if the notation features mentioned in the panvimdoc documentation can be translated to some Org syntax, which just works. If this is possible, a short section in the contribution documentation would be enough.
Otherwise, I think, the best way would be to translate the Org docs to Markdown with pandoc, fix the issues, which prevent a smooth vimdoc transformation manually and then stick to Markdown documentation files in combination with panvimdoc.

After commit 192732 you could disable cmp comletion by filetype, this does not affect other plugins:
  require("cmp").setup.filetype({ "org-roam-select" }, {
    enabled = false,
  })


How to run this on video

How can i use video as an input or camera to run the software?

Is your problem sovled?The net should be designed for image segmentation rather than video segmentation. To acheive your proposal,I think you should make changes to the method


[For discussion] Support Wear screenshots

Not sure about the right API, particularly to support both full screen screenshots, and component screenshots without a crop.

👀

I'm struggling to get a transparent background, so still working on it.

Examples of current RNG screenshots. https://github.com/joreilly/Confetti/blob/main/wearApp/snapshot/SessionsScreenTest/sessionsScreen_Colors_MobileAndroid__reference.png

Thanks, I think this issue might be the cause. 👀
https://github.com/takahirom/roborazzi/issues/34


Rename gitea/conf/app.ini to app.ini.example

The app.ini found in gitea/conf is not an active configuration file. To save the confusion it might be a good idea to rename it to app.ini.example.

Why is it confusing? It's even not shipped with the binary.

@tboerger Many people compile from source. I actually liked the idea. Alternatively could be an "example" folder.

As far as I know conf/app.ini is actually what gets compiled into bindata,
for builds with the bindata tag, and is otherwise read from FS before
the custom one for other builds.
If that's confirmed, I think it shouldn't be renamed.
Note that bindata builds should not even have a conf/ directory as the
binary would be enough to run.

Yes, that's what I thought but if I have understood it correctly all defaults are loaded from modules/setting/setting.go.  Only reference that I can find is in gogs_migration.sh
In Gogs it works like you have described it.

Interesting, I confirm you can actually move away the conf/ directory
even with non-bindata build. I'm not sure renaming to .example but keeping
it in that dir helps anyone though, because dropping the .example part
would still have no effect unless it's moved to the custom dir.

Good point. Renaming the folder and explaining the purpose of the file might be a better idea.

You have my 👍 on changing the name of the file/folder
@tboerger We still have to consider people that don't install from binary 😉

Closed by #1522


Feat/firebase auth

Description
Implemented Firebase auth system with email-password and Google login.
Related Issues
#11
Changes Proposed

[X] Use firebase auth to implement a user auth
[X] Show the profile picture of the registered user on the navbar

Checklist

[X] I have read and followed the Contribution Guidelines.
[X] All new and existing tests passed.
[X] I have updated the documentation to reflect the changes I've made.
[X] My code follows the code style of this project.
[X] The title of my pull request is a short description of the requested changes.
[X] I have shared relevant screenshots or videos for both desktop and mobile view.

Screenshots/Video URLs
Screencast from 24-10-23 09:23:55 AM IST.webm

@widewipe thanks for your valuable contribution

@ArnabChatterjee20k thanks for guiding me throughout this issue. I also learnt a lot in these last few days.


Dinamyc Import Bug

TypeScript Version:  3.7.x-dev.201xxxxx
It's a way of dynamically import and run a command from a file .js, using discord.js.
Code
// Command Class Example:
export class SayCommand implements Command
{
    run(msg: Message, client: Client, args: string[]) : void
    {
        msg.channel.send("Oi amigo, isso é um teste!");
    }

    description(): string
    {
        return "Say something"
    }

}

// Command Manager:
    static async command_hook(msg: Message, client: Client)
    {
        // If the message doesn't includes the bot prefix, it's not a command
        if(!msg.content.includes(this.bot_prefix))
            return;

        // Get the word after the prefix that's the command name itself
        let command_name = msg.content.split(this.bot_prefix)[1];

        // The command args array
        let command_args: string[] = [];

        // Check if the command has arguments
        if(command_name.includes(" "))
        {
            // Get the args on the command
            command_args = command_name.split(" ");

            // Removes the command name from args
            command_args.shift();

            //The command name now will contain just the command name
            command_name = command_name.split(" ")[0];
        }

        // Invokes the command class
        let command: Command = await import(`../commands/${command_name}.js`);

       command.run(msg, client, command_args);
    }

Expected behavior:
The expected behavior was to run the command run function when the file was imported.
Actual behavior:
An error of importation, it's returning undefined, or when I use await it says that there's not run function

There are at least 2 problems with your code if you work with ES modules:

You need to access named imports as properties on module object (or use export default for simplicity)
You need to need to either create instance of SayCommand class or run method should be static.

Assuming that command_name and name of named export match you can do
// assumes const command_name = 'SayCommand'; and file is SayCommand.ts
// const module = await import(`./commands/${command_name}.js`);
// const CommandClass = module[command_name];
// let command: Command = new CommandClass();
// or one line:
let command: Command = new (await import(`./commands/${command_name}.js`))[command_name];

command.run(msg);


Update deps

Draft until new version of rust-hmac-drbg is released.
cc @sorpaas

hmac-drbg v0.3.0 is released!

I think it‘s better to format code (using rustfmt) in another PR, which is more friendly for reviewer.

I’ve done it in two separate commits, but can split in separate PRs if necessary.


Inference for SEDD MODEL

can we inference SEDD model use this code base?

Our codebase only supports models without time conditioning and cannot be used for SEDD inference. For SEDD inference, we recommend directly referring to their official code.


ES health check should block on schema creation

There's a race condition where a POST could leak prior to elasticsearch storage's schema being fully initialized. It leads to query errors like this:
java.lang.IllegalStateException: response for aggregation failed: {"error":{"root_cause":[{"type":"illegal_argument_exception","reason":"Fielddata is disabled on text fields by default. Set fielddata=true on [traceId] in order to load fielddata in memory by uninverting the inverted index. Note that this can however use significant memory. Alternatively use a keyword field instead."}],"type":"search_phase_execution_exception","reason":"all shards failed","phase":"query","grouped":true,"failed_shards":[{"shard":0,"index":"zipkin:span-2019-09-26","node":"Htub5Z_6Rp2gARM-ckCj6Q","reason":{"type":"illegal_argument_exception","reason":"Fielddata is disabled on text fields by default. Set fielddata=true on [traceId] in order to load fielddata in memory by uninverting the inverted index. Note that this can however use significant memory. Alternatively use a keyword field instead."}}],"caused_by":{"type":"illegal_argument_exception","reason":"Fielddata is disabled on text fields by default. Set fielddata=true on [traceId] in order to load fielddata in memory by uninverting the inverted index. Note that this can however use significant memory. Alternatively use a keyword field instead.","caused_by":{"type":"illegal_argument_exception","reason":"Fielddata is disabled on text fields by default. Set fielddata=true on [traceId] in order to load fielddata in memory by uninverting the inverted index. Note that this can however use significant memory. Alternatively use a keyword field instead."}}},"status":400}
    at zipkin2.elasticsearch.internal.client.HttpCall.parseResponse(HttpCall.java:151) ~[zipkin-storage-elasticsearch-2.14.2.jar!/:?]
    at zipkin2.elasticsearch.internal.client.HttpCall.doExecute(HttpCall.java:78) ~[zipkin-storage-elasticsearch-2.14.2.jar!/:?]

Notably, this is possible when there are multiple collector nodes.. basically the index template could be in the process of being applied on one node while the other checks, and that lets a POST through which is now not indexed properly.
The reason is that the health check doesn't initialize the index templates, such as we do in cassandra. The fix is easy, but for those who need a workaround now, hit /api/v2/autocompleteKeys instead as eventhough it returns a constant (no perf impact), it does the init logic needed first (ensures index templates).
Thanks @basvanbeek for noticing this. cc @openzipkin/elasticsearch

@adriancole to clarify, is it OK to use /api/v2/autocompleteKeys as readiness probe for other storages as well?

other storage work properly
On Tue, Oct 1, 2019, 6:41 AM Dhi Aurrahman<EMAIL_ADDRESS>wrote:

@adriancole https://github.com/adriancole to clarify, is it OK to use
/api/v2/autocompleteKeys as readiness probe for other storages as well?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/openzipkin/zipkin/issues/2825?email_source=notifications&email_token=AAAPVV2QK7MPSH5DW3OVRE3QMJ6BHA5CNFSM4I3C2ZD2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD77KIPY#issuecomment-536781887,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAAPVV2CIAI74TG55WUOKYLQMJ6BHANCNFSM4I3C2ZDQ
.

what I mean is only ES allows an early write to catastrophically affect query.
in both mysql and cassandra we have offline instructions to add the schema. only cassandra also can self-install it. However, there's no situation like this in cassandra either about a sneaky write killing things.
This is a bug in so far as the health check doesn't ensure schema. However, the way ES behaves adds to the concern. I talked with @basvanbeek about making a commandline option to display what the index template should be. Right now, only ES doesn't have a way to create the schema at setup time (without starting and stopping a zipkin server). This is due to the amount of compatability issues in ES and also that certain parameters are site specific. OTOH, we could probably make a static one that people can hand tune. As far as I know this problem would never occur if there was no possibility of a race in data entering vs index template creation.
wdyt @anuraaga

@openzipkin/elasticsearch does anyone know how to work around an error like this when a write sneaks in before the index template finishes initialization? There's some eventual consistency issue that leads to this. Ex a GET succeed while a PUT is in progress on another host or before it applied. When that passes a POST can be written without the template, poisoning the index. This is the hyphothesis as in a case where this happened we noticed the index template is actually correct.
java.lang.IllegalStateException: response for aggregation failed: {"error":{"root_cause":[{"type":"illegal_argument_exception","reason":"Fielddata is disabled on text fields by default. Set fielddata=true on [traceId] in order to load fielddata in memory by uninverting the inverted index. Note that this can however use significant memory. Alternatively use a keyword field instead."}],"type":"search_phase_execution_exception","reason":"all shards failed","phase":"query","grouped":true,"failed_shards":[{"shard":0,"index":"zipkin:span-2019-09-26","node":"Htub5Z_6Rp2gARM-ckCj6Q","reason":{"type":"illegal_argument_exception","reason":"Fielddata is disabled on text fields by default. Set fielddata=true on [traceId] in order to load fielddata in memory by uninverting the inverted index. Note that this can however use significant memory. Alternatively use a keyword field instead."}}],"caused_by":{"type":"illegal_argument_exception","reason":"Fielddata is disabled on text fields by default. Set fielddata=true on [traceId] in order to load fielddata in memory by uninverting the inverted index. Note that this can however use significant memory. Alternatively use a keyword field instead.","caused_by":{"type":"illegal_argument_exception","reason":"Fielddata is disabled on text fields by default. Set fielddata=true on [traceId] in order to load fielddata in memory by uninverting the inverted index. Note that this can however use significant memory. Alternatively use a keyword field instead."}}},"status":400}
    at zipkin2.elasticsearch.internal.client.HttpCall.parseResponse(HttpCall.java:151) ~[zipkin-storage-elasticsearch-2.14.2.jar!/:?]
    at zipkin2.elasticsearch.internal.client.HttpCall.doExecute(HttpCall.java:78) ~[zipkin-storage-elasticsearch-2.14.2.jar!/:?]

Just to confirm, by health check we're referring to ElasticsearchStorage.check? It indeed only checks whether the index is available. Other endpoints like spanStore all ensure index templates. But I'm not sure if adding that to health check would change anything - right now, parallel calls to spanStore have a race between ensuring indexes, but otherwise parallel calls to check would have a similar race IIUC.
This documentation implies that index creation does take some time to propagate to shards
https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-create-index.html#create-index-wait-for-active-shards
My relatively wild guess is that nodes that have had the template propagated to them will respond to the get-template request successfully even when other nodes have not created it yet. And now that we're actually round-robining, this means get-template can succeed on a node but the span is sent to a following node where it hasn't succeeded yet. One shard will index spans with the template, the other will not (until the next day though when a new index is created, heh). This behavior seems quite dangerous, but I guess to solve it, it would be nice to have an option when indexing to wait for any pending template operations in the cluster which I don't see at https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-index_.html
Looked through elastic docs to see if they provide a simple way to know status of index templates better (a scatter-gather as we've been implementing recently? ;) ), but can't find any. Simplest way to solve might be to just make sure our get-template call succeeds on all endpoints in an EndpointGroup.
https://github.com/openzipkin/zipkin/blob/master/zipkin-storage/elasticsearch/src/main/java/zipkin2/elasticsearch/EnsureIndexTemplate.java#L37
Hopefully someone else can also check that this understanding makes sense.

I think you are right that moving this up wont solve all possible problems
but it would reduce them.
for example if there is no chance a node goes in service without the index
template at least attempted, we are better off.
agree the main issue is there isnt a way to block on completion and also it
is a coordination issue. for example some sites manually control the
template. this means we can't do a content check.
the idea of a fan out on nodes is possible but also not sure the
implications of that and also the overhead..

simultaneously I am working on a cheap cli to make a version specific
template for manual installation based on same env variables

one last thing.. it would be great for ES to create a consistent barrier
for templates. however we still need something now as new features aren't
always back ported.

A CLI for uploading the template for users of multiple nodes is probably the best way anyways :)

https://github.com/openzipkin/zipkin/pull/2827 does the scary work. I think it could be an easy change to make a CLI for someone familiar with java


I'm the new maintainer, what should we do?

Hello! Plamere has been inactive for a long time so Spotipy has been transferred to my name on PyPI and a similar process is ongoing for Read The Docs. Next, we should figure out what to do with the acquired rights.
The situation
Plamere has been inactive since late 2017. The repository contains and the documentation references code that was not released in version 2.4.4, which is the most recent release on PyPI. This led to a lot of confusion for me when I tried out this library and I understand this has been the case for many others as well.
Spotify's Web API has progressed over the years. For example, playlists are no longer accessed via a user (dev news) and new endpoints have been added. The API will continue to evolve.
Spotipy is fairly popular, pulling in up to a thousand downloads a day and gaining popularity over time. This means that lots of new users are affected by the decisions that are made now.
The options
Possible solutions can be divided into two archetypes: conservative and progressive. I'll post them both below so we can discuss them in detail and tweak them if needed.
A number of forked/rewritten projects have emerged. I have also written a version, which was what I referenced during the name transfers, but I'd like to keep the conversation open to other options as well. And I specifically would like to avoid choosing one of the new versions in this issue. If we choose the progressive solution, I'll open another issue for that discussion. That being said, please do dive into the issue and have a look at the proposed alternatives to gain an understanding of what types of solutions could be implemented as part of the progressive plan.

Conservative
The conservative solution is the easy, hassle-free way out. In my mind it has three variations.
We do absolutely nothing
'Nuff said.
We publish one more version
Publishing the final contents of this repository on PyPI would bring the documentation in sync with the published version. This version could be 2.4.5 for example.
We notify users about other options
If maintenance is not continued, it could be fair to ease the pain of finding another up-to-date solution. This could be implemented in documentation, warning messages on importing the library or any other method.
In this case, we should publish the repo contents first in my opinion. Then if code needs to be modified, it could be version 2.5.0 for example.
Pros:

Status quo is preserved. Nothing is required of existing users of the library.
No confusion with new versions or other resources on the web being out-of-date.

Cons:

A weak long-term strategy. It will lead to the obsoletion of Spotipy as the Web API evolves.

Progressive
The progressive solution is the slow payoff route. It could build on other steps in the conservative plan but then continue on with maintenance and enhancement of Spotipy. Another repository would be designated as the new home of Spotipy and its contributors would actively release new versions of the package and documentation.
Pros:

A strong long-term strategy. The library will stay up-to-date with the API and potentially develop in other ways as well.

Cons:

Status quo disturbed. Publishing new versions could require old users to either require an older version of Spotipy or update their code.
Potentially backwards-incompatible. As the Web API changes, new versions of the library will need to be published. For example, the playlist changes contain such modifications.
Confusion when changing the repository. Even if backwards-compatible, users could find the old and still popular repo instead of the new one.

My take
I think it is best to think long-term. And publishing further versions of Spotipy is preferrable to developing a new library because Spotipy is already an established package. New users would already have the most recent version instead of having to look for another package, and the necessary changes for old users are reasonable.

Rergardless of what is decided,  a 2.4.5 release should happen just to bring the documentation in sync with pypi.
Having read through some of https://github.com/plamere/spotipy/issues/387 it seems that the central question is: which fork to keep as the 'official' version? (i.e. the "spotipy" name in PyPI)
In my opition, and because of what @felix-hilden says in this summary:

As I understand it, the original spotipy package was very much a light-weight wrapper around the API, and Harrison's fork remains faithful to that idea. My rewrite has more structure surrounding the client, for example scope and token objects, response models and extendable request senders.

I think that https://github.com/Harrison97/spotipy is what should probaby carry on as the 'official' (i.e. in PyPI) spotipy name. (however what is really important is what does @Harrison97 think about his?)
And given as @felix-hilden version is a fuller re-write maybe rename the pacakge as spotipy3 for PyPI?
Personally I just got here (from spotify's developer libraries documentation). And I was able to use pypi's code (this repo version 2.4.4) and it worked in python 3.7 for a very basic oatuh flow and listing a user and their playlitsts.
This to me, is a testament of something done right. All I had to do is change print into function calls in the code example from readthedocs.

Thanks for the input, it's cool that the newest of users also discover this! As I said, I'd like for us just to discuss whether we should continue to actively maintain this code or not. I take it that you are on the progressive side. And I strongly agree that the sync should happen in any case.

+1 on the progressive, and I just found out today about this repo. Great project.

I agree on the progressive route. I tried to use this project recently and had to find an alternative because of how outdated/broken the documentation was for the current Spotify API. I also agree that Spotipy should evolve alongside the API to continue being useful.

Thank you both for the input! With no opposition, it seems that the progressive route is a no-brainer. I'll post the issue to choose a successor to Spotipy soon. Maybe once I acquire the RTD project as well, so we have everything we need. But do still voice your opinion even if you agree with everyone here. It's valuable input!
That's too bad, @SeanKohlbrenner. Hopefully you still want to give the new version a go. These kinds of users are a sad story for the package. Stay tuned.

1 on progressive route 👍

There's the new issue! Now let's find a new home.

@felix-hilden funny, like others i just find about this repo today, kudos, following what i read in the first post, is this library currently working in any way? or there should be work done on it first?

Yes it is, @pixelicous! Some updates to the Web API have been made by Spotify and the documentation is a bit wonky, but most of the functionality that is implemented works as far as I know. It sure does need some work, but don't let it stop you from using it. Or have a look at some of the updated versions if you want!

Hey guys. I am fine with hosting the new main repo for Spotipy. I have been working on it and the goal is to make it fully up to date with their current API and Python3. I currently have it working with Python3 and all tests passing. I am going to keep a lot of the original code. I do want to refactor a lot of it. The testing needs to be consolidated to easily run a full test suite so we can speed up development and make it more easily maintainable. How it is handling the API authentication needs adjustments. And it needs to be fully up to date with everything their API offers.
I will work with the original author and PyPi to get the Spotipy library redirected to the new repo soon.
Thank you guys for y’alls feedback and help. I really appreciate everyone helping get this project back in its feet.
Harrison

@Harrison97 could you post this also to the second issue #406 where we are choosing the successor so we can discuss the different options?
And do note, that I am the new maintainer! Plamere has been very inactive, and does not have access to the PyPI or RTD project anymore.


Update indentation representation for the common case

Summary
Test Plan

Update: This doesn't seem to provide any performance improvements on Codspeed although locally it gives me around 5% difference in the parser benchmarks.
group                         indentations-parser                    main-parser
-----                         -------------------                    -----------
parser/large/dataset.py       1.00    661.6±2.31µs    61.5 MB/sec    1.03    681.6±2.58µs    59.7 MB/sec
parser/numpy/ctypeslib.py     1.00    107.1±0.35µs   155.5 MB/sec    1.05    112.0±0.40µs   148.7 MB/sec
parser/numpy/globals.py       1.00      8.2±0.03µs   359.7 MB/sec    1.05      8.6±0.03µs   343.0 MB/sec
parser/pydantic/types.py      1.00    251.8±0.88µs   101.3 MB/sec    1.04    262.1±0.98µs    97.3 MB/sec
parser/unicode/pypinyin.py    1.00     33.0±0.20µs   127.5 MB/sec    1.03     33.9±0.15µs   124.0 MB/sec

I've tried the following three representations:

Save the first indentation and keep a counter which is incremented and decremented accordingly. If the new indentation isn't in multiples of the first indentation, we convert it into a stack and continue.

struct IndentationCounter {
    /// The first indentation in the source code.
    first: Option<Indentation>,
    /// The current indentation level.
    level: u32,
}

Similar to (1), but adds a new field which reflects the current indentation. This optimizes for accessing the current indentation while in (1) the current indentation needs to be computed which adds a bit of overhead.

struct IndentationCounter {
    /// The current indentation.
    current: Indentation,
    /// The first indentation in the source code.
    first: Option<Indentation>,
    /// The current indentation level.
    level: u32,
}

Represent an indentation at a more granular level by including the indent style. This will be checked against the new indentation style and creates a short-circuiting behavior to avoid checking the size. But, this adds an overhead of creating the indent style flag in the lexer.

bitflags! {
    #[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
    pub(super) struct IndentStyle: u8 {
        const SPACE = 1 << 0;
        const TAB = 1 << 1;
    }
}

#[derive(Debug, Default, Clone)]
struct IndentationCounter {
    /// The indentation style i.e., tabs or spaces
    style: IndentStyle,
    /// The size of a single indentation in terms of the number of characters.
    size: Character,
    /// The current indentation level.
    level: u32,
}

I think the reason it doesn't really give performance improvement is that the overhead of checking whether the indentation changed and computing the current indentation offsets any performance gains.
Currently, the change in this PR reflects solution (2) from above. I don't think it's worth adding the complexity if there's no performance gains from it which is why I'm thinking of removing it.

Codspeed does show a 2% lexer perf improvement and about a 1% for the parser.

Codspeed does show a 2% lexer perf improvement and about a 1% for the parser.

Yeah, I'm not sure if the increase in code complexity is worth the nominal gain


Adding AXE validation for unit tests

Adding AXE validation for unit tests

to the AXE validator is sent HTML element(as string) which is validated against set of accessibility rules

Failing example:
if icon button has no text which could be narrated by screen readers then axe return error like:
"Buttons must have discernible text (button-name)"

Can we add similar verifications to all docsite examples?


EndAlignment: add support for kwbegin

EndAlignment currently supports if, class, module, while, etc. This PR attempts to add support for begin. For example, the following misalignment is generally considered bad.
begin
    # foo
  end

Before submitting the PR make sure the following are checked:

[x] Wrote good commit messages.
[N/A] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[x] Added tests.
[x] Added an entry to the Changelog if the new code introduces user-observable changes. See changelog entry format.
[x] The PR relates to only one subject with a clear title and description in grammatically correct, complete sentences.
[x] Run bundle exec rake default. It executes all tests and RuboCop for itself, and generates the documentation.

See the related conversation here https://github.com/rubocop-hq/rubocop/pull/7286

Closing in favor of https://github.com/rubocop-hq/rubocop/pull/7337


Add polyfills for IE11

for startsWith, see
https://github.com/mathiasbynens/String.prototype.startsWith

Now we are supporting edge.


Configure StandardJS linting for Javascript code

Run standardjs command on Github Actions

Done: https://github.com/Grupo-AFAL/frontend-helpers/pull/19


CI: Remove swift-driver from Windows builds

Since swift-driver has no Windows implementation so far, remove it from Windows builds to avoid spoiling the toolchain.

This change is

You cannot remove the checkout step, it breaks the pipelines.
I dont understand the assertion that swift-driver doesnt have a windows implementation.  It absolutely does - otherwise you couldnt build/use swift-package-manager.
Could you please explain what the change is intended to do?

@stevapple - these are now required due to packaging swift-package-manager into the toolchain.  Is there anything that you hope to change here or should this be closed?

Nope. This PR is totally a mistake. I’ll close it now, sorry for troubling you.

No worries, just wanted to make sure that if there was an issue we figured out what was happening.