translation of lyrics

Is your feature request related to a problem? Please describe.
When I was searching through this awesome repo, I came across this :
pub struct LyricsInner {
    // TODO: 'alternatives' field as an array but I don't know what it's meant for
    pub fullscreen_action: String,
    pub is_dense_typeface: bool,
    pub is_rtl_language: bool,
    pub language: String,
    pub lines: Vec<Line>,
    pub provider: String,
    pub provider_display_name: String,
    pub provider_lyrics_id: String,
    pub sync_lyrics_uri: String,
    pub sync_type: SyncType,
}

I want to add that the 'alternatives' field is actually the translation of the lyric. This is a Chinese repo that manipulates Spotify to translate the result to Chinese.
Describe the solution you'd like
I did not see any tracks on the official Spotify app that has the translation. However, I modified my requests according to the mentioned script and I managed to see the feature that is something like this (on iOS):

Additional context
By the way, I did not find any .proto files related to lyrics. Could you please help me to locate that files?

Great! Could you open a PR to document that?
I don't remember where I got the lyrics struct from. Maybe deserialising the JSON, I think that was it.


Integrating Tinkoff-etna into the prediction of the asset price

Hello there! There was recently a release from Tinkoff of their first framework to work with time-series prediction called ETNA.
I wonder, would it be suitable to integrate their solution into okama in order to lay next to the  Monte-Carlo prediction model?
Link to the framework: https://github.com/tinkoff-ai/etna

Thans for suggestion. I'm not familiar with ETNA but will try it.
In any case it's easy to use any time-series prediction engine with okama historical data:

Portfolio.close_monthly
Asset.close_monthly

Yeah, I saw those properties in order. However, the question was about adding ETNA next to plot_forecast / plot_forecast_monte_carlo in order to get the predictions based on the historical data.
Of course, it could demand either having a great video card, or a pre-trained model in order to predict such things, but it could significantly improve the prediction of the price.
So the question is is it suitable to integrate it with that framework, or it's better to keep it separated?

@nencoru  thanks for explanation. I've explored in more details ETNA package. It looks like a good forecasting engine.
However, I don't think it can be integrated in okama for several reasons:

okama intentented to be a lightweight package with few dependencies and no hardware requirements
in our model currently, we don't predict a price. We work with rate of return distributions which is more probabilistic concept.

Integration of such engines as ETNA can be interesting in the future but it will require substantial change in the package. It’s not in our Roadmap yet.

@nencoru  thanks for explanation. I've explored in more details ETNA package. It looks like a good forecasting engine.
However, I don't think it can be integrated in okama for several reasons:

okama intentented to be a lightweight package with few dependencies and no hardware requirements
in our model currently, we don't predict a price. We work with rate of return distributions which is more probabilistic concept.

Integration of such engines as ETNA can be interesting in the future but it will require substantial changes in the package. It’s not in our Roadmap yet.

I see, well okay then.
Closing issue.


fix: rich list bug

fix: https://github.com/casbin/casbin-forum/issues/171

Code deployed at: https://forum-hk.chromium.link/
Now, rich list will be shown immediately after requesting from backend.

lgtm


ILO Design System Theme Proposal

Context
The proposal idea comes after discussing the #896.
First of all, let's define how the current implementation works. The mono-repo has a package named @ilo-org/theme, with a simple idea to define an abstract variable system that will be a source of truth for the @ilo-org/styles package. It uses JSON files to define the configuration, something like this:
  "spacing": {
    "base": { "value": "8px" },
    "root": { "value": "4px" }
 }

After the definition, there is a  built step involved(it uses - for the variable concatenation. ) that will produce the SCSS variables from the configuration that are directly accessible
{
  .example {
    margin-top: $spacing-base;
  }
}

Problem
Now, let's look at a more complex, real-life use case. For example, look at the Hero component and imagine we want to tweak its style. We will start from the _hero.scss file and we will notice the $spacing-hero-card-corner-cut-height-lg variable. If we want to modify the actual value. First, we will try to do the go to definition aka (cmd + click). We will end up inside the _tokens.scss file, which is a built file and should not be modified. Next, we'll try to use the global search, but none of them appears to be a JSON file

To really modify the value, we should look at the variable structure, and we'll end up inside spacing/hero.json, and here it is
{
  "spacing": {
    "hero-card": {
      "corner-cut": {
        "width": {
          "sm": { "value": "72px" },
          "lg": { "value": "116px" }
        },
        "height": {
          "sm": { "value": "40px" },
          "lg": { "value": "64px" }
        }
      }
    }
  }
}

Despite a bad developer experience, this approach also introduced the dead code elimination problem. There is no easy way to detect unused tokens and purge them. This may evolve into a bigger maintenance problem that will take a lot of work to debug. You may also notice the second issue, as mentioned above: the - is used for variable concatenation for JSON nested values, but the - is also utilized for word separation. So unexpected collisions may happen:
{
  "spacing": {
    "herox": {
      "card": {
        "padding": {
          "value": "11px"
        }
      }
    },
    "herox-card": {
      "padding": {
        "value": "18px"
      }
    }
  }
}

An example like this will give you the compiler warning, but it will still generate the following SCSS, and this issue isn't scoped to only one file
$spacing-herox-card-padding: 11px !default;
$spacing-herox-card-padding: 18px !default;

Another scenario where improvements can be made is variable referencing. For example, we want to use the base spacing value for the heading margin definition. If we want to reference another variable, we should be dependent on its string representation without any IntelliSense, but instead of - we should . for file reference
{
   "heading": {
      "margin": {
         "value": "{spacing.base}"
       }
   }
}

There is also an implementation problem. Despite having a bad referencing system, the system isn't utilizing it fully. Some JSON files still use direct values. Here is an example from _boxpadding.json
 "credit": {
    "small": {
      "bottom": { "value": "4px" },
      "left": { "value": "12px" },
      "right": { "value": "8px" },
      "top": { "value": "4px" }
    },
    "medium": {
      "bottom": { "value": "4px" },
      "left": { "value": "12px" },
      "right": { "value": "8px" },
      "top": { "value": "4px" }
    },
    "large": {
      "bottom": { "value": "4px" },
      "left": { "value": "12px" },
      "right": { "value": "8px" },
      "top": { "value": "4px" }
    }
  }

To sum up, it will be better to start the migration to the new system for future development, especially for tasks like #970 and #896.
CSS Variables
This proposal keeps the idea of future theming capabilities. It aims to improve the developer experience, maintenance, composability, and theme extension, but it also tries to introduce a framework for how the theme should integrate into styles. The new theme implementation will leverage CSS variables. It has about 97% browser support, it doesn't require any extra build steps, and all modern editors have the necessary tooling.
The new theming system will live inside the @ilo-org/styles package. It will have two high-order scopes

Foundation
Component

Foundation Scope
The foundation scope will be a core part of the theme. It will define the main building blocks like:

Typography: everything related to text rendering
Colors: general colors for the design system, like: $brand-ilo-blue
Spacing: general spacing value that will be used for both margin and padding
Sizing: view-port definitions, border radiuses, etc.

These blocks will completely cover the shared configuration for all components.  The file structure will look something like this
.
└── styles/
    └── scss/
        ├── theme/
        │   ├── _foundation.scss
        │   └── index.scss
        └── components/
            └── ...

If _foundation.scss becomes too big, we can split them into separate modules. Here is a brief version for Theme Foundation
:root {
  /**
    * Typography
    */
  --ilo-scale: 1; // default scale for the design system
  --ilo-font-family: Overpass, Noto Sans, Noto Sans CJK JP, Yu Gothic,
    Hiragino Sans, TakaoPGothic, PingFang SC, Microsoft YaHei, 微软雅黑,
    sans-serif; // equivalent to $fonts-display
  --ilo-font-family-headings: var(
    --ilo-font-family
  ); // separate variable for headings
  --ilo-font-family-monospace: monospace; // monospace font
  --ilo-line-height: 146%; // based on mostly used body line height inside figma design typography settings

  // ... more typography vars

  /**
    * Colors
    */
  --ilo-color-blue: rgba(30, 45, 190, 1);
  --ilo-color-blue-lighter: rgba(235, 245, 253, 1);
  --ilo-color-blue-light: rgba(190, 220, 250, 1);
  --ilo-color-blue-dark: rgba(35, 0, 80, 1);
  --ilo-color-blue-medium: rgba(30, 45, 190, 20%);

  // ... more color vars

  /**
    * Sizing
    */
  --ilo-breakpoint-xs: 320px;
  --ilo-breakpoint-sm: 414px;
  --ilo-breakpoint-md: 610px;
  --ilo-breakpoint-lg: 1024px;
  --ilo-breakpoint-xl: 1168px;
  --ilo-breakpoint-xxl: 1440px;
  --ilo-border-radius: calc(
    px-to-rem(2) * var(--ilo-scale)
  ); // every value that is not meant to be scalable should use --ilo-scale

  // ... more sizing vars

  /**
    * Spacing
    */
  --ilo-spacing-base: calc(
    px-to-rem(4) * var(--ilo-scale)
  ); // non typography, values are always referenced from the scale system
}

Let's start with the rules first

All variables provided by the ilo theme, both foundation and component scope, should use the ilo- prefix
Every value meant to be scalable should use --ilo-scale variable.
Variable should be structured in a specific way

name and size can be used together, if needed name->size.

Foundation file, should not include any component specific styling
Foundation variables can reference each other

Component scope
The main question remains: Where are the component variables?  Component variables should not be defined separately. Each component should declare its own set of variables at the top of the file that will be used across component styling only.
Rules

Variables structure

component variables are more flexible. They may include sublayers. For example, if we want to define the width and height of video component's control bar we can use

--ilo-video-control-bar-width: 12px;

if the component has breakpoint separations, the variables should be separated

--ilo-multilink-card-md-padding: 12px;
--ilo-multilink-card-lg-padding: 16px;
--ilo-multilink-card-xl-padding: 20px;

What should be extracted as a variable?

This component scope aims to define certain variables only within its scope. It will allow an end user to override properties for only the current component. To achieve this, the component will reference some of the foundation variables, giving us the power to have the correct scoping for each component. Here are the mandatory variable properties

background-color
color
border-radius
padding: padding (container only), padding-block, padding-inline
width: width (container level), max-width, min-width
height: height (container level), max-height, min-height

For example, background-color of the promo card can be the main blue color, but it should be declared separately and reference the foundation
--ilo-card-promo-backgroun-color: var(--ilo-color-blue);

After mandatory variables, the component can expose any other variable on any sublayer of the component. For example, we can define separate font-size for multilink card title like

.ilo--card {
  $self: &;

  &__type {
    &__multilink {
       --ilo-card-multilink-title-font-size: 12px;
    }
  }
}

Besides mandatory properties, the component can directly access the foundation variable on the target property.

The developer can expose any other variable related to the component that can be discussed during PR.

Layout, positioning, static background images, or nested with and heights aren't required to be declared as a variable

Hover and focus variables aren't necessary (this could be discussed)

% and view-port sizing-based values can also be omitted

If components share the same root class, for example Card component, the definitions should be made at the component-specific wrapper

// promo card
.ilo--card {
  $self: &;

  &--wrapper__type__promo {
    --ilo-card-promo-width: 123px;
 }
}

Mixins

Mixins that use the old token system should move to foundation values: spacing , px-to-rem, breakpoints
map-get, font-family, font-wight,  should be removed and moved to the foundation/component level
spacingvalues, bordevalues, boxpadding should be removed and abstracted at the component level
component specific mixins like videobutton should move to the component level and use CSS variables

Let's walk by the example if we want to refactor the accordion component

define all mandatory variables

.#{$prefix}--accordion {
  --ilo-accordion-transition-timing:  500ms;
  --ilo-accordion-max-height: 300px;
  --ilo-accordion-button-color: var(--ilo-color-blue);
  --ilo-accordion-button-padding-md-inline: calc(var(--ilo-spacing-base) * 3);
  --ilo-accordion-button-padding-md-block: calc(var(--ilo-spacing-base) * 2);
  --ilo-accordion-button-padding-lg-inline: calc(var(--ilo-spacing-base) * 4);
  --ilo-accordion-button-padding-lg-block: calc(var(--ilo-spacing-base) * 5);
  --ilo-accordion-button-border: 2px solid var(--ilo-color-lighter-blue);

  $breadcrumb: &;
}

Then, we can use them directly for target properties

 &--button {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    width: 100%;
    margin: 0;
    padding-block: var( --ilo-accordion-button-padding-md-block);
    padding-inline-end: var( --ilo-accordion-button-padding-md-inline);
    transition: all var(--ilo-accordion-transition-timing) ease-in-out;
    background-color: var( --ilo-accordion-button-color)t
    background-position: calc(100% - px-to-rem(6px)) center;
    background-repeat: no-repeat;
    background-size: px-to-rem(24px) px-to-rem(24px);
    border-top: var(--ilo-accordion-button-border);
    // ..rest

    &__large {
      @include font-styles("headline-6");
      padding-block: var( --ilo-accordion-button-padding-lg-block);
      padding-inline-end: var( --ilo-accordion-button-padding-lg-inline);
    }
}

We can also reference foundation variables

&__open {
      max-height: 100vh;
      transition: all var(--ilo-accordion-transition-timing) ease-in-out;

      &#{$panel}__scroll {
        padding-right: calc(var(--ilo-spacing-base) * 4);
      }
    }

And then we can refactor old mixins

font-style example

&--label {
      white-space: nowrap;
      overflow-x: clip;
      text-overflow: ellipsis;
      max-width: 30ch;
      font-family: var(--ilo-font-family-body-xxs);
      font-weight: 400;
    }

Hey @GGKapanadze this looks really exciting, I agree wholeheartedly with the approach. Just a few things:
We'll need to document a list of the customisable variables for each component in Storybook. What's the best way to do that?
Prefixes
The rest of the DS uses a variable $prefix to namespace classnames so that it's clear what comes from the DS and what doesn't. This should also eventually make it clear if you've applied custom theming to the DS or not.
If that's the case, then we should do one of two things:
Use prefixes in the CSS vars as well
This won't be nice or be fun to work with, but it will solve the problem for users. This is my preferred solution.
--#{$prefix}-accordion-transition-timing:  500ms;

&__open {
      max-height: 100vh;
      transition: all var(--#{$prefix}-accordion-transition-timing) ease-in-out;

      &#{$panel}__scroll {
        padding-right: calc(var(--#{$prefix}-spacing-base) * 4);
      }
    }

Use some other neutral prefix
We could use theme or ds or ds-theme that will look nicer in source code, but could still lead to some confusion.
Color theming
To make the DS as themeable as possible, it seems like we should use semantic names like primary, accent, background etc. This will also make it easier to implement light and dark themes and allow people to apply a totally different brand just by changing these few variables.
Animations
We should also expose standard values for animation timings as you'll often have multiple transitions running together and they need to be synced. Something like
--ilo-transition-fast: 250ms;
--ilo-transition-slow: 500ms;
--ilo-transition-slower: 1000ms;

Naming convention
I think the naming convention is great, but above you have this example:
-ilo-multilink-card-md-padding: 12px;

and it seems like it should be this instead:
--ilo-multilink-card-padding-md: 12px;

@justintemps Thanks for the feedback
Documentation

since CSS variables are browser-supported features, dev tools will be the best documentation for developers (per component bases)
we should also define our theming strategy as a MD file

Prefix
let's create a theme-prefix variable(SCSS) and use it for variable prefixes. Just to avoid future collisions
Themeing
absolutely right! My initial version was about color name normalization, but the current Figma foundation already has opinionated names, and it will be time-consuming for the design team to refactor the foundation and components with semantic names
Animations
good catch 🚀 we can include animation for the foundation
Naming
my bad

Took a look at this just now, great work on putting this together @GGKapanadze , it is extremely thorough. 🙏
A few things came to my mind as I was looking at this

I like the new distinction between foundation and components. It expresses the original intention of the tokens package much better I think, because foundation is term that is actively used by the design team. But you are suggesting that we get rid of the token package yes? and have both foundation and components within the style package?

In that case, I would propose a minor change to the proposed file structure. It would make it easier to look up the foundation values by searching for the file directly

.
└── styles/
    └── scss/
        ├── foundation/
        │   ├── _typography.scss
        │   ├── _spacing.scss
        │   ├── _colors.scss
        │   ├── _sizing.scss
        │   └── index.scss
        └── components/
            └── ...

Do we really need the prefix + component name for component variables?

Can't we just declare those variables within the root class of that component so that the variable is only scoped to that class? That way the encapsulation of those variables is also enforced. (For clarity, we can consider adopting a simple prefix (e.g. component-md-padding) for these variables. Since the variables will be scoped to the component, we know this variable exists within the current file)

A more radical suggestion, do we really need the prefix?

The prefix makes life harder for us with less readable code and the need to substitute the prefix everywhere the styles are used
My current understanding is that the prefix is used to overwrite the values used within design system so that it can be themed. But this can also be done by simply overwriting the CSS variables as required.
If we follow the suggestion above, then the component variables can also be overridden by redefining the variables within the component class.

On a related note, I think that consumers should not be messing around with specific component styles as that defeats the purpose of a DS. The DS should be themeable but within the constraints that we define. By documenting only some variables and not the others, we encourage consumers to customize the DS within the constraints we define.

Here is a short example of how a consumer can override the CSS variables of the design system without the prefix

:root {
  --breakpoint-xs: 300px;
  --breakpoint-sm: 400px;
  --breakpoint-md: 600px;
}

.card {
   --component-padding-md: 12px
}

Thoughts @GGKapanadze @justintemps ?

Hey @bashlk ,
I think your idea to scope the component-specific variables to those classes so that we don't have to prefix them is a very good one. That should simplify things a lot.
In terms of the global variables, I think we do need to prefix those 1) so that it's obvious they're global and 2) so that it's clear where they come from.

@justintemps In that case, we can adopt a static prefix for the global "foundation" variables (e.g. --fn-breakpoint-xs) instead of the dynamic one that we have now.  That way we can easily distinguish what a global foundation variable is.
This prefix could then be hardcoded as the variable is defined without substituting it everywhere like we do now. That should make the stylesheets much simpler.

👍 We can split the foundation file if it becomes big
about prefixes

For the :root definitions prefix is crucial

we should not override any other :root variable from the different UI framework
we should not reserve any generic variable like  --breakpoint-xs, it will cause a lot of pain to debug where the variable comes from
since css variables are browser feature, the developer should have some idea what variable is he overriding
during code search prefix will help to differentiate the origin

For components

if we agree that the foundation file needs a prefix, from DX perspective, we already have an opinion how developers should access/modify the variable
component_name is  necessary because we create the namespace in which everyone can access the needed variables

I can agree it may be a bit frustrating  to do prefixes but it will create a great DX for developers who are would consume/modify the theme @bashlk @justintemps
Libraries who are following the same/similar standard

mantine
antd
chakra
bootstrap

@GGKapanadze Good work on this I just had a read on this as well. One of the most time consuming issues that I had will be resolved in this one. (Finding component based tokens in JSON files xD)

hey @GGKapanadze was this completed in #896 ?


Anonymous type def in a tuple type descriptor crashes the runtime

The program below fails in the current master
public function main() {
    [string, record {| string name; |}[]...] arr = [];
}

Closing since this was fixed by #21669


Document new disk tab, and disk resize popin

Document new pinata feature: https://github.com/docker/pinata/pull/8270

Closing this ticket due to its age, and the impending refactor. If you think this is in error, feel free to reopen. Thanks!


Locally failing tests on modsec3-nginx

Running tests for 941120 against modsec3-nginx fails for me locally (they don't fail against modec2-apache). The tests expect to see log entries that don't appear to be found, however, looking at the logs the entries are clearly there. Maybe the test is looking at the wrong logs?

CRS version (e.g., v3.4/dev):
Operating System and version: macOS 14

941120 has 4 tests - all of them are failed?
Other test cases are fine?
With which test framework do you use? go-ftw or ftw?

The first two fail because they expect the ID to be in the log. The other two succeed because they expect no ID in the log.
The same applies to other tests. Whenever the ID is expected to be in the log, the test fails. This is using ftw.
It's probably something related to my setup but I wanted to check if I'm the only one who has this problem first.
BTW, should I even invest time in this? Or is go-ftw ready for prime time? Are there instructions on how to run tests with go-ftw locally?

The same applies to other tests. Whenever the ID is expected to be in the log, the test fails. This is using ftw.

If the entry is there (in the log), but ftw does not find that, it could be some timezone issue on your system. Check that Nginx produces the logs with correct hour, what your system uses.

@theseion I've been using go-ftw since a long time, and it works all the time for me. But of course I'm cheating because I'm the author. Sometimes, depending on the type of execution you are doing (container vs. base host), you need to check the timezone.
Go-ftw will fail because the timezone can't be detected properly and you will see that all log related tests fail (like this case). The typical usage scenario that both test tool do is to save t0 before the test and t1 after the test, and then check logs between them. I've created https://github.com/fzipi/go-ftw/issues/40 some time ago to give users better output when this happens.
Take a look on how it's being used in the pipeline, you can easily do the same. And if you have any doubts, or comments, you are more than welcome to file an issue or ping me in slack ;)

Thanks guys. You seem to be on the right track. The timezone wasn't correct (why doesn't this happen in the modesec2-apache container?). However, TZ isn't set in my shell (and usually isn't), so it can't be picked up that way. Setting TZ manually helped to fix the timestamps in the logs. However, the tests still don't work.
I noticed that the container printed a warning (which I had missed...) about TZ not being set. The interesting thing is that it is being printed twice, but after I set TZ it is *still being printed once`.
An alternative to setting TZ could be to mount /etc/localtime:/etc/localtime:ro, but that obviously has some limitations.
I haven't spent much time on this. I'll come back to it later.

Ok... found it...
To use modsec3-nginx in tests, I had to use the --config for the test script. I had never noticed that existed before...


Allow pysal to be installed from PyPI on Windows

Describe the bug
Currently pysal can't be installed from PyPI on Windows due to an upstream dependency, rvlib, failing to build on Windows. This error was introduced when a direct upstream depency of pysal, segregation, adopted rvlib in https://github.com/pysal/segregation/pull/183 which was included in the segregation v2.1.0 release. The issue on installin rvlib on Windows is further discusses here: https://github.com/QuantEcon/rvlib/issues/29.
There are a few options to fix this:

Build and deploy Windows wheels to PyPI for either rvlib, segregation and/or pysal. Publishing wheels for one of these should be enough to fix this issue.
Fix the actual compiler issue in rvlib.
Use an older version of segregation (on Windows)
Revert segregation back to SciPy or another package so it doesn't need rvlib anymore (revert https://github.com/pysal/segregation/pull/183)

To Reproduce
Try to install pysal with pip install pysal.
Expected behavior
pip install pysal works with the latest pysal version on all platform without any errors.
Workaround
A workaround for the time this isn't fixed is installing older versions. segregation 2.0.0 is the latest version that doesn't need rvlib, and pysal 2.5.0 is the latest version that works with segregation 2.0.0.
pip install segregation==2.0.0
pip install pysal==2.5.0

thanks for raising this. A few things:
the issue you're hitting is not really a bug with pysal (or segregation, or rvlib, for that matter). The root of the problem is that windows's default c-compiler (VSCode) does not support variable-length arrays (c99) mode. Unfortunately, the fix for that is to get a better C toolchain working for windows users, and that's something we can't control.

there are several reasons we recommend using conda over pypi (like making sure your gdal, geos and proj dependencies are all aligned), so the best option remains to use anaconda if that's possible
the current version of the pysal metapackage can be installed on windows, even if you're stuck using pypi! Your machine just needs to be set up to use the mingw C compiler instead of the VSCode compiler. That's your path of least resistance if you're stuck with pypi :)
As i mentioned over in https://github.com/QuantEcon/rvlib/issues/29, the pysal metapackage doesnt actually contain any code, just a set of dependencies on its constituent subpackages. Chances are good you don't actually need everything in the metapackage, so you could also install the subpackages you are looking to use directly (i.e. what are you trying to do with pysal? do you need the segregation package? If not, there's no need to bother with the metapackage; you could just pip install libpysal esda splot etc). In that case, there's no need to bother with segregation or rvlib at all.
i agree a great solution would be to have wheels built for rvlib, which would allow everything to work as-is, but i dont have much time to work on a separate CI script in rvlib, and my only development machine at the moment is an ARM mac
thanks for tracking down the version where we made the switch. As an intermediate work-around, we could also make rvlib an optional dependency by doing a try/except in the rvlib import and falling back to the old code prior to https://github.com/pysal/segregation/pull/183. If you put together a PR in segregation toward that end, I'd be happy to accept it :)


Responsive TabContent

On small viewport widths, the .bx--tab-content class has a padding: 1rem value. It appears to be a bit cramped (see screenshot below).
I propose its padding be 0 while the tabs appear as a dropdown, and once the tabs appear as tabs at 672px viewport width, the tab contents can have a padding: 1rem value. I couldn't reproduce this behaviour from the Carbon React storybook, so I'm unsure what the standard is.

I would suggest that Tabs or TabContent has a prop to define if it has (default:true) padding on sides or not, also for larger viewports.


Inference on an AMD mid-range GPU achieves 1.5 tokens/s, while LM Studio can reach 65 tokens/s

What is the issue?
I'm just testing out Llama 3.1 8B q4_k_m with “tell me a joke". The performance gap between them is pretty huge. I'm using Ollama + Nvidia for work, but for home fun, I went with a 7800XT. I'm wondering if the performance issue is due to my setup or a limitation in Ollama itself.
Both are running Adrenalin Edition == 24.10.1

OS
Windows
GPU
AMD
CPU
AMD
Ollama version
0.4.7

Server logs will aid in debugging.  The usual reason for slow generation is the model running in CPU rather than GPU.  For example, if LM Studio as running when you did the ollama test, there may not be enough VRAM for ollama to (fully) load the model.
$ ollama run llama3.1 --verbose
>>> Hi, tell me a joke
Here's one:

What do you call a fake noodle?

An impasta!

Hope that made you laugh!


Bug: Switching between different speaker / headphone will caused the app not responding

I was planning to purchase pro subscription, but end up canceled because of this issues.
overall the app is very good!

same . M1. crashes 2-3x daily. switching audio device is sure to do it but also happens randomly when I am way - come back to the unexpectedly quit message.

I love the app but on my M1 it's very unstable. I've tried to reproduce the crashes on my Mac Mini but with no success.
I'm more then happy to help to find the issue so just let me know if there is something I can do.
Attached my bug report log
bug report.pdf
.

Same, Intel Macbook Air (late 2019) running the last operating system. It happens everytime.

Same, Intel Macbook Pro (2020). Crashes almost every time I switch devices both when I had Big Sur and now with Monterey OS.

For more info, if I have my earphones, open the app, and listen to music, then remove my earphones, the app starts not responding. Something I noticed is that even when I force quit the app I still don't get audio coming out of my speakers, for this to be fixed I have to 1. quit the video or song I am playing, 2. use the "sudo pkill coreaudiod"  command 3. play the video or song again. I am not sure how much this extra info can help the developer but it definitely messes with the audio of the macbook.

same issue here! love the app, i have the pro version but i'm now wondering if i should pause my sub until this gets ironed out. every time i switch devices (including when i first open the app) it freezes and i have to force quit over and over again until it decides to work. mac mini 2012, catalina 10.15.7

same issue here, MacBook Pro (early 2015), Monterey 12.3. this seems like the best eq i can get on mac, but keeps crashing every time i switched devices. almost unusable, but I still use it bcs i need the EQ :(

Same here, doesn't matter if I'm using my MacBook Retina 13" 2013, 15" 2015 or Air M1 2020.

I experience freezes as soon as returning from standby. Killing eqMac usually helps. Sometimes I also need to kill the audio driver to get the app back to operating.
MacBook Pro (16 Zoll, 2019), Intel, macOS 11.6

Macbook Pro 2019 Intel with the same issues, most of the time freezes and stop responding after switching audio devices.

Mac Mini M1 on 12.2 Monterey with the same issues. Love the app but this is a huge pain.  Switching devices or after sleep the program is usually unresponsive. Have to kill it and then hope it will work properly. Have the pro version and may cancel like some above until this is ironed out.

I'm also having this issue. Sad to see there's no update on this bug until now.
MacBook Pro (16-inch, 2019)
macOS Catalina 10.15.7

I am also experiencing this issue. Everything else about this app has been great, but I use it on a laptop and it is very frustrating to have the app crash every time I need to unplug from my dock. Would really love to see this ironed out.
MacBook Pro (16-inch, 2019)
MacOS Big Sur 11.6.5

I'm having the same issue.
MacOS Monterey 12.3.1
MacBook Pro (13-inch, 2019, Four Thunderbolt 3 ports)
I use an external DAC connected via USB. eqMac freezes if I plug in my Mac to the hub with my DAC or unplug the DAC from my Mac.

Same issue, but for me eqMac freezes and requires a force close, then when reopened works until I disconnect the DAC again. Also a Pro user here
MacBook Pro 2018, Monterey 12.3.1

Same problem - Mac Mini M1 running 12.3.1

Same thing on my 2015 MBP. I use a Scarlett interface and whenever I wake up my laptop, it defaults to internal speakers. I have to change the output to my interface every time and most times, the app will crash. If developer can confirm this is fixed or will be fixed, I will subscribe to pro version.

I am also having this issue with the 2021 MacBook Pro.

Same on iMac running Monterey.  Love the functionality when it works but wondering whether it's worth the subscription

same... :c

I have this same issue on a 15" 2019 MBP (osx 10.15.7), its not exclusive to M1. I have two audio devices i use frequently so this renders it largely unusable :( I think i will cancel pro for now, but ill keep an eye on this

It's definitely been established this is not exclusive to M1 :) The OP didn't mention M1 and many comments are of non-M1 users.
I have gotten used to keeping the icon in the dock and force quitting each time I disconnect from a DAC, but I'm looking forward to not having to do that any longer :D

I reverted back to eqMac v1.3.2 which "fixed" the Bluetooth problem.

Hey everyone,
I'm super sorry for the lack of communication from my end, the last 5 months have been pretty rough for me but I pulled through.
I have been working on an update for a while that addresses the issue you're all experiencing.
I had to completely rewrite the Core of the app to use a more older version of Audio API's that Apple has.
The newer AVAudioEngine API that Apple has been pushing down developers throats ended up being a massive problem for eqMac and my productivity.
Hopefully this is all behind us now and I'll be able to release updates more often and better as I have more control over the Audio Pipeline!
Please check out a Pre-Release of v1.5.0 that you can download here: https://github.com/bitgapp/eqMac/releases/tag/v1.5.0
Or just Enable "Beta Program" in eqMacs Settings!
Please let me know how it goes!
Kind Regards,
Roman - Founder of eqMac

@nodeful Sorry to hear you've had a rough time lately - but glad to see moved it thru whatever it was.
Great to see life in eqMac as well - so far 1.5 has been running smoothly (nicely timed with updated Oratory 1990 measurements and presets coming out today - so manually updated my EQ and whoah - so good.
Hopefully Apple don't drop support of those older Audio APIs in the upcoming OS release!

@talios @medi74 Thanks guys :)
Don't worry I'm mostly fine, I just take on too much responsibilities in my life and can't get anything done in time.
Overpromised and underdelivered. But slowly and surely I'm getting out of the mess I created and starting to get things in order.
Don't worry the project will never die as long as people are using it, this is currently my main source of income and I don't take it for granted. I'm still working on this whole thing by myself and it takes time to develop a stable product. We'll get there!

BTW, even with 1.5 still crash.  I don't know if this a new issue or an old one. If necessary I'll open a new ticket.
I'm attaching the full error report.
eqmac error report.txt

@medi74 I've taken a look at the report and it seems like it would be a easy crash to fix, but unfortunately the report is too tangled in Libraries that don't provide an easy to read Stack Trace. Did you do anything specific before the crash occurred?

@nodeful I'm not able to reproduce the issue. I was away from the mac for 2 hours and then when I came back I've seen the Crash popup. I'll try to observe during the next day if I can provide you some more information or if I'm able to reproduce the crash.

Issue is fixed for me by opting into Beta in the app, without system restart.
Thank you so much @nodeful! Hope you are well.

Thanks so much! @nodeful


[BUG] nn.Module.train() and eval() have NO effect on TransformerLayer's dropout

Describe the bug
When performing model evaluation during training, using model.eval() doesn't bring any change (to dropout) as expected.
DeepSpeedTransformerLayer's forward dropout behaviour is determined by self.config.training (specified during construction) rather than self.training.
This may hurt accuracy when users construct a model for training and then call model.eval() to disable dropout for evaluation.
To Reproduce
N/A
Expected behavior
After model.eval() and model.train(), the dropout in TransformerLayers should be disabled and enabled.
A typical fix should be like
class DeepSpeedTransformerLayer(nn.Module):
    ...

    def train(self, mode: bool = True):
        self.config.training = mode
        return super().train(mode=mode)

ds_report output
N/A
Screenshots
N/A
System info (please complete the following information):
N/A
Launcher context
N/A
Docker context
N/A
Additional context
N/A

is this expected behavior @tjruwase ?

I too am having this problem. My code snippet is something like this:
model = from_pretrained(...)
engine = deepspeed.initialize(
    model=model,
    config=ds_config,
    model_parameters=None,
    optimizer=None
    lr_scheduler=None
)

module = engine.module
module.eval()
loss = 0.
for input in data_iter():
    loss += module(input)
print(loss)

I ran the same script multiple times and got different loss value. Seems like module.eval() has no impact on self.training in sub-modules?


/ILK is missing

/ILK is missing from the list

Document details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 0a0255b2-cf9d-3325-ccd7-e34aed553311
Version Independent ID: d1664a56-cee1-bdd9-bb77-3acb62670a41
Content: MSVC Linker options
Content Source: docs/build/reference/linker-options.md
Product: visual-cpp
Technology: cpp-tools
GitHub Login: @corob-msft
Microsoft Alias: corob

@CatShootingStar
So it is. I forget sometimes about all the places that need updates when I add an article; thanks for pointing this one out. The update should be visible after our next publishing cycle, sometime tomorrow.


[Enhancement] hide init() method if no docstring

Another possible enhancement could be to hide the init() method when displaying a class if the docstring is empty, since all parameters appear in the class header and the docstring of the class supposedly document those.
Currently a section with the init method is created with the following content :
Initialize self. See help(type(self)) for accurate signature.
even if there is no docstring

I fixed the problem. Please use Version 0.5.1 or later.
Current behavior: If there is a class header docstring, an init() docstring is ignored regardless of its contents. If there is not a class header docstring AND an init() docstring does not start with Initialize self, the init() docstring is transfered to the class header docstring.

Perfect, thanks for the quick resolution again!


add support for specifying workspace directory

Adds support for specifying workspace directory.  This allows running cargo2nix from a different directory than where the Cargo.toml file is located.
e.g.,
pushd ~; cargo2nix -f project.nix ~/user/project-directory; popd

and, preserving previous behavior using either
cargo2nix .

or
cargo2nix

Also added ability to generate shell completions.  Should resolve issue #77

LGTM.  Picking this in.  Thanks for changes.


Fail gracefully when plugin binary implements outdated API

Since drivers will (mostly) be distributed separately it is too be expected that the docker-machine and  plugin binaries on users systems might eventually get out-of-sync in regards to the API version they implement.
E.g. after i upgraded to v0.5.0-rc4 today, docker-machine stopped working. Eventually i found out that this was caused by a third-party driver plugin that was built against v0.5.0-rc3 and didn't satisfy API methods introduced in rc4.
This patch makes sure  that docker-machine fails gracefully in case the driver binary API version is outdated.
Signed-off-by: Jan Broer<EMAIL_ADDRESS>

cc @nathanleclaire

LGTM
The ApiVersion is unlikely to change often FYI, sorry about the RC hiccup.

@nathanleclaire Clear. On another note, what do you think about version control for third-party drivers as they will not necessarily follow the release cycle of docker-machine? Maybe you could add a DriverVersion() method to  libmachine's driver interface and then print the driver's version along with the driver flags, when doing docker-machine create -d third-party-driver?

@janeczku It certainly is something important that we need to think about.  It's too late to add anything additional to the API without a game plan, but safe(ish) versioning of drivers seems like a good thing to worry about to me.

@nathanleclaire :+1:


Output json is corrupted

Describe what you want to achieve.
Well if i try asign parsed json to another json the output of second json is will be "broken"(some info its saves like variables buy some will not)
Describe what you tried.
readBuffer is string gained from server I want to parse it but result is "strange" if i want  for example show it in console:
here is code

auto buf= json::parse(readBuffer);
weatherData = buf;

cout buf result is
{
"userId": 1,
"id": 1,
"title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit",
"body": "quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto"
}

I cout(using forloop with iterators to get all content) WeatherData result is
"quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto"
1
 "sunt aut facere repellat provident occaecati excepturi optio reprehenderit"
1

Almost no brackets and order of data

Describe which system (OS, compiler) you are using.
OS windows 7 x64 , using Visual Studio 2017
Describe which version of the library you are using (release version, develop branch).
JSON for Modern c++ v3.7.0

I do not understand the problem. What is "strange" and what do you mean with "Almost no brackets and order of data"=

I do not understand the problem. What is "strange" and what do you mean with "Almost no brackets and order of data"?

"Strange" is result "weatherData" json  where all data is not in json format(no brackets e.t.c) . For example COUT of buf variable  is in proper json format (with brackets, quots etc)

Issue was solved, problem was what I am derp ! I used
for(auto &val : weatherData )
{
cout<<val<<endl;
}

what showed only values  (strings in my case and num 1) not all the data like brackets ,spaces and quots(i mean this ->"")
Just needed to use
cout<<Weatherdata<<endl;

and all is OK!


Taxon constraint: GO:0043045   post-fertilization epigenetic regulation of gene expression

Please provide as much information as you can:

GO term ID label:

GO:0043045   post-fertilization epigenetic regulation of gene expression

Request to add a taxon constraint:

**only in taxon: **

metazoa

OK will add "never in fungi"

Thanks for the comments @cmungall
In fact @colinlog and I just recently discussed merging
GO:0043045 post-fertilization epigenetic regulation of gene expression with is child:  GO:0044725 epigenetic programming in the zygotic pronuclei.
I am not sure to what extend you'd like to reduce this branch.

In fact @colinlog and I just recently discussed merging
GO:0043045 post-fertilization epigenetic regulation of gene expression with is child: GO:0044725 epigenetic programming in the zygotic pronuclei.

Does that definitely work with existing annotations? The text definition says "during embryonic development" which is very broad and I'm pretty sure some of the existing annotations describe things after the zygote.
Additionally we have a classic lopsided christmas tree structure:

[] GO:0040029 ! epigenetic regulation of gene expression

[i] GO:0043045 ! post-fertilization epigenetic regulation of gene expression

[i] GO:0044725 ! epigenetic programming in the zygotic pronuclei

[i] GO:0141044 ! epigenetic programming in the endosperm
[i] GO:0044727 ! epigenetic programing of male pronucleus
[i] GO:0044726 ! epigenetic programing of female pronucleus

"zygotic pronuclei" sounds metazoan but it's actually for animals or plants. However, plants annotate one level below. Animals annotate one level below if it's known if it's male or female.

@cmungall
To answer the 'easy' part of your comment above

If I was a user and I was interested in this concept I’d intersect all dna
methylation genes, histone deac genes, with genes expressed during
embryogenesis, then if I was interested in persistence of state further
intersecting using genomic data. I believe this would get me a more
accurate gene set than querying on the odd GO grouping.

This is what the grand-parent class epigenetic regulation of gene expression represents.
The challenge is to describe imprinting in plants and in animals.

After reviewing annotations, @colinlog and I have decided to change the label of
to 'epigenetic programming of gene expression' GO:0043045 ! post-fertilization epigenetic regulation of gene expression.
We have also moved genomic imprinting as a child of this term.

right, I misunderstood.
I thought
GO:0043045 post-fertilization epigenetic regulation of gene expression
was the term you were relabelling.
ignore.

No, you're right !! Correct label is epigenetic programming of gene expression

'epigenetic programming of gene expression' GO:0043045
sounds as though it could also be used by yeast... it's also very similar to
'epigenetic regulation of gene expression'

The distinction is the 'programming' part, ie there are some changes being made to the DNA that occur in early development and that persist in the organism, and that has the potential for regulating gene expression.
Maybe some 'developmental' aspect is missing from the label, but it is in the definition.
Suggestions for improvement as welcome!
Pascale

Maybe  yeast people don't use the term"programming", it will be fine since it s taxon restricted, and its clear from the definition.


fix: Amend preferences StandardKeyBinding

Qt suggests this shortcut for MacOS, with no bindings for Win or Linux. VS code uses this shortcut for all platforms.
I have amended primary key binding for 'preferences' to be Ctrl + ,.
Another option is to follow Qt and only set keybinding to be this for Mac, leaving rest as None. Happy to change.

Thanks!


How to Get/Set A Type Not byte[]

Is your feature request related to a problem? Please describe.
I Need Get/Set A Type Not byte[]
Describe the solution you'd like
private readonly IDistributedCache<Person> _genricCache;
private readonly IDistributedCache _cache;
public async Task Test()
{
    Person person = await _genricCache.GetAsync(key);
    //Or
    Person person = await _cache.GetAsync<Person>(key);
}

@Rick-Anderson  edit: Integrated issue

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 0d01025d-86b2-bb2d-86c1-ef0695bc98e3
Version Independent ID: 5b9a6572-3671-0d54-b2ef-83d04f8b3e96
Content: Distributed caching in ASP.NET Core
Content Source: aspnetcore/performance/caching/distributed.md
Product: aspnet-core
Technology: aspnetcore-performance
GitHub Login: @guardrex
Microsoft Alias: riande

Here's the other doc that could use a copy of the updated code sample:
https://docs.microsoft.com/en-us/aspnet/core/performance/caching/distributed?view=aspnetcore-3.1

System.Text.Json samples:
https://docs.microsoft.com/en-us/dotnet/standard/serialization/system-text-json-how-to
SerializeToUtf8Bytes looks like the best option here, it skips the extra string allocation.
(untested)
    public static void Set<T>(this ISession session, string key, T value)
    {
        session.Set(key, JsonSerializer.SerializeToUtf8Bytes<T>(value, new JsonSerializerOptions()));
    }
    public static Task SetAsync<T>(this IDistributedCache cache, string key, T value)
    {
        return cache.SetAsync(key, JsonSerializer.SerializeToUtf8Bytes<T>(value, new JsonSerializerOptions()));
    }

These examples but be on this page. Please add them.

Moved to Distributed caching master page #17553

Seems like this should support some Stream/pipeline/iasyncenumerable stream options rather than having to load the entire thing into memory before being able to do anything.


Isomorphic data fetching

Changed Flux.state to static.

fetchData when route changed (async for client, sync for server-side).
support partly fetchData
appState passed into fetchData function, so that sub-component can decide whether to fetch or not.
authorization supported (revive user into req.user by header or session).

Problems

redirect fail on requireAuth component on server-side, because Flux.state saved the previous user that revived by header.

others

matthew-andrews/isomorphic-fetch doesn't work on server sometimes because cookies and headers will disappear. axios is fine.

matthew-andrews/isomorphic-fetch doesn't work on server sometimes because cookies and headers will disappear. axios is fine.

It works very well on server, we use it in 3 production applications, but you need to pass the cookies there manually from the req object.

It works for me too when i fetch data from outside on server. But when i fetch my own api backend in the same process, it failed.

Great PR! Thank you! I can't merge it now, since isomorphic fetching is still to debate. One thing I don't like, is relaying on routes. I believe fetching should be component specific. I will evaluate Relay asap and then we decide.


Logging Action

Added very simplistic $log.{info,debug,error} actions.

Looks great!
One thing, I've been using text as an attribute name when we need to pass a textual argument. Here's the most similar example $util.toast
For consistency's sake would you mind just renaming message to text and re-commit? I think that would be easier to remember..

@seletz I just noticed UINavigationControllerDelegate https://github.com/nexiles/JASONETTE-iOS/blob/f69916bf44d8af4da96ae70540becbb6bf9000d2/app/Jasonette/JasonLogAction.h#L8 and just curious,, do we need this?

There's an additional commit to add these files to the project https://github.com/Jasonette/JASONETTE-iOS/commit/2d128e1e5eacfcf36644be0b0d31a5ab686c6b4b


require_init_gpu() function selects GPU as device and falls back to CPU if none are available

These lines make it so that require_init_gpu() function always selects available GPUs. In previous versions, require_init_gpu() could accidentally select CPU as device.

Have you profiled this?
Any improvements

@kartik4949 Yes, GPU code runs approx 2x faster on my MacBook Pro as a result. The checks are failing though, have to figure out a way to get CI to use CPU.


Persistent Periodic Effects

Is your feature request related to a problem? Please describe.
Periodic effects expire when parent gameplay effect expires.  No way of making them remain on the target.
Describe the solution you'd like
Periodic effect has an option to allow them to be treated as infinite or instant, or option to apply other gameplay effects when a periodic effect is triggered.  Latter seems to be more flexible, and so likely the better solution
Describe alternatives you've considered
N/A
Additional context
N/A

Implemented in v0,3


FastColoredTextBox + UI changes

Replaced TextBox controls used for reading and writing the payload of messages with FastColoredTextBox
Fixed an error in Service Bus Relay test control
Refactored the user interface of controls and forms used to enter o display the payload of messages
Changed Azure icon in the title of all forms
Upgraded WindowsAzure.ServiceBus NuGet package to version 4.1.8
Upgraded Newtonsoft.Json NuGet package to version 11.0.0

Note: the dll containing the FastColoredTextBox control is a customization of the control available on github at https://github.com/PavelTorgashov/FastColoredTextBox.
For the momement, I just referenced the dll and added the dll in a folder called Library. I know that adding binaries to a project on GitHub is not a good practice,
but I cannot create a NuGet package for the customization of a library that is already available as a NuGet package. Thoughts?

:white_check_mark: Build ServiceBusExplorer 4.1.0-PullRequest0236.248.build.430 completed (commit https://github.com/paolosalvatori/ServiceBusExplorer/commit/912b545383 by @paolosalvatori)

:x: Build ServiceBusExplorer 4.1.0-PullRequest0236.249.build.432 failed (commit https://github.com/paolosalvatori/ServiceBusExplorer/commit/9f0567d2c7 by @paolosalvatori)

Thanks! Would you mind adding some screenshots please?

From: Sean Feldman<EMAIL_ADDRESS>Sent: Friday, July 13, 2018 5:00:23 PM
To: paolosalvatori/ServiceBusExplorer
Cc: Tom Kerkhove; Review requested
Subject: Re: [paolosalvatori/ServiceBusExplorer] FastColoredTextBox + UI changes (#236)
❌ Build ServiceBusExplorer 4.1.0-PullRequest0236.249.build.432 failedhttps://ci.appveyor.com/project/seanfeldman/servicebusexplorer/build/4.1.0-PullRequest0236.249.build.432 (commit 9f0567dhttps://github.com/paolosalvatori/ServiceBusExplorer/commit/9f0567d2c7 by @paolosalvatorihttps://github.com/paolosalvatori)
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHubhttps://github.com/paolosalvatori/ServiceBusExplorer/pull/236#issuecomment-404859268, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AEJPP-jJIvYj-qzw9c6Ff6F_S7Ito-48ks5uGLYHgaJpZM4VO2Vt.

Warning: the build is still failing. Will review tonight.

Would you mind adding some screenshots please?

Pfff! Can't you read code @tomkerkhove ?! :troll:

I fixed all the issues in the current branch, please review the latest version

:white_check_mark: Build ServiceBusExplorer 4.1.0-PullRequest0236.250.build.436 completed (commit https://github.com/paolosalvatori/ServiceBusExplorer/commit/2448c555da by @paolosalvatori)

There is some small duplication left:
switch (cboMessageFormat.Text)
{
    case "JSON":
        txtMessageText.Language = Language.JSON;
        break;
    case "XML":
        txtMessageText.Language = Language.HTML;
        break;
    default:
        txtMessageText.Language = Language.Custom;
        break;
}

Besides that, looks good 👍

Minor tweaks to the LanguageDetector and good to go

I think we are good now. Please review changes, thanks :)

:white_check_mark: Build ServiceBusExplorer 4.1.0-PullRequest0236.251.build.438 completed (commit https://github.com/paolosalvatori/ServiceBusExplorer/commit/48a42e56be by @paolosalvatori)

Changes look good, but what's with the duplication app.config? 🙂

:white_check_mark: Build ServiceBusExplorer 4.1.0-PullRequest0236.252.build.439 completed (commit https://github.com/paolosalvatori/ServiceBusExplorer/commit/da884deb6c by @paolosalvatori)

:white_check_mark: Build ServiceBusExplorer 4.1.0-PullRequest0236.253.build.442 completed (commit https://github.com/paolosalvatori/ServiceBusExplorer/commit/ff7938ef78 by @paolosalvatori)

I forgot to remove my connection strings from the app.config, then I fixed the issue :) @SeanFeldman, @tomkerkhove, @ErikMogensen let me know if I can proceed and merge changes, thanks! ;)

👍 to merge
I'll sound like a broken record, but we REALLY shouldn't keep any secrets
in app.config (another issue is opened) 🙂


Added Integration loader

Signed-off-by: yash37158<EMAIL_ADDRESS>Description
Adding a loading spinner on /integrations page of meshery.io so as to show user page is being a loaded.
This PR fixes #
Till now there was no loading spinner functionality on the meshery.io website.
Feature: Added a Loading spinner on the integration page
Notes for Reviewers
Signed commits

[x] Yes, I signed my commits.

@Musab1258 feel free to offer feedback.

@GaganpreetKaurKalsi @Krishna2323  @asubedy Can someone please review the PR ?

Thanks for your response @GaganpreetKaurKalsi yeah we can definitely achieve that. but I think it will look weird if we place loader on the integrations. let me know what you think about this

After changes, it looks like this

Any updates ? @GaganpreetKaurKalsi @leecalcote

The loader needs to be in centre, that's for sure. But need to make it a little nicer, maybe have the loader animation on a white card or blurring the background till the loader is visible on the screen. What say @leecalcote ? How do you imagine the loader to look like?
Maybe we can have a discussion on this in Monday's meeting.

The loader needs to be in centre, that's for sure. But need to make it a little nicer, maybe have the loader animation on a white card or blurring the background till the loader is visible on the screen. What say @leecalcote ? How do you imagine the loader to look like?
Maybe we can have a discussion on this in Monday's meeting.

I agree on each point and each suggestion that you've made here, @GaganpreetKaurKalsi . 👍

Make sense, I applied the changes we want and this is how its looking @GaganpreetKaurKalsi

Make sense, I applied the changes we want and this is how its looking @GaganpreetKaurKalsi

Please push the changes......Let's see the deploy preview once.

Great Great!!!! It looks good now. Just a tiny bit of change required. Change background-color for .loader to background-color: rgba(0, 0, 0, 0.5). Black color with opacity 0.5 makes the loader more visible to the eyes. Let's have a proper overlay effect. After this change, it should be good to merge 👍 .

Yeah sure, Thanks for your valuable feedback @GaganpreetKaurKalsi  @leecalcote

Yeah that's good to hear that, a suggestion from @leecalcote would be great

I yield my vote to @GaganpreetKaurKalsi


Eventually replace keyCode with code

Feature Request
According to mozilla documentation, keyCode has been deprecated from web standards. code should be used instead. Unfortunately, code has no IE or Edge support whereas keyCode does.
Based on this compatibility, we should leave keyCode alone until code aligns with the browsers Terra supports, or if we drop IE/Edge support. This also means we can eventually remove the key-code-js dependency in favor of using strings.
https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/keyCode

😭


Fixed: Addressed the issue where an extra \0 was included in the copy results for Adobe Acrobat Pro

On Windows, when I open a PDF file with Adobe Acrobat Pro, the text I get has one more '\0' than the text I get when I open the PDF file with Chrome or FireFox. Then I use the GetText method provided by this library to get the text. The final result shows a special symbol (�)
The current code solves the problem

can you add a test for this

what i dont understand is how the bug manifests. the existing code does a .TrimEnd('\0'); so multiple '\0' should be removed.
you code
var nullCharIndex = result.IndexOf('\0');
return nullCharIndex == -1 ? result : result[..nullCharIndex];

has the side effect of if a  '\0' occurs inside the string, any trailing valid characters will be removed.

closing this. please resubmit with a test that verified the change


Organize languages in dropdown by alphabet order

Hey guys, is this issue still available? Can I try it? By languages, did you mean this one?

@haritsE yes, still a bug! Please do take it on. I'd suggest opening a PR early so it's marked on this issue as in progress.

Example of sorting alphabetically on objects within an array:
`export function alphabetically(property) {
return (a, b) => {
const textA = a[property].toUpperCase();
const textB = b[property].toUpperCase();
if (textA < textB) {
  return -1;
}

if (textA > textB) {
  return 1;
}

return 0;

};
}`
usage:
[{name: "English"}, {name: "Arabic"}].sort(alphabetically('name')

Awesome, I'll try to have a PR ready by this weekend 👍

I guess this issue is fixed?

@kriwil yep


Any plans to support creating Custom Event integrations?

Hey guys,
We're currently working on building using Terraform and want to create Custom Event integrations. I found Custom event checks is supported, but can't find a way to create the actual Custom Event integration using either Terraform or GraphQL.
To make it clear, I'm talking about the resource that data resource opslevel_integration can find. Right now I'm creating it manually in the UI and noticed that even there when it gets created, there's a POST call to https://app.opslevel.com/api/integrations/events and not to the actual GraphQL API which makes me think that it's not supported using GraphQL either. Also I noticed that the API tokens only work for GraphQL and not for the endpoint I just mentioned.
Am I right to say that the only solution right now is to create it using the UI and fetch it using a data source? Or am I missing something?
Thank you!

Hey @kiwimato - Sorry for the long radio silence on this one but we've finally got the GraphQL API into a place where this is now possible.  We will be scheduling to add this functionality to the Terraform provider in the coming weeks.

Unable to finish the Terraform work as these integrations cannot be deleted via the API


RFC: ManagedRangeCache's Last-access-time Datastructure - RangeLru

Please allow me also to propose my idea here. It's too simple to be written into an RFC.
First of all, caching is helpful but not critical to DynamicFilter. I'll show this by discussion in 2 cases:

Simple aggregation as the inner side. As we know, the aggregation will only emit the result on every barrier.
NowExecutor as the inner side. Similarly, the current time will only be updated on barriers come.

In summary, for major cases of DynamicFilter, changes only come on barriers, so it's not as frequent as other operators like HashAgg or HashJoin. Obviously, cache miss per barrier has much less impact on performance.
Second, based on that conclusion, I would prefer either no caching or a very simple caching implementation.
(lot of deleted words)
After thinking for a while, I felt that even a fixed-size caching is not trivial to implement, so I would like to propose no caching at all.


Modify AZD installs to use latest

Description
The latest azd release comes with features to more easily install azd in devcontainers and build pipelines.

GitHub Action for installing the Azure Developer CLI
Dev container feature

Desired change

Modify the devcontainer
Modify the gh workflow

Migrated to 1852400


Disable rendering when we are close to 0 for dimension attributes on …

…circle, ellipse and rect.
I am using epsilon to determine if we are close to 0. We could support smaller values around 0 but anything smaller than that is less likely to occur in the real world but more likely to cause issues in any of the rendering libraries.
Fixes issues: #69, #67

Do not draw a rectangle or an ellipse looking like a line, is good idea. However, yet I'm unsure which is better: draw nothing, or draw a line. I remember, a rectangle operation is often used to draw a line. My criteria would be:

if future revision of "SVG Native" spec mentions the cases which the renderers may ignore in the rendering, the patch is really OK.
even if future revision of "SVG Native" spec does not mention this, if the stroke-width is taken into account too, ignoring the objects with too small rx, ry and stroke-width are OK.
for recognizable stroke-width objects, replacing by the line might be safer.

How do you think about?

@mpsuzuki The spec SVG Native builds upon is the SVG 2 spec which is clear about this: https://svgwg.org/svg2-draft/shapes.html#EllipseElement

@dirkschulze Thanks, now I understand the proposed patch is exactly matching with the spec.


Markersizes incorrectly not taking pixel units

using Makie, MakieLayout

x = 1000rand(100)
y = rand(100)
f = Observable([RGBAf0(0.0,0.0,0.0,0.0) for _ in 1:length(x)])

MARKER = Circle(Point2f0(0, 0), Float32(1)) # allows pixel size (zoom independent)
sizes = 0.5*rand(100) .+ 0.5
scene, layout = layoutscene()
ax = layout[1,1] = LAxis(scene)
scatter!(ax, x, y; color = f,
marker = MARKER, markersize = 20AbstractPlotting.px .* sizes,
strokewidth = 0.5, strokecolor = :blue)

display(scene)

Passing a vector of different pixel sizes skewes the marker size instead of making all markers have aspect ratio in pixel units

Using markerspace=AbstractPlotting.Pixel and normal vector for sizes works.


test: added pipeline-service tests for verifying Tekton Chain

Description
Added Pipeine-service test for verifying Tekton Chain
Issue ticket number and link
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration
Checklist:

[ ] I have performed a self-review of my code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added meaningful description with JIRA/GitHub issue key(if applicable), for example HASSuiteDescribe("[test_id:01] DEVHAS-62 devfile source")
[ ] I have updated labels (if needed)

@xinredhat  is this PR ready for a review?

@xinredhat is this PR ready for a review?

@psturc yes.

this test seems to be almost identical to the one in chains suite, including the comments etc.
what's the purpose of adding it?

Pipeline-service team is responsible for Tekton Chain deployment, we hope have our own tests to cover Chain related tests. Here is the first test, we could add more Chain related tests in future

/retest

/retest

/retest

@xinredhat is there any unique test in the PR (that is not already a part of existing test suite)?

@xinredhat is there any unique test in the PR (that is not already a part of existing test suite)?

No, we have one used for verifying Tekton Result. But I am wait for the last changes ships into pipeline-service. Because pipelinerun logs will be stored in a persistent storage, and client can retrieve the pipeline log via Rest API .this is a new feature from Tekton result side.

I'm sorry I still don't get a reasoning behind adding these tests when they don't bring anything new atm. But maybe I'm missing something.
@redhat-appstudio/hacbs-qe could you guys give it a look as well please

/hold


[documentation request] testing with react-auth-kit

Prerequisites
Please answer the following questions for yourself before submitting an issue.

[x] This is a related to documentation only 📃
[ ] I am running the latest version
[x] I checked the documentation regarding this
[x] I checked to make sure that this request has NOT already been made

Description
As a future-user, I would like to have a small page dedicated to perform tests (unit, integration) on components using this library.
It is quite common for projects with authentication and authorization requirements to implement the following:

Mocked AuthProvider
Mocked useAuthUser and similar hooks
Apply spy's on useAuthUser and similar hooks without changing their implementations

Etc.
While I can probably figure this out by myself, it would be nice to have simple and/or get started examples in order to reduce cognitive fadigue when adding this lib to codebases.

Hey,
Can you please suggest some document from any other library?

Hey @darkmatter18 sorry for the delay;
Here are some examples I found of libraries giving examples on how to test using them:

https://pinia.vuejs.org/cookbook/testing.html (vue pinia store)
https://next-auth.js.org/guides/testing (next-auth, for cypress)


installation

While installing the latest optimuspyspark 2.5.51, I am getting error
ERROR: h2o-pysparkling-2-4 2.4.10 has requirement pyspark<=2.4.0,>=2.4.0, but you'll have pyspark 2.4.1 which is incompatible.
Furthermore when I do run the following
from optimus import Optimus   I get the error
ImportError: cannot import name 'abc'

Hi @niteshnicholas,
Thanks for the report. Now checking.

Hi @niteshnicholas ,
About
ERROR: h2o-pysparkling-2-4 2.4.10 has requirement pyspark<=2.4.0,>=2.4.0, but you'll have pyspark 2.4.1 which is incompatible. It seems some bug. The versions seem to be right. We open an issue in https://github.com/h2oai/sparkling-water/issues/1244
This not should not affect how optimus works.
About :
from optimus import Optimus I get the error
ImportError: cannot import name 'abc'

Please try:
pip uninstall bson
pip install pymongo

See this for reference:
https://github.com/py-bson/bson/issues/82
We are going to fix this in the next release.

Thanks argenisleon


Add osx-arm64, linux-aarch64 and linux-ppc64le builds. Fix linter errors

This PR is based on https://github.com/conda-forge/abinit-feedstock/pull/67
It fixes linter errors and adds builds for aarch64 and ppc64le too.

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

@conda-forge-admin, please rerender

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe/meta.yaml) and found it was in an excellent condition.

@conda-forge-admin, please rerender

@conda-forge-admin, please rerender

@conda-forge-admin, please rerender

@conda-forge-admin, please rerender


assert self.summarizer_thread is None

Discord user infernix getting this from time to time when editing code outside aider:
Traceback (most recent call last):
  File "/home/infernix/.local/bin/aider", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/home/infernix/.local/lib/python3.11/site-packages/aider/main.py", line 523, in main
    coder.run()
  File "/home/infernix/.local/lib/python3.11/site-packages/aider/coders/base_coder.py", line 339, in run
    new_user_message = self.run_loop()
                       ^^^^^^^^^^^^^^^
  File "/home/infernix/.local/lib/python3.11/site-packages/aider/coders/base_coder.py", line 410, in run_loop
    if self.should_dirty_commit(inp) and self.dirty_commit():
                                         ^^^^^^^^^^^^^^^^^^^
  File "/home/infernix/.local/lib/python3.11/site-packages/aider/coders/base_coder.py", line 893, in dirty_commit
    self.move_back_cur_messages(self.gpt_prompts.files_content_local_edits)
  File "/home/infernix/.local/lib/python3.11/site-packages/aider/coders/base_coder.py", line 393, in move_back_cur_messages
    self.summarize_start()
  File "/home/infernix/.local/lib/python3.11/site-packages/aider/coders/base_coder.py", line 368, in summarize_start
    assert self.summarizer_thread is None
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError

Fixed in https://github.com/paul-gauthier/aider/commit/03ac5202dd141b19cb08351603e638d30cdffffd

Thanks for the fix, I've been seeing this come up a bit as well

@paul-gauthier  excuse my ignorance I'm not really a python guy so still learning how the package manager, etc works. Could you tell me how I can get this fix? I installed via pip install and my current version say 0.11.0.

This is available in the main branch. You can get it by installing the latest version from github:
python -m pip install git+https://github.com/paul-gauthier/aider.git

I'll be pushing a bugfix release to pypi soon, hopefully later today.

This fix just went out in v0.11.1. I'm going to close this issue for now, but feel free to re-open or file a new issue any time.

@paul-gauthier  thanks so much I got the update! Btw, aider is awesome. It's the first of these kinds of tools that is actually useful in a professional capacity. Keep it up, cheers!


omada_client_signal_dbm always positive

Hey, should the values of this metric not be negative?

Yeah, that's correct! It looks like the Omada API is returning a positive value for the signal, I've raised a PR to fix this on the exporter end.


token-2022: modify onchain extra metas helper

In this PR, Token2022's onchain extra metas helper is being repaired in a
similar fashion to its offchain helper. However, since we already required the
parameters for a transfer_checked instruction and were building it within the
invoke_transfer_checked(..) function, there's no need to deprecate anything
here.
Draft: Still need to decide how best to write some tests for this without
requiring an additional function like before.

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

Current dependencies on/for this PR:

master

PR #6088

PR #6089   👈

This stack of pull requests is managed by Graphite.


remove cyclic dependency notebookChatEditController -> notebookChatActionsOverlay -> chatEditorOverlay

fyi @DonJayamanne

@jrieken
A little confused with this PR, this seems to have other changes that aren't related to removing the cyclic ref. Is that correct.
Thats fine if it is, just wanted some clarification.

Yeah, that's correct and also slightly confusing. The cycle only became an error after I made the (unrelated) changes in the other commit. I suspect that's due to the special handling of cycles in ESM. Cyclic dependencies aren't disallowed by ESM (contrary to cjs or amd) but the behaviour is so that properties read from a cycle are likely not defined yet, e.g use the undefined type and hence explode. My other commit must have triggered that and are a good indication that cycles must be avoided.
This happened more than once recently,  we have a related discussion here: https://github.com/microsoft/vscode-internalbacklog/issues/5271#issuecomment-2531245206


release list

I would rather parse the official list (https://rakudo.org/downloads/rakudo or https://github.com/rakudo/rakudo/releases or https://github.com/rakudo/rakudo/tags) of available releases rather than trust a third party that can be outdated or become malicious.
https://github.com/m-dango/asdf-raku/blob/198f806f17a8d703992c2aa6f38e5fe3a754c118/lib/utils.sh#L32

I can likely substitute with https://rakudo.org/dl/rakudo but would need to parse the JSON. Perhaps I can create something similar in this repo to what rakudo-releases is doing. The rakudo-releases repo is automatically updated every 30 mins so becoming outdated is not currently a worry, but malice is certainly a valid concern.

I've opened the PR #11. The script currently still depends on rakudo-releases for the versions, but it extracts the filename and appends the rakudo.org domain itself. Additionally the script will also download the accompanying checksum file. At some point I may consider checking the gpg signatures, but the link to the keys list on this page is currently broken: https://rakudo.org/downloads/verifying

At some point I may consider checking the gpg signatures, but the link to the keys list on this page is currently broken: https://rakudo.org/downloads/verifying

https://rakudo.org/downloads/gpg2-key-list is dead but there are only 4 keys and they are listed just below.

Another option to get all versions:
$ curl https://api.github.com/repos/rakudo/rakudo/releases -s | jq '.[].tag_name'
"2022.12"
"2022.07"
"2022.06"
"2022.04"
"2022.03"
"2022.02"
"2021.12"
"2021.10"
"2021.09"
"2021.08"
"2021.07"
"2021.06"
"2021.05"
"2021.04"
"2021.03"
"2021.02.1"
"2021.02"
"2020.12"
"2020.11"
"2020.10"
"2020.09"
"2020.08.2"
"2020.08.1"
"2020.08"
"2020.07"
"2020.06"
"2020.05.1"
"2020.05"
"2020.02.1"
"2020.02"

jq is an option I considered. I wanted to avoid an additional dependency, but perhaps it would be useful in combination with a non-jq fallback.


TypeError with example

I get this Traceback when I try the example
$ python3 example.py
Traceback (most recent call last):
  File "example.py", line 22, in <module>
    src = str(tpl)
TypeError: __str__ returned non-string (type bytes)

Fixed. Example works now. If you could test the remaining functions as well and give me a go-ahead, I'll push another release.

On closer inspection (aka while rebasing) I noticed that all these things had already been fixed by @ticktronaut, just not released yet. I'll put a release out.

0.3.0 released.

I still have this problem with 0.3.0
tested with
src = tpl.__str__()
and
src = str(tpl)
on the example.py

@mbr Do you know any fix ? did i do something wrong ?

Still an issue in 0.3.0

Please check if 90d3f01 fixes the issue for you.
Unfortunately, recent PyPI changes broke all my release tooling =/. If the current version works, I'll try to release 0.4.0

Still an issue on the current version with Python 3.6.4.

Try src = tpl.__str__().decode(). It worked for me with Python 3.9.9 Windows 10


Refactor destroy and stopPlaying functions: Improve error handling, logic cleanup, and debugging

What does this PR do?
This PR refactors the following functions to improve error handling, simplify logic, and enhance debug logging:

stopPlaying:

Simplified queue clearing logic.
Improved clarity in autoplay handling and updated internal states.
Optimized ping calculation and code readability.

destroy:

Added proper error handling using try-catch blocks to manage disconnect and destroy operations.
Simplified player destruction status checks to avoid redundant checks.
Enhanced debug logging for better tracking of player destruction events.

Why is this needed?
The existing implementation lacked proper error handling during critical operations like disconnecting and destroying the player. Without proper handling, unhandled exceptions could occur, making debugging harder and impacting reliability. This PR ensures that if errors arise during these operations, they are caught, logged, and handled appropriately.
How to test this?

Test the stopPlaying function by:

Ensuring it clears the queue correctly and stops playback, while updating internal states as expected.
Checking that the autoplay logic behaves correctly (i.e., stops if executeAutoplay is false).
Verifying that the ping calculation is accurate.

Test the destroy function by:

Calling it when the player is already being destroyed, ensuring it handles the case gracefully.
Testing the disconnect functionality, ensuring the player disconnects properly from the voice channel.
Verifying that errors during disconnect or player destruction are caught and logged.
Confirming that the player is removed from the cache and Lavalink correctly.

Additional Notes:

No changes to the core logic of stopping playback or destroying the player; only improvements in error handling and code clarity.
Enhanced debug logging helps to provide more informative logs, especially for developers working on troubleshooting.
This PR ensures more reliable operations and better maintainability of the stopPlaying and destroy functions.

You did changes, which would lead to less functionality.
One example

You removed the feature for stopPlaying with autoplay disabling

You removed the feature for stopPlaying with autoplay disabling

Okay, where do I need to make changes? I happened to modify the code, and sometimes I might not have checked it thoroughly.


Verbs used as titles in funblocks

I noticed that the new blocks interface does not follow the same conventions as the text-based interface, because it uses verbs for Pictures/Translate, Pictures/Combine and Pictures/Change-Color instead of
Translated, Combined or Colored. It also has an If/Do block instead of an If/Value function.
I know the block interface is very preliminary, but I wanted to open an issue just for the record.

@stefan-j

Hi,
Thanks for reporting.
As you may know, I'm doing the project as part of the Haskell Summer of Code program.
The interface is very preliminary and thought was not yet given to consistency.
I'll clean up the interface a bit, add a few blocks and then change the current block names to be more consistent, soon, for a cleaner preliminary version that can be played with.

This appears to be fixed as of Stefan's latest pull request.


Add pull down to refresh in Contributions screen

Fixes #5131
What changes did you make and why?
Add pull down to refresh in the contributions screen to fetch the latest data.
Screenshots (for UI changes only)
https://github.com/user-attachments/assets/a49cfc77-294a-45e0-a877-01c51a81cc7a

@nicolas-raoul Just so you know pull to refresh is only enabled in self contributions , not in other user contributions.

Now it is working... I wonder what was the problem earlier. I will try again a few times tomorrow on various WiFi/mobile networks.
I also uploaded a picture using the web browser, and this feature made it appear, which is great!


feat: more demos

Codecov Report

Merging #21 (4380281) into master (04e91c0) will increase coverage by 1.12%.
The diff coverage is 83.33%.

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

@@            Coverage Diff             @@
##           master      #21      +/-   ##
==========================================
+ Coverage   67.15%   68.28%   +1.12%
==========================================
  Files          74       81       +7
  Lines         478      495      +17
  Branches       74       72       -2
==========================================
+ Hits          321      338      +17
  Misses        157      157

Impacted Files
Coverage Δ

src/component-demos/index.tsx
100.00% <ø> (ø)

src/component-demos/progress.tsx
0.00% <0.00%> (ø)

src/component-panel/index.tsx
78.57% <ø> (ø)

src/previewer.tsx
50.00% <ø> (ø)

src/component-demos/drawer.tsx
71.42% <71.42%> (ø)

src/component-demos/message.tsx
71.42% <71.42%> (ø)

src/component-demos/menu.tsx
85.71% <85.71%> (ø)

src/component-demos/avatar.tsx
100.00% <100.00%> (ø)

src/component-demos/badge.tsx
100.00% <100.00%> (ø)

src/component-demos/button.tsx
100.00% <100.00%> (ø)

... and 8 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 04e91c0...b333fd0. Read the comment docs.


adds initial docs around funding and best practices

Suggest "This working group recommends using a memory-safe by default language whenever possible or practical.

Suggested edits have been made :)


JsonEncode with proxies

Hi there,
While playing around with your excellent library i noticed a problem when using JsonEncode with a proxy (or with an object containing a proxy).
FATAL 56: uncaught error
PANIC 56: uncaught error (calling abort)
SIGABRT: abort
PC=0x7fff8772d0ae
signal arrived during cgo execution

goroutine 7 [syscall, locked to thread]:
runtime.cgocall_errno(0x40030f0, 0xc2080f1280, 0x0)
	/usr/local/go/src/runtime/cgocall.go:130 +0xf5 fp=0xc2080f1260 sp=0xc2080f1238
github.com/olebedev/go-duktape._Cfunc_duk_json_encode(0x5c04130, 0xffffffff, 0x0)
	github.com/olebedev/go-duktape/_obj/_cgo_gotypes.go:882 +0x44 fp=0xc2080f1280 sp=0xc2080f1260
github.com/olebedev/go-duktape.(*Context).JsonEncode(0xc2080320d0, 0xffffffffffffffff, 0x0, 0x0)

The problem can be reproduced with the following unit test
func (s *CandySuite) TestPushProxyJson(c *C) {
	s.ctx.PushGlobalObject()
	s.ctx.PushObject()
	// note: it works when using a struct instead of a proxy!
	// s.ctx.PushStruct(&MyStruct{Int: 142})
	s.ctx.PushProxy(&MyStruct{Int: 142})
	s.ctx.PutPropString(-2, "obj")
	s.ctx.PutPropString(-2, "foo")
	s.ctx.Pop()

	// note: also fails with script `foo`
	err := s.ctx.PevalString(`foo.obj`)

	c.Assert(err, IsNil)
	s.ctx.JsonEncode(-1) // *BOOOM*!
}

Any ideas why it fails and/or how to fix this?
thanx.

The problem is that you cannot serialise a Proxy, if you try with a print the same error happens
err := s.ctx.PevalString(`print(foo.obj);`)
c.Assert(err, IsNil);

in the other hand, if you try with:
func (s *CandySuite) TestPushProxyJson(c *C) {
	s.ctx.PushGlobalObject()
	s.ctx.PushObject()
	// note: it works when using a struct instead of a proxy!
	// s.ctx.PushStruct(&MyStruct{Int: 142})
	s.ctx.PushProxy(&MyStruct{Int: 142})
	s.ctx.PutPropString(-2, "obj")
	s.ctx.PutPropString(-2, "foo")
	s.ctx.Pop()

	// note: also fails with script `foo`
	err := s.ctx.PevalString(`foo.obj.int`)

	c.Assert(err, IsNil)
	c.Assert(s.ctx.JsonEncode(-1), Equals, "142")
}

it works because the result of foo.obj.int is not a proxy is a real int.
BTW Are you using candyjs in something or just playing with it?

I dug into duktape.c and searched the debug trace. It appears duktape attempts to dynamically add a method named toJson to the proxy. This attempt fails and causes the panic.
To prove my theory I added method
func (m *MyStruct) ToJSON(ctx interface{}) interface{} {
	return m
}

and surprise, surprise: serialisation suddenly works.
I also tried adding implementations for isExtensible and preventExtensions to the proxy, but without any luck. ducktape still tries to add method toJsonand fails.
At least there is a workaround, although it is very weird :)
PS: currently i am just playing ...

Maybe a method ToJSON can be added to the proxy to handle this request, the simple solution is return [candyjs proxy] and the complex one is return the real data serialised. I will take a look later.

@crazytyper  here is the fix, to I fixed a couple of other similar errors. Thanks!
Also was a real bug I answered closing the issue, sorry for that.

great! many thanks.
never mind closing the issue. my 1st reaction would probably have been the same.


[DS-3998] ORCID NullPointException by querying

https://jira.duraspace.org/browse/DS-3998
Fixes #7345
Bugfix: by querying author it throws NullPointException if the author in response has no family name.

I tried several names, but I was unable to replicate the NPE. Maybe there have been some changes with the ORCID v2 API?

Thanks for testing @nwoodward !  In that case, I'm going to close this as "won't fix" as we cannot reproduce the issue.

Hey @tdonohue and @nwoodward
These are absolute edge cases but still....
An example is the orcid : 0000-0003-2136-245X
see : https://orcid.org/0000-0003-2136-245X
The api will return the following: (I fetched this using the Orcid python api)
{'created-date': {'value':<PHONE_NUMBER>328}, 'last-modified-date': {'value':<PHONE_NUMBER>328}, 'given-names': {'value': 'Kelly'}, 'family-name': None, 'credit-name': None, 'source': None, 'visibility': 'PUBLIC', 'path': '0000-0003-2136-245X'}
I think this is what can cause a npe, the family-name being null.

I think this can happen if importing Orcids via CSV.
In any case, all the PR does is next the setValues method inside a generous try/catch.
I would err on the side of caution and give this my approval.

Closing, replaced by #7940 which had the same fix with small improvements


[Question] Saving frames as .png

Does Renderer have support to save canvas as .png frames with every iteration of Engine.update()? Help much appreciated!

Not built in, but you can use render events and thencapture the canvas.

Hopefully that answered your question so I'll close this, but feel free to comment if you still need more info.


Refactor JavascriptPromise to provide convenience methods for creating and resolving promise objects within the engine

Provides four main convenience methods for creating new promises which are simplified as:

JavascriptPromise::CreateRejectedPromise(resolution)

Returns a new promise rejected with resolution. Effectively same as Promise.reject(resolution)

JavascriptPromise::CreateResolvedPromise(resolution)

Returns a new promise resolved with resolution. Effectively same as Promise.resolve(resolution)

JavascriptPromise::CreateThenPromise(sourcePromise, fulfillmentHandler, rejectionHandler)

Effectively the same as calling sourcePromise.then(fulfillmentHandler, rejectionHandler) in Javascript

JavascriptPromise::CreatePassThroughPromise(sourcePromise)

A passthrough promise is used to return a new wrapper promise which is resolved in the same was as the source promise in order to avoid exposing the source promise

Also provides two convenience methods JavascriptPromise::Resolve and JavascriptPromise::Reject which take a Var resolution and resolves or rejects the promise object. This will trigger the promise reaction tasks.

:shipit:

@dotnet-bot test Ubuntu ubuntu_linux_release
@dotnet-bot test Ubuntu ubuntu_linux_release_static
@dotnet-bot test Ubuntu ubuntu_linux_test

@dotnet-bot test Ubuntu ubuntu_linux_debug
@dotnet-bot test Ubuntu ubuntu_linux_debug_static


"files" key in now.json doesn't override .gitignore

First of all, now is amazing. Seriously. 👏
I've seen a number of variations on this issue (including some discussion on Slack), but in my digging I haven't been able to come up with an answer that makes sense. So please feel free to close if this is a duplicate.
In the now.json docs for the "files" key:

A list of files and directories to be force-uploaded to the deployment (even if they're ignored by .gitignore).

So in my docker project, I have the following files:
.gitignore
target

now.json
{
  "type": "docker",
  "files": [
    "target"
  ]
}

I would expect the contents of the target directory to be uploaded. (I also tried the more explicit "./target".) However, the directory is not uploaded unless I remove the relevant entry from .gitignore.
What am I missing?

It's also worth noting that my project also has a package.json file, which may mean that now-cli is applying different behavior even though my project type is set to "docker" in now.json. Possible?

Confirmed this one again on now @ 7.2.4. I have a static site where some of the assets are created at build time. Therefore, I keep the built asset directory under .gitignore but would like to deploy them when I run now. So I add the directory name to the "files" array in my now config, but the files are not uploaded unless I temporarily remove them from the .gitignore every time I want to deploy. Surely there must be a better process than that?

I have the same issue. Use to work with .npmignore. I added dist to files and because I have .gitignore with dist directory it doesn' t upload static files in dist.

I'm having the same issue with now --docker deploys. Tried adding "files" array to package.json and now.json to no avail. Also solved when removing "dist" directory from .gitignore

same issue with npm deploys

workaround : put your .gitgnore in subfolders, now will not use them but git/npm will

@leo @TooTallNate could you take a look at this? It should override with no issues – I wonder if we changed something recently? Also @Qix- I think you recently sent a PR for this, no?

Did we ever make it override? I mean it should, but I don't think we ever added that. It was more of a "include only these files" feature.

doc says "files: A list of files and directories to be force-uploaded to the deployment (even if they're ignored by .gitignore)."

Thought this was fixed in #692 but it may have pertained to something else. We should have a very clear order of operations for ignores - I feel like the ignore pattern logic is really arbitrary as it exists now.
I would agree that "files" in now.json, if present, trumps all (much like it does in package.json).
I'd also push for contextual ignoring, where ignoring behaves more synonymously with the type of deployment you're making:

Docker Deployment: Check "files" key (now.json); fallback to .dockerignore; fallback to .gitignore; otherwise, push everything
Node.js Deployment: Check "files" key (now.json); fallback to "files" key (package.json); fallback to .npmignore (including the default ignored paths); fallback to .gitignore; otherwise, push everything
Static Deployment: Check "files" key (now.json); fallback to .gitignore; otherwise, push everything.

I don't think there should ever be a circumstance where we evaluate both an .npmignore and a .dockerignore since they don't make sense in the same context IMO, for example.
Thoughts?

this sounds more consistent and predictable behaviour.
there's also the package.json now.files attribute ?

Good catch @revolunet.
In my personal opinion, the now section of the package.json should be deprecated and ultimately removed in favor of now.json - but that's just a personal opinion, would love feedback on that too. I'd like to hear reasoning for keeping the now block from those who use it instead of now.json.

+1 to deprecate package.json now section. i dont want to publish my now setup to npm/github

@Qix that's a nice proposal.
But I think I'm missing how this solves the original issue.
@mjswensen (and also myself) wants to

include files listed under files and
exclude files listed in .gitignore.

As far as I understand you're proposing to

include files listed under files or
exclude files listed in .gitignore.

Do you agree?
I like the idea of having configuration to explicitly include and exclude files.

I also think I've run into this issue.
.gitignore
...
/dist/
...

now.json
{
  "files": [ "dist" ],
  "type": "static"
}

dist directory is not uploaded. In fact only now.json is uploaded, even though it's in the root (not in dist) and there are other files in the root directory.

I've also run into this issue. .gitignore has public/bundle.js in it and my now.json has "files": [ "public/bundle.js" ] and bundle.js doesn't get uploaded

@Qix- I think your proposal looks like it would fix the issue to the satisfaction of most people in this thread. Do you need any help implementing it?

@BassT which one gets precedence, though? If files is present, does .gitignore trump entries in files?
foo/
    bar.html
    qux.html
blah/
    bloo.html
    bleh.html

# .gitignore

/foo/*.html
/bar/bloo.html

{
    "files": [ "foo", "blah" ]
}

In this situation, what are the resulting files that are sent up with the deployment?

@Qix- It's been a while since I encountered the problem at first. I don't remember having a situation which couldn't be solved with your proposal. +1 for having using files as sole authoritative whitelist.

That seems like a great solution, @Qix- ! I like the idea of having files be authoritative, then falling back to smart defaults in its absence (using .gitignore and the like).

Hey all, I've created a PR that should fix this issue, please comment/discuss #1126

Same issue today. This should be pretty common with any dockerized projects that use binary files.
How come this issue isn't getting more attention? :worried:

@rokf you're absolutely right. We are bumping the priority of this. Thank you


Update docs to reflect current POST response

The docs currently state that the API will return a full object with a newly created id prop. Right now, it only spits back an object with the id, and none of the original data.

My mistake, it's behaving as expected.


Editor: Add to favorites

I was thinking that adding a star next to a filename, when editing a file in File Manager or from Drop-down Command Line, would be a good feature to have?

What your thoughts on it?

I wasn't perfectly clear - the feature would be, is to add current file editor to Favorites.

Latest commit brings an ability to add file-editor to favorites and then access it in no time.
Example:


Subaru: DBC Update for gen2 long

Description
When ES is disabled, ES_DashStatus wont be available for reference anymore. I found matching signal for set speed elsewhere.
Verification
Tested on my Legacy 2022
Route
Depends
https://github.com/commaai/opendbc/pull/847

ill just combine this into a single PR


Equals on enums reports incorrect results

This is currently not working in tsafe:
import type { Equals } from "tsafe";
import { assert } from "tsafe/assert";

export enum RuleObjectType {
  OPPORTUNITY = "OPPORTUNITY",
  QUOTE = "QUOTE",
}
export enum RuleObjectType2 {
  OPPORTUNITY = "OPPORTUNITY",
  QUOTE = "QUOTE",
}

assert<Equals<RuleObjectType, RuleObjectType2>>(true); // returns false, should return true

Actually enums are nominal in TS.