[flowbroker-ui] service health check

I'm submitting a ...

[x] bug report
[ ] feature request
[ ] support request

Do you want to request a feature or report a bug?
bug

What is the current behavior?
Although the service is healthy, the functionality is not available.

If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem

docker-compose logs -f --tail 2000 flowbroker-ui
Attaching to dojot_flowbroker-ui_1
flowbroker-ui_1               |
flowbroker-ui_1               | ><EMAIL_ADDRESS>app /opt/flowbroker-ui
flowbroker-ui_1               | > NODE_ENV=production node index.js
flowbroker-ui_1               |
flowbroker-ui_1               | 2021-12-16T12:31:03.692Z -- microservice-sdk:service-state-manager -- info: Initializing the ServiceStateManager...
flowbroker-ui_1               | 2021-12-16T12:31:03.698Z -- microservice-sdk:service-state-manager -- info: ServiceStateManager configuration: {
flowbroker-ui_1               |   lightship: {
flowbroker-ui_1               |     detectKubernetes: false,
flowbroker-ui_1               |     terminate: [Function: terminate],
flowbroker-ui_1               |     port: 9000,
flowbroker-ui_1               |     shutdownDelay: 10000,
flowbroker-ui_1               |     gracefulShutdownTimeout: 60000,
flowbroker-ui_1               |     shutdownHandlerTimeout: 5000
flowbroker-ui_1               |   }
flowbroker-ui_1               | }
flowbroker-ui_1               | 2021-12-16T12:31:03.714Z -- microservice-sdk:service-state-manager -- info: ... ServiceStateManager initialized.
flowbroker-ui_1               | 2021-12-16T12:31:03.807Z -- flowbroker-ui:http-server -- debug: Creating the Web Server
flowbroker-ui_1               | 2021-12-16T12:31:03.807Z -- flowbroker-ui:http-server -- debug: Web Server created!
flowbroker-ui_1               | 2021-12-16T12:31:03.808Z -- flowbroker-ui:http-server -- debug: Creating and configuring the Express Framework...
flowbroker-ui_1               | 2021-12-16T12:31:03.809Z -- flowbroker-ui:http-server -- debug: 	Websockets support enabled!
flowbroker-ui_1               | 2021-12-16T12:31:03.809Z -- flowbroker-ui:http-server -- debug: 	Registering highest level "interceptors" for the application...
flowbroker-ui_1               | 2021-12-16T12:31:03.809Z -- flowbroker-ui:http-server -- debug: 	Interceptor to be registered:  {"name":"request-log-interceptor"}
flowbroker-ui_1               | 2021-12-16T12:31:03.810Z -- flowbroker-ui:http-server -- debug: 	Sanitizing the interceptor so that only the pattern remains:  {"name":"","path":[],"middleware":[]}
flowbroker-ui_1               | 2021-12-16T12:31:03.810Z -- flowbroker-ui:http-server -- debug: 	Checking if the interceptor has valid path values...
flowbroker-ui_1               | 2021-12-16T12:31:03.810Z -- flowbroker-ui:http-server -- debug: 	The path values are checked!
flowbroker-ui_1               | 2021-12-16T12:31:03.810Z -- flowbroker-ui:http-server -- debug: 	Checking if the interceptor has middlewares to handle requests...
flowbroker-ui_1               | 2021-12-16T12:31:03.810Z -- flowbroker-ui:http-server -- debug: 	Middlewares to handle requests are checked!
flowbroker-ui_1               | 2021-12-16T12:31:03.811Z -- flowbroker-ui:http-server -- debug: 	Interceptor registered! ->  {"name":"request-log-interceptor","path":["/"],"middleware":[null]}
flowbroker-ui_1               | 2021-12-16T12:31:03.811Z -- flowbroker-ui:http-server -- debug: 	Interceptor to be registered:  {"name":"dojot-tenant-jwt-parse-interceptor"}
flowbroker-ui_1               | 2021-12-16T12:31:03.811Z -- flowbroker-ui:http-server -- debug: 	Sanitizing the interceptor so that only the pattern remains:  {"name":"","path":[],"middleware":[]}
flowbroker-ui_1               | 2021-12-16T12:31:03.811Z -- flowbroker-ui:http-server -- debug: 	Checking if the interceptor has valid path values...
flowbroker-ui_1               | 2021-12-16T12:31:03.811Z -- flowbroker-ui:http-server -- debug: 	The interceptor has no path value. Using '/' (root path)!
flowbroker-ui_1               | 2021-12-16T12:31:03.811Z -- flowbroker-ui:http-server -- debug: 	Checking if the interceptor has middlewares to handle requests...
flowbroker-ui_1               | 2021-12-16T12:31:03.811Z -- flowbroker-ui:http-server -- debug: 	Middlewares to handle requests are checked!
flowbroker-ui_1               | 2021-12-16T12:31:03.812Z -- flowbroker-ui:http-server -- debug: 	Interceptor registered! ->  {"name":"dojot-tenant-jwt-parse-interceptor","path":[],"middleware":[null]}
flowbroker-ui_1               | 2021-12-16T12:31:03.812Z -- flowbroker-ui:http-server -- debug: 	Interceptors for the application have been registered!
flowbroker-ui_1               | 2021-12-16T12:31:03.812Z -- flowbroker-ui:http-server -- debug: 	Using custom error handler!
flowbroker-ui_1               | 2021-12-16T12:31:03.812Z -- flowbroker-ui:http-server -- debug: Express Framework successfully configured!
flowbroker-ui_1               | 2021-12-16T12:31:03.812Z -- microservice-sdk:service-state-manager -- debug: Service server was registered
flowbroker-ui_1               | 2021-12-16T12:31:03.812Z -- flowbroker-ui:http-server -- debug: Express Framework registered as listener for requests to the web server.
flowbroker-ui_1               | 2021-12-16T12:31:03.815Z -- flowbroker-ui:http.service -- debug: Retrieving tenants from Dojot at http://auth:5000/
flowbroker-ui_1               | 2021-12-16T12:31:03.834Z -- flowbroker-ui:http.service -- error: Call tenants.service - Requesting error: connect ECONNREFUSED <IP_ADDRESS>:5000
flowbroker-ui_1               | 2021-12-16T12:31:03.834Z -- flowbroker-ui:index -- info: Tenants retrieved:
flowbroker-ui_1               | 2021-12-16T12:31:03.834Z -- flowbroker-ui:http-server -- debug: Starting Server server at <IP_ADDRESS>:2880
flowbroker-ui_1               | 2021-12-16T12:31:03.835Z -- flowbroker-ui:http-server -- info: Server ready to accept connections!
flowbroker-ui_1               | 2021-12-16T12:31:03.835Z -- flowbroker-ui:http-server -- info: { address: '<IP_ADDRESS>', family: 'IPv4', port: 2880 }

flowbroker-ui_1               | 2021-12-16T12:32:51.928Z -- flowbroker-ui:http-server -- info: - "HTTP/1.1 GET /nodered/" "404 147bytes 12ms" "<IP_ADDRESS> - Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:95.0) Gecko/20100101 Firefox/95.0"

What is the expected behavior?
The service should be healthy only when the functionality is available

What is the motivation / use case for changing the behavior?

Please tell us about your environment:

Version: flowbroker-ui/development
Environment: docker-compose
Operating system: Ubuntu 18.04

Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, gitter, etc)

If the service is rebuilt the functionality becomes available
docker-compose up --build flowbroker-ui

That's a bug when starting all services via docker-compose. Docker-compose 'flowbroker-ui' sometimes loads before Auth service, causing the requests to crash.
The application could be exited as unhealthy and the service will be re-initialized afterward.


[MTB] Block access to other tenant resources

Add a new test to ensure a tenant cannot read / write / delete other tenant resources.
Requires: https://github.com/kubernetes-sigs/multi-tenancy/issues/1196

/remove-lifecycle stale

/remove-lifecycle stale

@phoenixking25 - please update this issue with the PR you completed.

@phoenixking25 - please update this issue with the PR you completed.

/assign @phoenixking25

/assign @phoenixking25

fix #1318

fix #1318

@phoenixking25 - this has already been addressed, right?


sprintfix: 修复部分灰度问题

Codecov Report

Merging #1532 (13a6f1a) into _v2.3.x/feature_issue_1174 (6e96290) will decrease coverage by 0.02%.
The diff coverage is 8.33%.

:exclamation: Current head 13a6f1a differs from pull request most recent head 0708822. Consider uploading reports for the commit 0708822 to get more accurate results

@@                      Coverage Diff                       @@
##           _v2.3.x/feature_issue_1174    #1532      +/-   ##
==============================================================
- Coverage                       73.51%   73.50%   -0.02%
==============================================================
  Files                             385      385
  Lines                           25861    25862       +1
==============================================================
- Hits                            19013    19011       -2
- Misses                           6848     6851       +3

Impacted Files
Coverage Δ

...eps/agent_adapter/config_context/context_helper.py
33.33% <ø> (ø)

apps/core/gray/handlers.py
45.38% <0.00%> (ø)

apps/node_man/constants.py
96.33% <100.00%> (+<0.01%)
:arrow_up:

... and 3 files with indirect coverage changes


double counting header name length in http/2

Expected behavior
A header with a name of length X and a value of length Y gets considered as being length X + Y in total.
Actual behavior
A header with a name of length X and a value of length Y gets considered as being length 2X + Y in total.  I think this is where the bug is:
https://github.com/netty/netty/blob/4.1/codec-http2/src/main/java/io/netty/handler/codec/http2/HpackDecoder.java#L262
Steps to reproduce
Use hpack decoder to decode a header.
Netty version
4.1.16.Final
JVM version (e.g. java -version)
jdk8

@mosesn can you open a PR with a unit test ?

@normanmaurer yeah, I'll take a look.

@mosesn thanks buddy

I still haven't been able to make a unit test, but I have a better idea of what's happening.
After we have already added the name length and value length  of the header with the long name length to the headersLength, we can go into "Literal Header Field with Incremental Indexing" mode, and then we go to READ_LITERAL_HEADER_VALUE_LENGTH_PREFIX , and if index is not 127 or 0, we go into into the same area as before, because nameLength hasn't changed yet.


fix the serialize bug when delete a Qdrant point

Motivation and Context

fixed the bug #970
Description

Contribution Checklist

[x] The code builds clean without any errors or warnings
[x] The PR follows SK Contribution Guidelines (https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
[x] The code follows the .NET coding conventions (https://learn.microsoft.com/dotnet/csharp/fundamentals/coding-style/coding-conventions) verified with dotnet format
[x] All unit tests pass, and I have added new tests where possible
[x] I didn't break anyone :smile:

@microsoft-github-policy-service agree

@EashShow would you mind splitting this PR in two parts, the part fixing the deserialization bug, and the other one adding a method to the IQdrantVectorDbClient interface ? Your fix would be dearly appreciated here 🙏

@EashShow would you mind splitting this PR in two parts, the part fixing the deserialization bug, and the other one adding a method to the IQdrantVectorDbClient interface ? Your fix would be dearly appreciated here 🙏

Yes, no problem

When can we expect a new version of the NuGet packages?
This is something that we are needing.

The original bug #970 has already been fixed, and what remains here is mostly documentation and additional functionality. @EashShow closing the PR, but if you feel the other changes are valuable, please re-submit with description of added features and new tests.


fix test_restore_archive_state()

test_restore_archive_state() is currently suffering from strange read artifacts from zip_handler.read_bin(). Hopefully this will fix itself once the zip_handler.read_bin() is purged of the newlin botch with io.TextIOWrapper

Fixed by #119


make sure all values are copied

I guess in python versions of to_py we could somehow deep copy everything to match current pydantic behaviour.
Won't help performance but I think it's correct.

need to do some testing of this and work out what's copied and what's not.


Fix typo: var.name -> var.hostname

Can we re-tag after the code had been merged?

Can we re-tag after code had been merged?

I think we should create a new minor version


clarify license in crate metadata

I'm working on including a package for this crate in Fedora Linux as a dependency of axum. During the review process, the license was flagged as being potentially inaccurate and / or incomplete - the crate does include license texts for both itself and for httprouter, but the crate metadata lists only "MIT" (this crate's license), and not "BSD-3-Clause" (the httprouter license).
This is not only a "problem" for distribution packages, but it will trip up users of tools like cargo-license or cargo-deny, which rely on this metadata being accurate, as well.
Asking for advice from Red Hat lawyers, it seems that at least for our purposes, we need to treat this crate as being licensed under the terms of both MIT and BSD-3-Clause (i.e. license = "MIT AND BSD-3-Clause"):
c.f<EMAIL_ADDRESS>The important bits are:

(...) The upstream project
says it's based on httprouter and it could be that some of it is a
close translation from Go to Rust. While the BSD licenses are not
entirely clear on this issue I think you should assume that the Rust
crate copies from httprouter in such a way that the httprouter license
requirements are triggered.

and

(...) you should assume the License: field
should include BSD-3-Clause as appropriate.

It is entirely possible that you don't want to make a corresponding change for the crate metadata in Cargo.toml, but it would be great if you could clarify this either way - especially the slightly confusing situation that the license text for httprouter is included in this project, but the license itself is not taken into account in the crate metadata.

I think this is just an oversight on my end, I'll update the license text.

Great, thank you! 🍻


Previous changes but also added the links for testing.

Any changes or additions required?

Looks like tests are failing. Could you please make sure you have pulled any changes in master and your fork is up-to-date. You can run the tests with just the pytest command in your terminal.

Ok


Kirby regular chaining

Hi there, pardon my question, but is it possible to use the Kirby "regular" chaining system like in the PHP starterkit after importing useSite?
For instance: in a component (not a view, I mean), is it possible to reference content from another page?
<button class="button" />
   {{ site.children.find('somepage').title }}
</button>

The "regular" chaining system would be like:
site()->children()->find('somepage')->title()
For now, it says
Unhandled Promise Rejection: TypeError: Array.prototype.find callback must be a function
Thx! 😃

You're talking about the Kirby API, used by the Panel for example. You can read more about it in the docs.
It's not base of this starterkit. It requires a custom read-only user to be setup, authentication and more, which I wouldn't prefer for a Vue integration.
Of course you can access other page's data. Take a look into: https://github.com/johannschopplich/kirby-vue3-starterkit/blob/83b986e458ae535744b89b280bd14a41918c119d/frontend/src/views/Home.vue
You can pass the desired page to the usePage hook and use the content anywhere, even in components.
For example:
<template>
  <button v-if="somepage.isReady">
    somepage.title
  </button>
</template>

<script>
import { usePage } from '../hooks'

export default {
  setup () {
    const somepage = usePage('somepage')

    // Example of `isReadyPromise()` page method
    ;(async () => {
      await photography.isReadyPromise()
      // Do something with the reactive page object
      console.log('Somepage page data has been loaded.')
      console.log(somepage.title)
    })()

    return {
      somepage
    }
  }
}
</script>

Since each page's data is fetched lazily, I've created the isReady key and isReadyPromise function for in-template use as well as inside the setup method.

You're talking about the Kirby API, used by the Panel for example. You can read more about it in the docs.
It's not base of this starterkit. It requires a custom read-only user to be setup, authentication and more, which I wouldn't prefer for a Vue integration.
Of course you can access other page's data. Take a look into: https://github.com/johannschopplich/kirby-vue3-starterkit/blob/83b986e458ae535744b89b280bd14a41918c119d/frontend/src/views/Home.vue
You can pass the desired page to the usePage hook and use the content anywhere, even in components.
For example:
<template>
  <button v-if="somepage.isReady">
    somepage.title
  </button>
</template>

<script>
import { usePage } from '../hooks'

export default {
  setup () {
    const somepage = usePage('somepage')

    // Example of `isReadyPromise()` page method
    ;(async () => {
      await photography.isReadyPromise()
      // Do something with the reactive page object
      console.log('Somepage page data has been loaded.')
      console.log(somepage.title)
    })()

    return {
      somepage
    }
  }
}
</script>

Since each page's data is fetched lazily, I've created the isReady key and isReadyPromise function for in-template use as well as inside the setup method.

Ah ok, I guess I would need to set up the page I want to pull the data from inside setup and then use it like somepage.title?
Like:
setup () {
    const page = usePage()
    const somepage = usePage('somepage')

    ;(async () => {
      await somepage.isReadyPromise()
    })()

    return {
      page,
      somepage
    }
  }

Ah ok, I guess I would need to set up the page I want to pull the data from inside setup and then use it like somepage.title?
Like:
setup () {
    const page = usePage()
    const somepage = usePage('somepage')

    ;(async () => {
      await somepage.isReadyPromise()
    })()

    return {
      page,
      somepage
    }
  }

Ah, you already answered before I posted mine 😃

Ah, you already answered before I posted mine 😃

Exactly. Keep in mind that the isReadyPromise() method is optional. You'd only need it if you want to use the page's data inside the setup method. For the template use the isReady key (without the suffix "promise").

Exactly. Keep in mind that the isReadyPromise() method is optional. You'd only need it if you want to use the page's data inside the setup method. For the template use the isReady key (without the suffix "promise").

Ah, ok, cool! nice

Ah, ok, cool! nice

Example for usage of data inside the setup method:
const somepage = usePage('somepage')

// Example of `isReadyPromise()` page method
;(async () => {
  // Data isn't available
  console.log(somepage.title) // null

  await somepage.isReadyPromise()
  console.log('Somepage page data has been loaded.')

  // Now you can access it
  console.log(somepage.title)
})()

Example for usage of data inside the setup method:
const somepage = usePage('somepage')

// Example of `isReadyPromise()` page method
;(async () => {
  // Data isn't available
  console.log(somepage.title) // null

  await somepage.isReadyPromise()
  console.log('Somepage page data has been loaded.')

  // Now you can access it
  console.log(somepage.title)
})()


Stuck at boot up

Hi, my JDA app was working fine until this morning, when I tried to boot it up and it will never starts. It gets stuck at
[JDA MainWS-WriteThread] INFO net.dv8tion.jda.internal.requests.WebSocketClient - Connected to WebSocket
I haven't changed anything since the last time it was working. Can anyone help me with this?
Thank you

I'm running into the exact same issue. It looks like awaitReady() never finishes and the JDA instance is stuck in LOADING_SUBSYSTEMS for me.

Alright so it turns out Discord now requires intents to be declared on log in, so you'll have to switch to the new JDABuilder methods to do so. After switching to JDABuilder.createDefault() it's working for me again.

#1337 Pretty sure your issue is outdated JDA and/or usage of the deprecated constructors.


Can 2 Separate DLRS roll up to the same Field on the same Object?

Discussed in https://github.com/SFDO-Community/declarative-lookup-rollup-summaries/discussions/1265

Originally posted by zack0816 October 30, 2022
We are working in Financial Service Cloud (FSC) and are attempting to do a summary rollup of total Assets Under Management. We need two separate DLRS configurations to run that both roll up to the same field on the same object. (One for Household Accounts. Another for Business Accounts.) Is that possible?
Here is how we have it configured:
Household - Total AUM Primary Owner
Parent Obj: Account
Child Obj: FinServ__FinancialAccount__c
Relationship Field: FinServ__Household__c
Relationship Criteria: FinServ__Household__c != NULL
Field to Aggregate: FinServ__Balance__c
Aggregate Operation: Sum
Aggregate Result Field: FinServ__TotalAUMPrimaryOwner__c
Calculation Mode: Realtime
Business - Total AUM Primary Owner
Parent Obj: Account
Child Obj: FinServ__FinancialAccount__c
Relationship Field: FinServ__Household__c
Relationship Criteria: FinServ__Household__c = NULL
Field to Aggregate: FinServ__Balance__c
Aggregate Operation: Sum
Aggregate Result Field: FinServ__TotalAUMPrimaryOwner__c
Calculation Mode: Realtime
When individually activated, each DLRS configuration works as expected. But when both are active, the Household is updated as expected and the Business account incorrectly sets AUM to $0.
It appears DLRS isn't designed for multiple Summaries that Rollup to the same field on the same object. Does anyone know specifically why that is?
Regardless of the reason, could a solution be to change the Calculation Mode from 'Realtime' to 'Process Builder', then have a record-triggered flow activate the 'Household - Total AUM Primary Owner' DLRS. Then wait a minute before activating 'Business - Total AUM Primary Owner' DLRS?
Does anyone see an issue with this solution?
FYI @jasonniebauer

No, the DLRS will run and update ALL records in FinServ__TotalAUMPrimaryOwner__c. Then the next one will run and update ALL records in FinServ__TotalAUMPrimaryOwner__c again. You need to have the two rollups roll up to different fields, then do a formula field to sum the two rollup fields together. Annoying, but it's the only way.

@JodieM thank you for providing this insight. We are utilizing Financial Services Cloud and the out-of-the-box rollup automation for AUM (Assets Under Management) will not work with our setup, so we've had to investigate other solutions and attempted to use DLRS. Unfortunately, creating a custom formula field is not a possibility for us. There are a handful of standard fields where the formula cannot be modified and Financial Services Cloud has quite a bit of out-of-the-box design based around these standard fields. For example, AUM is a formula field that combines values from 2 other standard fields (Total AUM Primary Owner + Total AUM Joint Onwer). If we go with the custom fields and formulas then we'd be setting ourselves up to replace a good chunk of standard fields and functionality which we're looking to avoid. Any other thoughts or ideas on how to work around this limitation?

Aha, Interesting... I got some insightful information today... Here's what I think you do... you have the two rollups, which is the starting point... then schedule them using the Schedule Full Calculate button, and enter a Where Clause in there. So rollup one is Total AUM Primary Owner and it will run where Account Type is Household... and rollup two is Total AUM Primary Owner and it will run where Account Type is NOT Household. (I'm not sure of the Fin Services Architecture but I'm sure there must be an IsHousehold field on the Account record like there is in NPSP).

@JodieM I'm currently testing your suggestion and have the automation scheduled to run daily. I included a WHERE clause so that each DLRS filters account records based on type, which is what I had tried to do in the relationship criteria that was failing. I'll let you know how the testing goes. Thanks again for the suggestion!


Uninstall Forest Admin

Description of changes

Completely uninstall gem 'forest_liana' dependencies
removed Forest routes in config/routes.rb
removed forest_liana.rb in initializers
run make bundle to update dependencies

Issue Resolved

Fixes #323

will resolve conflicts in a bit

Based on the Travis CI failure, looks like there are still bundler issues.  I recommend:

Starting a branch new branch off of OC master
run make bundle
run make db_migrate
run make test and confirm that everything is passing
make all of the removals necessary to remove forest admin
run make bundle
run make db_migrate
run make test to confirm everything
submit new PR to the OC


ImguiRenderLoopFlags is never updated

Currently, the ImguiRenderLoopFlags::focused flag is never updated anywhere in the code.
We should get rid of it until we find a better way of querying the focus state.
This will result in a breaking change, but it is for the best as it will simplify the API.

If you're talking about checking the focus state for whether or not an ImGui window is focused, ui.io().want_capture_mouse could do.

Indeed that might be the case, as these are the instances where I personally use that, and both also refer to want_capture:

Dark Souls III practice tool
Elden Ring practice tool


Video Not playing after proguard

Hi, This is a nice library. I am using this for embedding youtube videos in my android application.
The videos are playing fine when I am using debug apk but when I build a release apk with proguard the videos are not playing. Just the loading icon appears but nothing plays. How to fix this?

Fixed by adding following lines
-keep public class com.pierfrancescosoffritti.youtubeplayer.** {
public *;
}
-keepnames class com.pierfrancescosoffritti.youtubeplayer.*

Right :) I forgot to add info about proguard options in readme. Thank you for reminding me!


[Breaking change]: IMsoComponent support in WinForms is now opt-in

Description
In .NET 9 Preview 2, WinForms moved to avoid WinForms threads always registering with existing IMsoComponentManager instances. This now is an opt in behavior if developers need existing IMsoComponentManager instances to be registered to their WinForms threads.
Version
Other (please put exact version in description textbox)
Previous behavior
Windows Forms threads always registered with existing IMsoComponentManager instances.
New behavior
WinForms threads will not automatically get integration with process registered IMsoComponentManagers. If users want this old behavior users will need to set the switch "Switch.System.Windows.Forms.EnableMsoComponentManager".
Type of breaking change

[ ] Binary incompatible: Existing binaries might encounter a breaking change in behavior, such as failure to load or execute, and if so, require recompilation.
[ ] Source incompatible: When recompiled using the new SDK or component or to target the new runtime, existing source code might require source changes to compile successfully.
[X] Behavioral change: Existing binaries might behave differently at run time.

Reason for change
For performance and efficiency. Previous behavior presented a lot of overhead as COM is being used and not all developers need this behavior.
Recommended action
Opt in for IMsoComponent support via the switch either by:
Adding the following to runtimeconfig.json
{
  "configProperties": {
    "Switch.System.Windows.Forms.EnableMsoComponentManager": true
 }
}

or
Adding a RuntimeHostConfigurationOption in the project file:
<ItemGroup>
  <RuntimeHostConfigurationOption Include="Switch.System.Windows.Forms.EnableMsoComponentManager" Value="true" />
</ItemGroup>

Feature area
Windows Forms
Affected APIs
https://learn.microsoft.com/en-us/previous-versions/office/developer/office-2007/ff518955(v=office.12)
https://learn.microsoft.com/en-us/previous-versions/office/developer/office-2007/ff518963(v=office.12)

cc @JeremyKuhne


[FEATURE] Support drag-and-drop to load .nam models

Is your feature request related to a problem? Please describe.
In the plugin, the only way to load a model is to use the OS's built-in file selector. However, the location it initially shows seem to reset occasionally. I have to navigate all the way to the folder where I store my *.nam models again whenever this happens.
Describe the solution you'd like
Allow dragging and dropping *.nam models directly onto the plugin, e.g. from a file explorer or the DAW's sample browser.
Most DAWs like FL Studio or Reaper have a built in sample/file explorer and allow you to add 'favourite' folders. It's much easier to browse for .nam models there rather than the OS's built-in file selector, so I would like to suggest allowing dragging directly from an outside source to the plugin.
Describe alternatives you've considered
N/A
Additional context
N/A

at least in windows there are pinned folders in file explorer
and os's built-in file selector in windows is file explorer

Can possibly implement using IControl.OnDrop().

Right, I did a few quick changes here and there and it appears to work (at least on Windows, I have no means to test it with Mac).
@sdatkinson - I can see there's a Pull request that has been posted, so not sure how to proceed? Do I put a separate Pull request or try to get along with this one (not quite sure of my skills with Github :) )...

@synchu you can start by pushing your changes to a branch on your fork and share about it here.
I (or others) can have a look if I find time and handle the PR. But if you do that then anyone else can merge your changes into a branch of their own 👍

Thanks @sdatkinson. I applied the changes here:
https://github.com/synchu/NeuralAmpModelerPlugin
Now there's a required change into IControl.h, which I am not sure got committed, but it looks like these.
From:
 virtual void OnDrop(const char* str) {}
to
` virtual void OnDrop(const char* str)
{
if (OnDropFunc)
{
OnDropFunc(str);
}
};
std::function<void(const char* str)> OnDropFunc;`


Handle 666 errors in Policy.removeMembers

cc @iwiznia @marcaaron related to an internal thread here: https://expensify.slack.com/archives/C03TQ48KC/p1642178947340500
Details

This will give more accurate error messages instead of always the generic one.
Fixed Issues

$ https://github.com/Expensify/Expensify/issues/191023
Tests

[x] Verify that no errors appear in the JS console

QA Steps

[x] Verify that no errors appear in the JS console

Setup a new workspace, add a new member
On OldDot, make the new member's domain group restrict policy to the workspace (in Domain Settings > Members)
On NewDot, try to remove the member from the workspace:

Tested On

[x] Web
[ ] Mobile Web
[ ] Desktop
[ ] iOS
[ ] Android

Screenshots

Web

See above
Mobile Web

Desktop

iOS

Android

Based on that thread, it seems we want a better error handling than just a growl

Maybe we can loop in @Expensify/design to help us with this one.
We don't really have a clear guidance for how to handle server errors in non-forms. Seems like there are a couple of options:

Turn this into a form (I am not evil enough to ask Florent to do this 😂 )
Come up with a slightly different pattern...

Here's a quick attempt at 2 with the following reasoning...
A button that triggers an API request should show a loader like we do for a form

If the request doesn't not succeed we should remove the option to repeat this action (just a thought but I can see not removing it as well) and replace it with a message

That looks fine, but would that mean we would block any actions while the request is being processed? I don't quite like that.
Maybe we could instead show some kind of popup on the button that was pressed?

Maybe we could instead show some kind of popup on the button that was pressed

Not sure if I understand the meaning of a "popup", but sounds kind of like you are suggesting an inline Growl. What makes the error popup go away? Is it time-based like the Growl? Can or should it be manually dismissed?  You would manually dismiss it by clicking on it or it can have a close button somewhere. I would guess that interacting again with the button would dismiss it too.

Something similar to this but pointed at the button?

We don't really have a clear guidance for how to handle server errors in non-forms. Seems like there are a couple of options:

How do we currently handle server errors in forms?

Something similar to this but pointed at the button?

Yeah

How do we currently handle server errors in forms?

That's explained in this section: https://docs.google.com/document/d/1DI4jQ0nyfi2JczhPT440orwlXsTP_O-aGvg-HLmcbwI/edit#bookmark=id.odca5qx1yozc

We add them to the bottom of the screen above the submit button. We could do the same here, but we are exploring alternatives because this is not a form.

Well just because it's not a "form" doesn't mean we can't do something similar right? Personally I really like what you outlined in your comment here.

Well just because it's not a "form" doesn't mean we can't do something similar right?

Let's explore whether it works or not. The "form" gives the user some indication that things are loading in a button and then we show server errors above this button once the loading is done. Without the submit button the error message would just pop up at the bottom of the screen. Which does not seem much better than a Growl and also adds the question of how long the message should persist on screen.
Probably this conversation is getting a little deep for this particular issue - but if we don't want to use a Growl then it would be nice to settle on various patterns and have a bunch of common UI error handling scenarios to pull from or advise people to implement when this topic comes up.

Also this being a list which can (and probably will) be long, showing the error on the bottom is probably not the best, because it's possible it's out of the user's view...

What about the two mockups you posted in your comment above? It seems like that would be a great way to handle this? Essentially the "form" is encapsulated into the small bottom-docked modal.

I like it, but @iwiznia pointed out here that maybe this action should have an optimistic UI i.e. should the user wait to find out if it was successful and be aware of the "loading" state? Or should they simply see the change happen, then get rolled back, then see some indication that it was not successful.

Got it, I hear ya. I think most of the time I agree with wanting an optimistic UI. But I can see an argument that we don't need it when taking some kind of delete/remove action like this. Otherwise I guess we could optimistically take the action, close out the modal, and then relaunch the modal with an error message if we have one.

@iwiznia Can we:

Merge this PR to provide instant value to users. This PR is only improving things, it is not making anything worse / different than it is today
Create an External issue to improve this flow further
?

Sure

Not up to me though, @AndrewGable is tagged as reviewer and did not approve

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by @AndrewGable in version: 1.1.38-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

@flodnv  We are unable to find ""new member's domain group restrict policy to the workspace" in the OldDot. Can you please confirm where in the profile this settings should appear?

This wild be in Domain Control > Groups
On Thu, Feb 10, 2022, 16:49 Maria Ajmera @.***> wrote:

@flodnv https://github.com/flodnv We are unable to find ""new member's
domain group restrict policy to the workspace" in the OldDot. Can you
please confirm where in the profile this settings should appear?
—
Reply to this email directly, view it on GitHub
https://github.com/Expensify/App/pull/7229#issuecomment-1035154560, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AA7Y2OINHLUDWLVDYSTM4ALU2PUDNANCNFSM5L7JLATA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID:
@.***>

@flodnv Here is what we see in the Groups. What options out of these restricts Workspace?

When we tried to enable "Restrict expense policy creation/removal" It blocked us from creating any workspaces

Hey @flodnv, could you confirm which switch is the correct one please

Ah sorry about that, it's the last setting for "preferred policy"
On Sat, Feb 12, 2022 at 2:27 PM Maria Ajmera @.***>
wrote:

@flodnv https://github.com/flodnv Here is what we see in the Groups.
What options out of these restricts Workspace?
[image: Screen Shot 2022-02-12 at 1 24 50 PM]
https://user-images.githubusercontent.com/43995119/153723546-30c470ce-230f-4ea6-80af-ed12de43ed91.png
When we tried to enable "Restrict expense policy creation/removal" It
blocked us from creating any workspaces
—
Reply to this email directly, view it on GitHub
https://github.com/Expensify/App/pull/7229#issuecomment-1037373740, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AA7Y2OKXSM4RLJ43KYAG2YTU22RC5ANCNFSM5L7JLATA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID:
@.***>

We are checking

@flodnv  Can you please double check the issue above. We are seeing different error in PROD, but I assume its expected. Pls confirm it doesnt need to be a deploy blocker

That's definitely unrelated to this PR. Thanks!


fix: correctly compute position of Annotation.Shape

This shows a bug with the "closest euclidean" computation in the tracking story


switchTo NightmareJS

What are you trying to achieve?
Navigate to a child frame and continue executing the tests
What do you get instead?
I.swtichTo is not a recognised function when using NightmareJS helper
Details

CodeceptJS version: 0.5.1
NodeJS Version: 7.7.1
Operating System: macOS
Nightmare version (if related): 2.10.0

Yes, it is not implemented in Nightmare yet
Could you look into NightmareJS and implement this specific step inside NightmareJS helper?
Please submit a pull request.

I think this related to, and should it be coordinated with, issue 450.


Domain Key Signer Documentation is Wrong

Q
A

Bug report?
yes

Feature request?
no

Observed behavior
at https://github.com/swiftmailer/swiftmailer/blob/master/lib/classes/Swift/Signers/DomainKeySigner.php#L238 it says defaults to sha256, however sha256 is not mentioned anywhere else in the class nor implemented. AND it defaults to sha1 see: https://github.com/swiftmailer/swiftmailer/blob/master/lib/classes/Swift/Signers/DomainKeySigner.php#L44
This is throwing a violation in Veracode as being a risky cryptographic approach.
Expected behaviour
documentation matches behavior either default sha1 in docs, or implement default sha256 behavior.
Example
see links in description..

You should use dkim. Domainkeys are outdated.

DKIM is not mentioned anywhere in the swiftmalier documentation.


roll back nothrow for synchronized (mtx)

we had problems turning vibe.d's Mutex
implementation into nothrow

requires https://github.com/D-Programming-Language/druntime/pull/1188 and https://github.com/D-Programming-Language/phobos/pull/3042


Implement documents API

This pr implement the intermediary document representation for milli. The JSON, JSONL and CSV formats are replaced with the format instead, to push the serialization duty on the client side.
The documents module contains the interface to the new document format:

The DocumentsBuilder allows the creation of a writer backed document addition, when documents are added either one by one, or as arrays of depth 1. This is made possible by the fact that the seriliazer used by the add_documents methods only accepts [Object] and Object. The related serialization logic is located in the serde.rs file.
The DocumentsReader allows to to iterate over the documents created by a DocumentsBuilder. A call to next_document_with_index returns the next obkv reader in the document addition, along with a reference to the index used to map the field ids in the obkv reader to the field names

All references to json, jsonl or csv in the tests have been replaced with the documents! macro, works exaclty like the serde_json::json macro, as a convenient way to create a DocumentsReader.
Rewrote the search cli, to the cli crate, to also allow index manipulation. This only offers basic functionalities for now, but is meant to be easier to extend than http ui
blocked by #308

I have rebased and squashed this pr


Is there a way to not allow zero placeholder?

Hello, thanks for the plugin. It's awesome.
I was searching the issues I could not found what I want so I decided to open a new one.
When I apply a mask for a field. When it gains focus while empty, the plugin automatically fills it with "0.00".
Is there a way to disable this behavior? I mean, leave the field empty stead of the "0.00"?
Thanks.

@jlionheart there's a reason for you want to do that?

I currently have a field which zero is not a valid value and I can fix that with the property allowZero set to false. But since it's not valid, displaying zero to the user seems to have no sense. It's more like a UI/UX matter.
Also, if you really plan to add this feature, it would be nice if it work with allowZero set to true as well and that it respect such behavior while the user is typing. if I try to erase the field using "backspace" key, the plugin does not allow to completely make it empty, leaving it as "0,00" stead.
I guess "allowEmpty" is a good name.
Best regards.

see: https://github.com/plentz/jquery-maskmoney/pull/110 I think this is what you want

@jpSimkins , that's exactly what I was looking for.
thank you so much!


Unicode URI  wikipedia.exceptions.PageError: Page id does not match any pages. Try another id

Hi,
I'm on python 2.7 Ubuntu
I am trying to open a valid wiki page https://hi.wikipedia.org/wiki/नमक_हलाल_(1982_फ़िल्म)
as below
# encoding=utf-8 import wikipedia om1 = wikipedia.page("https://hi.wikipedia.org/wiki/%E0%A4%A8%E0%A4%AE%E0%A4%95_%E0%A4%B9%E0%A4%B2%E0%A4%BE%E0%A4%B2_(1982_%E0%A4%AB%E0%A4%BC%E0%A4%BF%E0%A4%B2%E0%A5%8D%E0%A4%AE")
I am getting error, ..
Traceback (most recent call last):
File "test_wikipedia_pip.py", line 3, in
om1 = wikipedia.page("https://hi.wikipedia.org/wiki/नमक_हलाल_(1982_फ़िल्म")
File "/usr/local/lib/python2.7/dist-packages/wikipedia/wikipedia.py", line 275, in page
raise PageError(title)
wikipedia.exceptions.PageError: Page id "https://hi.wikipedia.org/wiki/नमक_हलाल_(1982_%E0%A4%AB%E0%A4%BC%E0%A4%BF%E0%A4%B2%E0%A5%8D%E0%A4%AE" does not match any pages. Try another id!
help me.

as far as i know youre not supposed to pass a URL into wikipedia.page()
try removing hhtps://hi.wikipedia.org/wiki/ and only use the characters after that

Thanks Laundmo forswift response.
Tried it Sir, I wasn't even to get past the
PageError: PageError()
I did try as below,
`
try:
lnk = wikipedia.page("%E0%A4%A8%E0%A4%AE%E0%A4%95_%E0%A4%B9%E0%A4%B2%E0%A4%BE%E0%A4%B2_(1982_%E0%A4%AB%E0%A4%BC%E0%A4%BF%E0%A4%B2%E0%A5%8D%E0%A4%AE")
except PageError as e:
print e, type(e)
`
NameError: "name 'PageError' is not defined"
Hence, I was fiddling with pass entire URL.


bower Errors invalid-meta during fetching vendors

Hey. After using command:
php bin/console avanzu:admin:fetch-vendor
I get few Errors which I don't know how to handle:

[Error] bower pickadate#*                 invalid-meta for:/tmp/s3test/bower/88e9dc170fe23ea1efbcf95aa85c8e9d-28107-fL8QRd/bower.json
[Error] bower pickadate#*                 invalid-meta The "main" field has to contain only 1 file per filetype; found multiple .js files: ["lib/picker.js","lib/picker.date.js","lib/picker.time.js"]
bower pickadate#*                 invalid-meta The "main" field has to contain only 1 file per filetype; found multiple .css files: ["lib/themes/default.css","lib/themes/default.date.css","lib/themes/default.time.css"]

[Error] bower ionicons#*                  invalid-meta for:/tmp/s3test/bower/058ec18616846dd8772e15a7a0750818-28107-XarfT1/bower.json
[Error] bower ionicons#*                  invalid-meta The "name" is recommended to be lowercase, can contain digits, dots, dashes
bower ionicons#*                  invalid-meta The "main" field cannot contain globs (example: "*.js")

[Error] bower adminlte#~2.3.0             invalid-meta for:/tmp/s3test/bower/b3525921156bfa51d142854276a74fc9-28107-S0R7Dz/bower.json
bower adminlte#~2.3.0             invalid-meta The "name" is recommended to be lowercase, can contain digits, dots, dashes

[Error] bower ionicons#*                      mismatch Version declared in the json (2.0.0) is different than the resolved one (2.0.1)
What should I do with that?
Debug info

Component
Version

Symfony version
3.3.10

AdminThemeBundle
1.3.10

Operating System
Debian 3.16.36

|

Okey, I think it's the following:
According to this: https://github.com/ionic-team/ionicons/releases?after=v4.0.0-10 (press "show 8 newer tacgs"), the ionicons project jumped from "stable 2.0.1" into "stable 4.0.0" directly.
There were really versions of 4.0.0-1, 4.0.0-2 etc, but they were considered non-stable by bower.
I may know this because I yesterday deployed to avanzu/AdminThemeBundle to production and it's ionicons version is:
$ cd /my/nice/project
$ cd vendor/avanzu/admin-theme-bundle/Resources/public/vendor/ionicons
$ cat cat .bower.json

and I see this line:
  "version": "2.0.1",

instead, deploying today it says:
 "version": "4.0.0",

On the other hand it happens that although in github they've been releasing 4.0.0-xx versions, the final 4.0.0 has been tagged 17 hours ago, which is what it breaks our compatibility.

So, I'm going to lock down the ionicons into 2.0.1 which was the latest known to soundly work with avanzu/AdminThemeBundle without errors.
I'll fix it on top of 1.3.10, which is my version. The same fix could be ported to 2.0.x I guess.
Will try, and will tell. If it works I'll do a PR.

Pull-Requested here https://github.com/avanzu/AdminThemeBundle/pull/245
Please mergers, upgrade tag to v1.3.11
While it's not accepted, you can workaround in my fork doing this:
In repositories add:
"repositories": [
    {
        "type": "vcs",
        "url": "https://github.com/xmontero/AdminThemeBundle.git"
    }
]

in the require section, require the dev branch named issue240
"require": [
    "avanzu/admin-theme-bundle": "dev-issue240"
]

Probably this will be need to backport in 2.x branch (aka master) unless that ionicons 4.x would be supported in 2.x. Closing this issue. Thanks for the report and the PR


Flexible rotation for all objects on highlight

If you're trying to connect bonds the rotation (not size) for any bond or bond-system should be flexible (not sticky).

got it


Updating readme from the example branch

Updates
I updated the readme file. Please review and accept. Thanks.

Thoughts
I probably shouldn't, but okay. :+1:


Eagerly-loaded scripts are not encoded as UTF-8

Bug Report or Feature Request (mark with an x)
- [X] bug report -> please search issues before submitting
- [ ] feature request

Versions.
@angular/cli: 1.1.1
node: 8.1.0
os: win32 x64
@angular/common: 4.2.1
@angular/compiler: 4.2.1
@angular/core: 4.2.1
@angular/forms: 4.2.1
@angular/http: 4.2.1
@angular/platform-browser: 4.2.1
@angular/platform-browser-dynamic: 4.2.1
@angular/router: 4.2.1
@angular/cli: 1.1.1
@angular/compiler-cli: 4.2.1
@angular/language-service: 4.2.1
Windows 10

Repro steps.
Sample repo (skip steps 1 - 5): https://github.com/hill0826/Angular-CLI-broken-encoding

ng new encoding-bug-test
npm i ag-grid ag-grid-angular
Import AgGridModule to the root module via AgGridModule.withComponents([]) <-- Ag-grid AOT code includes a reference to createRendererType2 as its default exported name given by Angular, ɵcrt, which seems to lock it in as that UTF-8-formatted name
Add a lazily-loaded module
Made the lazily-loaded module loaded immediately (just point to it via the default route)
ng build --prod
Run the dist folder on a web server that does not automatically attach ; charset=UTF8 to application/javascript responses (may have to find one of these yourself... I'm currently using Tomcat)
Navigate to the application in your browser
A blank page is shown and a JavaScript error can be seen in the console

The log given by the failure.
(Stack is very long)

Desired functionality.
No error.
Mention any other details that might be useful.
Relates to https://github.com/angular/angular/issues/16553.
As far as I can tell, this is caused by a conflict between how we're using Webpack bundles and HtmlWebpackPlugin.
Module lazy-loading is done through Webpack itself (without external plugins). It interprets bundles as UTF-8 by default. See relevant template code here.
However, the script tags are generated by HtmlWebpackPlugin, whose template doesn't include a charset attribute, which means the client will use its default client encoding if the server doesn't specify one. See relevant template code here.
We're outputting UTF-8 code but only requiring that the client interpret it as UTF-8 if the code is lazily-loaded.

To clarify, what we're missing here is the charset attribute on script tags.
E.g., <script type="text/javascript" src="<source>" charset="UTF-8">.
If the web server isn't configured to add ; charset=UTF-8 to the Content-Type header then our UTF-8 scripts will be read differently when lazily-loaded (read as UTF-8) vs when loaded via index.html script tags (system default -- I believe ISO-8859-1 on Windows).

Can this be moved up in priority? We are unable to use AOT with LazyLoading due to this issue. Is there some other workaround that I can perform to resolve this besides turning AOT off?

@kpaxton it's been a while since I've looked at this. I think we just ended up choosing not to use ag-grid (for other reasons), so we don't have a solution implemented right now.
I think I had considered two different solutions before:

Configure the webserver to add ; charset=UTF-8 to the Content-Type on *.js requests
Post-process index.html to add the charset="UTF-8" attribute to <script> tags

Option 1 was a no-go for us since we host on different webservers and would like to avoid maintaining a workaround for each of them for a somewhat obscure issue.
Option 2 just needs somewhere that you can hook in post-processing. NPM on its own should be enough for this. You could probably write a quick node script that gets run after the CLI build to update <script> tags in the built index.html as a workaround for now.

@hill0826 Thanks for the options. I did find a solution from a different angle. We are using tomcat and modified our web.xml mime-types to have ; charset=utf-8 in them for html, css, and js files. That so far has seemed to have done the trick. It is definitely something though that should either be documented or resolved in the packaging.

The web server is the proper place to define character encoding.  It is the element that is reading the raw data and sending it over the wire.  As such it has complete control over the format of the information being sent and could theoretically convert it to any of a variety of encodings unbeknownst to the index.hml file.  The index.html also has no knowledge of how or what happened to the referenced files after a build has completed (deployment packaging for instance).  The web server again would be the appropriate place for this as it can either detect or have knowledge of the deployment process.


Update FLAnimatedImage.m

Set the loop count to one less than the number of times you want the animation to run. An animation with --no-loopcount will show every frame once; --loopcount=1 will loop once, thus showing every frame twice; and so forth. Note that --loopcount=0 is equivalent to --loopcount=forever, not --no-loopcount.

Wow, this is a great find! I left a couple minor stylistic comments, if you address those I think we can merge this.

Awesome, thanks!

The gifsicle reference included in this PR is to a tool, but it would be good to include a reference describing this behavior somewhere in the actual GIF spec. I'm a bit uneasy about merging this then having it cause incorrect behavior when compared with a browser.
Could also include some reference GIFs in the comments that are supposed to loop:

Forever
Once
A finite number of times
To test with.

My reading of the GIF89a spec says that images are rendered once by default, but it does not explicitly come right out an say it.  Other references, seem to back up the "run once" behavior as the default.
http://giflib.sourceforge.net/whatsinagif/animation_and_transparency.html says

Next we encounter an application extension block. This is this block that causes our animation to repeat rather than play once and stop.

And http://www.fileformat.info/format/gif/egff.htm

The design of GIF87a only allowed the display of images one at a time in a "slide show" fashion. Through the interpretation and use of Control Extension data, GIF89a allows both textual and bitmap-based graphical data to be displayed, overlaid, and deleted as in an animated multimedia presentation.

GIF intended to loop once and does not have the NETSCAPE 2.0 block

GIF intended to loop forever and does have the NETSCAPE 2.0 block

I do not have an example of a GIF with a NETSCAPE 2.0 block with a loop count > 0.  (i.e. 1, 2, 3..), but hopefully the two provide will suffice.
Let me know if I can provide more info.  I'm not clear on the loopCount += 1 in the pull request.  It doesn't seem required, but I don't have a GIF with a loop count of 1 to use for a test.  I can try to make one.

Update to my comment above:
Example GIF intended to loop forever and has a NETSCAPE 2.0 block with loopCount = 0.

Example GIF with NETSCAPE 2.0 block with loopCount = 1.  Note that the animation does run twice in a browser. (Perhaps a better name for the block field would have been repeatCount).
So this pull request looks legit to me and I hope the supplied answers to your questions can move it to acceptance.

(Merging this would also resolve #102)

(Merging this would also resolve #102)

I had a look and left a detailed comment here. Thanks for providing the example GIFs! I don't see a difference between Chrome/Safari and FLAnimatedImage.


bpf: xdp: don't include nodeport.h's egress sections

As XDP doesn't provide an egress hook, we don't need to include the tail-calls that are relevant for SNAT / RevDNAT. The relevant functionality is provided by bpf_host's to-netdev.
This reduces verification time and allows us to ignore any verifier trouble in this code that would only affect XDP (eg. increased program size due to helpers that are implemented in assembly on older kernels).
As follow-on work we can also use SKIP_NODEPORT_EGRESS_HANDLING to detect that the ingress path needs to do additional work that would normally happen in the egress path (eg. emitting trace events).

/test

Looks like https://github.com/cilium/cilium/pull/30467 is coming up fast, and will make this sort of hack obsolete :tada:. Off into draft for now ...

@julianwiedmann Also consider tail call pruning as a sort of optimization/safety net. For code clarity's sake, I think this PR still holds merit!

Closing in favor of https://github.com/cilium/cilium/pull/30467.


[Functional] Workshops are not displayed on the map

Environment macOS Big Sur 11.5.1, Chrome version 97.0.4692.71.
Reproducible: always
Preconditions
https://oos.dmytrominochkin.cloud/#/  link is opened;
It doesn't matter if the user is registered or not;
"Київ" region is selected.
Steps to reproduce

Click on "Переглянути всі" (to the right of "Найпопулярніші гуртки");
Click on "Карта" in the right corner;

Actual result
Nothing is displayed on the map. Found 0 workshops.

Expected result
All found workshops for current location are displayed on the map.
Labels to be added
"Bug", Priority: medium, Severity: low, Type Functional.

@OksanaGuz can you please verify it again? We cannot reproduce it anymore.


No results on querying customDimensions.Category

I added the following lines in host.json
{
    "logging": {
        "logLevel": {
          "Host.Triggers.DurableTask": "Information",
        },
    }
}

On running this query:
let start = now(-7d);
traces
| where timestamp > start
| where customDimensions.Category == "Host.Triggers.DurableTask"

I don't see any results. What am I missing?
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: c5bf5562-1289-29da-ebfe-60704ca8cb6c
Version Independent ID: 9ab410a9-6fe7-c4dd-af3b-2bd1031e94db
Content: Diagnostics in Durable Functions - Azure
Content Source: articles/azure-functions/durable/durable-functions-diagnostics.md
Service: azure-functions
GitHub Login: @cgillum
Microsoft Alias: azfuncdf

Closing as duplicate of: #86395


bump eirini submodule to 1.0

maybe this is a dupe of https://github.com/cloudfoundry-community/eirini-bosh-release/pull/70 ?
@rodolfo2488 @ndhanushkodi @tcdowney

cc: @mike1808

Yes this is a duplicate. We need a newer capi (than the one currently in scf) to test this. We have to wait until we have a compatible capi version on kubecf so we can test the eirini v1.0 bump.

Accidentally closed this when I was doing some branch cleanup on our cf-routing fork. However it looks like #70 was merged. @jimmykarily I'm closing this since it sounds like it's not needed anymore.


IN-748 Annual report lodging details

Purpose
IN-748
Approach
Add a new transform to set a column to TRUE if at least one of a set of columns contains a (non-null, non-empty) value.
Add basic validation SQL for annual_report_lodging_details table.
Learning
n/a
Checklist

[ ] I have performed a self-review of my own code
[ ] I have added relevant logging with appropriate levels to my code
[ ] I have updated documentation where relevant
[ ] I have added tests to prove my work
[ ] The product team have tested these changes

Should I also be checking for 'NaT', 'NaN' etc. values?


Add bespoke detects for each Intl locale

Detects for locales are currently:
'Intl' in this

I propose we switch to this:
'Intl' in this && Intl.Collator.supportedLocalesOf(locale).length === 1 &&
Intl.DateTimeFormat.supportedLocalesOf(locale).length === 1 &&
Intl.NumberFormat.supportedLocalesOf(locale).length === 1

where locale is the locale we are aiming at detecting support for. This is similar to the approach yahoo/intl-locales-supported has taken.

@caridy, could I have your opinion on this feature detect code for Intl locales please?

I'm not sure about this change. Mostly, that code in the docs, and what we created at Yahoo for detection is intended for Node, since some versions of node comes with EN only, or a subset of locales. But I doubt that this applies to the client side. At the moment, client side is all-or-nothing since the polyfill doesn't distinguish between locale supported, it only distinguish between Intl exists or not.


Improve UI of user profile

Problem
Currently the user profile looks like this 👇

Proposed solution

Moc k Ups
https://user-images.githubusercontent.com/93595710/215309798-6a136a8d-a91d-42c5-8a40-980008de670b.mp4

Part of

#525

I prefer the elevated cards more than the flat list tiles, so 👍🏼
but there are also people like @monsieurtanuki who correct me if I'm wrong are not a big fan of fancy animations
I would suggest that we not just change the UI of one page but rather decide for a design and apply it consistently across the whole settings

We already have an animation widget defined, and makes it looks cool.
yeah, but other tabs already look good with the current design I feel, but what you say is also correct, if it's not needed we can close this issue!

but there are also people like @monsieurtanuki who correct me if I'm wrong are not a big fan of fancy animations

Everything we don't need that makes the code harder to read: I don't like, indeed. And the time we spend on UI we don't spend on the core of the app.
That said, I'm not a reference regarding UI.

So @M123-dev whats the conclusion😄?

Hi, I would like to work on this issue, is it still open?

I think it's more a discussion right now, not an issue to directly implement

And @Sudhanva-Nadiger as said, I have no problem with it, though the design should probably go through more instances. Maybe ask for opinions on slack

I have asked in slack , only 4 members replied lol 😂

I want to work on this issue. @M123-dev please assign this to me.

@Adiii1436 it's still under consideration! If it's approved I have already worked on it ! Thanks .

I remember this to be a yes for the new idea in the last flutter weekly meeting,
So feel free to raise the pr @Sudhanva-Nadiger

oh cool okay !! thanks, @AshAman999

@AshAman999 animation is required or we just convert it into card ?

I think we don't have animations on any other screen, so having them on this just one screen would look outta place , so maybe we can avoid em


Add colors

Primary changes in this Pull Request:

Add github actions example for this repo
Cleanup some extra flake options
Add the options to color each column
Update tests to use pytest fixtures

Here is an example output

What did you decide about this?

Honestly just haven't had time yet haha. One last item that would be interesting that's related - could we add conditional coloring? For instance, let's say I wanted to include this in a project that displayed if something was included or not, truthy answers get a green color while falsy answers get a red color (or for something like 'x' and '-')?
Let me know, then I can take another look.

Can you give me an ascii table example? I'm not sure exactly what you mean, but i'm sure i can do it.

Certainly. Take the following example:
| ID | Search Term | File  | Contains Search Term |
| 1   | string1           | file1 | Yes                                |
| 2  | string2           | file2 | No                                 |
| 3  | string3           | file3 | Yes                               |

Let's say I want to only color code the last column, yes's get the color green while no's get the color red. Ideally it would be nice if it could be conditionally specified (color, the string to color, etc)

Okay, what do you think of this?
headers = ['ID', 'Name', 'Occupation', 'Employed']
rows = [
    [1, 'Justin', 'Software Engineer', True],
    [2, 'Misty', 'Receptionist', False],
    [3, 'John', None, False],
]

formatted_table = PrettyTables.generate_table(
    headers=headers,
    rows=rows,
    empty_cell_placeholder='No data'
)
print(formatted_table)

colored_table = PrettyTables.generate_table(
    headers=headers,
    rows=rows,
    empty_cell_placeholder='No data',
    colors=[TableColors.HEADER, TableColors.OKBLUE, TableColors.FAIL, TableColors.UNDERLINE]
)
print(colored_table)

truthy_table = PrettyTables.generate_table(
    headers=headers,
    rows=rows,
    empty_cell_placeholder='No data',
    truthy=3
)
print(truthy_table)

truthy_table_custom = PrettyTables.generate_table(
    headers=headers,
    rows=rows,
    empty_cell_placeholder='No data',
    colors=[TableColors.OKCYAN, TableColors.WARNING],
    truthy=3
)
print(truthy_table_custom)

@gagelarsen can you rebase against main? I added GitHub Actions, you can remove that file from this PR.

@gagelarsen wanna take another look here? If not I can rebase and push to your branch assuming you allow maintainers to edit your PRs

Colors just released in v1.2.0!


feat(attribute_value): Don't target NAN, INF, -INF and > 2^53

Summary
Don't target NAN, INF or -INF
Don't target Values > 2^53.
Modified attribute_valid? to check if the number is finite.
Test plan
Issues
OASIS-3654

Coverage remained the same at 100.0% when pulling ca425d7e9f64b5f0da2fe5b4e5f64f289f7c9664 on rashid/-dont-target-nan-inf-1e53 into ad7e32b48e4f78eb74ea18a1fab8b61eecd4724b on rashid/audience-match-types.

Coverage remained the same at 100.0% when pulling ca425d7e9f64b5f0da2fe5b4e5f64f289f7c9664 on rashid/-dont-target-nan-inf-1e53 into ad7e32b48e4f78eb74ea18a1fab8b61eecd4724b on rashid/audience-match-types.

Coverage remained the same at 100.0% when pulling ca425d7e9f64b5f0da2fe5b4e5f64f289f7c9664 on rashid/-dont-target-nan-inf-1e53 into ad7e32b48e4f78eb74ea18a1fab8b61eecd4724b on rashid/audience-match-types.


Support lower or mixed case source file and extensions

When I use lower case file extensions, BOB rules are not triggered.  When I use lowercase file names even with upper-case file extensions, the compile still doesn't happen.

Looks like it just needs to match the case in Rules.mk (even though I am on a case-insensitive file system).

I guess the make rules also need to support both cases. Otherwise, all sources have to be in uppercase.

Alternate proposal: issue a relevant warning when running on a case-insensitive FS (and suggest a case-sensitive FS)


Fix rounding of unprecise floating points in I18n.toNumber()

JavaScript's Float#toFixed method does not round all numbers correctly (or at least not how a human would expect). For example 0.105 is rounded as 0.10 instead of 0.11 when precision is 2. See this thread for more info: http://stackoverflow.com/questions/10015027/javascript-tofixed-not-rounding. Thanks to user2823670 for his improved toFixed implementation.

I see a comment saying Number 0.0000001 or less results in NaN
I think a better fix for #365 is to avoid calling to toFixed with when precision is null.

I wasn't trying to solve #365, I was trying to solve a different problem, namely the incorrect rounding of certain numbers. I was using I18n.toCurrency(0.105) which resulted in €0.10 instead of €0.11.
It seems that user2823670's shorter solution indeed does not handle very small numbers well. The full MDN solution (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/round) does not have this problem. I updated the pull request to implement this full solution instead.

OK, this looks better now.
Thanks for your contribution!


re-factor: simple code to reduce repeated lines

Connected to #3

This change is

 once the tests pass (linter issues)

Reviewed 2 of 2 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved, some commit checks broke.

Comments from Reviewable

Reviewed 1 of 2 files at r1, 1 of 1 files at r2.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


Fixes a bug caused by big numbers on annotations

[x] Tests added for any new code
[x] Ran make fmt-fix (or had formatting run automatically on all files edited)
[ ] Documentation added for any new functionality
[x] Entry added to UNRELEASED.md for any new functionality

Fixes a bug caused by big numbers on annotations. Closes #990.

as an aftermath of this PR, it looks like https://github.com/informalsystems/apalache/blob/unstable/tla-types/src/test/scala/at/forsyte/apalache/tla/typecheck/TestDefaultType1Parser.scala is sometimes running out of memory on Scalacheck tests


noqa forwarded import

Coverage decreased (-0.07%) to 82.807% when pulling 92d6aa93ea3ed32a6b94a33fb6a8d550a8d5261a on oleksiyVeretiuk:noqa_import into 2e69691b733041f7b705097b89f4b197f54a77ee on openprocurement:master.

Coverage decreased (-0.07%) to 82.807% when pulling 92d6aa93ea3ed32a6b94a33fb6a8d550a8d5261a on oleksiyVeretiuk:noqa_import into 2e69691b733041f7b705097b89f4b197f54a77ee on openprocurement:master.


Remove setuptools_scm from install_requires in setup.py

The install doesn't require setuptools_scm, this is already pulled in when needed via setup_requires
Related to https://github.com/LSSTDESC/qp/issues/75

Done with #28


CI tests failing with black formatter error

Error in CI tests
All done! ✨ 🍰 ✨
2 files would be reformatted, 11 files would be left unchanged.
would reformat /home/runner/work/pyDOE3/pyDOE3/pyDOE3/doe_box_behnken.py
would reformat /home/runner/work/pyDOE3/pyDOE3/pyDOE3/doe_gsd.py

Thanks for reporting!


pub/sub not workin

Upon running the browser example, there is a 404 on the console with regards to the pubsub endpoint in the API. Afterwards I tried running the ipfs daemon with ipfs daemon --enable-pubsub-experiment but I get Error: Unrecognized option 'enable-pubsub-experiment'. Is there a particular version of ipfs I need to run? Currently I have 0.4.4

ok looks like it has to the master branch


Repetitive non-fatal ConflictError: "arbiter is already running %s command"

2023-11-19T23:09:00+0800 [ERROR] [cli] Exception in callback <bound method Arbiter.manage_watchers of <circus.arbiter.Arbiter object at 0x7faf281ac310>>
Traceback (most recent call last):
File "/tmp2/t12902101/miniconda3/envs/ol/lib/python3.11/site-packages/tornado/ioloop.py", line 919, in _run
val = self.callback()
^^^^^^^^^^^^^^^
File "/tmp2/t12902101/miniconda3/envs/ol/lib/python3.11/site-packages/circus/util.py", line 1038, in wrapper
raise ConflictError("arbiter is already running %s command"
circus.exc.ConflictError: arbiter is already running arbiter_start_watchers command

I simply just ran openllm start llama --model-id NousResearch/llama-2-13b-chat-hf -p <any> on the depertment workstation server after created the necessary environment, and that seems to happen to every model every time I wanna run a server.

and the query doesn't work:
(ol) t12902101@ws2 [~] openllm query --endpoint http://localhost:23456 "hi?"
^[[A^[[B^C^C^C^C^C^C^C
^C^C^CTraceback (most recent call last):
File "/tmp2/t12902101/miniconda3/envs/ol/bin/openllm", line 5, in
from openllm_cli.entrypoint import cli
File "/tmp2/t12902101/miniconda3/envs/ol/lib/python3.11/site-packages/openllm_cli/entrypoint.py", line 92, in
^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C  File "/tmp2/t12902101/miniconda3/envs/ol/lib/python3.11/site-packages/openllm_cli/_factory.py", line 28, in
class _OpenLLM_GenericInternalConfig(LLMConfig):
File "/tmp2/t12902101/miniconda3/envs/ol/lib/python3.11/site-packages/openllm_core/_configuration.py", line 978, in init_subclass
^C^C^Z
[1]+  已停止(SIGTSTP)      openllm query --endpoint http://localhost:23456 "hi?"
Even cannot be aborted sometimes.

This is a known issue from BentoML. See https://github.com/bentoml/BentoML/issues/4193


Character: Add isHexDigit and isAsciiLetter

This PR adds Character >> isHexDigit and Character >> isAsciiLetter. I don't remember where these methods were used.

isAsciiLetter is used on Character>>numericValue and Character>>digitValue. Also those methods have the same code. Should we merge them?


[*.py] Rename "Arguments:" to "Args:"

I've written custom parsers and emitters for everything from docstrings to classes and functions. However, I recently came across an issue with the TensorFlow codebase: inconsistent use of Args: and Arguments: in its docstrings. It is easy enough to extend my parsers to support both variants, however it looks like Arguments: is wrong anyway, as per:

https://google.github.io/styleguide/pyguide.html#doc-function-args @ ddccc0f

https://chromium.googlesource.com/chromiumos/docs/+/master/styleguide/python.md#describing-arguments-in-docstrings @ 9fc0fc0

https://sphinxcontrib-napoleon.readthedocs.io/en/latest/example_google.html @ c0ae8e3

Therefore, only Args: is valid. This PR replaces them throughout the codebase.
PS: For related PRs, see tensorflow/tensorflow/pull/45420

Thanks, Human-Samuel or Script-Samuel!
BTW: I did the first one by hand and the rest via fastmod, fd and hub 🤫


feat: 🎸 support project configs within nx workspace v2

✅ Closes: #116
PR Checklist
Please check if your PR fulfills the following requirements:

[x ] The commit message follows our guidelines: https://github.com/ngneat/transloco/blob/master/CONTRIBUTING.md#commit
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[ x] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] Other... Please describe:

What is the current behavior?

Issue Number: N/A
What is the new behavior?
Does this PR introduce a breaking change?
[ ] Yes
[ ] No

Other information

Hey, sorry to leave this off for so long, work's been a lot lately.   In handling the errors, I ended up moving things around a bit.  I hope it's still easy to follow and you don't mind my removing the for loop in exchange for being more explicit about what's being returned when.

This pull request has been awaiting review for a while, can someone review this?

@shaharkazaz if you're already close to this, maybe you can take it over?  I'm having a tough time finding free time, and the other morning I wasn't able to get the tests working.

@evanfuture I see, I'll take it from here.
I appreciate the time and will, hope to see you contributing here in the future 😊


Environment Select shouldn't appear on newline if there is enough space

The select component in the navigation bar shouldn't go onto a new line if there is more than enough space to display it besided the Inmanta Logo

Hey team! Please add your planning poker estimate with Zenhub @LauraStordeur @matborowczyk


Written install-porter-on-kubernetes-en.

Signed-off-by: Patrick-LuoYu<EMAIL_ADDRESS>This PR is re-submitted to resolve conflicts.
/assign @FeynmanZhou @duanjiong @zheng1

/lgtm

/lgtm

/lgtm

/lgtm


Build update skia

I have rebased revery-ui/esy-skia on top of mono/skia
Since their is a 10k diff we might copy master in new branch (to not break user that haven't updated because commit are kept)
and I force push the rebased branch in place of master
Question: in drawString method we have a textEncoding and we use always GlyphId (in one test we use Utf8) should we expose textEncoding arguments ?
todo: remove Deprecated module ? (I don't see any mention of a deprecation so it should be fine)
real diff https://github.com/revery-ui/revery/pull/926/files/ffb4669cb639e7cf217292e85bdc0bda0ee472c2..8638b97f3e0a0e620c9c6a5010f4bf15ee4fbbfc (the first one only change resolutions)

Also SkiaSdl return a exit code of 2 and don't do anything.


Invoking a specific http endpoint requires func.yaml

I don't know if this is a wanted behaviour or not. If so, it would be good to know the reasoning behind it so to customize the experience on IJ/vscode as we're adding support for the invoke action in our plugins.
In the tree i have access to all functions, the ones that have been deployed and those that are only opened locally.
When i invoke a remote function or one by using a custom endpoint i receive an error Error: stat .....func.yaml: no such file or directory because i don't have the project opened in my IDE.
So the question is, why does it require access to the function func.yaml file? I would expect it to work without needing to look for it. I'm only sending an event to a http endpoint and i'm passing to it all required args it needs, no?

@lstocchi the invoke command will examine func.yaml to determine some information about the function being invoked. For example, it uses func.yaml to determine if the function should be invoked with a CloudEvent or just simple HTTP, among other things. For almost all func commands, the CLI uses the func.yaml file in this way. Typically, a user would be in their project directory, typing func invoke but I realize it's different in the IDE plugins. You can provide the -p or --path flag to tell the CLI where to look for it, and that should resolve the issue.

So the question is, why does it require access to the function func.yaml file? I would expect it to work without needing to look for it. I'm only sending an event to a http endpoint and i'm passing to it all required args it needs, no?

I do agree it's odd that func.yaml is necessary for the case where you are providing everything, the endpoint URL, the data, etc. It should be possible in theory to remove that requirement, if a valid URL is provided, a payload is provided, etc. But func isn't really meant to be used as a general purpose networking tool. The invoke command does a decent amount of work to figure out what to send and where to send it based on the information in func.yaml. If the function has been deployed, it will invoke the function there unless --target local is set, for example.
By default, func invoke has some pretty nice behavior. It would be great if these defaults were reflected in the IDE as well. There is some pretty good documentation here https://github.com/knative-sandbox/kn-plugin-func/blob/main/docs/guides/commands.md#invoke and I am happy to answer any questions or continue the discussion.

Thanks @lance for the answer.
Yeah i was more focussed on a couple of scenarios when the user doesn't have access to the func.yaml of the deployed function. But this should be easily fixable by disabling the invoke action for the function which are not opened locally in the IDE.
These are the two scenarios

Let's say I'm working on a new function and i deploy it. Then i keep updating it locally and i use the invoke command to verify that the behavior of my new code is as expected.
I face an issue and i want to check if the old version (the one i deployed before) has this kind of problem too. Ideally i would like to use the same invoke call.
But then maybe in my local repo i have a different func.yaml compared to the one I used for the deployed version. It could be a volume, env variable, label, name, something else i'm not aware. I don't know if this could change the call i'm making behind the hood.

I want to invoke the deployed function created by another guy and i don't have the source code and, so, the func.yaml used to invoke it.

Closing it. We fixed our issue by disabling the invoke action for functions which are not opened locally but visible in the tree because deployed on cluster.


Add cypress tests for application settings

Description
Adds test for application settings/preferences like theme, hidden namespaces, removing without confirmation
Related issue(s)

/test pre-busola-integration-test-k3s


MRG, FIX: Fix today

Fixes an issue from the listserv.
@nbara have you checked to see if the birthday / age stuff actually gives correct values?
Needs #7581, then I'll rebase

Also I noticed that even though there is a birthday, info['subject_info'] is None, which probably shouldn't be the case.
@nbara any interest in trying to actually populate that dict? I don't have files to test with so I'm probably not the best one to implement it. You can see the entries that can go in here:
https://mne.tools/dev/generated/mne.Info.html

Ooof, I haven't used GDF files in ages! I don't have other files to test I'm afraid...

Merged by rebase


Add Django 4.0 and 4.1 PyPI classifiers

These help announce that the project works with the new versions.

#293


enabled eslint no-redeclare rule and fixed code

Hey Martin! Thanks for the PRs! I've added you as a collaborator so that you can merge them.

Awesome. Thanks!


Add ability to pass routing prop to agent.oob.receiveInvitation()

When an agent accepts a proof request, the ProofsApi automatically sets up mediation for the presentation message it sends back to the verifier (requester), due to this code in the Proofs API: https://github.com/hyperledger/aries-framework-javascript/blob/main/packages/core/src/modules/proofs/ProofsApi.ts. It doesn't call getRouting with useDefaultMediator: false. This means it will fail if no internet is present, and it will also fail with the return routing response.
When receiving an OOB invitation, we want to be able to pass an optional routing prop along with the invitation. This routing prop is only used when creating a connection. If we can somehow store this routing, we could use it instead of creating new routing in the ProofsApi acceptRequest method.
This issue is related to #1250.

Routing already supported, but it wasn't being used for connection-less exchanges


Propose Customizable Comments (probot-cc)

Checklist

[x] If you're adding a listing for your app, be sure your app is in the /_apps/ folder before opening this Pull Request.
[x] All comments in frontmatter need to be removed.
[x] Performs a useful action through the GitHub API that solves an existing problem for developers:
Similar to the auto-reply probot, but allows for templating comments and could theoretically apply to various Github events (for now, just pull_request.opened is implemented, I'm open/looking to adding more)
[x] Is original: for example, it does something not already done by an existing Probot app
More of an expansion on some other basic existing Probots
[x] Has tests
[x] Has documentation
[x] Is open source
[x] Has a license
[x] Has a code of conduct
[x] Has someone willing to at least minimally maintain them for the near future: @tizmagik

View rendered _apps/customizable-comments.md

Yes, still relevant. Blocked by code review, not sure why travis build failed either

Good question stalebot

Hey sorry this took a while. Are you still running the app? Could you rebase on latest master?
You could update the app to latest probot which now has probot-config built-in, so you can simplify your documentation


fix python icons

Good catch. Really just want to hide that kernel, which is just a matter of
providing a properly hacked API response ...

Unless you want to fix it the hard way, but it's a bit tricky and my memory
is poor of where to look....
On Fri, Oct 5, 2018, 08:01 Simon Biggs<EMAIL_ADDRESS>wrote:

@SimonBiggs commented on this pull request.
In jyve/exporter.py
https://github.com/deathbeds/jyve/pull/30#discussion_r222981207:

@@ -42,6 +42,8 @@ class JyveExporter(HTMLExporter):
"lab/api/settings/@jupyterlab/fileeditor-extension:plugin",
"lab/api/settings/@jupyterlab/notebook-extension:tracker",
"lab/api/settings/@jupyterlab/shortcuts-extension:plugin",

       "kernelspecs/python3/logo-64x64.png",

Makes sense, I'm happy to close this pull request if you like?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/deathbeds/jyve/pull/30#discussion_r222981207, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AACxRMNUUvZ_4FEoFSuHnW_BvWI0oY5hks5uh0ojgaJpZM4XKAqw
.


Weird (wrong?) parentheses in example code

Lots of examples in the article have weird parentheses in it and I'm not sure what they are for.
Example: https://github.com/denysdovhan/wtfjs#precision-of-01--02
0.1 +
  0.2(
    // -> 0.30000000000000004
    0.1 + 0.2
  ) ===
  0.3; // -> false

What's the purpose of parentheses here? It doesn't generate valid code (Uncaught TypeError: 0.2 is not a function at <anonymous>:2:6), nor make it easier to read (compared to just
0.1 + 0.2;   // -> 0.30000000000000004
0.1 + 0.2 === 0.3; // -> false

). I read the "notation" at the beginning and didn't find anything relevant either.
There are plenty of others, e.g.
https://github.com/denysdovhan/wtfjs#patching-numbers
Number.prototype.isOne = function() {
  return Number(this) === 1;
};

(1.0).isOne(); // -> true
(1).isOne(); // -> true
(2.0)
  .isOne()(
    // -> false
    7
  )
  .isOne(); // -> false

.. and so on.

It looks like a mistake from merging code.
Checkout this https://github.com/denysdovhan/wtfjs/tree/c2b38a183a6c13c8ceb44eb1e55238d17875e95c#precision-of-01--02
The original version should be like you written:
0.1 + 0.2 // -> 0.30000000000000004
(0.1 + 0.2) === 0.3 // -> false

It looks to me someone ran a formatter with all the code and messed up lots of things (see also "Destructuring with default values" etc.) I will see if I can fix it as much as I can.


Adds the methods toObjectLocalizedOnly and toJSONLocalizedOnly

Adds the methods toObjectLocalizedOnly(resource, locale, localeDefault) and toJSONLocalizedOnly(resource, locale, localeDefault) to the i18n schema methods.
Starting from:
[
    {
        name: {
            en: 'hello',
            de: 'hallo',
            it: 'ciao'
        }
    }
]

To get only 'it' locale of a resource, just do:
Model.find(function(err, resources) {
    var localizedOnlyResources = Model.schema.methods.toJSONLocalizedOnly(resources, 'it', 'en');
});

localizedOnlyResources has now the following structure:
[
    {
        name: 'ciao'
    }
]

if "it" locale not exists, then returns default language (en)
[
    {
        name: 'hello'
    }
]

Thanks for the contribution. I like your idea and will release it soon.

Will it be released any time soon?

It's about time! Thanks for the reminder and sorry for the long waittime. I was really busy :(


refactor: use docker healthcheck for localnet e2e

Description
Use a docker health check rather than sleeping in e2e to wait for e2e start. Also reduce keygen height.
The keygen height parameters are very sensitive, the following combinations seem to result in random test failures:

20 25
20 30
25 30

I have selected parameters which appear to be stable, but I will need a few CI runs to know for sure.
Reduced CI time by 30-60 seconds, but is mostly to make local development faster.
How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Include instructions and any relevant details so others can reproduce.

[ ] Tested CCTX in localnet
[ ] Tested in development environment
[ ] Go unit tests
[ ] Go integration tests
[ ] Tested via GitHub Actions

Checklist:

[ ] I have added unit tests that prove my fix feature works

LGTM if CI passes

I'm having a hard time telling if e2e is just generally unstable or if this change is causing more instability