Cannot subscribe to value changes

when trying to subscribe to the value changed notifications, I receive this error:
TwinCAT.Ads.AdsErrorException: 'Couldn't register for SymbolVersion change Notifications on the connected ADS Server. Don't register for AdsClient.SymbolVersionChanged events! (Service is not supported by server. (AdsErrorCode: 1793, 0x701))'
my subscriptions work fine with the real TwinCat server

Which Beckhoff.TwinCAT.Ads Version you are using? Is it the latest? This Exception should be catched internally.

I updated to the latest 6.0.164 and it behaves the same
I am using TwinCAT.Ads.Reactive.AdsClientExtensions.WhenNotification
I checked your Reactive sample, where you use client.WhenValueChangedAnnotated and this is not throwing the exception

Could you post here the Callstack of WhenNotification And/Or the exact overload you are using?

I am using this overload: public static IObservable<SymbolValueNotification> WhenNotification(       this IAdsConnection client,       ISymbol symbol,       NotificationSettings settings)
with NotificationSettings.Default
call stack:
This exception was originally thrown at this call stack:     TwinCAT.Ads.AdsClient.AdsSymbolVersionChanged.add(System.EventHandler<TwinCAT.Ads.AdsSymbolVersionChangedEventArgs>)     System.Reactive.Linq.ObservableImpl.ClassicEventProducer<TDelegate, TArgs>.AddHandler(TDelegate) in FromEvent.cs     System.Reactive.Linq.ObservableImpl.EventProducer<TDelegate, TArgs>.Session.AddHandler(TDelegate) in FromEvent.cs     System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()     System.Reactive.AnonymousSafeObserver<T>.OnError(System.Exception) in AnonymousSafeObserver.cs     System.Reactive.Sink<TSource, TTarget>.OnError(System.Exception) in Sink.cs     System.Reactive.Subjects.Subject<T>.OnError(System.Exception) in Subject.cs     System.Reactive.Linq.ObservableImpl.EventProducer<TDelegate, TArgs>.Session.AddHandler(TDelegate) in FromEvent.cs     System.Reactive.Concurrency.Scheduler.ScheduleAction.AnonymousMethod__75_0(System.Reactive.Concurrency.IScheduler, (System.Action<TState> action, TState state)) in Scheduler.Simple.cs     System.Reactive.Concurrency.ScheduledItem<TAbsolute, TValue>.InvokeCore() in ScheduledItem.cs     ...     [Call Stack Truncated]

so after some more investigation, it looks like WhenValueChangedAnnotated is really working, I will have to check how it behaves with the real TwinCat
interesting finding though, when I use SymbolIterator to get the symbol for the parameter of WhenValueChangedAnnotated, I get the notifications, when I use Connection.TryReadSymbol, the notifications don't trigger

You wont get ADS Notification when you call TryReadSymbol. Notifications are sent when you are changing values (with write).
Please try the Version 6.0.178 of the Beckhoff.TwinCAT.Ads packages. I have done several improvements for the AdsSymbolicServer scenario for ArrayTypes, ElementTypes and Notifications.
Furthermore, the AdsSymbolicServerSample here on GitHub is extended now to demonstrate  (commit 936fa6265fbf66f8545bb53f00f42c926303cc1d)

The problem of the Exception stack above is fixed also (SymbolVersionChanged issue).

so after testing with the real TwinCat system I found out, that the workaround that works with the AdsSymbolServer does not work here
@RalfHeitmann can you please reopen this issue? it is not resolved, the same approach is not working for both real twincat and the AdsSymbolServer

Still not able to reproduce the issue, what I tried:
Changed Program.Main in the SymbolicServerSample to this:
// ...
                    Console.WriteLine($"Symbolic Test Server runnning on Address: '{server.ServerAddress}' ...\n");
                    Console.WriteLine($"For testing the server see the ReadMe.md file in project root");
                    Console.WriteLine($"or type the following command from Powrshell with installed 'TcXaeMgmt' module:\n");
                    Console.WriteLine($"PS> test-adsroute -NetId {server.ServerAddress.NetId} -port {server.ServerAddress.Port}\n\n");
                    Console.WriteLine("Press the ENTER key to cancel...\n");

                    // Beneath the external access from an out-of-process ADS client
                    // We could also access the server from within this process
                    // What is done in the following for demonstration and testing purposes

                    // Instantiate ADS Session / Client
                    // and execute some operations against the SymbolicServer

                    SessionSettings settings = new SessionSettings(120000);
                    List<IDisposable> disposables = new List<IDisposable>();

                    using (AdsSession session = new AdsSession(AmsNetId.Local, server.ServerPort, settings))
                    {

                        // Connect to SymbolicServer
                        session.Connect();
                        IAdsConnection connection = (IAdsConnection)session.Connection;
                        ISymbolLoader factory = SymbolLoaderFactory.Create(session.Connection, SymbolLoaderSettings.Default);
                        // Load DataTypes in Symbol Instances
                        var types = factory.DataTypes;
                        var symbols = factory.Symbols;

                        int count1 = 0;
                        int count2 = 0;

                        IDisposable observer1 = GetObservable1<bool>(connection, symbols, "Globals.bool1", NotificationSettings.Default).Take(10).Subscribe(v => Console.WriteLine($"Observer1: Count:{++count1} Value: {v}"));
                        IDisposable observer2 = GetObservable2<bool>(connection, "Globals.bool1", NotificationSettings.Default).Take(10).Subscribe(v => Console.WriteLine($"Observer2: Count:{++count2} Value: {v}"));

                        // Wait for stopping Server Task or cancellation
                        await Task.WhenAny(new[] { cancelTask, serverTask });
                        errorCode = await serverTask;
                    }
// ...

public static IObservable<T> GetObservable1<T>(IAdsConnection connection, IEnumerable<ISymbol> symbols, string symbolPath, NotificationSettings settings)
        {
            SymbolIterator recursiveIterator = new SymbolIterator(symbols, true);
            var symbol = recursiveIterator.Where(x => x.InstancePath == symbolPath);

            return connection
                .WhenValueChangedAnnotated(symbol)
                .Select(x => (T)x.Value);
        }

        public static IObservable<T> GetObservable2<T>(IAdsConnection connection, string symbolPath, NotificationSettings settings)
        {
            IAdsSymbol symbol2 = null;
            connection.TryReadSymbol(symbolPath, out symbol2);

            return connection
                .WhenNotification(symbol2,NotificationSettings.Default)
                .Select(x => (T)(x.Value));
        }

Output:
Observer1: Count:1 Value: True
Observer1: Count:2 Value: True
Observer2: Count:1 Value: True
Observer1: Count:3 Value: False
Observer1: Count:4 Value: False
Observer2: Count:2 Value: False
Observer1: Count:5 Value: True
Observer1: Count:6 Value: True
Observer2: Count:3 Value: True
Observer1: Count:7 Value: False
Observer2: Count:4 Value: False
Observer1: Count:8 Value: True
Observer1: Count:9 Value: True
Observer2: Count:5 Value: True
Observer1: Count:10 Value: False
Observer2: Count:6 Value: False
Observer2: Count:7 Value: True
Observer2: Count:8 Value: False
Observer2: Count:9 Value: True
Observer2: Count:10 Value: False

Both observers work equally well on the boolean value that is toggled per timer in the sample
I'm getting confused about the issue here ... There are also some things mixed up here ...
Please try to create a little demonstration sample (best from SymbolicServerSample as starting point)

I tried it with disabled twincat services running only the AdsRouter from nuget and it behaves the same
I get the exception on ReadValue

I tried with unmodified AdsSymbolicServerSample and I was surprised that AmsNetId.Local is not localhost but it's the address of the system configured in my router

By default, AmsNetId.Local gets the AmsNetId from the router (1 ADS roundtrip) and should't show 'localhost'. So thats as-designed.

the exception is raised in this code:
        private static void CallReadValueByInstancePath(AdsSession session)
        {
            bool bValue = (bool) session.Connection.ReadValue("Main.bool1", typeof(bool));
            string sValue = (string) session.Connection.ReadValue("Main.string1", typeof(string));
        }

on the first ReadValue

Is this still this Exception (thought we talk about different issues now)

'Couldn't register for SymbolVersion change ...

I thought you get that error out of an 'WhenNotification' Call. The exception was mistakenly leaked by that one and that was one of the latest fixes.
The actual behaviour is, if you register for SymbolVersionChanged (which is in fact only supported by the PLC) you can get that Exception on AdsServers that doesn't support it (like the SymbolicServer).

On the the Connect() call when the Event was registered before Connect()
On the  EventRegistration when the Client/Session is already connected

So please (double) check, that you are not Registering SymbolVersionChanged in your code to the SymbolicServer and be sure to use the latest (fixed) version of the Beckhoff.TwinCAT.Ads and Beckhoff.TwinCAT.Ads.Reactive package also from your client side (check the loaded TwinCAT.Ads.dll and TwinCAT.Ads.Reactive.dll in debugger, often old versions of Assemblies are hanging around in bin/obj folders). If you really reproduce the Exception in the unchanged sample, this could be the only cause).

you are right, there were references to older versions of Ads and Ads.Reactive (6.0.129) held through another librtary I was using
the exception is now not thrown anymore and the notifications work
thank you very much for your patience


Open GoToDefinition directly on the correct line

This fixes #453. navigateTo should now open directly to the line and column of the response.

Looks like a nice change but should probably be rebased into one commit. I can do it if you want?

I just merged your last commit in here https://github.com/OmniSharp/omnisharp-atom/commit/1882b39d7aef4a2aca8cb1877008a54b6f9ec0e1 . This fix is in v0.22.6.
Thanks!

Thanks, I should have done that rebase initially. Still getting the hang of some Git stuff :)

no worries :)

:+1: Awesome.
-----Original Message-----
From: "Jason Imison"<EMAIL_ADDRESS>Sent: 7/24/2015 3:57 PM
To: "OmniSharp/omnisharp-atom"<EMAIL_ADDRESS>Subject: Re: [omnisharp-atom] Open GoToDefinition directly on the correct line(#454)
no worries :)
—
Reply to this email directly or view it on GitHub.


No Nuki in Home Assistant

Hey guys,
first of all thank you for all of your work!
Unfortunately it isn't possible for home assistant to discover my Nuki 3.0. MQTT is connected, the lock is paired but everything what I try fails.

Could you check that you configured the auto config topic?

Hey flotomation,
thx this were the problem. I didn't read all of the settings because I thought this advanced settings were only for SSL.

I have the same problem, all is configured. mqtt is connected... discovery topic is configured.. but ... no entity found, can someone help me?

I have the same issue as @platini76, and can't figure out why autodiscovery isn't working


README additions

Please include mentions of:

How to contribute
What the license is
How to report security issues
Where to find Slack and Discourse

I think I've added the things requested to the readme.


Fixing github actions build

(please don't merge yet, I'm just opening a PR so I can see if github actions are working now)

no luck yet, huh?

no luck yet, huh?

Nope, not really sure why it won't work on Windows....
Good news is that it does work on macOS, and should also work on Linux :)

Still failing some checks...
and I don't know how to build this so I can test it :)

Ah yes, either from the top level makefile, do:
make play.file

Or, from play.file~ folder:
make ffmpeg
make play.file~

(and set PDDIR of course)


Conversion of CALL Statements Placed in Wrong Location and Lose Values Assigned to Parameters

When a CALL statement is converted to **FREE format, the CALL is converted to a procedure style call.  There are a few problems:

The location of the call is moved. in the source
Literal values specified in factor 2 are lost
Values returned to variables in factor 1 are also lost

Fixed format RPG:
     D idx             s              5p 0 inz
     C                   ADD       1             idx
     C                   CALL      'QCMDEXC'
     C                   PARM      'DSPLIBL'     cmd               7
     C     RTNVALUE      PARM      7             cmdLen           15 5
       *inLR = *ON;
       return;

Wrong output:
**FREE
       Dcl-S idx          Packed(5:0) inz;
       QCMDEXC(cmd:cmdLen);
         idx = idx + 1;
       *inLR = *ON;
       return;

Expected output:
**FREE
       Dcl-S idx          Packed(5:0) inz;
         idx = idx + 1;
     C                   CALL      'QCMDEXC'
     C                   PARM      'DSPLIBL'     cmd               7
     C     RTNVALUE      PARM      7             cmdLen           15 5
       *inLR = *ON;
       return;

If a CALL specifies variables in factor 1 (return values), the CALL statement cannot be converted to **FREE.  There is no equivalent syntax in **FREE that would support this.  The closest approximation would be to set the factor 1 variable to the contents of the result field, then pass the factor 1 as the parameter.  This would require adding additional lines before the call.  Also additional lines would also be needed if any initialization value was being passed as well.
For example, assume QCMDEXC passed back something to do with the command length, the following RPG could be used:
Fixed format RPG:
     D idx             s              5p 0 inz
     C                   ADD       1             idx
     C                   CALL      'QCMDEXC'
     C                   PARM      'DSPLIBL'     cmd               7
     C     RTNVALUE      PARM      7             cmdLen           15 5
       *inLR = *ON;
       return;

Expected output:
**FREE
       Dcl-S idx          Packed(5:0) inz;
         idx = idx + 1;
         cmd = 'DSPLIBL';
         cmdLen = 7;
         RTNVALUE = cmdLen;
         QCMD(cmd:RNTVALUE);
       *inLR = *ON;
       return;

Note, the moving the CALL statement appears to be inconsistent.  A trigger to make something bad happen seems to be:

Having only a C/FREE and free form statements following the CALL
Having no blank/comment lines following the PARM statements for the CALL, only executable C-Specs

The odd behaviors include:

The CALL statement is moved up one line
The CALL statement is doubled (one call placed before the previous line, then the call in the proper location)
The statement following the CALL have the wrong indentation.

This is may be a duplicate of #6.


remove duplicate messageType assignment in pub-sub sample MessageForm

Description
The Pub-Sub sample react-form MessageForm component assigns a dropdown selector value twice, once at the beginning of the element and again at the end, causing linting tools to throw an error when building.
Issue reference
n/a
Checklist
Please make sure you've completed the relevant tasks for this PR, out of the following list:

[x] The sample code compiles correctly
[x] You've tested new builds of the sample if you changed sample code
[x] You've updated the sample's README if necessary

@glennmusa Could you please update the checklist in the PR description.

Can do @amanbha 👍


Revit: clean up ToSpeckle unit assignments in BuiltElements conversions

Currently some conversions such as CeilingToSpeckle have double measurement properties but do not assign the Speckle base a unit. Example:
speckleCeiling.offset = GetParamValue<double>(revitCeiling, BuiltInParameter.CEILING_HEIGHTABOVELEVEL_PARAM);

In these cases:

If BuiltInParameter, convert from internal units to measurement display unit for unit consistency with nested Base objects
Add units to Speckle BuiltElement base object

Checked all conversions, the missing units issue was fixed with a previous pr!


Demofix

Coverage increased (+0.05%) to 79.8% when pulling d3163d3704022c44ec39696973a99848c7de4a3e on demofix into 5fafa50b814c8b88227d364133245454274c4cd0 on master.

Coverage increased (+0.3%) to 79.753% when pulling 492638ce35bf3713ba8884e278d23f259a637c9d on demofix into a3057e8afa4722b66bfdb4b9823f0441c6371560 on master.

Coverage increased (+0.3%) to 79.753% when pulling 492638ce35bf3713ba8884e278d23f259a637c9d on demofix into a3057e8afa4722b66bfdb4b9823f0441c6371560 on master.


[FEATURE] Support the extra data in session, which is "x.vim".

Is your feature request related to a problem? Please describe.

Some non-file buffer, I want to store/restore it more accurately with my customized config.
I'm writing a tabline plugin, and there are some data (such as customer tab name), I want to store in session to get better UX.

Describe the solution you'd like
I found that, nvim has a built-in feature for this. In :help :mksession:
10. If a file exists with the same name as the Session file, but ending in
   "x.vim" (for eXtra), executes that as well.  You can use *x.vim files to
   specify additional settings and actions associated with a given Session,
   such as creating menu items in the GUI version.

So, 'Auto-session' might provide a hook/config to let users put codes in "*x.vim".
Describe alternatives you've considered
Provide a public function to let the user know the filename of the current session. In case the user can store their own "*x.vim".

Hey @nanozuki, any luck? This does seem like it would be a cool thing to support. I'll try to get to it if you haven't started anything yet

Oh, last weekend, I had a surprise visit from a good friend, which made me so busy that I didn't have time to write code 😂. At the earliest, I might start writing Saturday afternoon. (UTC+8). If you like to start earlier, I will happy to enjoy your results, otherwise, I also glad to implement this feature.


Make pyarrow optional

Is your feature request related to a problem? Please describe.
Is pyarrow really needed for every dataset?
Describe the solution you'd like
It is made optional.
Describe alternatives you've considered
Likely, no.

The whole datasets library is pretty much a wrapper to pyarrow (just take a look at some of the source for a Dataset) https://github.com/huggingface/datasets/blob/51aef08ad7053c0bfe8f9a961207b26df15850d3/src/datasets/arrow_dataset.py#L639
I think removing the pyarrow dependency would involve a complete rewrite / a different library with minimal functionality (datasets-lite ?)

Thanks for the proposal, @KOLANICH. And also thanks for your answer, @dconathan.
Indeed, we are using pyarrow as the backend for our datasets, in order to cache them and also allow memory-mapping (using datasets larger than your RAM memory).
One way to avoid using pyarrow could be loading the datasets in streaming mode, by passing streaming=True to load_dataset.

Thanks for the info. Could datasets then be made optional for transformers instead? I used transformers only to deal with pretrained models to deploy them (convert to ONNX, and then I use TVM), so I don't really need pyarrow and datasets by now.


How to write and debug the code in IDE ,such as Pycharm,VS ?

It's convient in the web browser to write and debug the code. However, no tips and syntax error may happen.So What's your suggestion to sovle the problem? Thanks.

It's not possible currently.
A planned feature "edit script with vim via WebDAV" is similar to your request. But since Pycharm might not support webdav, you have to mount webdav as local file system.
Another solution is using local projectdb local+projectdb://filepath,filepath.
But you have to refresh webui while debugging when your script changed. You could make some code to check whether the script is changed and load it to webui periodically.

This should be done within your software. When I click 'Run', the webui should reload the local file.

Webdav mode is what uou need.
On Sat, Jul 25, 2015, 6:18 PM beef9999<EMAIL_ADDRESS>wrote:

This should be done within your software. When I click 'Run', the webui
should reload the local file.
—
Reply to this email directly or view it on GitHub
https://github.com/binux/pyspider/issues/151#issuecomment-124831746.


Object.call_deferred crashes without an error after being called too many times

Tested versions

Reproducible in: 4.2.1 Stable (x64, .NET), 4.3-dev5 (x64, .NET)
Doesn't run: 4.0 Stable (x64, .NET), 4.1.3 Stable (x64, .NET)

Both of these versions didn't run because of the following error, which showed up 12 times in the console:
E 0:00:02:0451   mesh_add_surface: Meshes must contain a vertex array, an index array, or both
<C++ Error>    Condition "!p_surface.index_count && !p_surface.vertex_count" is true.
<C++ Source>   servers/rendering/renderer_rd/storage_rd/mesh_storage.cpp:388 @ mesh_add_surface()

System information
Godot v4.2.1.stable.mono - Windows 10.0.22631 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 3070 (NVIDIA; <IP_ADDRESS>86) - AMD Ryzen 9 5900X 12-Core Processor (24 Threads)
Issue description
I made a maze generation program which worked flawlessly until I tried to add multithreading to it. Then, I noticed that Object.call_deferred() was causing a crash without an error output when generating larger mazes, regardless if multithreading was being used. I'd expect Object.call_deferred() to either not crash, or output an error while doing so.
GDScript Example:
The program works fine (sometimes it crashes regardless) with a maze size of 600 by 600, but when increased to 601 by 601, the program crashes. When the deferred and the multithreading variables are disabled, the script is able to generate much larger mazes.
https://github.com/godotengine/godot/assets/101441443/32deabe6-dd0e-477d-8d09-682953b4de4a
C# Example:
The situation is exactly the same, but the C# limit is lower, at 559 by 559, and crashing at higher values, however, it exhibits much more consistency in its behavior.
https://github.com/godotengine/godot/assets/101441443/d1b2442a-afe8-487c-9b68-375d58d6ca10
Steps to reproduce

Open the project
Select the MazeGen object in the editor
You may change the script from MazeGen.gd to MazeGen.cs to test C#
Set the Size property to its default value (max value which won't crash), then run the project
Increase the Size property and re-run the project (now it crashes)
Disable Multithreading, then re-run the project (still crashes)
Disable Deferred, then re-run the project (now it works fine)

Note: The mouse is captured by default. Press ESC to release it, and left click to recapture it.
Minimal reproduction project (MRP)
Maze MRP.zip

I confirm this problem. Nice labyrinth by the way!
Only for me it crashes from the game on 608,
and if I disable deferred, but enable multithreading, game crashes and the following error appears:
E 0:00:02:0088   MazeGen.gd:159 @ PlaceTileDeferred(): This function in this node (/root/Maze/MazeGen) can only be accessed from either the main thread or a thread group. Use call_deferred() instead.   <Ошибка C++>   Condition "!is_readable_from_caller_thread()" is true. Returning: (Ref<World3D>())   <Исходный код C++>scene/3d/node_3d.cpp:757 @ get_world_3d()   <Трассировка стека>MazeGen.gd:159 @ PlaceTileDeferred()                  MazeGen.gd:208 @ Generate()

Thanks! Yeah, the crashing when multithreading is enabled and deferred is disabled is intended, since GridMap.set_cell() isn't thread safe, but I was too lazy to add an error or a warning. By the way, how did you get an error to show up? It would be quite helpful to know in order to completely rule out my code as being the problem

Can you run the editor from the console? It should print an error there (the fact that crash messages don't show up in the editor log is a known issue, can't find the report now though)

I ran it from the console and I got this error:
ERROR: Caller thread can't call this function in this node (/root/Maze/MazeGen). Use call_deferred() or call_thread_group() instead.
   at: (scene/main/node.cpp:3575)
Failed method: GridMap::set_cell_item. Message queue out of memory. Message queue out of memory. Try increasing 'memory/limits/message_queue/max_size_mb' in project settings.

Curiously, when ran from C#, the error is different:
ERROR: Caller thread can't call this function in this node (/root/Maze/MazeGen). Use call_deferred() or call_thread_group() instead.
   at: (scene/main/node.cpp:3575)
Failed method: GridMap::set_cell_item. Message queue out of memory. Message queue out of memory. Try increasing 'memory/limits/message_queue/max_size_mb' in project settings.
Fatal error. System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
   at Godot.NativeInterop.NativeFuncs.godotsharp_method_bind_call(IntPtr, IntPtr, Godot.NativeInterop.godot_variant**, Int32, Godot.NativeInterop.godot_variant_call_error ByRef)
   at Godot.NativeCalls.godot_icall_2_701(IntPtr, IntPtr, Godot.NativeInterop.godot_string_name, Godot.Variant[], Godot.NativeInterop.godot_string_name)
   at Godot.GodotObject.CallDeferred(Godot.StringName, Godot.Variant[])
   at MazeGen.PlaceTileDeferred(Tile, Godot.Vector2I)
   at MazeGen+<Generate>d__21.MoveNext()
   at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[[System.__Canon, System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](System.__Canon ByRef)
   at MazeGen.Generate()

I went ahead and increased the message queue memory limit, as stated in the error, and it worked with larger sizes. Is this all normal behavior? Should I go ahead and close the issue? Also, thanks for your help! I wouldn't have figured out the problem without it

Can you run the editor from the console? It should print an error there (the fact that crash messages don't show up in the editor log is a known issue, can't find the report now though)

I wasn't able to find any duplicate report either, so I'll go ahead and edit this one to be more inline with what's happening. If there is a duplicate, please go ahead and mark it as such


[feature] temporary "private audio only" switch (if running bot not on discord)

Re-opening. This change has messed up saving preferences (without pressing the button)


Allow Prettier in IDE for microservices

https://github.com/vivid-planet/comet-starter/pull/95#issue-2064259483
Fixes the "bad IDE support" by allowing allowing prettier in IDE for api/admin/site/create-app but executing the cli-check only for root-files.

@dkarnutsch please review again, thanks!


Why does your extension require access to my browsing history?

Hi,
I was using your extension on Firefox when an update was triggered. It seems that your extension now requires access to my browsing history. Why is that?
Thank you.

Hi! Thanks for the issue, the concern is definitely understandable.
The extension doesn't actually get your browser history. Browser extensions have an API that returns returns your frequently-visited sites (around 10-12 of them depending on the browser), that's all the extension gets. This additional permission is needed to implement this feature: #50

Rest assured those frequently-visited sites are only used to display those links and remain on your browser (you can check the code too to make sure 😅 )

Hi,
Thank you for clarifying that! I don't usually use this kind feature so I wasn't sure.

Hi! Yeah, the permission needs to be requested even though you won't be using the feature, sorry for the confusion that it's caused! :pray:


remote state file pass different values for different environment

Hi Team,
I'm trying to have remote state file in my root terragrunt.hcl like this.
remote_state {
    backend = "s3"
    generate = {
        path = "backend.tf"
        if_exists = "overwrite_terragrunt"
    }
    config = {
        encrypt = true
        bucket = <bucket>
        key = "terragrunt_euw1.tfstate"
        region = <region>
        profile = <profile>
        disable_bucket_update = true
    }
}

I have 2 environments, nonprod and prod. The bucket name and profile name will change as per the environment.
How can i pass the QA bucket name when i deploy from QA folder? Please suggest..

Hi,
I was thinking about usage of get_env function, but it will require to define required values in environment before running terragrunt
Another approach can be done by extracting S3 config in a separated HCL file, read specific configurations through read_terragrunt_config in each included directory.
.
├── env1
│   ├── backend.tf
│   ├── main.tf
│   ├── s3_config.hcl
│   └── terragrunt.hcl
├── env2
│   ├── backend.tf
│   ├── main.tf
│   ├── s3_config.hcl
│   └── terragrunt.hcl
└── s3.hcl

# s3.hcl
locals {
  s3_config = read_terragrunt_config("s3_config.hcl")
}
remote_state {
  backend = "s3"
  config = {
    bucket = local.s3_config.inputs.bucket
    region = local.s3_config.inputs.region
    dynamodb_table = local.s3_config.inputs.bucket
    ...
  }
}

# env*/s3_config.hcl

inputs = {
  bucket = "bucket-env*"
  region = "region-for-env*"
}

Full example:
https://github.com/denis256/terragrunt-tests/tree/master/s3-bucket-multi-env


Provider Implementation Docs / Hosting

We need some clear docs and guides on how new providers can start developing and deploying an OpenCP API end point.
I wonder if we should create a template provider based off the civo one (https://github.com/opencontrolplane/civo-opencontrolplane) that can be used as a kick off point.

Agree on the template provider

The template provider repo should be a pinned repo once we've created it

OK I will do this and I will push


⚠ Bofrost.de has degraded performance

In 1b40fad, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1482 ms

Resolved: Bofrost.de performance has improved in c62f60b.


PV is not being created

Describe the bug
Error message when looking at the fluentd deployment.

AttachVolume.Attach failed for volume "pvc-9257a4f3-dc00-11e8-861e-066f61791264" : InvalidVolume.NotFound: The volume 'vol-0e01f05ffc211c477' does not exist. status code: 400, request id: d7130385-fc3e-4070-a0af-d7608e9c634d
Unable to mount volumes for pod "fluentd-77c8668587-szh8k_devops(929cb55f-ba74-11e9-977f-02d8cf9744bc)": timeout expired waiting for volumes to attach or mount for pod "devops"/"fluentd-77c8668587-szh8k". list of unmounted volumes=[buffer]. list of unattached volumes=[config app-config buffer default-token-wxpp9]

To Reproduce
Helm charts deployed as per instructions.
helmfile details:
repositories:
  - name: banzaicloud-stable
    url: https://kubernetes-charts.banzaicloud.com
  - name: banzaicloud-incubator
    url: http://kubernetes-charts-incubator.banzaicloud.com

releases:
  - name: banzaicloud-logging-operator
    namespace: devops
    chart: banzaicloud-stable/logging-operator

  - name: banzaicloud-logging-operator-fluent
    namespace: devops
    chart: banzaicloud-stable/logging-operator-fluent

Expected behavior
Successful deploy without errors.

Please ignore, apparently we tested this out ~283 days ago and had an old PVC that had a deleted EBS volume.


Make __toString() compatible with throwing

Fix #142
On PHP 7.4, __toString() can throw.
And before PHP  7.4, __toString() can throw also, when the Symfony ErrorHandler is used: https://github.com/symfony/symfony/blob/e46495499841f805ab1915643f763d736d24822e/src/Symfony/Component/ErrorHandler/ErrorHandler.php#L498-L503
This fixes tests meanwhile.

Do you mind rebasing this PR?

Thank you for merging!


Panchadip 128 patch 1 1

Issue #1783 solved
Created a Fake News Detection system using machine learning algorithms like Logistic Regression, Decision Tree, Gradient Boosting, and Random Forest. The dataset consists of real and fake news articles, and we have applied preprocessing, feature extraction using TF-IDF, and trained several models
Description:
Summary of the fake news detection project:
Libraries: Various Python libraries are used, including pandas for data manipulation, matplotlib and seaborn for visualization, re and string for text preprocessing, and scikit-learn for machine learning.
Data Loading: The fake and true news datasets are loaded from CSV files (Fake.csv and True.csv). The datasets are combined, with a "class" column added (0 for fake news, 1 for true news).
Data Preprocessing:
Unnecessary columns (title, subject, date) are dropped.
Text data is cleaned by converting it to lowercase, removing special characters, URLs, and numbers.
The dataset is shuffled and split into training and testing sets.
Feature Extraction: The text is converted into numerical representations using the TfidfVectorizer to transform the text into term frequency-inverse document frequency (TF-IDF) vectors.
Machine Learning Models:
Logistic Regression: Achieved an accuracy of 98.78%.
Decision Tree Classifier: Achieved an accuracy of 99.53%.
Gradient Boosting Classifier: Achieved an accuracy of 99.44%.
Random Forest Classifier: Achieved an accuracy of 98.69%.
Model Evaluation: Precision, recall, f1-score, and accuracy are calculated for each model using the test dataset. All models perform well, with accuracy close to 99%.
The project demonstrates a successful implementation of multiple machine learning models for detecting fake news based on text data, with Decision Tree and Gradient Boosting performing the best.
Fixes # (issue)
Type of change

[x] Added a new machine learning frameworks, libraries or software.- Yes
[x] Documentation update- Yes

Checklist:

[x] My code follows the style guidelines of this project - Yes
[x] I have performed a self-review of my own code- Yes
[x] I have commented my code, particularly in hard-to-understand areas - Yes
[x] I have made corresponding changes to the documentation- Yes
[x] My changes generate no new warnings- Yes

@sanjay-kv  Sir, i didnt receieve any points for this merge as well. Please review once . Thanks


feat(BUX-99): custom mAPI config

Continuation of the PR https://github.com/BuxOrg/bux/pull/331

Codecov Report

Merging #259 (d4969a4) into master (4bee28c) will decrease coverage by 0.08%.
The diff coverage is 0.00%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files

@@            Coverage Diff             @@
##           master     #259      +/-   ##
==========================================
- Coverage   32.48%   32.41%   -0.08%
==========================================
  Files          41       41
  Lines        1373     1376       +3
==========================================
  Hits          446      446
- Misses        905      907       +2
- Partials       22       23       +1

Flag
Coverage Δ

unittests
32.41% <0.00%> (-0.08%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

config/config.go
100.00% <ø> (ø)

config/services.go
33.46% <0.00%> (-0.40%)
:arrow_down:

Continue to review full report in Codecov by Sentry.

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

This is not using the minercraft v2 version. If possible, please use that version.

Understood. Then I am canceling this pr. And these changes(somewhat modified, as miner's model was changed) will be added along with PR of usage of Minecraft v2, which I am working on right now


Update version to 1.0.70-8 on staging

Update version to 1.0.70-8

🚀 Deployed to staging in version: 1.0.70-8🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production in version: 1.0.73-3🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Update package.json

updating the mongoose version to work with other modules (error with how npm3 installs at a top level)
app/node_modules/json-schema-to-mongoose/node_modules/mongoose/lib/drivers/node-mongodb-native/objectid.js:8
var ObjectId = require('mongodb').BSONPure.ObjectID;
                                          ^
TypeError: Cannot read property 'ObjectID' of undefined

><EMAIL_ADDRESS>test /Users/apratt/dev/PWS/vendor-api/node_modules/json-schema-to-mongoose
> jasmine-node ./test

.....

Finished in 0.01 seconds
5 Tests, 0 Failures, 0 Skipped

Thanks @chemdrew!


upgrade com.android.support:support-vXX to version 28.0.0

@ArthurHub please release a version with Androidx support.


Image distortion on iOS

I have upgraded cropper from 2.0.1 to 2.2.1. I noticed fixes of various bugs, but there is one problem which is new.
On iOS it seems that width/height dimensions are mixed (the glass is actually much higher):

I tried various values of checkOrientation setting, but it didn't help.

I still have not idea about this (the same issue as #509).


Is there a safe abstraction to handle screen_resolution?

The examples in https://github.com/godot-rust/godot-rust/blob/master/examples/dodge_the_creeps/src/player.rs#L35 is using an unsafe code to get screen resolution to be later used as a limiting factor for player movement.
Is there implemented any safe way to handle this case?
Relevant to https://github.com/RXT0147/unnamedGame/pull/1/files#diff-ecdcefd834e7d1dafe2fe67f5f864b3b4656e5f06d4c031bc08242a40dd7647dR32

I guess you want the devs to use https://docs.rs/gdnative/0.9.1/gdnative/prelude/struct.CanvasItem.html#method.get_viewport ? Which is not marked as unsafe?

I guess you want the devs to use https://docs.rs/gdnative/0.9.1/gdnative/prelude/struct.CanvasItem.html#method.get_viewport ? Which is not marked as unsafe?

ah found https://docs.rs/gdnative/0.9.1/gdnative/prelude/struct.Ref.html#obtaining-a-safe-view

ah found https://docs.rs/gdnative/0.9.1/gdnative/prelude/struct.Ref.html#obtaining-a-safe-view

Hi @Kreyren ! In case you didn't know, we have a dedicated Discord server where you can ask quick questions like these. You can also use the #gdnative-dev channel on the Godot Engine community Discord server, which is shared by users of all languages. These channels move a lot faster than the issue tracker, which is only regularly monitored by the maintainers :)

Hi @Kreyren ! In case you didn't know, we have a dedicated Discord server where you can ask quick questions like these. You can also use the #gdnative-dev channel on the Godot Engine community Discord server, which is shared by users of all languages. These channels move a lot faster than the issue tracker, which is only regularly monitored by the maintainers :)

Noted! moved the discussion to https://discord.com/channels/723850269347283004/781453984221102081/795872172211961896

Noted! moved the discussion to https://discord.com/channels/723850269347283004/781453984221102081/795872172211961896


Improve and dogfood the dotnet core sdk support

This PR

Uses latest released .NET Core Sdk (the latest dotnet cli) preview4 to build and publish fsc
Creates a nuget package Microsoft.FSharp.Compiler.Sdk.netcore for use in .net core sdk fsproj.

Additional info, and some context about how the new msbuild/fsproj/sdk work  https://gist.github.com/enricosada/539da221ef3d87f0151d395f7889f94c
This direction will eventually lead to the removal of project.json for the Core CLR build, leading to the use of the new fsproj msbuild based, with a normal msbuild-based templates for .net core sdk projects** (so exactly like dotnet new -l fsharp -t console).
This gives us the basics we need to polish and finalize support for the new msbuild+fsproj format, and dogfood .the net core sdk fsproj in visualfsharp repo.  This will be crucial to ensure the extensibility points in the SDK are adequate for our needs.
Steps in the PR are:

install correct sdk
restore
build fsc
publish
package
test end to end of the built packages in isolation.

This PR builds and packages just fsc (not fsharp.core or fsharp.compiler) - the other already built assemblies are used as normal <Reference />. So this can be run in parallel to the existing build script for .NET Core to use the advanced functionality of .net core sdk (like publish) and the other projects
can be converted in future steps.
The script is added as additional step in build.cmd when passing the netcoresdk argument.  Generated packages are put in the usual $(Configuration)\artifacts directory.
This PR makes no changes to the current build script/code for .NET Core (the coreclr) argument, that's why all code is addition, but duplicated code is minimal.
Documentation

To use the .net core sdk script: see ./scripts/use_dotnet_core_sdk.README.md

Build script documentation: see comment at end of ./build-using-netcore-sdk.proj

Examples (to easy locally dev VF#): see examples/dotnetcoresdk/simple/README.md

The Microsoft.FSharp.Compiler.Sdk.netcore package
The Package target creates a new package Microsoft.FSharp.Compiler.Sdk.netcore with

the correct layout to be consumed by .fsproj in .net core sdk using props files who specify fsc/fsharp.build path.
these property are used by FscTask inside FSharp.NET.Sdk package.
the fsc inside build/netcoreapp1.0 is a normal console app published as framework dependent deployment.
That mean can be run with dotnet build/netcoreapp1.0/fsc.dll like all normal .net core app published with dotnet publish.
this package is tested End to End in isolation in target TestE2E

How fsc is built
The src/fsharp/Fsc/Fsc.netcore.fsproj is added.  It's a normal console app fsproj for .NET Core Sdk 1.0.0-preview4.

build coreclr (because use the fsharp.core/fsharp.compiler assemblies already built)
cd src/fsharp/Fsc
dotnet restore Fsc.netcore.fsproj --configfile Fsc.netcore.NuGet.Config (needed until the first package is on nuget.org)
dotnet publish Fsc.netcore.fsproj -c Release

NOTE: At the moment the generated fsc.dll doesnt work because is not signed correctly.  To workaround this issue for now, the already built fsc.exe is copied as fsc.dll (so the dotnet build output is overwritten) Running dotnet msbuild build-using-netcore-sdk.proj /p:Configuration=Release /t:PublishFsc will generate the fixed published fsc. This will be fixed in a later PR, see TODO
Example .NET Core sdk preview4 fsproj
This PR adds an example of a .NET Core Sdk fsproj, see examples/dotnetcoresdk/simple/README.md This can compile using both the dotnet path/to/fsc.ll (netcore) or fsc-proto.exe (.net full),
just set the FscToolPath/Exe as usual.
The Microsoft.FSharp.Compiler.Sdk.netcore can be overriden by adding as PackageReference, like in E2E tests.
Install script
All the steps are scripted using msbuild (run dotnet msbuild build-using-netcore-sdk.proj, see same file for help).    Why?

See README ./scripts/use_dotnet_core_sdk.README.md for doc
This is easy to use. Just run .\scripts\use_dotnet_core_sdk.bat (or .ps1). After that the right sdk is in PATH, so just dotnet --version
This is fast. The .net core sdk is downloaded/install only if needed. If is already in PATH (like in machine wide install) that installation is used
This gives reproducible builds. the version is always checked, if doesnt match the one in DotnetCoreSdkVersion.txt it's downlaoded and installed
in .dotnetsdk directory and added to PATH (like current install script)
The sdk used by scripts/test is always the one in PATH (because is not in a fixed path) and  easy to check with dotnet --version
This is maintenable. Download and use the official install script from http://github.com/dotnet/cli repo, when needed

Build scripts
The ./build-using-netcore-sdk.proj and in ./build/*.

Based on a simplified structure of the build script used by http://github.com/dotnet/cli
Can be run with msbuild 15, so dotnet msbuild
All phases are distinct, and new packages can be easy added.
Docs is at end of ./build-using-netcore-sdk.proj and all targets are commented about usage
Should be ok for xplat

How is tested
E2E test in isolation, based on fsharp suite.

The tests (TestE2E target) are like the one in fsharp suite (reused lot of code of fsharp suite, same dsl).
All tests methods can be run indivisually (like fsharp suite, so run fsi is an option), no xunit/nunit magic (/cc @dsyme).
Atm suite runs with dotnet run so is just a normal console app.
Use xunit (nunit doesnt work yet with dotnet vstest) but not any features of xunit, it's only based on the
official xunit test template (dotnet new -t xunittest -l fsharp)
the test use the built package to restore/build/run/pack in isolation (doesnt mess with cache) a console and a lib app.

TODO not in this pr (next one)

Fix signing issue for fsc, so the fsc.netcore.fsproj will works ok with just dotnet publish
add converted .\scripts\use_dotnet_core_sdk.ps1 as shell script .\scripts\use_dotnet_core_sdk.bat.sh
run the ./build-using-netcore-sdk.proj xplat
run tests with dotnet test (instead of dotnet run), need configuration of logging (trx) for cI, localdev
the examples/dotnetcoresdk/simple/Simple.sln doesnt reference the fsproj
minimize duplication of code (msbuild .props define), this PR prioritize parallel code instead of replace existing in one shot (safer)
fix generation of assemblyfile.fs who contains assemblyinfoattributes

/cc people for review

@dsyme the added test suite is like fsharp suite, no nunit magic, and can be fixed easy to be run by fsi

@KevinRansom that's using only released .net core sdk and packages. Add ihmo a good base to use fully the .net core sdk for build. i didnt changed/messed with internal build tools/script, so no regression. The msbuild is inside .net core sdk (dotnet msbuild), like nuget (dotnet nuget), so is using normal tools/commands provided by sdk (and used by normal devs already). workflow is the same basic of developing a .net core app with sdk, i excluded advanced like crossgen (multi framework), pack (packages are generaeted from a prepared  directory, easy to check). I think we can use some part of sdk (like publish/pack) to make it easier to create normal netcore apps (fsc) or lib (fsharp.core), without changing a lot the build script/projects.

@cartermp @brettfo this add dogfooding and enable lots of smaller steps, see TODO

@vasily-kirichenko @cloudRoutine @dungpa i hope ./examples and the easy install script will help to add support for .net core proj to vf# extension (i added you all because you develop the extension). i think lots can be done using https://github.com/dotnet/roslyn-project-system as base (easier maybe than chaning existing) and defining a fsharp capability for languageservice (maybe this require discussion in a new issue)

@forki i hope the installs script, build script are ok for contributors (feedback wanted about that), i tried to maximize (in the limits of msbuild) the readability and developer workflow (phases, simple targets, and normal project can be run directly from cli using normal dotnet commands, the same run by script)

adding https://gist.github.com/enricosada/539da221ef3d87f0151d395f7889f94c as additional docs about this PR

I'd like to know from @KevinRansom and @brettfo whether this PR looks vaguely in the right direction. A lot looks right to me but it needs to be analyzed carefully.  I spoke with @enricosada and he says it's really important to get the new Microsoft.FSharp.Compiler.Sdk.netcore package being built to unblock the dogfooding of F# support for .net core sdk fsproj.

@enricosada  I suspect very few of the people have actually use Preview 4 and the new .csproj/msbuild-based .NET Core SDK.  I had zero real context on all of this until I read this PR.

@enricosada  The duplication of build/install scripts is pretty disturbing.  I think it's heading in the right direction, since the new .fsproj needs to be supported and it make sense to do even more with MSBuild for the reasons you say.  But it would be great to see some files deleted as part of this :) We now have .bat, .sh, .travis.yml, autogen, Makefile (fsharp/fsharp) and msbuild fragments in our build logic. We need to be reducing the overall complexity.  (That said, I know why you haven't deleted anything - this is still wet paint - but I think it's a new kind of paint that's at first hard to get our head around.  And you're of course a community hero for complexity reduction, removing all those .bat files when rewriting the test drivers :) Perhaps listing all the stuff that will eventually be deeted would be helpful)

I suspect very few of the people have actually use Preview 4 and the new .csproj/msbuild-based .NET Core SDK.

yes maybe very few - but we already use it in production (with dotnet cli rc4) and it works like a charme

@enricosada Please put that information in this PR discussion - in the PR description right at the top.  I'll help you edit it into a condensed form.  We can then add it to the repo as a document, or put it on http://github.com/fsharp/fsharp.github.io as part of the compiler guide.

@enricosada   I think replacing the "build coreclr" path (rather than adding a new one) would be better - why would we keep the old one active in master?

@enricosada I think replacing the "build coreclr" path (rather than adding a new one) would be better - why would we keep the old one active in master?

No reason at all, is just another pr (i can do that) because i fear big one shot changes.
I can replace build coreclr completly adding new fsproj in parallel, and use .net core to build it. That remove all complexity for coreclr from fsproj/build script (see below).
Build artifacts (fsc.dll, fsharp.core.dll, etc) can be placed in expected directories, so rest of build.cmd doesnt change.
that was my idea, just splitted in two PR (this is the first one)

@enricosada I suspect very few of the people have actually use Preview 4 and the new .csproj/msbuild-based .NET Core SDK. I had zero real context on all of this until I read this PR.

The csproj VS tooling is out of preview in VS2017 RC3. the sdk itself is really near rtm.
I'll probably use that at work too when VS2017 goes RTM, to replace our current aspnetcore with project.json and VS2015 btw (and we use it with .NET FW/iis, not .net core).
For c# guys is better, and they are gonna use that, because msbuild format is easier than project.json (less alien). Also VS2017 already support it, so is not difficult to sell at all.

@enricosada Could you publish a prelim version of Microsoft.FSharp.Compiler.Sdk.netcore yourself? Or is the signing issue to problematic?

I can do that, that's what the build script does btw. I just need to change the name, but is not a problem. can be put inside FSharp.Compiler.Tools too (so it support netcore and net40).
I can generate the package with script, and overwrite the assemblies with the signed one generated by build coreclr . result is here in dev feed, i already use that to boostrap things (because easier).
Working example using dev feed are inside this PR
cd examples\dotnetcoresdk\simple\console
dotnet restore
dotnet run

@enricosada The duplication of build/install scripts is pretty disturbing.
Perhaps listing all the stuff that will eventually be deleted would be helpful.

There are two parts, build script orchestration and project files. Fsc.fsproj is a proj, but build require nuget restore/packaging/signing/runtests. That can be offloaded to .net core sdk. Some deletion will
greatly simplify files, but not remove it completly
I cannot migrate project files until VS support new fsproj, but we can simplify greatly current script. It's ortogonal to my pr (needed to improve sdk), can be done anyway (just give me a go).
I assume i will build the .net core version of components with new fsproj and sdk, so we remove current complexities in old fsproj.
I assume build orchestration goes in a msbuild .proj, using the sdk featuers (like my pr)
I assume all stuff like restore/packaging/runtests will be executed by .net core sdk
To delete:

msbuild location code -> dotnet msbuild
.nuget directory => dotnet nuget
Tools directory (minus specific stuff like localitazion target) because is pratically a custom packaged version of the sdk. And not used because new fsproj build netcore. Signing is already support by sdk.
init-tools and install script, useless, because are a custom version of the official .net core install script (same features)
all project.json
all netcore related stuff
tests runner from build script complexity => dotnet run or dotnet test

it's possibile to dotnet build the old fsproj (will use normal targets), just use the new msbuild.exe. That remove lot of complexity in build script. and make easier to run xplat
Old fsproj in parallel to new fsproj. used for .net core. Common properties like defines can be shared using specific .props file (like my pr)
Having both side by side, the new fsproj can also include build of net40 too, so when vs support it, we can just remove the old one.
Note, the .NET Core SDK can build ALL framework, so .NET Framework, .NET Core, Portalble profiles, etc in same fsproj. is not only for netcore.
And dotnet build -> dotnet msbuild /t:Build, no magic

where is msbuild? dotnet msbuild
where is nuget? dotnet nuget
restore all needed packages? dotnet restore --packages /path/to/save/packages (aftet that the fsproj know that path, no need to manually fix reference)
build fsc as net40? dotnet build src\fsharp\fsc\fsc.fsproj -f net40 -c Release
generate the fsharp core package? dotnet pack src\fsharp\fsharp.core\fsharp.core.fsprj -c Release /p:Version=<IP_ADDRESS> (the package metadata are property inside fsproj, or extenal props file, or from cmdargs)

like before, it's msbuild so following works:

build fsc as using proto? dotnet build src\fsharp\fsc\fsc.fsproj -f netcoreapp1.0 -c Release /p:FscPath=protodir/fsc.exe
run cambride test? dotnet run tests\fsharp\FSharp.Tests.FSharpSuite.fsproj (or dotnet test for nunit like experience, with logs/filter/etc). Will continue to work from fsi obv.

The same build workflow can be used by developers too

cd src/fsharp/Fsc
dotnet restore
dotnet run -f net40 //build all deps, run fsc for net40
dotnet publish -f netcoreapp1.0 //build all deps, save in a dir an xcopy deployable fsc for .netcore
dotnet publish -f net40 //build all deps, save in a dir an xcopy deployable fsc for .net 40

@enricosada The list of TODOs is a bit confusing. Could you edit them to make them crystal clear? To accept the PR we will need to know exactly what remains to be done.

will do, and fix merge conflict

@enricosada

I can replace build coreclr completly adding new fsproj in parallel, and use .net core to build it. That remove all complexity for coreclr from fsproj/build script (see below).

I think that would be better.  Then the PR will act as a definitive guide even if @KevinRansom decides to do the whole thing a bit differently in the end.  The PR should then contain all the necessary updates to the build and getting started material too (some of which you've written above)
Looking at all those commands above there's a lot to learn.  TBH I don't even know the difference between dotnet msbuild and dotnet build :) ?

As a note, to continue fsproj/sdk work, i'll use FSharp.Core and Fsharp.Compiler.Tools packages. as detailed in https://github.com/dotnet/netcorecli-fsc/wiki/Roadmap /cc @dsyme
We can discuss how to continue this pr to use sdk inside visualfsharp repo later, so is not urgent for fsproj/sdk/netcore like was before ( /cc @cartermp ).
More one-shot work for me instead of integrated+scripted+tested inside this repo, but at least i can continue to finalize fsproj 😄 (was that the goal)

Closing this.
Used FSharp.Core and FSharp.Compiler.Tools packages, for FSharp.NET.Sdk v1.0.0.
Will rework this PR to use .net core sdk 1.0 rtm in build to replace build coreclr, later, after discussion with vf# team on how to proceed. if needed, otherwise np.

Noone from Redmond commented on this? Not interested?


Android device failures on CI are reported as individual test failures."adb push" errors in CI

This kind of error is showing up on many ARM bots:
--- Command "adb_precompilation" (took 19:11.000430s):
Steps to push precompiled runner and precompiled code to an attached device. Uses (and requires) adb.

exit code:
255

stdout:
Executing adb -s 0cbdbc6c0c371b48 shell rm -Rf /data/local/tmp/precompilation-testing/test ; echo AdbShellExitCode:  $?
ExitCode: 0
Time: 0:19:11.363898

Executing adb -s 0cbdbc6c0c371b48 shell mkdir -p /data/local/tmp/precompilation-testing/test ; echo AdbShellExitCode:  $?
Stderr:
error: device not found
ExitCode: 255
Time: 0:00:00.007772

See:
https://logs.chromium.org/logs/chromium/bb/client.dart/vm-kernel-precomp-android-release-3-3-be/1612/+/recipes/steps/test_vm/0/stdout
https://logs.chromium.org/logs/chromium/bb/client.dart/vm-kernel-precomp-android-release-1-3-be/1549/+/recipes/steps/test_vm/0/stdout
https://logs.chromium.org/logs/chromium/bb/client.dart/vm-kernel-precomp-android-release-2-3-be/1497/+/recipes/steps/test_vm/0/stdout

Another adb-related error happened today on vm-kernel-precomp-android-release-3-3-be bot (log):
Unhandled exception:
Exception: Running: adb -s 0cbdbc6c0c371b48 push out/ReleaseAndroidARM/dart_precompiled_runtime /data/local/tmp/precompilation-testing/dart_precompiled_runtime failed:stdout:

stderr:
  protocol failure
exitCode: 1
timedOut: false
#0      AdbCommandResult.throwIfFailed (package:test_dart/android.dart:33:7)
#1      AdbDevice._adbCommand (package:test_dart/android.dart:378:12)
<asynchronous suspension>
#2      AdbDevice.pushCachedData (package:test_dart/android.dart:260:12)
#3      CommandExecutorImpl._runAdbPrecompilationCommand.<anonymous closure> (package:test_dart/test_runner.dart:1274:16)
#4      CommandExecutorImpl._runAdbPrecompilationCommand (package:test_dart/test_runner.dart:1304:25)
<asynchronous suspension>
#5      CommandExecutorImpl._runCommand.<anonymous closure> (package:test_dart/test_runner.dart:1232:16)
#6      _RootZone.runUnary (dart:async/zone.dart:1379:54)
#7      _FutureListener.handleValue (dart:async/future_impl.dart:126:18)
#8      Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:639:45)
#9      Future._propagateToListeners (dart:async/future_impl.dart:668:32)
#10     Future._complete (dart:async/future_impl.dart:473:7)
#11     _SyncCompleter.complete (dart:async/future_impl.dart:51:12)
#12     _AsyncAwaitCompleter.complete.<anonymous closure> (dart:async/runtime/libasync_patch.dart:33:20)
#13     _microtaskLoop (dart:async/schedule_microtask.dart:41:21)
#14     _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5)
#15     _Timer._runTimers (dart:isolate/runtime/libtimer_impl.dart:391:30)
#16     _Timer._handleMessage (dart:isolate/runtime/libtimer_impl.dart:416:5)
#17     _RawReceivePortImpl._handleMessage (dart:isolate/runtime/libisolate_patch.dart:171:12)
step returned non-zero exit code: 255

Now these errors appear as exceptions in AdbDevicePool.create (log1, log2):
  Unhandled exception:
  Exception: No android devices found. Please make sure "adb devices" shows your device!
  #0      AdbDevicePool.create (package:test_dart/android.dart:440:7)
  <asynchronous suspension>
  #1      testConfigurations (package:test_dart/test_configurations.dart:242:41)
  <asynchronous suspension>
  #2      main (package:test_dart/main.dart:37:3)
  #3      _startIsolate.<anonymous closure> (dart:isolate/runtime/libisolate_patch.dart:287:32)
  #4      _RawReceivePortImpl._handleMessage (dart:isolate/runtime/libisolate_patch.dart:171:12)

We had a failure today where multiple tests failed in the chmod stage, so the test could not be made executable.  This disappeared in the next commit.  Build with failures is
https://ci.chromium.org/p/dart/builders/ci.sandbox/vm-kernel-precomp-android-release-arm/878
FAILED: dartkp-dart_precompiled release_arm language_2/mixin_mixin_bound_test
Expected: Pass
Actual: Fail
Executing adb -s 0528efb90a2869a3 shell chmod 777 /data/local/tmp/precompilation-testing/dart_precompiled_runtime /data/local/tmp/precompilation-testing/process_test ; echo AdbShellExitCode:  $?
Stdout:
Unable to chmod /data/local/tmp/precompilation-testing/dart_precompiled_runtime: Operation not permitted
AdbShellExitCode: 10
ExitCode: 10
Time: 0:00:00.096179
--- Re-run this test:
python tools/test.py -n dartkp-android-release-arm language_2/mixin_mixin_bound_test

Still seeing "Exception: No android devices found. Please make sure "adb devices" shows your device!" on vm-kernel-precomp-android-release-arm bot: log1, log2.
  Test configurations:
      dartkp-android-release-arm(architecture: arm, compiler: dartkp, mode: release, runtime: dart_precompiled, system: android, vm-options: [], dart2js-options: [], timeout: null, preview-dart-2, use-blobs)
  Suites tested: samples, standalone, standalone_2, corelib_2, language_2, vm, benchmark_smoke, utils, lib_2, analyze_library, service, kernel, ffi
      dartkp-android-release-arm(architecture: arm, compiler: dartkp, mode: release, runtime: dart_precompiled, system: android, vm-options: [], dart2js-options: [], timeout: null, preview-dart-2, use-blobs)
  Suites tested: observatory_ui
  Unhandled exception:
  Exception: No android devices found. Please make sure "adb devices" shows your device!
  #0      AdbDevicePool.create (package:test_dart/android.dart:440:7)
  <asynchronous suspension>
  #1      testConfigurations (package:test_dart/test_configurations.dart:242:41)
  <asynchronous suspension>
  #2      main (package:test_dart/main.dart:37:3)
  #3      _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:298:32)
  #4      _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:171:12)

Another "Exception: No android devices found. Please make sure "adb devices" shows your device!"  on  vm-kernel-precomp-android-release-arm.

To fix this problem, we need to detect failing android devices (maybe disk full, who knows why) and quarantine them. We could try an auto-reboot, or just send a log message about them.  The main thing is not to report it as a failure of an individual test.  This should be a higher priority, I think.

This isn't adb devices related, but is still adb related. We got a batch of adb chmod errors on vm-kernel-precomp-android-release-arm this weekend during a single build (logs).
Example test log:
  /===============================================================\
  | lib_2/convert/codec1_test broke (Pass -> Fail, expected Pass) |
  \===============================================================/

  --- Command "vm_compile_to_kernel []" (took 01.000263s):
  DART_CONFIGURATION=ReleaseAndroidARM /b/swarming/w/ir/pkg/vm/tool/gen_kernel --aot --platform=out/ReleaseAndroidARM/vm_platform_strong.dill -o /b/swarming/w/ir/out/ReleaseAndroidARM/generated_compilations/dartkp/tests_lib_2_convert_codec1_test/out.dill /b/swarming/w/ir/tests/lib_2/convert/codec1_test.dart --packages=/b/swarming/w/ir/.packages -Ddart.developer.causal_async_stacks=true

  exit code:
  0

  --- Command "precompiler" (took 02.000935s):
  DART_CONFIGURATION=ReleaseAndroidARM out/ReleaseAndroidARM/clang_x86/gen_snapshot --snapshot-kind=app-aot-blobs --blobs_container_filename=/b/swarming/w/ir/out/ReleaseAndroidARM/generated_compilations/dartkp/tests_lib_2_convert_codec1_test/out.aotsnapshot --no-sim-use-hardfp --ignore-unrecognized-flags --packages=/b/swarming/w/ir/.packages /b/swarming/w/ir/out/ReleaseAndroidARM/generated_compilations/dartkp/tests_lib_2_convert_codec1_test/out.dill

  exit code:
  0

  --- Command "remove_kernel_file" (took 8ms):
  DART_CONFIGURATION=ReleaseAndroidARM rm /b/swarming/w/ir/out/ReleaseAndroidARM/generated_compilations/dartkp/tests_lib_2_convert_codec1_test/out.dill

  exit code:
  0

  --- Command "adb_precompilation" (took 317ms):
  Steps to push precompiled runner and precompiled code to an attached device. Uses (and requires) adb.

  exit code:
  10

  stdout:
  Executing adb -s 0bcd0b1e0330103a shell rm -Rf /data/local/tmp/precompilation-testing/test ; echo AdbShellExitCode:  $?
  Stdout:
  AdbShellExitCode: 0
  ExitCode: 0
  Time: 0:00:00.057111

  Executing adb -s 0bcd0b1e0330103a shell mkdir -p /data/local/tmp/precompilation-testing/test ; echo AdbShellExitCode:  $?
  Stdout:
  AdbShellExitCode: 0
  ExitCode: 0
  Time: 0:00:00.091531

  Executing Skipped cached push
  ExitCode: 0
  Time: 0:00:00.000034

  Executing Skipped cached push
  ExitCode: 0
  Time: 0:00:00.000008

  Executing adb -s 0bcd0b1e0330103a shell chmod 777 /data/local/tmp/precompilation-testing/dart_precompiled_runtime /data/local/tmp/precompilation-testing/process_test ; echo AdbShellExitCode:  $?
  Stdout:
  Unable to chmod /data/local/tmp/precompilation-testing/dart_precompiled_runtime: Operation not permitted
  AdbShellExitCode: 10
  ExitCode: 10
  Time: 0:00:00.090188

  --- Re-run this test:
  python tools/test.py -n dartkp-android-release-arm lib_2/convert/codec1_test

--- Command "adb_precompilation" (took 09.000386s):
Steps to push precompiled runner and precompiled code to an attached device. Uses (and requires) adb.
exit code:
-9

This is no longer flaky: vm-kernel-precomp-android-release-arm64 bot failed many times in a row with the same error:
 Unhandled exception:
 Exception: No android devices found. Please make sure "adb devices" shows your device!
 #0      AdbDevicePool.create (package:test_runner/src/android.dart:386:7)
 <asynchronous suspension>
 #1      testConfigurations (package:test_runner/src/test_configurations.dart:238:41)
 <asynchronous suspension>
 #2      main (file:///b/swarming/w/ir/pkg/test_runner/bin/test_runner.dart:39:5)
 #3      _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:303:32)
 #4      _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:172:12)

Similar failures also appeared on vm-ffi-android-debug-arm64 and vm-ffi-android-release-arm64 bots.

whesse@ landed a change today that makes the test runner exit if an ADB command fails (instead of "Fail"ing the test and most likely all following tests). This prevents those failures from turning into real test results that create noise on the results feed. When that happens, the builder will also go purple instead of red, which makes it easier to see whether there was an infra or test failure.


Some points I found while reading the code

Hi, thanks for your project!
I considered using it but decided to pipe out to the lz4 utility instead (for now). Yet, I wanted to write downs some points so that the time I spent reading its code does not go unused.
(I maintain the Haskell binding to lz4frame.h and thus am familiar with the fact that the lz4 API can be tricky, and I'm also interested in double-checking whether my understanding is correct to improve my own library if they aren't.)
These are the points/questions:

Potential memory leak:
The constructor output_buffer(std::ostream &sink) seems to be able to throw in the last function it calls, write_header();. When that happens, LZ4F_createCompressionContext() will have malloc'ed a ctx_ and the destructor will not be called to free it. Now I'm not very sure whether write_header() will throw beyond the explicit throw that the library does, which should not happen unless there's a bug. Is it possible for sink_.write() to throw in any situation, or will failures (such as bad_alloc, disk full, TCP client closed the connection of the downstream stream) always be silent?
In any case, it may make sense to make a guaranteed non-throwing write_header() for use in the constructor, and ensure all control flow paths out of the constructor past the ctx_ creation call LZ4F_freeCompressionContext(ctx_).
The implementation seems to do a multiple function calls and a stream yield for each incoming byte (overflow() uses pbump(1)), which seems extremely inefficient given that overflow() is virtual. Is this correct, or am I missing something?
The 256 bytes buffer by default seems quite small. What motivated that value?
In this line https://github.com/laudrup/lz4_stream/blob/6b015cbe786291733b6f3aa03e45d307bc4ae527/include/lz4_stream.h#L120 it's using sink_.write() even though the output buffer may be empty (somewhat inefficient), because the lz4 context has an internal buffer. Would it make sene to skip the write() in that case?
In this line https://github.com/laudrup/lz4_stream/blob/6b015cbe786291733b6f3aa03e45d307bc4ae527/include/lz4_stream.h#L65 it might be beneficial to + LZ4F_HEADER_SIZE_MAX for efficiency, to ensure both the header and the first chunk fit into the allocated buffer (like I do in Haskell here).
The examples like lz4_compress.cpp don't do any error handling, like complaining when the input file does not exist or when the output file cannot be written to. They exhibit somewhat funny behaviour, such as that ./lz4_compress nonexistent outfile generates some bytes into out even though the input file does not exist, and it starts reading the input file even after the openat() syscall has already failed (checked with strace). While that's not a real problem, it can be confusing if you're playing the the example and thinking that it's working, when silent failure is actually happening.

Thanks for taking a look!

Hi Niklas,
Thanks a lot for your comments. It's very nice to have someone look at your code especially when they can come with such useful comments like you do.

That's is correct and something I remember I wanted to look into but never got around to it. It might be possible to fix by wrapping ctx_ in a unique_ptr, but I would have to look into the details.

I don't think you're missing anything. It does indeed sound very inefficient which is especially problematic considering lz4 primary design goal i performance. That should definitely be fixed.

Nothing motivated that value. I have no idea why I chose that size, no benchmarking or anything has been done to chose that.

Sounds reasonable. Would be extra nice if the unittest could be extended to handle that case.

Also sounds very reasonable.

I guess I just wanted the example programs to be as simple as possible, but you are quite right that they might be a bit too simple :-) Failing silently is never good.

Thanks once again for some very, very useful comments and thanks even more for providing a pull request (which I'll look into shortly).
I cannot promise when I'll have time to look into it, so I'll be very happy to receive more pull requests.
Kind regards,
Kasper

Thanks for you reply!

It might be possible to fix by wrapping ctx_ in a unique_ptr, but I would have to look into the details.

When I made PR #6 I also first tried with unique_ptr, but I realised it does not really work nicely because the LZ4F_decompressionContext_t is already the pointer type and the T in unique_ptr<T> would have to contain what that's pointed to (struct LZ4F_dctx_s), which would mean operating on things that don't look like part of the familar public LZ4 API. So I decided to do the simple explicit RAII approach instead with the added decompression_context.

I don't think you're missing anything. It does indeed sound very inefficient which is especially problematic considering lz4 primary design goal i performance. That should definitely be fixed.

Do you have a good resource to learn exhaustively about how C++ streams work? I understand the part that lz4_stream currently uses, but in a somewhat related project, where we try to combine streams of boost_archive and boost_process to pipe a serialisation stream into a stream that spawns the lz4 command line utility, we get odd exceptions in sync() and strace shows a write(fd=-1, "", count=0) = EBADF syscall, which seems clearly wrong. Most resources I've found so far just talk about stream basics and do not fully describe how one writes a very good, high-performant stream implementation.

Nothing motivated that value. I have no idea why I chose that size, no benchmarking or anything has been done to chose that.

OK. That may be interesting to look into in the future.
There are 2 things to consider:

The buffer size interfacing with the C++ streaming framework.
The buffer size interfacing with lz4.

You currently use SrcBufSize = 256 for both; it determines the src_buf_.size() which is then given to both setp() and dest_buf_(LZ4F_compressBound(src_buf_.size(), ...)). It would theoretically also be possible to decouple the two, using different sizes for those two concepts, but I don't know whether it would be beneficial.
For (1), the main data I've found so far is https://stackoverflow.com/questions/12997131/stdfstream-buffering-vs-manual-buffering-why-10x-gain-with-manual-buffering, where the second graph shows that < 1024 is very fast. One of the answers explains that this is due to hardcoded constants and the syscall implementaiton in the fstream implementation; though I do not fully follow the second answer (it suggests that the way writev() is used changes but doesn't really seem clear to me, nor could I find it in the code).
For (2), I don't know yet how the lz4 performance changes with buffer size and what the call overhead is, but I imagine that call overhead can be significant at 256 bytes buffers because the function usually lives in liblz4.so so no inlining is done and it's a real jump.

Sounds reasonable. Would be extra nice if the unittest could be extended to handle that case.

:heavy_check_mark:

Also sounds very reasonable.

:heavy_check_mark:

I guess I just wanted the example programs to be as simple as possible, but you are quite right that they might be a bit too simple :-) Failing silently is never good.

PR #6 fixes the silent failures by use of stream.exceptions(badbit).
It's still not great because C++'s stream exception handling is pretty poor on error reporting, e.g. a no space left on device manifests only as:
 % ./lz4_dropin < /bigfile > ramdisk/out.lz4
terminate called after throwing an instance of 'std::__ios_failure'
  what():  basic_ios::clear: iostream error

It seems quite difficult to reliably get errno out of C++, and many functions don't even document whether or not it is set.

Since #6 addresses 2 of the 6 points, I propose we keep this issue open and post updates/info on the other points as we find them.

The 256 bytes buffer by default seems quite small.

I've done a super quick unsophisticated test with /usr/bin/time and lz4_dropin, which suggests that

compression is 10% slower than lz4
decompression is 2x slower than lz4

If I set the buffers to 16 KiB like
template <size_t SrcBufSize = (4096*4)>
class basic_ostream : public std::ostream

template <size_t SrcBufSize = (4096*4), size_t DestBufSize = (4096*4)>
class basic_istream : public std::istream

then the performance difference is almost completely gone.


Make topnav armed/disarmed actionable menu button

Armed/disarmed button is currently info only.  Make it actionable to arm/disarm a vehicle.

https://github.com/goodrobots/maverick-api/issues/102


"Please do not do this in a production environment"

Hi, what's the recommended use for a production environment (intranet)?
In issue #31 you mention using ("#someElem").show().slabText() to reduce JS overhead
I'm only using local webfonts files (no internet, no loading of Google Fonts)
thx :+1:

The demo has been updated to use google font loader. You can always fallback to the onload event if a webfont loader isn't available


⚠ Fortnite has degraded performance

In 43baffa, Fortnite (https://fortnite.com) experienced degraded performance:

HTTP code: 200
Response time: 1646 ms

Resolved: Fortnite performance has improved in 0cbe116.


Support for Terraform repositories

We need to add support for Terraform and Terraform BE repositories.
https://www.jfrog.com/confluence/display/JFROG/Terraform+Repositories

Hey, @danielmkn do you have an ETA on this at all?

Hi! @ChocPanda, we will work on that in the current sprint. Thanks!

Amazing, thanks @danielmkn this will be a huge help


TFlu: Remove Docker dependency for stm32f4 target

This isn't necessarily ready for merging but is an approach that might be useful to adopt to make it possible to run unit tests via renode as part of the CI system.

@mansnils, I created a PR from your branch so that its easier for us to see the changes needed. This is a good reference for us and we'll pick this up once we have some more bandwidth.

@advaitjain Can you please sign CLA. Thanks!

Closing the current PR in favor of https://github.com/tensorflow/tensorflow/pull/44080


Kim mb 2187 weight estimates redux refactor

Description
The replaces getPpmWeightEstimate in the ducks.js with a function call in Entities/modules.  It also sets hasEstimateError in the component state or uses the request status (getRequestStatus) to check for error.
Reviewer Notes
I get the error boolean through both component state and through getRequestStatus.  Not sure if it's. better to just get it from one place.
Setup
Tricky parts were making sure the incentive range showed up properly, with the most updated one, on the landing page after making changes in the payment request.
As a service member, walk through creating a PPM and submitting a payment request for a move.  Make sure the landing page shows properly for each.  (may need to go to landing page at different points to make sure all is rendering as expected.
I use<EMAIL_ADDRESS>for creating a PPM.
I use<EMAIL_ADDRESS>for requesting a payment.  Or walk all the way through.
echo "Code goes here"

Code Review Verification Steps

[ ] There are no aXe warnings for UI.
[ ] This works in Supported Browsers and their phone views (Chrome, Firefox, IE, Edge).
[ ] Request review from a member of a different team.
[ ] Have the Jira acceptance criteria been met for this change?

References

Jira story for this change

Warnings

:warning:

Please include the Jira ID at the start of the title with the format MB-123 or [MB-123]

  Generated by :no_entry_sign: dangerJS against f77bee5921e8d28f5dacc1d6555994fdec81cee7


Emit tasklist tag for workflow completion event

Coverage increased (+0.8%) to 67.617% when pulling 29300ef1bb5445d66b64171f30c9bf8d4161c333 on tasklist-tag into 62eacc8da31516c5f5a1fb044f99f5d1c090f81f on master.


[WIP]Directly run a playbook

Replaces #16060
Usage: ManageIQ::Providers::EmbeddedAnsible::AutomationManager::Playbook#run(options, userid)
The return is a task id that you can use to track the playbook execution progress.
Has dependency on https://github.com/ManageIQ/manageiq-providers-ansible_tower/pull/25

@tinaafitz please test.

@miq-bot add_label wip

@miq-bot remove_label wip
@miq-bot add_label enhancement


Proper way to define the module

Hi guys,
Can we please include a proper way to define the module, so it actually starts working everywhere? Something like:
(function (name, definition){
    if (typeof define === 'function'){ // AMD
        define(definition);
    } else if (typeof module !== 'undefined' && module.exports) { // Node.js
        module.exports = definition(require);
    } else { // Browser
        var theModule = definition(), global = this, old = global[name];
        theModule.noConflict = function () {
            global[name] = old;
            return theModule;
        };
        global[name] = theModule;
    }
})('EventEmitter3', function (require, exports, module) {
    // the real code here
});

Right now I cannot use it withing AMD environment, which is a total shame!
If you don't like it - just tweak the code a little, like not adding it to the global scope if it's for the browser, and just return the newly defined "module", so that very simple and basic usage can be achieved with no pollution at all.

Possible duplicate of #36, #30, #22.

Well no, because @3rd-Eden added https://github.com/primus/eventemitter3/commit/b59a4cc67c8f2d7542465104b37ba48bff7d65c7
Module check is there, but this is not AMD module, rather than node-style module export.

Linking @jcrugzz's comment in #30.

Closing this, please comment or reopen if needed.


fluid:telemetry:OdspDriver:DeltaConnection:GetOpsTooMany errors

0.49.2 version of driver has these events, they point to an error in logic somewhere - need to take a look.
I believe they are in prior versions of driver, but are not of error category.

union Office_Fluid_FluidRuntime_*
| where Data_containerId == "1be12811-3f4c-49f8-83df-133b3174e2b0"
| project Event_Sequence, Event_Time, Data_eventName, Data_errorType, Data_error, Data_reason, Data_from, Data_to, Data_length, Data_opsFromSnapshot, Data_opsFromCache, Data_opsFromStorage, Data_sequenceNumber, Data_checkpointSequenceNumber
| order by Event_Time asc
This case is interesting, as we non-stop ask for 5K ops even though we already connected to socket and know we need just 716 - 26. That said, we are not getting any ops at all, which is a second problem.
I believe this is due to code in processPendingOps() fetching missing ops if we are not getting anything.
But why we are not getting anything from anywhere?
This is pretty recent, 2021-10-26T20:14:54.933Z.
clientId = 4cf4e5f9-14d1-4f78-9e9b-a7091dcb1538
@GaryWilber, can you please take a look?
It looks like we are getting only up to 27th op, while checkpointSequenceNumber = 716, so we keep banging storage & PUSH for more ops in infinite loop

I think I have a theory what might be happening.
If we issue a lot of request in a row, then we will start hitting a limit of 5 requests we track at any time.
As result, we would start deleting info about old requests. And when response comes back, we will simply not process it, as there is no matching record for it.
Because we are asking for 5K ops, I'd guess it takes PUSH long to respond (even though data suggests there are ~700 ops total available), and that causes client to cycle through without every processing response (whenever it comes in).
Does this sounds believable?

I'll resolve it, as I believe most of the issues are covered by above PR. We will monitor data and will open new issues (on as needed bases) when new info is available.


Update sbt-typelevel-no-publish to 0.6.6

About this PR
📦 Updates org.typelevel:sbt-typelevel-no-publish from 0.4.20 to 0.6.6
📜 GitHub Release Notes - Version Diff
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.typelevel", artifactId = "sbt-typelevel-no-publish" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "org.typelevel", artifactId = "sbt-typelevel-no-publish" }
}]

labels: sbt-plugin-update, early-semver-major, semver-spec-minor, version-scheme:early-semver, commit-count:1

Superseded by #266.


Update applications.json

Fix typo

Project URL

N/A
Category

N/A
Description

Fix typo in Product Hunt description
Why it should be included to Awesome macOS open source applications  (optional)
Grammatical correctness
Checklist

[X] Edit applications.json instead of README.md.
[X] Only one project/change is in this pull request
[ ] Screenshots(s) added if any
[ ] Has a commit from less than 2 years ago
[ ] Has a clear README in English

@AndroidKitKat Thank you! 👍


settings: Allow switching between user and org settings manually.

Since the base hash for org settings and user settings are
different (organization and settings), the hashchange module
gets confused that we are going from one overlay to other.
So, we fix this by making an exception for this particular case
in the module.
https://chat.zulip.org/#narrow/stream/9-issues/topic/keyboard.2Fa11y.20broken.20in.20mini-profile

@amanagr can you rebase this after the hashchange module split merged yesterday?

Merged, after expanding the commit message to make the reproducer more clearly explained, and also link to but not close #18011. Thanks @amanagr!


ENH: Make locationcodes agnostic as to where the location categorizations are stored

Description
It doesn't make sense that the locationcodes module should dictate a particular storage structure for location code categorizations.

The module was removed with https://github.com/Jython1415/zolltools/pull/140/commits/2543703acb23abe1544f7a3e0383ac5d02a49a52 so it be argued that this issue has been addressed.

Closing because the location code module with be removed completely.


Resume Download after app was closed

I use the FileDownloadSerialQueue class to download multiple files. The FileDownloadSerialQueue is started within a service, and BaseTasks are added dynamically to the queue (if the user decides to download multiple files). How can I i resume/restart the download when the user kills the app?

Just restart tasks, FileDownloader will start downloading from breakpoint.


websocket profile created but not attached to virtual server

Environment

Application Services Version: f5-appsvcs-3.22.1-1.noarch
BIG-IP Version: BIG-IP 15.1.0 Build 0.0.31 Final

Summary
When we create a HTTP_Profile to enable websocket support on a virtual server and add this http profile to the Service_HTTPS we can see that after applying the AS3 config a websocket profile is created "f5_appsvcs_selective" but it is not applied to the virtual server
Steps To Reproduce
Steps to reproduce the behavior:

Submit the following declaration:

{
    "TEST": {
        "Shared": {
            "enable": true,
            "template": "shared",
            "testWebsocket": {
                "proxyType": "reverse",
                "multiplexTransformations": true,
                "responseChunking": "selective",
                "xForwardedFor": true,
                "trustXFF": false,
                "truncatedRedirects": false,
                "knownMethods": [
                    "CONNECT",
                    "DELETE",
                    "GET",
                    "HEAD",
                    "LOCK",
                    "OPTIONS",
                    "POST",
                    "PROPFIND",
                    "PUT",
                    "TRACE",
                    "UNLOCK"
                ],
                "webSocketsEnabled": true,
                "hstsPreload": false,
                "unknownMethodAction": "allow",
                "hstsInsert": false,
                "pipelineAction": "allow",
                "hstsPeriod": 7862400,
                "viaResponse": "remove",
                "maxHeaderSize": 32768,
                "viaRequest": "remove",
                "webSocketMasking": "selective",
                "maxHeaderCount": 64,
                "class": "HTTP_Profile",
                "maxRequests": 0,
                "serverHeaderValue": "BigIP",
                "requestChunking": "preserve",
                "hstsIncludeSubdomains": true,
                "rewriteRedirects": "none"
            },
            "class": "Application"
        },
        "defaultRouteDomain": 1101,
        "class": "Tenant",
        "EH": {
            "testvip_443": {
                "persistenceMethods": [
                    "cookie"
                ],
                "mirroring": "none",
                "serverTLS": "/TEST/Shared/serverTLSprofile",
                "profileTCP": "normal",
                "translateServerAddress": true,
                "clientTLS": [
                    {
                        "bigip": "/Common/serverssl-insecure-compatible"
                    }
                ],
                "lastHop": "default",
                "virtualAddresses": [
                    {
                        "use": "testvip"
                    }
                ],
                "snat": {
                    "use": "/EH/Shared/testvip"
                },
                "enable": true,
                "shareAddresses": false,
                "profileHTTP": {
                    "use": "/EH/Shared/testWebsocket"
                },
                "translateClientPort": false,
                "virtualPort": 443,
                "addressStatus": true,
                "class": "Service_HTTPS",
                "pool": "",
                "layer4": "tcp",
                "virtualType": "standard",
                "nat64Enabled": false,
                "translateServerPort": true,
                "maxConnections": 0
            },
            "enable": true,
            "template": "generic",
            "class": "Application"
        }
    },
    "remark": "test-remark",
    "id": "testid",
    "schemaVersion": "3.21.0",
    "class": "ADC",
    "updateMode": "selective",
    "controls": {
        "archiveTimestamp": "2020-09-15T09:54:34.352Z"
    }
}

Observe the following error response:

profile created but no applied to the virtualserver
Expected Behavior
Actual Behavior

The declaration  you provided appears to be missing some pieces:
{
    "code": 422,
    "errors": [
        "/TEST/EH/testvip_443/profileHTTP/use: contains path to non-existent object EH"
    ],
    "declarationFullId": "",
    "message": "declaration is invalid"
}

Hi @dstokesf5 I corrected the example, this should be a valid example that still has the issue.
{     "TEST": {         "Shared": {             "enable": true,             "template": "shared",             "testWebsocket": {                 "proxyType": "reverse",                 "multiplexTransformations": true,                 "responseChunking": "selective",                 "xForwardedFor": true,                 "trustXFF": false,                 "truncatedRedirects": false,                 "knownMethods": [                     "CONNECT",                     "DELETE",                     "GET",                     "HEAD",                     "LOCK",                     "OPTIONS",                     "POST",                     "PROPFIND",                     "PUT",                     "TRACE",                     "UNLOCK"                 ],                 "webSocketsEnabled": true,                 "hstsPreload": false,                 "unknownMethodAction": "allow",                 "hstsInsert": false,                 "pipelineAction": "allow",                 "hstsPeriod": 7862400,                 "viaResponse": "remove",                 "maxHeaderSize": 32768,                 "viaRequest": "remove",                 "webSocketMasking": "selective",                 "maxHeaderCount": 64,                 "class": "HTTP_Profile",                 "maxRequests": 0,                 "serverHeaderValue": "BigIP",                 "requestChunking": "preserve",                 "hstsIncludeSubdomains": true,                 "rewriteRedirects": "none"             },             "class": "Application"         },         "class": "Tenant",         "EH": {             "testvip_443": {                 "persistenceMethods": [                     "cookie"                 ],                 "mirroring": "none",                 "profileTCP": "normal",                 "translateServerAddress": true,                 "serverTLS": [                     {                         "bigip": "/Common/clientssl-insecure-compatible"                     }                 ],                 "clientTLS": [                     {                         "bigip": "/Common/serverssl-insecure-compatible"                     }                 ],                 "lastHop": "default",                 "virtualAddresses": [                     "::"                 ],                 "enable": true,                 "shareAddresses": false,                 "profileHTTP": {                     "use": "/TEST/Shared/testWebsocket"                 },                 "translateClientPort": false,                 "virtualPort": 443,                 "addressStatus": true,                 "class": "Service_HTTPS",                 "pool": "",                 "layer4": "tcp",                 "virtualType": "standard",                 "nat64Enabled": false,                 "translateServerPort": true,                 "maxConnections": 0             },             "enable": true,             "template": "generic",             "class": "Application"         }     },     "remark": "test-remark",     "id": "testid",     "schemaVersion": "3.20.0",     "class": "ADC",     "updateMode": "selective",     "controls": {         "archiveTimestamp": "2020-09-15T09:54:34.352Z"     } }

I have reproduced the issue and added it to our internal product backlog as AUTOTOOL-1901.
I noticed this behavior occurs when the http profile is in a shared application. That shared application can be in the same tenant or Common. The websocket profile was correctly configured when the http profile and the virtual server were in the same application.

This issues appears to have been resolved in a previous release. Are you still experiencing this issue with the latest AS3 release?


Fix crash in mate::Converter<const net::URLRequest*>::ToV8

The net::URLRequest::url() method calls vector::back(), which is undefined when the url_chain is empty
This fixes bug #4591

:+1:


Code review

Well,this is not a good place to ask for help but if somebody can review my code and suggest me if I am writing my business logic at proper place. I have created a very small demo crud app.
I always gets a confusion when writing a business logic in clean architecture.
Where should I write my heavy business logic in clean architecture ?
I am creating a small demo project with NpgSql where I have got the scenario to implement strategy pattern for my employee class. I have implemented the functionality but need somebody to review.
The scenario :
Before saving the employee data i need to perform some calculation based on employee salary.
Hence, after the calculation the final salary will be saved with other employee info.
I have created the startegy and calling in my employee handler class.(just befor saving data in db).
But not happy with the implementation.
Can anybody tell me the best way to implement my startegy ?
Here is my repo : https://github.com/Ashwani44/CleanArchitectureCodeReview
Thanks.

Hi @Ashwani44 - I don't have the capacity for a full code review, however after a quick look I would advise that Oersistence should depend on Application, not the other way around. Try to invert that dependency. In the case of NpgSql - maybe you'll need to use a repository. I didn't note Otherwise, it looks like you're off to a good start. Happy coding!

Hi Jason,
Thanks for your response.
Ashwani Singh
Software Developer.
From: Jason Taylor
Sent: Saturday, July 20, 2019 9:14 AM
To: JasonGT/NorthwindTraders
Cc: Ashwani44; Mention
Subject: Re: [JasonGT/NorthwindTraders] Code review (#137)
Hi @Ashwani44 - I don't have the capacity for a full code review, however after a quick look I would advise that Oersistence should depend on Application, not the other way around. Try to invert that dependency. In the case of NpgSql - maybe you'll need to use a repository. I didn't note Otherwise, it looks like you're off to a good start. Happy coding!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.