Juniper Chinese documentation

Juniper Chinese documentation.
All markdown files are completed, and run the tests on CI

Codecov Report

Merging #422 into master will decrease coverage by 0.1%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #422      +/-   ##
==========================================
- Coverage   85.77%   85.67%   -0.11%
==========================================
  Files         110      110
  Lines       15787    15842      +55
==========================================
+ Hits        13542    13572      +30
- Misses       2245     2270      +25

Impacted Files
Coverage Δ

juniper/src/types/scalars.rs
85.8% <0%> (-2.18%)
:arrow_down:

juniper/src/types/name.rs
78.26% <0%> (-1.74%)
:arrow_down:

juniper/src/types/base.rs
89.88% <0%> (-0.54%)
:arrow_down:

juniper_hyper/src/lib.rs
69.73% <0%> (-0.31%)
:arrow_down:

juniper/src/parser/tests/lexer.rs
93.34% <0%> (-0.22%)
:arrow_down:

juniper/src/validation/input_value.rs
84.57% <0%> (-0.2%)
:arrow_down:

juniper_codegen/src/util.rs
31.34% <0%> (-0.18%)
:arrow_down:

juniper_rocket/src/lib.rs
89.87% <0%> (-0.05%)
:arrow_down:

juniper_codegen/src/derive_input_object.rs
0% <0%> (ø)
:arrow_up:

juniper_codegen/src/derive_enum.rs
0% <0%> (ø)
:arrow_up:

... and 19 more

Continue to review full report at Codecov.

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

Hey, this is awesome!
The only problem I see is that we won't be able to keep the book updated ourselves, but will have to rely on contributors to do so.
Chinese is probably the only translation we would get for a while (or ever) though.
Options:

Just have it in this repo, but not run the tests on CI, and add a warning about it being potentially outdated
Have translations in a semi-official status in a graphql-rust/juniper-book-intl repo, but linked from here

I'm leaning towards the second option. (@LegNeato )

Hey, this is awesome!
The only problem I see is that we won't be able to keep the book updated ourselves, but will have to rely on contributors to do so.
Chinese is probably the only translation we would get for a while though (probably ever).
Options:
* Just have it in this repo, but not run the tests on CI, and add a warning about it being potentially outdated

* Have translations in a semi-official status in a `graphql-rust/juniper-book-intl` repo, but linked from here

I'm leaning towards the second option. (@LegNeato )

Hi, @theduke , thank you.
Recently, our team developed graphql server using actix-web + juniper + diesel. in order to get help quickly, I translated the book. I want to share it for other Chinese  pay attention to Juniper.
Have a nice day.


refactor: metrics refactor to TypeScript

:tada: This PR is included in version 2.1.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


apply.daterangepicker picker arg undefined

In the eventHandler for apply.daterangepicker the picker argument is undefined
                $scope.datePickerOptions = {
                    showDropdowns: true,
                        locale: {
                                "format": "DD-MMM-YY"
                        },
                        eventHandlers: {
                            //Selection event handler
                            'apply.daterangepicker': function(ev, picker) {
                              //picker is undefined here............

                             }
                        },
                        //default value is set to Yesterday to force selection on open
                        startDate: moment($scope.yesterdayDate),
                        endDate: moment($scope.yesterdayDate),
                        drops: "up",
                        opens: "center"
                    };

I'm experiencing the same issue. Let's keep the focus in this ticket as the other one, #87, is a different issue.

@ranieri82 did you find a way around this at all?

Even I faced the picker=undefined issue, but I was able to get the dates this way :
	  $scope.datePicker.options = {
		    	eventHandlers: {
		    		'apply.daterangepicker': function(ev, picker) {
		    			$timeout(function(){
		    				console.log($scope.datePicker.date.startDate.format('YYYY-MM-DD'));
		    				console.log($scope.datePicker.date.endDate.format('YYYY-MM-DD'));
		    			});
		    		}
		    	}
	  }

I also faced with picker=undefined issue is quite annoying.
Access to date is also available from ev param like this:
  $scope.datePicker.options = {
            eventHandlers: {
                'apply.daterangepicker': function(ev, picker) {
                    $timeout(function(){
                        console.log(ev.model.startDate);
                        console.log(ev.model.endDate);
                    });
                }
            }
  }

I was struggling with the same issue. As far as I could see, the problem is how the events are delegated. In the current implementation of angular-daterangepicker, event arguments are ignored and the event handlers defined via opts are called using $scope.$evalAsync, which executes the passed function with the current scope as an argument:
for eventType of opts.eventHandlers         el.on eventType, (e) ->           eventName = e.type + '.' + e.namespace           $scope.$evalAsync(opts.eventHandlers[eventName])
Instead, I think the code should look more something like this:
for eventType of opts.eventHandlers         el.on eventType, (e, arg) ->           eventName = e.type + '.' + e.namespace           $scope.$apply(opts.eventHandlers[eventName].call(this, e, arg));
What do you think?

I downloaded the today's version of angular datepicker with BS datepicker v2.1.24. I am also getting the error
Error: picker is undefined
loadConfig/config.eventHandlers["apply.daterangepicker"]

My event handler is like this:
eventHandlers: {
                      'apply.daterangepicker': function(ev, picker) {

                        var endDate = picker.endDate.format();
                        var startDate = picker.startDate.format();
                         ...
                        }

This issue still exists today.


🌱 add shortNames for objects

What this PR does / why we need it:
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes https://github.com/SovereignCloudStack/cluster-stack-operator/issues/152
Special notes for your reviewer:
Please confirm that if this PR changes any image versions, then that's the sole change this PR makes.
TODOs:

[ ] squash commits
[ ] include documentation
[ ] add unit tests

thanks @kranurag7 . Plz squash


Cannot install .NET Core 2.0 on CentOS 6.4

step 1:
sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
done
step 2:
sudo yum update
done
step 3:
sudo yum install libunwind libicu
done
step 4:
sudo yum install dotnet-sdk-2.1.200
Error: Package: dotnet-runtime-2.0.7-2.0.7-1.x86_64 (packages-microsoft-com-prod)
Requires: openssl-libs
Error: Package: dotnet-runtime-deps-2.1.0-rc1-2.1.0_rc1-1.x86_64 (packages-microsoft-com-prod)
Requires: openssl-libs
step 5:
sudo yum install openssl openssl-devel
Package openssl-1.0.1e-57.el6.x86_64 already installed and latest version
Package openssl-devel-1.0.1e-57.el6.x86_64 already installed and latest version
Nothing to do
i already had openssl-devel, but It still saying that  requires "openssl-libs" .
how can i fixed this?

The minimum version supported by .NET Core 2.0 is CentOS 7. Couple of things to try - use the tar.gz package rather than the installers and if that does not run correctly, try the 2.1 tar.gz for RHEL6.


Bridge message logger also forward info to output

Before this fix, info messages were only added to the log whereas warnings and errors were written both to log and output.
Fixing this allows to have MSTest parallelization message showing up:

Native AOT tests are still flaky, force merging


chore: use T generic for identify function

This a very small update, but the goal is to leverage the T generic referring to the trait type while using the identify function.
This allows better checks and completion when calling the identify function when setting custom types for Traits and Flags.

Yep this looks good, thanks!


Update Course.md

I found this great resource and thought it could be useful for others! I had never heard about this great platform. It lets you code as you watch the videos which has helped me really master the fundamentals due to the amount of actual coding you do as you watch the course.

Hello @anthonyaoun23!
Unfortunately, the Courses page is no longer maintained, so this PR can't be merged.
Please feel invited, however, to create new PRs for open issues.
Thank you!


[feature] Bulk edit

Some sites require me to add several watches for different dates for example
When I need to fine tune or edit, It's bit hassle to do so, I usually open all of them in new window and update each one.
Maybe a bulk edit could be useful

Just ran into this myself. I have 10+ sites in a group that share the Remove elements bit. Would love to be able to edit the whole group to have the same elements removed instead of editing one by one.

resolved in https://github.com/dgtlmoon/changedetection.io/pull/1610


Added new grant_type metadata item to ROPC TechnicalProfile

This is an update to the docs for B2C custom policies adding a grant_type metadata item to ROPC-based technical profiles.  Adding this metadata item enables Just-in-time migration via ROPC and REST.  See here for further details.

@jayallen : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@yoelhor as fyi

Flagging for @msmimart - Can go ahead and sign off. Contribution is from identity dev. Thanks.

#sign-off

Hi @msmimart, I just got pinged by someone attempting to do JIT migration via ROPC (for which the changes in this pull request are mandatory) and noticed that this update had not been merged in and published.  Can you let me know if there's anything I can do to help bring this to completion?  Thanks!


Induction Matrix not charging

I build  7x12x7 induction matrix with 72 ultimate cells and 4 provider cells.
I connect 8 turbines with TE Cryo Flux cables on to an induction port. Each time I see a negative value that charges up in to the positive but the cells doe not charge at all.
The induction port giving some readout in Waila but the whole structure is not filing up the storage structure - any idea what Im doing wrong ?

after removing the mod - and reinstalling it back and recreating everything again it worked... no idea what happend.


Extract hostname from (hostname.domainname)

This approach allows the user to provide a FQDN as hostname if that is what
they want in their container, or to provide distinct host and domain parts.  In
both cases we will correctly extract the first token for /etc/hosts.
xref: https://github.com/docker/docker/pull/20200 and https://github.com/docker/docker/issues/14282

Rebased, awaiting review.

What more is needed to merge?  Just curious on workflow

LGTM

@thockin We usually try to get two LGTMs to merge a change.
After the next vendor in of libnetwork we can merge [docker/docker #20200] (https://github.com/docker/docker/pull/20200)


Multiple IP addresses per host

Problem:
We want to have ECMP routes between nodes in the same L2 domain.
Current agent implementation does not setup ECMP as it assumes each
Host has only one IP address.
Background:
We have two ToR switches in a rack.  Each ToR provides distinct L2 domains,
therefore distinct subnet IP addresses, to servers with 2 NIC ports.
This way, each server has two equal-cost IP addresses.  Default route
is set up with the two paths using ECMP like:
$ ip route show <IP_ADDRESS>/0
default  metric 2
        nexthop via <IP_ADDRESS>  dev eno1 weight 1
        nexthop via <IP_ADDRESS>  dev eno2 weight 1

where eno1 connects to ToR switch 1 and eno2 to ToR 2.
This setup mostly works nicely with Romana, except for routes to nodes
in the same L2 domain.  Romana agent automatically setup routes to
address blocks like this:
$ ip route show table 10
<IP_ADDRESS>/29 via <IP_ADDRESS> dev eno1
<IP_ADDRESS>/29 via <IP_ADDRESS> dev eno1
<IP_ADDRESS>/29 via <IP_ADDRESS> dev eno1

Question:
Can we configure Romana to setup ECMP routes for this case?
If not, any future plan to support this?
For your reference, Kubernetes allows a Node to have multiple addresses.
https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.9/#nodestatus-v1-core
Thank you!

Hi @ymmt2005 Lots going on here. Some questions though.  When you say ECMP, do mean ECMP for both egress and ingress traffic? Or do you just want each subnet to use its own NIC? That is, each subnet to have a different default route? From your example, I'm guessing that you've got two /17 networks (<IP_ADDRESS>/17 and <IP_ADDRESS>/17). So, if the .128.0 network gets set with a different default route to eno2, this would put egress traffic up to the other ToR.

$ ip route show table 10
<IP_ADDRESS>/29 via <IP_ADDRESS> dev eno1
<IP_ADDRESS>/29 via <IP_ADDRESS> dev eno1
<IP_ADDRESS>/29 via <IP_ADDRESS> dev eno2

This isn't ECMP for egress traffic, but does split the traffic across the NICs. ECMP for ingress traffic needs to be handled on the  ToRs (or on the upstream L3 device if the ToRs are just L2 devices).
Either way, there are several possibilities, not exactly sure of the status/details of any of them, but let me describe them.  The interface for the default route is set during installation and there is some automated mechanism to detect what interfaces are available and one is chosen.  I don't think the installer can handles multiple subnets, but it might be possible to do something manually to set it up this way. @cgilmour would have more info on how to get that to work. It is also possible that the network topology configuration will accept an interface specification. I know we talked about this, but not sure if it has been implemented. Would need @jbrendel to clarify the status of this.
If you are looking for ECMP for ingress traffic, that needs to be configured on upstream devices. This will require the route publisher add on.   And using the route publisher for ECMP on multiple NICs is going to require a customer Bird configuration. But more importantly, the  nodes need to peer with the upstream router, and not clear from your description if these are the ToRs, of if there is an L3 device further upstream.
As for CNI supporting multiple IPs, yes, that is true, but don't think the Romana CNI implementation handles that automatically (which is why you might have to do a custom install).
Are you already using the route publisher to set up L3 network zones for HA? Or do you use the redundant L2 ToRs for HA?

Forgot to mention that it might also be possible to configure the route publisher to handle this even with default routes set to eno1. Not the Bird expert, would need @flashvoid to clarify what might be possible.

@chrismarino
Thank you for the detailed reply.  Yes, we want ECMP for egress.
Upstream routers are responsible for ingress and we can do it thanks to
the highly configurable route publisher (in fact, it is one of the greatest
strength of Romana, I think!).
The problem here is not only to distribute egress loads, but also to keep
redundant routes in preparation for ToR failure.
We are thinking that one possible workaround might be to remove routes
inserted by Romana agent and leave all egress to the default gateway
which we configure manually as ECMP routes.
This will work for us because ToR knows every routes in the rack thanks to
the route publisher add-on.  Such ToR will return ICMP redirect to the
node having the destination addresses, hence Romana network remain
working.
If Romana can disable automatic routing in the same L2 domain, we will
try it and see whether the above scenario succeeds or not.  Or we can disable
it manually by removing rule 32765 from ip rule, right?
$ ip rule
0:      from all lookup local
32765:  from all lookup 10
32766:  from all lookup main
32767:  from all lookup default

Many thanks to your kind advice!

OK. @ymmt2005 I understand. Looks like you're already using the route publisher add on for upstream route distribution. I think your workaround will work as well. But not the expert on how Romana will behave if the routes/rules are deleted. The agent might try to re-install them...
I'm pretty sure the Romana agent installs routes even if they are not necessary because the route publisher is used. And I don't think this can be disabled. In most cases they don't harm anything, but for your scenario they actually prevent the ECMP behavior you're looking for.
Will have to hear back from the rest of the team to fully understand what the various alternatives are and how they behave, but I think deleting the rules should work.
Give it a try and let me know.

We will try.  Please expect this will take a while.

The agent creates the rule for table 10 when it launches. So if it were deleted manually then the agent restarted, it will get recreated.
There's no option for disabling the rule and route management in the agent at the moment.
If it's helpful to have an option for this, we can consider it.
I think Kubernetes will limit things to a single InternalIP per node. If so, even if Romana supported ECMP or left that to the underlying hosts, a ToR failure could still affect the Kubernetes control plane.
It'd be good to check this and report if it was OK or not in this circumstance.

@cgilmour Thank you.  We will check how k8s works in case of a ToR failure.

@ymmt2005 I made a container for you that supports disabling route management - try quay.io/romana/agent:hotfix-291 with the environment variable EXPERIMENT_MANAGE_ROUTES=false pushed into a container.
Supporting ECMP how you proposed in the issue is interesting and not very hard to do, but I don't know what would be the best way to express such configuration.

@flashvoid Wow, thank you!

We finally decided to have a single authoritative address for each node.
Thank you very much for all of your kind help!


RP Pi Pico - Unable to compile -  invalid offset, value too big (0x0000049C)

Describe the problem
After some months I decided to create a second MultiFan project, I freshly install everything, I'm using:

Windows 11
Arduino IDE:  2.1.0
Corsair Light Protocol Lib 0.15.0
FastLED lib 3.6.0
Raspberry PI Pico/RP2040 Boards

But for some reason, when I try to compile my old project, I get the error "Invalid offset, value too big" (0x0000049C).
I tried to troubleshoot it by myself by taking the following actions:
Verify that the right port or board was selected.
confirmed that I selected Adafruit TinyUSB on the USB stack.
Make sure that the 6 RP2040 platform files are included in the FastLED/src/platforms/arm/rp2040 folder and that the #elif defined (ARDUINO_ARCH_RP2040) and #include statements in led_sysdefs.h and platforms.h
Note: The files were already installed when I installed FastLED; I made sure they included the information listed on the [guide] (https://github.com/Legion2/CorsairLightingProtocol).
I tried the TinyUSB example with the same results.
This is the output of the compilation of the TinyUSB example:
In file included from c:\Users\sper_\Documents\Arduino\libraries\FastLED\src/led_sysdefs.h:38,
                 from c:\Users\sper_\Documents\Arduino\libraries\FastLED\src/FastLED.h:51,
                 from c:\Users\sper_\Documents\Arduino\libraries\Corsair_Lighting_Protocol\src/FastLEDController.h:18,
                 from c:\Users\sper_\Documents\Arduino\libraries\Corsair_Lighting_Protocol\src/CorsairLightingProtocol.h:34,
                 from C:\Users\sper_\AppData\Local\Temp\.arduinoIDE-unsaved2023526-13160-19ojfuz.0a7w\TinyUSB\TinyUSB.ino:16:
c:\Users\sper_\Documents\Arduino\libraries\FastLED\src/platforms/arm/rp2040/led_sysdefs_arm_rp2040.h:87: warning: "cli" redefined
   87 | #define cli() (saved_interrupt_status = save_and_disable_interrupts())
      |
In file included from C:\Users\sper_\AppData\Local\Temp\arduino\sketches\BC3352BA6D3165D4B564E7E1A5239232\sketch\TinyUSB.ino.cpp:1:
C:\Users\sper_\AppData\Local\Arduino15\packages\rp2040\hardware\rp2040\3.3.0\cores\rp2040/Arduino.h:74: note: this is the location of the previous definition
   74 | #define cli() noInterrupts()
      |
In file included from c:\Users\sper_\Documents\Arduino\libraries\FastLED\src/led_sysdefs.h:38,
                 from c:\Users\sper_\Documents\Arduino\libraries\FastLED\src/FastLED.h:51,
                 from c:\Users\sper_\Documents\Arduino\libraries\Corsair_Lighting_Protocol\src/FastLEDController.h:18,
                 from c:\Users\sper_\Documents\Arduino\libraries\Corsair_Lighting_Protocol\src/CorsairLightingProtocol.h:34,
                 from C:\Users\sper_\AppData\Local\Temp\.arduinoIDE-unsaved2023526-13160-19ojfuz.0a7w\TinyUSB\TinyUSB.ino:16:
c:\Users\sper_\Documents\Arduino\libraries\FastLED\src/platforms/arm/rp2040/led_sysdefs_arm_rp2040.h:88: warning: "sei" redefined
   88 | #define sei() (restore_interrupts(saved_interrupt_status))
      |
In file included from C:\Users\sper_\AppData\Local\Temp\arduino\sketches\BC3352BA6D3165D4B564E7E1A5239232\sketch\TinyUSB.ino.cpp:1:
C:\Users\sper_\AppData\Local\Arduino15\packages\rp2040\hardware\rp2040\3.3.0\cores\rp2040/Arduino.h:73: note: this is the location of the previous definition
   73 | #define sei() interrupts()
      |
In file included from c:\Users\sper_\Documents\Arduino\libraries\FastLED\src/FastLED.h:75,
                 from c:\Users\sper_\Documents\Arduino\libraries\Corsair_Lighting_Protocol\src/FastLEDController.h:18,
                 from c:\Users\sper_\Documents\Arduino\libraries\Corsair_Lighting_Protocol\src/CorsairLightingProtocol.h:34,
                 from C:\Users\sper_\AppData\Local\Temp\.arduinoIDE-unsaved2023526-13160-19ojfuz.0a7w\TinyUSB\TinyUSB.ino:16:
c:\Users\sper_\Documents\Arduino\libraries\FastLED\src/fastspi.h:172:23: note: '#pragma message: Forcing software SPI - no hardware SPI for you!'
  172 | #      pragma message "Forcing software SPI - no hardware SPI for you!"
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
{standard input}: Assembler messages:
{standard input}:873: Error: invalid offset, value too big (0x0000049C)

exit status 1

Compilation error: exit status 1

Any insights about this?

My bet is that this is an environment issue. I have exactly the same setup but no problem getting it compiling. So you may want to start-up a virtual pc and setup a whole new environment just for testing. Download everything again yourself and install it. Just te be sure it is your environment causing this.

All right let me test it by creating a virtual machine, and I let you know the updates about it

After a lot of testing, I was able to determine the cause of the issue.
I created a virtual machine using Windows 10 and then Windows 7, same results
After that, I tried testing the boards installed
Looks like there is a problem with the Raspberry Pi Pico/RP2040 3.3.0
After testing it on the Raspberry Pi Pico/RP2040 3.2.2 I was able to compile the TinyUSB proyect


window.m is set to "4" after the first tick

http://jsbin.com/nejemasego/edit?js,console
m = 5;
console.log("sync", m);

setTimeout(function () {
  console.log("async", m);
}, 0);

This will log 5 then "4" when the code is automatically run (either on load or after editing). If you click the "run" button in the "console" pane, you get 5 the in async code as well.
It makes it very annoying to use the Mithril framework with JSBin, since it uses m as its namespace.

Also, FWIW, not everyone is affected by this, even though I'm not alone.
It happens in multiple browsers, on a Mac.

Digging further, it only happens if a global m is set manually:
var m = 5; // comment this out and nothing is printed by the 'timeout' code.
(function(){
  var keys = Object.keys(window);
  var kv = keys.reduce(function(acc, k){acc[k] = window[k];return acc;},{});
  setTimeout(function(){
    console.log('timeout');
    k2 = Object.keys(window);
    k2.forEach(function(k){
      if (keys.indexOf(k)===-1 || window[k] !== kv[k]) console.log(k, window[k],'----');
    });
  },0);
}());

Add /quiet to the URL. Does it still happen?
On Wed, 15 Jun 2016 00:53 Pierre-Yves Gérardy<EMAIL_ADDRESS>wrote:

Digging further, it only happens if a global m is set manually:
var m = 5; // comment this out and nothing is printed by the 'timeout' code.
(function(){
var keys = Object.keys(window);
var kv = keys.reduce(function(acc, k){acc[k] = window[k];return acc;},{});
setTimeout(function(){
console.log('timeout');
k2 = Object.keys(window);
k2.forEach(function(k){
if (keys.indexOf(k)===-1 || window[k] !== kv[k]) console.log(k, window[k],'----');
});
},0);
}());
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/jsbin/jsbin/issues/2789#issuecomment-226027599, or mute
the thread
https://github.com/notifications/unsubscribe/AAA1hBem21KSpf4RXRYB39R8sjiiY_9Kks5qLyLAgaJpZM4I1iYb
.

http://jsbin.com/nejemasego/quiet/edit?js,console also goes 5, "4", ...

Also, rather that m = 5, I've tried to use
Object.defineProperty(window, 'm', {
  get: function() { return 5; },
  set: function(newValue) { throw new Error("don't set m"); },
  enumerable: true,
  configurable: true
});

Which works in the console (m returns 5, setting it throws) but gives
TypeError: can't redefine non-configurable property "m"
<anonymous>   jijatorapa.js:15
k</b.render/<()   runner-3.35.13.min.js:1
j</a.use/<()   runner-3.35.13.min.js:1

When put in the JS Bin editor.

Tried your bin out and it looks fine to me. I'm going to close as it might be an edge case and I'm pretty sure it's not related to jsbin.
That said, happy to continue to discuss if you think this is wrong.

I'm still seeing the 5, 4, 4, 4 behavior in Brave, Chrome Canary, and Firefox Dev edition (weird choices I know, but what I've got handy).
I don't think this is fixed.

If I add a debugger statement right after the first console.log(), then start stepping through I end up in some VM code.
(This has been formatted by the editor, I'm not sure where it actually came from)
for (var m in __blocked.methods) {
    try {
        window[m] = __blocked.old[m];
        delete __blocked;
    } catch (e) {}
}
;

which rewrites window.m to "0", "1", "2", "3", "4" in order. Looks like the global method safety code is tripping over the assignment for some reason?

Yup, it's still there in Chrome, Safari and Firefox too (when loading or after editing the code the page, not when pressing "run".
Of note, the auto-run/live-reload/hot-shebang thing doesn't work in Chrome over HTTP, only over HTTPS. https://jsbin.com/nejemasego/edit?js,console

It also occurs in IE 11 and Edge on a different machine. This is definitely not a fluke.

Okay, so I think I know how to replicate this, and I think I understand why it's happening.
It happens if you check the "auto-run js" in the output panel. It doesn't run when you do cmd+enter or "run with js".
The problem is: the blocking prompt nuking code is leaking a variable, and it's getting caught in your code.
I'll fix that up.

I believe with this fix, in v3.38.10, you should find it's fixed.
Thanks so much for hanging in there.

Hooray, many thanks to you (and @tivac for pointing out the source of the issue).


feat(V5): Created v5 Fulcrum POST balance endpoint in bch-api

PR related to this trello task --> https://trello.com/c/05R3j28A

:tada: This PR is included in version 1.35.0 :tada:
Your semantic-release bot :package::rocket:


docs: Document an example implementation and usage of BaseHATEOASPaginator

:books: Documentation preview :books:: https://meltano-sdk--1074.org.readthedocs.build/en/1074/

https://meltano-sdk--1074.org.readthedocs.build/en/1074/classes/singer_sdk.pagination.BaseHATEOASPaginator.html


Update cache.py

Should fix #4: if the cache is not yet present, then event_blobs needs to be initialized.

@birnstiel Can you please confirm if v2.1.1 of the workflow fixes the issue?

Yes, that seems to fix the issue.


⚠ Bofrost.at has degraded performance

In e9a6ca7, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1866 ms

Resolved: Bofrost.at performance has improved in 5f81c4f after 13 minutes.


Add license

Currently, the project lacks a license.
Cake itself uses MIT i.e., and most addins do, but obviously totally up to the author.
But for people to try & adopt, it's good practice to have a license in the repo.

Done


invert.normal_mapping isn't created

invert.normal_mapping doesn't seem to create a keymap. With the config:
use { 'gaoDean/autolist.nvim',
  ft = { 'markdown', 'text', 'latex' },
  config = function()
    require('autolist').setup({
      invert = {
        normal_mapping = '<space>x',
      },
    })
  end,
}

:map <space>x outputs "No mapping found".
Here's a full config to reproduce:

Click to expand
-- Ignore default config and plugins
vim.opt.runtimepath:remove(vim.fn.expand('~/.config/nvim'))
vim.opt.packpath:remove(vim.fn.expand('~/.local/share/nvim/site'))

-- Append test directory
local test_dir = vim.fn.expand('~/code-other/nvim-test-config')
vim.opt.runtimepath:append(vim.fn.expand(test_dir))
vim.opt.packpath:append(vim.fn.expand(test_dir))

-- Install packer
local install_path = test_dir .. '/pack/packer/start/packer.nvim'
local install_plugins = false

if vim.fn.empty(vim.fn.glob(install_path)) > 0 then
  vim.cmd('!git clone https://github.com/wbthomason/packer.nvim ' .. install_path)
  vim.cmd('packadd packer.nvim')
  install_plugins = true
end

local packer = require('packer')

packer.init({
  package_root = test_dir .. '/pack',
  compile_path = test_dir .. '/plugin/packer_compiled.lua'
})

packer.startup(function()
  function Use(module)
    use(require(string.format('configs.%s', module)))
  end

  -- Packer can manage itself
  packer.use 'wbthomason/packer.nvim'

  use { 'gaoDean/autolist.nvim',
    ft = { 'markdown', 'text', 'latex' },
    config = function()
      require('autolist').setup({
        invert = {
          normal_mapping = '<space>x',
        },
      })
    end,
  }

  if install_plugins then
    packer.sync()
  else
    -- load plugins at your earliest convenience
    vim.defer_fn(function()
      vim.cmd('doautocmd User LoadPlugins')
    end, 1)
  end
end)

Close, but I think your config isn’t correct. This is what it should be:

normal_mappings = {
		new = {
			"o",
			"O+(true)",
		},
		tab = { ">>" },
		detab = { "<<" },
		recal = { "dd" },
	},

@gaoDean What I would like is to use <leader>x to toggle checkboxes. I took the config from the README here and I guessed by the name that it would create a mapping for me?
I'm not quite sure how I can use the config from your previous comment in order to create the mapping?

`
normal_mappings = {
invert = { “x” },
},
`

@gaoDean What I would like is to use <leader>x to toggle checkboxes. I took the config from the README here and I guessed by the name that it would create a mapping for me?
I'm not quite sure how I can use the config from your previous comment in order to create the mapping?

For most things, the wiki is better.

good to close?

@gaoDean Thank you, I forgot to look for a GitHub wiki.
However, normal_mappings.invert doesn't quite work as expected either. Adding the following to my config:
normal_mappings = {
  invert = { '<leader>x' },
}

, maps <leader>x to:
*@<Space>x<Cmd>lua require('autolist').invert()

which means that it executes the mapping twice, first it literally presses <space>x and then it calles autolist.invert().
This works however:
vim.keymap.set('n', '<leader>x', require('autolist').invert)

oh I didn’t think about that, then you would want to add the extra catch option like this: “x+[catch]” so it “catches” the mapping. This is also said in the wiki.

alr, imma close this now if there are no further issues.

Ok, yeah <leader>x+[catch] works. Thanks!


[Android] Fix issue with XWalkView::setBackgroundColor

setBackgroundColor doesn't work before page loaded. This fix enabled setBackgroundColor for XWalkView.
BUG=XWALK-1910

LGTM

@lincsoon

@lincsoon Please do not merge this. I will refine this to XWalkContent instead of XWalkViewInternal.

@lincsoon @halton, refine change from  XWalkViewInternal to XWalkContent. XWalkContent has code to handle Runnable before. So put together will be better.

LGTM for new patch.

LGTM

ping @kenchris @darktears for this PR got LGTM.

@kenchris @darktears


Cop idea: specify time unit format for ActiveSupport::Duration handling

Describe the solution you'd like
This is easier to understand because when working with minutes, hours, etc., you need to explicitly specify the format.
# bad
1.day.ago - 1
# good
1.day.ago - 1.second

# bad
Time.zone.now + 2
# good
Time.zone.now + 2.seconds

# bad
expect(withdrawal_option.confirmation_sent_at).to \
  be_within(3).of(Time.now.utc)
# good
expect(withdrawal_option.confirmation_sent_at).to \
  be_within(3.seconds).of(Time.now.utc)

For style-related proposal, please first open it to the style guide. Also, RuboCop Rails does not support RSpec DSL.

Created. https://github.com/rubocop/rspec-style-guide/pull/139


Fix compilation issue with Rust 1.31 on Windows

Fixes #28
Prefixes the use path with crate:: so that is can be compiled on 1.31 which does not have uniform_paths

Thanks so much!   I've published this fix on crates.io as v0.1.17

Awesome, thanks!


use big endian to restore IP

What type of PR is this?
/kind bug
Which issue(s) this PR fixes:
Fixes #146

cc @kwb0523

there are any specific bug descriptions?

cc @kwb0523

fixed in https://github.com/kmesh-net/kmesh/pull/138

@kwb0523 Not sure, let's make a pr as smaller as possible. Not to couple with that bigger refactor one


Fix spec mismatch and remove unnecessary var.

Fixes #73 and #75.

@kfichter I fixed the typo you pointed out.  Merging.


Stopped working

I'm not sure if there was an update of Spotify but the application has stopped working. And by not working I mean he is unable to retrieve any information from Spotify.
All I get are messages like: "Wherefore are thou Spotify?". Any suggestions?

Same here.  And there is nothing that actually works as well as Smallify, so I'm annoyed.

Unfortunately, Spotify changed the way they handle stuff, and now all applications using SpotifyAPI-NET stopped working. You can see more here: https://github.com/JohnnyCrazy/SpotifyAPI-NET/issues/254


npm ERR! Test failed.  -  mapnik.VectorTile

I did the npm install followed be the npm test.  I got 501 passing, 4 pending, and 4 failing.  The 4 failing all had to do with the  mapnik.VectorTile as seen below.  Any ideas what I need to do?
mapnik.VectorTile
â should fail when adding bad parameters to add geoJSON
â should be able to create a vector tile from geojson
â should be able to create a vector tile from geojson - with simplification
1) should be able to create a vector tile from geojson - multipoint
2) should be able to create a vector tile from geojson - multipoint - with simplification
â should be able to create a vector tile from multiple geojson files
â toGeoJSON should fail with invalid useage
â should throw with invalid usage
â should be initialized properly
â should accept optional width/height
â should be able to setData/parse (sync)
â should error out if we pass invalid data to setData - 1
â should error out if we pass invalid data to setData - 2
â should error out if we pass invalid data to setData - 3
â should error out if we pass invalid data to setData - 4
â should error out if we pass invalid data to setData - 5
â should return empty but have layer name
â should error out if we pass invalid data to addData
â should fail to do clear
â should fail to parse
â should be able to setData/parse (async)
â should be able to get layer names without parsing
â should be able to get tile info as JSON
â should be able to get tile info as various flavors of GeoJSON
â should be able to get and set data
â should be able to get virtual datasource and features
â should be able to clear data (sync)
â should be able to clear data (async)
â should be able to add data
â should detect as solid a tile with two "box" layers
â should render an empty vector
â should detect as non-solid a tile with intersecting rectangle
â should detect as non-solid a tile with intersecting rectangle 2
â should detect as solid a tile with rectangle that is solid within tile extent
â should fail to render due to bad arguments passed
â should render expected results
â should render expected results - with objectional arguments
â should fail to render due to bad parameters
â should fail to render two vector tiles at once
â should render a vector_tile of the whole world (78ms)
â should render a vector_tile of the whole world - area threshold applied
â should render a vector_tile of the whole world - simplify_distance applied
â should read back the vector tile and render an image with it
â should read back the vector tile and render a native svg with it
â should read back the vector tile and render a cairo svg with it
3) should read back the vector tile and render an image with it using negative buffer
â should read back the vector tile and render a grid with it
â should read back the vector tile and render a grid with it - layer name and fields
4) should read back the vector tile and render an image with markers
â should be able to resample and encode (render) a geotiff into vector tile
â should fail to addImage due to bad input
â should be able to push an image tile directly into a vector tile layer without decoding (39ms)
â should include image in getData pbf output
â should be able to render data->vtile and vtile->image with roughtly the same results
501 passing (3s)
4 pending
4 failing

mapnik.VectorTile  should be able to create a vector tile from geojson - multipoint:
AssertionError: 61 == 60

expected - actual

-61
+60
at Context. (test/vector-tile.test.js:205:16)

mapnik.VectorTile  should be able to create a vector tile from geojson - multipoint - with simplification:
AssertionError: 61 == 60

expected - actual

-61
+60
at Context. (test/vector-tile.test.js:255:16)

mapnik.VectorTile  should read back the vector tile and render an image with it using negative buffer:
Uncaught AssertionError: 0 == 1588

expected - actual

-0
+1588
at test/vector-tile.test.js:1182:20

mapnik.VectorTile  should read back the vector tile and render an image with markers:
Uncaught AssertionError: 0 == 11

expected - actual

-0
+11
at test/vector-tile.test.js:1264:20

What version of node mapnik is this for you or are you on master?

I did git clone https://github.com/mapnik/mapnik -b 2.3.x

sry, i mean git clone https://github.com/mapnik/node-mapnik

Trying pulling the latest and seeing if it works.

thank you!


Update lovelace to 4.1.2

Please update my adapter ioBroker.lovelace to version 4.1.2.
This pull request was created by https://www.iobroker.dev c0726ff.

4.1.2 created 09.01.2024
390 user
OK


azure-search-openai vs microsoft copilot

Not an issue but rather a question. Is this repo going to be outdated against microsoft copilot?.
Can someone give explain me if I am wrong.
Thank in advance.

Announcement blog post for reference: https://blogs.microsoft.com/blog/2023/09/21/announcing-microsoft-copilot-your-everyday-ai-companion/

Let's see if it's more than just SharePoint. If Copilot indexes my 30Gb of OneDrive pdfs, emails and MS Word docs and Outlook email then lets me do NLP for $30 per month, that's the deal of the decade for productivity.
From the blog post. "Microsoft 365 Chat combs across your entire universe of data at work, including emails, meetings, chats, documents and more, plus the web"
"entire universe of data"

I am also curious to know if someone had tried "chat your org data" with copilot and this architecture. It would be interesting to learn about there findings.
@zhongshuai-cao Adding to your thought, is it because we are spending more money in this architecture for all the expensive services like(azure applied ai services, cognitive search) for processing relatively very less amount of data compared to copilot. And why is it costing so less despite having huge number of capabilities?


missing data file

The file marathon_results_2015.csv is missing from data/

Thanks, I've added it in a9bae4a65283443b1512e6ec8e4dd121c27236e4.


Cleaning up API Docs layout

Background
This PR cleans up some unused markup and css in the Reference view or API Documentation view. This also improves some of the spacing rules to make the UI a little bit cleaner and more readable.
Changes
Removes unused css:

navbar-fixed-side.css
Commented css that doesn't seem to be used
Unnecessary class selectors causing some layout and spacing bugs

Refactors styles for cleaner layout

Navbar container is set to expand to full width
Sidebar nav item spacing and style cleaned up
Code display update with cleaner spacing and font-sizing

I'm underqualified to review this, but based on the picture the left nav cleanup is 👍


chore: search dropdown component LESQ-471

Description
Music year: {owa_music_year}

Create Search dropdown component, test file, fixture and story
Create Search MiniMenu component component

Acceptance Criteria:

[x]  New drop down menu

Issue(s)
Fixes #LESQ-471
How to test

Go to https://deploy-preview-2119--owa-storybook.netlify.thenational.academy/?path=/story/foundations-searchdropdown--search-dropdown

Checklist

[ ] Added or updated tests where appropriate
[ ] Manually tested across browsers / devices
[ ] Considered impact on accessibility
[ ] Design sign-off
[ ] Approved by product owner
[ ] Does this PR update a package with a breaking change

Those are some wide links! Could they also have their focus states as per Figma

Just creating that TextLink component now!

It's quite snug when the focus state is on - is it fine?

It's quite snug when the focus state is on - is it fine?

Added a little bit of margin to it!

:tada: This PR is included in version 1.310.4 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Makefile: Create a target to install and uninstall operator via OLM

Use kustomize to create and delete operator via OLM.
Signed-off-by: Nitin Goyal<EMAIL_ADDRESS>

/override ci/prow/odf-operator-bundle-e2e-aws


Fix for #59 (Textbox width issue)

Fixes the textbox width problem by adding a width section to RecipientsInput inside search.less set to 95%.
Fixes #59

@luceos I know that your priorities are currently not Flagrow, but this PR doesn't have any conflicts, it works like charm and it's easily mergeable.
Can you merge this so we'll also close #59?

Before

After

I personally think that using a percentage width is not the solution. Preferably this should be done using margins..

@luceos Okay, I'm trying now.

@luceos This is my best if we try fixing it with margins:

.AddRecipientModal-form .RecipientsInput {
    overflow: hidden;
    height: auto;
    float: left;
    margin-left: -12px;
}

.AddRecipientModal-form .RecipientsInput-selected {
    margin: 2vh -12px;
}

If that's okay, I will change the current code on the PR to that.

Haven't looked into this yet but I dislike a float and negative margins on an input. Most likely the parent element needs a relative position to make the width 100% plus margins work properly.

this is not an issue anymore


fix ReferenceError errors for Plyr and mermaid

I've forked the repo and make my own page here.
When I open Mozilla Firefox Developer Tools, I am seeing two errors shown below:

I think it had to do something with a bad tag. I've updated and fixed it and those errors should disappear now. Please reopen if it doesn't fix the issue.

I think it had to do something with a bad tag. I've updated and fixed it and those errors should disappear now. Please reopen if it doesn't fix the issue.

It seems that I don't have rights to reopen issues. Maybe you've changed those repo settings.

Have you updated your repo with the forever-jekyll main branch? A small tag fix in _includes/navigation.html should fix this. I don't see those errors after the tag fix.

I've opened https://forever-jekyll.github.io/ and errors are still here:


Implement wrap conditions for simulation boxes

In the case that the galaxies are in a simulation box with periodic boundary conditions, the standalone code should ideally respect that by implementing a wrap when writing the output positions to file.
If I haven't overlooked some edge use cases I think this could be done automatically whenever selection_function is uniform and boxsize is provided, by adding a line like positions_rec['data'] %= config['mesh']['boxsize'] in https://github.com/cosmodesi/pyrecon/blob/main/bin/pyrecon
What do you think?

Actually there is also a use case where the data is in a simulation box so the selection function is uniform but one nevertheless still wants to provide randoms in order to obtain the shifted random positions. So perhaps instead of checking on selection_function and boxsize it would be better to just provide a option like wrap or similar for the user to set in the config as desired.

Yes, I agree wrap looks like a good option. Maybe one could add this option to assign_data and assign_randoms too (to wrap input positions before assigning particles to mesh). We would save this as an attribute for further check here https://github.com/cosmodesi/pyrecon/blob/8be89714468d3e448089d66e09c5853809af26e9/pyrecon/iterative_fft_particle.py#L146. Would you like to submit a PR for this, if you have some time?

OK, I'll work on it later this week.

Hi Sesh,
Since you are looking into this, I wanted to comment that I've run into some issues that appear to be edge cases of the periodic wrapping you were discussing. For some of my periodic box realizations, the CIC assignment fails after a few iterations. I think it could have to do with a galaxy being placed exactly at the border of the box:
[000000.00]  12-07 23:42  Main                         INFO     Loading config file ifftp.yaml.
[000000.01]  12-07 23:42  Main                         INFO     Convention is rsd.
[000000.01]  12-07 23:42  Main                         INFO     Using uniform selection function.
[000000.01]  12-07 23:42  Main                         INFO     Loading data catalog /cosma/home/analyse/epaillas/data/baojiu_recon/local_zspace/R106_S15_L2.fits.
[000000.23]  12-07 23:42  Main                         INFO     Size of catalog data is 1754711.
[000000.35]  12-07 23:42  IterativeFFTParticleReconstruction INFO     Using mesh RealMesh(boxsize=[2000. 2000. 2000.], boxcenter=[1000. 1000. 1000.], nmesh=[500 500 500], dtype=float32).
[000008.25]  12-07 23:42  IterativeFFTParticleReconstruction INFO     Running iteration 0.
[000010.96]  12-07 23:42  IterativeFFTParticleReconstruction INFO     Computing displacement field.
[000019.12]  12-07 23:43  IterativeFFTParticleReconstruction INFO     Running iteration 1.
[000027.22]  12-07 23:43  IterativeFFTParticleReconstruction INFO     Computing displacement field.
[000034.71]  12-07 23:43  IterativeFFTParticleReconstruction INFO     Running iteration 2.
[000042.39]  12-07 23:43  IterativeFFTParticleReconstruction INFO     Computing displacement field.
Index out of range: (ix,iy,iz) = (86,51,500) for (86.945,51.962,500.000)
[000064.76]  12-07 23:43  Exception                    CRITICAL
Traceback (most recent call last):
File "/cosma/home/analyse/epaillas/data/code/anaconda3/bin/pyrecon", line 7, in
exec(compile(f.read(), file, 'exec'))
File "/cosma/home/analyse/epaillas/code/pyrecon/bin/pyrecon", line 415, in
main()
File "/cosma/home/analyse/epaillas/code/pyrecon/bin/pyrecon", line 340, in main
positions_rec['data'] = positions['data'] - recon.read_shifts('data', field=field)
File "/cosma/home/analyse/epaillas/code/pyrecon/pyrecon/iterative_fft_particle.py", line 191, in read_shifts
shifts = read_cic(self._positions_rec_data)
File "/cosma/home/analyse/epaillas/code/pyrecon/pyrecon/iterative_fft_particle.py", line 187, in read_cic
shifts[:,iaxis] = psi.read_cic(positions)
File "/cosma/home/analyse/epaillas/code/pyrecon/pyrecon/mesh.py", line 561, in read_cic
raise MeshError('Issue with read_cic')
pyrecon.mesh.MeshError: Issue with read_cic
Have you run into this problem before?

The linked pull request should achieve this and also solve the CIC failure @epaillas mentioned.

Solved in PR #10. May I close this issue?

Yes, good to close


A subscription to EventPipeEventSource.Dynamic.All does not resolve event names from CLR events

I'm following along with the sample code included in the dotnet/Diagnostics repository.  This code uses an EventPipe attachment to a second process to monitor events in real time.
I'm experiencing a problem where the events that appear do not resolve to EventName/TaskName, and instead display Task(044973cd-251f-4dff-a3e9-9d6307286b05), which is the GUID for the Task (GarbageCollection) the sample utilizes.
I expected to see actual event names such as GCStart/GCEnd.
Having opened https://github.com/dotnet/diagnostics/issues/685 and been redirected to this repository, I'm wondering if you can offer some insight into this behavior.
Note that subscribing to EventPipeEventSource.Clr.All, as shown in samples here, does not exhibit this issue.  Only EventPipeEventSource.Dynamic.All.  Additionally, resolving names works fine with custom EventSources, but not with CLR sources.
It sounds like there was an issue with Dyamic.All here, but it looks like it was resolved?
https://github.com/microsoft/perfview/issues/461

The test cases for EventPipe parsing use EventPipeEventSource.AllEvents.  I have tested this and experience similar behavior.
<Event MSec="69425.9159" PID="10636" PName="Process(10636)" TID="24980" IsClassic="False" ProviderName="Provider(e13c0d23-ccbc-4e12-931b-d9cc2eee27e4)" eventID="9" TaskName="EventID(9)" TaskNum="0" OpcodeNum="0" Version="1" Level="4" PointerSize="8" EventDataLength="10">
     0:   1  0  0  0  2  0  0  0 |  b  0                     ........ ..
</Event>


Speakers at a PyData conference can have empty name field

When the name field for a speaker is empty, the accordion in the bulk import workflow does not have a header. This leads to a bug wherein we cannot open up the accordion to view the fields within it.

@narayanaditya95 can you fix it during this weekend for the v1.8 or should I schedule for v1.9?

I will submit a fix today.


err_tunnel_connection_failed while DenyConnect

I use explicitEndPoint.
at onBeforeTunnelConnectRequest set
e.DenyConnect = true for specific host
And I get ERR_TUNNEL_CONNECTION_FAILED at chrome.
No change If I set response statuscode & description...

I think that is normal. If you set the DenyConnect then chrome shows that error.
What were you expecting?

I close this isse, feel free to reopen if needed.


.env file picker on Mac not showing ".env file" (i.e., file with extension only)

Hi There. Thanks a ton for your tool. I've been putting off updating IDEA because of past issues with EnvFile, but I finally got around to trying the two together. First thing I noticed is that the file picker doesn't show my file named ".env" in my project, i.e., files with an extension but no name. It does allow picking files with both name and extension. It's my understanding that ".env" is a common name. Thank you.
versions:

EnvFile 3.2.2
IntelliJ IDEA 2021.3.3 (Ultimate Edition)
macOS Catalina (10.25.7)

Have yo tried instructions from readme? https://github.com/ashald/EnvFile#hidden-files

Damn, sorry about that. I forgot to RTFM. I assumed that the Finder setting that I changed ages ago in the Terminal would carry through to the select dialogs. Thanks again for the excellent tool.


added countryCurrency

Will update the doc after #46 is merged

Oh God. It begins!

@UmanShahzad @rm-Umar Shall I merge #46 ? 😅

@UmanShahzad @rm-Umar Shall I merge #46 ? 😅

There's couple of changes required, we can change and merge it afterwards

@UmanShahzad @rm-Umar Shall I merge #46 ? sweat_smile

Yup I merged it there were couple of changes required I changed them and merged it.


"haxelib dev" doesn't change the path used in FD

I have a haxelib that I released and started using in a project.
Now, I'd like to change the code, and commit to the git repo as I go.  So I did "haxelib dev mylib /path/to/git/repo/", which succeeded with "Development directory set to...".
Even after restarting FD, though, if I press F4 when on a mylib class, it opens the one under C:\haxelib... rather than my git repo.
FD <IP_ADDRESS> on Win7/64.

This is unlikely to be a FlashDevelop issue, it just uses the haxelib paths provided by Lime / OpenFL. What does haxelib list mylib say?
export/<target>/haxe/debug.hxml (or release.hxml) contains the arguments passed to the Haxe compiler by Lime, which is the same info FlashDevelop uses. What's the path there?

haxelib list mylib gives the correct git repo path I had given.
debug.hxml gives the C:\haxelib path instead.  What causes debug.hxml to be regenerated?

So this is just Lime handling dev libraries incorrectly then. There's definitely some issues regarding how it handles haxelib dev and the version attribute (see https://github.com/openfl/lime/issues/686), but maybe the issue is more general than that.
Compiling for that target causes it to be generated.
Btw, I've personally found haxelib dev to be a major pain. I just use haxelib git, which works perfectly fine, and run haxelib dev <lib> afterwards to disable the development directory (since it causes issues like haxelib set failing silently).

Hmm...haxelib git said it installed from my local repo, but I'm still having the same issue, also after compiling and restarting FD and compiling again.  Thanks for the Lime link and for your help.  :)

Oops, besides, I put an underscore instead of a hyphen in my lib name.  Now it actually works...but before I swear I was having a similar issue but didn't manage to report it.  Oh well, I'll come back with something more solid if it happens again...


Merge last updates from master to live

:x: Validation status: errors

File
Status
Preview URL
Details

:x:Error

Details

[Error] Cannot sync git repo to specified state. Please make sure the pull request is mergeable. Details: Git merge results in conflict, repository remote url: https://github.com/MicrosoftDocs/VBA-Docs, working directory: W:\gszr-s, target branch: live, target branch commit: a8ed8657a84095514d1697f3525feed0053abfa0, source branch: master, source branch commit: .

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

Language/Concepts/Forms/add-a-watch-expression.md
:white_check_mark:Succeeded
View

Language/Concepts/Forms/adjust-horizontal-and-vertical-spacing-between-controls.md
:white_check_mark:Succeeded
View

Language/Concepts/Forms/align-controls.md
:white_check_mark:Succeeded
View

Language/Concepts/Forms/assign-a-control-tip-to-a-control.md
:white_check_mark:Succeeded
View

Language/Concepts/Forms/assign-a-control-tip-to-a-page-or-tab.md
:white_check_mark:Succeeded
View

Language/Concepts/Forms/make-controls-the-same-size.md
:white_check_mark:Succeeded
View

Language/Concepts/Forms/object-model-for-microsoft-forms.md
:white_check_mark:Succeeded
View

Language/Concepts/Forms/passwordchar-property.md
:white_check_mark:Succeeded
View

Language/Concepts/Forms/select-a-grid-size.md
:white_check_mark:Succeeded
View

Language/Concepts/Forms/set-the-tab-order-using-the-tab-order-dialog-box.md
:white_check_mark:Succeeded
View

Language/Concepts/Forms/set-the-tab-order-using-the-tabindex-property.md
:white_check_mark:Succeeded
View

Language/Concepts/Forms/should-i-use-a-multipage-or-a-tabstrip.md
:white_check_mark:Succeeded
View

Language/Concepts/Forms/tips-on-setting-the-dominant-control.md
:white_check_mark:Succeeded
View

Language/Concepts/Forms/transparency-in-microsoft-forms.md
:white_check_mark:Succeeded
View

Language/Concepts/Forms/use-z-order-to-layer-controls.md
:white_check_mark:Succeeded
View

Language/Concepts/Forms/ways-to-change-the-appearance-of-a-control.md
:white_check_mark:Succeeded
View

Language/Concepts/Forms/ways-to-create-an-option-group.md
:white_check_mark:Succeeded
View

Language/Concepts/Forms/ways-to-protect-sensitive-information.md
:white_check_mark:Succeeded
View

Language/Concepts/Forms/ways-to-put-data-in-a-listbox-or-combobox.md
:white_check_mark:Succeeded
View

Language/Concepts/Forms/what-is-a-multipage.md
:white_check_mark:Succeeded
View

Language/Concepts/Forms/what-is-a-shortcut-menu.md
:white_check_mark:Succeeded
View

Language/Concepts/Forms/what-is-a-tabstrip.md
:white_check_mark:Succeeded
View

Language/Concepts/Forms/what-is-the-difference-between-the-dataobject-and-the-clipboard.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/and-operator.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/beforedragover-event.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/beforedroporpaste-event.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/command-function.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/filter-function.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/freefile-function.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/msgbox-function.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/multirow-property.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/multiselect-property-microsoft-forms.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/object-already-loaded-error-360.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/object-browser-command-view-menu.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/object-browser.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/object-data-type.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/object-does-not-have-a-property-let-procedure.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/object-doesn-t-support-current-locale-setting-error-447.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/object-doesn-t-support-named-arguments-error-446.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/object-doesn-t-support-this-action-error-445.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/object-doesn-t-support-this-property-or-method-error-438.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/object-library-feature-not-supported.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/object-library-for-visual-basic-for-applications-not-found.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/object-library-not-registered.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/object-library-s-language-setting-incompatible-with-current-project.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/object-module-must-implement-all-procedures-in-interface.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/object-property-vba-add-in-object-model.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/object-property.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/object-required-error-424.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/object-variable-not-set-error-91.md
:white_check_mark:Succeeded
View

This comment lists only the first 50 files in the pull request.
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Failed setup, will retry: Config Not Ready: Login Failed

Region and Brand of car
Australia
Kia Niro EV
Version of the integration
2.24.5
Describe the bug
The integration has been working well until approx 4.30am AEST today, 13th June 2024.
Now all the sensors are showing as "unavailable".
I am still able to use the Kia Connect app with the same credentials. No issues there.
Neither restarting HA nor reloading the integration seem to fix the problem.
Debug logs if an error occurred
2024-06-13 15:46:13.452 DEBUG (SyncWorker_4) [hyundai_kia_connect_api.KiaUvoApiAU] hyundai_kia_connect_api - Get Device ID request: {'ccsp-service-id': '***snip***', 'ccsp-application-id': '***snip***', 'Stamp': '***snip***', 'Content-Type': 'application/json;charset=UTF-8', 'Host': 'au-apigw.ccs.kia.com.au:8082', 'Connection': 'Keep-Alive', 'Accept-Encoding': 'gzip', 'User-Agent': 'okhttp/3.12.0'} {'pushRegId': '***snip***', 'pushType': 'GCM', 'uuid': '***snip***'}
2024-06-13 15:46:13.984 DEBUG (SyncWorker_4) [hyundai_kia_connect_api.KiaUvoApiAU] hyundai_kia_connect_api - Get Device ID response: {'retCode': 'S', 'resCode': '0000', 'resMsg': {'deviceId': '***snip***'}, 'msgId': ''***snip***'}
2024-06-13 15:46:13.984 DEBUG (SyncWorker_4) [hyundai_kia_connect_api.KiaUvoApiAU] hyundai_kia_connect_api - Get cookies request: https://au-apigw.ccs.kia.com.au:8082/api/v1/user/oauth2/authorize?response_type=code&client_id='***snip***&redirect_uri=https://au-apigw.ccs.kia.com.au:8082/api/v1/user/oauth2/redirect&lang=en
2024-06-13 15:46:14.555 DEBUG (SyncWorker_4) [hyundai_kia_connect_api.KiaUvoApiAU] hyundai_kia_connect_api - Get cookies response: {'account': ''***snip***'}
2024-06-13 15:46:15.074 DEBUG (SyncWorker_4) [hyundai_kia_connect_api.KiaUvoApiAU] hyundai_kia_connect_api - Sign In Response: {'step': 5, 'upgrade': False}
2024-06-13 15:46:15.074 DEBUG (SyncWorker_4) [hyundai_kia_connect_api.KiaUvoApiAU] hyundai_kia_connect_api - get_authorization_code_with_redirect_url failed
2024-06-13 15:46:15.076 DEBUG (MainThread) [custom_components.kia_uvo.coordinator] Finished fetching kia_uvo data in 1.625 seconds (success: False)

To Reproduce
Reload the integration
Expected behavior
Integration should be able to connect and fetch data and update the sensors.
Screenshots

Additional context

Seems like this might have been an issue on the server side.
As mentioned earlier, there were no problems in the Kia Connect app on my phone - I was able to view and control the vehicle. But one thing I hadn't tried was to log out of the Kia Connect app on my phone and log back in again. I did this today and it forced me to change my password. It didn't give me a reason why...
I changed the password in the app and then changed the password in the Home Assistant integration and now it all seems to be working again.
For reference, the Kia Connect integration password can be updated in the following file in Home Assistant:
config/.storage/core.config_entries  (search for "kia" and you'll see it)
Closing this issue now.
PS. Thanks to all who built and support this integration!

This issue is not resolved - please reactivate.
Entities became unavailable last night.
Neither most recent not downgrading works.
Logging in and out of Kia app didn't work (no prompt to change password)


Feedback - MileStone 2

Well done!
You have successfully done all the sections and got the correct results.

Thanks, Ali! Have a good one!


S4 for Seq2seq tasks?

Hello,
You have shown S4's great ability and efficiency on classification and unconditional generation (wikitext-103) tasks. I am wondering if S4 can be applied to conditional generation tasks such as summarization and machine translation?  A simple idea is to   re-organize these tasks to language modeling tasks, but I am not sure whether the generation quality would be affected.

This is a great idea! We haven't tried it yet, so we don't know how the generation quality will be - but we think there are many interesting conditional tasks where S4 might perform well, for example on the SCROLLS dataset for long range modeling. Feel free to follow up privately for more specific questions.


Mind the lower case and the ...
You can find more information at Jfrog Cli README.

facepalm should have read the manual... thanks @romangurevitch!


UI not responsive

When the same request is made multiple times, nothing happens on the UI.

closed #49


MEI Basic: restrict creator elements in header

The elements arranger, composer, and lyricist in the header (children of titleStmt) allow to many confusing child elements:
<arranger>This<persName>is</persName><symbol/><title>quite</title><rend>weird</rend></arranger>
I would propose to restrict these to only text content. That would make the usage and handling of these elements much more "basic".

Or we just take them out completely and rely only on respStmt/persName@role.
Any thoughts?


Minor typo in MessagesPlaceholder() class

Issue with current documentation:
Line 699 is missing a "}":
///   MessagesPlaceholder(variableName: '{history'),

Idea or request for content:
///   MessagesPlaceholder(variableName: '{history}'),

Fixed, thanks!!


Docs.MS Release Updates for azure-event-hubs

Update docs metadata and targeting for release of azure-event-hubs

Docs Build status updates of commit 03a0f14:
:warning: Validation status: warnings

File
Status
Preview URL
Details

docs-ref-services/latest/event-hubs-readme.md
:warning:Warning
View (azure-node-latest)
Details

docs-ref-services/latest/event-hubs-readme.md

Line 9, Column 16: [Warning-ms-prod-technology-invalid] Invalid value for 'ms.technology': 'azure' is not valid with 'ms.prod' value 'azure'.
Line 2, Column 1: [Suggestion-description-missing] Missing required attribute: 'description'.
Line 20, Column 1: [Suggestion-table-syntax-invalid] Table syntax is invalid. Ensure your table includes a header and is surrounded by empty lines. NOTE: This Suggestion will become a Warning on 1/29/21.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


Fix a merge conflict introduced in c303e32

Remove the merge conflict lines to let the plugin run again.  I think this fix leaves the intended lines.

thanks!


bugfix

Motivation and Context
Bug: Browse experience provides inaccurate reference citations

Description

Contribution Checklist

[ ] I have built and tested the code locally and in a deployed app
[ ] For frontend changes, I have pulled the latest code from main, built the frontend, and committed all static files.
[ ] This is a change for all users of this app. No code or asset is specific to my use case or my organization.
[ ] I didn't break any existing functionality :smile:

@Avijit-Microsoft Please review it .

@Roopan-Microsoft Please review it


Emit axioms only for types used in program

Previously, Boogie would emit axioms for all types it supports, even if not used in the input program. This PR causes it to instead emit axioms only for the types that are used. This results in more compatible SMT-Lib files, usable by solvers that don't support theories such as regular expressions.
Fixes #660. Also addresses part of #659.

@atomb:
When I try to run the test UsedTypes.bpl on my machine (Mac), I get this error message:
$ "!" "grep" "RegEx" "/Users/shaz/Source/boogie/Test/prover/Output/UsedTypes.bpl.tmp.smt2"
# command stderr:
'!': command not found
error: command failed with exit status: 127

Do I have to install some other tool ?

Oh, interesting. It works correctly on my Mac. I'll look into whether there's a better way to require the absence of a match in a file.

Oh, interesting. It works correctly on my Mac. I'll look into whether there's a better way to require the absence of a match in a file.

Dafny has this line to introduce !: https://github.com/dafny-lang/dafny/blob/master/Test/lit.site.cfg#L178
But that's not in https://github.com/boogie-org/boogie/blob/master/Test/lit.site.cfg

Oh, interesting. It works correctly on my Mac. I'll look into whether there's a better way to require the absence of a match in a file.

Dafny has this line to introduce !: https://github.com/dafny-lang/dafny/blob/master/Test/lit.site.cfg#L178
But that's not in https://github.com/boogie-org/boogie/blob/master/Test/lit.site.cfg

Strange, given that I wasn't using Dafny's configuration to run this test. Regardless, the test uses a more standard approach now.


Avoid exception handling for PostgresTarget.create_marker_table() with "CREATE TABLE IF NOT EXISTS"

I think it would be more elegant to add IF NOT EXISTS in the query for creating the marker_table in luigi.contrib.postgres module, instead of dealing with an exception to handle the case where the table already exists.
CREATE TABLE IF NOT EXISTS {marker_table} {
update_id TEXT PRIMARY KEY,
target_table TEXT,
inserted TIMESTAMP DEFAULT NOW())

IF NOT EXISTS is available since postgres 9.1 (released more than 5 years ago) and it seems that it is also available in many RDBMS.
So if the method should be rewrote I guess it would be as follows:
    def create_marker_table(self):
        """
        Create marker table if it doesn't exist.

        Using a separate connection since the transaction might have to be reset.
        """
        connection = self.connect()
        connection.autocommit = True
        cursor = connection.cursor()
        if self.use_db_timestamps:
            sql = """ CREATE TABLE IF NOT EXISTS {marker_table} (
                      update_id TEXT PRIMARY KEY,
                      target_table TEXT,
                      inserted TIMESTAMP DEFAULT NOW())
                """.format(marker_table=self.marker_table)
        else:
            sql = """ CREATE TABLE IF NOT EXISTS {marker_table} (
                      update_id TEXT PRIMARY KEY,
                      target_table TEXT,
                      inserted TIMESTAMP);
                  """.format(marker_table=self.marker_table)
        try:
            cursor.execute(sql)
        except psycopg2.ProgrammingError as e:
                # in case there is another exception, i.e. other than a duplicated table name, raise
                raise
        connection.close()

Again I am not experienced enough to make a PR, so if any good soul can manage to do it...
Thanks

Again I am not experienced enough to make a PR, so if any good soul can manage to do it...

Not correct. Anyone can make a PR. All previous, current and future contributors are humans and typically make mistakes. We would be happy to accept your bugfix. :)

Here you go.
You were true, anyone can make a PR!

resolved by #2064


Pipy registration

Is your feature request related to a problem? Please describe.
Hey there! Can we have library of zippy?
Describe the solution you'd like
just a clean pip3 install zippy/xyz would be smoother :)
Describe alternatives you've considered
none
Additional context
Please consider implementing it to https://pypi.org/

Thanks for the suggestion @g4ze, we'll work on getting is under the thinkst packages on PyPi.

@g4ze You should be able to install it via pip install thinkst-zippy (there was another zippy on PyPi), then you can import zippy or run zippy on the command-line. Thanks to @jayjb the PyPi package will track releases here. Let us know if you have any troubles (I'll update the README shortly).


Still gets banned after renaming.

identifiers":["#################"],
"reason":"Player has tried to trigger 'iprp:getSharedObject'",
"name":"P182F302AD"

nevermind got it fixed!


Cluster ping

My Object Cache for WordPress supports PhpRedis as well as Predis.
To make sure the server is responding, it's pinging Redis after establishing a connection. That works fine with a single instance or even with a cluster using PhpRedis.
However, Predis doesn't allow PING on clusters:
Cannot use 'PING' with redis-cluster. (Predis\NotSupportedException)

We've tried using the suggestions from #75, but they appear to be outdated.
Is there any way to execute a ping on a Redis cluster? A single instance is fine.
Or is there a better way to check if the connection is working?
Thanks!
For more context, here is the issue: https://github.com/tillkruss/redis-cache/pull/112

One way may be feasible:
In the place where the server can be tested to execute the Ping command, try to write a set of logic that links each cluster node in a single point link and sends PING. If the service is available, it returns PONG and then disconnects the single point link.


Provide the ClusterID via the Admin API

Which issue this PR addresses:
Part of the M4 work
What this PR does / why we need it:
Exposes the cluster ID in the admin API, since right now it's not very easily available.
This means we can avoid using a randomly generated namespace in Hive because now the ID we already have is stable.
Test plan for issue:
Added unit tests for the GET for the admin API, which was missing.
Is there any documentation that needs to be updated for this PR?
N/A

Seems like we're not heading in this direction.


Vue Application Insights SDK

Is your feature request related to a problem? Please describe.
There are SDKs for Angular and React. But not for Vue, being a major Framework.
Describe the solution you'd like
An SDK for Vue with Route History + Features that React have.
Describe alternatives you've considered
Inserting the general application insights package.

Personally, I would really like to create an official Vue (v3) SDK.
But, due to current plans, commitments and the size of the team we don't currently have the bandwidth to be able to support another framework in the manner that a major framework like Vue deserves.

Hi @MSNev,
Sorry for reopening this issue but.
What would be required to create something similiar? Perhaps the community can pick this up. Especially as Vue seems to have a lot of traction these days in comparison to other major frontend libraries.


Authentication error

Hi Saitoxu
I cloned  this repository and tested it. when user sign up it saves in db but authentication doesn't work.
Are you sure your app is correct? if so could you help me?
Best regards
Paul

This problem could be solved by commenting module :trackable in models/user.rb as described here https://github.com/heartcombo/devise/pull/4857


Add additional test cases to Roman Numeral

This commit adds additional test case to the Roman Numeral challenge.
It was possible to pass the existing tests with partially correct code, as seen in the
issue discussion.
Tested locally.
closes #6616

Thanks :smile:


python311Packages.dbglib: init at 0.3.0

Description of changes
Add dbglib Python module to Nixpkgs. (side note: this is my first time contributing, so if I did something wrong or need to fix something, please let me know!)

Things done

Built on platform(s)

[X] x86_64-linux (using mkShell and callPackage in a flake.nix, not sure if this is what was meant)
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

How should I best go about squashing and/or splitting my commits to match what is needed?


IB Designables issue

Error on console - Fail to render and update auto layout status for viewController(Tsg-HD-LBo): Failed to launch designable agent because tool was shutting down. check the console for a more detailed description and please file a bug report at feedbackassistant.com
on creating build  the archive of app. work fine in debug mode. Please check this issue
Process:               IBDesignablesAgent-iOS [49639]
Path:                  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/Xcode/Overlays/IBDesignablesAgent-iOS
Identifier:            IBDesignablesAgent-iOS
Version:               12.3 (17703)
Code Type:             X86-64 (Native)
Parent Process:        launchd_sim [28516]
Responsible:           SimulatorTrampoline [455]
User ID:               501
Date/Time:             2021-05-25 14:56:38.077 +0530
OS Version:            macOS 11.1 (20C69)
Report Version:        12
Anonymous UUID:        BFE8C29E-ACEE-3C30-748C-C5DF75B4B9C5
Time Awake Since Boot: 10000 seconds
System Integrity Protection: enabled
Crashed Thread:        0
Exception Type:        EXC_BAD_INSTRUCTION (SIGILL)
Exception Codes:       0x0000000000000001, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY
Termination Signal:    Illegal instruction: 4
Termination Reason:    Namespace SIGNAL, Code 0x4
Terminating Process:   exc handler [49639]
Application Specific Information:
CoreSimulator 757.5 - Device: iPhone 12 mini (1DD1CAF0-0420-4DAD-8DD0-5CDCE573BC9C) - Runtime: iOS 14.3 (18C61) - DeviceType: iPhone 12 mini
SwiftFortuneWheel/SwiftFortuneWheel.swift: 17: 14: Fatal error: Use of unimplemented initializer 'init(frame:)' for class 'SwiftFortuneWheel.SwiftFortuneWheel'

![Uploading Screenshot 2021-05-25 at 8.00.00 PM.png…]()

It was a bad idea to implement IBDesignable since live rendering not possible without a configuration, I will remove IBDesignable in the future release and leave it with IBInspectables only. You can temporarily turn off live rendering here if you need to make an archive:


proposal:rework approach for tool release along with Go 1.9

Hi all,
I would like to gauge the interest of this team and contributors for taking a different path in order to get this released with Go 1.9.
By the looks of the things now, there are many outstanding problems in various parts of the solution, and while I'm not saying it's an easy problem to fix, there are definitely different approaches that can be taken to solve it.
My personal interest is to get this merged as soon as possible in Go 1.9 tree and start shipping it with Go 1.9.
Why the rush you might ask?
The answer is simple:

so that people can get used to the tool
start migrating from their current favorite tool to this
package / application maintainers start tagging their releases more and more
tools like editors can start integrating with the project and provide a better user experience

The approach I would like to see is:

move the current tool to an experimental branch
start small and expand from there

What do I mean by start small?
Start from solving the smallest possible problem: getting the dependencies at the correct version for the user.
The process can be as simple as:

read manifest file
for each dependency do:

git clone dependency in vendor/
git checkout dependency at desired revision
if dependency exists and major version is different abort
if successful, read dependencies of the dependency, add to the list, if there's a major version conflict, abort

If this tool would then be merged into the main Go repository two things would happen:

people could start contributing more smartness to the tool
as the release cycle for Go 1.9 approaches there could be several options that present themselves:

continue to accept changes to it until Go 1.9 RC 1 is released (for example, could also just follow the Go release approach to do feature freeze and just bug fixing while in Beta period)
abort the tool and deliver it as a separate tool like now

I understand that this approach would sacrifice a lot of the features that the tool should have, but the goal of the tool should be to start getting it to be used as a stable tool, not just by people that are adventurous (and often don't read the big warning that the tool is in pre-alpha state, as it has been my experience for the past few weeks from people on Slack reacting with: Oh, I didn't knew it's not stable yet).
Must it be released along side if with Go?
That's up for debate, maybe not, maybe it can just sit in this repository, but it should be usable and have no problems at all. Currently looking at the various issues (with many panics, which is a rather unexpected behavior), it doesn't look like it will be usable any time soon and personally I can't recommend it to anyone / start working on an integration for it / contribute to it such an integration.
As such, I urge the maintainers of this project to reconsider their approach and instead of trying to solve all the problems at once and have the "best in-class" tool, have a dumb tool that just works but it gets better in time.
Thank you.

+1

As such, I urge the maintainers of this project to reconsider their approach and instead of trying to solve all the problems at once and have the "best in-class" tool, have a dumb tool that just works but it gets better in time.

We are not even close to "trying to solve all the problems at once." We have whittled down the list of requirements to a very small set of achievable features.
Furthermore, nobody is going to switch to a tool that doesn't give them some baseline feature set. If nobody switches, the effort is totally in vain.
Scope was a major part of the discussion from day one. We made a lot of careful decisions to get where we are now. We are not going to throw all that work away now.
Thanks for your suggestion.


Handle generics of real numbers

The generation of asserts for generics does not handle reals (Double or Float) as expected: Double/Float are processed as Objects, while they should be processed as reals.
Ex:
class Of<T> {
  T value;
}
class OfDouble extends Of<Double> {
}

Actual result:
class OfDoubleAssert extends AbstractAssert<OfDoubleAssert , OfDouble> {
  public OfDoubleAssert hasValue(Comparable avg) {
     ...
  }
}

Expected result:
class OfDoubleAssert extends AbstractAssert<OfDoubleAssert , OfDouble> {
  public OfDoubleAssert hasValue(Comparable avg) {
     ...
  }

  public Double hasValueCloseTo(Double value, Double offset) {
     ...
  }

}

Thanks !

I haven't done any experiment but I think that is due to your generic classes, at runtime generic types are lost, since the assertions generator introspects classes, it is not aware that it should deal with Double.
If you were to write your OfDoublewithout generics, it should works fine (I'm not saying you can or you should, your design probably uses generics).
I'm gonna investigate the issue anyway to confirm my assumption and see if can find the correct type at runtime anyway (I have my doubts though it is possible).
I have priority work to do on assertj-core 3.2.0 so I won't work soon on this issue (just to be clear, don't expect quick feedback on this one).

You are right, generic information is lost at runtime (for compatibility reasons), but can be found by reflection, even if it is not trivial to handle hierarchies:
http://www.artima.com/weblogs/viewpost.jsp?thread=208860
https://github.com/jhalterman/typetools

Supporting generic is really complicated see: https://github.com/joel-costigliola/assertj-assertions-generator/issues/92#issuecomment-325288696.


GuzzleAdapter and Requestfactory excessive

cmfcmf/openweathermap-php-api: ^3.0
does not work with 'recommended' (really?)
         "guzzlehttp/guzzle": "^6.3",
        "graham-campbell/guzzle-factory": "^3.0"

I think, custom HTTP Request factory and HTTP client is excessive.

Hi @KarelWintersky,
I understand that requiring to install two separate libraries can be excessive if you just want to retrieve some weather data. However, most bigger projects will likely already have PSR-17/18-compatible libraries installed.
The example in the README lists two working libraries and their versions that you could try:

http-interop/http-factory-guzzle ^1.0
php-http/guzzle6-adapter ^2.0 || ^1.0


Pull Request for multi-layer support

Hi there,
I just finished some refactoring for multi-layer support. I basically implemented a lower level Map class and all appropriate Layer classes. This was needed because the current *Viz classes are a combination of setting up the main Map instance as well as adding the (Source and) and Layers with the actual data. I am not a big fan of the Viz-collection-approach because each Viz instance can have its own specification of the actual Map (for example the "size" or "base-layer" etc). I think its more appropriate to get closer to the actual JS implementation and have Python classes for Map and Layers as well.
Most of the logic now happens in these lower Map and Layer classes, the *Viz classes just pass the logic onto these lower-level classes (Map and a single Layer). I didnt want to remove them for backwards compatibility but the idea for the future is that people start using the Map and Layer API's. I will try to add an example as soon as possible.
I have tested locally an example with multiple choroplethlayers and have run the examples contained in the project. I think some of the tests are broken so that has to be checked as well.

@lucasvw I like the idea of a layer-based api. Overall cleaner.  Mine was definitely more of an experiment from a few months back. Curious to see how you handle layer ordering. Looking forward to checking it out!

Agreed, I also think its the right approach. I also kind of like the "json specs" approach although I have my doubts: (1) i guess the python api will never be as complete as the Javascript lib, its more a quick way to create visualizatios based on data that you wrangled in python.. if you need full control over the visualization, youll always need to get down to mapboxgl-js. (2) you probably cant get rid of javascript code snippets in this repo, I am not totally familiar with the expressiveness of the jskn spec but I guess you ll always need some JS glue to make everything work (can you declare legends for example in the spec?)
Currently havent done anything extra related to layer ordering, e.g. the belowLayer functionality is copied over to the Layer level.
Ill make an example with multilayers as soon as possible, probably sunday or monday.

I think the JSON layer specification is still important to develop (#23) but I don't think it is mutually exclusive with using a layer-based API :)

Great, sounds good. I might also just have to dive a little bit deeper into these style-sheets to understand it better and how it could be used.
Sent from my Samsung device
-------- Original message --------
From: akacarlyann<EMAIL_ADDRESS>Date: 10/5/18  18:32  (GMT+01:00)
To: mapbox/mapboxgl-jupyter<EMAIL_ADDRESS>Cc: Lucas van Walstijn<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [mapbox/mapboxgl-jupyter] Pull Request for multi-layer support
  (#129)
I think the JSON layer specification is still important to develop (#23) but I don't think it is mutually exclusive with using a layer-based API :)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/mapbox/mapboxgl-jupyter","title":"mapbox/mapboxgl-jupyter","subtitle":"GitHub repository","main_image_url":"https://assets-cdn.github.com/images/email/message_cards/header.png","avatar_image_url":"https://assets-cdn.github.com/images/email/message_cards/avatar.png","action":{"name":"Open in GitHub","url":"https://github.com/mapbox/mapboxgl-jupyter"}},"updates":{"snippets":[{"icon":"PERSON","message":"@akacarlyann in #129: I think the JSON layer specification is still important to develop (#23) but I don't think it is mutually exclusive with using a layer-based API :)"}],"action":{"name":"View Pull Request","url":"https://github.com/mapbox/mapboxgl-jupyter/pull/129#issuecomment-427425057"}}}
[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/mapbox/mapboxgl-jupyter/pull/129#issuecomment-427425057",
"url": "https://github.com/mapbox/mapboxgl-jupyter/pull/129#issuecomment-427425057",
"name": "View Pull Request"
},
"description": "View this Pull Request on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
},
{
"@type": "MessageCard",
"@context": "http://schema.org/extensions",
"hideOriginalBody": "false",
"originator": "AF6C5A86-E920-430C-9C59-A73278B5EFEB",
"title": "Re: [mapbox/mapboxgl-jupyter] Pull Request for multi-layer support (#129)",
"sections": [
{
"text": "",
"activityTitle": "akacarlyann",
"activityImage": "https://assets-cdn.github.com/images/email/message_cards/avatar.png",
"activitySubtitle": "@akacarlyann",
"facts": [
]
}
],
"potentialAction": [
{
"name": "Add a comment",
"@type": "ActionCard",
"inputs": [
{
"isMultiLine": true,
"@type": "TextInput",
"id": "IssueComment",
"isRequired": false
}
],
"actions": [
{
"name": "Comment",
"@type": "HttpPOST",
"target": "https://api.github.com",
"body": "{\n"commandName": "IssueComment",\n"repositoryFullName": "mapbox/mapboxgl-jupyter",\n"issueId": 129,\n"IssueComment": "{{IssueComment.value}}"\n}"
}
]
},
{
"name": "Close pull request",
"@type": "HttpPOST",
"target": "https://api.github.com",
"body": "{\n"commandName": "PullRequestClose",\n"repositoryFullName": "mapbox/mapboxgl-jupyter",\n"pullRequestId": 129\n}"
},
{
"targets": [
{
"os": "default",
"uri": "https://github.com/mapbox/mapboxgl-jupyter/pull/129#issuecomment-427425057"
}
],
"@type": "OpenUri",
"name": "View on GitHub"
},
{
"name": "Unsubscribe",
"@type": "HttpPOST",
"target": "https://api.github.com",
"body": "{\n"commandName": "MuteNotification",\n"threadId": 387658435\n}"
}
],
"themeColor": "26292E"
}
]

Agree with @akacarlyann @lucasvw, this is a great implementation.  Let's move forward with this approach for multi-layer management.

Great!
I just added a new example: examples/notebooks/multi-layer-example.ipynb
It shows the Map and Layer API as well as a multi-layer example.
Feedback is welcome =)

Nice!  I'll check it out later this week.  Thanks @lucasvw !

Cool.
To summarize:

layers.py contains all logic related to layers, there is an abstract layer class and all other layers inherit from this class
map.py contains a single Map class
Most logic from all the Viz-classes is removed. Viz-classes just create a Map instance under the hood as well as the associated Layer instance
I tried as good as possible to split attributes between either the Map class (size of div, center of map, basic legend layout etc) and the individual Layer classes (data and layer and legedn specific stuff)  but have a look if it all makes sense.
To make sure that attribute assignment on the Viz classes still works (as I saw is often used in the examples) I pass this assignment to either the associated Map or Layer instance through overriding the __setattr__ method
The Map class has an array layers and an add_layer(), remove_layer() method
Creation on HTML and the template structure is also slighly changed: Layer templates no longer inherit from the base, main and map templates. There is a single template for the map and individual templates for the layers. Upon creation of the HTML (for .show() method ) the templates from Map and all individual layers are gathered and merged.
If there are more than one layers with legends the respective legend elements should be rendered below each other (created a new legend-container div)

Some interactive layer control (turn on/off layers) would perhaps be a good next step..?

Thanks for the architecture overview.

Some interactive layer control (turn on/off layers) would perhaps be a good next step..?

Agree, that would be a great addition in a new PR!

thanks @lucasvw, can't wait to see it live, @ryanbaumann let me know if you need help here

@vincentsarago added you to contributors - yes, please take this PR review if you have time.  Thank you!

Just merged in https://github.com/mapbox/mapboxgl-jupyter/pull/120 which will cause a few conflicts on this branch.  Next steps are to do a git rebase with master and push to this branch.

@emakarov Thanks a lot for your review and comments, much appreciated!

Hi everyone, thanks for all the feedback! I just started a new position and Iam kind of busy with that.. so I am afraid it will take a little until I have spare-time to spend on this. Feel free to fork and continue if somebody has earlier availability!

This is a huge feature and very close @lucasvw - do you have time to finish off for the coming release at the end of December 2019?


fix(console): better error messages

Complements #5382
### Definition of Ready
- [ ] I am happy with the code
- [ ] Short description of the feature/issue is added in the pr description
- [ ] PR is linked to the corresponding user story
- [ ] Acceptance criteria are met
- [ ] All open todos and follow ups are defined in a new ticket and justified
- [ ] Deviations from the acceptance criteria and design are agreed with the PO and documented.
- [ ] No debug or dead code
- [ ] Critical parts are tested automatically
- [ ] Where possible E2E tests are implemented
- [ ] Documentation/examples are up-to-date
- [ ] All non-functional requirements are met
- [ ] Functionality of the acceptance criteria is checked manually on the dev system.

@peintnermax I think what you addressed in the first review was the bad practice of manually subscribing to observables?
The new component subscribes in the template using the async pipe.
Do you think there are other best practices violated in this PR?
Didn't find one here https://blog.brecht.io/rxjs-best-practices-in-angular/#avoiding-manual-subscribes-in-Angular


Added QoL properties to ScissorGroup.

Added some quality of life properties to the ScissorGroup class at examples/opengl_scissor.py.
These include X, Y, width, and height.

Thanks for the pull request. The reason I didn't make these attributes public, was because it might cause confusion if they are changed. If two groups are created with the same area, they will be consolidated internally:
groupa = ScissorGroup(10, 10, 100, 100)
groupb = ScissorGroup(10, 10, 100, 100)
groupa == groupb   # True

If you then change the area these groups, only one of them will actually have any effect (as the other one is discarded internally, and not used when drawing).
We could dump the hash/eq methods so that different instances of this group are not consolidated.
It would avoid issues like this, but would cause performance issues if someone were to create multiple instances of the same Group instead of reusing the same instance. Maybe that would be better though.

Hmm, I didn't think about that. :/
As an end-user, I would probably prefer it if they stayed as separate instances, though I'm not 100% sure on the performance implications of this.

I also realise that I accidentally added another commit (Anchor constants to pyglet.text), this was by mistake, do you know how I should remove it? (My fault for not making a separate branch for it :P )

If you're just going to make a few, then there won't be any performance problem. The problems arise if you try to do something like this:
for i in range(tile_width):
    group = ScissorGroup(10, 10, 100, 100)
    sprite = Sprite(....group=group)

For something like OrderedGroup(order) that pattern is fine, since they don't change and can get consolidated together internally. Without the hash/eq methods, however, you would end up with every single Sprite instance being in a separate Group, and hence a separate internal draw call. The solution is to do something like this:
group = ScissorGroup(10, 10, 100, 100)
for i in range(tile_width):
    sprite = Sprite(....group=group)

That way you have only a single Group instance, so eq/hash methods don't come into play since no consolidation will happen.
As for the stray commit, I think the only thing you can do is to revert the file back the way it was an commit again. Other than that I'm not sure.

Since this Group can't be consolidated if the scissor area is different, maybe we just dump the hash/eq methods, and just expose x, y, width, height attributes directly. It will simplify the class, and won't need the extra properties.
In that case we should also write in the docstring that you should use the same exact instance for all objects that will be in the group, and not make a new instance each time. What do you think?

Sounds good 👍

How about dropping all of the properties/setters, and just exposing x, y, width, height attributes directly?

I removed the x, y, width and height properties in favour of exposing them directly.
I also added an area property.

Thanks!