Why is enum localization so counter-intuitive?

I was using your project for a while now, using a custom provider, very nice. However, today I tried to localize an enum value. Following the documentation at
https://wpflocalizeextension.codeplex.com/wikipage?title=LocProxy %26 EnumComboBox&referringTitle=Documentation
I first have to add an FrameworkElement with zero size only to bind to some obscure Result property?
<lex:LocProxy Source="{Binding}" x:Name="Proxy" PrependType="True" />

Why not extend on Run, which could be used inside a TextBlock?
Plus, I have no control over the key: I'd like to specify a prefix different from the enum name.
Eventually, I find the time to write such a markupextension using your framework and post back here asap.

Hi @nzain,

Eventually, I find the time to write such a markupextension using your framework and post back here asap.

That would be great!!

Ok, so my quick fix was to use a converter. This might not work for everyone, since you don't have the DependencyObject in the Convert method and it depends on static access to the LocalizeDictionary.Instance singleton. However, the usage does not require declaration of ghost-UiElements, is more intuitive, and allows me to speficy a custom prefix (via ConverterParameter) instead of the enum's type name.
<Some.Resources>
    <conv:EnumLocalizer x:Key="EnumLocalizer" Separator="." />
</Some.Resources>
...
<TextBlock Text="{Binding Track.TrackSource,
    Converter={StaticResource EnumLocalizer},
    ConverterParameter=MyFriendlyPrefix}" />

A MarkupExtension would fit much better into your framework, but I don't have the time / deeper understanding of your framework to work out the details. For those interested, here is the really simple code:
/// Converts enum values into localized texts.
/// <remarks>Suppose you have an <c>enum Side</c> with two values <c>Side.Left</c> and <c>Side.Right</c>. In your XAML you
/// want to bind to a viewmodel with that enum, but the user wants to see localized text. First, define a static resource
/// somewhere, e.g. in <c>app.xaml</c> or at element level.
///
/// <Xyz.Resources>
///     <conv:EnumLocalizer x:Key="EnumLocalizer" />
/// </Xyz.Resources>
///
/// When binding some text element to your view model's enum property
///
/// <TextBlock Text="{Binding TheEnumSideProperty, Converter={StaticResource EnumLocConv}}" />
///
/// the <c>LocalizeDictionary</c> is querried for the key <c>Side/Left</c> (or Right respectively). Optionally, you can
/// specify the <c>Separator</c> (defaults to slash) and the prefix if you don't want to see the enum's type name. The
/// prefix is given as the <c>ConverterParameter</c> at runtime.
///
/// <TextBlock Text="{Binding TheEnumSideProperty, Converter={StaticResource EnumLocConv}, ConverterParam=SomeSpecialPrefix}" />
///
/// </remarks>
[ValueConversion(typeof(Enum), typeof(object))]
public class EnumLocalizer : IValueConverter
{
    private string _separator = "/";

    /// Gets or sets the Separator between the enum class or converter parameter and the enum value.
    public string Separator
    {
        get { return this._separator; }
        set { this._separator = value ?? string.Empty; }
    }

    /// Converts the given enum value into a localized object.
    /// <param name="value">The enum value (binding source).</param>
    /// <param name="targetType">Not used.</param>
    /// <param name="parameter">The converter parameter (if not <c>null</c>) replaces the enum's type name as a prefix.</param>
    /// <param name="culture">The culture used for localization.</param>
    /// <returns></returns>
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
        var dic = LocalizeDictionary.Instance;
        if (dic == null || value == null)
        {
            return value;
        }
        string prefix = parameter != null
            ? parameter.ToString() // use the parameter as prefix, if given
            : value.GetType().Name; // otherwise fallback to enum's type name

        string key = prefix + this.Separator + value;
        object localized = dic.GetLocalizedObject(key, null, culture);
        return localized ?? "Key: " + key;
    }

    /// Not supported.
    /// <param name="value">Not supported.</param>
    /// <param name="targetType">Not supported.</param>
    /// <param name="parameter">Not supported.</param>
    /// <param name="culture">Not supported.</param>
    /// <returns>Trouble.</returns>
    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
    {
        throw new NotSupportedException();
    }

Hi @nzain,
Let me first start with the description of the problem why the current solution is as it is:
The most common situation is that one may want to bind a localized enum property to a visual, like a TextBox, a ComboBox etc. This means, that we need a Binding and we need some way to inject the localization. There are two major restrictions to that: A Binding instance must not change after beeing created (it is freezed). A Binding MarkupExtension cannot be applied to a non-DependencyProperty and therefore not to another MarkupExtension such as ours.
Your approach is one possible way and also one of the simple ways to offer localization in general. Unfortunately, this approach will not switch language, respond to dictionary changes etc. at runtime because the converter is only called when the Binding source (thus, the enum value) changes. If this is sufficient for your needs - go for it.
Another approach is our solution: Create a helper DependencyObject that serves as the enum Binding target and that creates a second "living" bond of our localization engine another property such as "Result" that can be used in another Binding again. The enum value itself serves as the key to the localization engine. You mentioned drawbacks: You want a custom prefix string? Just ask :-). The hidden LocProxys are bloating your XAML code? Partially true, but for this issue, I have the following suggestion: Use a template in the resources to describe enum localization in general. The most general approach would be to template the System.Enum type (or particular ones as you prefer) itself in your window root resources:
<DataTemplate DataType="{x:Type sys:Enum}">
  <Grid>
    <TextBlock Text="{Binding ElementName=Proxy, Path=Result}" />
    <l:LocProxy Name="Proxy" Source="{Binding}" PrependType="True" />
  </Grid>
</DataTemplate>

Last but not least one may also think of a similar approach, but combined with the markup extension itself. This calls for an internal Binding handling (including all aspects such as memory safety) to be able to retrieve the enum value. Given this, the output target(s) can then be updated at language, dictionary or when the Binding values changes.

Ah, well. I knew, my approach is very simplified - but I really forgot about the dynamic culture change, which is a required feature for me. So my approach is crap, agree.
Admittedly, I don't really understand the MarkupExtension/Binding details, I thought one could create a DependencyProperty inside the MarkupExtension, much like you do with attached properties when you define them in a static class which is not a DependencyObject itself. Probably wrong, because there is no other DependencyObject to attach to, ha.
Ok, brain reset. The most common scenario for localized resources is text (the only relevant for me), but I can understand that someone might localize images. Would it be feasible / possible to extend the class Run, which can be used inside TextBlocks? This would simplify the most common (am I wrong?) Scenario. Something like
<TextBlock>
    <Run Text={lex:LocText someRegularTextKey} />
    <lex:EnumRun EnumValue="{Binding MyEnumProperty}" Prefix="OverrideEnumTypeNameHere" Separator="." />
</TextBlock>

such that the LocalizeDictionary is querried for OverrideEnumTypeNameHere.SomeEnumValue.
Your template idea looks good as well, although I didn't know that I can template non-UI-elements. However, I could not specify a prefix here, when defining this template globally. Background on my prefix issue: Some of our customers translate the applications into their own language. Thus, the keys have to be comprehensible for a non-programmer. The enum's type name, however, usually reflects the programmers view!
You want a custom prefix string? Just ask :-)
Sorry for not doing so. Actually, I had some very rude experiences with open source developers.
best, nZain

Actually, the prefix could be completely separated (optional, defaults to null) plus a bool PrependTypename like you use for the LocProxy. This way one could build more complex keys like
MyCustomPrefix.EnumTypeName.EnumValue.

Hi,
Yes, you can create data templates for non-WPF elements - it's just a dictionary with the data type as the key and a visual representation as the value (IMHO one of the most important features of WPF for MVVM pattern support). Therefore you can template each particular enum type in your solution in a different way with its own prefix.
Nevertheless I will try to have a look on the proposed extension of Run.

Obviously, viewmodels are never UI elements and you template them every day. I just never thought about this for an enum (which does not implement INotifyPropertyChanged etc.).
Thanks for looking into this! I'm looking forward to an update :-) :+1:

Maybe the following approach works for you. It uses an encapsulated MultiBinding in order to update the binding if the localization culture changes. The MultiValueConverter is written on the lines of the ValueConverter given above. The C# code is:
    using System;
    using System.Globalization;
    using System.Windows;
    using System.Windows.Data;
    using WPFLocalizeExtension.Engine;

    public class EnumBinding : MultiBinding
    {
        private static readonly EnumLocalizer _defaultEnumLocalizer = new EnumLocalizer();
        private static readonly Binding _cultureBinding = new Binding("Culture") {
            Source = LocalizeDictionary.Instance, Mode = BindingMode.OneWay };
        private Binding _pathBinding = null;
        private String _path = null;

        public String Path
        {
            get
            {
                return _path;
            }
            set
            {
                if ( _path != value )
                {
                    _path = value;

                    _pathBinding = new Binding(_path) {
                        UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged, ... };
                    Bindings.Clear();
                    Bindings.Add(_pathBinding);
                    Bindings.Add(_cultureBinding);
                }
            }
        }

        public EnumBinding()
        {
            Converter = _defaultEnumLocalizer;
        }

        public EnumBinding(String path) : this()
        {
            Path = path;
        }
    }

    public class EnumLocalizer : IMultiValueConverter
    {
        private const String _defaultSeparator = ".";

        public String Separator
        {
            get;
            set;
        }

        public Object Convert(Object[] values, Type targetType, Object parameter, CultureInfo culture)
        {
            var enumerator = values[0];
            if ( enumerator == null || enumerator == DependencyProperty.UnsetValue || LocalizeDictionary.Instance == null )
            {
                return enumerator;
            }
            else
            {
                var prefix = (parameter != null ? parameter.ToString() : enumerator.GetType().Name);
                var key = prefix + (Separator ?? _defaultSeparator) + enumerator;
                var localized = LocalizeDictionary.Instance.GetLocalizedObject(key, null, LocalizeDictionary.Instance.Culture);
                return (localized ?? "Key: " + key);
            }
        }

        public Object[] ConvertBack(Object value, Type[] targetTypes, Object parameter, CultureInfo culture)
        {
            throw new NotSupportedException();
        }
    }

The usage in XAML is very similar to the above converter-only approach:
    <Some.Resources>
        <xyz:EnumLocalizer x:Key="EnumLocalizer" Separator="." />
    </Some.Resources>
...
    <TextBlock Text="{xyz:EnumBinding Path=Track.TrackSource, Converter={StaticResource EnumLocalizer}, ConverterParameter=MyFriendlyPrefix}" />

Note that Path= can be omitted (although I prefer to not omit it) and that no converter has to be specified when the default separator is okay. Then the XAML simplifies to:
    <TextBlock Text="{xyz:EnumBinding Track.TrackSource, ConverterParameter=MyFriendlyPrefix}" />

Hi @GeroIwan,
thanks for your suggestion. Unfortunately, this approach suffers from having no access to the dictionary and assembly settings of the resource provider. This issue goes deeper into the mechanics of the MarkupExtension base class and the - unfortunately - poor access to the necessary information of the extension target in the Binding and MultiBinding classes.
If your resource provider does not need this, than you're all set. Otherwise you need to find another workaround.

Hi @nzain,
Your proposed approach by extending Run is ready for testing. My own first tests look good. Custom prefixes are also possible using the Prefix property (also in LocProxy).

Thanks a lot, Mr Circuit! I'll look into it right now.

Tested, Great: much more intutive + custom prefix (which also allows to override the enum type name).
Given the problems with other approaches, this seems to be the best compromise between fancy functionality (dynamic language change at runtime, binding different dictionaries to different dependency objects etc.) and simple usage like this:
<TextBlock>
     <Run Text="{lex:LocText Key=Foo.Category, Suffix=:}"/>
     <lex:EnumRun EnumValue="{Binding TheEnum}" Prefix="Foo"/>
</TextBlock>

When you update the wiki page for enum localization you could link to this issue, so other users that don't like the LocProxy approach understand the problem.


Getting a 'server didn't return any results' for timetable with parallel lessons

Unfortunately, for 11th and 12th grade the school decided to put all lessons in everybody's timetables. So my kids see lessons they don't have. However, it would still be nice to see which lessons are omitted.
But retrieving a timetable leads to an error. Not sure why. Potentially, because of the parallel lessons?
Example program
import { WebUntis } from 'webuntis';
const untis = new WebUntis('...');
await untis.login();
console.log(await untis.getTimetableForToday())

returns
C:\dev\Untis\node_modules\webuntis\dist\webuntis.js:564
      throw new Error("Server didn't return any result.");

Error: Server didn't return any result.
    at Base._request (C:\dev\Untis\node_modules\webuntis\dist\webuntis.js:564:13)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async Base.getTimetableForToday (C:\dev\Untis\node_modules\webuntis\dist\webuntis.js:340:12)
    at async file:///C:/dev/Untis/app.js:13:13

I would love to provide you with the login data, if you have time to look further into this.

My fault. 'getOwnClassTimetableForRange' seems to work.

Hello @thyed,

But retrieving a timetable leads to an error. Not sure why. Potentially, because of the parallel lessons?

I guess this is because your school may block access to the class timetable which you get with getTimetableForToday(). That's why nothing is returned. You can find this out if you want by clicking on your name (in untis mobile) on the top and see if other classes names appear. Then try to click on one.


Discovery and IIS application pool recycle

This is probably a bit on the side of the main functionality, but I'm interested in hearing if people have ideas or solutions to our problem.
For various reasons, we are hosting ASP.NET Core behind IIS. We are also using the Discovery client to register the service in Eureka for use by Zuul. By default, IIS will recycle the application pool at regular intervals. This causes the service to get unregistered and registered again. This is when things start to get interesting.

Application pool recycle starts
IIS starts a new process to handle new requests
This process registers with Eureka
The old process terminates
The old process will unregister with Eureka

Since this happens on the same machine, the result is that the service is unregistered in Eureka until a heartbeat is triggered. Since we are using Zuul together with Eureka, it means that the service will not receive any traffic until it has been registered again.
One thing we have done is disable recycling. We will have wait and see how this effects memory usage. One of the original reason for IIS recycling was to act as safety valve for bad code.
We have also tried an approach of having Octopus deploy run a timed job that stops and starts the process. Then things get registered correctly.
Open to other ideas.

Hi @kimbell,
Are you still in need of a solution here? I just tried testing the out with the latest Steeltoe releases on local IIS and am not seeing this kind of failure -- the app appears appropriately to de-register and re-register during recycling

Hi @TimHess
I find it interesting that you don't see the same behavior with the latest release. I can't get my head around how that would actually works in IIS. Is there a delay after startup before register is sent, so that the terminating process is able to unregister first? Lucky in the sequence things happen? We use IHostedService infrastructure a lot, this may result in our services taking a longer time to shut down.
As I said in the original post, this might be on the edge of what this component can handle. I don't know how to detect recycle events inside a .NET Core application. This might also differ depending on in-process and out-of-process hosting. We mainly use the latter for now. The quick fix for Steeltoe could just be to add a gotcha in the documentation that this is something that people may need to think about. IIS hosting should hopefully be a dying hosting model; considering it doesn't support newer things such as gRPC.
For our case, the simple solution has been to disable automatic recycling. We are also considering other options as hosting in Windows Services and docker containers; these come with other pro/cons.

@kimbell,
I think I understand a little better now what you're seeing, and I think it's related to the way IIS starts apps, or rather doesn't start them until they receive traffic... Have you configured Application Initialization?
I've been testing with this sample, targeting netcoreapp2.1, running out of process... I wasn't giving it enough time and/or exactly following the process you were describing, but I've now seen it fail. Adding this to the system.webserver section in the app's web.config seems effective in immediately warming up the process (thus triggering registration in Eureka) for me:
	    <applicationInitialization skipManagedModules="true">
		    <add initializationPage="/api/fortunes" />
	    </applicationInitialization>

Hi,
We are running with the initialization module and 'always running' mode. Since we are running out-of-process, we have w3wp.exe and a separate executable running our code. We discovered that when there is no traffic, the external program gets terminated, but the w3wp is still running. We have added some self-ping code that should keep things alive all the time. If we moved over to in-process, things might change a bit.
When I tested this, I configured recycling every minute. Then I refreshed the Eureka page showing all the registered services. I noticed that the service is unregistered for a period of time before showing up again.
I'm fairly certain that the problem is related to how IIS starts and stops things. Since the old process is terminated after the new one starts, the shutdown event triggers the unregister call against Eureka.
I imagine it would be hard to figure out if 'another process like me is running', and based on that not send the unregister call.

Is it feasible to disable Overlapped Recycling?

Assuming disabling overlapped recycling isn't viable, you could also try setting the instance id to include a random value... if you add the Placeholder and Random Value config providers, something like this should work as each process would have a different Id when registered with Eureka: "instanceId": "${spring:application:name}-${random:int(1,5)}"

If recycling is enabled, I think it will always be overlapped. For our services we have disabled recycling to avoid this problem.
The unique id sounds interesting. I'm working on a new service and will try it out on that.

I wouldn't attempt to state definitively that this setting always works, but it should bypass this problem, though it would introduce the potential for downtime while the old process shuts down and new process warms up

That also seems like an interesting option. We host our services on multiple servers, so we are able to handle some downtime.
I've been poking around IIS for several years, and never noticed that setting.

@kimbell is there anything else to do here, or are we fine to close this issue?

I haven't had time to test this yet since I've been busy getting things out the door before Christmas. I mentioned these approaches to another guy at work, and he disabled overlapping recycle on one server of a non-critical application. I haven't heard anything, so I'm hoping that is a good sign.
This can be closed for now. When I get around to look at this, I'll add a comment with the result.


Cisco Spark direct_message confused with direct_mention after botkit 0.5.8

Cisco Spark direct_message confused with direct_mention after botkit 0.5.8
I had to roll back to:
0.5.8
to get direct_message working.
Note:
It did not matter which underlying version of ciscospark was used.
Tried both 1.8.0 and 1.10.4

Thank you for this report @ernestgwilsonii! You are correct.
I will release a fix for this ASAP.

@ernestgwilsonii this has been fixed on Github in the master branch. I will publish to npm soon.

This is part of the v0.6.3 release!


Document the usage of ZLayer pattern

Developers not familiar with it could have a hard time understanding why services are defined in such way.


HA entities not updating despite regular API call

Version: 1.17.8
My integration is not updating on Home Assistant. It looks like it's successfully calling the Blueair API regularly but not actually updating the sensor in HA. Entities update initially (on integration or HA restart) but never afterwards. My log (every 5 minutes or so):
2024-12-16 22:18:23.669 DEBUG (MainThread) [blueair_api.callbacks] Bedroom publishing updates
2024-12-16 22:18:23.669 DEBUG (MainThread) [blueair_api.device_aws] refreshed blueair device aws: DeviceAws(api=<blueair_api.http_aws_blueair.HttpAwsBlueair object at xxx>, uuid='xxx', name='Bedroom', name_api='xxx', mac='xxx', type_name='NB', sku='xxx', firmware='1.0.1', mcu_firmware='1.0.1', serial_number='xxx', brightness=0.0, child_lock=False, fan_speed=11.0, fan_auto_mode=True, standby=False, night_mode=False, germ_shield=NotImplemented, pm1=NotImplemented, pm2_5=0.0, pm10=NotImplemented, tVOC=NotImplemented, temperature=NotImplemented, humidity=NotImplemented, filter_usage_percentage=0.0, wifi_working=True, wick_usage_percentage=NotImplemented, wick_dry_mode=NotImplemented, water_shortage=NotImplemented, auto_regulated_humidity=NotImplemented)
2024-12-16 22:18:23.669 DEBUG (MainThread) [custom_components.ha_blueair.blueair_update_coordinator] Finished fetching ha_blueair-None data in 0.779 seconds (success: True)

probably fixed in 1.17.9

Still not working, unfortunately. This is primarily for the PM2.5 sensor.
The changes in the graph are when I restarted Home Assistant.

I can confirm this.  I'm on 1.17.9 and sometime in the last two days or so all data points seem to be frozen.  I restart HA and it updates once but is then frozen again.  All sensors are like this.
The fan speed control also seems sticky like it's trying to show state one behind what it was just set to.
I'm on a Classic 480i if that helps.

Deleted and added the integration, updated Home Assistant, tried with a new Blueair device and still getting the same result.

might be related to https://github.com/dahlb/ha_blueair/blame/main/custom_components/ha_blueair/blueair_update_coordinator.py#L44?
I noticed similar behavior on LED lights -- even when I force update by running the update-entity action from HA/developer tools, the entity state of the LED light entity did not update.

I had time to verify this is fixed in 1.17.11.  either the ha core's update_coordinator isn't working as defined in https://developers.home-assistant.io/docs/integration_fetching_data/ or our use of dataclass isn't defining eq like it is expected to, either way I think we can all agree consistency is more important then performance and I it do not have time to investigate either of those dependencies potential errors

I read HA's source code. The root cause is that we mutate the self.blueair_api device object in-place then returns it as the data in the refresh() function.
Therefore the equality comparison between previous_data and self.data is always True, stopping update from ever happening.
In our datamodel, the device is both the state object and the API object. but in the HA documentation (fetching_data), self._device is the API object and the state is returned separately as an immutable, comparable object.


Russian translation

Added russian translation to CRUD package.

This is great. Thank you, @aleksei-budaev . Just so you know, I've merged this one into the dev branch, so it will take a little more time to be available to everyone. The next minor release will probably be later this week.
Thanks, cheers!

Add these lines to the Russian translation
  // CRUD filters navbar view
   'filters' => 'Фильтры',
   'toggle_filters' => 'Переключить фильтры',
   'remove_filters' => 'Очистить фильтры',


Interactive mode doesn't call after_start

When MultiTest's constructor is given an after_start callable, that is called only if run from command line, not if the environment is started after a click on the UI.

Hi, thanks for reporting this issue. We have not yet implemented integration of before/after_start callables to the interactive mode, but we can look at adding it soon.

Should now be fixed - our own examples that use after_start work fine in interactive mode now.


Fix most pipeline tests

What does this PR do?

Fixes up most of the pipeline tests we would reasonably expect to pass.
Before submitting

[ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
[ ] Did you make sure to update the documentation with your changes?
[ ] Did you write any new necessary tests?

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.

How long do the tests take? Does this PR enable them for pull request CI? It's probably too long for that, right?

4 hrs with slow tests being skipped.

I think you need to rebase to main


ionic wrong command slow to terminate.

Short description of the problem:
Ionic wrong command slow to terminate. (CTRL + C).
Takes about 13 seconds in my machine.
What behavior are you expecting?
Steps to reproduce:

$ ionic serev (wrong spelling)

insert any relevant code between the above and below backticks

Post the output of ionic info below please
Cordova CLI: 6.3.1
Gulp version:  CLI version 3.9.1
Gulp local:
Ionic Framework Version: 2.0.0-rc.2
Ionic CLI Version: 2.1.4
Ionic App Lib Version: 2.1.2
Ionic App Scripts Version: 0.0.42
OS:
Node Version: v6.8.1

this probably would not be ionic-cli specific problem.


[release/v1.8] Bind docker-ce-cli to the same version as docker-ce

What this PR does / why we need it:
https://github.com/kubermatic/machine-controller/pull/759
Bind docker-ce-cli to the same version as docker-ce.
CentOS is not affected in 1.10 release because we are using the Docker v1.13 package.
Optional Release Note:
release/v1.8: Bind docker-ce-cli to the same version as docker-ce

/assign @kron4eg

No working tests on branch this old, but it is identical to commits on top of newer branches.
/lgtm
/approve


Add topics metadata and filter

We need to source the lookup data for Topics from the Response column in the CCLW CSV and make a complete reference table. We then need to map the value in documents during the loader process into the topics field.

Duplicate of #544


Build Error When Enum Name Conflicts with KMP Library Name

The following template contains guiding questions that should help you provide as much helpful information as possible.
You don't have to follow the template, you can just write the bug report and check this template to see if the bug report answers all the relevant questions. Don't worry if you don't know some answers; we will help you find them if needed.
Questions:
What is the problem?
Build Error
When does the problem occur?
How do we reproduce the issue?
What is your SKIE Gradle configuration?
A build error occurs when the KMP library name and an enum constant name are the same.
Example:
kotlin {
    val xcfName = "hoge"  // This conflicts
    val xcf = XCFramework(xcfName)
    sourceSets.forEach {
        it.binaries.framework {
            baseName = xcfName
        }
    }
}

enum class Fuga {
    HOGE,  // This causes the build error
    SOBA,
}

What versions of SKIE, Kotlin, and Gradle do you use?
SKIE:0.8.4

Additional Information: We encountered the following error:
error: enum case 'hoge' cannot be used as an instance member
        case .hoge: return hoge.__Fuga.hoge as hoge.__Fuga
                            ^~~~~~
                            Fuga.

We still have an error, even when using @ObjCName(swiftName = "hoge2") with sight changes.
error: static member 'hoge' cannot be used on instance of type '__Fuga'
        return hoge.Fuga._unconditionallyBridgeFromObjectiveC(self)
               ^~~~~~
               __Fuga.

refs: #1


unwanted and unasked for network connections

https://github.com/mattermost/desktop/releases/download/v5.0.4/mattermost-desktop-5.0.4-win-x64.zip
https://github.com/mattermost/desktop/releases/download/v5.0.4/mattermost-desktop-5.0.4-linux-x64.tar.gz
(but presumably with any recent version)
We naturally disable the enormous telemetry options server-side. It would follow that the client itself does not phone home either, especially not before even connecting to the server.
But it does.
I freshly deployed just now and noticed the network sniffer going wild on mattermost. I was confused, it was completely blank after all. Turns out on either platform MM creates a ton of connections to Google, AWS, and some random stuff I can't be bothered to dig out of the logs now.
All before the user even has the chance to consent.
Unasked for network connections are not okay.

@elandorr Most of these connections are to retrieve assets such as fonts (eg. OpenSans is hosted by Google, so we pull it from them). It would be helpful to have a list of the connections you see and then we would be able to investigate further.

whenever i navigate or post a message, mattermost client is sending telemetry data to https://pdat.matterlytics.com/v1/track
{
  "channel": "web",
  "context": {
    "app": {
      "build": "1.0.0",
      "name": "RudderLabs JavaScript SDK",
      "namespace": "com.rudderlabs.javascript",
      "version": "1.0.16"
    },
    "traits": {},
    "library": {
      "name": "RudderLabs JavaScript SDK",
      "version": "1.0.16"
    },
    "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.160 Electron/18.3.0 Safari/537.36 Mattermost/5.1.1",
    "locale": "de",
    "os": {
      "name": "",
      "version": ""
    },
    "screen": {
      "density": 1.25
    },
    "campaign": {},
    "page": {
      "path": "",
      "referrer": "",
      "referring_domain": "",
      "search": "",
      "title": "",
      "url": ""
    },
    "ip": "<IP_ADDRESS>"
  },
  "type": "track",
  "messageId": "3431c7b2-9fa0-4e16-94dc-7f1840e40d5d",
  "originalTimestamp": "2022-07-08T09:22:37.538Z",
  "anonymousId": "00000000000000000000000000",
  "userId": "dyqoxe1hxjyui88mzzdq33pzyy",
  "event": "event",
  "properties": {
    "category": "api",
    "type": "api_posts_search",
    "user_actual_role": "system_user",
    "user_actual_id": "i8qa95mzftgh3pjbm9n6t57d4r",
    "team_id": "qbfo4ghpejgkfg7g54ejcx6xqe"
  },
  "integrations": {
    "All": true
  },
  "sentAt": "2022-07-08T09:22:37.538Z"
}

there is also my server url in request header.
I cound not find a setting to disable this telemetry yet.

@vanilla-thunder Those are the aforementioned telemetry items that can only be disabled server-side. We don't actually have any desktop-specific telemetry yet, but will make sure to keep it in mind when we do eventually add it.


User Profile : Upload profile photo

User should be able to upload the profile photo.

I have made it in this pull-request #83 , please review and merge the code~
Also there is an issue for the pull-request. https://github.com/kriswme2/teamform-seed/issues/84


postgres: fix connection issue when downstream and upstream SSL is enabled

Commit Message:
postgres: fix connection issue when downstream and upstream SSL is enabled
Additional Description:
The problem was with how postgres filter replied to downstream client during SSL negotiation. The reply was sent through entire filter chain instead of only through downstream filters. That caused postgres filter to receive one extra character which was not recognized by decoder and caused connection reset.
Risk Level: Low.
Testing: Added integration test for upstream and downstream SSL connections.
Docs Changes: No.
Release Notes: No.
Platform Specific Features: No
Fixes #27808

Thanks for reviewing @kyessenov !


enable falcon-180b inference

1 The current code can load only .bin or .pt whereas Falcon-180B ckpt files are in .safetensors format. This change enabled loading ckpt files in .safetensor format
2 The ValueError "The following model_kwargs are not used by the model: ['token_type_ids'] )" is addressed by introducing a workaround that removes ‘token_type_ids’ from the model_kwargs.
Before submitting

[ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
[ ] Did you make sure to update the documentation with your changes?
[ ] Did you write any new necessary tests?

@schoi-habana From what I understood in this PR, loading safetensors checkpoint with DeepSpeed is not supported yet with Habana's DeepSpeed fork v1.14. So my understanding is that it will work when v1.15 is released right?

@regisss that's true. Please merge this after 1.15.0 release

no longer needed as https://github.com/huggingface/optimum-habana/pull/773 is a permanent solution


Add NaNMath package extension

Closes #170.

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
Attention: Patch coverage is 30.95238% with 29 lines in your changes missing coverage. Please review.

Project coverage is 36.17%. Comparing base (2a67957) to head (8edaf2e).

Files with missing lines
Patch %
Lines

test/ext/test_NaNMath.jl
0.00%
20 Missing :warning:

ext/SparseConnectivityTracerNaNMathExt.jl
65.00%
7 Missing :warning:

test/classification.jl
0.00%
1 Missing :warning:

test/runtests.jl
0.00%
1 Missing :warning:

:exclamation:  There is a different number of reports uploaded between BASE (2a67957) and HEAD (8edaf2e). Click for more details.
HEAD has 3 uploads less than BASE

Flag
BASE (2a67957)
HEAD (8edaf2e)

4
1

Additional details and impacted files
@@             Coverage Diff             @@
##             main     #187       +/-   ##
===========================================
- Coverage   90.58%   36.17%   -54.41%
===========================================
  Files          46       47        +1
  Lines        2071     1830      -241
===========================================
- Hits         1876      662     -1214
- Misses        195     1168      +973

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


login doesn't log in

This didn't happen a month ago but now regularly does. Using awsume to assume a role. First it works, then after the token has expired, I'm unable to refresh it. Here is an example using just aws-sso-util:
% aws-sso-util credential-process --profile ACCOUNT
Login required. Use aws-sso-util login --profile ACCOUNT or aws sso login --profile ACCOUNT and try again.
% aws-sso-util login --profile ACCOUNT
Logging in https://DOMAIN.awsapps.com/start
Login succeeded, valid until 2022-10-06 00:10 CEST
% aws-sso-util credential-process --profile ACCOUNT
Login required. Use aws-sso-util login --profile ACCOUNT or aws sso login --profile ACCOUNT and try again.
Enabling debug output is not conclusive. The login function ends with this line:
INFO:aws_sso_util.login:Login succeeded, valid until 2022-10-06 00:10 CEST
And the credential-process shows this around the end:
DEBUG:botocore.parsers:Response body: b'{"message":"Session token not found or invalid","__type":"com.amazonaws.switchboard.portal#UnauthorizedException"}'
Only way to recover is to run login with --force.
Any idea what's going on? Is this a bug in the aws cli?
Thanks!
aws-sso-util 4.29.0
aws-cli 2.8.0

Can you run aws-sso-util check --account-id ACCOUNT_ID --role-name ROLE_NAME -vvv for the values you have in your profile? I should add an option to that command to pull the config from a profile.

Thanks Ben and sorry for the delay. I was on the lookout for the issue but it just stopped happening. I'll reopen if it reappears.


Switch to MbedTLS 3.x

Hi!
I'm working towards transitioning Debian to MbedTLS 3.6 from MbedTLS 2.28, the new LTS. Unfortunately, python-mbedtls is one of the software packages which are currently failing to build when using MbedTLS 3.x instead of 2.x.
The situation for your project is peculiar since, I believe, you need to integrate pretty deeply with MbedTLS - for instance, you include some _internal headers which are now inaccessible in MbedTLS 3.x.
Are you interested in switching to version 3.x?
Thanks!

Hi!
Thank you for your interest.
Yes, I am interested in switching to mbedtls 3. I will most likely drop a lot of features and concentrate on TLS and DTLS.
I have actually started working in that direction,
s.  https://github.com/Synss/python-mbedtls/tree/mbedtls-3.x
but it’s a lot of work and my time is limited, so progress is slow.

Nice, thanks for letting me know! I'll keep an eye on this issue :)


README format

Kindly correct the markdown format of README - it is messed up somehow.
Thanks

It is fixed now. Thank you!

Thanks for the lightning-fast response!
FYI, there is still some weird stuff at the end of the page (after 'Contact')

Fixed! Thanks again!


Incorrect path to Project.cmake?

I have added sol2 as a subdirectory in my project and seems like CMakeLists.txt line 27 should use CMAKE_CURRENT_SOURCE_DIR instead of CMAKE_SOURCE_DIR, or am I missing something? https://github.com/ThePhD/sol2/blob/430b55a49609daacea6fd3ee2c9d137db4db9c83/CMakeLists.txt#L27

Yep, this is covered in #1196 - gotta merge it in a hot second.

Ah, didn't look at pull requests. Works fine now, thank you!

No problem, hope it works great for you! 🎉


Update StatusCake contact groups

Context
QA and Staging alerts are currently routed to StatusCake Contact group BAT-DevOps-Slack-All which only forwards to email.
Changes proposed in this pull request
The contact group will be changed to BAT-DevOps-Slack-Prod which will be routed to Slack, email and mobile alerts instead of just email. Email and mobile alerts are a limited subset of users. Updated contact groups in workspace variable files for qa and staging to match production and sandbox.
https://trello.com/c/q3F2WvuS
Guidance to review
Do the channels match the expected channels.
Checklist

[x] Make sure all information from the Trello card is in here
[x] Attach to Trello card
[x] Rebased master
[x] Cleaned commit history
[x] Tested by running locally

 Amend StatusCake contact groups


Add Individual Maps

Add individual maps for every route, city, dungeon that has checks

Discussions were had about this in the Emerald chat. Some say some have confusing layouts, some say it'd be overkill.
Personally, I think it's overkill. There's resources like https://pkmnmap.com/ and https://kelseyyoung.github.io/EmeraldIronmonMap/ (the latter showing literally every Trainer) which solve this issue for very new beginners.
I think there would be some benefit to adding a couple new maps, like Seafloor Cavern or a map of the dive paths that overlays with each other so people don't need to constantly switch views like in the two maps. That'd be useful. But I don't think towns like Petalburg City need a map. It'd be overkill and not only be useless to many people but actively impair their usage of the tracker by literally having to nestle out the whole path of Dungeons to find it.


Add configuration to horizon for K2K federation selection at login time

Adds the ability to configure the list of available KeyStone to KeyStone
service providers at the login screen. The user can select one of
the service providers and then try to login into it using their
keystone identity provider credentials.

Can one of the admins verify this patch?

"ok to test" to accept this pull request for testing
"test this please" for a one time test run
"add to whitelist" to add the author to the whitelist

Can one of the admins verify this patch?

"ok to test" to accept this pull request for testing
"test this please" for a one time test run
"add to whitelist" to add the author to the whitelist

ok to test


integrate with standard Read/Write IO traits

Summary
The Rust ecosystem heavily integrates with std's Read and Write traits. It would be helpful to interoperate with these traits, especially in the context of the aead and hash modules.
Example
Hashing
use orion::hash::{self, Digest};
use std::io::Cursor;

let data = Cursor::new(vec![0, 1, 2, 3, 4]);
let digest: Digest = hash::from_reader(&mut data);

AEAD
use orion::aead;
use std::io::Cursor;

let data = Cursor::new(vec![0, 1, 2, 3, 4]);
let secret_key = aead::SecretKey::default();

// Encrypt from a `Read` type.
let mut encrypted_data = Vec::new();
aead::seal_copy(&secret_key, &mut data, &mut encrypted_data)?;

// Decrypt into a `Write` type.
let mut decrypted_data = Vec::new();
aead::open_copy(&secret_key, &mut encrypted_data, &mut decrypted_data)?;

I'm definitely open to suggestions on the API described here. Particularly, I'm not sure if we'd want convenience wrappers around the *_copy functions for the AEAD case. The copy functions are fairly general, and will allow for people to allocate buffers how they want. But there's probably a case to be made to provide a simpler type that just outputs a Vec of encrypted/decrypted data.

In any case, the real advantage of implementing these APIs is that someone could do, for example, the following:
use std::fs::File;
use orion::hash;

let file = File::open("filename.txt").unwrap(); // may want to use a BufReader (?)
let digest = hash::from_reader(file).unwrap();

And it would work as expected. The big deal here is that large files should be read and hashed in pieces, which currently requires reaching into the hazardous module and using the "streaming interface" (the update method). This looks something like the following.
use orion::hazardous::hash::blake2b::{Blake2b, Hasher, SecretKey};

// Figuring out the "right" size isn't something users should have to do.
let mut state = Blake2b::new(None, 32)?;
let mut reader = File::open("filename.txt")?;
let mut buf = Vec::new();

while let 0 < reader.read(&mut buf) {
    state.update(buf.as_slice())?;
    buf.clear();
}
let digest = state.finalize()?;

So it's longer, has a little more room for user error, and in general we probably just want to support the existing IO traits.
I already started the implementation, and I'll post a draft PR soon.
Also, I considered making AsyncRead and AsyncWrite part of this issue/PR, but that seems like it should be its own thing. There's talk about integrating those traits into the standard library some time soon, so maybe we should hold off until then.

I'll take a closer look at this ASAP, but for now I very much agree with leaving AsyncRead/AsyncWrite as an aside.

Don't we want to consider things like the streaming API for AEAD, which could provide the same benefits when encrypting files as the hash example does?

Yes, I think this would be good to support. I'm unclear, though, how to directly convert between the streaming API and the Read and Write traits. Read and Write both work on streams of bytes broken up into chunks of indeterminate size, while it seems like the AEAD streaming API relies on having precisely sized and separated messages to encode/decode.

I am wondering … if you want to only provide a from_reader method, which automatically sets the buffer size, BLAKE2b output size etc?… users might want to decide buffer size themselves

For the output size, this isn't something that Orion currently exposes in the safe API. And if users want to set it, then they can grab the Blake2b type directly and use its Write implementation. The from_reader function would basically just be a safe wrapper around creating a Blake2b type with sane parameters, callingBlake2b's Write impl and calling the std::io::copy function.
For the "buffer", I'm not sure which buffer you mean. If users want to buffer the reader, they can use a BufReader and then pass that to the from_reader function.

For the "buffer", I'm not sure which buffer you mean. If users want to buffer the reader, they can use a BufReader and then pass that to the from_reader function.

I think I understand now, I think I misunderstood the purpose of from_reader() initially.

Is there a standard libsodium serialization of these messages into a byte stream?

I see your point, in that this can be tricky. I'll have to think about this one a bit more.

In any cae, I really like the idea behind the hashing primitives so far. This should definitely go in. Regarding another io feature, I don't think this is necessary. If we just gate it behind safe-api that should be fine, just like we do with the std:error:Error trait.

each call to seal_chunk()/open_chunk() would just need a reader and writer

Oh, interesting. Yeah this probably would work. Instead of having a single call to e.g. sealing_read() handle all the individual streaming chunks, the user would call sealing_read once per chunk. That sounds good to me.

If we don't find a solution to this, I definitely think that we should start with adding the integration to the hashing primitives and non-streaming AEAD

Yes, agreed. Hashing is pretty straightforward here. Basically just consume any reader and output the digest. Though I do see where the user may want to control the size of the buffer we read into (which I see now is probably what you meant above). Maybe we could do something like allocate a Vec<u8> to read into and grow it dynamically until reads don't fill the whole buffer. Kind of like TCP slow-start.

How about sealing_read()/opening_write() or seal_read()/seal_write()?

I like these names. Not sure about sealing_ vs seal_. They're both good. I think I like sealing_read and sealing_write better, but not by much. That's what I'll go with unless you want to switch them.
For the hash names, are you still good with from_reader or should we switch to something again less generic? Maybe digest_from_reader or consume_to_digest? I think digesting_read sounds a bit odd haha.

Though I do see where the user may want to control the size of the buffer we read into (which I see now is probably what you meant above). Maybe we could do something like internally allocate a Vec to read into and grow it dynamically until reads don't fill the whole buffer. Kind of like TCP slow-start.

Right now I'm kind of lost in all these buffers and read/write directions/sources tbh. Do you perhaps have a small example?

That's what I'll go with unless you want to switch them.

Fine by me. The only downside I see is the small added consistency with the existing method naming of seal/open when doing seal_read/open_write instead. I'm open to both and will let you decide.

For the hash names, are you still good with from_reader or should we switch to something again less generic?

Good point. I very much like the digest_from_reader name. Plays well with the current digest function IMO.

I think digesting_read sounds a bit odd haha.

Almost tempting haha.

Do you perhaps have a small example?

Here's what the API might look like.
let reader = File::open("file.txt")?;
let digest = orion::hash::digest_from_reader(reader)?;

Nice and easy. Internal to the digest_from_reader function, we could do something like the following to achieve somewhat of an "ideal" buffer size.
fn digest_from_reader(mut reader: impl Read) -> Result<Digest> {
    let mut read_buffer = vec![0; 1024];
    loop {
        let bytes_read: usize = reader.read(&mut read_buffer)?;
        if bytes_read == 0 { break; }
        if bytes_read == read_buffer.len() {
            // Double the size of the buffer if we filled it up last time.
            read_buffer.extend(std::iter::repeat(0).take(read_buffer.len()));
        }

        // Hash the slice given by: &read_buffer[..bytes_read]
    }
}

That is a very straight-forward API indeed. Thanks for the example! I think this is a good approach. We can figure out a good buffer size and document it clearly. Assuming users of digest_from_reader() typically pass readers will large amounts of data (an assumption which should probably also be documented if taken), we can take a buffer size of say of 128 or 256 KiB? The reason behind this suggestion stems mostly from the fact that theser are the two largest sizes used in benchmarks.

Allocating a buffer of 256 KiB seems reasonable. Very few applications would be affected by that use of memory, and those that are can use the hazardous module and Blake2b's implementation of Read. And no, we probably wouldn't want to keep growing that buffer.

implementation of Read

Just making sure, but this is the Write impl right? I saw no Read impl in the draft PR AFAIK.
Regardless, sounds like a good plan.

Yes, exactly. I meant Write.


HttpGetWithRetry method parameter fix

Quick Start page's documentation fix

Thanks for fixing this!

Thanks for such a good project @yorinasub17


nitorch.core.datasets.download_url name change

Hi Mikael, I just ran demo_unires.ipynb and noticed that nitorch.core.datasets.download_url has been changed to, I think, nitorch.core.datasets.fetch_data! Thanks, Robert.

Hi @r-gray! Thanks you very much, I have fixed it now.

Brilliant, thank you!


SC-100 violation!

https://github.com/Lambda-School-Labs/story-squad-fe/blob/604c04da384cdf1f52246e496d2ece2dd90c8ab6/src/app/components/dashboard/stripe/wrapper/wrapper.component.tsx#L8
RE: https://lambda-school-labs.github.io/labs-engineering-standards/topics/security/#sc-100-never-commit-secrets

After digging through the API docs, it looks like keys beginning with pk are public (publishable) keys - not secret, @jgmuchiri are we okay to close this?


App: Added features for RSE Page

this also included changing the components and the table fixtures to reflect the fact that we have static gets and no streams here.

closes #302


Fix issues with missing sourcemaps

Pull Request Description
Fixes #6559:
DevTools failed to load source map: Could not load content for http://localhost:8080/preload.cjs.map: Load canceled due to load timeout
DevTools failed to load source map: Could not load content for http://localhost:8080/pkg.js.map: Load canceled due to load timeout

Important Notes
None
Checklist
Please ensure that the following checklist has been satisfied before submitting the PR:

[x] The documentation has been updated, if necessary.
[x] Screenshots/screencasts have been attached, if there are any visual changes. For interactive or animated visual changes, a screencast is preferred.
[x] All code follows the
Scala,
Java,
and
Rust
style guides. In case you are using a language not listed above, follow the Rust style guide.
All code has been tested:

[x] Unit tests have been written where possible.
[x] If GUI codebase was changed, the GUI was tested when built using ./run ide build.

oh @mwu-tow you might want to check that this fixes the issue.
note that the current fix for preload.cjs puts the sourcemap inline inside the js file, which will probably slow down startup, but hopefully shouldn't be noticeable

@somebody1234
Why the preload map needs to be inline, while we can ship pkg.js.map?
We've been really very aggressively trying to keep the size down, so increasing the core download size might be somewhat iffy.

alternatively i can just take the preload.cjs stuff out of this PR and create a new one if i find a better solution

@somebody1234

we don't serve preload.cjs - in fact i can't even see it in devtools. i can do some further research into whether we can get it working, but note that preload.cjs.map does exist beside preload.cjs, but for some reason it's trying to fetch /preload.cjs.map when preload.cjs isn't even served by the server

The preload script is loaded by the Electron before loading the actual site, it is shipped and served. I think it does not show up because the server does not serve files from the root of the resources but only from the assets subdirectory.
See the resources in the Electron bundle:

🟢  Did QA, the issue is fixed. Thanks for taking care of it!


Replaced obsolete course link under "courses" -> "DevOps" -> "Jenkins… (changes made)

What does this PR do?
Add resource(s)
For resources
Description
Replaced an obsolete course link with an updated one in the "DevOps" -> "Jenkins" section of the repository. The previous link, "Jenkins for Beginners - Musab Zayadneh (Udemy)," is no longer available, so it has been replaced with "Jenkins | Step-by-Step for Complete Beginners - Raghav Pal (Udemy)" to provide users with an alternative and relevant course option.
Why is this valuable (or not)?
This update is valuable as it ensures that users have access to an active and relevant course on Jenkins, enhancing the overall usefulness of the repository.
How do we know it's really free?
The Udemy course "Jenkins | Step-by-Step for Complete Beginners - Raghav Pal (Udemy)" is listed as free on the Udemy platform, and users can access it without any cost.
For course lists, is it a course?
Yes, the resource being updated is a course link.
Checklist:

[x] Read our contributing guidelines.
[x] Search for duplicates.
[x] Include author(s) and platform where appropriate.
[x] Put lists in alphabetical order, correct spacing.
[x] Add needed indications (PDF, access notes, under construction).
[x] Used an informative name for this pull request.

Follow-up

Check the status of GitHub Actions and resolve any reported warnings!

Thanks, and welcome to free-programming-books!


move common elements to core package, move tests to separate package

Codecov Report

Merging #19 into master will decrease coverage by 4.31%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master      #19      +/-   ##
==========================================
- Coverage      94%   89.68%   -4.32%
==========================================
  Files           8       11       +3
  Lines         100      126      +26
  Branches        0       11      +11
==========================================
+ Hits           94      113      +19
  Misses          6        6
- Partials        0        7       +7

Impacted Files
Coverage Δ

elements/openlayers-core/ol-layer-base.ts
83.33% <ø> (ø)

elements/openlayers-core/ol-map-part.ts
100% <ø> (ø)

elements/openlayers-elements/ol-map.ts
73.68% <ø> (-13.16%)
:arrow_down:

test/util.ts
83.33% <ø> (ø)

elements/openlayers-core/ol-layer-vector.ts
93.33% <ø> (ø)

elements/openlayers-elements/ol-layer-xyz.ts
100% <ø> (ø)
:arrow_up:

...ents/openlayers-elements/ol-layer-openstreetmap.ts
100% <ø> (ø)
:arrow_up:

test/test-elements/ol-test-feature.ts
100% <100%> (ø)

... and 4 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 00caa58...ddba3fd. Read the comment docs.


The React example isn't correct in this repo

In the Readme/main github repo for this plugin, this doesn't make sense. You want to start the plugin if its not already enabled. Your main documentation has it correct.
  React.useEffect(() => {
    if (!ready) { return }

    if (enabled) {
      BackgroundGeolocation.start();
    } else {
      BackgroundGeolocation.stop();
      setEvents([]);
    }
  }, [enabled]);

From main docs: https://transistorsoft.github.io/capacitor-background-geolocation/classes/backgroundgeolocation.html#getstate
if (!state.enabled) {
    ////
    // 3. Start tracking!
    //
    BackgroundGeolocation.start(function() {
      console.log("- Start success");
    });
  }

It’s a mistake.  Follow the logical way.

Actually, no:  it’s correct.  This is a <Switch/> listener.  If you toggle the switch to enabled true, then logically you will tell the plug-in to .start().

You’re confusing the State.enabled returned by .ready with the value of a<Switch /> change listener.

The <Switch /> referenced is this one:

You’re confusing the State.enabled returned by .ready with the value of a<Switch /> change listener.

Indeed, sir, i was!


Show the number of additional commits

The image in the README.md shows this information, however in reality its not there. This would be very useful!

Hi @luxferresum, what do you mean by number of additional commits?

@locks I mean the number of commits since the last tag. Which is part of git describe:

The command finds the most recent tag that is reachable from a commit. If the tag points to the commit, then only the tag is shown. Otherwise, it suffixes the tag name with the number of additional commits on top of the tagged object and the abbreviated object name of the most recent commit.

The image in the README shows the version 1.5.0-5-ga34c8bf. Here the 5 is the number of additional commits. However a recent version of this addon seems to print 1.5.0+ ga34c8bf.
I'm not sure if this is a regression or expected. However the information would be very useful!


Opflow Evolutions don't work on PauliSumOp

Information

Qiskit Terra version:
Python version:
Operating system:

What is the current behavior?
The evolution converters in Opflow do a typecheck for a SummedOp and break if passed PauliSumOp. This is a problem because we implicitly return a PauliSumOp for expressions that used to be a SummedOp, e.g for X + Z.
Steps to reproduce the problem
from qiskit.opflow import Suzuki

operator = (X ^ X ^ I) + (Z ^ Z ^ I)

evo = Suzuki()
evolution = evo.convert(operator)  # breaks, type is PauliSumOp
evolution = evo.convert(operator.to_pauli_op())  # works, type is SummedOp

What is the expected behavior?
Allow passing PauliSumOp to the evolutions.

Thank you. I supported only PauliTrotterEvolution and forgot to use Suzuki directly.

Thank you. I supported only PauliTrotterEvolution and forgot to use Suzuki directly.


Bug: magnifier glass icon in search CSS not consistent

Describe the bug
The magnifier glass icon in beta has some CSS that's not consistent and causes the icon to shift when typing:
https://github.com/open-sauced/app/assets/23109390/e96f44c3-9cc5-4f05-80a6-81947284166a
Steps to reproduce

Go to https://beta.insights.opensauced.pizza/javascript/repositories
Start typing in the search bar and notice the icon moves

Browsers
Firefox & Chrome
Additional context (Is this in dev or production?)
No response
Code of Conduct

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

Contributing Docs

[X] I agree to follow this project's Contribution Docs

The problem appears to be the insertion of the X SVG icon when you start to type. It must be resizing the container causing the search icon to change ever so slightly.
You can see this happen if I set X icon's display to none.

Related to https://github.com/open-sauced/app/pull/1735

I will .take this.


Looking for airbnb API documentation

I don't know much about node.js. I want to request airbnb's API via pytyon. Where can I find the airbnb api documentation？thanks

There is no documentation I'm afraid. Airbnb does not offer a public api service.  I obtained the information by other means.


[FLINK-34634]Fix that Restarting the job will not read the changelog anymore if it stops before the synchronization of meta information is complete and some table is removed

What's the problem
Once, I removed a table from the option and then restarted the job from the savepoint, but the job couldn't read the binlog anymore. When I checked the logs, I found an Error level log stating: ' The enumerator received invalid request meta group id 6, the valid meta group id range is [0, 4].'
It appears that the Reader is requesting more splits than the Enumerator is aware of.
However, the code should indeed remove redundant split information from the Reader as seen in https://github.com/ververica/flink-cdc-connectors/pull/2292. So why does this issue occur?
why occurs

Upon examining the code, I discovered the cause. If the job stops before completing all the split meta information and then restarts, this issue occurs. Suppose that the totalFinishedSplitSize of binlogSplit in the Reader is 6, and no meta information has been synchronized, leaving the finishedSnapshotSplitInfos of binlogSplit in the Reader empty. After restarting, the totalFinishedSplitSize of binlogSplit in the Reader equals (6 - (0 - 0)) which is still 6, but in the Enumerator, it is only 4(the removed table have two split). This could lead to an out-of-range request.

How to reproduce

Add Thread.sleep(1000L) in com.ververica.cdc.connectors.mysql.source.reader.MySqlSourceReader#handleSourceEvents to postpone split meta infos synchronization.

public void handleSourceEvents(SourceEvent sourceEvent) {
else if (sourceEvent instanceof BinlogSplitMetaEvent) {
    LOG.debug(
            "Source reader {} receives binlog meta with group id {}.",
            subtaskId,
            ((BinlogSplitMetaEvent) sourceEvent).getMetaGroupId());
    try {
        Thread.sleep(1000L);
    } catch (InterruptedException e) {
        throw new RuntimeException(e);
    }
    fillMetadataForBinlogSplit((BinlogSplitMetaEvent) sourceEvent);
}

Add Thread.sleep(500L) in com.ververica.cdc.connectors.mysql.source.NewlyAddedTableITCase#testRemoveTablesOneByOne to trigger savepoint before meta infos synchronization finishes.

// step 2: execute insert and trigger savepoint with all tables added
{
    // ..ingore

    waitForSinkSize("sink", fetchedDataList.size());
    Thread.sleep(500L);
    assertEqualsInAnyOrder(fetchedDataList, TestValuesTableFactory.getRawResults("sink"));
    finishedSavePointPath = triggerSavepointWithRetry(jobClient, savepointDirectory);
    jobClient.cancel().get();
}

// test removing table one by one, note that there should be at least one table remaining
for (int round = 0; round < captureAddressTables.length - 1; round++) {
...
}

Add chunk-meta.group.size  =2 in com.ververica.cdc.connectors.mysql.source.NewlyAddedTableITCase#getCreateTableStatement

Finally, run test(com.ververica.cdc.connectors.mysql.source.NewlyAddedTableITCase#testJobManagerFailoverForRemoveTable), the error log will occur.

@ruanhang1993 , @leonardBang , @PatrickRen , CC

Thanks @loserwang1024 for investigating this issue.
IMHO, I think this fix is a bit complicated.
Can we simply consider that in the previous PR, the split that has not yet completed the meta info synchronization should not be deleted?
@ruanhang1993  what do you think ?

the split that has not yet completed the meta info synchronization should not be deleted?

What if the snapshot splits are not completed, and then removed from tableList? The meta info won't be removed later , and  also won't be finished , thus the job won't come into stream phase .

@loserwang1024 Please correct me if I'm wrong.
In PR-2292, only unnecessary finished snapshot splits were removed from BinlogSplit, which means the checkpoint is already in the stream phase. As for the checkpoint in the snapshot phase, it should not be affected by PR-2292.


Can not use html format in lazy load i18n (error: 400 Detected HTML in ....)

Environment

Operating System: Linux
Node Version:     v16.14.2
Nuxt Version:     3.4.1
Nitro Version:    2.3.3
Package Manager<EMAIL_ADDRESS>Builder:          vite
User Config:      modules, i18n
Runtime Modules<EMAIL_ADDRESS>Build Modules:    -

Reproduction
https://stackblitz.com/edit/github-o4x9nn?file=locales/getFromApi.js

Describe the bug
can not use html format in lazy load i18n
it will get error like:
 @nuxtjs/i18n Failed locale loading:  (400 Detected HTML in '
will get error
' message.|Detected HTML in '
will get error
' message.

Additional context
No response
Logs
No response

Thank you for your reporting!
From v8.0.0-beta.11, vue-i18n now outputs a warning if the message contains html. This is for security reasons to avoid XSS.
If you would like to use messages containing html, you can use them by setting the precommpile option.
you need to configure strictMessage: true on nuxt i18n module option.
see more about precompile option details:
https://v8.i18n.nuxtjs.org/options/misc#precompile
Thanks!

Hi @kazupon,

I check the precompile document:

If you do not want the error to be thrown, you can work around it by setting it to false. However, this means that the locale message might cause security issues with XSS. In that case, we recommend setting the escapeHtml option to true.
``
I think I should configure `strictMessage: false`

Evan I use `strictMessage:true` ... console still get 400 error

Thanks

I'm sorry. My comment was wrong.
You are right strictMessage: false. 🙇

Hi! I'm currently facing the same issue. Setting strictMessage: false in the stackblitz example above has no effect.

Hi!
I've just fixed this issue.
You can try to install edge channel version
"@nuxtjs/i18n": "npm:@nuxtjs/i18n-edge"

after beta.11 i got this error.
yarn build
yarn start
[nuxt] [request error] [unhandled] [400]  (400 13|13|13|13|10|14|13|13|13|13|13|13|13|13|13|10|14|13|13|13 (/__i18n__/precompile))
  at async precompileMessages (./.output/server/chunks/app/server.mjs:3409:29)
  at async i18n_options (./.output/server/chunks/app/_nuxt/i18n.options-1f8e8eba.mjs:39:23)
  at async vueI18nConfigLoader (./.output/server/chunks/app/server.mjs:3052:81)
  at async resolveNuxtI18nOptions (./.output/server/chunks/app/server.mjs:3054:19)
  at async Object.setup (./.output/server/chunks/app/server.mjs:3684:116)
  at async Object.callAsync (./.output/server/node_modules/unctx/dist/index.mjs:53:16)
  at async applyPlugin (./.output/server/chunks/app/server.mjs:141:33)
  at async applyPlugins (./.output/server/chunks/app/server.mjs:150:5)
  at async createNuxtAppServer (./.output/server/chunks/app/server.mjs:4617:7)
  at async Object.renderToString (./.output/server/node_modules/vue-bundle-renderer/dist/runtime.mjs:176:19)

Hi! I've just fixed this issue. You can try to install edge channel version
"@nuxtjs/i18n": "npm:@nuxtjs/i18n-edge"

Thanks!
Any estimates when this fix will come to a beta version?

Why is this issue closed? It's still persistent in new releases of the package. Setting strictMessage: false or escapeHtml: true doesn't seem to have any effect.

@lukaszarpak, some option names have changed. This is how I disable this check now (I'm currently on beta 13):
i18n: {
    compilation: {
        strictMessage: false,
    },
},

Why is this issue closed? It's still persistent in new releases of the package. Setting strictMessage: false or escapeHtml: true doesn't seem to have any effect.

Try to use it in nuxt.config.ts and not i18n.config.ts


Hover and Focus styling | Text input/Checkbox/Radio button/Selects

Exploration
I am looking to explore the following approach to the hover and focus styling for input fields.

Hover and focus are Pacific for all input fields.
Status colors (Green, Gold, Red) show up on enabled only.
Once a user starts interacting with the field - hover, focus, clicking, typing, the field will get the Pacific coloring.

Current state
The current approach to hover and focus colors is inconsistently implemented. For some inputs we mirror status colors for hover and focus and for others we use Pacific blue. I would like to audit the landscape of what we currently do in order to then make a decision as to what we might want to do moving forward. My goal is to reduce the maintenance burden, increase consistency, implement state and status styling across components, and make our form inputs more usable.
Checkboxes

Default state

Hover: Pacific (solid border)
Focus: Pacific (dotted outline)
Hover and Focus: Pacific (dotted outline and solid border)

Status (Success, Warning, Error)

Hover: Pacific (solid border)
Focus: Status color (dotted outline)
Hover and Focus: Status color (dotted outline and solid border)

DS
DS

Text inputs

Default state

Hover: Pacific (solid border)
Focus: Pacific (dotted outline)
Hover and Focus: Pacific (dotted outline and solid border)

Status (Success, Warning, Error)

Hover: Dark status color (solid border)
Focus: Status color (dotted outline)
Hover and Focus: Status color (dotted outline and solid border)

DS
DS

Select

Default state

Hover: Pacific (solid border)
Focus: Pacific (dotted outline)
Hover and Focus: Pacific (dotted outline and solid border)

Status (Success, Warning, Error)

@meissadia @shindigira - Are the status state styles defined in the DS or DSR

DS

Radio buttons

Text inputs

Default state

Hover: Pacific (solid border)
Focus: Pacific (dotted outline)
Hover and Focus: Pacific (dotted outline and solid border)

Status (Success, Warning, Error)

@meissadia @shindigira - Are the status state styles defined in the DS or DSR

DS

Proposed state
Will add images next week

@natalia-fitzgerald Re: status styles - Radio/Select in DSR do not currently implement a status or state property, so I image @shindigira is achieving these styles via DS classes.

@meissadia
Sigmund opened an ticket for a styling issue with the error status for the Select component. I'm hoping to simplify our styling, starting at the source (DS).
https://github.com/cfpb/sbl-frontend/issues/561

I like the approach of keeping the hover state the same across status'.  I believe that helps to keep things consistent while also reducing the amount of styles for the various status.
I guess the only open question in my mind would be what are all of the components the status styling be introduced to.
Is it the list above? Are there additional ones (EG text area)?
Regardless this seems like a good starting point.

@itsmedavep
Thanks for your feedback. I added text area input to the list at the top.
So the components which should have status states are:

Checkboxes
Multiselects
Radio buttons
Single selects
Text inputs
Text area inputs
(maybe) Date picker

For the purposes of this initial effort we would prioritize the components which appear in the data submission platform:

Checkboxes
Multiselects
Single selects
Text inputs

The following do not appear in the data submission platform:

Text area inputs
Radio buttons
Date picker

Another question I have, which is out of scope but related, is whether we may want to consider applying this approach (Pacific hover and focus) to other interactive elements, like buttons and links.
But yes, as a first step I'd like to confirm that this approach is appealing to the team and if so we will begin to update the input components that appear on the data submission platform first.


Lifecycle onChanges not working

I'm submitting a ...  (check one with "x")
[ x ] bug report => search github for a similar issue or PR before submitting
[ ] feature request
[ ] support request

Current behavior

Lifecycle onChanges not working
Expected behavior

After change text in intup trigger onChanges from Lifecycle
Minimal reproduction of the problem with instructions

https://plnkr.co/edit/IGjGuXvJ73eP9GB10D60?p=preview

I'm not convinced that onChanges isn't working as intended (I wouldn't expect this to fire unless the inputs on the FormlyField are changing).
If you're wanting to respond to changes in the value of the field, there's the templateOptions.change handler for that (which appears to be debounced).  If that's what you're after, see here:  https://plnkr.co/edit/ChMyhwC8UpRZwF5XHz52?p=preview
I've also enabled production mode in that plunk due to errors unrelated to your question.

How to use ngModelChange?

I think you should be able to subscribe to modelChange from the onInit lifecycle hook.  Keep in mind, this is effectively a subscription to the formControl.valueChanges for the field because these are reactive forms.
You could make the subscription/unsubscription simpler by implementing this as a to hook for a custom field type or base class that all your custom field types inherit from.
I'm not aware of anything existing that is equivalent, but I still think templateOptions.change may be the intended equivalent.  @aitboudad or @mohammedzamakhan would be the one's who could say definitively.

The best approach to me is to rely on what angular provides (subscription to formControl.valueChanges)

I found this example useful. this.form.valueChanges.subscribe(data => console.log('Form changes', data));


ie8 - Object doesn't support this property or method - window.addEventListener

An error occurs in ie8
Object doesn't support this property or methon - window.addEventListener

Fixed with 1e713a2


How to get entire request / response message in hook?

I'm using twirp on protobuf rpc server.
I want to log entire request / response message on each rpc call.
Twirp has ServerHooks called on each rpc call. But in ServerHooks, User can access only ctx object which is including neither request nor responce object.
I think if ctx is including request and response object, I can json.Marshal() them and output to stdout on hook function.
How can I do this?

@mfridman Thanks for advice!
But I think this solution looks not suite for my situation by some reasons.
hooks don't know how to unmarshal request
In this solution, hooks can access the request content bytes.
I want to proto.Unmarshal() and json.Marshal() it for logging as string representation.
But proto.Marshal() requires the message type of this request, and I think there is no way to detect the type of request.
So, I want to access proto.Unmarshal()'ed request message in hooks.
duplication of effort for unmarshal request
In previous reason, Even if  the method of detect the type of request in hooks exists, twirp does proto.Unmarshal() already.
So, it is a duplication of effort for proto.Unmarshal().
how to apply for response?
This solution shows how to access request bytes. But how about response?
I found a solution inspecting response body.
https://stackoverflow.com/questions/43021058/golang-read-request-body/43021236#43021236
I think the same method can be applied.

@spenczar Thanks for answer!
OK! I understood twirp's design philosophy.
@mfridman Thanks for advice again!
Certainly, it's able to implement http logging middleware that logs request and response.
But there are some unresolved problems I previously write. e.g. proto.Unmarshal needs type information.
I found related issue #184 and shouichi shows the method of generating validator/authenticator and chaining service.
I will try this method.

@neguse
JFYI: I ended up writing a twirp_validate template for GoWrap middleware generation tool.


client.Close() blocks on Windows

Hey,
using pie I've noticed that calling Close() on the client returned by pie.StartProviderCodec does not seem to work running on Windows. The call just blocks indefinitely. Your own sample code can be used to reproduce this issue. On Linux everything runs fine.
I'm not sure if this is an issue with pie specifically or with Go's implementation of RPC. A quick Google search didn't bring up anything. Any ideas what could be the problem?
I'm using Windows 10 and Go 1.7.

I meet the same problem.
I'm using Windows 7 and Go 1.8.
Can you fix this please?

I'll take a look, thanks for letting me know.
On Thu, Aug 24, 2017, 4:03 AM timidev<EMAIL_ADDRESS>wrote:

I meet the same problem.
I'm using Windows 7 and Go 1.8.
Can you fix this please?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/natefinch/pie/issues/13#issuecomment-324563680, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ADCcyF8gtvFBbevakl1tyQ90dkIubu9Mks5sbS5ggaJpZM4KMz-y
.

I fixed this problem.
iop.ReadCloser.Close() will block in windows 7 , I change the close squeue and fix it. Changing like bellow:
// Close closes the pipe's WriteCloser, ReadClosers, and process.
func (iop ioPipe) Close() error {
var err error
if writeErr := iop.WriteCloser.Close(); writeErr != nil {
err = writeErr
}
err = iop.ReadCloser.Close()
if procErr := iop.closeProc(); procErr != nil {
err = procErr
}
return err
}


Iconav not clickable when using with container-fluid

...

...

container-fluid is covering iconav so menuitems are not clickable. You can experience the issue here https://themes.getbootstrap.com/products/dashboard   (just switch container to container-fluid)

Please email our Themes support team for bug reports with the official themes.


Don't block execution when waiting for startup tasks

Description:

Avoid checking .done() twice
Check for startup status a lot more frequently and log status updates only when there are some changes (to avoid spamming the user with logs).
Log progress in a separate thread
Always log statuses in the same (logical) order and in one multiline log to make sure no logs from other processes get inserted in between.

Checklist:
You should check all boxes before the PR is ready. If a box does not apply, check it to acknowledge it.

[x] ISSUE NUMBER. You linked the issue number (Ex: Resolve #XXX).
[x] PRE-COMMIT. You ran pre-commit on all commits, or else, you
ran pre-commit run --all-files at the end.
[x] USER CHANGES. The changes are added to CHANGELOG.md and the documentation, if they impact
our users.
[x] DEV CHANGES.

Update the documentation if this PR changes how to develop/launch on the app.
Update the README files and our wiki for any big design decisions, if relevant.
Add unit tests, docstrings, typing and comments for complex sections.

I really like the idea!! However, when I tried, I felt more spammed with logs than before; it prints so quickly that it can be hard to follow, as blocks of logs follow each other and it can be hard to see where it starts and ends. I tried a sleep of 5 seconds, and I think it is easier to follow what is going on. What do you think?

Cool! Thank you! I learned it too!


Fix expansion of

Populate es_info for ETYPE_AUCMD callstack entries.
Keep track of the script context where the autocmd is defined.
Let estack_sfile expand <script> everywhere instead of relying on
early replacement hooks such as expand_sfile.

cc @lacygoill, this patch fixes the problem you noticed in a earlier PR.

It looks like the only reason to move all the structs out of autocmd.c into the global structs.h is to be able to access script_ctx (or did I miss something?)
Instead add a function in autocmd.c to obtain that field.  Does that work?


Review OpenSRP CHW & Reveal Tasking pieces

[ ] Understand Familly tasking vs individual tasking
[ ] Understand the task workflow on reveal and CHW apps

@dubdabasoduba  Adding here some reference links for this

Scoping Docs - https://smartregister.atlassian.net/wiki/spaces/Documentation/pages/1156219033/Scoping+Docs
FHIR Task-Based Referrals Software Requirements Specification - https://smartregister.atlassian.net/wiki/spaces/Documentation/pages/1156251738/FHIR+Task+Based+Referrals+Software+Requirements+Specification
Dynamic Tasking Sample Plan Definitions - https://smartregister.atlassian.net/wiki/spaces/Documentation/pages/1985576965/Dynamic+Tasking+Sample+Plan+Definitions

Will look for current sample APK to also review the workflow as implemented e.g  Reveal

Task Statuses

Draft - The task is not yet ready to be acted upon.
Ready - Task is ready to be performed, but no action has yet been taken. Used in place of requested/received/accepted/rejected when request assignment and acceptance is a given.
In-Progress - Task has been started but is not yet complete.
Cancelled - The task was not completed.
Completed - The task has been completed.
Failed - The task was attempted but could not be completed due to some error.
Archived - The task is invalid, a duplicate or is no longer required for reporting purposes.

Task Business Statuses

Referred - The referral was sent
In-Progress - The referral was opened by the facility worker
Complete - The task was marked as done
Expired - The task expired before it was done

Currently using Requested, Ready & Complete for this ticket #844

Test data - https://turn-fhir.smartregister.org/fhir/Patient/6741/$everything

@dubdabasoduba Converting this to a discussion item


Theme uses some Permalink instead of RelPermalink

Don't know if it was done for a particular reason, but some pages incorporate manually-crafted links instead of using "RelPermalink".
For example, when setting the background image, toha/layouts/partials/sections/home.html has numerous
url('{{ strings.TrimSuffix "/" site.BaseURL }}{{ $src.RelPermalink }}')
statements
These should ideally be replaced by
url('{{ $src.RelPermalink }}')
No reason to have the full URL.

These should ideally be replaced by
url('{{ $src.RelPermalink }}')

It does not worked. Tried it before.

Interresting. The RelPermalink works perfectly for me in a production site (http://www.dedicatedtovo.com/), and I have used the same sort of link before. In fact, I don't know why it would be any different than any of the other img links in the theme.
I discovered the issue when the staging site (not the official site) could not load the background image because the links were hard-coded with the site URL.
If the solution is not usable by everyone, so be it.

For some background on this topic, check this PR: https://github.com/hugo-toha/toha/pull/170
Since, we are no longer hosting demo on the Hugo theme site, I think it will be okay to use url('{{ $src.RelPermalink }}').


Don't let SheerlikeContext replace the context request.

This fixes some unit tests from #3036 that were breaking intermittently in a puzzling way. It turns out this is caused by how our SheerlikeContext class (which is the default context class for Jinja templates) tries to handle and replace the context request object.
SheerlikeContext assumes that the current request is put on the local thread using this middleware call, but in unit tests this doesn't always happen. Then when templates get rendered, SheerlikeContext tries to grab the local thread's request to stick it back in the context, but (since not every test updates this) it might be hanging around from an old test.
This change modifies how SheerlikeContext works so that it won't replace an existing request in the context if one is already there.
It also makes a minor fix to the tests in #3036 so that they pass properly, now that it's more clear what was going on.
Changes

Make SheerlikeContext more conservative about updating the context's request object.

Testing

Observe that all unit tests pass.
Locally test a page which is served by Sheerlike, for example http://localhost:8000/owning-a-home/closing-disclosure/.

Checklist

[X] PR has an informative and human-readable title
[x] Changes are limited to a single goal (no scope creep)
[x] Code can be automatically merged (no conflicts)
[x] Code follows the standards laid out in the development playbook
[x] Passes all existing automated tests
[ ] New functions include new tests
[x] New functions are documented (with a description, list of inputs, and expected output)
[x] Placeholder code is flagged
[x] Visually tested in supported browsers and devices
[x] Project documentation has been updated
[x] Reviewers requested with the Assignee tool :arrow_right:

:1st_place_medal:


Create the topic for covering the process to build and package single binary console applications

Part of the description is in #180. This should explore creating console applications as a single binary, and go into more depth than the step-by-step guide on that process.

Closed per @blackdwarf


Need to Fix

This one the submit "button" (yellow)  isn't moving with padding-left, top ect... If you can look at this one and you guys could probably see this is probably something I'm brainmush on.
-Jonah

It's pretty much there though...
-Jonah


No response when I register unconfirmedAdded to Listener.

Expected behavior and actual behavior.

I want to get Unconfirmed transaction when someone send XYM to my account.
but I can't get it by using listener.unconfirmedAdded

Steps to reproduce the problem.

await listener.open();
alice = nem.Address.createFromRawAddress("NCESRRSDSXQW7LTYWMHZOCXAESNNBNNVXHPB6WY");
listener.unconfirmedAdded(alice)
.subscribe(x=>console.log(x));

subscribe was successful.

and I send XYM by using Desktop Symbol Wallet (ver 1.0.2)
but , there is no reaction.
btw,listener.confirmed works well
listener.confirmed(alice)
.subscribe(x=>console.log(x));

Specifications like the version of the project, operating system, or hardware.

I use symbol-sdk-ts-js 1.0.0 which is browserified by nem2-browserify

Do you have this issue all the time or just happened once?

this issue is all time happened.

I'm sorry ,I was able to get it by setting the announcing node and the listening node to be the same.
Is this a specification?

sorry again, this issue  is no longer reproduced. Please keep it pending for a while.

It turns out.
If the node that announces transaction and the node that sets Listener are the same, it works fine.
If I set up listeners on different nodes, it may or may not succeed.

Is this phenomenon similar to this issue?
https://github.com/nemtech/symbol-sdk-typescript-javascript/issues/776

I've discovered a strange phenomenon.
I've discovered a strange phenomenon.
After adding the following listeners, I was able to receive notifications stably.
listener.status(alice).subscribe(x=>console.log(x));


⚠ GLDDNS Server (ns2.glddns.com) has degraded performance

In dcdefaa, GLDDNS Server (ns2.glddns.com) (ns2.glddns.com) experienced degraded performance:

HTTP code: 200
Response time: 467 ms

Resolved: GLDDNS Server (ns2.glddns.com) performance has improved in a51ad06 after 8 minutes.


Add gsnedders to try privileges

Per @Ms2ger, http://logs.glob.uno/?c=mozilla%23servo#c296622

@bors-servo: r+

:pushpin: Commit 1adb80e has been approved by jdm

:hourglass: Testing commit 1adb80e with merge b9151dc...

:sunny: Test successful - travis


[SPARK-36336][SQL][FOLLOWUP] Mark exception private[spark]

What changes were proposed in this pull request?
Mark the exception added private[spark]
according comments
Why are the changes needed?
comments
Does this PR introduce any user-facing change?
No
How was this patch tested?
existed ut testcase

retest this please

Test build #142845 has started for PR 33856 at commit d59ccd7.

Kubernetes integration test unable to build dist.
exiting with code: 1
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/47347/

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

Test build #142845 has finished for PR 33856 at commit d59ccd7.

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

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

Merged to master and branch-3.2.


[Docs] Plugin overview page links

Change Type (required)
Fix for broken plugin links on Plugin overview page.

[x] patch
[ ] minor
[ ] major

Huh, I would have expected those links to work.

Huh, I would have expected those links to work.

Plugins overview: I get a 404 when I click on any of the listed plugin links in the paragraph, but after I made these changes they worked locally for me.

Closing due to forked branch not completing checks, moved changes to this PR instead.


Can't install activator on OSX?

Hey,
Trying to set up the game for dev purposes but found the play framework no longer provides activator (for OSX). Can you provide any guidance?
Cheers,
//askl56

Sorry u probably need to google around I have no experience with OSX
Or use a docker container wihtin ubuntu or something?


Added background

What is the change?
Added background image.
Related issue?
issue: #109
How was it tested?
Locally by contributor
Checklist:
Before you create this PR, confirm all the requirements listed below by checking the checkboxes [x]:

[x] Have you followed the Contribution Guidelines while contributing.
[x] Have you checked there aren't other open Pull Requests for the same update/change?
[x] Your submission doesn't break any existing feature.
[x] Have you tested the code before submission?

Screenshots or Video:

https://user-images.githubusercontent.com/65889104/108504013-479fee80-72db-11eb-91ec-cf3820756c17.mp4

@Pranav016 Done with the changes!

@Pranav016 Sir, this was issue with website responsiveness not with the background image, though I am done with the changes and solved errors. Please review my PR.

@Pranav016 Sir, this was issue with website responsiveness not with the background image, though I am done with the changes and solved errors. Please review my PR.

Yes, I agree there was some issue with responsiveness. A PR for making the site responsive got merged just now, you can try again by pulling that code.

@Pranav016 Done with the changes. Please review my PR:)

@Pranav016 Sure, making a new PR:)


Bad user experience

Is this website still maintained? The website could not be opened yesterday, and the preview cannot be logged in today

please use VPN to connect

the cdn.jsdelivr.net DNS record failed in china

I have no money to deploy a private CDN

you can clone project and npm serve to local preview.

It is not work,I still can not sign up an account.

The Backend API of this project is mock data, there is no real account registration, you can use admin to log-in to the dashboard


fix(rebuild): don't report skipped segments as transferred

When a segment is unallocated then we should not include this segment for transferred stats.
This addresses an issue where for an empty thin volume the transferred bytes were being shown as the entire volume size.

Some tests might need to be fixed, let's see:
bors try

bors merge

bors cancel

bors merge

bors merge

bors cancel

bors merge


Add an ability to ignore files

Hello,
For larger projects that contain a lot of sub-directories and files it is nice to document the files in the directory with documentation such as a README.md. Currently if I put a file in say $eib/custom/scripts it will treat the file as a script and try to execute it.
It would be nice to have an "ignore" file. This way it wont try to execute and include my documentation. Instead, just skip over it.
Thanks!

I definitely understand the need here. We'll look into this in a future release in some capacity (it might not be an ignore file, but I do understand what you're trying to achieve).


cannot use .pkgs of pythons provided here

I'm not sure if using .pkgs.something is intended with these pythons,
but i'm surely getting a strange error:
error: builder for '/nix/store/jwc3cbbp74lc3krq8ilkhgd7izg8bdxd-Python-3.8.17.tar.xz.drv' failed with exit code 1;
       last 10 log lines:
       >   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
       >                                  Dload  Upload   Total   Spent    Left  Speed
       >   0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (6) Could not resolve host: www.python.org
       > Warning: Problem : timeout. Will retry in 1 seconds. 3 retries left.
       >   0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (6) Could not resolve host: www.python.org
       > Warning: Problem : timeout. Will retry in 2 seconds. 2 retries left.
       >   0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (6) Could not resolve host: www.python.org
       > Warning: Problem : timeout. Will retry in 4 seconds. 1 retries left.
       >   0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (6) Could not resolve host: www.python.org
       > error: cannot download Python-3.8.17.tar.xz from any mirror
       For full logs, run 'nix log /nix/store/jwc3cbbp74lc3krq8ilkhgd7izg8bdxd-Python-3.8.17.tar.xz.drv'.
error: 1 dependencies of derivation '/nix/store/idxlik38iac33hicidlf7qhjc4nn494m-python3-3.8.17.drv' failed to build
error: 1 dependencies of derivation '/nix/store/ppgrg13rqs00lsh6mphrhx9nlknq770m-wrap-python-hook.drv' failed to build
error: 1 dependencies of derivation '/nix/store/2lpg8ysd173ifdrbmsd26lrxnkkyqdhj-nix-shell-env.drv' failed to build

to reproduce - just add python.pkgs.wrapPython to buildInputs of a shell (or any derivation),
for example:
{
  inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs";
    nixpython = {
      url = "github:cachix/nixpkgs-python";
      inputs.nixpkgs.follows = "nixpkgs";
    };
  };
  outputs = { self, nixpkgs, nixpython }:
  let
    pkgs = nixpkgs.legacyPackages.x86_64-linux;
    python = nixpython.packages.x86_64-linux."3.8";
  in {
    packages.x86_64-linux = rec {
      py = python;
      test_python = pkgs.mkShell {
        buildInputs = [
          python.pkgs.wrapPython
        ];
      };
    };
  };
}

and do nix build .#test_python
while nix build .#py works fine and builds python from source
or removing .pkgs.wrapPython and leaving just python in buildInputs works fine too
I'm relatively new to the whole nix thing, so I have no idea if I'm doing something wrong
It does seem that for some reason it tries to build python38 again, even if i have just built it separately... and it has no network while trying to fetch sources, as if it was called from within build sandbox, but how is this possible??
P.S. my network is fine, i can access the url it tries to fetch, and i can build python38 from this repository from source without any issues

FTR, this also happens when using one inside environment.systemPackages:
environment.systemPackages = with pkgs; [
  pkgs.allthepythons.packages.x86_64-linux."3.9.16"
....

Where "allthepythons" is an overlay within a flake:
overlay-nixpkgs-python = final: prev: {
    allthepythons = import nixpkgs-python;
  };

For some reason it uses .xz in the url, while it should be https://www.python.org/ftp/python/3.8.18/Python-3.8.18.tgz.
This means something is wrong how overrides are applied, it's not passing the correct hash and the url.

Should be fixed on main, can you try?

It works now.


Fix issue with user locale not using correct key

Translations were broken after commit https://github.com/ArkEcosystem/ark-mobile/commit/42aaec81de22d6c959b68e291b8161ba42357a1e, due to the following:
const appLang = this.AVALIABLE_OPTIONS.languages[cultureLang] || this.AVALIABLE_OPTIONS.languages[browserLang] || 'en';
This works in case the option list does not contain cultureLang or browserLang, as it will default to 'en'. However, if it does contain cultureLang or browserLang, the selected value in appLang will be incorrect as the value of the option is taken (while the key corresponds to the actual language file). To give a more concrete example:
Let's say that we have our mobile device set to Dutch. Culturelang will return nl-NL, which is not available in the list of options, and browserlang will be nl. As a result, this.AVALIABLE_OPTIONS.languages[browserLang] will be stored in appLang, which is "Nederlands". The app will then try to look for Nederlands.json, while the file is called nl.json instead.
This PR makes sure that we use the key again, so we are able to find the correct translation file.

Oh, good catch! 👍🏻


feat: update annoy indexer

https://github.com/jina-ai/jina/issues/2560

Make sure to rebase and have the test pass. Check again the NumpyIndexer for how to construct the Dockerfile and the tests

Can u guys please add an endpoint to return the vectors by ids?

The vectors are added in matches I think, so you want a separate endpoint to just return vec of aa id?

Can you add the query_by_id endpoint?

no problem!