EDDI 1.4.0 "UNABLE TO INVOKE PLUGIN DUE TO EXCEPTION"

Until recently, I was using EDDI without trouble. But today, I was unable to get a response to "ship handover confirmed", or whatever else was the first command recognized. Nothing appears in the VoiceAttack log window to suggest anything's the matter though. However, upon the second and following EDDI command invocation, the log shows command recognition, followed by:
UNABLE TO INVOKE PLUGIN DUE TO EXCEPTION: Exception has been thrown by the target of an invocation.
The eddi.log does not show anything now when I try to run a command, but at a time that may have corresponded to my first attempt today, I see the following exception:
9/25/2016 1:03:24 PM VoiceAttackPlugin:setPluginStatus [W] EDDI error: Failed to run internal speech system
9/25/2016 1:03:24 PM VoiceAttackPlugin:setPluginStatus [W] EDDI exception: System.NullReferenceException: Object referen
ce not set to an instance of an object.
   at EDDIVAPlugin.VoiceAttackPlugin.InvokeSay(Dictionary`2& state, Dictionary`2& shortIntValues, Dictionary`2& textValu
es, Dictionary`2& intValues, Dictionary`2& decimalValues, Dictionary`2& booleanValues, Dictionary`2& dateTimeValues, Dic
tionary`2& extendedValues) in C:\Users\jgm.BEXHILL\Source\Repos\EliteDangerousDataProvider\EDDIVAPlugin\VoiceAttackPlugi
n.cs:line 1081

I don't know if that was the root cause and it's persisting, or if that was a one-off exception.
(If it is relevant, this is my first time trying to use EDDI on 2.1 since playing the 2.2 beta, so if EDDI got hopelessly confused on my running the beta, perhaps that could be the cause.)

(Btw, I have followed the troubleshooting procedures. Also, I am running VoiceAttack <IP_ADDRESS> prerelease, and it is possible—I am uncertain about this—that the problem cropped up after upgrading to that from my previous <IP_ADDRESS>.

And another follow up: I just restarted my system and re-unzipped the 1.4.0 zip file into place before starting the game and VoiceAttack, and the problem still persists.

I've been having the same problem. Does deleting the credentials.json file in the AppData\Roaming\EDDI folder and rerunning the configuration.exe solve your problem temporarily?

Please could you send me a copy of your %APPDATA%\EDDI\eddi.log file?

@cmdrmcdonald I have shared the file—it's quite large—with you via Google Drive to the email address in your Git commits.

I am also having a similar issue.
Anytime I run the docking command I get
"UNABLE TO INVOKE PLUGIN DUE TO EXCEPTION: Error reading JObject from JsonReader. Current JsonReader item is not an object: String. Path '', line 1, position 6."
if that is helpful.

btw, I also note that this crashes EDDI in general.
I have noticed lately (perhaps because I had to upgrade to the new VA Beta?), that ANY adjustments to the profile (even just adding a test command), requires me to close VA completely, and relaunch EDDI from scratch. Simply restarting the event loop, or exiting the profile and returning does not seem to suffice.
Further, when I restart VA, EDDI will work well, until I invoke a few commands, including "I have docked".  Doing so will give the above error. If I then Try to activate any previously working commands there-after--I will just get the same UNABLE TO INVOKE PLUGIN error (even for commands not requiring the plugin...).  This is resolved with exiting VA again, and relaunching...
odd

There are a number of issues that I have fixed, and I've also placed some more debug information that should help nail down the problems that are being seen here.
To test this and see if it has fixed your issue you will need to download EDDI 2 at http://www.mcdee.net/elite/EDDI-2.0.0b2.exe and go through the installation process.  Note that you should remove your existing C:\Program Files (x86)\VoiceAttack\Apps\EDDI directory before running the installer.
You will also need a beta version of VoiceAttack for this to work.  The minimum required version is <IP_ADDRESS>.22.
Please give this a go and see if it fixes your issues.

After installing the new EDDI, Voice attack completely crashes every time the profile is loaded.
Initially I got the same Unable to invoke plugin error discussed above, but could not restart voice attack to resolve it.
In desperation, I updated again to EDDI-2.0.0.b3    Same thing.
Then I went to voice attack and made sure I had the very lastest beta, to see if that would solve things.
After installing v<IP_ADDRESS>:
Now instead of getting an infinate string of "UNABLE TO INVOKE PLUGIN"
I get an infinite string of "Not Set"
Realizing that I didn't actually import the new EDDI profile (and just ran the new installer, but was loading my old profile), I imported the new EDDI profile from C:/Program files/voice attack/apps/eddi/
Doing this, I closed everything, and relaunched VA, launching the new profile (not looking forward to importing all my commands, and editing all the EDDI ones again....
DOing this, The infinite errors are gone, and the log reads:
14:01:26 - Plugin 'EDDI 2.0.0b3' initialized.
14:01:26 - Plugin 'EDDI 1.4.0' initialized.
14:01:24 - Plugin support enabled.
Odd, why is it initializing 1.4.0 and then 2.0.0b3.....perhaps this is my problem...
Attempting to open the profile and edit the event loop, or in any way open the profile yields:

Quiting quits VA: end of logic path
Continue loads profile, but everything is blank...Nothing to do, end of logic path
selcting Details reads:
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

The application must also be compiled with debugging
enabled.
For example:

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.

Sorry, I didn't realize that error log was going to be so obnoxious....

What you are seeing suggests that you didn't remove the existing EDDI directory prior to installing the new one.  Please remove the C:\Program Files (x86)\VoiceAttack\Apps\EDDI and rerun the installer.
EDDI 2 does not need the 'EDDI startup' command, so you can remove that from the profile.  The event handler is different but much easier for you to customise.  Depending on what you have carried out in terms of customisation you might find it easier to spin up your own personality in the EDDI speech responder and change the responses, or to create custom event handlers inside VoiceAttack

I simply renamed the directory to OLD_EDDI.  Not sufficient I guess?
Thanks, I'll see what happends if I wipe it completely and reinstall...

Indeed, that worked.  Although opening the profile is pretty bare bones.  Was this done with the assumption we would just copy all the commands from the previous profile over here? or visa versa?
Not sure the most efficient way to do that without avoiding conflicts and errors (I have found VA to be very glitchy when copying commands between profiles)

What commands have you customised?
EDDI's ability to respond to events has been moved to an internal plugin in EDDI, because writing long scripts in VoiceAttack with conditionals and the like turned out to be quite a painful business.  In addition, EDDI's ability to respond to events inside VoiceAttack is now dynamic so it's a lot easier for you to write your own features and functions without needing to worry about copying/modifying EDDI's existing commands (and then have them over-written when you upgrade).
Try shutting down VoiceAttack, starting up C:\Program Files (x86)\VoiceAttack\Apps\EDDI\EDDI.exe and having a read through the information in the various tabs.  Hopefully this will make things clearer, and obviously keep letting me know any questions you do have.

I guess I'm just a little confused. Downloading and installing the newest EDDI reveals

While my old profile looked like this (collapsed)

So, what is the best way to integrate the profiles....

The best way is to remove all of the commands in 'EDDI' and 'EDDI Debug' in your 'Elite Dangerous-2' profile and in your 'Elite-Dangerous 2' profile options include the 'EDDI' profile.
All of the direct voice responses to events have moved to the 'Speech Responder' tab in the EDDI UI.  If you want to respond to events in EDDI by carrying out actions then you can follow the instructions in the 'VoiceAttack responder' tab of the UI.
If you have a specific command for which you would like an example of how to migrate please let me know.

Wow. I just lost my whole post.  Shoot....  Ok, I'll try to breifly recap / summerize....((Sign))
I seem to be having a problem with script activation, and syntax here.

Script Activation

and

In the above example, despite the speech responder script being enabled (and functioning if I hit test), and having a VA command ((EDDI docked)), neither runs.
I have been operating under the assumption that the Speech Responder scripts are automatically triggered by events in game by EDDI. (I assume any scripts we create from scratch are limited to the names listed in the stock speech responder, and are called by EDDI by name, as I see nothing in the script that sets a trigger event.  I.e. Behind the scenes EDDI says something like, "If event.ship.docked = true, run SpeechResponder.Docked". and any script we create would need that same name, and be automatically launched when said event happends?  For now I'm avoiding new scripts and just modifying exiting ones for that very reason, as I'm not sure how to launch them...
With that in mind, and taking a look at the above screens, I am perplexed that neither the SpeechResponder script runs, nor the VA Command.

Take this simple example:

when running this script, a single instance of Commander name is given ( {cmdr.name} ), and a single instance of ship callsign ( {ShipCallsign()} ). Station name is not reported in either case ( {Station.name} OR {StationName()} ).
The documetation states:

Commander
information is available under the cmdr object.
...

name the Commander's name"

"Information about your current ship is available under the ship object.
...

callsign the callsign for the ship"

and

Station
...

name the name of the station

with the

Event
Triggered when your ship requests docking at a station or outpost.
...

station The station at which the commander has requested docking

being something I'm not sure how to call, referrance, or otherwise utilize.
But with the first three examples, I would expect that the commander name would be called either by {cmdr name}, {cmdr.name}, {CmdrName}, or {CmdrName()} (the documentation isn't really clear, and having an example for each would be great. i.e.

Commander
Commander information is available under the cmdr object.
Example: {cmdr.name} will result in the commander name.
Any values might be missing, depending on EDDI's configuration.

name the Commander's name

Anyway, {cmdr.name} works.  Great.  Yet, attempting to keep consistant, and write "{ship.callsign} does nothing.  In this case, {ShipCallsign()} is the only thing that will return the callsign.  Hmmm.
Again, I'm probably just an idiot. but I'm scratching my head on how to call the variables in the scripts, as it doesn't seem to be consistant with the documentation.
Lastly, and I touched on this before...
How do I call that variable externally in voice attack? Reviewing the EDDI information commands is very helpful, and I can see that {TXT:Name} is the VA syntax to retrieve the script equivalent of "{cmdr.name}". Yet it seems there are several variables in the script that are not available.
For example:  commodity.stock, commodity.buyprice, or, more importantly {best.name}
Is there a way to set an internal variable of the script to a external VA variable that we can then call through VA?
Thanks again, your promptness and responsiveness have been really appreciated and admired.
I hope this was clear. Having to retype always leads to loss of information, but I tried to be as clear as I could...

Resolved as far as I can tell.  Thanks a million.


Install python3-pyyaml as part of bootstrapping in upgrade-zulip-stage-2

3314fefaec8d754e039c73fba5710bedc0c63313 started needing a python3-yaml, but incorreclty claimed that it was already an indirect dependency; apparently it is not.  We can't install it in puppet because then is definitionally too late; it is needed at load time by zulip-puppet-apply[1].
We should apt-get install python3-yaml before running puppet, but only if it is not already installed -- a ! [ -d /usr/share/doc/python3-yaml will suffice to check that.  It's not clear what the equivalent check is on redhat.
[1] We could possibly defer the import yaml in zulip-puppet-apply until after puppet runs, which would only leave the edge case of "started to upgrade, failed out, ran zulip-puppet-apply --noop.  This leaves moves the ugliness from upgrade-zulip-stage-2 to zulip-puppet-apply and makes it a little smaller, albeit with a weird unlikely edge case.

It's not clear what the equivalent check is on redhat

We don't actually support redhat in production -- it's just support code for an incomplete feature.  So there's nothing needed here.


Migrate to Swift 3

Short description
Migrate the framework to Swift 3
Solution

Update the dependencies.
Update the source code.
Update the API
Bump the version to 1.0.0

GIF

cc @sergigracia / @isaacroldan

:metal:

          1 Error

  :no_entry_sign:
  Please include a CHANGELOG entry.

When I use a quick workaround

  Generated by :no_entry_sign: danger

Current coverage is 84.53% (diff: 89.44%)

No coverage report found for master at 2205a25.

Powered by Codecov. Last update 2205a25...16d3428


Start centralizing APIExport indexers

Summary
Move the definition of APIExport index functions needed across multiple controllers to pkg/indexers
Related issue(s)
Fixes #1752

ok i broke something, fixing

fixed my brokenness

This won't cherry-pick cleanly to release-0.7, so I'll manually backport it

 pkg/indexers/util.go:58:49: non-wrapping format verb for fmt.Errorf. Use `%w` to format errors (errorlint)
		panic(fmt.Errorf("error adding indexers: %v", err))
		                                              ^

Fixed lint

This may seem silly, but this would cleanly allow during startup two indexers named the same but do two different things, right?

It should be removing any indexes in toAdd that already exist, so they don't get added additional times.

The indexer function that was added before could do one set of behavior A, and the one added now could do different behavior B. This will currently just always choose A, which I was just suggesting could make debugging why you are not seeing behavior B a little challenging. If you compared the function pointers, I thought it would be worth saying these functions are not the same.

@shawn-hurley I did some research, and there is not a reliable way to compare 2 function pointers (the only guarantee is you can compare them to nil).

/lgtm
Sorry for sending you down the wrong path. I thought the reflection would work.
Can we add a v4 log or something then for when it does happen just to aid in debugging?


Possible issue in 3D in det.cpp?

I'm seeing memory errors in 3D calculations (but not corresponding 2D calculations) in this region of mfem, according to valgrind, which is showing invalid writes.
I can't say I really understand what's going on in this code, but I'm wondering about this snippet
https://github.com/mfem/mfem/blob/cdf9cfe1b670497baa5c1fab99e635fb860e54e6/fem/qinterp/det.cpp#L235-L238
In the 2D code, there appears to be parallel construction with the expressions consistently using "Q1D" and "D1D", e.g.:
https://github.com/mfem/mfem/blob/cdf9cfe1b670497baa5c1fab99e635fb860e54e6/fem/qinterp/det.cpp#L127-L128
But in 3D, they are reversed for part of the expression.
There's also a similar pattern here, with "D" and "Q" apparently reversed.
https://github.com/mfem/mfem/blob/cdf9cfe1b670497baa5c1fab99e635fb860e54e6/fem/qinterp/det.cpp#L225-L226
Maybe this is ok, I'm not sure, but I thought I'd ask.

I agree it looks suspicious. Does reversing Q1D and D1D fix the memory error?

The actual values for MAX_D1D and MAX_Q1D seem to be the same in all cases, so the fact that they switched doesn't matter for correctness. Of course, we should fix the usage to avoid further confusion.

I agree it looks suspicious. Does reversing Q1D and D1D fix the memory error?

It did not, which makes sense given what Veselin said. It's possible the valgrind errors are false positives, too. I will have to keep investigating.

Discussion continued in #4447


deFanging Patterns issue

I am attempting to add and additional pattern to the defang.json.
{         "find": "\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}\b",         "replace"<EMAIL_ADDRESS> },
I would like to remove any email address in the url and replace it with<EMAIL_ADDRESS>My complete file looks like this
[     {         "find": "\\S(\\.)\\S",         "replace": "[.]"     },     {         "find": "\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}\b",         "replace"<EMAIL_ADDRESS>   },      {         "find": "http",         "replace": "hxxp"     } ]
When I attempt to run deFang I get the following error...
#defang<EMAIL_ADDRESS>Traceback (most recent call last):
File "/usr/local/bin/defang", line 7, in
from ioc_fanger.ioc_fanger import cli_defang
File "/usr/local/lib/python2.7/dist-packages/ioc_fanger/init.py", line 4, in
from .ioc_fanger import fang, defang
File "/usr/local/lib/python2.7/dist-packages/ioc_fanger/ioc_fanger.py", line 23, in
defanging_mappings = _get_data_from_file(DEFANG_DATA_PATH)
File "/usr/local/lib/python2.7/dist-packages/ioc_fanger/ioc_fanger.py", line 18, in _get_data_from_file
return json.loads(f.read())
File "/usr/lib/python2.7/json/init.py", line 339, in loads
return _default_decoder.decode(s)
File "/usr/lib/python2.7/json/decoder.py", line 364, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib/python2.7/json/decoder.py", line 380, in raw_decode
obj, end = self.scan_once(s, idx)
ValueError: Invalid \escape: line 7 column 52 (char 128)
Any help would be greatly appreciated.

So I was able to find a work around...
[
{
"find": "=[a-zA-Z0-9]{3,40}@(DOMAIN|DOMAIN).com",
"replace": "redacted@redacted"
},
{
"find": "http",
"replace": "hxxp"
},
{
"find": "\S(\.)\S",
"replace": "[.]"
}
]

The problem with the first find regex you were trying to use (\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}\b) is that the \ escape characters need to be replaced with two backslashes. A working regex would look like: \\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,6}\\b.
A valid defang.json would look something like:
[
    {
        "find": "\\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,6}\\b",
        "replace"<EMAIL_ADDRESS>    },
    {
        "find": "\\S(\\.)\\S",
        "replace": "[.]"
    },
    {
        "find": "http",
        "replace": "hXXp"
    }
]

Even this correction won't do what you want it to do, so you also need to change the find regex to capture a the email address as a group by putting parenthesis around the part of the regex that matches the email address:
\\b([A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,6})\\b
So a final, working defang.json that does what you need it to do would be:
[
    {
        "find": "\\b([A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,6})\\b",
        "replace"<EMAIL_ADDRESS>    },
    {
        "find": "\\S(\\.)\\S",
        "replace": "[.]"
    },
    {
        "find": "http",
        "replace": "hXXp"
    }
]


Regex_replace filter does not conform to PCRE syntax

Running Beta4, the regex_replace-filter does not appear to work. For example, running a pure installation of Beta4 with the only change being to default.html.twig in the Antimatter-theme:
{% extends 'partials/base.html.twig' %}

{% block content %}
	{{ page.content|regex_replace("/
(.*?)<\/p>/", '
$1
') }}
{% endblock %}

A pattern which essentially captures the content of the paragraph, and rewraps it with a class="col-md-8 offset-md-2"-attribute, like this. When wrapped as a simple plugin the pattern works:
class WrapPlugin extends Plugin
{
	public static function getSubscribedEvents() {
		return [
			'onPageContentProcessed' => ['onPageContentProcessed', 0]
		];
	}

	public function onPageContentProcessed(Event $event)
	{
		$page = $event['page'];
		$pluginsobject = (array) $this->config->get('plugins');
		$pageobject = $this->grav['page'];
		if (isset($pluginsobject['wrap'])) {
			if ($pluginsobject['wrap']['enabled'])  {
				$buffer = $page->content();
				$url = $page->url();
				$buffer = preg_replace("/
(.*?)<\/p>/",
					'
$1
',
					$buffer);
				$page->setRawContent($buffer);
			}
		}
	}
}

Which returns:

Congratulations! You have installed the Base Grav Package that provides a simple page and the default antimatter theme to get you started.

Whereas the regex_replace-filter applied returns this error:
Twig_Error_Runtime
An exception has been thrown during the rendering of a template ("preg_replace(): Unknown modifier 'p'") in "default.html.twig" at line 4.

Per the Usage-example on the twigpcre-plugin, a virtual predecessor to this filter, the pattern should be set using tilde-characters rather than forward slashes: client.website|preg_replace('~^https?://~'), or in this case: |regex_replace("~
(.*?)<\/p>~", '
$1
'). Which does return the expected:

Congratulations! You have installed the Base Grav Package that provides a simple page and the default antimatter theme to get you started.

The result is unexpected, as per the Regex101 example linked above which uses PCRE.
For reference, system.yaml is set as:
absolute_urls: false

home:
  alias: '/home'

pages:
  theme: antimatter
  markdown_extra: false
  process:
	markdown: true
	twig: true

cache:
  enabled: false
  check:
	method: file
  driver: auto
  prefix: 'g'

twig:
  cache: false
  debug: true
  auto_reload: true
  autoescape: false

assets:
  css_pipeline: false
  css_minify: true
  css_rewrite: true
  js_pipeline: false
  js_minify: true

errors:
  display: true
  log: true

debugger:
  enabled: true
  twig: true
  shutdown:
	close_connection: true

Hi  @OleVik ,
I experienced the same issue in the past. As far as I have found out it is due to how Twig parses and processes params. I don't know actually, which one, but I think it was the backslash Twig strips out. That's why
{{ page.content|regex_replace("/
(.*?)<\/p>/", '
$1
') }}

doesn't work, whereas
{{ page.content|regex_replace("/
(.*?)<\\/p>/", '
$1
') }}

does work. Note the escaped backslash. You can write your own Twig function and test yourself, how Twig passes the arguments to your function. That's why regex_replace("~
(.*?)<\/p>~", ...) does work, because Twig strips out the backslash and the argument becomes "~
(.*?)
~", which PCRE understands. Thus, you can even use regex_replace("~
(.*?)
~", ...). In comparison with regex_replace("/
(.*?)<\/p>~/", ...), the argument becomes "/
(.*?)
~/", which is malformed for the PCRE compiler.
Thus, every time you use a backslash you have to escape it, too. However, in most of the cases you can avoid using backslashes, when sticking to the ~ boundary.
Hope it helps,
Sommerregen

Indeed, the double-escaped forward slash (\\/p) does work. From a bit more reading, coffee in hand, the tilde key is seemingly one of several possible delimiters for the PCRE-syntax. The difference in how Twig handles params led to some very varied results on local testing yesterday, and it might be advantageous to make a note of the syntactic peculiarities alongside the regex_replace-filter's documentation.


Suggestion: Integer Comparison

Suggestion

🔍 Search Terms

greater than
less than
equal to
integer
math
adding numbers
✅ Viability Checklist

My suggestion meets these guidelines:

[x] This wouldn't be a breaking change in existing TypeScript/JavaScript code
[x] This wouldn't change the runtime behavior of existing JavaScript code
[x] This could be implemented without emitting different JS based on the types of the expressions
[x] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, new syntax sugar for JS, etc.)
[x] This feature would agree with the rest of TypeScript's Design Goals.

⭐ Suggestion

The ability to compare integers as type declarations. Currently you can do so with strings but not numbers, which would be very useful.
📃 Motivating Example

I'm not sure what the best syntax would be but something like
type GreaterThan1 = > 1
type LessThan10 = < 10
type Two = 1 + 1

The motivating example was me trying to define an array with at least 1 element
type ArrayLengthMutationKeys = 'splice' | 'push' | 'pop' | 'shift' | 'unshift';
export type MinLengthArray<Element, Length extends number, ArrayPrototype = [Element, ...Element[]]> = Pick<
	ArrayPrototype,
	Exclude<keyof ArrayPrototype, ArrayLengthMutationKeys>
> & {
	[index: number]: Element;
	[Symbol.iterator]: () => IterableIterator<Element>;
       // suggested feature
	readonly length: > Length
};

💻 Use Cases

A currently functional example of this motivating example is
type AtleastOneLengthArray = [string, ...string[]];

The limitation of which is that if you were to use it like..
const func = (input: AtLeastOneLengthArray) => {}

const array = ["one", "two"]
func(array) // -> Argument of type 'string[]' is not assignable to parameter of type '[string, ...string[]]'

More generally this is useful when defining a value as a number, and if you require that it be less than some number
function assertsAtLeastFive = (input: number): asserts number is > 5 {
  if (input <= 5) throw "error";
}

which has uses when you're doing math manipulation and allows for the requirement of asserting values.
When defining complex typescript functions it's sometimes useful to be able to compare types or even add them. This is particularly useful for recursive methods. To do this comparison currently you need to do something like this..
type FortyFive = '0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|36|37|38|39|40|41|42|43|44|45|end'

// e.g. "0|1|2" -> ["0", "1|2"]
type Decompose<S> = S extends `${infer FirstNumber}|${infer RestOfSet}` ? [FirstNumber, RestOfSet]  : never;
type ToString<T> = T extends number ? `${T}` : never;

// max for LessThanThis is 45, ToBeCompared can be any integer
type LessThan<ToBeCompared extends number | string, LessThanThis extends number | string, Current=FortyFive> =
  ToString<ToBeCompared> extends Decompose<Current>[0]
    ? ToString<ToBeCompared> extends ToString<LessThanThis>
        ? false
        : true
    : ToString<LessThanThis> extends Decompose<Current>[0]
      ? ToString<LessThanThis> extends Decompose<Current>[0]
        ? false
        : true
      : Decompose<Current> extends never
        ? false
        : LessThan<ToBeCompared, LessThanThis, Decompose<Current>[1]>

// max for GreaterThanThis is 45, ToBeCompared can be any integer
type GreaterThan<ToBeCompared extends number | string, GreaterThanThis extends number | string> = LessThan<GreaterThanThis, ToBeCompared>

// is 1 greater than 2?
type Test1 = GreaterThan<1, 2> // -> false
// is 2 greater than 2?
type Test2 = GreaterThan<2, 2> // -> false
// is 3 greater than 2?
type Test3 = GreaterThan<3, 2> // -> true

// is 2 less than 1?
type Test4 = LessThan<2, 1> // -> false
// is 1 less than 1?
type Test5 = LessThan<1, 1> // -> false
// is 0 less than 1?
type Test6 = LessThan<0, 1> // -> true

But it would be nicer to instead do
// is 1 greater than 2?
type Test1 = 1 > 2 // -> false
// is 2 greater than 2?
type Test2 = 2 > 2 // -> false
// is 3 greater than 2?
type Test3 = 3 > 2 // -> true

// is 2 less than 1?
type Test4 =2 < 1 // -> false
// is 1 less than 1?
type Test5 = 1 < 1 // -> false
// is 0 less than 1?
type Test6 = 0 < 1// -> true

which would be useful, for example
type GetArrayElement<Array, Index, Current = 0> = Current extends Index ? Array[index] : GetArrayElement<Array, Index, Current + 1>

type example = GetArrayElement<["one", "two", "three"], 1>
// example -> "two"

Duplicate #26382


search by multiple keywords not working properly

I should add tests to prove the fix this time.

I've fixed this the above commit but just UPDATED because I hadn't tested at the time.
Now I have the test and confirm it passes the test.


Added support for ODataFeedAnnotations in ExecuteAsArrayAsync

Added support for ODataFeedAnnotations in ExecuteAsArrayAsync

Ping! @object

Sorry for delay. Testing it now.


Workaround for runtime returning wrong enum tag

Fixes #71.
In release builds, Swift <=5.7 may return the wrong tag for single-case enums that nest another enum. We can work around this by always returning "0" as the tag for single case enums.

Reported upstream in https://github.com/apple/swift/issues/61708

For future reference, the issue that was fixed is #71 and not #72.

@tgrapperon Whoops! Typo. Fixed thanks!


chromium: fix build on i686

ld.gold outs of memory on i686.
I am not sure why ld.gold is needed at all, probably use_gold = false; would be a better option.
I kept it true on 64-bit platforms only to avoid rebuild

@GrahamcOfBorg build pkgsi686Linux.chromium

cc @ivan

Well, it does not fix chromium_86 of current master - it fails because clang_11 is broken
But it does fix chromium_85 of an older master and hopefully will fix chromium_86 as soon as clang_11 will be fixed.

Be advised that I will be submitting a pull request that among other things makes Chromium always build with LLD, so you might just want to wait for that.


[SDP-774] Update tx worker to use crash tracker on failed tx's

What

Moved horizon tx error parsing logic to utils file
Call crash tracker when tx should be marked as an error

Why
[TODO: Why this change is being made. Include any context required to understand the why.]
Known limitations
[TODO or N/A]
Checklist
PR Structure

[ ] This PR has reasonably narrow scope (if not, break it down into smaller PRs).
[ ] This PR does not mix refactoring changes with feature changes (split into two PRs otherwise).
[ ] This PR's title starts with the name of the package, area, or subject affected by the change.

Thoroughness

[ ] This PR adds tests for the new functionality or fixes.
[ ] This PR contains the link to the Jira ticket it addresses.

Configs and Secrets

[ ] No new CONFIG variables are required -OR- the new required ones were added to the helmchart's values.yaml file.
[ ] No new CONFIG variables are required -OR- the new required ones were added to the deployments (pr-preview, dev, demo, prd).
[ ] No new SECRETS variables are required -OR- the new required ones were mentioned in the helmchart's values.yaml file.
[ ] No new SECRETS variables are required -OR- the new required ones were added to the deployments (pr-preview secrets, dev secrets, demo secrets, prd secrets).

Release

[ ] This is not a breaking change.
[ ] This is ready for production.. If your PR is not ready for production, please consider opening additional complementary PRs using this one as the base. Only merge this into develop or main after it's ready for production!

Deployment

[ ] Does the deployment work after merging?

stellar-disbursement-platform-backend-preview is available here:SDP:      https://sdp-backend-pr39.previews.kube001.services.stellar-ops.com/healthAP:       https://sdp-ap-pr39.previews.kube001.services.stellar-ops.com/healthFrontend: https://sdp-backend-dashboard-pr39.previews.kube001.services.stellar-ops.com

stellar-disbursement-platform-backend-preview is available here:SDP:      https://sdp-backend-pr39.previews.kube001.services.stellar-ops.com/healthAP:       https://sdp-ap-pr39.previews.kube001.services.stellar-ops.com/healthFrontend: https://sdp-backend-dashboard-pr39.previews.kube001.services.stellar-ops.com

stellar-disbursement-platform-backend-preview is available here:SDP:      https://sdp-backend-pr39.previews.kube001.services.stellar-ops.com/healthAP:       https://sdp-ap-pr39.previews.kube001.services.stellar-ops.com/healthFrontend: https://sdp-backend-dashboard-pr39.previews.kube001.services.stellar-ops.com

LGTM! Plz, feel free to merge it after addressing the suggestion below.
Also, do you think these comments are still valuable? Or can we delete them?

let's leave them in there, I think it could be helpful to other devs who want to touch this code 🙃

stellar-disbursement-platform-backend-preview is available here:SDP:      https://sdp-backend-pr39.previews.kube001.services.stellar-ops.com/healthAP:       https://sdp-ap-pr39.previews.kube001.services.stellar-ops.com/healthFrontend: https://sdp-backend-dashboard-pr39.previews.kube001.services.stellar-ops.com


Parallelize load speed

Improve speed of the load function by using pmap.
small refactoring on evaluate function
fix dependencies to be able to run neoscan_web

@lucianoengel I would like to hear your advice on the load function because it seems I saw more error of block synchronization after this change. Maybe making many requests in parallel hits a rate limiter of one of the seed API but I am not so sure.

Pull Request Test Coverage Report for Build 570

0 of 0 (NaN%) changed or added relevant lines in 0 files are covered.
8 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.8%) to 39.581%

Files with Coverage Reduction
New Missed Lines
%

apps/neoscan/lib/neoscan/blocks/blocks.ex
8
48.15%

Totals

Change from base Build 569:
-0.8%

Covered Lines:
397

Relevant Lines:
1003

💛  - Coveralls


Popup webages at end of setup

Close #20 .
Enhancement to helpfully open all the newly-installed and configured web portals in the user's web browser at the end of setup.

LGTM 🚀


invalid character '\r' in string literal

D:\Servers\Atlas\AtlasMapViewer-master\Src>atlasmapviewer.exe
2019/06/22 08:01:38 invalid character '\r' in string literal
Getting this when I run the atlasmapviewer.exe
Everything looks correct on configs, etc.

I actually saved it in the editor (jsons) and it must have fixed it. We edit it manually because the editor was messing it up. But for the map viewer its fine. Thx
5x8 still showing blue boxes:
http://atlas.doubleegaming.com:8900


Number of codebooks and calculation of bitrates

❓ Questions
I don't understand how you come to the smallest bitrate of 1.5 kbps for the 24kHz model:
If I understand correctly, we take a multiple of 4 number of codebooks (4, 8, 12, ... so 4 would be the minimum), and we have 10 bits per codebook (2^10 = 1024 entries), and for the 24kHz model 75 latent codes per second, giving us the smallest possible bit rate:
4 * 10 bits * 75 1/s = 3kbps
However, both the paper and the README state that the lowest bitrate is 1.5kbps.
Looking at the bitrate progression (1.5, 3, 6, 12, 24), which doubles at each step, wouldn't that rather correspond to 2, 4, 8, 16, 32 codebooks being used? Maybe I am just misinterpreting or missing something, could you please clarify this point?

1.5 kbps is indeed two codebooks, sorry if a typo somewhere made you think it was 4, can you point me to what made you think we used multiple of 4 codebooks ?

okay, that's a mistake ! thanks for pointing this out, we will fix it in the next revision of the paper.

Hi @rkstgr: how to print the VQ code vectors of EnCodec?

Good catch @rkstgr

i was confused for a second thanks


Fix pointer mismatch with pam plugin

I was trying to authenticate via the pam backend plugin and it failed with an exception:
[Macaron] PANIC: runtime error: cgo argument has Go pointer to Go pointer
Someone pointed me to
https://github.com/pmoody-/golang-pam/commit/e5f9028af25fd791b54a23e762ed4fc0505f59ab
which is a similar library. Making the equivalent changes seems to have fixed my issue.

Thanks for the PR!
I've updated vendor from its upstream via https://github.com/gogits/gogs/commit/0778d7de80ebbd6b1b7c7d7d5676655b7706f1f4. Please help check if problem solved.

I'm not seeing any problems with the upstream code either. Thanks


[W5.11][F14-A2] Wynona Kaan Syn Yarn

Standardised Name to follow the format Name: Name Name Name.

The enhancement is really useful standardize the case for the name. Can the work if the word is the name is one letter as it attempts to read substring(1).


[Feature] Notification about update (instead of auto download + install)

I had to disable "check for updates" under Help > About because Atom would download updates over a roaming connection (wifi tethererd via phone). But now I have to remember to check for updates. Wouldn't it be better if it would still check for updates but give a notification for it when one is available?
The default behaviour could still be to automatically download and install them, but instead of a checkbox with "Check for updates" I'd rather see a "Automatically download updates" option and a notification if it isn't checked.
Or maybe this is an idea for a package? I have no experience with building those for atom so... uuhm.. I'd need help with that :)

Doesn't the little blue squirrel on the status bar indicate if new updates are available? Or am I completely confused on that, or does it only show if you have auto-update enabled? If I'm not confused, would the squirrel do the trick, or are you looking for something more in lines of a popup notification?

Uhm which squirill..? Did I miss that? Anyway, i think that would not work when atom doesn't check for updates at all when the box is unchecked and that's the only option we have atm.
By popup you mean a dialog? Nah, something like a native windows or osx notif should do the trick (just slide in to view and dismissed after a bunch of seconds) just to let you know it's there.

As discussed in https://github.com/atom/about/pull/12, the Squirrel framework (which we use for our autoupdating support) doesn't currently support this mode of operation. Until that changes, we're not going to be able to offer this ability.
Also, since all of our updating functionality is now in the about package, this Issue should be on that repository. Would you mind reopening it there?


validation_mail: user and password set via env variable

In the moment the user and password cannot be set through env variables.
<New id="validation_mail" class="org.eclipse.jetty.plus.jndi.Resource">
    <Arg>mail/Session</Arg>
    <Arg>
      <New class="org.eclipse.jetty.jndi.factories.MailSessionReference">
        <Set name="user"></Set>
        <Set name="password"></Set>
        <Set name="properties">
          <New class="java.util.Properties">
            <Put name="mail.smtp.host"><Env name="SMTP_HOST" default="localhost"/></Put>
            <Put name="mail.smtp.port"><Env name="SMTP_PORT" default="25"/></Put>
          </New>
        </Set>
      </New>
    </Arg>
  </New>

Is it possible to change the code, that the user and password can set with env values?

👋  @makotr
Is certainly possible to add support for SMTP authentication configuration. However, we've tried to avoid adding that type of configuration support into this image because SMTP authentication can get a little complicated in certain scenarios. There are several existing lightweight images whose primary purpose is to provide relay support for an upstream SMTP server that requires authentication (for example juanluisbaptiste/docker-postfix).
Now, that said, if there is a reason that using a dedicated container for handling SMTP authentication won't work for you, we'll look at adding it. We're just trying to avoid complicating the code if it's not needed.

I'm closing this issue since we haven't received a response in a while. Please to leave a comment if you'd like it re-opened!


Migration between Different Database?

I want to migration from mysql to mongodb, Is that possible?

Hey @prashant7july, I don't know if you got it right, but mongration is not a "migration between databases" tool it is a "migration for MongoDB databases". Also, MongoDB and MySQL have lots of differences. For example, MongoDB doesn't have some concepts that MySQL does (i.e: tables). So, personally saying, I think that it would be really hard to do something like that perfectly (but it is a really interesting problem to solve).
Therefore, mongration is a tool that will help you to make changes to your running mongodb databases. For example, in one day you have 3 records in your database, and mongration will have some modifications (called migrations) that may alter those 3 records (adding data to them, removing, etc.). So, you run a command and mongration will say if the migrations ran successfully, how many migrations ran and etc.
I found this StackOverflow thread interesting to your case: http://stackoverflow.com/questions/6251548/converting-database-from-mysql-to-mongodb.
And this: http://linuxpitstop.com/migrate-mysql-to-mongodb-using-mongify-utility-linux/.
Do you mind if I close this issue?


Build failure: kanjidraw

Steps To Reproduce
Steps to reproduce the behavior:
nix build .#kanjidraw
Build log
log here if short otherwise a link to a gist
trace: /nix/store/z56pw70zn945wp6dx2zhvbflncd4fw4r-vim-pack-dir
note: keeping build directory '/tmp/nix-build-kanjidraw-0.2.3.drv-0'
error: builder for '/nix/store/zkic1k4b14wg4p0w90f1gbl8dcmd1naf-kanjidraw-0.2.3.drv' failed with exit code 2;
       last 60 log lines:
       > writing dependency_links to kanjidraw.egg-info/dependency_links.txt
       > writing entry points to kanjidraw.egg-info/entry_points.txt
       > writing top-level names to kanjidraw.egg-info/top_level.txt
       > writing manifest file 'kanjidraw.egg-info/SOURCES.txt'
       > reading manifest file 'kanjidraw.egg-info/SOURCES.txt'
       > reading manifest template 'MANIFEST.in'
       > adding license file 'LICENSE.AGPLv3'
       > writing manifest file 'kanjidraw.egg-info/SOURCES.txt'
       > Copying kanjidraw.egg-info to build/bdist.linux-x86_64/wheel/kanjidraw-0.2.3-py3.10.egg-info
       > running install_scripts
       > creating build/bdist.linux-x86_64/wheel/kanjidraw-0.2.3.dist-info/WHEEL
       > creating 'dist/kanjidraw-0.2.3-py3-none-any.whl' and adding 'build/bdist.linux-x86_64/wheel' to it
       > adding 'kanjidraw/__init__.py'
       > adding 'kanjidraw/data.json'
       > adding 'kanjidraw/gui.py'
       > adding 'kanjidraw/lib.py'
       > adding 'kanjidraw-0.2.3.dist-info/LICENSE.AGPLv3'
       > adding 'kanjidraw-0.2.3.dist-info/METADATA'
       > adding 'kanjidraw-0.2.3.dist-info/WHEEL'
       > adding 'kanjidraw-0.2.3.dist-info/entry_points.txt'
       > adding 'kanjidraw-0.2.3.dist-info/top_level.txt'
       > adding 'kanjidraw-0.2.3.dist-info/RECORD'
       > removing build/bdist.linux-x86_64/wheel
       > Finished executing setuptoolsBuildPhase
       > installing
       > Executing pipInstallPhase
       > /build/source/dist /build/source
       > Processing ./kanjidraw-0.2.3-py3-none-any.whl
       > Installing collected packages: kanjidraw
       > Successfully installed kanjidraw-0.2.3
       > /build/source
       > Finished executing pipInstallPhase
       > pythonOutputDistPhase
       > Executing pythonOutputDistPhase
       > Finished executing pythonOutputDistPhase
       > post-installation fixup
       > shrinking RPATHs of ELF executables and libraries in /nix/store/lj63p383hrgjcsivlqk5zinslli3z576-kanjidraw-0.2.3
       > checking for references to /build/ in /nix/store/lj63p383hrgjcsivlqk5zinslli3z576-kanjidraw-0.2.3...
       > patching script interpreter paths in /nix/store/lj63p383hrgjcsivlqk5zinslli3z576-kanjidraw-0.2.3
       > stripping (with command strip and flags -S -p) in  /nix/store/lj63p383hrgjcsivlqk5zinslli3z576-kanjidraw-0.2.3/lib /nix/store/lj63p383hrgjcsivlqk5zinslli3z576-kanjidraw-0.2.3/bin
       > shrinking RPATHs of ELF executables and libraries in /nix/store/lajnz2l4vb59cpydf1vff22i99pn19z7-kanjidraw-0.2.3-dist
       > checking for references to /build/ in /nix/store/lajnz2l4vb59cpydf1vff22i99pn19z7-kanjidraw-0.2.3-dist...
       > patching script interpreter paths in /nix/store/lajnz2l4vb59cpydf1vff22i99pn19z7-kanjidraw-0.2.3-dist
       > Rewriting #!/nix/store/5a457g4zr7q11b4mz0ifc9z88kwcp8g7-python3-3.10.12/bin/python3.10 to #!/nix/store/5a457g4zr7q11b4mz0ifc9z88kwcp8g7-python3-3.10.12
       > wrapping `/nix/store/lj63p383hrgjcsivlqk5zinslli3z576-kanjidraw-0.2.3/bin/kanjidraw'...
       > Executing pythonRemoveTestsDir
       > Finished executing pythonRemoveTestsDir
       > running install tests
       > python3 -m kanjidraw.gui --verbose --doctest
       > Traceback (most recent call last):
       >   File "/nix/store/5a457g4zr7q11b4mz0ifc9z88kwcp8g7-python3-3.10.12/lib/python3.10/runpy.py", line 196, in _run_module_as_main
       >     return _run_code(code, main_globals, None,
       >   File "/nix/store/5a457g4zr7q11b4mz0ifc9z88kwcp8g7-python3-3.10.12/lib/python3.10/runpy.py", line 86, in _run_code
       >     exec(code, run_globals)
       >   File "/build/source/kanjidraw/gui.py", line 25, in <module>
       >     import tkinter as tk
       >   File "/nix/store/5a457g4zr7q11b4mz0ifc9z88kwcp8g7-python3-3.10.12/lib/python3.10/tkinter/__init__.py", line 37, in <module>
       >     import _tkinter # If this fails your Python may not be configured for Tk
       > ModuleNotFoundError: No module named '_tkinter'
       > make: *** [Makefile:12: test] Error 1
       For full logs, run 'nix log /nix/store/zkic1k4b14wg4p0w90f1gbl8dcmd1naf-kanjidraw-0.2.3.drv'.
note: keeping build directory '/tmp/nix-build-source.drv-1'
note: keeping build directory '/tmp/nix-build-source.drv-0'
error: 1 dependencies of derivation '/nix/store/zmpvnnkrhvn6az9ld8zl97k17b2p

Additional context
I wanted to install jiten that used to work a few weeks ago
Notify maintainers

@obfusk
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
nixos-unstable with sandbox

This is related to #238990.
I can build it on the current HEAD bf0b22ff023d0628270ac6f14a9c75a91cfdd11a.

indeed it builds and works. Thanks


refactor: make Set.mem_graphOn defeq

The definition as an image is cute but not very useful. Also unsimp graphOn_univ since the RHS contains f more times than the LHS does.

Later, I would like to introduce Set.graph to have a Set version with good defeqs of LinearMap.graph and alike

The definition as an image is cute but not very useful.

Can you explain what you mean here? To me, the definition is the "obvious" one, and the fact that almost all API lemmas now need to go through graphOn_eq_image is a strong sign that the definition was useful. What are your concrete examples showing that your new definition is any more useful than the old one?
Indeed, a lemma saying s.graphOn f = {x | x.1 ∈ s ∧ f x.1 = x.2} seems like the more reasonable solution if you'd like this equality to be present.

Maybe the convincing argument for you will be

Later, I would like to introduce Set.graph to have a Set version with good defeqs of LinearMap.graph and alike

Indeed, this is why I ask for concrete examples and more explanation. Let me elaborate further:

In what way are the defeqs that you are invisaging helpful?
How are they more helpful than the current one, which has clear value in writing the basic API?
What is your proposed definition of Set.graph, and how does the relate, specifically, to the change here?


build tensorflow Image Recognition with c++

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow):
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): ubuntu 16.04
TensorFlow installed from (source or binary):
TensorFlow version (use command below):
Python version:
Bazel version (if compiling from source): 0.6.1
GCC/Compiler version (if compiling from source):
CUDA/cuDNN version:8.0
GPU model and memory:5.4.0
Exact command to reproduce:

I follow this tutorial try to build a a c++ tensorflow program.
Here is the steps:

build tensorflow from source. I am sure this step is right, because I can install python tensorflow with the whl file built by this step.
in the tensorflow source code directory, I run this command:

bazel build tensorflow/examples/label_image/...
the build failed with following logs(partial, because whole log is too big)

WARNING: /home/scott/github/tensorflow/tensorflow/tensorflow/core/BUILD:1781:1: in includes attribute of cc_library rule //tensorflow/core:framework_headers_lib: '../../external/nsync/public' resolves to 'external/nsync/public' not below the relative path of its package 'tensorflow/core'. This will be an error in the future. Since this rule was created by the macro 'cc_header_only_library', the error might have been caused by the macro implementation in /home/scott/github/tensorflow/tensorflow/tensorflow/tensorflow.bzl:1044:30
INFO: Analysed 2 targets (0 packages loaded).
INFO: Found 2 targets...
INFO: From ProtoCompile tensorflow/core/example/example.pb.cc:
bazel-out/local_linux-py3-opt/genfiles/external/protobuf_archive/src: warning: directory does not exist.
INFO: From ProtoCompile tensorflow/core/grappler/costs/op_performance_data.pb.cc:
bazel-out/local_linux-py3-opt/genfiles/external/protobuf_archive/src: warning: directory does not exist.
bazel-out/local_linux-py3-opt/genfiles/external/protobuf_archive/src: warning: directory does not exist.
INFO: From ProtoCompile tensorflow/contrib/cloud/kernels/bigquery_table_partition.pb.cc:
bazel-out/local_linux-py3-opt/genfiles/external/protobuf_archive/src: warning: directory does not exist.
INFO: From Executing genrule //tensorflow/cc:array_ops_genrule:
2017-12-01 15:02:52.546440: W tensorflow/core/framework/op_gen_lib.cc:372] Squeeze can't find input squeeze_dims to rename
ERROR: /home/scott/github/tensorflow/tensorflow/tensorflow/examples/label_image/BUILD:14:1: Linking of rule '//tensorflow/examples/label_image:label_image' failed (Exit 1)
/usr/bin/ld: warning: libcudnn.so.6, needed by bazel-out/local_linux-py3-opt/bin/_solib_local/_U_S_Stensorflow_Sexamples_Slabel_Uimage_Clabel_Uimage___Utensorflow/libtensorflow_framework.so, not found (try using -rpath or -rpath-link)
bazel-out/local_linux-py3-opt/bin/_solib_local/_U_S_Stensorflow_Sexamples_Slabel_Uimage_Clabel_Uimage___Utensorflow/libtensorflow_framework.so: undefined reference to `cudnnGetConvolutionBackwardDataAlgorithm'

I found the cause. I need configure LPATH to include path of  libcudnn.so. Although I put the lib at the standard location. I am not familiar with bazel, so get confused at start.


Drawing very big vectors

Lets say i have one very big data vector with stable items array:
[[datetime, price1, price2, price3],[...][...],...]
To draw 3 lines with prices:1,2,3 i should iterate over vector 3 times to crate 3 vectors with [datetime,price1],[datetime,price2],[datetime,price3]
Would it be more efficient to give a ref on a main vector to plotters and then set 3 accessors funcs to let plotters now how to pull out particular [x;y] for specified chart type;
It could looks like:
type DataVectorItem = (datetime_type,price_type,price_type,price_type);
ChartBuilder::on(root)
    .data(&vector)
    .build_ranged(time_start..time_end, min..max).unwrap();

        chart
            .draw_series(LineSeries::new(
                |data_item:&DataVectorItem| => (x,y) { (data_item.0,data_item.3) }, // accessor func
                &RGBColor(45,140,220).mix(0.9),
            )).unwrap();

What you say?

I think you should be able to do that already.
LineSeries takes anything that impls IntoIterator<Item = Coord> trait.
https://docs.rs/plotters/0.2.6/plotters/prelude/struct.LineSeries.html

Great, sorry for noob question.


Show profile and enabled features in version output

It will be nice to know how the binary is compiled including its enabled features and profile.
Usually the information is collected by build script, but build script was removed from the project due to #3368.
Fortunately we still have Makefile. Giving that we already need to use make dist_release to generate binaries used in production, I think it's OK to rely on Makefile to gather those necessary information. For features, we can just dump the environment variable ENABLE_FEATURES. For profile, we can either define a new environment variable, or just inspect the value of cargo environment variable OUT_DIR, which should have sub-string target/release/ for release profile and target/debug/ for debug profile.
Contributors can add the information into function tikv_version_info, which is defined in src/lib.rs.
/cc @overvenus @nrc

I'd like to try this.

@zhangmoon Thanks!
Just another thought, maybe the build script can be just added to simplify the detection. But make sure to print "cargo:rerun-if-changed=build.rs" to avoid triggering the rebuild accidentally like #3368.
/cc @breeswish

Resolved by #6215.


Wait for secondary state can fail

This is an extract from the test in game_interruptions/throw_in/procedure, when running 652786f. Note that this error does not happen systematically but highlights a problem of sync that can occur under certain circumstances.
[0014.547|0140.176] Info: Sending 17544:THROWIN:32:ABORT to GameController.
[0014.547|0140.176] Info: Waiting for GameController to answer to 17544:THROWIN:32:ABORT.
[0014.747|0140.176] Info: Waiting for GameController to answer to 17544:THROWIN:32:ABORT.
[0014.947|0140.176] Info: Sending 17547:CARD:32:1:WARN to GameController.
[0014.947|0140.176] Info: Waiting for GameController to answer to 17547:CARD:32:1:WARN.
[0015.148|0140.176] Info: Waiting for GameController to answer to 17547:CARD:32:1:WARN.
[0015.355|0140.184] Info: Ball touched before execute, aborting throw in
[0015.355|0140.184] Info: Waiting for secondary state: NORMAL:0
[0015.355|0140.184] Info: Sending 17551:THROWIN:32:ABORT to GameController.
[0015.355|0140.184] Info: Waiting for GameController to answer to 17551:THROWIN:32:ABORT.
[0015.556|0140.184] Info: Waiting for GameController to answer to 17551:THROWIN:32:ABORT.
[0015.756|0140.184] Error: Received illegal answer from GameController for message 17551:THROWIN:32:ABORT.
[0015.756|0140.184] Info: Sending 17554:CARD:32:1:WARN to GameController.
[0015.756|0140.184] Info: Waiting for GameController to answer to 17554:CARD:32:1:WARN.
[0015.956|0140.184] Info: Waiting for GameController to answer to 17554:CARD:32:1:WARN.
[0016.164|0140.192] Info: New secondary state received from GameController: STATE_NORMAL, phase 0.
[0016.164|0140.192] Info: State has succesfully changed to STATE_NORMAL:0

This shows that on two consecutive ticks, despite the fact that the referee is expected to wait for the secondary  state NORMAL, the referee takes action which results in attempting to ABORT again and send a second warning to the robot.
Expected behavior would be that no action is taken by the referee while the expected state has not been received by the GameController.

This is also probably what happened here: https://www.twitch.tv/videos/1047768522
Note that it has then potential to put the autoref in an invalid state from which it fails to get out.
The logs state:
[2134.105|0142.768] Info: Direct free kick awarded to blue team.
[2134.105|0142.768] Info: Waiting for secondary state: DIRECT_FREEKICK:0
[2134.105|0142.768] Info: Sending 17901:DIRECT_FREEKICK:7 to GameController.
[2134.105|0142.768] Info: Waiting for GameController to answer to 17901:DIRECT_FREEKICK:7.
[2134.305|0142.768] Info: Waiting for GameController to answer to 17901:DIRECT_FREEKICK:7.
[2134.505|0142.768] Info: Waiting for GameController to answer to 17901:DIRECT_FREEKICK:7.
[2135.004|0142.784] Info: New secondary state received from GameController: STATE_DIRECT_FREEKICK, phase 0.
[2135.004|0142.784] Info: State has succesfully changed to STATE_DIRECT_FREEKICK:0
[2135.004|0142.784] Info: Awarding a direct free kick.
[2135.064|0142.784] Info: Red team has held the ball for too long.
[2135.064|0142.784] Info: Ball not in play, will be kicked by a player from the blue team.
[2135.064|0142.784] Info: Direct free kick awarded to blue team.
[2135.064|0142.784] Info: Waiting for secondary state: DIRECT_FREEKICK:0
[2135.064|0142.784] Info: Sending 17907:DIRECT_FREEKICK:7 to GameController.
[2135.064|0142.784] Info: Waiting for GameController to answer to 17907:DIRECT_FREEKICK:7.
[2135.264|0142.784] Info: Waiting for GameController to answer to 17907:DIRECT_FREEKICK:7.
[2135.465|0142.784] Info: Waiting for GameController to answer to 17907:DIRECT_FREEKICK:7.
[2135.665|0142.784] Error: Received illegal answer from GameController for message 17907:DIRECT_FREEKICK:7.
[5400.018|0321.496] Info: Interrupting game automatically after 5400 seconds


Add deprecation warning that native_support_kwargs in load file

Description
What is the current behavior?

Since we have introduced load_options  add a deprecation warning for load_file param native_support_kwargs

closes: #1591
What is the new behavior?

Add deprecation warning that load_options will be replacing native_support_kwargs parameter
Add the test for the same
Changes in documentation is already part of last release: https://astro-sdk-python.readthedocs.io/en/stable/astro/sql/operators/load_file.html#loadoptions

Does this introduce a breaking change?
No
Checklist

[x] Created tests which fail without the change (if possible)
[x] Extended the README / documentation, if necessary

Merging it. CI fail is unrelated.


Report card integration with Topdesk

Issues reported using the report card in the osa-demo2 city app need to be saved into Topdesk.
Because the city can customize the fields of an issue, the message flow will need to be generated.
Project repo: https://github.com/our-city-app/topdesk-python-integration

Setup is done. However i don't find any docs on how callbacks are done


Add a note about model serialization

I was not sure where this should go, hope it's OK this way.

Looks great, thanks!


Gradio Error

ModuleNotFoundError                       Traceback (most recent call last)
 in
5 import os, gdown, gc
6 import numpy as np
----> 7 import gradio as gr
8 from diffusers import FlaxStableDiffusionPipeline, StableDiffusionPipeline
9 import torch
ModuleNotFoundError: No module named 'gradio'

NOTE: If your import is failing due to a missing package, you can
manually install dependencies using either !pip or !apt.
To view examples of installing some common dependencies, click the
"Open Examples" button below.

thanks @kieranxsomer ❤ please try again


Updated Roll and related classes to 0.8.3

Changelog
Added

Added RollTerm, closes #698, closes #699
Added MathTerm, closes #700
Added NumericTerm, closes #701
Added StringTerm, closes #705
Added OperatorTerm, closes #702
Added Parenthetical Term, closes #703
Added PoolTerm, closes #704
Added .vscode folder to .gitignore

Changed

Updated DiceTerm, closes #344
Updated Die, closes #344
Updated Coin, closes #344
Updated FateDie, closes #344
Updated Roll  closes #343

Deprecated

Deprecated DicePool, closes #706

Bump


Update to match the 1.0 plugin api

Here is a change to keep this working with APISpec 1.0.  The plugin api has changed to be class based.  Also based on changes in APISpec it is now more convenient for this plugin to automatically add type schemas into the spec.  So I added that too.
Summary of changes:
Moved class based plugin api
Added automatic addition of type schemas to the spec
Moved plugin code to a package
Added tests
@lafrech thoughts?

Seems like you put a lot of work into this, thanks! I will look into this tomorrow.

Sorry guys, didn't get the time to look at this.

@Bangertm I just noticed you inherited from the main MarshmallowPlugin. Will this become a problem if other extensions do the same? Or if you load the original MarshmallowPlugin as well?

Looks like the apispec plugin API is a bit too limited for what we're trying to achieve.
We could propose here a OneOfOpenAPIConverterMixin with the schema2jsonschema override (and is_oneof as a static method). (I've got a thing with mixins, these days, I use mixins everywhere...)
And in apispec, we could add a class attribute (or optional init parameter ?) to pass the OpenAPIConverter class. This way, the user could craft a custom MarshmallowPlugin combining several lib mixins in an OpenAPIConverter.
And we could propose here a OneOfMarshmallowPlugin with a OneOfOpenAPIConverter for convenience, for the majority of users who are not in the "multiple libs customizing marshmallow plugin" case.
Thinking again, if we pass the OpenAPIConverter class as class attribute to the MarshmallowPlugin, we could need to also pass its init parameters. Maybe we're better off only accepting an OpenAPIConverter instance as init parameter to MarshmallowPlugin.
I can't look into this much further right now. I hope this helps.
One last thing. Sorry @timakro for bringing this up again, but if this feature ever makes it into apispec core, it will need to be written from scratch due to the license choice (LGPL). It's never too late for you to relicense, but if you accept external contribution, I'm afraid it will need the approval of every single contributor.

@Bangertm I just noticed you inherited from the main MarshmallowPlugin. Will this become a problem if other plugins do the same? Or if you load the original MarshmallowPlugin as well?

My thought was this MarshmallowPlugin does everything that the main one does with the addition of handling OneOfSchema so they should just use this one instead of the main one. If both pulgins are added to spec added will overwrite the previous one and they will probably get errors about adding schemas to the spec twice.
@lafrech I think this non-ideal but more or less fine. I was thinking that it might be convenient to not have to subclass MarshmallowPlugin and just provide the OpenAPIConverter class desired as an initialization parameter.  OpenAPIConverter needs an instance of APISpec or else it can't add nested schemas to the spec.
Although actually this situation is probably easier for users because all they need to change is where MarshmallowPlugin is imported from...

Oh, right. OpenAPIConverter needs the spec object at init time so what I wrote above is wrong. And the schema name resolver. With current apispec API, it should definitely be instantiated from MarshmallowPlugin at app init time.

@lafrech I like to keep my projects licensed with (L)GPL because I believe in the idea that changes should be shared and others should be free to see the source and benefit from them. I would like to see this in apispec core too and I don't want to prevent the usage of this code - merging code bases is always better than forking.
If someone is implementing it in apispec core I hereby grant them the rights to use the code for apispec-oneofschema as well as apispec-swaggerinherit under MIT in the apispec project.
You could also contact me and I will relicense to MIT, call the project deprecated and link to the apispec project.

Thanks. I knew you would. I just thought we could be kinda stuck if you merged an even minor contribution from a user that you couldn't reach afterwards, because I think you'd need his approval for the license change.
This said, I can't tell when I'll take the time to work on that...

@lafrech Ah, now I understand you. I guess that could be a problem, I will keep that in mind.


Is bitcoin address supported?

Bitcoin address would take up 26-35, see here for the information from Bitcoin wiki

A Bitcoin invoice address, or simply invoice, is an identifier of 26-35 alphanumeric characters, beginning with the number 1, 3 or bc1 that represents a possible destination for a bitcoin payment. Invoices can be generated at no cost by any user of Bitcoin. It is also possible to get a Bitcoin invoice address using an account at an exchange or online wallet service.

There are currently three invoice address formats in use:
P2PKH which begin with the number 1, eg: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2.
P2SH type starting with the number 3, eg: 3J98t1WpEZ73CNmQviecrnyiWrnqRhWNLy.
Bech32 type starting with bc1, eg: bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq.

Ethereum address would take up 42 characters long for the prefixed address, see here for the information from Ethereum documentation glossary

An Ethereum address represents an account. For EOA, the address is derived as the last 20 bytes of the public key controlling the account, e.g., cd2a3d9f938e13cd947ec05abc7fe734df8dd826. This is a hexadecimal format (base 16 notation), which is often indicated explicitly by appending 0x to the address. Web3.js and console functions accept addresses with or without this prefix but for transparency we encourage their use. Since each byte of the address is represented by 2 hex characters, a prefixed address is 42 characters long. Several apps and APIs are also meant to implement the new checksum-enabled address scheme introduced in the Mist Ethereum wallet as of version 0.5.0.

Can you help to raise a PR for this? We're working on V4 here #169, if you can help, we will include this as part of new v4 feature. Thanks


Fix training when model head has multi input (e.g. RARE, MASTER)

RARE / MASTER raises error ("model does not support tuple input") after the recent change. This is a fix.
Thank you for your contribution to the MindOCR repo.
Before submitting this PR, please make sure:

[ ] You have read the Contributing Guidelines on pull requests
[ ] Your code builds clean without any errors or warnings
[ ] You are using approved terminology
[ ] You have added unit tests

Motivation
(Write your motivation for proposed changes here.)
Test Plan
(How should this PR be tested? Do you require special setup to run the test or repro the fixed bug?)
Related Issues and PRs
(Is this PR part of a group of changes? Link the other relevant PRs and Issues here. Use https://help.github.com/en/articles/closing-issues-using-keywords for help on GitHub syntax)

@tonytonglt can check robustscanner with this change

@tonytonglt can check robustscanner with this change

OK, I'll adapt robustscanner to this change.


#1500 - Simplify JavaDocs

Hello people,
Here goes my second pull request for this repository.
I know that this is a massive pull request as it covers a lot of files but I've done my due diligence with regards to the change that was asked. Hence, I have only touched those files where this was really required.
It took me four days to sift through the entire codebase. Please let me know if I have made a mistake so I can fix it.
Thanks,
Jafer

Hi! Thanks for the PR.
It looks like the Checkstyle is not enjoying this new syntax, I'll take a look if they already support this feature, otherwise, I'll open an issue in the repo.

I checked the CI logs right now and noticed it too. I genuinely thought that this change would not cause any build issues. I should've checked the build on my machine before submitting a pull request but I hope that an update to the newest version of Checkstyle could resolve the issue. I am not sure whether this feature is supported by it right now.

https://github.com/checkstyle/checkstyle/issues/9745

@jaferkhan I appreciate all the hard work you have done here. Unfortunately the size of the PR makes reviewing it a nearly impossible task. Can you do multiple smaller PRs, say for each specific language syntax change, for which we then can file separate issues linking to the original? Again, my apologies for not stating this in the original issue.

@manorrock Thank you so much for the appreciation. It means a lot. I completely agree with you that this makes it difficult for the team to review the changes; so I should be creating multiple smaller pull requests.
I apologize for causing any confusion but this pull request covers only one language syntax feature, which is the Javadoc return inline tag.
The problem that we are currently experiencing right now is that the build fails with my changes because Checkstyle doesn't support these changes at the moment. @Thihup created an issue in their repository, which can be found here: checkstyle/checkstyle#9745
If it helps, you may find the files affected per module by this pull request:
MODULE				|  FILES CHANGED
jpa				|  02
piranha-api			|  01
piranha-cdi-weld		|  03
piranha-embedded		|  02
piranha-extension-micro-core	|  01
piranha-http-api		|  03
piranha-http-impl		|  01
piranha-http-undertow		|  01
piranha-micro-builder		|  02
piranha-micro-loader		|  03
piranha-monitor-jmx		|  02
piranha-naming-impl		|  04
piranha-naming-thread		|  01
piranha-nano			|  04
piranha-pages-wasp		|  01
piranha-resource-api		|  03
piranha-resource-impl		|  06
piranha-resource-shrinkwrap	|  02
piranha-server			|  01
piranha-server2			|  01
piranha-servlet-api		|  54
piranha-session-hazelcast	|  01
piranha-transaction-api		|  03
piranha-transaction-nonxa	|  04
piranha-webapp-api		|  18
piranha-webapp-impl		|  35
piranha-webapp-impl-test	|  02
soteria-basic			|  01
soteria-form			|  01
wicket				|  01

Please let me know how you would like to proceed on this.

OK we'll need to figure out if we can turn the Checkstyle check off just for this particular usage. @Thihup Any insights here?

@manorrock Looks like adding <property name="allowMissingReturnTag" value="true"/> to the JavadocMethod module of Checkstyle in the pom.xml disable the error. Unfortunately, during my tests, I've hit this Javadoc bug. It would be good to check if this error happens in the Github action too.
But for that, @jaferkhan could you please fix the conflicts? Most of them are related to some classes that were removed
[ERROR] Exit code: 1 - warning: unknown enum constant Resolution.OPTIONAL
[ERROR]   reason: class file for org.osgi.annotation.bundle.Requirement$Resolution not found
[ERROR] javadoc: error - An internal exception has occurred.
[ERROR]         (java.lang.IndexOutOfBoundsException: Index: 0, Size: 0)
[ERROR] Please file a bug against the javadoc tool via the Java bug reporting page
[ERROR] (http://bugreport.java.com) after checking the Bug Database (http://bugs.java.com)
[ERROR] for duplicates. Include error messages and the following diagnostic in your report. Thank you.
[ERROR] java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
[ERROR]         at jdk.compiler/com.sun.tools.javac.util.List.get(List.java:490)
[ERROR]         at jdk.javadoc/jdk.javadoc.internal.doclint.Checker.visitReturn(Checker.java:944)
[ERROR]         at jdk.javadoc/jdk.javadoc.internal.doclint.Checker.visitReturn(Checker.java:105)
[ERROR]         at jdk.compiler/com.sun.tools.javac.tree.DCTree$DCReturn.accept(DCTree.java:701)
[ERROR]         at jdk.compiler/com.sun.source.util.DocTreePathScanner.scan(DocTreePathScanner.java:76)
[ERROR]         at jdk.compiler/com.sun.source.util.DocTreeScanner.scanAndReduce(DocTreeScanner.java:87)
[ERROR]         at jdk.compiler/com.sun.source.util.DocTreeScanner.scan(DocTreeScanner.java:102)

Unfortunately the error @Thihup is seeing locally also happens when executing using the workflow. @jaferkhan We probably want to do a new smaller PR with the Checkstyle check turned off and if that works then follow it by a number of smaller PRs.

@manorrock,
You may proceed to close this pull request now as all the changes that are available here now live independently in separate pull requests.

This was addressed by a series of smaller PRs by @jaferkhan. Closing this.


layoutManager.reverseLayout = true; scrollbar not working

when set layoutManager.reverseLayout = true，scrollbar not working

This library is deprecated. Let me know if the same issue persists in MaterialScrollBar2


fix: change Nullable usage (#13791)

PR Summary
changed format of nullable usage to one more appropriate
PR Context
related to #13791
PR Checklist

[x] PR has a meaningful title

Use the present tense and imperative mood when describing your changes

[x] Summarized changes
[x] Make sure all .h, .cpp, .cs, .ps1 and .psm1 files have the correct copyright header
[x] This PR is ready to merge and is not Work in Progress.

If the PR is work in progress, please add the prefix WIP: or [ WIP ] to the beginning of the title (the WIP bot will keep its status check at Pending while the prefix is present) and remove the prefix when the PR is ready.

Breaking changes

[x] None

/retest

Not sure why this fails, is there a way to retrigger the tests?

Restarted Windows CI.

@iSazonov, seems the checks passed can you approve this PR so I can continue?


[KED-1901] Update iconography

Description

Update icons with new paths that @GabrielComymQB sent over via Zeplin.
Remove unnecessary .pipeline-icon--stroke class, that is no longer needed now that the paths for the relevant icons have been converted to strokes.
Remove xmlns attributes from inline SVGs. These attributes aren't necessary when SVGs are embeddded in HTML.

Development notes
The most noteworthy thing is that many of the icons' paths lengths have changed, and some of them are a bit less complex, being outlined rather than stroked. This has allowed some of them to be simplified.
QA notes
The differences are subtle - mainly, some of the icons are a little smaller - especially the theme, text labels, and minimap icons. The best way to compare them is to open the demo page in another tab and switch back and forth between the dev site and the demo.

Checklist

[x] Read the contributing guidelines
[x] Opened this PR as a 'Draft Pull Request' if it is work-in-progress
[ ] Updated the documentation to reflect the code changes
[ ] Added new entries to the RELEASE.md file
[ ] Added tests to cover my changes

Legal notice

[x] I acknowledge and agree that, by checking this box and clicking "Submit Pull Request":

I submit this contribution under the Apache 2.0 license and represent that I am entitled to do so on behalf of myself, my employer, or relevant third parties, as applicable.

I certify that (a) this contribution is my original creation and / or (b) to the extent it is not my original creation, I am authorised to submit this contribution on behalf of the original creator(s) or their licensees.

I certify that the use of this contribution as authorised by the Apache 2.0 license does not violate the intellectual property rights of anyone else.

Looks good!
A minor thing but do you think the layers icon might need to be a little smaller here? Say 1.6em (or equivalent SVG change) to appear roughly the same size as the surrounding icons?

Looks good!
A minor thing but do you think the layers icon might need to be a little smaller here? Say 1.6em (or equivalent SVG change) to appear roughly the same size as the surrounding icons?

@bru5 I had the same thought - it wasn't included in this icon set so I wasn't able to update it. I'd prefer to update the SVG rather than use CSS. I'll ping @GabrielComymQB about it.

@bru5 I had the same thought - it wasn't included in this icon set so I wasn't able to update it. I'd prefer to update the SVG rather than use CSS. I'll ping @GabrielComymQB about it.

@bru5 Have updated the layers icon with @GabrielComymQB's approval:

@bru5 Have updated the layers icon with @GabrielComymQB's approval:


User interface to sort by number of publications

This patch adds the user interface to allow for sorting events by the
number of publications. This allows for example to easily find events
without any publications.
This patch will only work once #1758 is merged to fix the broken
back-end.
Your pull request should…

[x] have a concise title
[x] close an accompanying issue if one exists
[x] be against the correct branch (features can only go into develop)
[x] include migration scripts and documentation, if appropriate
[x] pass automated testing
[x] have a clean commit history
[x] have proper commit messages (title and body) for all commits
[x] have appropriate tags applied

To be clear, this is a binary field right?  It's either got publications, or it doesn't?  "Sort by number of publications" implies to me that I can sort by actual number of publications (ie, default wf is 3, fast is 1).

publications is actually a nested field, basically storing an array of complex objects. That's why the current sorting did not work. The fix in #1758 fixes the error by using the number of publications for dorting. So, it's actually the number. It's not binary.


application.getAll(): Drop unnecessary getUserId() call

Resolves: #689
Change-type: patch
Signed-off-by: Thodoris Greasidis<EMAIL_ADDRESS>
Contributor checklist

[ ] Includes tests
[ ] Includes typings
[ ] Includes updated documentation
[ ] Includes updated build output

@sradevski that's what I also expected but the coffeelint as we currently have it thought otherwise...
I will add to my todo list to transition to resin-lint and eventually to TS :)


Bump app version in the chart to 2.3.3

Issue: SRE-881

This change is

@andrewstevenson rebased.


[rcore] Graphic Artifacts with Camera2D

Using these Camera2D settings rl.Camera2D{Offset: rl.Vector2{X: 62, Y: 185}, Target: rl.Vector2{X: 15.5, Y: 46.25}, Zoom: 7} results in:

But using these doesn't rl.Camera2D{Offset: rl.Vector2{X: 62, Y: 185}, Target: rl.Vector2{X: 15.55, Y: 46.25}, Zoom: 7}:

Here is the image (tile.png) I use:
An this is the Code written in go:
package main

import (
	rl "github.com/gen2brain/raylib-go/raylib"
)

const (
	cellSize  = 16
	mapHeight = 10
	mapWidth  = 10
)

func main() {
	rl.InitWindow(1280, 720, "My Game")
	defer rl.CloseWindow()

	texture := rl.LoadTexture("tile.png")
	defer rl.UnloadTexture(texture)

	cam := rl.Camera2D{Offset: rl.Vector2{X: 62, Y: 185}, Target: rl.Vector2{X: 15.5, Y: 46.25}, Zoom: 7}

	for !rl.WindowShouldClose() {

		rl.BeginDrawing()
		rl.ClearBackground(rl.White)
		rl.BeginMode2D(cam)

		for y := 0; y < mapHeight; y++ {
			for x := 0; x < mapWidth; x++ {
				var position rl.Vector2
				position.X = float32(x*cellSize/2 - y*cellSize/2)
				position.Y = float32(x*cellSize/4 + y*cellSize/4)
				rl.DrawTextureV(texture, position, rl.White)
			}
		}

		rl.EndMode2D()
		rl.EndDrawing()
	}
}

Background: My approach is to draw an isometric 2D map. I made the tile red and the background white, so you can see the "issue" better.
The camera will be controlled by the mouse, but I removed that part to make the code more clear.

@JupiterRider I think this issue could be GPU/driver dependant or related to rounding issues on the drawing. I recommend:

Round to absolute values the float position
Change scaling filter for the texture to use point filter (use SetTextureFilter())

If problem is not solved with those two options, I'm afraid it could be out the control of raylib.

Thanks for your reply! I could get around this, avoiding odd numbers in the Camera2D zoom.


update README.md

Fixes: #17

Is this still correct? @Sgtfishtank
https://github.com/Eyevinn/hls-monitor/blob/c5afbc61f4fc7cd1ef02d21479475a07a6d70c4b/README.md?plain=1#L44-L50


Fix code view (diff) broken layout

Close #22911
I think it's ready for review now, feel free to test it, welcome to help to improve.
Before

After

Make sure to test the code expansion via these buttons:

This stuff is sensitive to column number.

Make sure to test the code expansion via these buttons:

Yes, I have tested, that's in blob_excerpt.tmpl

Thanks @wxiaoguang. I have done some testing and it looks like this fixes the problem without any noticeable regressions.
So, functionally it works as expected. I don't feel experienced enough with html / css to approve the PR myself from the technical point of view though.

Since it works, I hope I can receive a LGTM from you later. No hurry, take enough time to test till you feel it works really well.
And no worry, I will fix all bugs caused by me.

Codecov Report

Merging #23096 (9cfec6d) into main (f521e88) will decrease coverage by 47.15%.
The diff coverage is n/a.

:exclamation: Current head 9cfec6d differs from pull request most recent head 617eca9. Consider uploading reports for the commit 617eca9 to get more accurate results

@@             Coverage Diff             @@
##             main   #23096       +/-   ##
===========================================
- Coverage   47.14%        0   -47.15%
===========================================
  Files        1149        0     -1149
  Lines      151446        0   -151446
===========================================
- Hits        71397        0    -71397
+ Misses      71611        0    -71611
+ Partials     8438        0     -8438

see 1149 files with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Audio is mute when Do not Disturb Mode is ON in iOS

Audio is mute when Do not Disturb / Silence Mode is ON in iOS.
Actual output:
Audio is mute even media volume is changed.
Expected output:
It should purely depend on media volume.
lib: react-native-video : 4.4.4

You should be using the ignoreSilentSwitch prop to get this to work. However, I’m noticing that these props aren’t always getting passed. If you grep for that variable in the RTVideo.m file in the library itself, you can hardcode it.

@flexgrip works for me!


import pkg_resources.py31compat causes no module error

While pip installing jupyter with a version of setuptools cloned just before this post, I came across a no module error coming from setuptools:
ImportError: No module named py31compat
which comes from setuptools/setuptools/sandbox.py, line 15
import pkg_resources.py31compat
However, in setuptools/pkg_resources/__init__.py, line 72, py31compat is imported there:
from . import py31compat
Therefore, it seems unnecessary to do
import pkg_resources.py31compat
in sandbox.py. It's a python file already included when importing the pkg_resources submodule. One can just do:
import pkg_resources
This fixed the problem for me.
Any reason for using an import statement directly to the python file within the submodule that already includes it in init.py?
I've also had this problem on older python environments while installing other libraries. Not sure what would change in an existing environment to cause this problem.

Actually, I see now that this also happens in easy_install.py
from setuptools.py31compat import get_path, get_config_vars
from setuptools.py27compat import rmtree_safe

Is there a clear reason why this is causing errors? These individual files are not recognized as modules.

Any reason for using an import statement directly to the python file within the submodule that already includes it in init.py?

Yes. pkg_resources isn't importing py31compat for the purpose of exporting it, but instead for the purpose of using it locally. It doesn't appear in pkg_resources.__all__. If one removed all usage of py31compat in pkg_resources, linters would indicate py31compat as an unused import and it would get removed. It's best for modules to import the requisite modules from their canonical locations.

Actually, I see now that this also happens in easy_install.py.

Really? You get "no module errors" in attempts to import setuptools.py31compat? That's even more surprising.
I'm going to have to ask you to do more investigation, as these modules work just fine in CI tests and for most users all day long.
My suspicion is that there's something unique to your environment that's corrupting or changing your installation of setuptools after your environment is started up. Maybe you're starting Jupyter, then installing packages or downgrading packages. Such a change might cause parts of setuptools to be imported from one install and others from another install.
If you can provide steps to replicate the issue, especially if the steps are minimally producing the error, someone here may be able to help investigate.

Seeing a similar issue, but when starting up Zope. (I know Zope does a lot of module path scanning and importing which may cause this.
However, when I replace the line in pkg_resources.init.py
from . import py31compat
with
py31compat = __import__('pkg_resources.py31compat')
it works without a problem. (but I have no idea what the actual difference is there)
even the next line works which should be the equivalent of the relative import.
py31compat = __import__('', globals(), locals(), ['py31compat'], 1)
Really no idea what's happening here and where the actual problem is. Just thought I'll throw this in to provide a potential pointer into the issue.

Came upon this thread when following http://webapp.org.ua/build-automation/using-buildout-system-on-windows/ (used latest where I could).
C:\Users\mtdeguzis> easy_install --version
Traceback (most recent call last):
  File "C:\Python27\Scripts\easy_install-script.py", line 11, in <module>
    load_entry_point('setuptools==36.7.1', 'console_scripts', 'easy_install')()
  File "C:\Python27\lib\site-packages\pkg_resources\__init__.py", line 565, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "C:\Python27\lib\site-packages\pkg_resources\__init__.py", line 2631, in load_entry_point
    return ep.load()
  File "C:\Python27\lib\site-packages\pkg_resources\__init__.py", line 2291, in load
    return self.resolve()
  File "C:\Python27\lib\site-packages\pkg_resources\__init__.py", line 2297, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "build\bdist.win-amd64\egg\setuptools\command\easy_install.py", line 47, in <module>

  File "build\bdist.win-amd64\egg\setuptools\sandbox.py", line 15, in <module>
ImportError: No module named py31compat

@mtdeguzis I think there's evidence of a corrupted install in your traceback. Notice how pkg_resources is in C:\Python27\lib\site-packages\pkg_resources but setuptools is found at build\bdist.win-amd64\egg\setuptools (presumably installed as a .egg).
So you probably have two installs of setuptools, one as an egg and another 'externally managed' (maybe pip or virtualenv installed).
If you're using buildout or any installer than pip, your best bet is to work with that installer project to help ascertain where things went awry.
Most likely, you can work around the issue by removing the offending packages (i.e. setuptools and pkg_resources directories in site-packages), especially if you have a suitable setuptools*.egg there.
Based on this new evidence, I don't believe there's a flaw in Setuptools that needs to be corrected, but rather we're seeing evidence of improper installs that's only been exaggerated by the introduction of this (proper) import.
Feel free to continue to investigate. If you can find a valid scenario that I can replicate, especially without involving external installers like buildout, I can continue to investigate. If you can replicate the issue with buildout only, I suggest working with that project to isolate the issue.

That was the case, extra package, thanks

You've bumped up against limitations in easy_install. It's not viable to use easy_install to upgrade packages installed by other installers such as pip or Debian apt (known to setuptools as externally-managed). What you're getting is corrupted environment where both versions of setuptools are installed, but Python import semantics are allowing the older pkg_resources to take precedence. Here's what's happening:

The easy_install upgrade has added setuptools 36.7.2 to your site-packages, but left setuptools 28.8.0 installed as externally-managed packages.
easy_install command imports pkg_resources, which uses Python's import semantics and since setuptools 25, eggs no longer get precedence. So the pkg_resources from setuptools 28.8.0 gets imported.
pkg_resources loads setuptools 36.7.2 as indicated in the easy_install script and invokes the command. Presumably, this gives precedence now to the 36.7.2 package before setuptools is imported, so setuptools module comes from 36.7.2.
When setuptools from 36.7.2 attempts to import something from pkg_resourecs, because it was imported in in step (2) from 28.8.0, it doesn't have the module that setuptools expects and requires.

The recommendation here is to not use easy_install to install anything. Instead, use pip install -U setuptools.

Hi, ... I know this issue is closed, but here is my case...
I have pip 9.0.1 installed, which has a 'vendored in' version of pkg_resources without py31compat package....
Whichever pkg_resources get's loaded first is the winner ;(

@gweis: Even though pip has a vendored pkg_resources, I wouldn't expect that version of pkg_resources to be loaded as sys.modules['pkg_resources'].
>>> import pip
>>> pip._vendor.pkg_resources
<module 'pip._vendor.pkg_resources' from '/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pip/_vendor/pkg_resources/__init__.py'>
>>> import sys
>>> 'pkg_resources' in sys.modules
False

So in that case, if one were to import pkg_resources, I would expect it to get that package from a top-level package and not from pip.

Finally tracked it down.
I suspected that pip may be the issue because, that was the only other pkg_resources module I could find in my file system. (also there is no other setupttools version installed anywhere)
However, in my case I have a namespace module org with an __init__.py file containing:
__import__('pkg_resources').declare_namespace(__name__)
When my app starts up, something is importing stdlib copy module which tries to import from org.python.core import PyStringMap which will load my __init__.py from my namespace package, which again tries to use copy (within pkg_resources/_vendor/pyparsing) and then somewhere further up in the call stack, something was catching the AttributeError on import and seemed to have left some of the module imports in a funny state. etc....
Essentially, using __import__('pkg_resources').declare_namespace(__name__) created an recursive import chain in my case.
Lesson to take form this. Don't use org as namespace package or use pkgutil.extend_path instead of pkg_resources.declare_namespace if unavoidable.
(Still not clear why using __import__ works but from . import doesn't though.)

Instead of doing installation from pkg resources
apt-get install python3-dbus

I was fixed in the latest pip3 release (20.0), so I upgraded pip and pull dbus-python module :
pip3 install --upgrade setuptools pip
pip3 install dbus-python


Animation stopped after navigate.goBack()

[x] Review the documentation: https://docs.viromedia.com/
[x] Search for existing issues: https://github.com/viromedia/viro
[x] Use the latest ViroReact release: https://docs.viromedia.com/docs/releases

Environment
Please provide the following information about your environment:

Development OS: Windows 10 Build 1809
Device OS & Version: Android OS version 8.0
Version: ViroReact v2.13.0 and React Native v0.57.7
Device(s): Samsung Galaxy S7 (G930FD)

Description
First of all, I just focus on Android and have tested to run it on Samsung Galaxy S7. I use React-Navigation for navigating. In my app, I have this StackNavigator:
const AppNavigator = createStackNavigator(
    {
        login: Login,
        home: Home,
        earnCoins: EarnCoins,
        profile: Profile,
    },
    {
        initialRouteName: "login",
        headerMode: 'none'
    });

At Home scene and Profile scene, I add Viro3DSceneNavigator for showing a multipart animated 3D models. According to Viro document, I need to set initialScene.
For Home scene,
<Viro3DSceneNavigator style={styles.viro} apiKey="2AE4B758-D40B-4EE5-858A-54C8CE1CED20" viroAppProps={this.state.viroProps} initialScene={{ scene: AvatarHome3DScene }} />

For Profile scene,
<Viro3DSceneNavigator style={styles.viro} apiKey="2AE4B758-D40B-4EE5-858A-54C8CE1CED20" viroAppProps={props} initialScene={{ scene: Avatar3DScene }} />

My app flow is:
- Login scene -> click button "Next"
                                        -> Home scene -> Click "Profile" -> Profile scene
                                                    \--> Click "EarnCoins" -> EarnCoins scene

And "Back" button is implemented: navigate.goBack()
My issue: Animation is stopped when nagivate.goBack()
I checked a lot of documents and issues related to Viro3DSceneNavigator but I haven't found any solution. Also, I added "Feed" button in the Home Scene to call setState in order to re-render Viro3DObjects but nothing changed
Reproducible Demo
At Home scene, the animation work well. If I navigate to Profile and go back from there, the animation (Home scene) will be stopped. However, If I go back to the "Login" scene and click "Next" to "Home" scene, the animation (at Home scene) work normally again

Source code: https://github.com/tansangxtt/viro
Video: https://youtu.be/rtZFqWI_cRQ

Hi @tansangxtt,
Sorry for the delayed response, it looks like you're running multiple Viro3DSceneNavigators at the same time. This isn't really a supported use case and may lead to undefined behaviors like what you observe. To mitigate the issue, you can consider using a static image in the side view rather than a 2nd Viro3DSceneNavigator.
Thanks,

Thanks @achuvm for your reply
First, if I use only 1 Viro3DSceneNavigator, I have to do the navigation manually and not sure it works properly. Basically, I want to put the animated 3D model in 3 separated scenes. As I understand your ideal, I need to show/unshow the 3D model?
One more related issue, there is an AR scene and ViroARSceneNavigator is used as well. After goback() from here, the animation also is stopped
Do you have any advise, recommendation for this situation?
Thank you

Hi @achuvm, after many tries, I found that Viro3DSceneNavigator cannot be used more than one time although I used it in the different components. Because it is necessary and natural to show the 3D model in different scenes (react-native UI)
Could it be a bug or limitation?


removed one space after the "Icon" text

Checklist:

[ ] I have read freeCodeCamp's contribution guidelines.
[ ] My pull request has a descriptive title (not a vague title like Update index.md)
[ ] My pull request targets the master branch of freeCodeCamp.
[ ] All the files I changed are in the same world language, for example: only English changes, or only Chinese changes, etc.

Closes #XXXXX

Hi @fahad1226, thanks for creating this PR, but this not a change we will be making at this time.
While we cannot accept this contribution, if you would like to help out, please take a look at our contributing guide for other things you can do.


Not correctly typing d.ts typingsfiles of Typescript. Returns video/mp2t.

Current Behavior
When trying to guess the mime type of a typescript typingsfile the package returns 'video/mp2t'.
Wanted Behavior
return the correct mime type.

Hello, sorry you are having an issue. All types come from the dependency mime-db and would need to be changed there, as this module is just an API over that module and doesn't contain any mappings itself.


Always visible file path

VSCode Version: 1.5.1
OS Version: Windows 10

It would be nice if there was an option to toggle the visibility the file path at all times of the current tab.
So, when it is enabled, it would display like this (red is only to make it stand out in the example):

Have you tried this extension: https://marketplace.visualstudio.com/items?itemName=RoscoP.ActiveFileInStatusBar

I have not... I will give it a try...

@TheColorRed , the extension @mrmlnc has suggested should solve your needs to see the file path.
So closing this issue.
Apart from this, there is already another item that tracks showing the file path (or parts of it) in the tab when there are multiple files open in tabs with same name but different paths #8499


Add log_config to config API page

Context
What is the purpose of this PR? Is it to

[ ] add a new feature
[ ] fix a bug
[x] update tests and/or documentation
[ ] other (please add here)

Changelog

Add log_config to config API page
Update docstring for log_config

Test plan
EYES

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 26.49%. Comparing base (71741df) to head (a222850).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1048      +/-   ##
==========================================
+ Coverage   26.43%   26.49%   +0.06%
==========================================
  Files         182      182
  Lines        8058     8069      +11
==========================================
+ Hits         2130     2138       +8
- Misses       5928     5931       +3

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Require all fields in components in markdown widget

Hi, is there a way to require fields (for ex. alt, title and img in image component) in markdown widget?
Is your feature request related to a problem? Please describe.
N/A
Describe the solution you'd like
Maybe prop in config?
 - {
          label: "Bio",
          name: "bio",
          widget: "markdown",
          pattern: ["^.{1,300}$", "Maximum length exceeded"],
          required_component_fields: true
   }

Describe alternatives you've considered
Custom component, but is it necessary?
Additional context
N/A

Hi @marceleq27, do you mind filling all the fields from https://github.com/netlify/netlify-cms/issues/new?assignees=&labels=type%3A+feature&template=feature_request.md&title=Please+replace+with+a+clear+and+descriptive+title?
I'm having a hard time understanding this feature request.
Is it about requiring that an editor component will be a part of the Markdown? For example if you have a Youtube editor component, each markdown should have at least 1?

Hmm, let me explain it better.
Right now if you are writing for ex. blog post in markdown widget, you can save file even if you have empty fields in Image. I want to make this fields required.

Hi, yes, kinda, solution is simple - migrate to Storyblok :D

Closing as stale.