Implicit conversions in 4.0

First off, thanks for making the new release, it cleaned up a lot of my messy data access code.
I think I've found a few edge cases where this still doesn't work, though.
For example, this should work, but gives the error below:
            IGeoCoordinates geo = place.Geo;

Cannot implicitly convert type 'Schema.NET.Values<Schema.NET.IGeoCoordinates, Schema.NET.IGeoShape>?' to 'Schema.NET.IGeoCoordinates'
I need to keep my old code like this, for it to compile:
            IGeoCoordinates geo = place.Geo.Value.Value1.FirstOrDefault();

I've found similar problems:
IPostalAddress address = musicVenue.Address;
IMusicGroup artist = musicAlbum.ByArtist;
IMusicGroup artist = musicRecording.ByArtist;

That doesn't work either, unfortunately:
            IGeoCoordinates g = place.Geo.Value;

Cannot implicitly convert type 'Schema.NET.Values<Schema.NET.IGeoCoordinates, Schema.NET.IGeoShape>' to 'Schema.NET.IGeoCoordinates'

You are indeed correct! You can do a collection:
List<IGeoCoordinates> coordinates = musicVenue.Geo;

I'm not sure why the implicit operator is not working. Investigating.

This is an overlooked side effect of switching to interfaces. We could fix this by adding more generic type parameters. I have a working sample here that turns OneOrMany<T> into OneOrMany<T, TConcrete> and Values<T1, T2> into Values<T1, T1Concrete, T2, T2Concrete>. I'm not certain if that is a good thing to do.
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;

namespace ConsoleApp9
{
    class Program
    {
        static void Main(string[] args)
        {
            var place = new Place()
            {
                Geo = new GeoCoordinates()
            };
            GeoCoordinates coordinates = place.Geo;
            GeoCoordinates foo = place.Foo;
        }
    }

    public interface IPlace
    {
        Values<IGeoCoordinates, GeoCoordinates, string, string>? Geo { get; set; }
        OneOrMany<IGeoCoordinates, GeoCoordinates> Foo { get; set; }
    }

    public class Place : IPlace
    {
        public Values<IGeoCoordinates, GeoCoordinates, string, string>? Geo { get; set; }
        public OneOrMany<IGeoCoordinates, GeoCoordinates> Foo { get; set; }
    }

    public interface IGeoCoordinates { }
    public class GeoCoordinates : IGeoCoordinates { }

    public struct Values<T1, T1Concrete, T2, T2Concrete> : IReadOnlyCollection<object>, IEnumerable<object>
    {
        public Values(OneOrMany<T1, T1Concrete> value)
        {
            this.Value1 = value;
            this.Value2 = default;
            this.HasValue1 = true;
            this.HasValue2 = false;
        }
        public Values(OneOrMany<T2, T2Concrete> value)
        {
            this.Value1 = default;
            this.Value2 = value;
            this.HasValue1 = false;
            this.HasValue2 = true;
        }
        public Values(params object[] items)
            : this(items.AsEnumerable())
        {
        }
        public Values(IEnumerable<object> items)
        {
            if (items == null)
            {
                throw new ArgumentNullException(nameof(items));
            }

            var items1 = items.OfType<T1>().Concat(items.OfType<OneOrMany<T1, T1Concrete>>().SelectMany(x => x)).ToList();
            var items2 = items.OfType<T2>().Concat(items.OfType<OneOrMany<T2, T2Concrete>>().SelectMany(x => x)).ToList();

            this.HasValue1 = items1.Count > 0;
            this.HasValue2 = items2.Count > 0;

            this.Value1 = items1;
            this.Value2 = items2;
        }
        public int Count => this.Value1.Count + this.Value2.Count;
        public bool HasValue1 { get; }
        public bool HasValue2 { get; }
        public OneOrMany<T1, T1Concrete> Value1 { get; }
        public OneOrMany<T2, T2Concrete> Value2 { get; }

        public static implicit operator Values<T1, T1Concrete, T2, T2Concrete>(T1 item) => new Values<T1, T1Concrete, T2, T2Concrete>(item);
        public static implicit operator Values<T1, T1Concrete, T2, T2Concrete>(T2 item) => new Values<T1, T1Concrete, T2, T2Concrete>(item);
        public static implicit operator Values<T1, T1Concrete, T2, T2Concrete>(T1[] array) => new Values<T1, T1Concrete, T2, T2Concrete>(array);
        public static implicit operator Values<T1, T1Concrete, T2, T2Concrete>(T2[] array) => new Values<T1, T1Concrete, T2, T2Concrete>(array);
        public static implicit operator Values<T1, T1Concrete, T2, T2Concrete>(List<T1> list) => new Values<T1, T1Concrete, T2, T2Concrete>(list);
        public static implicit operator Values<T1, T1Concrete, T2, T2Concrete>(List<T2> list) => new Values<T1, T1Concrete, T2, T2Concrete>(list);
        public static implicit operator Values<T1, T1Concrete, T2, T2Concrete>(object[] array) => new Values<T1, T1Concrete, T2, T2Concrete>(array);
        public static implicit operator Values<T1, T1Concrete, T2, T2Concrete>(List<object> list) => new Values<T1, T1Concrete, T2, T2Concrete>(list);

        public static implicit operator T1Concrete(Values<T1, T1Concrete, T2, T2Concrete> values) => (T1Concrete)(object)values.Value1.FirstOrDefault();
        public static implicit operator T2Concrete(Values<T1, T1Concrete, T2, T2Concrete> values) => (T2Concrete)(object)values.Value2.FirstOrDefault();
        public static implicit operator T1[](Values<T1, T1Concrete, T2, T2Concrete> values) => values.Value1.ToArray();
        public static implicit operator List<T1>(Values<T1, T1Concrete, T2, T2Concrete> values) => values.Value1.ToList();
        public static implicit operator T2[](Values<T1, T1Concrete, T2, T2Concrete> values) => values.Value2.ToArray();
        public static implicit operator List<T2>(Values<T1, T1Concrete, T2, T2Concrete> values) => values.Value2.ToList();

        public IEnumerator<object> GetEnumerator()
        {
            if (this.HasValue1)
            {
                foreach (var item1 in this.Value1)
                {
                    yield return item1;
                }
            }

            if (this.HasValue2)
            {
                foreach (var item2 in this.Value2)
                {
                    yield return item2;
                }
            }
        }
        IEnumerator IEnumerable.GetEnumerator() => this.GetEnumerator();
    }

    public struct OneOrMany<T, TConcrete>
        : IReadOnlyCollection<T>, IEnumerable<T>
    {
        private readonly List<T> collection;
        private readonly T item;
        public OneOrMany(T item)
        {
            this.collection = null;
            this.item = item;
        }
        public OneOrMany(params T[] array)
            : this(array == null ? null : new List<T>(array))
        {
        }
        public OneOrMany(IEnumerable<T> collection)
            : this(collection == null ? null : new List<T>(collection))
        {
        }
        public OneOrMany(List<T> list)
        {
            if (list == null)
            {
                throw new ArgumentNullException(nameof(list));
            }

            if (list.Count == 1)
            {
                this.collection = null;
                this.item = list[0];
            }
            else
            {
                this.collection = list;
                this.item = default;
            }
        }
        public int Count
        {
            get
            {
                if (this.HasOne)
                {
                    return 1;
                }
                else if (this.HasMany)
                {
                    return this.collection.Count;
                }

                return 0;
            }
        }
        public bool HasOne => this.collection == null && this.item != null;
        public bool HasMany => this.collection != null;
        public static implicit operator OneOrMany<T, TConcrete>(T item) => item != null && IsStringNullOrWhiteSpace(item) ? default : new OneOrMany<T, TConcrete>(item);
        public static implicit operator OneOrMany<T, TConcrete>(T[] array) => new OneOrMany<T, TConcrete>(array?.Where(x => x != null && !IsStringNullOrWhiteSpace(x)));
        public static implicit operator OneOrMany<T, TConcrete>(List<T> list) => new OneOrMany<T, TConcrete>(list?.Where(x => x != null && !IsStringNullOrWhiteSpace(x)));

        public static implicit operator TConcrete(OneOrMany<T, TConcrete> oneOrMany) => (TConcrete)(object)oneOrMany.FirstOrDefault();
        public static implicit operator T[](OneOrMany<T, TConcrete> oneOrMany) => oneOrMany.ToArray();
        public static implicit operator List<T>(OneOrMany<T, TConcrete> oneOrMany) => oneOrMany.ToList();

        public IEnumerator<T> GetEnumerator()
        {
            if (this.HasMany)
            {
                foreach (var item in this.collection)
                {
                    yield return item;
                }
            }
            else if (this.HasOne)
            {
                yield return this.item;
            }
        }
        IEnumerator IEnumerable.GetEnumerator() => this.GetEnumerator();
        private static bool IsStringNullOrWhiteSpace(T item) => item.GetType() == typeof(string) && string.IsNullOrWhiteSpace(item as string);
    }
}

Ah very interesting.  Feels like a lot of churn for an edge case benefit, though.
At least knowing I can get a list easily, then I just need to add a FirstOrDefault.  It only affects about a half dozen places in my code.

I just ran into this as well, so I wanted to give a couple more examples.
I had a CreateOffer method that returned an Offer and was used in two ways:
// single
data.Offers = CreateOffer(s);
// multiple
data.Offers = products.Select(x => CreateOffer(x)).ToList();

This change broke the second usage:

Cannot implicitly convert type 'System.Collections.Generic.List<Schema.NET.Offer>' to 'Schema.NET.OneOrMany<Schema.NET.IOffer>

Changing the return type of CreateOffer to IOffer actually fixes the second case, but breaks the first, which was not complaining before. For now, my best option instead seems to be adding a cast to the second case:
data.Offers = products.Select(x => CreateOffer(x)).Cast<IOffer>().ToList();

BTW, the root issue here is that the T in OneOrMany<T> is not covariant, meaning, for example that List<Offer> can't be assigned to a variable of type List<IOffer> as you might expect. Changing the signature to public struct OneOrMany<out T> would have fixed it, but only interface and delegate type parameters can be specified as variant (not structs or classes), so that's not possible. One solution to this would be to instead have public interface IOneOrMany<out T>.

I was messing with adding a OneOrMany<TInterface, TImplementation> type which would allow us to add lots of implicit conversions for TImplementation. It's on a branch here: https://github.com/RehanSaeed/Schema.NET/tree/implicit-concrete-type-conversion
@lorenpaulsen I've had some time to really read your comment and I think there are some good ideas here. It would be great to expand on the public interface IOneOrMany<out T> idea and see how it compares to what I did above.

It seems like this problem is meant to be this way for interfaces as Eric Lippert points out on Stack Overflow.
Looking into IOneOrMany<out T> sounds good though as far as I can tell, we can't add implicit conversions for interfaces. For example (though imagine that is IOneOrMany<T>):
public static implicit operator T(IEnumerable<T> oneOrMany) => oneOrMany.FirstOrDefault();

That has a compilation error of "user-defined conversions to and from an interface are not allowed". So to the best of my knowledge, this would mean that using IOneOrMany<out T> it is limited to only helping down cast the generic but not actually give implicit conversion to a list, array or single object - kinda one step forward and two steps back.
While OneOrMany<TInterface, TImplementation> would work in the sense that we can have an implicit conversion to TImplementation, it feels a little hacky to me. If you only work with interfaces, you'd need to write something like (IMyInterfaceType)(MyConcreteType)myOneOrMany just to get the single instance as the interface type.
Here is a controversial idea which I know would be a major breaking change - what if we dropped all the interfaces and only had the concrete types?
All our types are really just basic models with no specific implementation. If someone was wanting to add their own types, they likely would be building off of the implemented types unless they felt compelled to re-implement (probably in exactly the same way) the properties from the concrete types we already have.
The only concern I see would be if someone extends our concrete types and doesn't re-override the equality checks we do (as our types implement IEquatable<T>).
If it was going to be a problem with mocking in tests or something, we could mark the properties as virtual. This will apparently have a small overhead on performance as it but would allow Moq to work.

@Turnerj Interfaces were initially introduced to resolve https://github.com/RehanSaeed/Schema.NET/issues/13 via https://github.com/RehanSaeed/Schema.NET/pull/14. Ideally, we could find a way to support both features but I'm not sure that's possible. I messed about with some code in a branch here https://github.com/RehanSaeed/Schema.NET/tree/implicit-concrete-type-conversion some time ago but ran out of time.

Oh - I saw the combined classes before but didn't realise that was because of multiple inheritance in schema.org. The only way I could see #13 resolved without interfaces would be using namespacing to separate different types and then adding implicit conversion from the combined types to the non-combined.
So yeah, that really goes back to what you've got in that branch by having the concrete types specified in the generic arguments.


Be able to use OpsGenie-plugin behind a proxy.

This PR adds the ability to use this plugin behind a proxy. The proxy-configuration will be taken from Jenkins configuration.
This will solve issue https://github.com/opsgenie/opsgenie-jenkins-plugin/issues/4.

I also created a PR here: https://github.com/jenkinsci/opsgenie-plugin/pull/5
If one of them is not required please close the unnecessary one.

Hi, thanks for the request. I have tested the code and come up with 400 Bad request error. I verified that the request does not arrive the proxy server that I configured. Additionally, the proxy scheme is configured as http. Is it intended behavior? HttpHost proxyHost = new HttpHost(proxy.name, proxy.port); this line configures the HttpHost object with default http schema(3. parameter is not used in the constructor).
And finally, this version of the plugin is outdated. Can you please create a new pull request for this repository:  https://github.com/jenkinsci/opsgenie-plugin


After replied an email in the email thread, the email thread should be updated with new content.

Feature implemented..


Add _.configuration

From store comments:
"Very happy I found this AddIn. I'm wondering if there is a way to add "_.configuration"? I'm hoping to use each configuration's name as text."
Upcoming Fusion 360 will have support for configurations in the API. Add _.configuration.

Need assistance from a user that does not have the hobbyist license. When support for configurations in the API is released in Fusion, there can be an investigation.

Hey, do you still need a file containing a configuration setup? If so I can send you an email with a sample project from me.

Hi, I managed to find a project with a configuration on the Autodesk forums, but it seems that I cannot even inspect it with my license.
Instead, I would need help to run some API code. I've been scraping the Autodesk docs for info. I have found some configuration-related commands. However, I have not found a way to a) determine which configuration is the active one and b) read the names of the configurations (I think).
The below code is one line. Could you open Text Commands (Ctrl+Alt+C), select "Py", paste the line and then press enter. Then please paste the result here.
If you hover over the code below, a copy button should appear to the right.
[exec(f"print('{e}:')\ntry: print({e})\nexcept Exception as ex: print(ex)") for e in ["adsk.core.Application.get()", "adsk.core.Application.get().activeDocument.dataFile.isConfiguredDesign", "adsk.core.Application.get().activeDocument.dataFile.configurationTable", "adsk.core.Application.get().activeDocument.dataFile.configurationTable.id", "adsk.core.Application.get().activeDocument.dataFile.configurationTable.rows", "adsk.core.Application.get().activeDocument.dataFile.configurationTable.rows[0]", "adsk.core.Application.get().activeDocument.dataFile.configurationTable.rows.item(0).getCellByColumnIndex(0)", "adsk.core.Application.get().activeDocument.dataFile.configurationTable.rows.item(0).getCellByColumnIndex(1)", "adsk.core.Application.get().activeDocument.dataFile.configurationTable.rows.item(0).getCellByColumnIndex(2)", "adsk.core.Application.get().activeDocument.dataFile.configurationTable.rows.item(0).getCellByColumnIndex(3)", "adsk.core.Application.get().activeDocument.dataFile.configurationTable.rows.item(0).getCellByColumnIndex(4)", "adsk.core.Application.get().activeDocument.dataFile.configurationTable.getCell(0, 0)", "adsk.core.Application.get().activeDocument.dataFile.configurationTable.getCell(0, 0).objectType", "adsk.core.Application.get().activeDocument.dataFile.isConfiguration", "adsk.core.Application.get().activeDocument.dataFile.configurationRowId"]]

Here is the same output from windows. Seems like it dosent make a difference:
[exec(f"print('{e}:')\ntry: print({e})\nexcept Exception as ex: print(ex)") for e in ["adsk.core.Application.get()", "adsk.core.Application.get().activeDocument.dataFile.isConfiguredDesign", "adsk.core.Application.get().activeDocument.dataFile.configurationTable", "adsk.core.Application.get().activeDocument.dataFile.configurationTable.id", "adsk.core.Application.get().activeDocument.dataFile.configurationTable.rows", "adsk.core.Application.get().activeDocument.dataFile.configurationTable.rows[0]", "adsk.core.Application.get().activeDocument.dataFile.configurationTable.rows.item(0).getCellByColumnIndex(0)", "adsk.core.Application.get().activeDocument.dataFile.configurationTable.rows.item(0).getCellByColumnIndex(1)", "adsk.core.Application.get().activeDocument.dataFile.configurationTable.rows.item(0).getCellByColumnIndex(2)", "adsk.core.Application.get().activeDocument.dataFile.configurationTable.rows.item(0).getCellByColumnIndex(3)", "adsk.core.Application.get().activeDocument.dataFile.configurationTable.rows.item(0).getCellByColumnIndex(4)", "adsk.core.Application.get().activeDocument.dataFile.configurationTable.getCell(0, 0)", "adsk.core.Application.get().activeDocument.dataFile.configurationTable.getCell(0, 0).objectType", "adsk.core.Application.get().activeDocument.dataFile.isConfiguration", "adsk.core.Application.get().activeDocument.dataFile.configurationRowId"]]

Thanks for taking the time to check this. It looks like only parts of the functionality is implemented so far (getting tow, but not getting cell).
I guess we just have to wait.

It looks like kandennti on the forums found a way!
Can you try this command?
adsk.core.Application.get().activeProduct.configurationTopTable.activeRow.name

If that works, can you try the following on a design without a configuration (want to be able to handle that user error):
adsk.core.Application.get().activeProduct.configurationTopTable

adsk.core.Application.get().activeProduct.configurationTopTable.activeRow.name

Konfiguration 2

adsk.core.Application.get().activeProduct.configurationTopTable

adsk.core.Application.get().activeProduct.configurationTopTable

x = adsk.core.Application.get().activeProduct.configurationTopTable == None

x
True

Thanks!
Can you try downloading this version of ParametricText.py and put it in the add-in folder (take a backup copy of the original file first).
https://raw.githubusercontent.com/thomasa88/ParametricText/2889b88af398042246037f76e6cba841419d6f58/ParametricText.py
_.configuration should work.
I expect the file to be here if you used the Autodesk installer:
C:\Users\YOUR_USERNAME\AppData\Roaming\Autodesk\ApplicationPlugins\ParametricText.bundle

Works like a charm! Thanks a lot!

Great! Note that this API feature is stilled marked experimental by Autodesk, so it might break in the future.
Hmm, some more thoughts:

Does the text update correctly if you change which configuration is the active one?
Does the text update if the configuration is renamed?

If any of those is problematic, could you try running the troubleshooting code described here: https://github.com/thomasa88/ParametricText/issues/56#issuecomment-1656566754

Does the text update correctly if you change which configuration is the active one?

Yes

Does the text update if the configuration is renamed?

No
Here is the debug output:
x
ParametricText terminate: SelectCommand, reason: 4
ParametricText terminate: MarkDocumentsForOpenCommand, reason: 2
ParametricText terminate: PLM360OpenAttachmentCommand, reason: 2
ParametricText terminate: CloseDocumentCommand, reason: 2
ParametricText terminate: SelectCommand, reason: 5
ParametricText terminate: SelectCommand, reason: 4
ParametricText terminate: MarkDocumentsForOpenCommand, reason: 2
ParametricText terminate: PLM360OpenAttachmentCommand, reason: 2
ParametricText terminate: CloseDocumentCommand, reason: 2
ParametricText terminate: SelectCommand, reason: 5
Traceback (most recent call last):
  File "<string>", line 1, in <module>
NameError: name 'x' is not defined

# changing configuration now
invalid syntax (<string>, line 1)

# changing configuration name now
ParametricText terminate: SelectCommand, reason: 4
ParametricText terminate: DesignConfigurationActivateRowCmd, reason: 1
ParametricText terminate: SelectCommand, reason: 4
ParametricText terminate: thomasa88_ParametricText_Update, reason: 1
ParametricText terminate: SelectCommand, reason: 4
ParametricText terminate: DesignConfigurationActivateRowCmd, reason: 1
ParametricText terminate: SelectCommand, reason: 4
ParametricText terminate: thomasa88_ParametricText_Update, reason: 1
invalid syntax (<string>, line 1)

# changed configuration name
ParametricText terminate: SelectCommand, reason: 4
ParametricText terminate: FusionStartDesignConfigModeCmd, reason: 2
ParametricText terminate: SelectCommand, reason: 4
ParametricText terminate: DesignConfigurationCmd, reason: 2
ParametricText terminate: DesignConfigurationToolbarCmd, reason: 2
ParametricText terminate: CloseConfig, reason: 2
ParametricText terminate: DesignConfigurationUpdateNestedRowNameCmd, reason: 2
invalid syntax (<string>, line 1)

# changing configuration now again
invalid syntax (<string>, line 1)

# done
ParametricText terminate: SelectCommand, reason: 4
ParametricText terminate: DesignConfigurationActivateRowCmd, reason: 1
ParametricText terminate: SelectCommand, reason: 4
ParametricText terminate: thomasa88_ParametricText_Update, reason: 1
invalid syntax (<string>, line 1)

Hi, I've been quite busy the last month. Please try this new version:
https://github.com/thomasa88/ParametricText/blob/15064508243a38636ef5e3a2040b70b1a363e33e/ParametricText.py
It listens for "DesignConfigurationUpdateNestedRowNameCmd" cancelled(!) which seems to appear when you change the name.

Please try this new version

Just tried it out and it works. Awesome!
Thanks :)

Part of 2.4 release. Submitted to Autodesk.


Enhance Bundle Registration Process

Description
As a TRE System Integrator
I want to specify the full repository where a bundle is stored
So that I can store templates in different locations
As a TRE System Integrator
I want the bundle to be read and imported without the need to manually generate a payload and call the API.
So that I can quickly register new bundles
Acceptance criteria

[ ] Post/register template operations accepts and stores a repository
[ ] Post/register template operation extracts template details using resource processor and stores template details
[ ] Get Workspace Template returns the repository
[ ] Post Workspace with successfully deploys the workspace

Notes:
Docker calls the combination of [registry-url]/[namespace]/[image] a repository. For example https://myregistry.azurecr.io/workspaces/azureml

Remember firewall rules needs to be added for other ACR instances. Ref #421

@Lybecker  not sure they do as ACI pulls over the public internet. See https://docs.microsoft.com/en-us/azure/container-instances/container-instances-using-azure-container-registry#limitations

@marrobi, recent changes in the registration script (#1278) made porter use a bundle image stored on a remote container registry. However, to fully register a new TRE template the process also needs the template_schema.json.
Do you have any thoughts around that?

We discussed a while back possiblity of having a custom action that prints the schema file. I tried this and it does work but feels messy.
Unless we can extract a file another way open to suggestions.

If we want to separate bundle creation from registration, than the only additional way would be to somehow get a url where the file can be accessed.
But that brings me to another question, how would the flow look like? Would the TRE system integrator still need to register the templates one by one? Is the assumption that they were the ones who also published the bundles?
P. S. Currently the resource processor can only access one container registry.

Just adding as a note, can retrieve single file from a porter bundle using:
image="mrtreint.azurecr.io/tre-service-guacamole-linuxvm-installer:v0.1.7"
container_id=$(docker create "$image")
docker cp "$container_id:/cnab/app/azure.json" "tmp_json.json"
docker rm "$container_id"


Repo cloned but cannot build it

Hi,
Could you help please.
Repo has been cloned in my user folder.
Your line of command is not working, why ? thanks

Is this repo still working right with telegram ?


How add google map to UI

Hello dear Natan
First i wanna appreciate you for this amazing free service and it's kind of you to put it free and make a lot of lifes better, god blest you
This is my website: www.sanagps.ir:8082
How can i add google map to interface
It's just open street map.
User<EMAIL_ADDRESS>Pass 4520

Sorry mistake in name, auto correct problem
Dear Anton Tananaev

Please read this page:
https://www.traccar.org/map-layers/

Dear, i read that before, but i didn't understand where i can use this:
http://mt0.google.com/vt/lyrs=m&hl=en&x={x}&y={y}&z={z}&s=Ga
Where i have to copy this?

Into the server settings. Login as admin, then go into Settings -> Server. Put it into the custom map URL field there.

Oh, thanx, i made it
Really thak you
Dear Anton, is it possible to add some option, like key for cut off the car, or play back the route report, or changing the interface ?
How i can do it?

Commands to stop the engine are already available for some protocols.
If you want to change the interface or add new features, you have to modify source code.

Where can i find the souce code?

Please do some research before asking questions like that.
https://www.traccar.org/source-code/

Ok
But i researched and still .didn't find what file have the information about the interface, and where i can change the detail of page.
Any way, thanks

What kind of information are you looking for?

The color of the frame, changing the text of panel, adding a text in the page,  the monitoring and managing page and login page

That's all user interface parts, so here is the source code:
https://github.com/tananaev/traccar-web

Here are some important parameters to change the google maps layers:
URL: http://mt0.google.com/vt/lyrs=s&hl=en&x={x}&y={y}&z={z}&s=Ga (this example we're using the satellite only layer)
In order to select other layer, change the lyrs=? parameter(find it in the URL above) with one of the options below:
h = roads only
m = standard roadmap
p = terrain
r = somehow altered roadmap
s = satellite only
t = terrain only
y = hybrid

Thanks for the information.

@leontino use below tile server for traffic layer
https://mt0.google.com/vt/lyrs=m@221097413,traffic&x={x}&y={y}&z={z}&s=Ga

@hikmat30ce sorry but where's "tile server "? ahaha

@hikmat30ce where I can put this?

Please check this image, you can put the url by Going to Setting icon on left top corner and then Server.
Let me know if it doesnot work, I will send more screenshots

Well guys I am using the same google map but Google can ban our IP and Domain for using that without API key, that is not legal ! So is there any other legal free satellite layer Map for Traccar same like google ?
Regards

This is not a Issue or Feature request please make a post on the forum.
https://www.traccar.org/forums/
@tananaev can be closed.


use a shortcode/deeplink

it would be great to have a shortcode like boltcardnfc://my-web-address/new?a=my-one-time-code so that other wallet could automatically open the app with the right code automatically fetched.
related issue #36

Would this request be a POST as well - or specified?

I think it could be either GET or POST.
I suggest a default of GET as we have now, and adding a parameter to the URI, e.g. use_post=true if POST is implemented as an option, as in #36 .


Every month on the 30th day

I'm trying to do this:
schedule.add_recurrence_rule Rule.monthly.day_of_month(30)

without it skipping February (and just using the last day).
Is it possible? I can't see anything in the iCal specification to cover this type of thing.
I know it's not really an issue, but just wondered if there is a workaround?

Do you intend to get the last day of the month?
If so, using day_of_month(-1) will work
If not, what day would you want to see in February in your schedule?
On Mon, Jan 30, 2012 at 10:40 PM, Mitchell Bryson <
<EMAIL_ADDRESS>
wrote:

I'm trying to do this:
schedule.add_recurrence_rule Rule.monthly.day_of_month(30)
without it skipping February?
Is it possible? I can't see anything in the iCal specification to cover
this type of thing.

Reply to this email directly or view it on GitHub:
https://github.com/seejohnrun/ice_cube/issues/63

No not the last day, here's an example:
I create a new task on the 30th January, and want it to repeat every month on the same day. However, because February only goes to 28 (29 on a leap year) I want it to be the last day of February.
Here's another example:
I create a new task on the 31st of January, and want it to repeat monthly. But for every month that has less than 31 days, I want it to be on the last day of every month.

So I've got around it by checking to see if the day is greater than 28, and if it is, adding a separate rule for february.
But first I check if the day chosen is the end of the month, and just use the day_of_month(-1) rule


Can not deploy a function

Does this occur consistently?
Repro steps:

Action: azureFunctions.deploy
Error type: EAI_AGAIN
Error Message: getaddrinfo EAI_AGAIN management.azure.com
Version: 0.23.0
OS: win32
OS Release: 10.0.17763
Product: Visual Studio Code
Product Version: 1.45.1
Language: en

Call Stack
GetAddrInfoReqWrap.onlookup [as oncomplete] dns.js:60:26

Please add repro steps


Installation?

Hi! I'm the maintainer of the Fedora isort RPM. Previously, isort was installed with setuptools. In the 5.x releases, there's a setup.cfg but no setup.py. Is there another method of installation? pip isn't an option because this needs to be built from source.

Hi @limburgher,
Thank you for maintaining the RPM! isort uses poetry now to manage package installation, which means it doesn't include setup.py file in the repo. However, when the project is released and pushed to PyPI it creates a setup.py in the source package:
See the tar.gz here: https://pypi.org/project/isort/5.0.5/#files
Could this be used to build the package?

Yes, that works, thank you!


TM - Guest Checkout - No GDPR Data in URL

Reference: https://github.tools.sap/cx-commerce/spasec/issues/20

I went through each rest api call made to backend during guest checkout.
Couldn't find GDPR data explicitly used in URL. 🆗


LaTeX Support

LaTeX support will make writing math equations easier.

Sure, any library recommended?

I think MathJax and KaTeX are the main big ones.

@antfu that was really fast 🥳.

@antfu is there a way to use the Math renderer from HTML instead of markdown?

Possible to add also MathJax Support?

https://www.npmjs.com/package/markdown-it-mathjax3


Heartbeat Benchmarks

Implement the heartbeat example from https://github.com/demergent-labs/canister-profiling/tree/main/heartbeat in:

[ ] old azle syntax
[ ] new azle syntax
[ ] kybra.

The benchmarks should then be run with both dfx v14 and v15.
Deliverables: A readme that has the binary size of each canister and the number of cycles each took.

I'm not seeing strong differences between the new and old instrumentation. Here's the forum post where the new instrumentation is announced: https://forum.dfinity.org/t/new-wasm-instrumentation/22080

Kybra is crazy because we make an uploader canister, and then call a post_install script to chunk upload the python stdlib and the actual canister. Getting it to work in this framework is going to be very challenging. I'm not even sure what arbitrary commands you can run from within an ic-repl script. The perf.sh script is what's currently doing the installation so it feels like we need it in there. There's a chance we could do it in the makefile before we get to perf.sh, or go back and forth in between the two somehow.
Either way, getting kybra to be measured here will not be trivial.


Upscale only

I made option to use superresolution without the initital downscaling. Thus solving https://github.com/amanchadha/iSeeBetter/issues/7
Plus I fixed one bug with modules.

I went through your changes -- they look good and very useful. I've merged your pull request. Thanks!

Closing.

Nice. Glad to hear (read).


fix: remove ctx.IsGenesis from cosmwasm authenticator

What is the purpose of the change
Removed deprecated code for IsGenesis()

Seems there are some go tests directly failing from this change. Will set in draft for now until addressed.


Question about error handling in services

I have a question about the conduit.ts file in /services. Taking updateArticle and getArticle as an example, some of the functions in this file omit try/catch's. Is it to obfuscate back end failure from the front end - i.e. the only errors we care about are errors that were caused by sending data from the front end? I see that the only places that have try/catch's are where axios is receiving a second argument, for the most part. There are 1 or 2 exceptions to that pattern I’m seeing.
wondering about the reasoning for omitting try catches on some of these? or if you have any resources to read more about this?
In short, why wouldnt you always use a Result type and thus a try/catch scheme, at least for the sake of consistency within this file?
thanks!

I am assuming that the API is working properly all the time and only try/catching when there is an expected error. Returning Result and catching all requests is definitely the better way and that's why I love Elm as it forces you to do that. So the only reason I didn't follow those guidelines was that I considered it to be out of scope for the initial implementation of this project, but it is something that could be added eventually.


Task - open Job Action cards

Resolves #1935
Notes:

Created a Job Action Card component for jobs that can be claimed by the current HR adviser.

Since there was already a component with the name JobCard, I named this OpenJobAction. However, I feel it needs a better name.

The component can be viewed in Storybook under "Open Job Action".

https://github.com/GCTC-NTGC/TalentCloud/pull/2087#pullrequestreview-319401235
Ya I wasn't sure what to name it since there was already a JobCard component. We should 100% rename it. There are 2 types of Job Cards on the HR Portal so maybe 'ClaimedJobCard' is better.


NIST PubID scheme: Does not support minor version numbers in revision

According to the final NIST PubID scheme:

If an existing publication indicates it’s a “version”, its PubID should use the “revision” .

According to 2.1.5 “Edition”, it says:
“
If an existing publication indicates it’s a “version”, its PubID should use the “revision”.
“
And the grammar is:
<edition> = <edition-type><edition-id>
<edition-type> = ′′-′′ | ′′e′′ | ′′r′′
<edition-id>= {1-9}|yyyy

Notice that the allows values for <edition-id> are either 1-9 or yyyy.
The following identifiers use “version”, but their version numbers do not fit the allowed <edition-id> pattern. (This is just a selection)

NIST SP 1011-II-2.0
https://pages.nist.gov/NIST-Tech-Pubs/SP.html
Title: Autonomy Levels For Unmanned Systems (ALFUS) framework, volume I : terminology version 2.1
Date Published: 2008
Authors: Hui-Min Huang
Report Number: NIST SP 1011-I-2.0
doi:10.6028/NIST.SP.1011-I-2.0

“2.0” does not fit <edition-id>

NIST SP 500-268v1.1
https://pages.nist.gov/NIST-Tech-Pubs/SP500.html
Title: Source code security analysis tool functional specification version 1.1
Date Published: 2011
Authors: Paul E Black, Michael Kass, Michael Koo, Elizabeth Fong
Report Number: NIST SP 500-268v1.1
doi:10.6028/NIST.SP.500-268v1.1

“1.1” does not fit <edition-id>

NIST SP 500-281-v1.0
https://pages.nist.gov/NIST-Tech-Pubs/SP500.html
Title: USGv6 testing program user's guide-version 1.0 (December 2009)-draft
Date Published: 2009
Authors: Stephen Nightingale, Doug Montgomery
Report Number: NIST SP 500-281-v1.0
doi:10.6028/NIST.SP.500-281-v1.0

“1.0” does not fit <edition-id>

NIST SP 800-63v1.0.1
https://pages.nist.gov/NIST-Tech-Pubs/SP800.html
Title: Electronic authentication guideline
Date Published: 2004
Authors: W E Burr, D F Dodson, W T Polk
Report Number: NIST SP 800-63v1.0.1
doi:10.6028/NIST.SP.800-63v1.0.1

"1.0.1" does not fit <edition-id>

NIST SP 800-63v1.0.2
https://pages.nist.gov/NIST-Tech-Pubs/SP800.html
Title: Electronic authentication guideline
Date Published: 2006
Authors: W E Burr, D F Dodson, W T Polk
Report Number: NIST SP 800-63v1.0.2
doi:10.6028/NIST.SP.800-63v1.0.2

"1.0.2" does not fit <edition-id>

NIST SP 800-60 Ver. 2.0
https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-60ver2v2.pdf

“2.0" does not fit <edition-id>

Some of these versions are just major versions (e.g. “1.0”, “2.0”), we could replace them with just “1” and “2”.
However, the version strings of “1.1”, “1.0.2”, “2.1" will need further accommodation.
Originally posted by @mico in https://github.com/metanorma/pubid-nist/issues/155#issuecomment-1514537025

I have sent a request for clarification to NIST.


link to Target Delivery API Postman Collection broken

Issue in ./help/dev/before-administer/target-api-overview.md
Hi Team, the link to "Target Delivery API Postman Collection" is broken

Link should be fixed.
https://experienceleague.adobe.com/docs/target-dev/developer/api/target-api-overview.html
Thanks for pointing this out to me.


"Cancel build on update" doesn't work when it's set in "configure system"

The Cancel build on update works well when it's set per job, but it doesn't work when it's set in configure system (GitHub Pull Request Builder -> Application Setup -> Cancel build on update).
Do you have any issue like this or do you have any suggestions?
Versions:

Jenkins 2.135
GitHub Pull Request Builder 1.42.0

It's work when the new job is created or the existing one is cloned.
P.S. I tried to move existing jobs to different folders but doesn't work also.

I am seeing the same issue...

Me too...
Cancel build on update works if specified in a job configuration but not in the global one.

Jenkins 2.263.2
GitHub Pull Request Builder 1.42.1


Paste Record variables gives error

Describe the bug
Copy n paste declared record variables from one procedure to another, make the inserted variable gives an error "Table "xx" is missing".
Deleting the table name and use intellisense to insert the exact same - will fix the error.
To Reproduce
Copy variable from one procedure to the next.
Use a spaced variable i.e. "name here and here"
AL Code to reproduce the issue
Expected behavior
I expected no errors
Screenshots
5. Versions:

AL Language:
4.0.182565

Business Central:
Version: Platform 14.0.32600.35571 + Application 35597 (W1 14.1)

Hi @JSebastianN, we tried reproducing the issue based on what you described, but couldn't reproduce it. Can you try to update this issue with more detailed repro steps?  A gif recording of the issue could help as well.

This issue has been closed because it needs more information and has not had recent activity. Please open a new issue if you believe this has not been resolved and reference the current issue.

This issue has been closed because it needs more information and has not had recent activity. Please open a new issue if you believe this has not been resolved and reference the current issue.

Im sorry for the late reply.
I have not been able to reproduce lately either.


make a new project

hi how can i make a new custom project whose endpoints are not tied with spring boot

hi how can i make a new custom project whose endpoints are not tied with spring boot

import apis or save api edited in the request client
for other language or frameworks, you need make a new idea plugin that use restfulbox extension points described in document.

are you want to scan code apis from other language or framework？

Hi, Can you point me to the import api button? I basically just want a + button, which I can use to create any custom requests. For example, I hit an reqres.in api endpoint in the tab at down, I just want to save it, so it appears at top, and I can reuse it. The endpoints I want to hit, should be independent from any language I use. Its fine if auto scanning the spring boot controllers doesn't work. It doesn't correctly work anyways (doesn't detect the endpoints properly, if some constant has been used).
Thanks

Hi, Can you point me to the import api button? I basically just want a + button, which I can use to create any custom requests. For example, I hit an reqres.in api endpoint in the tab at down, I just want to save it, so it appears at top, and I can reuse it. The endpoints I want to hit, should be independent from any language I use. Its fine if auto scanning the spring boot controllers doesn't work. It doesn't correctly work anyways (doesn't detect the endpoints properly, if some constant has been used).
Thanks

Here's how it might help you:

import apis from postman/apifox

save api edited in the request client to datasource

constant replace for scanning apis

Due to limited time, Chinese documents are more comprehensive. Please visit it with translation as needed.

Thank you so much for being so supportive 😄.
On Fri, 4 Oct 2024 at 8:50 AM, Mr.Hu @.***> wrote:

Hi, Can you point me to the import api button? I basically just want a +
button, which I can use to create any custom requests. For example, I hit
an reqres.in api endpoint in the tab at down, I just want to save it, so
it appears at top, and I can reuse it. The endpoints I want to hit, should
be independent from any language I use. Its fine if auto scanning the
spring boot controllers doesn't work. It doesn't correctly work anyways
(doesn't detect the endpoints properly, if some constant has been used).
Thanks
[image: image]
https://private-user-images.githubusercontent.com/55305876/372002545-e2d5c0f0-5149-40be-bbc4-f97040515699.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjgwMTE1NjgsIm5iZiI6MTcyODAxMTI2OCwicGF0aCI6Ii81NTMwNTg3Ni8zNzIwMDI1NDUtZTJkNWMwZjAtNTE0OS00MGJlLWJiYzQtZjk3MDQwNTE1Njk5LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDEwMDQlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQxMDA0VDAzMDc0OFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTIxNTBiOTZlZDEzNDBiMzY2MzgzZmUyNjgxNzI5ZTUwZGYwYjBhMDRlMDEzYTQzMTkzNTJjY2E3Y2EyMjg1ZWUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.8q_FFJofP_Rt8Ql4S6JFOF_RyoBnCBCd1rssTrDr94U
Here's how it might help you:

import apis from postman/apifox
default.png (view on web)
https://github.com/user-attachments/assets/9ef0721f-61a1-4610-9103-b6b2eab8ee45
default.png (view on web)
https://github.com/user-attachments/assets/8f08212f-ab7f-404a-b020-1864a8ab221e
2.
save api edited in the request client to datasource
default.png (view on web)
https://github.com/user-attachments/assets/257d4e9f-8ccb-4729-b0f1-a7bc220be852
3.
constant replace for scanning apis
default.png (view on web)
https://github.com/user-attachments/assets/6070efc5-0488-4d5f-a65e-dd2cf8ed6d21
Due to limited time, Chinese documents are more comprehensive. Please
visit it with translation as needed.
—
Reply to this email directly, view it on GitHub
https://github.com/newhoo/RestfulBox/issues/49#issuecomment-2392717186,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANF6NFDLSGH2CV4WKKSK2X3ZZYCQTAVCNFSM6AAAAABO7XMI3WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGOJSG4YTOMJYGY
.
You are receiving this because you authored the thread.Message ID:
@.***>


bug: SingerMapper sets mapping configuration provided from env to null

Meltano Version
3.4.0
Python Version
3.11
Bug scope
Configuration (settings parsing, validation, etc.)
Operating System
Linux - Fedora 39
Description
I want to invoke meltano-map-transformer with stream_map provided via environment variable MELTANO_MAP_TRANSFORMER_STREAM_MAPS. However, the mapper never receives the configuration because the generated JSON file contains only null.
I tracked down this issue to before_configure hook in SingerMapper. Basically both  before_configure hooks in SingerMapper and SingerPlugin get called and both write to the same configuration file. This works fine when the mapper configuration is provided via meltano.yml, but when I provide mapping via environment variable, the hook in SingerPlugin writes the config file correctly, but the hook in SingerMapper overwrites it to null.
Reproduction steps
I've prepared a repository for bug reproduction: https://github.com/jnv/meltano-bug-repro
There is the same mapping provided for meltano-map-transformer, once via meltano.yml as upper and once as MELTANO_MAP_TRANSFORMER_STREAM_MAPS in .env file.
Invoking via mapping works:
meltano invoke upper < data/animals.jsonl # works fine

Invoking meltano-map-transformer directly, with env variable, fails:
meltano invoke meltano-map-transformer < data/animals.jsonl

Debug log
meltano invoke meltano-map-transformer < data/animals.jsonl
2024-04-18T23:37:34.552597Z [debug    ] meltano 3.4.0, Linux
2024-04-18T23:37:34.557497Z [info     ] Environment 'dev' is active
2024-04-18T23:37:34.566582Z [debug    ] Creating DB engine for project at '/meltano-bug-repro' with DB URI 'sqlite://meltano-bug-repro/.meltano/meltano.db'
2024-04-18T23:37:34.592341Z [debug    ] Found plugin parent            parent=meltano-map-transformer plugin=meltano-map-transformer source=LOCKFILE
2024-04-18T23:37:34.615068Z [debug    ] Created configuration at /meltano-bug-repro/.meltano/run/meltano-map-transformer/mapper.247418c0-4992-43bc-88c5-f705ae91511a.config.json
2024-04-18T23:37:34.615279Z [debug    ] Created configuration          config_path=PosixPath('/meltano-bug-repro/.meltano/run/meltano-map-transformer/mapper.247418c0-4992-43bc-88c5-f705ae91511a.config.json') mapping_config=None mapping_name=None plugin_name=meltano-map-transformer
2024-04-18T23:37:34.616264Z [debug    ] Invoking: ['/meltano-bug-repro/.meltano/mappers/meltano-map-transformer/venv/bin/meltano-map-transform', '--config', '/meltano-bug-repro/.meltano/run/meltano-map-transformer/mapper.247418c0-4992-43bc-88c5-f705ae91511a.config.json']
Traceback (most recent call last):
  File "/meltano-bug-repro/.meltano/mappers/meltano-map-transformer/venv/bin/meltano-map-transform", line 8, in <module>
    sys.exit(StreamTransform.cli())
             ^^^^^^^^^^^^^^^^^^^^^
  File "/meltano-bug-repro/.meltano/mappers/meltano-map-transformer/venv/lib/python3.11/site-packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/meltano-bug-repro/.meltano/mappers/meltano-map-transformer/venv/lib/python3.11/site-packages/click/core.py", line 1078, in main
    rv = self.invoke(ctx)
         ^^^^^^^^^^^^^^^^
  File "/meltano-bug-repro/.meltano/mappers/meltano-map-transformer/venv/lib/python3.11/site-packages/singer_sdk/plugin_base.py", line 80, in invoke
    return super().invoke(ctx)
           ^^^^^^^^^^^^^^^^^^^
  File "/meltano-bug-repro/.meltano/mappers/meltano-map-transformer/venv/lib/python3.11/site-packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/meltano-bug-repro/.meltano/mappers/meltano-map-transformer/venv/lib/python3.11/site-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/meltano-bug-repro/.meltano/mappers/meltano-map-transformer/venv/lib/python3.11/site-packages/singer_sdk/mapper_base.py", line 130, in invoke
    mapper = cls(
             ^^^^
  File "/meltano-bug-repro/.meltano/mappers/meltano-map-transformer/venv/lib/python3.11/site-packages/meltano_map_transform/mapper.py", line 81, in __init__
    super().__init__(
  File "/meltano-bug-repro/.meltano/mappers/meltano-map-transformer/venv/lib/python3.11/site-packages/singer_sdk/plugin_base.py", line 150, in __init__
    config_dict.update(read_json_file(config_path))
TypeError: 'NoneType' object is not iterable
2024-04-18T23:37:35.091014Z [debug    ] Deleted configuration at /meltano-bug-repro/.meltano/run/meltano-map-transformer/mapper.247418c0-4992-43bc-88c5-f705ae91511a.config.json

The invoker definitely sees the env variable:
$ meltano invoke --print-var MELTANO_MAP_TRANSFORMER_STREAM_MAPS meltano-map-transformer < data/animals.jsonl
MELTANO_MAP_TRANSFORMER_STREAM_MAPS={"animals": {"description": "_['description'].upper()"}}

But config dump prints just null:
$ meltano invoke --dump config meltano-map-transformer < data/animals.jsonl
null

While invoking the mapper works fine:
$ meltano invoke --dump config upper < data/animals.jsonl
{
  "stream_maps": {
    "animals": {
      "description": "_['description'].upper()"
    }
  }
}

Thanks for reporting and digging! You might wanna see https://github.com/meltano/meltano/tree/edgarrmondragon/fix/mapper-env-vars

@edgarrmondragon Thanks so much for preparing a fix so quickly! I have tested your branch with my reproduction repo, and I can confirm that it indeed works. Is there some way I can help to get the PR merged?

@edgarrmondragon Thanks so much for preparing a fix so quickly! I have tested your branch with my reproduction repo, and I can confirm that it indeed works. Is there some way I can help to get the PR merged?

@jnv Confirmation that the issue is fixed by the PR is pretty good actually 😄


Chromeless windows do not display on Windows 11

When setting Chromeless = true for a new PhotinoWindow the window does not display, but does show in the taskbar

OS build: 22458.1000 (Dev Channel) & 22000.194 (Release Preview)
Edge: 95+

This should be fixed in the new version to be published soon. It's now in testing.


Enable Windows test build

Now that we have a Windows test machine, we should enable a openjdk_test_x86-64_windows build triggered from successful completion of openjdk_build_x86-64_windows that runs all the tests.

Tests are enabled:
https://ci.adoptopenjdk.net/view/OpenJDK tests/job/openjdk_test_x86-64_windows/144/console
However it has taken 4 days to run all regression tests on windows( may not even finished). We will probably need to rethink the schedule  of test build on windows or set up a different test group on windows? Will stop the build trigger for now.

4 days seems a little odd!  Are tests timing out? Or is each test just taking a long time (which might just be a CPU / RAM issue we can sort).

do we know if the tests are using multiple cores? the windows machines is 4CPU and 8GB ram. I hope that we will be able to get some more powerful windows boxes in the near future

We have timeoutFactor if timeout test will finish as a failure. I haven't checked out if some tests require multiple cores. Currently we haven't set up concurrency factor for jtreg tests. I will try that to see if tests could run faster.
From console output I could see tests have run for 9 hours and got:
06:04:00 --------------------------------------------------
Resuming build at Thu Jun 01 22:23:34 CEST 2017 after Jenkins restart
Waiting to resume part of openjdk_test_x86-64_windows #144: ???
Waiting to resume part of openjdk_test_x86-64_windows #144: test-packet-x64-windows-2012r2-1 is offline
Waiting to resume part of openjdk_test_x86-64_windows #144: test-packet-x64-windows-2012r2-1 is offline
Ready to run at Thu Jun 01 22:23:51 CEST 2017
Aborted by George Adams
Machine is restarted?

Enable concurrency. Test hours on linux drops from 8 hours to 5 hours. Haven't got data on Windows.
It seems when window test machine is offline( either by regular jenkins restart or unknown reason) the next build will continually fail at first step:
[Pipeline] End of Pipeline
java.nio.file.AccessDeniedException: C:\Users\jenkins\workspace\openjdk_test_x86-64_windows\openjdk-test\OpenJDK_Playlist\openjdk-jdk8u\jdk\test\sun\management\windows\revokeall.exe
https://ci.adoptopenjdk.net/view/OpenJDK tests/job/openjdk_test_x86-64_windows/151/console

@sophia-guo Can you log into that box?  I'm guessing that either .exe files have special permissioning or that we're not running the delete as an Administrator.

I only have jenkins permission.
All files are generated by jenkins. And delete as jenkins.
C:\Users\jenkins\workspace\openjdk_test_x86-64_windows\openjdk-test\OpenJDK_Play
list\openjdk-jdk8u\jdk\test\sun\management\windows>ls -l
total 32
-rw-rw----+ 1 jenkins None 32768 Jun  6 16:27 revokeall.exe
C:\Users\jenkins\workspace\openjdk_test_x86-64_windows\openjdk-test\OpenJDK_Play
list\openjdk-jdk8u\jdk\test\sun\management\windows>ls -l
total 32
-rw-rw----+ 1 jenkins None 32768 Jun  6 16:27 revokeall.exe
@bblondin jenkins job files group are "None", is this expected? Thanks.

@sophia-guo Windows doesn't support group permissions the same way that *nix does. this is normal.
are you experiencing an issue?

Yes, Brad.
It seems when window test machine is offline( either by regular jenkins restart or unknown reason) the next build will continually fail at first step:
[Pipeline] End of Pipeline
java.nio.file.AccessDeniedException: C:\Users\jenkins\workspace\openjdk_test_x86-64_windows\openjdk-test\OpenJDK_Playlist\openjdk-jdk8u\jdk\test\sun\management\windows\revokeall.exe
https://ci.adoptopenjdk.net/view/OpenJDK tests/job/openjdk_test_x86-64_windows/151/console

@sophia-guo Have you considered telling jenkins to delete the workspace before the build and/or afterwards.
https://wiki.jenkins.io/display/JENKINS/Workspace+Cleanup+Plugin

@bblondin yes, for pipeline we use the feature " Wipe out repository & force clone".

Brad did some more digging and we see now that the permissions of the revokeAll.exe file is incorrect straight out of the gate.
In our pipeline, we do a "git clone -b dev https://github.com/AdoptOpenJDK/openjdk-jdk8u.git".
Brad tried it manually, and when you look at the properties of the  openjdk-jdk8u\jdk\test\sun\management\windows\revokeall.exe file, it pops up a message window that states the permissions are not correct on that file and it may cause issues.
We can try to regenerate that file and see if we can get the proper permissions, instructions for regenerating the file are here: https://github.com/AdoptOpenJDK/openjdk-jdk8u/blob/dev/jdk/test/sun/management/windows/README

Looking into this deeper...
manually cloning this repo using GIT Bash doesn't have this issue... use CMD.exe does. (which is what Jenkins uses)
GIT Bash: git --verion: 1.9.4.msysgit.0
vs
CMD.exe: git --version: 2.12.3 (which is from cygwin)
calling GIT Bash's git from CMD.exe works
C:\Users\jenkins\AppData\Local\Programs\Git\bin\git.exe clone -b dev https://github.com/AdoptOpenJDK/openjdk-jdk8u.git
I've renamed cygwin's git.exe to git.exe.bbb and added C:\Users\jenkins\AppData\Local\Programs\Git\bin\ to the end of the path.
@smlambert could you try the test again please

@bblondin you should be able to specify the tool location for git in the machine configuration page. That way jenkins will always use the version specified there

Configuration updated: https://github.com/AdoptOpenJDK/openjdk-infrastructure/issues/23
Similar issue stays.
https://ci.adoptopenjdk.net/view/OpenJDK tests/job/openjdk_test_x86-64_windows/231/console

Is this test running ok when you logon to the machine directly, and only failing when run via Jenkins?

I believe I tried before got same issue with former configuration as Jenkins user. I will try with configuration updated to see if it's ok running directly on machine.

Log in windows machine as jenkins user.
GIT Bash: git --verion: 1.9.4.msysgit.0
CMD.exe: git --verion: 1.9.4.msysgit.0
Using CMD.exe , git clone, running tests, wipe out tests meterials , all works fine.
Current problem running by jenkins jenkins user cannot wipe out the workspace created by jenkins user itself.

As I mentioned in former comment " it happened when window test machine is offline( either by regular jenkins restart or unknown reason) the next build will continually fail at first step "wipe out".
We need someone with root/admin permission to wipe out the WS and see updated configuration works or not.

No this issues in recently build. https://github.com/AdoptOpenJDK/openjdk-infrastructure/issues/23 closed. Close this one too.


Use static::NAME instead of self::NAME - resolves #25

Coverage remained the same at 100.0% when pulling 4de6746ac56b6be2462277522c193feb11beca62 on johanderuijter:static into 06cc6a1a91afbaf598a0ff03fd1f910f1974956e on ramsey:master.

Thanks!

No problem, happy to help.


Remove setting ID after Ford's suggestion

Connects to https://github.com/graphprotocol/adchain-subgraph/issues/16
Resolves https://github.com/graphprotocol/adchain-subgraph/issues/16

I'm a bit surprised here, aren't all entities required to set an ID?

@leodasvacas Yes, but we recently merged a new feature: implicitly add the ID that is passed to store.set() as the second parameter into the entity. This means you only have to provide the ID once now — when calling store.set().

See https://github.com/graphprotocol/graph-node/commit/1a806f375344483a6596e7368d75427b03dd5e5b for more details.

@Jannis didn't notice that was in, lovely!


Updated DG, UG, PPP, added more test and removed unnecessary adoc files

Pull Request Test Coverage Report for Build 297

19 of 27 (70.37%)  changed or added relevant lines in 3 files are covered.
3 unchanged lines in 1 file lost coverage.
Overall coverage increased (+0.08%) to 67.765%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/main/java/seedu/address/model/util/SampleDataUtil.java
0
2
0.0%

src/main/java/seedu/address/logic/commands/LoginUserIdPasswordRoleCommand.java
11
14
78.57%

src/main/java/seedu/address/logic/parser/LoginUserIdPasswordRoleCommandParser.java
8
11
72.73%

Files with Coverage Reduction
New Missed Lines
%

src/main/java/seedu/address/logic/parser/LoginUserIdPasswordRoleCommandParser.java
3
83.02%

Totals

Change from base Build 296:
0.08%

Covered Lines:
2159

Relevant Lines:
3186

💛  - Coveralls


settings.json is overwrited each time when admin app starts

node version v4.3.1
OS X version 10.11.3
I just run
$ admin ./conf

and my settings.json (located in ./conf) rollback to first-run state.

That's weird. I've never experienced such thing. The configuration logic only tries to add new tables or columns, it never deletes anyhitng.

My custom settings.json contains only one table, but db contains many tables, maybe it`s the problem? I'm just trying to disable other tables, and each time the application adds these tables in my settings.json.
Is this expected behavior?

Yes, disabling them means you have to set mainview:show:false for each table you want to hide.

Ok. Whats the minimal configuration for tables what i just want to hide? (Its not covered by the docs)

You can't hide the configuration that's been generated for you. You can only use it to configure your admin.

Thank you very much.

I understand. Currently your best option is to use the code folding feature of your editor. For example in Sublime Text it is: Ctrl+K+2 to fold all to second indent. So using this feature you can fold to all table keys.

I have the same issue, settings.json is overwritten on application start.

see this pull request https://github.com/simov/express-admin/pull/113


Add --[no]year option for agenda, calw

When using agenda or calw, it does not print year. calm does.
I'd like for gcalcli to have an --year, --[no]year option to print years too... so I can parse the events into dateobject better. If I use gcalcli agenda [start] [end] showing at least N days ahead. There is a potential yearly recurring issue without this feature.
When parsing the result into dateobject, there won't be a way to detect between 2017 or 2018 so the script will assume upcoming events in Jan {1..(N-?)} is based on today's year... with 2017 year for at least N-? days. This is until we're in 2018 year before things prints correctly.
Other thing, the strftime probably would print wrong day name (slightly off by 1) too. Thank you.


System hangs when using Llamacpp as LLM

The following code appears to load the llamacpp model properly, but it just ramps up the CPU load and hangs for hours if allowed.
If service_context=service_context is removed from GPTSimpleVectorIndex.from_documents() then it uses OpenAI's api and works fine. What step is missing here to run llama locally? It outputs all the debug text like loading llamacpp normally does, so it is loading it.

llm_predictor = LLMPredictor(llm = LlamaCpp(model_path="~/Code/llama.cpp/models/30B/ggml-model-q4_0.bin", n_threads=10))
service_context = ServiceContext.from_defaults(llm_predictor=llm_predictor)

ObsidianReader = download_loader('ObsidianReader')
documents = ObsidianReader('~/Documents/Obsidian').load_data()

index = GPTSimpleVectorIndex.from_documents(documents, service_context=service_context)

print(index.query("Any query here"))

Thank you for bringing this issue to our attention. We have identified the issue and have a solution for you.
The issue is that the service_context parameter is missing from the GPTSimpleVectorIndex.from_documents() call. This parameter is required to use the LlamaCpp model locally.
The code should be updated to the following:
llm_predictor = LLMPredictor(llm = LlamaCpp(model_path="~/Code/llama.cpp/models/30B/ggml-model-q4_0.bin", n_threads=10))
service_context = ServiceContext.from_defaults(llm_predictor=llm_predictor)
ObsidianReader = download_loader('ObsidianReader')
documents = ObsidianReader('~/Documents/Obsidian').load_data()
index = GPTSimpleVectorIndex.from_documents(documents, service_context=service_context)
print(index.query("Any query here"))
Additionally, you may need to adjust the internal prompts to get good performance. A list of all default internal prompts is available here, and chat-specific prompts are listed here. You can also implement your own custom prompts, as described here.
We hope this helps! If you have any further questions or need more assistance, please let us know.
Best,
The LlamaIndex Team


Add quality manifest to release

Use the quevee action to include an quality manifest as asset in a release.

Definition of Done
The PR shall be merged only if all items mentioned in CONTRIBUTING.md have been followed. In case an item is not applicable as described, please provide a short explanation in the description.

[ ] All steps in CONTRIBUTING.md have been handled

You can find a sample release including the manifest here: https://github.com/windsource/ankaios/releases/tag/v0.7.1.
What's missing is the upload of the test results such that they can be referenced as well.

See also https://github.com/eclipse-dash/quevee/issues/2.


Are you planning to add the keypoint

Please try to add the keypoint to your code for the bodypose.
Thank you

Bump! This would be very helpful.


Create Repository for Pyroprocessing Archetype

Start with cycstub instructions OR start with separations facility and create your own archetype with details of pyroprocessing. Contemplate signatures and observables that you'll want to write to the output database.

once recycle is ready for contributions (help @jbae11 make that happen.. he has already begun). ...
Move separations.h and separations.cc into the recycle repository, along with git history ...
This may fail. If so, copy and paste the files. See if you can at least modify authorship on first commit.

(also the corresponding tests)

@gtw2 status?

arfc/recycle has been deleted and reforked from cyclus/recycle. I've created a new branch on my fork called pyre which contains the separations archetype modified to build under recycle.

Should I pull this to arfc and make issues there? @katyhuff

Yep -- make a PR from your gtw2/recycle (pyre) branch to arfc/recycle (master)

I think this can be closed?


[SPARK-22515] [SQL] Estimation relation size based on numRows * rowSize

What changes were proposed in this pull request?
Currently, relation size is computed as the sum of file size, which is error-prone because storage format like parquet may have a much smaller file size compared to in-memory size. When we choose broadcast join based on file size, there's a risk of OOM. But if the number of rows is available in statistics, we can get a better estimation by numRows * rowSize, which helps to alleviate this problem.
How was this patch tested?
Added a new test case for data source table and hive table.

Test build #83841 has started for PR 19743 at commit cc9ecc6.

Test build #83841 has finished for PR 19743 at commit cc9ecc6.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/83841/
Test PASSed.

cc @cloud-fan @gatorsmile

Test build #84256 has started for PR 19743 at commit e8355e0.

Test build #84256 has finished for PR 19743 at commit e8355e0.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/84256/
Test PASSed.

Merged build finished. Test PASSed.

ping @cloud-fan Could you review this?

LGTM

Test build #84263 has started for PR 19743 at commit acc498c.

Test build #84263 has finished for PR 19743 at commit acc498c.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/84263/
Test PASSed.

Thanks! Merged to master.


Uncaught TypeError: Cannot read property 'activate' of undefined

I am using radiobutton set and it is working when i click first time but it generates this error and then in second click it does not work.

code to reproduce would be nice. I tested here and it worked just fine

@ravishakya I can't replicate this one either 🤔

I have created a gist check this out https://gist.github.com/ravishakya/dbb12c97ddb094505a2866d04098f51f
I also found where the problem is. When you delete this code in the gist it works.
Kirki::add_field( 'my_theme', array(
	'type'        => 'text',
	'settings'    => 'slider_animationSpeed',
	'label'       => esc_html__( 'Animation Speed', 'hotelica' ),
	'section'     => 'header_settings',
	'default'     => 600,
	'description' => esc_html__( 'Set the speed of animations, in milliseconds', 'hotelica' ),
	'active_callback'    => array(
		array(
			'setting'  => 'option_banner_slider',
			'operator' => '==',
			'value'    => 'slider',
		),
	),
) );

To recreate the error

Goto Theme Options > Homepage Settings > Banner / Slider.
There is radio buttonset Banner / Slider
First time you change it, it will work but it will also give you error on the console. and second time you try to change it wont work.

Hope to get answer soon

Any updates on this ?

The problem here is the setting name.
slider_animationSpeed is invalid, it should be slider_animation_speed.
Once you change that everything works fine 👍

That worked but still confused how can one uppercase make it not work.


Training method enquiry and evaluation issue

Hello,
Thank you for providing the PyTorch version of onsets-and-frames.
I would like to ask 2 questions.

Is the training method here similar to the one described on the onsets and frames paper?

we split the training audio into smaller files...
We found that 20 second splits allowed us to achieve a reasonable
batch size during training of at least 8...
When notes are active and we must split, we
choose a zero-crossing of the audio signal. Inference is
performed on the original and un-split audio file.

If not, could you please explain the inputs and predictions of the model?

When using the checkpoint provided and running the evaluation, I get zero predictions for both MAPS and MAESTRO. I have updated the mir_eval  library to the latest version and still having the same issue. Could you please advise me on this?

UserWarning: Reference notes are empty.
UserWarning: Estimated notes are empty.
UserWarning: Estimate frequencies are all empty.
UserWarning: Reference frequencies are all empty.
UserWarning: Reference frequencies are all empty.

Thank you!

I also had the same issue even after updating mir_eval. It was fixed when I increased the number of iterations from 1000 to 1000000 (takes forever without a GPU so I am using a GPU now). I don't intend to let it run to the end so I set checkpoint_interval in train.py (see below [1]) to 10000 to get a checkpoint/model that I can evaluate every 10000 iterations. Evaluating the model at the first 10000-iterations checkpoint went as expected so I can confirm at least that works.
[1] https://github.com/jongwook/onsets-and-frames/blob/master/train.py#L26


CRC Error while unpacking shipped zip-file from itch.tio

Downloaded Geographical Adventures (windows).zip tonight from sebastian.itch.io/geographical-adventures and getting following error on unpacking using 7zip:
CRC-Error : Geographical Adventures\Geographical Adventures_Data\sharedassets1.assets
The game starts but clouds and ships are missing.

clouds and ships was reverted from the previous release.


Remarks on the documentation

Hi @costashatz, here are some comments about the documentation, linked to my review on JOSS https://github.com/openjournals/joss-reviews/issues/6771
In my opinion, the API documentation is not enough. It looks to be limited to the automatic generation of the C++ API but without more comment. Moreover, there is no API doc of the Python version. Ideally, a complete documentation inside the source code should be added (e.g. Python Doctoring, doxygen). However, the FAQ provides some very useful examples that can help for most cases. Thus, I do not ask a complete API documentation to validate the JOSS review, but at least to complete some examples with more comments. Some examples files were sometimes difficult to understand directly. Here are some examples taken from the Python samples:
Examples in pendulum.py:

In the following code:Ctrl  [0.0]
# @SIMPLE_CONTROL_PYTHON@
controller1 = rd.SimpleControl(ctrl)
robot.add_controller(controller1)
# @SIMPLE_CONTROL_PYTHON_END@
ctrl = [-1.0]
controller2 = rd.SimpleControl(ctrl)
robot.add_controller(controller2, 5.)

What is the second argument of  add_controller in the second call of the function?
I do not understand well which controller is called when we add several controllers like in this example? In the following part of the example, controller1 is changed, not controller2…
I see here one kind of controller. I guess it is a direct value in the unit of the joint type (torque, velocity...). In some other examples, I saw PD controller. What kind of other controllers are available by default (it looks like PID is not available)?

simu = rd.RobotDARTSimu(): what is the default simulation step? (Maybe I missed it in the FAQ?)

 print((robot.body_pose("pendulum_link_1").multiply(size)).transpose())

According to my understanding, robot.body_pose("pendulum_link_1") gives the transformation matrix of the "beginning" of the pendulum and we need to multiply it by a vector representing the the coordinates of the end of the pendulum in that frame in order to have the coordinates of the end of the pendulum in the world frame.  This is not completely obvious and adding a few comments in the code to explain the role and type of each matrix can be useful.
robot.reset(): what does exactly the reset function? And what is the purpose of calling it at the end of the script (what happens if we don’t do it?)

Example in example_parallel.py

What is the goal of rd.gui.run_with_gl_context? Actually, I did not succeed to make it run on my Mac and I directly called the test function in this example (see #208)

Example in HelloWorld.py

robot.set_base_pose([0., 0., 0., 0., 0., 0.2]): what are the first 6 values of the vector? I guess the 3 last ones are the x, yand z coordinate (because of the 0.2!), and that the 3 first ones represent the orientation of the robot frame. But with which convention? Are they precession, nutation and intrinsic rotation angles;  or maybe yaw,pitch,roll?...

Example in cameras.py

simu.add_checkerboard_floor(10.): can you explain  what is the goal of the argument (in all the other examples, the function is called without argument).

These are some examples, there are other lines of code in the examples that are not obvious to understand and that do not come with a comment. On the other hand, some files are very well commented like robot_properties.py which is very helpful to understand how to personalize a robot. Can you review the different C++ and Python examples and add comments to the lines that may be difficult to understand directly?

@c-joly I think that this is already tackled. We have added a few comments in the code and explained the situation for example_parallel.py in the docs. Feel free to re-open if we have forgotten something or you feel that this is not properly addressed.


Load calculation on gas infrastructure: what does it do?

This ticket is to explore and specify what a load calculation for gas could look like and what is technically feasible. Thanks @jorisberkhout for the initial brainstorming on this.
Certainties
There are a few things that we already know with 99% certainty that are going to be in there:

low-, medium- and high pressure levels separated by pressure stations (similar to voltage levels for electricity)
capacities [kW] for pressure stations (similar to transformer)
costs for pressure stations (similar to transformer)
technical lifetime for pressure stations
load/flow measures in kW (already available on end-points)
volume measures in kWh (already available on end-points)

Likely features

losses for pressure stations
capacities for pipes
width and length for pipes
technical lifetime for pipes
costs for gas-infrastructure placement (green field)
costs for gas-infrastructure replacement
costs for gas-infrastructure refurbishing
costs for pipes depending on width and length

Possibly complex features
If we want to fully support the feeding-in of P2G-produced hydrogen into the network, ETMoses needs to keep track of the storage volume of the local network (the part of the topology to which the current end-point is connected). This would immediately imply some extra complexity:

need to keep track of volume and pressure of gas in connected parts of the network
pressure ranges which trigger action: if pressure is too low => feed in more gas from next pressure level. If pressure too high => pump gas from lower to higher pressure level.
need to keep track of the amounts of hydrogen and network gas (as they have different energy density)

I think that the need for these complex features depends on the potential for feed-in of hydrogen in the network. If the current network can accommodate (much) more feed-in than can be realistically expected from any future scenario, this is not a useful extension of ETMoses. So, we have to so some calculations to see in which regime we are.

After discussions with @JeroenvdLogt @antw @jorisberkhout @dennisschoenmakers and others, the following pictures has emerged.
Questions we want to answer
The following questions are likely to be relevant in the discussions about gas-infrastructure:

Building a new neighbourhood: should we invest in gas infrastructure?
For existing neighbourhoods: should we refurbish existing infrastructure?
How big are the investments in the electricity network that we can prevent if we keep the current gas network operational? And what would that cost?

How big is the storage volume for different levels of the gas network?
What losses are associated with feeding in locally produced gas?

Levels rather than topology
The gas-network is very much circular/meshed (vermaasd):

Many routes can be taken from one point in the network to another. This suggests the following simplification: we describe the gas network primarily by its different pressure-levels. Consumers/producers can be connected at different levels.
Calculator: flow trough levels
In order to calculate the potential for storing gas and the losses associated with feeding-in of locally produced gas, the following attributes have to be known for each pressure level:

storage volume [kWh or, equivalently, m^3]
capacity for extraction (consumption) [kW]
capacity for feed-in [kW]
losses for for feed-in [kW] (due to need for compression)

In order to calculate effects of asset management choices, the following attributes may be relevant:

investment cost of relevant types of pipes [EUR/m]
removal cost of relevant types of pipes [EUR/m]
refurbishing cost of relevant types of pipes [EUR/m]
cost of GOS [EUR/kW]
variable O&M cost for GOS [EUR/kWh]
cost of DSR [EUR/kW]
variable O&M cost for DSR [EUR/kWh]
lifetimes for all relevant components

@JeroenvdLogt @dennisschoenmakers @antw am I missing anything?

Feedback on the questions we want to answer: keep in mind that these questions are relevant for all the stakeholders.
•How big are the investments in the electricity network that we can prevent if we keep the current gas network operational? And what would that cost? --> the question is more relevant the other way around: what are the financial consequences for the electric and gas infrastructure if an area goes full-electric?
•What is the capacity for feeding locally produced gas (hydrogen, biogas) back into the network? --> both capacity and costs are relevant.

Feedback on the certainties: costs of the pipelines are missing.

Feedback on the quality of the gas: this is too complicated to model in this sprint, besides that it does not happen in reality often, so far only once or twice. It is important to include in the documentation on why we left this out.


bash-it dockerized

hi there,
i create a docker image pre configured with bash as default shell with bash-it with default configuration. i think this is very useful to get a quick look and play with it in a very easy way.
you can have a look here: https://hub.docker.com/r/frapsoft/bash-it/
we could add this to the documentation that new user can have a quick look before installing it on there system. and for docker user its a nice container when configured correct makes working inside containers more fun.
you can have a look and let me know what you think about it.
in case its interesting for the project you could make a new repo "bash-it-docker" or something where i could maintain it.
cheers maik

Oh, this is very cool!
I have a Vagrant box that I use for a similar purpose (testing the installer without wrecking my own settings, etc.).
We could create repos for those under the official Bash-it account: https://github.com/Bash-it, then add documentation and people could use this for giving it a try.
What do others think about this?

hi @nwinkler,
nice to hear that you like it.
a official repository would be the best solution, further we should create an account on docker hub and quay as well. if docker user search for a special functionality / images this is the first place to have a look, also they don't have to run the compilation from all the dependencies locally and can download just the missing image layer from the registry.
best practices would be to create builds automatically from the source on new releases.
automatically build images are much more trustworthy because you can follow via dockerfile exactly what was happening and nobody can sneak some malicious stuff inside.
after we got all setup and working we could try to get us registered as official account.
again more trust in the images and normally the first choice form the users.
i can help set things up and maintain it, since i depend on secure stable images for my devop work in the company ...

hey pal,
just wanted to her what about the docker idear?
best would  maybe first that we collect some infos what people would love to see and based on that build something cool. i ordered for myself on xmas a server with 32 ram so at home and at work will be everything inside a container :)

Sorry for the delay, I tried to spend as little time in front of the computer as possible over the holidays...
I've created a repo here: https://github.com/Bash-it/Bash-it-Docker
I've also added you to the new Bash-it "Docker" team, you should have received an invite.
It's probably best if you mark the new repo as WIP until we have a stable version.

no worries,
same for me, few days relaxing and clearing the head over xmas ...
i just checked but could not find any team invitation yet.
i create a first clean version for bash-it dockerized meanwhile ...

OK - enabled Travis for the new repo: https://travis-ci.org/Bash-it/bash-it-docker
With the WIP comment I meant that we should probably place a note like "Work in Progress" in the project's README until we have a stable version - nothing more.

ok cool,
thanks for activating travis!
i prepared yesterday most of the docker stuff and will try to add some tests and documentation today and then release a first version.

Awesome - looking forward to that!

:whale2: where are up and running  :tada: :sparkles: :dizzy:

Awesome!

Closing this now...


kubelet service check fails to detect kubelet not running

Output of the info page
==============
Agent (v6.6.0)
==============

  Status date: 2018-11-14 23:44:22.171913 UTC
  Pid: 346
  Python Version: 2.7.15
  Logs:
  Check Runners: 4
  Log Level: DEBUG

...

=========
Collector
=========

  Running Checks
  ==============

...

    kubelet (2.2.0)
    ---------------
        Instance ID: kubelet:d884b5186b651429 [ERROR]
        Total Runs: 38
        Metric Samples: 0, Total: 4,558
        Events: 0, Total: 0
        Service Checks: 0, Total: 42
        Average Execution Time : 213ms
        Error: 'NoneType' object has no attribute 'get'
        Traceback (most recent call last):
        File "/opt/datadog-agent/embedded/lib/python2.7/site-packages/datadog_checks/base/checks/base.py", line 366, in run
          self.check(copy.deepcopy(self.instances[0]))
        File "/opt/datadog-agent/embedded/lib/python2.7/site-packages/datadog_checks/kubelet/kubelet.py", line 148, in check
          self.pod_list_utils = PodListUtils(self.pod_list)
        File "/opt/datadog-agent/embedded/lib/python2.7/site-packages/datadog_checks/kubelet/common.py", line 93, in __init__
          pods = podlist.get('items') or []
      AttributeError: 'NoneType' object has no attribute 'get'

Additional environment details (Operating System, Cloud provider, etc):
Kubernetes 1.9.6 cluster created with kops 1.10.0
Steps to reproduce the issue:

Stop kubelet on a cluster node: systemctl stop protokube && systemctl stop kubelet
Run the agent status command and inspect kubelet check

Describe the results you received:
The kubelet check fails with an error, and a Datadog monitor on this check erroneously reports that the kubelet is healthy.
Describe the results you expected:
The kubelet check should report that the kubelet is down, and an associated monitor should fire an alert.
Additional information you deem important (e.g. issue happens only occasionally):
With debug logging enabled on the agent process, I see the following additional error from the check:
[ AGENT ] 2018-11-15 00:09:21 UTC | DEBUG | (datadog_agent.go:153 in LogMessage) | (kubelet.py:203) | failed to retrieve pod list from the kubelet at http://<IP_ADDRESS>:10255/pods : HTTPConnectionPool(host='<IP_ADDRESS>', port=10255): Max retries exceeded with url: /pods?verbose=True (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f9e80fdcb90>: Failed to establish a new connection: [Errno 111] Connection refused',))

Have you solved the issue ? same thing for me after editing kubernetes cluster and redoplying datadog helm chart .


Bug report /info avatar

What's your nodejs Version.

Show the output of: v16.14.0

What's the version you downloaded the bot?

From the releases e.g.: 10.3.0

Desktop (please complete the following information):

OS: Windows
Version 11

Describe the bug

When using the slashcommand info-avatar it shows an error in console and there is no response from the application..

To Reproduce

Steps to reproduce the behavior e.g:

Execute the Command /info avatar '
TypeError: message.reply is not a function
at Object.run (/home/container/slashCommands/Info/avatar.js:61:15)
at module.exports (/home/container/events/guild/interactionCreate.js:228:11)
at Client.emit (node:events:532:35)
at InteractionCreateAction.handle (/home/container/node_modules/discord.js/src/client/actions/InteractionCreate.js:74:12)
at Object.module.exports [as INTERACTION_CREATE] (/home/container/node_modules/discord.js/src/client/websocket/handlers/INTERACTION_CREATE.js:4:36)
at WebSocketManager.handlePacket (/home/container/node_modules/discord.js/src/client/websocket/WebSocketManager.js:351:31)
at WebSocketShard.onPacket (/home/container/node_modules/discord.js/src/client/websocket/WebSocketShard.js:444:22)
at WebSocketShard.onMessage (/home/container/node_modules/discord.js/src/client/websocket/WebSocketShard.js:301:10)
at WebSocket.onMessage (/home/container/node_modules/ws/lib/event-target.js:199:18)
at WebSocket.emit (node:events:520:28)
at Receiver.receiverOnMessage (/home/container/node_modules/ws/lib/websocket.js:1137:20)
at Receiver.emit (node:events:520:28)
at Receiver.dataMessage (/home/container/node_modules/ws/lib/receiver.js:528:14)
at Receiver.getData (/home/container/node_modules/ws/lib/receiver.js:446:17)
at Receiver.startLoop (/home/container/node_modules/ws/lib/receiver.js:148:22)
at Receiver._write (/home/container/node_modules/ws/lib/receiver.js:83:10)
at writeOrBuffer (node:internal/streams/writable:389:12)
at _write (node:internal/streams/writable:330:10)
at Receiver.Writable.write (node:internal/streams/writable:334:10)
at TLSSocket.socketOnData (/home/container/node_modules/ws/lib/websocket.js:1231:35)
at TLSSocket.emit (node:events:520:28)
at addChunk (node:internal/streams/readable:315:12)

Expected behavior

Must display a user's avatar.

Additional context, text and screenshots!

Fix
Add // in line 61


Removed all tf.compat.v1 in skip_gram_ops_test.py

Fixes part of #1735

@rahulunair
You are owner of some files modified in this pull request.
Would you kindly review the changes whenever you have the time to?
Thank you very much.


Updated User Guide and AboutUs.md

Fixed Issue #22

Codecov Report

Merging #30 (82a8ec5) into master (cd7934b) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #30   +/-   ##
=========================================
  Coverage     72.15%   72.15%
  Complexity      399      399
=========================================
  Files            70       70
  Lines          1232     1232
  Branches        125      125
=========================================
  Hits            889      889
  Misses          311      311
  Partials         32       32

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


Animated Dialogue Box Support

How might we support being able to animate the dialogue box to fly in/out and/or scale in/out while also being able to fade in/out simultaneously?
Seems like it could be a great feature. D:

Mine already have this feature implemented, I'll make a pr for this


add combirandom (weighted random without replacement) variant picker

This is an improvised enhancement regarding issue https://github.com/adieyal/sd-dynamic-prompts/issues/166 ,
Current combination token($$) works with random.choice, which is combination with replacement(repetition), which is useful for many situation. However in some situation, user do not want to repeat prompt, especially when someone is using combination to choose and mix multiple lora(i.e., {2$$lora:artistA:0.3|lora:artistB:0.3|…}.), because repetition of single lora can negatively affect result, and that was my case.
This 'combirandom' prompt generator/sampler tackles the problem. some points to regard:

since 'without replacement' actually modifies pool every time, it's uncanonical to have weights on them. it's okay when choose size is less or equal than pool size(this is almost every use cases), but it's hard to define behavior beyond that. In this implementation I just wanted to be robust about that regard. Details are in the code, just example {5$$2::a|b} result in 66% {a, a, b, a, b} and 33% {b, a, b, a, b}. (two sets of (a, b) are guaranteed).

This pull request is not meant to merged(I actually didn't know 0.7.1 is far behind) easily, rather this is proof of concept.

Closing as stale (and probably duplicated by #284 anyway).


ci(link-check): ignore fixtures files

#3099  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @Dunqing and the rest of your teammates on  Graphite


Add mesh object

This PR implements the ideas discussed in #91
The current progress is the following:

[x] mesh module
[x] OMP code updated
[x] CUDA code updated
[x] tests updated

The code function mesh%get_n isn't finalised yet because I am a bit unsure of the actual result it should return depending on the periodicity of the BC and the data_loc (VERT, CELL, etc.)
@pbartholomew08 or @semi-h could you have a look at it?
closes #91

Still WIP, but so far the main changes are

remove mesh from tdsops
add tds_n to tdsops
remove n from dirps
use tds_n instead of mesh%get_n when working with tds things
compute tds_n based on the operation, scheme and from_to (this needs to be implemented)

I believe it is now ready to be reviewed/merged.
The only thing I couldn't test was the CUDA backend, but if it compiled and the test pass it should be fine.

I can checkout and test the PR on CUDA to make sure. Is it okay if I push into this PR some commits to fix if there are any minor issues we didn't catch by eye on the CUDA backend?
I think we still don't have the automatic formatting set up, so can you run fprettify manually if you haven't done so?

yes, go ahead with testing with cuda (and pushing here). And good point about fpretiffy, I will run that

At the current stage it compiles and tests are passing, however the TGV case is failing on CUDA backend. I'll look into this and let you know when its all sorted.
Working a bit on the new mesh and allocator made me realise that they're a bit tangled to each other, for now it should be alright, but I think we need to look into separating them in a better way maybe. I can open an issue to point out the things we can try later.

It was a really weird bug...
For some reason, the mesh%get_n functions getting called inside the poisson_fft modules was giving the wrong value. In the base poisson module the values were correct, but in the backend poisson modules it was always wrong, and a random value.
I had to remove the calls to mesh%get_n inside the backend poisson modules, but still use the mesh%get_n when instantiating the base class and the dimensions. I think its safer in this way anyways, but still don't understand why the mesh%get_n calls inside the backend poisson modules were giving the wrong result. I think we need to keep an eye on this, as it may be a problem in some other parts of the code as well.
Any thoughts why there was such a behaviour? First I thought it was due to mesh member not being defined as target, but it wasn't the issue. We access lots of stuff by reference and never had such an issue.

I would like to implement something quick with get_dims but wanted to ask your opinion first.
We use get_dims only in solver and allocator, and always with specifying a dir and a data_loc. I think the dir argument for get_dims is redundant. It only returns the 3D dimensions, so dir actually doesn't play a role for gathering this info.
The only case where it will be relevant is when we ask for DIR_X/Y/Z and a data_loc, but we never do this currently, do you have any plan for using this combination? I think this combination can be a bit misleading, because it returns (SZ, n, n_groups), where n is the actual domain size, but SZ and n_groups are inherently padded dimensions.
So if you're not planning to use DIR_X/Y/Z and data_loc combination, shall we change get_dims a bit such that it only inputs a data_loc and gives the relevant dimensions based on data_loc only (also can be overloaded with a field input)?
Or if you think theDIR_X/Y/Z and data_loc combination will be useful, how about renaming this to get_field_dims, where we require a dir and data_loc input, and also have get_dims, where we require only a data_loc input?

Yes, indeed. I implemented get_dims before seeing how it would be used, that makes sense. Though we can also add get_field_dims as it may still be useful at some point (and the name is more clear).

Yes, indeed. I implemented get_dims before seeing how it would be used, that makes sense. Though we can also add get_field_dims as it may still be useful at some point (and the name is more clear).

Okay, renamed the existing get_dims to get_field_dims so that they can be used if there is need.
Then implemented a get_dims that inputs a data_loc and returns the local domain size.
Also implemented a get_global_dims because the FFT based Poisson solver requires the global dimensions. This required adding two new member variables in the mesh class; global_vert_dims and global_cell_dims. Please check the naming convention and the changes if they all make sense.

Looks good to me. A bit of a shame the logic of get_n is implemented twice (the set of select case...). But I don't see an obvious way to make it better without making it overly convoluted.
So I'd say it is good to go.


[FEATURE] Rewire SelectSeq as a custom definition in TLA+

Currently, SelectSeq is rewritten with a custom preprocessing pass in SelectSeqAsFold. This pass is essentially a hand-written implementation of this definition:
SelectSeq(seq, Test(_)) ==
  LET CondAppend(s, e) == IF Test(e) THEN Append(s, e) ELSE s
  IN FoldSeq(CondAppend, <<>>, seq)

Similar to how we have rewired the module TLC, we could rewire SelectSeq as a custom definition. By doing so, we would delegate the work to the general code, instead of having an ad-hoc preprocessing rule.

While this is possible FoldSeq and Append would produce unnecessary constraints. Closing this one in favor of #1350.


Add routing info endpoint

This PR is related to this issue: https://github.com/cloudfoundry/diego-release/issues/678. As discussed, here we introduce a new endpoint in the bbs - routing_info - which the route emitter can use when syncing to retrieve a desiredLRP that includes only the information the route emitter needs.
In cases where there are a huge amount of security groups in a single space and multiple apps deployed in that space we notice that the network traffic consistently increases as more apps are added to a space. After investigation we found that it was due to the large amount of security groups being sent to the route emitters.
With this approach, we see a great drop in network load when we do have such large spaces and a lot of security groups. We do not introduce a new structure of the desiredLRP as agreed previously, but just return a desiredLRP with only these fields set:

process_guid
domain
log_guid
instances
routes
modification_tag_epoch
modification_tag_index
metric_tags

The run_info is still retrieved and decrypted since we need the metric_tags that are in it, but only the tags are returned.
One thing to mention is that this route will be used by the route emitter only when we sync - every 60s, which still brings great improvements, but in all other cases, we still receive the desiredLRP trough the event emitted by BBS.

Related PR in the route emitter: https://github.com/cloudfoundry/route-emitter/pull/23

@PlamenDoychev Removed the domain from the desiredLRP filter. You are right, we only filter by process_guid. Thanks

@klapkov @PlamenDoychev is there any more work to be done on this PR?

@geofffranks Nope, this is all for this PR.

Cool! If you're ready to switch your review status to approved @PlamenDoychev I'll merge this in tomorrow.

Given that all the questions were resolved we merged this with @reneighbor because route-emitter needed this and it was blocking our CI.

Thanks @mariash @geofffranks !
Sorry we had bank holiday yesterday and did not manage to react.


Parsing jspm configuration on package.json

Would be really nice for vscode to use the definitions set by jspm in package.json to navigate through files (and find new typings when using Typescript)

Yes, I'd like this too http://stackoverflow.com/questions/34462132/vs-code-cant-use-jspm-packages-systemjs-cant-see-angular2-ts-files

Sounds pretty much like the problem I'm having only that I've defined some maps in a SystemJS config.js file and vscode can't find the mapped names. It would be nice if it would be possible to use the mapped names and still get IntelliSense.

yeah, it's mainly useful when using "packages" or "map". otherwise typescript code is full of errors, or need to manually create a definitions file for declare module "package/something", and in a 40+ file project, can get nasty in no time

this has been implemented in systemjs 0.20.0-alpha.1 FWIW

Closing as out of scope of core VS Code. This is something that a VS Code extension or TypeScript server plugin may be able to provide