Improve Playwright/E2E testing setup

[x] I have read and understand the pull request rules.

Description
While working on my "Monitor Conditions" PR #5048, I identified issues with the E2E setup. That PR introduced a new spec and a helper function to handle the setup process. However, that caused the "setup" spec to break if its ran after my new spec.
This PR addresses the following:

Run "Setup Process" spec only once:

The "setup process" spec now runs only once to avoid issues with re-running specs in the Playwright UI.
It skips if the SQLite database already exists.

Order of Execution:

Ensure the "setup process" spec runs before feature specs, preventing a scenario where a feature spec is executed before the SQLite/user setup.
Achieved using Playwright’s projects feature and project dependencies.

Improved Spec Isolation via an opt-in Database Reset:

Provide a function that can be called in test.beforeAll, test.beforeEach, or in an individual test, which resets the DB to a clean (freshly setup) state.
Achieved by snapshotting the SQLite DB at the end of the setup spec. Specs/tests can then call this function that replaces the database with the clean snapshot. Snapshotting & restoration are accomplished via a new E2E-only middleware on the server.

Closes #5052
Type of change

Other

Checklist

[x] My code follows the style guidelines of this project
[x] I ran ESLint and other linters for modified files
[x] I have performed a self-review of my own code and tested it
[x] I have commented my code, particularly in hard-to-understand areas (including JSDoc for methods)
[x] My changes generates no new warnings
[x] My code needed automated testing. I have added them (this is optional task)

(also, the e2e-test test in CI should likely pass ^^)

(also, the e2e-test test in CI should likely pass ^^)

I believe there's something flaky about starting the webserver before Playwright. Will see if I can figure it out.
Note: I did not change anything that would affect this, afaik.
  4) [run-once setup] › setup-process.once.js:19:9 › Uptime Kuma Setup › setup admin ───────────────

    Error: page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:30001/
    =========================== logs ===========================
    navigating to "http://localhost:30001/", waiting until "load"
    ============================================================

FYI: CI can reproduce this 3/3 times I tried => maybe something about your machines power being higher?
CI runs on githubs, not very fast servers...
Soory that I currently don't have time to help you furhter due to other work (the usual pre-holiday stress ^^)

I believe I found a race condition in the existing setup spec.
The "setup sqlite" test fills out the form and submits but doesn't wait for anything. Playwright continues on to the "setup admin" test. If the server's fast enough, then there's no problem. But if the server is slower for whatever reason, the "setup admin" test goes to / expecting to get the Admin user form, but instead gets the DB setup page again.
I've worked around this by awaiting the /setup redirect that occurs when the DB setup form gets its response from the server: await page.waitForURL("/setup");
That seems to have fixed the issue.


[Removal]:

Hotspot Name
Future Mint Boar
Hotspot b58 Address
112rYK7UhzchT3jbLUJVUFZDdTP7L2zLmnVuXVyTbV23y8n3cKWF
Discord Handle
stephenito#4523
Hotspot Manufacturer
SenseCAP
Removal Reason
Because there was a guy that falsely accused us to cheat.
Modifications
No
Extra forwarders
No
Extra antennas
No
Additional Information
The guy accusing us, said that we are mining from miners that do not exist and that we are using the same address on everything. We are a company (Stormnetwork AS) with a total of 13 hotspots in Lyngdal city. And every hotspot is linked to the same address. But the problem with this accusation is that one of our friends that are not in the company and don't have the same address even, has been shut down.
Even if the case were valid, this is not the right thing to do haha. All of our hotspots are placed strategically with ´line of sight´ taken seriously. Every hotspot are perfectly placed and are covering as much land as possible.
The case against us is: #283
The case are missing evidence and are totally false.

We have taken into account this removal request in the next iteration of the denylist. It may take some time before it's processed. This is an automated comment due to the volume of addition and removal requests. A future tool is in the works to provide more insight into the analysis approach made by the Helium team and community members that maintain this list.


Integrated Azure Service Bus with OneOps OpAmp module

Closing this PR since new PR# 376 was merged with master.


MAINT: fix issues with np.matrix as input to functions related to kmeans

Intended to address https://github.com/scipy/scipy/issues/4705.  Tests are included.

I was tempted to use _asarray_validated but it is buried in scipy.linalg.decomp.  Would it make sense to have a function like this available at a shallower level?  Or is it OK for scipy.cluster.vq to reach into scipy.linalg.decomp for imports?

50 minute timeout

_asarray_validated: maybe move it to scipy/_lib/_util.py?

+1 for moving to _lib/, too many cross-submodule imports is undesirable.

OK, I've moved the array validation to _lib/_util.py and it is called at the top of most of the public functions of the vq module.  An exception is the k argument of kmeans which seems to have more complicated initialization.  Personally I think that the arguments specifying the number of clusters vs. specifying initial properties of the clusters should not have been combined into a single argument, but changing this would be out of scope here.

LGTM, merged. Thanks Alex.


Enums: error when dbValue doesn't exist in Enum-Values

Bug Description
I think #956  has the same problem.
If I have values in table, which doesn't exist in the given Enum, then I get the following error. I don't use string-values. I use byte, short, int, long.
Exception Message:
System.ArgumentNullException: 'Value cannot be null. Arg_ParamName_Name'

Model:
    public enum TestEnum : int
    {
        None = 0,
        Type1 = 1
    }
    public class TestTable
    {
        public long ID { get; set; }
        public TestEnum TestType { get; set; }
    }

Compiler creates:
new TestTable()
{
    ID = reader.GetInt64(0),
    TestEnum = Convert(Parse(TestEnum, GetName(TestEnum, Convert(reader.GetInt32(1), Object)), True), TestEnum)
}

Assume reader.GetInt32(1) returns "4". But "4" doesn't exist in TestEnum. Then GetName returns "null". Parse throws the error...

Expected Behaviour
return default(TestEnum)
Possible Solution
long dbValue = 4; //note, in this case the db-type differs from the corresponding enum-type int
var baseType = typeof(TestEnum).GetEnumUnderlyingType();

object convertedDbValue = dbValue;
if (baseType != dbValue.GetType()) //if dbValue-Type differs from underlying enum-type
	convertedDbValue = Convert.ChangeType(dbValue, baseType); //ex. long to int

object result;
if (Enum.IsDefined(typeof(TestEnum), convertedDbValue))
	result = Enum.ToObject(typeof(TestEnum), dbValue);
else
	result = default(TestEnum);
return result;

Solution translated to Compiler
Replace the following Method in Compiler.cs:
(I never used Expression before!)
internal static Expression ConvertExpressionToEnumExpressionForNonString(Expression expression, Type toEnumType)
{
	Type baseType = toEnumType.GetEnumUnderlyingType();
	if (baseType != expression.Type)
	{
		var convertMethod = StaticType.Convert.GetMethod("ChangeType", new[] { StaticType.Object, StaticType.Type });
		var convertParameters = new Expression[]
		{
			Expression.Convert(expression, StaticType.Object),
			Expression.Constant(baseType)
		};
		expression = Expression.Call(convertMethod, convertParameters);
	}
	else
		expression = Expression.Convert(expression, StaticType.Object);

	var isDefinedMethod = StaticType.Enum.GetMethod("IsDefined", new[] { StaticType.Type, StaticType.Object });
	var isDefinedParameters = new Expression[]
	{
			Expression.Constant(toEnumType),
			expression
	};
	var isDefinedExpression = Expression.Call(isDefinedMethod, isDefinedParameters);

	var toObjectMethod = StaticType.Enum.GetMethod("ToObject", new[] { StaticType.Type, StaticType.Object });
	var toObjectParameters = new Expression[]
	{
			Expression.Constant(toEnumType),
			expression
	};
	var toObjectExpression = Expression.Call(toObjectMethod, toObjectParameters);

	var defaultExpression = Expression.Convert(Expression.Default(toEnumType), StaticType.Object);

	return Expression.Condition(isDefinedExpression, toObjectExpression, defaultExpression);
}

Library Version:
Current master.

I have thought about it again. The following code should be the best. It corresponds to the C# language specification. More about this topic can be found here IsBad(Enum.IsDefined). There is also an interesting Enum-Discussion.
var result = (TestEnum)reader.GetInt32(1);

Solution translated to Compiler
internal static Expression ConvertExpressionToEnumExpressionForNonString(Expression expression, Type toEnumType)
{
        return Expression.Convert(expression, toEnumType);
}

An Enum-Option could be also conceivable

this solution: accept all (c# design)
the upper solution: use default, when not defined
the current solution: throw error, when not defined

The following error occurs when reading a value of Enum from the DB which is not present to the target CLR Enum Type.
Int Type: System.ArgumentNullException: 'Value cannot be null. (Parameter 'value')'
String Type: System.ArgumentException: 'Requested value 'Other' was not found.'

Relating: #814

I would like to know how to best handle this thing. Should I silently handle and pass it? Or, throw an exception like what's happening today?
Or, should I introduce a new setting in the GlobalConfiguration.Options?
The fix is a bit simple, like simply casting it as per the 814. (see below)
// Enum
public enum Gender
{
    Male = 1,
    Female = 2
}

// Simply cast (only for Int type)
var male = (Gender)1;
var female = (Gender)2;
var other = (Gender)3;

But I guess, it would have a scenario impact to the user.

Using GlobalConfiguration.Options.EnumHandling
public enum EnumHandling
{
    ThrowError = 0, //Default
    UseDefault = 1,
    Cast = 2
}

internal static Expression ConvertExpressionToEnumExpressionForNonString(Expression expression, Type toEnumType)
{
    EnumHandling handler = EnumHandling.ThrowError; //GlobalConfiguration.Options.EnumHandling

    if (handler == EnumHandling.Cast)
        return Expression.Convert(expression, toEnumType);

    Type baseType = toEnumType.GetEnumUnderlyingType();
    if (baseType != expression.Type)
    {
        var convertMethod = StaticType.Convert.GetMethod("ChangeType", new[] { StaticType.Object, StaticType.Type });
        var convertParameters = new Expression[]
        {
            Expression.Convert(expression, StaticType.Object),
            Expression.Constant(baseType)
        };
        expression = Expression.Call(convertMethod, convertParameters);
    }
    else
        expression = Expression.Convert(expression, StaticType.Object);

    var isDefinedMethod = StaticType.Enum.GetMethod("IsDefined", new[] { StaticType.Type, StaticType.Object });
    var isDefinedParameters = new Expression[]
    {
            Expression.Constant(toEnumType),
            expression
    };
    var isDefinedExpression = Expression.Call(isDefinedMethod, isDefinedParameters);

    Expression notDefinedExpression;
    if (handler == EnumHandling.UseDefault)
        notDefinedExpression = Expression.Convert(Expression.Default(toEnumType), StaticType.Object);
    else
    {
        var stringConcat = StaticType.String.GetMethod("Concat", new[] { typeof(string), typeof(string) });
        var errorMessage = Expression.Call(stringConcat, Expression.Constant(toEnumType.Name + " doesn't define enum-value "), Expression.Call(expression, StaticType.Object.GetMethod("ToString")));

        var argumentExceptionConstructor = typeof(ArgumentException).GetConstructor(new[] { StaticType.String });
        var throwException = Expression.Throw(Expression.New(argumentExceptionConstructor, errorMessage), StaticType.Object);

        notDefinedExpression = throwException;
    }

    var toObjectMethod = StaticType.Enum.GetMethod("ToObject", new[] { StaticType.Type, StaticType.Object });
    var toObjectParameters = new Expression[]
    {
            Expression.Constant(toEnumType),
            expression
    };
    var toObjectExpression = Expression.Call(toObjectMethod, toObjectParameters);

    return Expression.Condition(isDefinedExpression, toObjectExpression, notDefinedExpression);
}

Thanks for the inputs, we will consider this ;)

The fixes will be available on the next release > RepoDB v1.13.0-alpha2.

Will you be able to test the latest alpha? (Alpha 3)

With RepoDB v1.13.0-alpha3 from nuget, I get the same error like before.
But, I currently use a "fork", for fixing the errors, on my side. If I copy the code from current Compiler.cs, it works on my side. It seems, that your changes aren't included in alpha3.

Have you tried setting the ConversionType to Automatic? I forgot to mention, the Casting and Enum Default conversion will only happen if you have set it to 'Automatic'.

yes, I did.

Below are the code changes made, the Integration Tests are not yet written though.
Enum as String: https://github.com/mikependon/RepoDB/blob/1e70f26f539c19891b156bc566d113a59962fd07/RepoDb.Core/RepoDb/Reflection/Compiler/Compiler.cs#L684
Enum as Int: https://github.com/mikependon/RepoDB/blob/1e70f26f539c19891b156bc566d113a59962fd07/RepoDb.Core/RepoDb/Reflection/Compiler/Compiler.cs#L707
We tested many times and it is working?

Oh. Looks like then, we might have built the package from the master before the actual fixes/code has been merged then. Anyway, we can issue a new alpha, or maybe promote to a beta so we can start work on our documentations. We will notify you ASAP once the new package has been pushed.

Please use the version RepoDb v1.13.0-beta1.

Now it works, Thanks!!

Thanks for confirming. We can now start with the updates on the documentation and change log blogging :)


chat window remaining open

Not sure if this is a bug or a feature, but either way its vastly irritating.
When I open the chat window with t or / and say something in chat or execute a command, rather then closing the chat window it remains open and I need to click escape to be able to move again. its a tiny thing but if it could be changed/fixed that would be great
http://imgur.com/a/z72Ct

You have the chat pinned. Click the square in the top right corner of the
chat window.
On Thu, Sep 15, 2016 at 9:34 AM Scrael<EMAIL_ADDRESS>wrote:

Not sure if this is a bug or a feature, but either way its vastly
irritating.
When I open the chat window with t or / and say something in chat or
execute a command, rather then closing the chat window it remains open and
I need to click escape to be able to move again. its a tiny thing but if it
could be changed/fixed that would be great
http://imgur.com/a/z72Ct
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/killjoy1221/TabbyChat-2/issues/62, or mute the thread
https://github.com/notifications/unsubscribe-auth/ADQIKqLgkdlRshjEoRvCBCh6TTu9Gh1Wks5qqUl4gaJpZM4J934I
.


Lendex.QueryInsolventAccounts

Return a list of accounts that are eligible for liquidation and at what rate

Opened  #142


Setup Null Matches to Display Schedule Start Time

When a Match hasn't been played for a live event add the schedule start time

Done


Not starting

Traceback (most recent call last):
  File "electrum\exchange_rate.py", line 253, in query_all_exchanges_for_their_ccys_over_network
  File "aiorpcx\curio.py", line 382, in __aexit__
aiorpcx.curio.TaskTimeout: task timed out after 10s

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "run_electrum", line 93, in <module>
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "PyInstaller\loader\pyimod03_importers.py", line 495, in exec_module
  File "electrum\__init__.py", line 28, in <module>
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "PyInstaller\loader\pyimod03_importers.py", line 495, in exec_module
  File "electrum\daemon.py", line 53, in <module>
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "PyInstaller\loader\pyimod03_importers.py", line 495, in exec_module
  File "electrum\exchange_rate.py", line 265, in <module>
  File "electrum\exchange_rate.py", line 257, in get_exchanges_and_currencies
  File "asyncio\runners.py", line 44, in run
  File "asyncio\base_events.py", line 647, in run_until_complete
asyncio.exceptions.CancelledError

Could you try https://github.com/Electrum-RVN-SIG/electrum-ravencoin/releases/tag/v1.0.0


Got error Exception(28) when lost power in modem.

Hi @monstrenyatko
me again 😄
I got Exception(28) when call function mqtt->yield(30000L); in loop() function in ESP8266 when I turn off my WiFi modem.
I tried to test in so many cases and I figure out is in mqtt->yield(30000L) function. and I also try in your example. It was the same.
could you please check that.
thank you so much.

@tarzan115
You could have such kind of exceptions on ESP when read function is called without the actual network available. The MqttClient::yield polling the read to receive packets.

@tarzan115
I can't reproduce your issue.
After change [a1e83f84984e6b968f77e3508bcb608e12529dc8] the cycle method performs verification if network is available. If the network is not connected It will not try to read the new packet from the network.
Could you please provide the code example to reproduce this.

I just use original your example ConnectEsp8266WiFiClient
I create a hotspot and setup for ESP8266 connect to. and then I turn that hotspot off. Esp8266 got Error Exception(28).

@tarzan115
Could you please share the stack trace of the exception?
Need to identify:

the exact ESP API throwing the exception
if the WiFiClient::connected() are able to detect the WiFi disconnection quickly enough

The problem was with WiFiClient::read call after the network disconnection.
I don't know why ESP implementation throws the exception instead of just returning the error status...
Improved NetworkClientImpl template should resolve the problem.


feat : add locations in map for google play varient

Fixes #1534
Changes:
Added markers for all locations in map for google play varient
For testing i have added sample latitude and longitude for all locations using stetho
Screenshots for the change:

Done @iamareebjamal


Add support for variables of type string

This change is the outcome of discussions at the 2018 netCDF/CF Workshop meeting in Reading, UK. The proposal is to change the language of Chapter 2 to include the string type as a valid variable type, and to modify the description of variables containing text to include variables with a type of string.
The changes can be seen in pull requests https://github.com/cf-convention/cf-conventions/pull/140 and https://github.com/cf-convention/Conformance/pull/7
Placeholder Trac ticket at https://cf-trac.llnl.gov/trac/ticket/175#ticket

It is probably better to debate changes in GitHub issues rather than in pull requests.  Therefore I am re-posting my comment about character arrays here (next comment), and removing it from the pull request #138.
Also I was once told that there is a preference for discussing something in issues first, then create the pull request later.  This issue was started in the reverse order, thus I was a bit confused.  I am a relative newbie to GitHub, so please educate me if I am off base about this.  Just trying to do The Right Thing.

Variable length strings can be stored in character arrays by the use of either null padding or blank padding.  The storage is fixed length, but the purpose is variable length.  The following sentence in the original pull request conflicts with this usage:
"If the character array option is chosen, the strings in a given array are defined to be equal in length."
This sentence is not essential to the description of strings within character type.  It is an unneeded constraint.  This sentence is also not necessary for the introduction of string data type.  Therefore I request this sentence simply be removed.  Thanks.

If it is discussing a suggested localized suggested change to text -- a PR is the perfect place for it.
Which this is, yes?
Is this a contentious issue? or just trying to come up with the best wording?
-CHB

I will bear that in mind for future issues.  On this one, there is substance in my proposed wording.  Let's just keep it here and see if there is any objection to my view of variable length string storage.

Dear all
I support this change being made, but I think it may require changes in more than one place in the conventions document. It needs a general statement somewhere early that an array of character data with a trailing dimension of maximum string length is equivalent to an array of strings without that dimension. Anywhere in the text which mentions the use of a character array to contain a string should be modified, and also any examples which show this could mention it as an alternative. Following the discussion at the meeting, I think this applies only to character variables, not character attributes. Is that correct? Possibly changes are needed in the conformance document too - I haven't looked.
Cheers
Jonathan

I was hoping that stating both ways of forming string variables were valid and effectively interchangeable would be sufficient. I'm not sure where string variables show up in the rest of the document. Any assistance with tracking those places down would be appreciated.
I'm working on another change to address string attributes. The issue there is slightly different.

Dear Jim
I think that would make the document somewhat less useful, especially for anyone who looks up something in the middle of it with a presumption that strings should be allowed, and doesn't find them shown in text or examples. Most users of the document don't sit down and read it from start to finish. Moreover I feel that we must check carefully that this won't cause problems - I don't think it will, but it is better to be safe. In fact the work involved in making this change is mostly that of reading the documents to check what might be affected, I suspect.
Best wishes
Jonathan

@Dave-Allured, I've modified the wording. See what you think.

In rearguards to the other sections concern raised by @JonathanGregory, the chapter 6 section 1 on "Labels" has some language talking about character arrays. This was the only other part of the document I could find which talks explicitly about strings in variable data.

Appendix H contains quite a few examples using string variables of type char. What, if anything, do people think should be done with those?

There are small changes in chapters 5 and 7 as well.

If string is now the "preferred" way to do it, it would be great to update as many examples as we can...

Perhaps alternate examples? Adding alternatives verbiage to each seems excessive.

I agree with the new wording in PR #138.  This handles the concept of variable length strings stored within fixed dimension character arrays.  Thanks, Jim.

I agree with @ChrisBarker-NOAA  in that I feel updating existing examples is unnecessary unless string will become the preferred data type, examples are examples, not definitions, and you should always try to find the actual text "rules".
Since there are now two ways of representing equivalent data values, maybe just provide a single example of how to represent the same text variable data as both string and character arrays. Other examples are trying to demonstrate different things.

Replaced my first pull request by a more complete one, and added a pull request for the Conformance document.
pull request https://github.com/cf-convention/cf-conventions/pull/140
pull request https://github.com/cf-convention/Conformance/pull/7

Trac is up again, so I made a Trac ticket as a placeholder.
https://cf-trac.llnl.gov/trac/ticket/175#ticket

Dear Jim
Many thanks for doing a thorough job in finding where changes are needed.

In history.adoc, I think this issue number (139) should be mentioned - I believe we've agreed that this is needed to make the changes traceable, as for trac tickets. Since the issue mentions the pull request number, we don't need to put that in the history as well.

In ch07.adoc, in the paragraph where you've made a small change, I notice there are some backticks ` which shouldn't be there. They are markup for verbatim text, as in Trac. Maybe this syntax is wrong for asciidoc? It's nothing to do with your change, but it could be fixed as well.

In ch02.adoc, it could be helpful to include a CDL snippet showing a string array represented in the two different ways. You have changed all the examples to strings. That implies that you're thinking we should recommend the string type - yes? If so, we should say so. That also have to appears as a recommendation in the conformance document, and warnings would be produced for all use of char arrays in this way. Or are they equally acceptable? If so, we should say that.

Best wishes
Jonathan

Sorry, I didn't mean to close it!
By the way, I found it really convenient to look at your changes with the rich-diff comparison that I learned about at the meeting.
Thanks.

@JonathanGregory I'll add the issue number to the history and fix the backticks. I changed half the examples, overall, to string from char. I can add an example if you think we still need one.

Should in ch02.adoc something be stated about the fact that string data type is only available when using netcdf-4? Or can we state that netcdf-4 is now the de facto standard convention by now?

Note: Recent experiments with the string data type learned that some tools, like MATLAB, still don't support that data type via the NetCDF4 interface. The work around is to reopen the file using the HDF5 interface.

With the introduction of the string data type, we move away from the 1-byte characters. So, this opens up a discussion on encodings. The _Encoding attribute has been suggested in the past. We may want to postpone the _Enconding attribute to another issue, but should we something state about the default encoding already?

@JimBiardCics - Thanks for the changes. Yes, I think an illustration of an equivalent string array and char array, with nothing else, would be useful in ch02. You could also comment that the examples in the remainder of the document are some of one and some of the other. Jonathan

@hrajagers - I've added a sentence addressing the netCDF-4 issue for string type. I'm going to submit another change after this one to address attributes of type string, and that one will get into ASCII vs Unicode encoding possibilities.

@hrajagers brings up encoding -- always a challenge!
Any reason we can't say that ALL "things" of the staring type are utf-8? period, end of story.
I'd also love to say that all CHAR data is ASCII (or maybe latin-1) -- if you need unicode, use a string.
The odds are very good that if you are dealing with software that can only handle char, it isn't going to handle Unicode well anyway.
Reasoning:
For "over the wire" encoding, utf-8 encoding is the best choice, and has become a defacto standard - (and an actual standard for , say JSON for example). And lots of people think "utf-8" == "Unicode" -- they are wrong, but if we always use utf-8, then people and tools that handle unicode properly will work well, and tools and people that don't will still mostly work.
See: http://utf8everywhere.org/ for a strong opinion. Personally, I think they are wrong about "in memory", but their arguments do apply to "on disk" or "over the wire" -- essentially any interchange situation.
As for ASCII for CHAR -- the char type (at least in arrays) has to be fixed length -- utf-8 is not a fixed-length encoding -- that is, 10 "characters" may require 10 or more bytes to store. And it a string is truncated naively, it could result in an invalid string.
Since netcdf provides a variable length string that's the obvious way to deal with Unicode.

To discuss of ASCII / UTF-8, please go to issue https://github.com/cf-convention/cf-conventions/issues/141. I'm hoping to address those questions there.

I was about to post there, but that seems to be about attributes in particular, which is only a subset of the issue.
but we're cross-referenced now :-)

@ChrisBarker-NOAA It seems to me that the encoding question more directly comes to a head with attributes, but the two are definitely intertwined. I didn't want to do all of it in one giant change, so that's where I decided to make the break.

So, getting back to this issue, I like @ChrisBarker-NOAA's idea of stating that string variables (and attributes too, but I'll talk about that in #141) should be treated as utf-8 and that char variables are to be restricted to ASCII (or perhaps latin-1). If there is demand, we could open a new ticket to add an 'encoding' attribute for other cases, but I feel like we could leave that sleeping dog lie for now.
Thoughts?

+1 (obviously).
And I agree -- the "encoding" attribute could be added later if there is real demand, though I'd much rather not allow arbitrary encoding.
We may want to have an encoding attribute that says "utf-8", so that it will be clear to folks reading the file, but that would be the only valid value for CF.

One more  note: from #141, someone wrote:
"In the HDF5 case, string encoding is an intrinsic part of the HDF5 string datatype and can only be ASCII or UTF-8. "
So that's it -- "strings will be UTF-8" we're done with that part :-).
Dealing with unicode with bare CHAR arrays is a bad idea -- sure you can do it, as a CHAR array can hold anything -- but we don't recommend using char arrays to hold, e.g. floating point data with an attribute saying that it's an IEEE 754 32 bit float -- we could do that, but it would be  a really bad idea.
The one use case that makes at least a little bit of sense is to use CHAR arrays to pass encoded data around, if and only if the library doing the passing around is not expected to interpret the data as text in any way. This is why *nix systems have been able to get away with poorly specified encoding of filenames for so long. But do CF-data handling libraries ever do that?
In short, does anyone need Unicode that can't use a string type?
If modern Fortran netcdf libs can't handle strings, I can't imagine they do the right thing with Unicode anyway.

One more note: from #141, someone wrote:
"In the HDF5 case, string encoding is an intrinsic part of the HDF5 string datatype and can only be ASCII or UTF-8. "
So that's it -- "strings will be UTF-8" we're done with that part :-).

That would be me and I got called out on this so let me set the record straight. The HDF5 library does not verify or enforce the encoding of bytes stored in HDF5 strings. The HDF5 string datatype has a tag for declaring the encoding and currently supports two values, for ASCII and UTF-8. The application is responsible for setting the correct tag value.

OK, so maybe HDF-% doesn't require UTF-* only, but it also doesn't support anything else -- at least for now.
Is seem is would be a really bad idea to do something unsupported for CF.

Hello @JimBiardCics CFers
I'm happy to offer to moderate this discussion, if that is helpful.
I have 'assigned' myself to the ticket, in preparation for a positive response to this offer.
@JimBiardCics please may I ask that you update the description of the pull request to use the text
fixes  next to the issue number?
(https://help.github.com/en/articles/closing-issues-using-keywords)
this formally links the issue and PR and eases management of the pair
thank you
mark

Please may I ask contributors to this ticket to consider whether there are any in-principal objections, concerns, or key factors to consider to this change, that are still outstanding.
If so, please may you re-raise the topic as a reply to this comment?
If there are targeted comments on the text of the proposed change, please target them at #140, as a review of the textual change.
thank you
marqh

I support this change almost as it stands, and am grateful to Jim for preparing it.
I have one textual concern. In ch06, in the "Labels" section, "not" has been deleted in the sentence, "[a scalar coordinate variable] has the same information content and can be used in the same contexts as a string-valued auxiliary coordinate variable of a size one dimension which has not been added to the data variable. This is a convenience feature." The deletion of "not" shows that it wasn't clear what the sentence is trying to say. Rather than trying to explain it here, I suggest ending the sentence at "size one dimension", followed by the next sentence, "This is a convenience feature." It's explained fully in Section 5.7 on scalar coordinate variables, so there's no need for a half-hearted explanation here.
Cheers, Jonathan

@marqh I added a fixes #139 line to the description. Does it look right?

@JonathanGregory I think that's a great idea. I'll take care of it.

Hi @JimBiardCics , this looks good. I'm not sure I've understood the pull-request workflow here, but it looks as though there have been 9 updates recorded in history.adoc since your branch was forked. Does this mean some re-basing is needed?

@martinjuckes We'll do a merge. If there are colliding changes, we'll sort them out.

thank you to all contributors for the input.  There have now been 26 days with no objections.
I think this change proposal is suitable for acceptance.
I suggest that @JimBiardCics and I ensure that the PR #140 is finalised and suitable for merge, then we will confirm that there is no material change from the current commit: 8c7d66d4d8adad162222edcae69130983ae8ac6b
and implement the adoption of this change into the master version of the conventions

While not appropriate for this PR/Issue since it is the topic of strings. Perhaps let's also address the current support netcdf4 has for actual unsigned int types in another issue?

@DocOtak It sounds like a great candidate for another issue/PR!


getMany returns empty array in case of all misses

Description
The implementation of get method with array of keys returns empty array in case of missing values for all given keys https://github.com/jaredwray/keyv/blob/main/packages/keyv/src/index.js#L184.
const keyv = new Keyv();
await keyv.get(['foo', 'bar']) // returns []
await keyv.set('foo', 1);
await keyv.get(['foo', 'bar']) // returns [1, undefined]

Should it be designed to return array with the same size as keys array? Current behavior isn't clear and differs from popular storages like Redis MGET command.

@AnotherGitProfile - thanks for sending this in. I am interested in making this more standard and if you want to submit test examples around this we could look to validate it against other storage adapters to see if we can do this.
Will be closing this but if you want to post more code on this we can re-open.


Write up some developer info

Especially some high level architecture info. Ex: how Motion has has both MotionModifier plugins and HAL plugins

The plugin interface has some docs and examples. Probably good enough for now


fatal errors, who cares?

Now catching fatal errors of all kinds, hiding all error output and giving an optimistic message to keep users happy :)
By the way, notice you are in Bradford area
We're currently looking to hire a new developer to join us. We're based in Shipley and are completely PHP development focussed. If its something you might be interested in get in touch.
BTW, yes I did do this largely to message you, thought it was more amusing than just using Linkedin. Hope you like the pull request
Cheers
Joseph
Oh BTW I couldn't resist fixing the case on FuckIt::callableFuckit

Thanks for your contribution. Ironically your addition causes the tests to fail, as it (intentionally) hoovers up the remaining memory. In the spirit of the package I'm going to allow it. ;)
I'm honestly flattered that you would consider me, especially given the nature of this particular project. Shipley is actually my old stomping ground, and I've since moved up to Queensbury, so I'm practically round the corner. Unfortunately, however, I personally feel that Magento is the devil incarnate, so I don't think I'd be a suitable addition!

Glad you liked it
I did get the tests to fail silently when testing locally but unfortunately didn't work on Travis
If you think Magento 1x is bad, wait till you see Magento 2x :)
Honestly I don't think you have to think its the best thing since sliced bread to be a good Magento developer, in fact I'd say that some healthy skepticism is a good thing.
Its definitely a challenging platform to work with, but that's what makes it fun. It definitely sorts the men from the boys
If you do fancy a challenge and would enjoy working with a small focussed PHP dev team based in Shipley it would be great to discuss it further
Have a think about it and let me know

you might find this interesting - https://www.linkedin.com/pulse/whats-like-work-php-developer-edmonds-commerce-joseph?trk=prof-post


User: other feedback

How helpful was our tool?
Choices are "very helpful", "somewhat helpful", "not helpful at all".
Very helpful
What best describes you?
Attorney or paralegal
User feedback:

[QUINTEN: could you please let me know if you receive this?  I have feedback to send but don't want to enter it all if you won't receive it. Thank you--Diana]

We are concerned about starting a form intended to be user friendly with legalese to which they are required to state their understanding.  Is it really necessary?  Could we instead have a frequently asked questions or something to address concerns about data privacy, etc?
Question id: entire record request intro screen
Variable being sought: entire_record_request_intro_screen

We can take this out. It's a requirement in Europe (GDPR) but not here


Resize existing machine

Is it possible to upgrade machine parameters after it has been created? I would like to increase memory (to 3GB) and cpu count (to 2) from the default ones.

Bumped.
@zchee @johanneswuerbach any ideas?

Ok, I've found I can just update the config.json however it does not work for increasing disk size - I've increased the .sparsebundle image using hdutil and updated disk size in the config.json but changes are not visible (df -ah still returns 20GB). I've also tried to create new docker-machine with updated size and copy the volume from previous machine but it does not work either - machine times out during start.
@johanneswuerbach do you have any idea how to increase the disk size without losing the data?

Increasing should work using hdutil,  ssh into the machine and then use resize2fs http://askubuntu.com/a/109360, but I haven't tested this.

@johanneswuerbach thanks for the tip but unfortunately it does not work for me. When I ssh into the machine and run resize2fs nothing happens:
docker@boot2docker:~$ sudo resize2fs /dev/sda2
resize2fs 1.42.13 (17-May-2015)
The filesystem is already 4871711 (4k) blocks long.  Nothing to do!

And df -a still displays the old size.

Ok I figured that out, here is instruction step by step:

Go to ~/.docker/machine/machines/machine_name
sudo hdiutil resize -size new_size root-volume.sparsebundle (i.e. new size can be 30g)
Edit config.json and provide new size in Driver.DiskSize property
SSH to the machine
sudo fdisk /dev/sda then:
d
2
n
2
w
Restart the machine
SSH to the machine again
tce-load -wi e2fsprogs.tcz
sudo resize2fs /dev/sda2


Fix thread blocked issue by alternative concurrent executor

Generally LGTM. One thing I'm not sure is if it is good idea to reuse the same thread pool between different logic units. And another one is to consider add meaningful name to threads in thread pool. We can refer weft thread pool NameFactory for how it works.

Generally LGTM. One thing I'm not sure is if it is good idea to reuse the same thread pool between different logic units. And another one is to consider add meaningful name to threads in thread pool. We can refer weft thread pool NameFactory for how it works.
@ligangty Thanks for the comment, I've checked the NameFactory in weft, separated the thread pool services for different usages, and set the names of different threads.


Error while installing Kubeflow dashboard

Hi,
While trying to install kubeflow using charmed operators on a custom k8s cluster the kubeflow-dashboard install fails with this error - hook "ingress-relation-changed". Is there any workaround available to fix this?
juju debug-log gives me this -
application-kubeflow-dashboard: 14:26:06 ERROR unit.kubeflow-dashboard/2.juju-log ingress:7: Uncaught exception while in charm code:
Traceback (most recent call last):
File "/var/lib/juju/agents/unit-kubeflow-dashboard-2/charm/venv/serialized_data_interface/init.py", line 132, in send_data
validate(instance=data, schema=self.schema[self.versions[rel.app.name]])
KeyError: 'v1'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "./src/charm.py", line 183, in
main(Operator)
File "/var/lib/juju/agents/unit-kubeflow-dashboard-2/charm/venv/ops/main.py", line 402, in main
_emit_charm_event(charm, dispatcher.event_name)
File "/var/lib/juju/agents/unit-kubeflow-dashboard-2/charm/venv/ops/main.py", line 140, in _emit_charm_event
event_to_emit.emit(*args, **kwargs)
File "/var/lib/juju/agents/unit-kubeflow-dashboard-2/charm/venv/ops/framework.py", line 278, in emit
framework._emit(event)
File "/var/lib/juju/agents/unit-kubeflow-dashboard-2/charm/venv/ops/framework.py", line 722, in _emit
self._reemit(event_path)
File "/var/lib/juju/agents/unit-kubeflow-dashboard-2/charm/venv/ops/framework.py", line 767, in _reemit
custom_handler(event)
File "./src/charm.py", line 56, in configure_mesh
self.interfaces["ingress"].send_data(
File "/var/lib/juju/agents/unit-kubeflow-dashboard-2/charm/venv/serialized_data_interface/init.py", line 134, in send_data
raise NoSchemaDefined(self.end)
serialized_data_interface.NoSchemaDefined: Calling send_data from the requires end of a relation requires defining a requires section in the schema.
application-kubeflow-dashboard: 14:26:06 ERROR juju.worker.caasoperator.uniter.kubeflow-dashboard/2.operation hook "ingress-relation-changed" (via hook dispatching script: dispatch) failed: exit status 1
application-kubeflow-dashboard: 14:26:06 INFO juju.worker.caasoperator.uniter.kubeflow-dashboard/2 awaiting error resolution for "relation-changed" hook

Hello @pshegde what kind of bundle did you use to deploy kubeflow?

The bundle used is juju cs:kubeflow 1.3. Retried using kubernetes version 1.20 and I dont see this error anymore.


Validator score stuck at 0.9999999999919

Expected Behavior
Validator score should increase 0.9999999999919 -> 0.9999999999927 etc
Current Behavior
Validator's AGx1 0x943e9a5c750adcc467575F4fE81bf6b1C3A2aeD7  score is not increasing for at least 3 days currently:
#celocli validator:show 0x943e9a5c750adcc467575F4fE81bf6b1C3A2aeD7
...
score: 0.9999999999919
...

Found these in screen's history:
notice how Staking Fund's (happens to be visible at all 3 occasions) score is increasing and AGx1 is not
screenshot from celocli election:run couple days ago

next one

screen from current (epoch 266):

Epoch 267:

Epoch 267:


aerospike-hadoop does not compile on Maven 3.0.5 & OpenJDK 7

mvn clean package does not compile on Ubuntu 14.04 LTS.
Here is the Maven --version output:
$ mvn --version
Apache Maven 3.0.5
Maven home: /usr/share/maven
Java version: 1.7.0_75, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-7-openjdk-amd64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.13.0-46-generic", arch: "amd64", family: "unix"

And here is the Java -version output:
$ java -version
java version "1.7.0_75"
OpenJDK Runtime Environment (IcedTea 2.5.4) (7u75-2.5.4-1~trusty1)
OpenJDK 64-Bit Server VM (build 24.75-b04, mixed mode

Here is the Maven output:
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] aerospike-mapreduce ............................... FAILURE [1.047s]
[INFO] sampledata ........................................ SKIPPED
[INFO] word_count_input .................................. SKIPPED
[INFO] aggregate_int_input ............................... SKIPPED
[INFO] word_count_output ................................. SKIPPED
[INFO] session_rollup .................................... SKIPPED
[INFO] generate_profiles ................................. SKIPPED
[INFO] external_join ..................................... SKIPPED
[INFO] spark_session_rollup .............................. SKIPPED
[INFO] aerospike-hadoop-examples ......................... SKIPPED
[INFO] aerospike-hadoop-parent ........................... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.182s
[INFO] Finished at: Fri Mar 13 18:08:23 CET 2015
[INFO] Final Memory: 13M/218M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.0.2:compile (default-compile) on project aerospike-mapreduce: Compilation failure: Compilation failure:
[ERROR] /path/to/aerospike-hadoop/mapreduce/src/main/java/com/aerospike/hadoop/mapreduce/AerospikeOutputFormat.java:[35,43] error: generics are not supported in -source 1.3
[ERROR]
[ERROR] (use -source 5 or higher to enable generics)
[ERROR] /path/to/aerospike-hadoop/mapreduce/src/main/java/com/aerospike/hadoop/mapreduce/AerospikeOutputFormat.java:[44,9] error: annotations are not supported in -source 1.3
[ERROR]
[ERROR] (use -source 5 or higher to enable annotations)
[ERROR] /path/to/aerospike-hadoop/mapreduce/src/main/java/com/aerospike/hadoop/mapreduce/AerospikeRecord.java:[42,14] error: generics are not supported in -source 1.3
[ERROR]
[ERROR] (use -source 5 or higher to enable generics)
[ERROR] /path/to/aerospike-hadoop/mapreduce/src/main/java/com/aerospike/hadoop/mapreduce/AerospikeRecord.java:[91,49] error: for-each loops are not supported in -source 1.3
[ERROR]
[ERROR] (use -source 5 or higher to enable for-each loops)
[ERROR] /path/to/aerospike-hadoop/mapreduce/src/main/java/com/aerospike/hadoop/mapreduce/AerospikeRecordReader.java:[51,24] error: generics are not supported in -source 1.3
[ERROR]
[ERROR] (use -source 5 or higher to enable generics)
[ERROR] /path/to/aerospike-hadoop/mapreduce/src/main/java/com/aerospike/hadoop/mapreduce/AerospikeRecordReader.java:[84,9] error: annotations are not supported in -source 1.3
[ERROR]
[ERROR] (use -source 5 or higher to enable annotations)
[ERROR] /path/to/aerospike-hadoop/mapreduce/src/main/java/com/aerospike/hadoop/mapreduce/AerospikeSplit.java:[123,32] error: for-each loops are not supported in -source 1.3
[ERROR]
[ERROR] (use -source 5 or higher to enable for-each loops)
[ERROR] /path/to/aerospike-hadoop/mapreduce/src/main/java/com/aerospike/hadoop/mapreduce/AerospikeRecordWriter.java:[36,43] error: generics are not supported in -source 1.3
[ERROR]
[ERROR] (use -source 5 or higher to enable generics)
[ERROR] /path/to/aerospike-hadoop/mapreduce/src/main/java/com/aerospike/hadoop/mapreduce/AerospikeRecordWriter.java:[67,5] error: annotations are not supported in -source 1.3
[ERROR]
[ERROR] (use -source 5 or higher to enable annotations)
[ERROR] /path/to/aerospike-hadoop/mapreduce/src/main/java/com/aerospike/hadoop/mapreduce/AerospikeInputFormat.java:[54,23] error: generics are not supported in -source 1.3
[ERROR]
[ERROR] (use -source 5 or higher to enable generics)
[ERROR] /path/to/aerospike-hadoop/mapreduce/src/main/java/com/aerospike/hadoop/mapreduce/AerospikeLogger.java:[28,2] error: annotations are not supported in -source 1.3
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

This seems like a Java or Maven version problem, but there is no information relative to these versions on the README.md.
What am I missing?
Thanks a bunch!
Pampa

Pampa,
Apologies for the delay ...
It looks like this problem occurs with certain Ubuntu versions; it is described in more detail here:
http://stackoverflow.com/questions/16662830/why-is-maven-trying-to-compile-my-code-as-source-1-3
Could you try the recommended solution of explicitly configuring the maven-compiler-plugin?
If it fixes your problem I think we should integrate this in the project; I don't think others need it, but it shouldn't hurt.
Thanks for taking the time to file an informative bug report!
Ken


Proposal: Cancellation

Related issue: #528
Related pull request: #766
I made StopSource and StopToken types similar to the API described in https://github.com/yoshuawuyts/notes/blob/7ecb13a9999ae1fccd366ef0e246be5ca78867c0/rust/cancellation.md and used in tcp_listener and unix_listener modules.
But I'm not sure it actually 'gracefully' shuts down the server...

Is there a reason we wouldn't use stop-token (or stopper])?

stopper seems great! I was worried that stop-token states in the documentation that it is 'Experimental'.

Two things that we'll want to address in addition to stopping the tcp stream: we will need to keep track of how many outstanding requests there are so we know when to shut down the server, and we will need to cut off keep alive connections. Currently, async-h1 will hold onto the tcp stream and wait for a subsequent request, which would delay shutdown by the keepalive timeout

As far as stop-token vs stopper, I don't have a great understanding of the current state of development of stop-token, which is part of why I wrote stopper. I also needed it to be runtime independent, but tide can depend on async-std

I made a draft PR in async-h1: https://github.com/http-rs/async-h1/pull/188
And it seems working in this test. (It fails without the last commit)

I replaced vector of JoinHandles with waitgroup

Waitgroup looks a lot like how I did this in my other framework, with very minor differences (they're using an arc, I'm using an atomicusize which lets me keep track of how many outstanding requests there are): https://github.com/trillium-rs/trillium/blob/main/server-common/src/clone_counter.rs
I'd be totally fine copying mine over into tide, but waitgroup seems good and less code is certainly preferable

@jbr waitgroup author here, just for technical discussion.  :)

they're using an arc, I'm using an atomicusize which lets me keep track of how many outstanding requests there are

Actually, Arc's strong_count can track the number of outstanding tasks, so another atomicusize is not needed.
Using Arc's strong_count has another benefit: waitgroup will be waked up only once when all outstanding tasks are finished, instead of waked up every time some task is finished.


Update Dockerfile

Switch to CUDA 11.3?

@sdtblck Eric is wondering why you’re not using CUDA == 11.3

Switch to CUDA 11.3?

@sdtblck Ping

@EricHallahan @sdtblck is this even state-of-the-art anymore?

Technically the latest version of PyTorch is v1.10.2.

Closing as outdated


linux-enable-ir-emitter: command not found

Describe the bug

How to reproduce

Additional info

Distro: Ubuntu
Version: 22.04.2LTS
Version of linux-enable-ir-emitter: The latest deb
How did you install linux-enable-ir-emitter:

After installation, I ran sudo linux-enable-ir-emitter configure but got sudo: linux-enable-ir-emitter: command not found error. It turned out that /usr/lib/x86_64-linux-gnu/linux-enable-ir-emitter/linux-enable-ir-emitter.py was not executable. Running the following command fixed it.
sudo chmod +x /usr/lib/x86_64-linux-gnu/linux-enable-ir-emitter/linux-enable-ir-emitter.py

Thanks for the discovery and the fix, strangely it didn't happen during the tests. Maybe because of the version of Meson on your system.

hey! I'm on fedora silverblue 39, and I have this same issue, except when manually building the package I had to use meson to change the installation directory to $HOME/.local rather than /usr/local, as suggested here. therefore, the command suggested here does not work for me. I cannot find the equivalent file within the /.local/lib64/linux-enable-ir-emitter directory on my own pc. can anyone suggest an alternate solution for the issue?

@Woofweasel, please open a new issue for your case, I will help you to find out the problem.
By the way, when you execute ninja install -C build, you can see where are installed the different files.


feat: implements STATIC_EXCEPTION to improve performance

Hi, we are heavy OGNL users.
While improving the performance of the OGNL parser, we found that the cost of generating a stack trace for IOException on FillBuf was a problem.
IOException is used for non-local exits, and I thought the stack trace was unnecessary.
we implemented an option to avoid the stack trace generation on instantiation by making an exception for a static member.
In our workload, we were able to save 20% of the total time.

Ok, We'll try to look at it.
Note that commits must be signed for the PR to be mergeable.

https://github.com/javacc/javacc/pull/275 is addressing the same issue, but without providing a user option. Since the exceptions here are ignored anyway, there's no downside to making them static, so personally I'd suggest to merge the other PR instead of this. (Also: it should be possible to use some other mechanism for handling EOF than throwing an exception, but such change would be bigger and may be better suited for JavaCC 8?)


Build font without numbers.

I'm trying to build this font without the inclusion of numbers. I want to replace the Samsung emoji and in short when building it the numbers get spaced out since it uses the numbers built into the emoji font rather than the default font. Deleting the images of the numbers doesn't help as it then just doesn't render them at all. When you use fonttools to get a ttx from the font file it includes entries for numbers even though they're not in the ttx.tmpl of this project. Doing the same with a certain iOS emoji port for Samsung doesn't have these entries so clearly there's some way to achieve it but I have no clue how.

Deleting the images of the numbers doesn't help
You probably need to delete the images of the sequences that use the numbers with combining enclosing keycap (0x20e3) as well.  I think if we encounter codepoints in sequences for which we don't have images we synthesize empty glyphs.

Hi, I was actually doing the same thing and found a workaround to it, which is IMHO easier than recompiling the ttf file: Use pyftsubset from (fonttools)[https://github.com/fonttools/fonttools].
I use the command pyftsubset NotoColorEmoji.ttf --output-file=Stripped_NotoColorEmoji.ttf --unicodes-file=codes-no-numbers.txt — where file codes-no-numbers.txt includes a list of unicode chars that should be included in output font, I've put (my version on a GitHub gist)[https://gist.github.com/MKuranowski/bdbdfb96cf87f6302cd43860aa347163]. This command then creates file Stripped_NotoColorEmoji.ttf without numbers, # and *.

Much appreciated @MKuranowski. I'd also figured out that you could use extract a ttx file, manually remove mentions of each character you don't want, then remerge it back into the font using ttx -m [filename.ttf] [filename.ttx]. A bit of a pain but works.


Removed default mosg__model_configuration attribute from weighted ble…

…nding CLI.
Testing:

[x] Ran tests and they passed OK
[x] Added new tests for the new feature(s)

 Here is an overview of what got changed by this pull request:

Issues
======
- Added 1

Complexity increasing per file
==============================
- improver/cli/weighted_blending.py  2

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Complexity increasing per file
==============================
- improver/cli/weighted_blending.py  2

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Complexity increasing per file
==============================
- improver/cli/weighted_blending.py  2

See the complete overview on Codacy


[Request] Channel order and channel naming

Logic version: Logic2 v2.3.58 MacOS 12.5 Apple Silicon
API version: logic2_automation-0.0.1-py3
Hi there. It would be great if channel_order: List[int] and channel_names: List[str] lists were added as final parameters of LogicDeviceConfiguration. Currently, channels are sorted in a descending order and first digital then analog, but for industrial automated reporting this feature is crucial. Right now it's possible to add analysers but it's restricted to the ones available (or locally developed), so a naming system would easily solve this.

Hi @menesesleonardo,
Thanks for the feedback! So far we're been focusing on the core capture settings, save, and export for data, before we start to consider non-data settings like channel order, channel height, channel labels, viewstate zoom & pan, timing markers, and much more.
You mentioned this:

but for industrial automated reporting this feature is crucial.

Could you describe how this would be used? Is someone actively watching the software while automation is running to visually validate the results, and they need display to be better organized to make this easy? Or perhaps the exported data isn't organized in an easy to consume way, and changing the channel ordering and labels would improve this? Or are these files being saved, and then loaded later manually, and need channel labels and ordering to make it much easier to understand what the files contain? Or perhaps something else?
One of the big decisions we need to make is weather or not to follow a one-time configuration per capture - i.e. include all data like channel labels, ordering, etc., in the start capture function, or if we should allow these settings to be modified at any time after the capture is complete.

Right now it's possible to add analysers but it's restricted to the ones available (or locally developed), so a naming system would easily solve this.

I'm not sure I follow - is this related to the channel ordering and label request? Are you asking for the ability to add analyzers that aren't locally available? If so, where would you like to add them from?
I'd love to get more detail about your use case and make sure we understand what specific problem you're trying to solve, to hopefully help us produce the best possible API.

Hi Marcus, thanks for your reply. Here's a short follow-up on the request. I'll close this issue (since it's not an issue) and move to your forums, which I recently discovered.

Could you describe how this would be used? Is someone actively watching the software while automation is running to visually validate the results, and they need display to be better organized to make this easy? Or perhaps the exported data isn't organized in an easy to consume way, and changing the channel ordering and labels would improve this? Or are these files being saved, and then loaded later manually, and need channel labels and ordering to make it much easier to understand what the files contain? Or perhaps something else?

We have two scenarios. One is unattended sequence validation, where there's a worker verifying the .sal reports, and there are analog signals depending on digital ones (i.e. i2c controlled DAC), so having each analog signal on top of the digital i2c couple with a protocol analyser will make these reports easier to read.
The second scenario is during QC, where we are actively validating the sequence in real-time. If this is done only on one UUT, it might be easier to do it in Logic's UI, but once the SOP is designed it has to be validated in multiple units, and doing it each time in the UI will add delays.


network sandbox does not exist for contain...

Description

I created servcie from one of manager nodes that is not leader in swarm mode. I have 3 manager nodes, 3 worker nodes.
Some of services continuously recreated with error "..network sandbox does not exist for contain..".
If I encountered this error, it looks that swarm overlay network getting unstable. Please refer detailed logs as belows.

You need to check why the tasks complete that fast.
Please post the docker service create command you used.

Hi,
I used below command on my bash script. The bash script will create 7~ 8 services.
docker service create  --name $NODE
--hostname $NODE
--mount type=bind,source=$HADOOP_APP,destination=/mnt/app
--mount type=bind,source=$HADOOP_PERSISTENT,destination=/mnt/persistent
--env NODE=$NODE
--network clusternetwork
--replicas 1
localhost:5000/hadoop-ubuntu-16.04

You are not passing any command after the image or does that image start a command automatically?
I am wondering whether a command is in fact needed and the container terminates right away because no command was passed. So Swarm keeps starting a new task continuously.

That is my custom image for hadoop. It don`t need to pass any command since it call docker-entrypoint.sh internally. It actually run hadoop name node. It works well when I runned it with docker-compose from single host. Anyway, you suspect that the container is terminated right way by some reason. I'll recheck my configurations.

are the directories you're bind-mounting present on all nodes? when using services, docker won't automatically create those directories if they don't exist, and will error out

yes. it is nfs dir and shared to all nodes.

Hi,
I investigated my configuration and docker logs. It looks continuously restart new task since it was terminated right away as @aboch mentioned due to not formatted hadoop name node. It is not related docker swarm. So, I'll close this issue. Thanks guys.


How to stop trigger onPress after scrolling?

Hi, I added an onPress to the item, But when I stopped sliding, it triggered immediately.
How to stop it?
难道还要特意判断是否结束滚动了？

Show me your code, and try with this code?
import { TouchableOpacity } from 'react-native-gesture-handler';

Show me your code, and try with this code?
import { TouchableOpacity } from 'react-native-gesture-handler';

It works! Thank you😊.


Android Special Date Background

I have already contacted you about this, but your solution didn't seem to work.
This is how it looks like:

Even after adding calendar.RaiseSpecialDatesChanged() to my code after the special dates are added.
Thank you in advance for your attention.

I had a same problem : can not change background of a special date :(

Please try version 1.1.1 some problems with the special dates have been solved in that version.
Example on how to use the patterns: https://github.com/rebeccaXam/XamForms.Controls.Calendar/blob/master/Example/CalendarDemo/CalendarDemo/App.cs
Wiki: https://github.com/rebeccaXam/XamForms.Controls.Calendar/wiki/SpecialDates

Hi guys
i have used version 1.1.1 and try to change background of a special date but its not changed.
even i added calendar.RaiseSpecialDatesChanged() ;
if any one know about that then please guide me .
i also send my screenshot please have a look it.

Hello,
it could be that there is more then one SpecialDate with the same Date in the SpecialDates list.
Please check if that is the case, because only the first found Date (smallest index) is used.
if(calendar.SpecialDates.Select(d => d.Date == <DATE THAT DOES NOT CHANGE>).Count() > 1){
  // please remove the first found item from the list or completely clear the list
}

If not, please provide more info or code examples.

Is there an easy way to remove the spacing between the patterns?
(I mean the green and yellow boxes at day 4 from rahul's image would not have any space between them).
Thanks!


Share types of CrossSiteObject objects

@rajatd and @LouisLaf , can one of you take a look when you get a chance? (Thanks.)


deploy in auth namespace by default

This PR:

adds/changes/removes etc

Testing
Description on how auth-bundle can be tested.

[ ] fresh install works

[ ] AWS
[ ] Azure
[ ] KVM

[ ] upgrade from previous version works

[ ] AWS
[ ] Azure
[ ] KVM

Other testing
Description of features to additionally test for auth-bundle installations.

[ ] check reconciliation of existing resources after upgrading
[ ] X still works after upgrade
[ ] Y is installed correctly

Checklist

[ ] Update changelog in CHANGELOG.md.
[ ] Make sure values.yaml and values.schema.json are valid.

Shouldn't they go to {{ .Release.Namespace }}?

I got confused there for a second, but no. {{ .Release.Namespace }} is where the app CR lives on the MC, but apps.app.namespace is where the actual chart will be installed in the WC and the default value has to be defined.

You are not wrong. :smile: However, since this is a bundle, we end up with two layers of app where the first layer ends up on the MC and in that case the app CR namespace is equal to app.spec.namespace which is {{ .Release.Namespace }} and usually something like the org namespace. But the containing apps are installed on WC so while the app CR namespace is the same, app.spec.namespace needs to be the namespace on the WC.


Pass data from parent to router view children

Is this implemented?
so that i can reuse the data rather declaring it multiple times

Hello @DevEclipse
Thank your for your interest in this project.
However, your issue is a usage/support question, and the issue tracker is reserved exclusively for bug reports and feature requests (as outlined in our Contributing Guide).
We encourage you to ask it on the forum  , Stack Overflow or on gitter and are happy to help you out there.
If you want to create a feature request, please be more specific in your description of the desired behaviour, e.g. with a code example.


Can we have --debug option for host verb?

Currently it appears debug mode can only be entered when directly running a function with data (like the portal Test feature)
I want to launch the server and then prod it with HTTP triggers. This locally simulates how HTTPTriggers are used on Azure.
The workaround is to run a dummy 'null' function with --debug to start the server and then as the server [usually] stays running use browser/postman etc. to invoke the function.
We also need a description of what debug does. It obviously updates the VS Code launch.json and then starts the server listening. But what else? See #22

does is open a port for the debugger then we can Ah, I see. I don't suppose you'll need to support mixed language functions for a while :)
Yes, my first thought was I understand there is a plan to reduce the fragmentation of languages over debuggers.
Sigh, why can't they all use the same debug tools/ports/apis etc?

This would also allow us to launch the host and debugger without having to press a key.

@ahmelsayed The vscode C# debugger won't work until we port to .NET Core, unfortunately.

I like --debug vs and --debug vscode.


Railsチュートリアルにおけるライセンスの扱いについて調べる

理由：ライセンス違反とならないようにするとともに，参考元への敬意を示すため

調べる内容

[ ] どのライセンスを使用しているか
[ ] ライセンスを読む
[ ] 自分のレポジトリでどのようにすればいいのか調べる

使用しているライセンス
・MITライセンス
・Beerware ライセンス

参考資料

https://www.catch.jp/oss-license/2018/11/14/use_mit_license/
https://www.catch.jp/oss-license/2013/09/27/mit_license/

The MIT License
Copyright (c) 2016 Michael Hartl
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
files (the "Software"), to deal in the Software without restriction,
including without limitation the rights to use, copy, modify, merge,
publish, distribute, sublicense, and/or sell copies of the Software,
and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
 IN NO EVENT
SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR
ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
OR OTHER DEALINGS IN THE SOFTWARE.

THE BEERWARE LICENSE (Revision 42)
Michael Hartl wrote this code. As long as you retain
this notice you can do whatever you want with this stuff.
If we meet some day, and you think this stuff is worth it,
you can buy me a beer in return.

上記を該当するソースの部分に添付


Measurements concerning traffic rules

Hi,
In the paper related to the simulator, I have found this sentence:

In addition to sensor and pseudo-sensor readings, CARLA provides a range of measurements associated with the state of the agent and compliance with traffic rules. Measurements of the agent’s state include vehicle location and orientation with respect to the world coordinate system (akin to GPS
and compass), speed, acceleration vector, and accumulated impact from collisions. Measurements
concerning traffic rules include the percentage of the vehicle’s footprint that impinges on wrong-way
lanes or sidewalks, as well as states of the traffic lights and the speed limit at the current location of
the vehicle. Finally, CARLA provides access to exact locations and bounding boxes of all dynamic
objects in the environment. These signals play an important role in training and evaluating driving
policies.

What are these measurements concerning traffic rules include the percentage of the vehicle’s footprint that impinges on wrong-way lanes or sidewalks, as well as states of the traffic lights and the speed limit at the current location of the vehicle?
I want to train an A3C agent using CARLA and this feature would enable it.
Luca

Hi,
You can check http://carla.readthedocs.io/en/latest/measurements/.

Thank you very much!


Error with tasks that require multiple files.

Any tasks that require multiple files such as "libholbertonschool.a, holbertonschool.h" is reading the requirement as a single file rather than two separate files.

This comes from how it's stored in the intranet, there are only 3 fields: github_repo, github_dir and github_file. Maybe we should have github_files, with a comma-separated value?
I'm ok with that, you should investigate with Julien and Sylvain if they're fine contributing that way.


SearchBar fails to show keyboard on Android after coming back from the background

Is there an existing issue for this?

[X] I have searched the existing issues
[X] I have read the guide to filing a bug

Steps to reproduce

Click the SearchBar. They keyboard will come up
Send the app to the background
Come back from the background
Click the SearchBar. The keyboard will not show

Extra info:
I tested on two Android devices. On my Pixel 2 running Android 11 everything worked fine. The problem happened on my Pixel 6 running Android 13
Expected results
When I come back from the background, I expect to see the keyboard again, or at least that it shows again if I click the SearchBar.
Actual results
I can't call the keyboard back
Code sample
Code sample
void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
        useMaterial3: true,
      ),
      home: const Scaffold(
        body: Center(child: SearchBar()),
      ),
    );
  }
}

Screenshots or Video

Screenshots / Video demonstration
https://drive.google.com/file/d/14rhlifS67w9rBBkJvMrqFUFonAoB8vOa/view?usp=sharing

Logs
Logs
[Paste your logs here]

Flutter Doctor output
Doctor output
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.13.4, on macOS 13.5.2 22G91 darwin-arm64
    (Rosetta), locale en-BR)
[!] Android toolchain - develop for Android devices (Android SDK version
    33.0.0-rc1)
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/macos#android-setup for
      more details.
[✓] Xcode - develop for iOS and macOS (Xcode 14.3.1)
[✓] Chrome - develop for the web
[!] Android Studio (not installed)
[✓] IntelliJ IDEA Community Edition (version 2023.2.2)
[✓] VS Code (version 1.80.1)
[✓] Connected device (4 available)
[✓] Network resources

Hi @AndreHaueisen, I'm curious, do you only experience this when you use the gesture-based navigation in android?

Hey, @danagbemava-nc. No, it also happens when the 3-button navigation is active

@AndreHaueisen I checked this on my two devices (Realme 6 Android 11 and Pixel 4 Android 13) but can't reproduce the issue.
Can you re-check this with a simple TextField widget? Please also confirm if the issue is reproducible on a newly created Flutter project or only on the current project.

@huycozy The problem is specific to SearchBar. TextField works as expected.
I created a new project and tested it again. Same problem.

Thanks for taking the time to test it, @danagbemava-nc
This is definitely a weird one 🤔

I'm able to reproduce this on the master branch as well. I haven't been able to track down exactly why since it is a bit inconsistent but I think it has something to do with the fact that we activate the TextField by calling requestFocus on its FocusNode rather than interacting with the underlying TextField through TextSelectionGestureDetector. I'm not able to reproduce this issue on my PR that enables text selection in the search bar https://github.com/flutter/flutter/pull/137636 .

This was closed by #137636 which has landed on the master branch, if you are still experiencing this issue please feel free to re-open.


xoauth2 or oauthbearer support

Gmail does not support password authentication any more.
Any ideas on how to implement their oauth-* family of mechs?

I have been thinking about this problem a bit, but have not had a lot of cycles to put into adding oauth support to this. I see that some other projects have added it, so it is certainly possible. I think an App Password may work in the interim, but I haven't looked into it.
Suggestions are welcome. Otherwise I will get to this when I have some time.


Update 3.1.2 -> 3.1.3

Release Notes: https://confluence.atlassian.com/crowd/crowd-3-1-release-notes-940117684.html

Thanks for the update!


mean function of fields gives error

Using newstoch.py, see below. This also happens on any 1D data (e.g. W=TAUX/X, then W.mean() )
In [109]: dW.mean()
AttributeError                            Traceback (most recent call last)
/home/nfs/z3049637/Dropbox/python/ in ()
----> 1 dW.mean()
/home/nfs/z3049637/github/spacegrids/spacegrids/fieldcls.pyc in mean(self, grid)
3540     ret_field = (self.dV()*self).sum(grid)/(self.dV()).sum(grid)
3541
-> 3542     ret_field.name = self.name
3543     ret_field.long_name = 'zonal mean ' + self.long_name
3544     ret_field.units = self.units
AttributeError: 'numpy.float64' object has no attribute 'name'

This is probably fixed now


make short cuts works inside array

support ip.dst != [$foo, $foo2]

we should do this instead of #1554

@amaddalena will cry


231 ListProjectsStyling

closes #231

Shadows are wonky on projects page. On the bottom of the cards.

It looks good now. Thank you Andre.


Configurable logging levels in VSphereSource

Fixes #343

Proposed Changes

:bug: Logging and metrics can be changed at runtime for all vSphere components
:broom: Enhance logging in certain vSphere adapter areas
Describe how to change logging in README

Note: The implementation follows the dynamic logging/metrics configuration pattern used in rabbitmqsource
Pre-review Checklist

[x] At least 80% unit test coverage
[ ] E2E tests for any new behavior
[x] Docs for any user-facing impact

Release Note

The logging level for the `VSphereSource` and `VSphereBinding` components, i.e. `vsphere-source-webhook` and `adapter` `Deployments`, can now be changed at runtime.

cc-ing FYI @KauzClay


All SparkPlugB messages have retain flag set

Noticed this through Wireshark. NDATA, DDATA, and others have the "retain" flag set. I think it's because most of the messages are built in SparkplugMessageGenerator.cs with the .WithRetainFlag() set which has a default input parameter of TRUE. With some exceptions, most should be set to .WithRetainFlag(False).
I suspect that the SparkPlugB standard states only the STATE message should have the retain flag set.
This is excellent work here. I hope this helps!

I guess, you're right with that. I'm not sure if it's in the standard or if I just added the retain flag on my own for all messages (because it made sense at that time).
I will check this and update the library. Already wanted to update it some time ago, but didn't have much time sadly.

I suspect that the SparkPlugB standard states only the STATE message should have the retain flag set.

I have re-read the standard and you're right. Only the STATE messages of the primary application are retained.

Fixed with https://github.com/SeppPenner/SparkplugNet/commit/de9acb38bfa867319edc8846d1e8363dfe370be2. I will try to release a new version soon :)

Version 0.5 is on the way :)


[Topic]: MIR Analyses

Contact Details
<EMAIL_ADDRESS>Which rustc topic would you like to suggest?
MIR Analysis (and in particular, Dataflow based analysis) is a very important topic to me, but I had a hard time getting around the code itself and the little bits and pieces when I tried making NL(CP) happen. Now I've put this project on hiatus (as of about 3 weeks ago, I've cancelled my thesis which was based on that work c': ), and because of uni I'm not gonna get back at it full steam until I'm able to graduate.
I would like to understand... okay, so this is the current picture I have in my mind of how the compiler processes code:

Text ==> Rust ==> HIR ==> <<MIR>> || Frontend-Backend boundary || ==> <<LLVM>> ==> Binary
Where <<bloop>> means the bloop stage loops back into itself many times
And inside of that...

Rust ==> HIR simplifies rust code (and does macro expansion?)
<<MIR>> makes high-level analyses and transforms such as... non-lexical lifetime analysis, (trait resolution?) and high-level optimizations.

The thing is, I would love to understand how we perform everything inside <<MIR>>. It's a very important topic for me. Both because it helps Clippy, which can help attest for program correctness... and because it helps reduce compile times and it will one day help us optimize beyond what LLVM alone can give us.
And, maybe this is just me or maybe I'm just code-shy, but I feel like my theoretical understanding of some of the program analysis topics is good enough for where the compiler's at. Yet it's still super hard for me to step at a point in rustc's MIR Analysis code and know what's up, let alone draft new code to add to it. That's what I would like to learn the most: how to be confident enough with the compiler's code so that I could give back to it from my harvests.
Relevant code file URL

https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_dataflow/index.html
https://rustc-dev-guide.rust-lang.org/mir/dataflow.html (docs)
And:
https://github.com/rust-lang/rustc-dev-guide/issues/990
https://github.com/rust-lang/rust/issues/80038#issuecomment-787125834
(These two links are more about my issues with the docs. Don't take the current docs at face value, because currently they're not quite correct. Just in case you might feel that something's weird about them: it might not be you, but the explanations that are off)

Code of Conduct

[X] I agree to follow this project's Code of Conduct

This is an amazing write up.  It also appears to be beyond the scope of our code reading club sessions. We will be focusing on understanding the modules or crates that makeup the compiler and maybe even resolving a real bug.


chore: prepare release 2023-10-11

Summary
This PR has been created using the yarn release script. Once merged, the clients will try to release their new version if their version has changed.


Removes maxLength from DateInput component

Fix for https://github.com/airbnb/react-dates/issues/200
to: @airbnb/webinfra

Coverage remained the same at 86.522% when pulling fa163dffe15fbc93b2eea704b31ad6cc9655b314 on maja-remove-max-length-from-date-inputs into 08906d657390395c38b6b88fe73327b9441a8107 on master.


traccar and OPENGTS integration

Hello;
I just installed traccar 3.3 and i want to integrate it with openGTS 2.6.0 , i tried to fellow the step by step  guide to do it , but it seems that the guide was made for another version of traccar
according to the guide we should do the fellowing :+1:
Remove all SQL queries from the config (from database.createSchema to database.updateLatestPosition)
but the line database.createSchema does not exist in the traccar.xml version 3.3 file
please check below
<!--  DATABASE CONFIG
  -->
  <entry key="database.driver">org.h2.Driver</entry>
  <entry key="database.url">jdbc:h2:[DATABASE]</entry>
  <entry key="database.user">sa</entry>
  <entry key="database.password" />
  <entry key="database.changelog">[CHANGELOG]</entry>
  <entry key="database.selectServers">SELECT * FROM server;</entry>
  <entry key="database.updateServer">UPDATE server SET registration = :registration, readonly = :readonly, map = :map, bingKey = :bingKey, mapUrl = :mapUrl, language = :language, distanceUnit = :distanceUnit, speedUnit = :speedUnit, latitude = :latitude, longitude = :longitude, zoom = :zoom WHERE id = :id;</entry>
  <entry key="database.loginUser">SELECT * FROM users WHERE email = :email;</entry>
  <entry key="database.selectUser">SELECT * FROM users WHERE id = :id;</entry>
  <entry key="database.selectUsersAll">SELECT * FROM users;</entry>
  <entry key="database.insertUser">INSERT INTO users (name, email, hashedPassword, salt, admin) VALUES (:name, :email, :hashedPassword, :salt, :admin);</entry>
  <entry key="database.updateUser">UPDATE users SET name = :name, email = :email, admin = :admin, map = :map, language = :language, distanceUnit = :distanceUnit, speedUnit = :speedUnit, latitude = :latitude, longitude = :longitude, zoom = :zoom WHERE id = :id;</entry>
  <entry key="database.updateUserPassword">UPDATE users SET hashedPassword = :hashedPassword, salt = :salt WHERE id = :id;</entry>
  <entry key="database.deleteUser">DELETE FROM users WHERE id = :id;</entry>
  <entry key="database.getPermissionsAll">SELECT userId, deviceId FROM user_device;</entry>
  <entry key="database.selectDevicesAll">SELECT * FROM devices;</entry>
  <entry key="database.selectDevices">SELECT * FROM devices d INNER JOIN user_device ud ON d.id = ud.deviceId WHERE ud.userId = :userId;</entry>
  <entry key="database.insertDevice">INSERT INTO devices (name, uniqueId) VALUES (:name, :uniqueId);</entry>
  <entry key="database.updateDevice">UPDATE devices SET name = :name, uniqueId = :uniqueId WHERE id = :id;</entry>
  <entry key="database.updateDeviceStatus">UPDATE devices SET status = :status, lastUpdate = :lastUpdate WHERE id = :id;</entry>
  <entry key="database.deleteDevice">DELETE FROM devices WHERE id = :id;</entry>
  <entry key="database.linkDevice">INSERT INTO user_device (userId, deviceId) VALUES (:userId, :deviceId);</entry>
  <entry key="database.unlinkDevice">DELETE FROM user_device WHERE userId = :userId AND deviceId = :deviceId;</entry>
  <entry key="database.selectPositions">SELECT * FROM positions WHERE deviceId = :deviceId AND fixTime BETWEEN :from AND :to ORDER BY fixTime;</entry>
  <entry key="database.insertPosition">INSERT INTO positions (deviceId, protocol, serverTime, deviceTime, fixTime, valid, latitude, longitude, altitude, speed, course, address, attributes) VALUES (:deviceId, :protocol, :now, :time, :time, :valid, :latitude, :longitude, :altitude, :speed, :course, :address, :attributes);</entry>
  <entry key="database.selectLatestPositions">SELECT * FROM positions WHERE id IN (SELECT positionId FROM devices);</entry>
  <entry key="database.updateLatestPosition">UPDATE devices SET positionId = :id WHERE id = :deviceId;</entry>

My last question is : is the fellowing good for openGTS 2.6.0 and if not what s the  version of the opengts that this guide is talking about. this will help many people i guess
<entry key='database.selectDevicesAll'>
        SELECT imeiNumber AS id, imeiNumber AS uniqueId FROM Device WHERE imeiNumber REGEXP '^[0-9]+$';
    </entry>

    <entry key='database.insertPosition'>
        START TRANSACTION;
            UPDATE Device SET lastValidLatitude = :latitude, lastValidLongitude = :longitude, lastGPSTimestamp = UNIX_TIMESTAMP(:time), lastUpdateTime = UNIX_TIMESTAMP(NOW()) WHERE imeiNumber = RIGHT(CONCAT('000000000000000', :deviceId), 15);
            SELECT @accountID := accountID, @deviceID := deviceID FROM Device WHERE imeiNumber = RIGHT(CONCAT('000000000000000', :deviceId), 15);
            INSERT INTO EventData (accountID, deviceID, timestamp, statusCode, latitude, longitude, speedKPH, heading, altitude, rawData, creationTime, address)
            VALUES (@accountID, @deviceID, UNIX_TIMESTAMP(:time), 0, :latitude, :longitude, :speed * 1.852, :course, :altitude, '', UNIX_TIMESTAMP(NOW()), :address);
        COMMIT;
    </entry>

I have already updated OpenGTS integration instructions:
https://www.traccar.org/opengts/
As for OpenGTS version, any should work as long as they haven't changed the database schema.

Thanks for the answer ; but as i said i can not find the line
"database.createSchema" in the xml file , so i do not know exactly where i need to delete the sql queries from . Please double check .

I have updated that page just a day ago, so your browser might be using old cached or something. Anyway, it's good that it's working for you now.

I googled for open source live gps tracking and primarily found traccar and opengts. I read many Q&A forums and discussions about traccar directly accessing opengts database and traccar http forwarding. Just curious and would like to learn why would one integrate traccar and opengts?  Is it because OpenGTS web interface may be richer while one still could use traccar's mobile clients and managers on iOS and Android? Are scalability and performance consideration factors for integration?  Thanks in advance.

@atgrid, the reason would be that OpenGTS might have some features that are missing in Traccar. OpenGTS is a very outdated system, so I wouldn't recommend using it. Next version of Traccar will include most of the features that OpenGTS has, so there will be almost no point in the integration.
If you want to discuss it more, please create your own thread here on GitHub, or on forum.


Warning /liability/executor is not a publisher of ...

robonomics_comm 1.0.0
airalab-sidechain
I see the following log
[rosout][WARNING] 2019-06-03 10:10:26,866: Could not process inbound connection: [/liability/executor] is not a publisher of [/liability/eth_0x5820106C0B44C51150aD04eFD0c16a4ce851d09A/task].
Topics are [['/rosout', 'rosgraph_msgs/Log'], ['/liability/persistence/add', 'robonomics_liability/Liability'], ['/liability/persistence/del', 'robonomics_liability/Liability'], ['/liability/complete', 'robonomics_liability/Liability'], ['/liability/ready', 'robonomics_liability/Liability'], ['/liability/result', 'robonomics_msgs/Result'], ['/liability/persistence/update_timestamp', 'robonomics_liability/LiabilityExecutionTimestamp']]{'callerid': '/worker', 'md5sum': '992ce8a1687cec8c8bd883ec73ca41d1', 'message_definition': 'string data\n', 'tcp_nodelay': '0', 'topic': '/liability/eth_0x5820106C0B44C51150aD04eFD0c16a4ce851d09A/task', 'type': 'std_msgs/String'}

this message repeats again and again. Validator is 0x0...0

Could you provide steps to reproduce this error.

I tried several agents. It doesn't really affect the process, but warning messages don't stop.
The steps are usual:

Get a liability
call /liability/start service
complete the task
call /liability/finish service

In a dapp I can see the result and it's correct. I mean I'm able to download the result Qm... file and play it with the rosbag tool.

On the agent side it shows as an error
[rospy.internal][ERROR] 2019-08-07 13:47:35,246: Unable to initiate TCP/IP socket to dczd-aira-droneid:36577 (http://dczd-aira-droneid:38673/): Traceback (most recent call last):
  File "/nix/store/34kbwpb98973b7f4w83scg2g5v2dq0h0-rospy-1.14.4/lib/python3.7/site-packages/rospy/impl/tcpros_base.py", line 558, in connect
    self.read_header()
  File "/nix/store/34kbwpb98973b7f4w83scg2g5v2dq0h0-rospy-1.14.4/lib/python3.7/site-packages/rospy/impl/tcpros_base.py", line 653, in read_header
    self._validate_header(read_ros_handshake_header(sock, self.read_buff, self.protocol.buff_size))
  File "/nix/store/34kbwpb98973b7f4w83scg2g5v2dq0h0-rospy-1.14.4/lib/python3.7/site-packages/rospy/impl/tcpros_base.py", line 596, in _validate_header
    raise TransportInitError("remote error reported: %s"%header['error'])
rospy.exceptions.TransportInitError: remote error reported: [/liability/executor] is not a publisher of [/liability/eth_0x9Ea09A69c8F46c7E45C4eD01866010B191614f03/pilot_reg]. Topics are [['/rosout', 'rosgraph_msgs/Log'], ['/liability/persi
stence/add', 'robonomics_liability/Liability'], ['/liability/persistence/del', 'robonomics_liability/Liability'], ['/liability/complete', 'robonomics_liability/Liability'], ['/liability/ready', 'robonomics_liability/Liability'], ['/liabili
ty/result', 'robonomics_msgs/Result'], ['/liability/persistence/update_timestamp', 'robonomics_liability/LiabilityExecutionTimestamp'], ['/liability/eth_0xA1c3da919d071135C8862e6aDd87Bf33723F9f37/id_serial', 'std_msgs/String'], ['/liabilit
y/eth_0xA1c3da919d071135C8862e6aDd87Bf33723F9f37/email', 'std_msgs/String'], ['/liability/eth_0xA1c3da919d071135C8862e6aDd87Bf33723F9f37/drone_type', 'std_msgs/String'], ['/liability/eth_0xA1c3da919d071135C8862e6aDd87Bf33723F9f37/drone_mak
e', 'std_msgs/String'], ['/liability/eth_0xA1c3da919d071135C8862e6aDd87Bf33723F9f37/drone_model', 'std_msgs/String'], ['/liability/eth_0xA1c3da919d071135C8862e6aDd87Bf33723F9f37/id_reg', 'std_msgs/String'], ['/liability/eth_0xA1c3da919d071
135C8862e6aDd87Bf33723F9f37/pilot_name', 'std_msgs/String'], ['/liability/eth_0xA1c3da919d071135C8862e6aDd87Bf33723F9f37/pilot_reg', 'std_msgs/String']]

I think this might be an issue due to this unstopable warnings/errors the next liability is not executed

It doesn’t looks like robonomics_comm problem. Could you reallocate subscriber on agent side when liability finished?

It looks like it. I added unregister() to every publisher/subscriber and I don't see those warnings. But it should be tested more

Great, please test and close it.

I reproduced this problem.
Error messages occur if after the rosbag player stops (call /liability/finish), there are subscribers to the topics of the finished liability.
It's doesn't look like robonomics_comm problem.


Web worker compatibility

window is not defined in worker context, use self instead.

Thanks for the PR, looks good!


Fix deployment sources for flex compat projects; fix maven deploy targets for flex compat

fixes #993
Flex compat projects should show the same sources as AE standard projects.
Also fixes error when deploying a maven deployment source for flex compat projects: since the cloud environment for these projects is flex, it incorrectly used the war target instead of the exploded directory.

@joaoandremartins I'd like to get your approval here too as you helped uncover this issue.

Current coverage is 24.85% (diff: 0.00%)

No coverage report found for master at 2212d17.

Powered by Codecov. Last update 2212d17...7293030

I'm approving without testing. I assume you already tested this.

I did