Data synthesis with a simple schema with datetime (equivalent to random generation of floats)

Describe the bug
I have a simple schema in the form of:
<Schema DataFrameSchema(
    columns={
        'odbc__meteo__wind__speed__min': <Schema Column(name=odbc__meteo__wind__speed__min, type=DataType(float64))>
        'odbc__meteo__wind__speed__max': <Schema Column(name=odbc__meteo__wind__speed__max, type=DataType(float64))>
        'odbc__nacelle__yaw_angle__avg': <Schema Column(name=odbc__nacelle__yaw_angle__avg, type=DataType(float64))>
        'odbc__rotor__speed__avg': <Schema Column(name=odbc__rotor__speed__avg, type=DataType(float64))>
        'odbc__meteo__wind__speed__avg': <Schema Column(name=odbc__meteo__wind__speed__avg, type=DataType(float64))>
        'odbc__nacelle__direction__avg': <Schema Column(name=odbc__nacelle__direction__avg, type=DataType(float64))>
        'odbc__blades__blade_avg__pitch_angle__avg': <Schema Column(name=odbc__blades__blade_avg__pitch_angle__avg, type=DataType(float64))>
        'odbc__meteo__wind__speed__std': <Schema Column(name=odbc__meteo__wind__speed__std, type=DataType(float64))>
        'odbc__meteo__ambient__temperature__avg': <Schema Column(name=odbc__meteo__ambient__temperature__avg, type=DataType(float64))>
        'jungle__nacelle__direction__sin__avg': <Schema Column(name=jungle__nacelle__direction__sin__avg, type=DataType(float64))>
        'jungle__blades__pitch_angle__avg': <Schema Column(name=jungle__blades__pitch_angle__avg, type=DataType(float64))>
        'jungle__nacelle__direction__cos__avg': <Schema Column(name=jungle__nacelle__direction__cos__avg, type=DataType(float64))>
        'odbc__grid__active_power__avg': <Schema Column(name=odbc__grid__active_power__avg, type=DataType(float64))>
    },
    checks=[],
    coerce=False,
    dtype=None,
    index=<Schema Index(name=timestamp, type=DataType(datetime64[ns]))>,
    strict=False
    name=None,
    ordered=False
)>

I can generate an example of size=5, but not size=100, which gives rise to unsatisfiability.
It is a pretty simple schema, I don't understand why it has trouble generating random data.
Should I provide data types in another format?
The only option that is not shown here is allow_duplicates=False for the datetime index.
Stacktrace:
Traceback (most recent call last):
  File "pandera_tests.py", line 13, in <module>
    df=schema.example(size=100)
  File "/home/allen/miniconda3/envs/toolkit-env2/lib/python3.7/site-packages/pandera/schemas.py", line 804, in example
    size=size, n_regex_columns=n_regex_columns
  File "/home/allen/miniconda3/envs/toolkit-env2/lib/python3.7/site-packages/hypothesis/strategies/_internal/strategies.py", line 331, in example
    example_generating_inner_function()
  File "/home/allen/miniconda3/envs/toolkit-env2/lib/python3.7/site-packages/hypothesis/strategies/_internal/strategies.py", line 319, in example_generating_inner_function
    @settings(
  File "/home/allen/miniconda3/envs/toolkit-env2/lib/python3.7/site-packages/hypothesis/core.py", line 1180, in wrapped_test
    raise the_error_hypothesis_found
  File "/home/allen/miniconda3/envs/toolkit-env2/lib/python3.7/site-packages/hypothesis/core.py", line 1149, in wrapped_test
    state.run_engine()
  File "/home/allen/miniconda3/envs/toolkit-env2/lib/python3.7/site-packages/hypothesis/core.py", line 784, in run_engine
    % (get_pretty_function_description(self.test),)
hypothesis.errors.Unsatisfiable: Unable to satisfy assumptions of hypothesis example_generating_inner_function.

[x] I have checked that this issue has not already been reported.
[x] I have confirmed this bug exists on the latest version of pandera.
[x] (optional) I have confirmed this bug exists on the master branch of pandera.

Note: Please read this guide detailing how to provide the necessary information for us to reproduce your bug.
Code Sample, a copy-pastable example
Generate simple schema
Expected behavior
I would expect that a schema like this would equal a random data generator.

hi @pedroallenrevez I was able to reproduce your error with this:
from hypothesis import settings, given, HealthCheck
import pandera as pa

index = pa.Index("datetime64[ns]", unique=True)
schema = pa.DataFrameSchema(
    columns={str(i): pa.Column(float) for i in range(13)},
    index=index,
)

@given(schema.strategy(size=50))
@settings(
    max_examples=10,
    deadline=100000,
    suppress_health_check=[
        HealthCheck.too_slow,
        HealthCheck.data_too_large,
        HealthCheck.large_base_example,
    ],
)
def test(df):
    print(df.shape)

if __name__ == "__main__":
    test()

Out of curiosity, what's the use case for generating 50 samples? I ask mainly because the data synthesis pandera offers is built on hypothesis, which is meant to use for testing. I believe it follows certain constraints reflected in the HealthChecks that I had to deactivate in order to get the Unsatisfiable error, e.g. this one is probably relevant:

data_too_large= 1
Checks if too many examples are aborted for being too large.
This is measured by the number of random choices that Hypothesis makes in order to generate something, not the size of the generated object. For example, choosing a 100MB object from a predefined list would take only a few bits, while generating 10KB of JSON from scratch might trigger this health check.

I typically use pandera strategies to generate small batches of data (5 samples, no more than 20-30ish) in order to unit test the functionality that I want.
In any case, I've tried manually creating the strategy from the api hypothesis offers and come up against the same unsatisfiable error.

Hey @cosmicBboy thanks for the quick answer.
The use case is for testing data pipelines, that feed into model training.
In some of these cases data is resampled, in which case it can go from the 50samples down to 5.
The data follows constaints such as "angles are within [0, 360]", "statistical min aggregations are less than statistical max aggregations" etc etc. The objective is to have a schema of a training dataset, and synthetically generate valid data to test the processing pipelines and model training.
Maybe this is intended for smaller use cases, in which case I'll try to make do with smaller quantities.
Is there any way to do partial synthesis? For example, generating the date range, and synthetizing the rest of the data?

Maybe this is intended for smaller use cases, in which case I'll try to make do with smaller quantities.

Yeah this seems like the most practical way forward, esp. if the functionality that you're testing is invariant to batch size, i.e. if it doesn't make a meaningful difference testing your pipeline with a batch of 20 vs. 100 examples, going with the smaller batch is okay.
From my understanding hypothesis places limits on how big the data gets and how many "decisions"/operations it takes to generate data from a strategy within a single hypothesis draw.

Is there any way to do partial synthesis? For example, generating the date range, and synthetizing the rest of the data?

I played around with this, e.g. defining a separate strategy for the date index and another one for the actual column contents, but again I think this is subject to the hypothesis' limits mentioned above. I'd be curious if you can find a workaround though :)

Another workaround you might want to take is to generate a small batch as a strategy and then copying that batch multiple times, introducing noise to whatever elements you want to get the properties you need, for example:
import hypothesis.strategies as st
from hypothesis import settings, given
import pandas as pd
import pandera as pa

index = pa.Index("datetime64[ns]", unique=True)
schema = pa.DataFrameSchema(
    columns={str(i): pa.Column(float) for i in range(13)},
    index=index,
)

strategy = schema.strategy(size=20)
N_COPIES = 100

@given(st.data())
@settings(
    max_examples=10,
    deadline=100000,
)
def test(data):
    sample = data.draw(strategy)

    # copy and modify data
    dfs = []
    for i in range(N_COPIES):
        copy = sample.copy()
        copy = copy + i  # or introduce random noise here
        copy.index = copy.index + pd.Timedelta(seconds=i)  # or introduce random noise here
        dfs.append(copy)

    # combine modified data into a single dataframe
    df = pd.concat(dfs)

    try:
        valid_df = schema(df, lazy=True)
    except pa.errors.SchemaErrors as exc:
        # if there happen to be failures resulting from copying data, filter
        # them out of the final dataset.
        valid_df = df[~df.index.isin(exc.failure_cases["index"].dropna())]

    print(valid_df.shape)

if __name__ == "__main__":
    test()

closing this issue. @pedroallenrevez feel to post in show and tell what solution you end up going with!


Recursive definitions in mixins

Its currently possible to create a circular references in classes just fine:
export class Class1 {
    another     : Class2     // compiles fine
}
export class Class2 {
    another     : Class1    // compiles fine
}

However, the same thing fails when using mixin-based classes:
export const SampleMixin1 = <T extends AnyConstructor<object>>(base : T) =>
class SampleMixin1 extends base {
    another             : SampleMixin2 // TS2502: 'another' is referenced directly or indirectly in its own type annotation
}
export type SampleMixin1 = Mixin<typeof SampleMixin1>

export const SampleMixin2 = <T extends AnyConstructor<object>>(base : T) =>
class SampleMixin2 extends base {
    another             : SampleMixin1 // TS2502: 'another' is referenced directly or indirectly in its own type annotation
}
export type SampleMixin2 = Mixin<typeof SampleMixin2>

// supporting declarations for mixin pattern
export type AnyFunction<A = any>      = (...input: any[]) => A
export type AnyConstructor<A = any>   = new (...input: any[]) => A
export type Mixin<T extends AnyFunction> = InstanceType<ReturnType<T>>

This makes things much more complicated, you need to introduce some dummy interfaces, etc, etc.
The workaround exists - to use different form of creating the type for the standalone mixin class - with interfaces:
export const SampleMixin3 = <T extends AnyConstructor<object>>(base : T) =>
class SampleMixin3 extends base {
    another             : SampleMixin4
}
export interface SampleMixin3 extends Mixin<typeof SampleMixin3> {}

export const SampleMixin4 = <T extends AnyConstructor<object>>(base : T) =>
class SampleMixin4 extends base {
    another             : SampleMixin3
}
export interface SampleMixin4 extends Mixin<typeof SampleMixin4> {}

But this notation seems to drive crazy the IDE (the language server under the hood?). It stop finding usages of properties, show many false type errors etc. Basically in such approach you are limited to old-good console npx tsc launch (which works well at least), but all the development aid facilities don't work.
I think mixin pattern should be supported first class. I'd even create some language construct for it.

Any hope for a proper solution of this issue?

When using mixins via class expressions this doesn't seem to apply:
type Constructor = new (...args: any[]) => {};

function Scale<TBase extends Constructor>(Base: TBase) {
  return class Scaling extends Base {
    _scale = 1;

    setScale(scale: number) {
      this._scale = scale;
    }

    get scale(): number {
      return this._scale;
    }
  };
}

function Logger<TBase extends Constructor>(Base: TBase) {
  return class Logger extends Base {

  };
}

class Group {
  sprites: typeof EightBitSprite[]
}

class Sprite {
  group: typeof LoggableGroup
}

const EightBitSprite = Scale(Sprite);
const LoggableGroup = Logger(Group);

@orta This is because you haven't created an "abstract" mixin type - a type that represents instance of any class that has consumed a mixin. You only work with specific classes. Abstract "Scalable" would look like:
// supporting declarations for mixin pattern
export type AnyFunction<A = any>      = (...input: any[]) => A
export type AnyConstructor<A = any>   = new (...input: any[]) => A
export type Mixin<T extends AnyFunction> = InstanceType<ReturnType<T>>

function Logger<TBase extends Constructor>(Base: TBase) {
  return class Logger extends Base {
 };
}

type LoggerT = Mixin<typeof Logger>  // "abstract" mixin type

Actually, I just checked and the originally submitted code seems to work starting from 3.8.2!! (The version picker in playground is awesome). It does not work in 3.7.5 and prior.
Hopefully this was an intentional improvement, properly covered with a test, not a random codebase fluctuation. Could you check may be?

Yes please, I hope this is tested for. Robust moxins have been too brittle.

Hello again,
As I mentioned in the previous comment, the issue of this ticket seems to be resolved in 3.8.2 release. However, this ticket did not receive any updates at that point, so, I'm suspecting the "fix" might be just a side effect of some other change in the codebase.
Can someone from the dev team please check the originally reported issue and confirm, that this behavior is indeed now "officially" supported (and "pinned" with the test)?

No, actually, as I thought, the "fix" was just a random codebase fluctuation. First of all, if you enable strictPropertyInitialization it will fail again with the same message. W/o that option it works:
Playground link
Secondly, it fails for 2nd level of mixins:
Playground link
This is so frustrating. Probably a decent portion of the TS issues is related to the bad support of the mixin pattern. Why not finally implementing a proper solution/workaround? It does not have to be academically pure, it should just work. Can't believe its something impossible.

Although the original example still does not work, the errors go away if written like this:
// supporting declarations for mixin pattern
export type AnyFunction<A = any> = (...input: any[]) => A
export type AnyConstructor<T = object, A extends any[] = any[], Static = {}> = (new (...a: A) => T) & Static

export function SampleMixin1<T extends AnyConstructor>(base: T) {
    return class Sample1 extends base {
        another!: InstanceType<ReturnType<typeof SampleMixin2>>
    }
}

export function SampleMixin2<T extends AnyConstructor>(base: T) {
    return class Sample2 extends base {
        another!: InstanceType<ReturnType<typeof SampleMixin1>>
    }
}

However the result is very strange!!!! Sometimes hovering on another will show proper types. Most of the time, it will just show any. There definitely something flaky happening under the hood.
Here is something I've been doing in practice that doesn't have any errors and seems to work (at least in my cases so far):
// supporting declarations for mixin pattern
export type AnyFunction<A = any> = (...input: any[]) => A
export type AnyConstructor<T = object, A extends any[] = any[], Static = {}> = (new (...a: A) => T) & Static

export function SampleMixin1<T extends AnyConstructor>(base: T) {
    return class Sample1 extends base {
        another!: Sample2
    }
}

export const Sample1 = SampleMixin1(Object)
export type Sample1 = typeof Sample1

export function SampleMixin2<T extends AnyConstructor>(base: T) {
    return class Sample2 extends base {
        another!: Sample1
    }
}

export const Sample2 = SampleMixin2(Object)
export type Sample2 = typeof Sample2

@trusktr Can you try making it working as in my 2nd example here? Basically, create a SampleMixin3 which extends SampleMixin1 and SampleMixin4, which extends SampleMixin2. Then make a cycle between them


More factories

The TermFactory-trait is useful in many occasions where someone tries to build dynamically new terms (especially blank nodes).
However, for now only factories for Rc<str> and Arc<str> where provided. This PR add a SimpleFactory when expected TermData can be directly converted, e.g. String to Box<str> and an implementation for closures.
In addtion, I did a small simplification of the TermFactory trait.

Yes, indeed I have a requirement for something to create new RDF terms, e.g. when I turn the results of the RDF test suite into RDF itself or more generally try to do some object-triple-mapping.
Another use case is creating new blank nodes when parsing [] terms in Turtle. But that can be handled by a dedicated crate.
Change TermFactory
Given the new TTerm trait, it is right to go for a Term agnostic factory, especially agnostic of TermData. However, I'd rather stick with the factory pattern.
The thing with a factory is that we still have a dedicated entity. The CreateableTerm solution you proposed has only static methods (no self argument). This makes it quite difficult to implement the trait for a TermCache. In addition, the naming CreateableTerm would not fit that well with an ArcTermCache.
Conclusion
Due to the need to change the current TermFactory trait I'd close this PR and prepare a new one with a sophia_term::Term agnostic factory.

As announced this PR is closed in favour of #89.


Album support

Start to work on the base classes to support music Albums.

Coding Notes:
There will need to be a custom AbstractCatalog() subclass since there are custom elements, like artist.

Coding Notes
New abstract catalog class is covered in https://github.com/cjcodeproj/medialibrary/issues/159
Added slight tweaks to abstract catalog to cover inheritance issues, and the improve the _process() method

Commit:
https://github.com/cjcodeproj/medialibrary/commit/f8d1a8aa5bafc5f8c8ca1dbcd23a6dc889ccf310


DSP / FFT

Implement functionalities DSP / FFT

Hi cicciocb,  i am really in need of the whole DSP/FFT functions as im now using the RP2040 as a math coprocessor :-)
but its obvious, nearly nobody uses them, when they are not implemented. ive no idea about the additional programming space which are used by the whole bunch of  DSP, maybe it could be done as a different version like the BLE.
thanks a lot for your excellent work!
By the way, an idea ist to split up the tft objects  in different pages, and to have also the ability to use the mouse as an event-catcher for the TFT display (would be nice for tft without touch).

HI, the best is to write on the forum and explain what is your need and what you would to do with the FFS/DSP. Maybe you'll find someone else interested ....


Jenkins Image has outdated config files for sockshop k8s-deploy-staging

Describe the bug
The jenkins image that is currently used is dynatraceacm/keptn-jenkins:0.2. This image comes with pre-deployed config directories for all sockshop pipelines. At least for one of the pipelines - k8s-deploy-staging - the job config file references the parameter APP_NAME instead of SERVICE_NAME. This results in a failed pipeline run with the error: null.yaml. Reason is that SERVICE_NAME is passed but Jenkins expects APP_NAME. This only happens the first time we deploy any service into staging because Jenkins uses the cached file instead of the jenkinsfile from our github repo.
Either create a known issue or update the Jenkins Image with an up2date config for all sockshop pipelines

fixed in version 0.1.1


Display notifications using toasts and in the drawer

Analogous with https://github.com/ManageIQ/manageiq/pull/11448 and because they are very similar, the plan is to join&move them to the ui-components repo.
@himdel can you verify that everything is on its proper place?
@jeff-phillips-18 the notifications aren't displayed sometimes (or with a high delay), am I missing sometihng here?

@skateman I believe the delay you are seeing is due to the notifications being added outside of an angular digest cycle. If you put the add call inside a $timeout (with no delay) you should see the immediate display of the new notification.

@himdel removed WIP and tests are green, good to go from my side

@miq-bot add_label euwe/yes

@skateman should this be included in Euwe?

LGTM :+1:

apologies for late feedback, there appears to be a disconnect between what my mind thinks is happening and what my fingers are actually doing.. 😕

Euwe Backport conflict:
$ git cherry-pick -e -x -m 1  a24e991
error: could not apply a24e991... Merge pull request #220 from skateman/async-notifications
hint: after resolving the conflicts, mark the corrected paths
hint: with 'git add <paths>' or 'git rm <paths>'
hint: and commit the result with 'git commit'

$ git status
On branch euwe
Your branch is up-to-date with 'upstream/euwe'.
You are currently cherry-picking commit a24e991.
  (fix conflicts and run "git cherry-pick --continue")
  (use "git cherry-pick --abort" to cancel the cherry-pick operation)

Changes to be committed:

	modified:   bower.json
	modified:   client/app/core/constants.js
	modified:   client/app/resources/collections-api.factory.js
	modified:   tests/core.module.spec.js

Unmerged paths:
  (use "git add <file>..." to mark resolution)

	both modified:   client/app/services/event-notifications.service.js

$ git diff

diff --cc client/app/services/event-notifications.service.js
index 3fd09ec,7325d77..0000000
--- a/client/app/services/event-notifications.service.js
+++ b/client/app/services/event-notifications.service.js
@@@ -5,7 -5,7 +5,11 @@@
    .factory('EventNotifications', EventNotificationsFactory);

    /** @ngInject */
++<<<<<<< HEAD
 +  function EventNotificationsFactory($timeout) {
++=======
+   function EventNotificationsFactory($timeout, lodash, CollectionsApi, Session, logger, ActionCable) {
++>>>>>>> a24e991... Merge pull request #220 from skateman/async-notifications
      var state = {};
      var toastDelay = 8 * 1000;

@@@ -150,17 -198,15 +206,27 @@@
        }
      }

++<<<<<<< HEAD
++=======
+     function markRead(notification, group) {
+       if (notification && notification.href) {
+         CollectionsApi.post('notifications', notification.id, {}, {action: 'mark_as_seen'});
+       }
+       updateNotificationRead(false, notification, group);
+     }
+
++>>>>>>> a24e991... Merge pull request #220 from skateman/async-notifications
      function markUnread(notification, group) {
 -      updateNotificationRead(true, notification, group);
 +      if (notification) {
 +        notification.unread = true;
 +      }
 +      if (group) {
 +        updateUnreadCount(group);
 +      } else {
 +        state.groups.forEach(function(group) {
 +          updateUnreadCount(group);
 +        });
 +      }
      }

      function markAllRead(group) {

Backported to Euwe via https://github.com/ManageIQ/manageiq-ui-self_service/pull/234


Parallelise tests

Where possible, call t.Parallel() at the beginning of tests.
In VSCode, replace ^(func Test.*\n\t)(?!t\.Parallel\(\)) with $1t.Parallel()\n\n\t (I think).

#304


lbrycrd-cli Info still says "BTC"

error message:
getwalletinfo
Returns an object containing various wallet state info.
Result:
{
"walletversion": xxxxx,     (numeric) the wallet version
"balance": xxxxxxx,         (numeric) the total confirmed balance of the wallet in BTC
"unconfirmed_balance": xxx, (numeric) the total unconfirmed balance of the wallet in BTC
"immature_balance": xxxxxx, (numeric) the total immature balance of the wallet in BTC
"txcount": xxxxxxx,         (numeric) the total number of transactions in the wallet
"keypoololdest": xxxxxx,    (numeric) the timestamp (seconds since GMT epoch) of the oldest pre-generated key in the key pool
"keypoolsize": xxxx,        (numeric) how many new keys are pre-generated
"unlocked_until": ttt,      (numeric) the timestamp in seconds since epoch (midnight Jan 1 1970 GMT) that the wallet is unlocked for transfers, or 0 if the wallet is locked
"paytxfee": x.xxxx,         (numeric) the transaction fee configuration, set in BTC/kB
}

I'm closing this and moving it to https://github.com/lbryio/lbrycrd/issues


Lsp rename refactoring doesn't work

Hey!
Thanks for this amazing plugin, i'm using it alot.
Unfortunately, i have to resolve to nvimtree, telescope-file-project or oil for renaming, moving files because refactoring doesn't work on yazi out of the box.
Am i supposed to do something for it to work?
I'm working on a typescript project with typescript-tools (tsserver)
If i rename or mvoe a file with nvimtree or one of the others mentioned above, all imports get renamed correctly.
Doing it in yazi instead does not.
I have lsp-file-operations plugin installed

Hi! That's strange - it does work for me. See here
https://github.com/user-attachments/assets/5cfcddb2-e72c-45eb-8f21-78051e8e6d0c
Can you try it out on this project https://github.com/GregRos/parjs/ ?

I'm guessing here, but could it be that after you have e.g. renamed a typescript file, you have unsaved changes to the buffers? Maybe they're not shown like they are for me in your configuration?
I'm using typescript-tools myself, btw.

hey @mikavilpas, i tried doing the exact same thing in the gif in the repo you linked and it only renames the file
Posting a gif for it too:

Ok, it looks like you are doing everything correctly. I have a couple of ideas to try, but can you try out one thing before that:
Try to upgrade to the latest version of yazi (0.3 or nightly) and enable these settings in your config:
https://github.com/mikavilpas/dotfiles/blob/main/.config/nvim/lua/plugins/my-file-manager.lua#L15-L19

tested with the config options you posted, yazi version was already 0.3.0, tried installing nightly too but no luck :disappointed:

Okay, thanks for trying it out. I will try to build a reproduction script for you to try as it may be something else in your configuration for example. 👍🏻

It could be for sure, I could try debugging and removing stuff to check but it really isn't a blocker for me at the moment.
For now I'm fine refactoring with oil, happy to know it works and it's probably a config on my side.
Please feel free to close the issue, I will try to pinpoint what it could be some time in the future and report back here!

One thought just popped into my mind. Can you run :checkhealth yazi and post the output here?
Mine is

==============================================================================
yazi: require("yazi.health").check()

yazi ~
- Running yazi.nvim version 5.5.1
- Found `yazi` version `Yazi 0.3.0 (22a4be1 2024-08-11)` 👍
- yazi.nvim log file is at /Users/mikavilpas/.local/state/nvim/yazi.log
-     hint: use `gf` to open the file path under the cursor
- Found `ya` version `Ya 0.3.0 (22a4be1 2024-08-11)` 👍
- You have enabled `open_for_directories` in your config. Because of this, please make sure you are loading yazi when Neovim starts.
- OK yazi

==============================================================================
yazi: require("yazi.health").check()
yazi ~

yazi.nvim log file is at /home/wolf/.local/state/nvim/yazi.log

hint: use `gf` to open the file path under the cursor

OK yazi

Oh, nice catch! I think the correct signature for the function is config = function(self, opts).

Can you see a change in the health check now that the config should be passed correctly?

nope, it stays the same as above.
For reference i tried all these variants:

comment out the config fn
test with .setup(opts)
test with .setup(self, opts)
test with .setup({ ...config direclty here })

return {
    'mikavilpas/yazi.nvim',
    dependencies = {
        'nvim-lua/plenary.nvim',
    },
    event = 'VeryLazy',
    keys = {
        -- 👇 in this section, choose your own keymappings!
        {
            -- '<leader>-',
            '-',
            function()
                require('yazi').yazi()
            end,
            desc = 'Open the file manager',
        },
        {
            -- Open in the current working directory
            -- '<leader>cw',
            '<leader>-',
            function()
                require('yazi').yazi(nil, vim.fn.getcwd())
            end,
            desc = "Open the file manager in nvim's working directory",
        },
    },
    ---@type YaziConfig
    opts = {
        -- open_for_directories = false,
        use_ya_for_events_reading = true,
        use_yazi_client_id_flag = true,
        open_multiple_tabs = true,
        open_for_directories = true,
    },
    -- config = function(opts)
    --     -- require('yazi').setup(opts)
    --
    --     require('yazi').setup(self, opts)
    --
    --     -- require('yazi').setup({
    --     --     {
    --     --         -- open_for_directories = false,
    --     --         use_ya_for_events_reading = true,
    --     --         use_yazi_client_id_flag = true,
    --     --         open_multiple_tabs = true,
    --     --         open_for_directories = true,
    --     --     },
    --     -- })
    -- end,
}

this is my lazy init:
require('lazy').setup({
    spec = {
        -- This is the easiest way to modularize your config.

        -- NOTE: it doesn't need to be init.lua, it loads every file with return {} [ or return {{}} and lazy flats it ]
        -- WARN: it loads folders with init.lua (e.g. ../others/utils/init.lua loads ../others/utils.lua)

        -- i prefer this method so i can just add files without manually requiring all of them
        -- this imports the folders and loads all files with return {} in them (also subfolders with init.lua)

        { import = 'user.plugins.others' },
        { import = 'user.plugins.singles' },

        -- { import = 'user.plugins.notes' },
        { import = 'user.plugins.mini' },
        { import = 'user.plugins.file-browsers' },
        { import = 'user.plugins.sessions-welcome' },
        { import = 'user.plugins.themes' },
        { import = 'user.plugins.telescope' },

        { import = 'user.plugins.toggleterm' },

        { import = 'user.plugins.http' },

        { import = 'user.plugins.cmp' },
        { import = 'user.plugins.ai' },
        { import = 'user.plugins.git' },

        { import = 'user.plugins.dap' },
        { import = 'user.plugins.lsp.langs' },
        { import = 'user.plugins.lsp.formatters' },
        { import = 'user.plugins.lsp.lspconfig' },

        -- other ways
        -- 'tpope/vim-sleuth', -- Detect tabstop and shiftwidth automatically

        -- Use `opts = {}` to force a plugin to be loaded.
        -- "gc" to comment visual regions/lines
        -- { 'numToStr/Comment.nvim', opts = {} },

        -- modular approach: using `require 'path/name'` will
        -- include a plugin definition from file lua/path/name.lua
        -- require('plugins.indent_line'),
    },
    defaults = {
        -- from lazyvim repo
        -- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup.
        -- If you know what you're doing, you can set this to `true` to have all your custom plugins lazy-loaded by default.
        lazy = true,
        -- It's recommended to leave version=false for now, since a lot the plugin that support versioning,
        -- have outdated releases, which may break your Neovim install.
        version = false, -- always use the latest git commit
        -- version = "*", -- try installing the latest stable version for plugins that support semver

        ui = {
            -- If you have a Nerd Font, set icons to an empty table which will use the
            -- default lazy.nvim defined Nerd Font icons otherwise define a unicode icons table
            icons = _G.user.have_nerd_font and {} or {
                cmd = '⌘',
                config = '🛠',
                event = '📅',
                ft = '📂',
                init = '⚙',
                keys = '🗝',
                plugin = '🔌',
                runtime = '💻',
                require = '🌙',
                source = '📄',
                start = '🚀',
                task = '📌',
                lazy = '💤 ',
            },
        },
    },
    change_detection = {
        -- automatically check for config file changes and reload the ui
        enabled = false,
        notify = false, -- get a notification when changes are found
    },
    checker = { enabled = false }, -- automatically check for plugin updates
    performance = {
        cache = {
            enabled = true,
        },
        reset_packpath = true, -- reset the package path to improve startup time,
        rtp = {
            -- disable some rtp plugins
            -- those are builtins
            disabled_plugins = {
                'gzip',
                'matchit',
                -- "matchparen",
                'netrwPlugin',
                'tarPlugin', -- disable editing tar files
                'tohtml',
                'tutor',
                'zipPlugin', -- disable editing zip files
            },
        },
    },
})

Okay, I think we're making good progress. Here's a reproduction script, can you save this as repro.lua in a temporary directory?
-- You can use this file to reproduce an issue with your configuration.

---@module "yazi"
---@module "lazy"

-- DO NOT change the paths and don't remove the colorscheme
local root = vim.fn.fnamemodify("./.repro", ":p")

-- set stdpaths to use .repro
for _, name in ipairs({ "config", "data", "state", "cache" }) do
  vim.env[("XDG_%s_HOME"):format(name:upper())] = root .. "/" .. name
end

-- bootstrap lazy
local lazypath = root .. "/plugins/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
  vim.fn.system({
    "git",
    "clone",
    "--filter=blob:none",
    "https://github.com/folke/lazy.nvim.git",
    lazypath,
  })
end
vim.opt.runtimepath:prepend(lazypath)
vim.g.mapleader = " "

-- install the following plugins
---@type LazySpec
local plugins = {
  { "catppuccin/nvim", name = "catppuccin", opts = { flavour = "macchiato" } },
  {
    "mikavilpas/yazi.nvim",
    event = "VeryLazy",
    keys = {
      -- 👇 in this section, choose your own keymappings!
      {
        -- '<leader>-',
        "-",
        "<cmd>Yazi<cr>",
        desc = "Open the file manager",
      },
    },
    ---@type YaziConfig
    opts = {
      -- open_for_directories = false,
      use_ya_for_events_reading = true,
      use_yazi_client_id_flag = true,
      open_multiple_tabs = true,
      open_for_directories = true,
    },
    -- config = function(opts)
    --     -- require('yazi').setup(opts)
    --
    --     require('yazi').setup(self, opts)
    --
    --     -- require('yazi').setup({
    --     --     {
    --     --         -- open_for_directories = false,
    --     --         use_ya_for_events_reading = true,
    --     --         use_yazi_client_id_flag = true,
    --     --         open_multiple_tabs = true,
    --     --         open_for_directories = true,
    --     --     },
    --     -- })
    -- end,
  },
}
require("lazy").setup(plugins, {
  root = root .. "/plugins",
  install = { colorscheme = { "catppuccin" } },
})

vim.cmd.colorscheme("catppuccin")
-- add anything else here

Then try to run that with nvim -u repro.lua. Finally, run :checkhealth yazi and see if the output changes. For me, the output is the following

==============================================================================
yazi: require("yazi.health").check()

yazi ~
- Running yazi.nvim version 5.1.1
- Found `yazi` version `Yazi 0.3.0 (22a4be1 2024-08-11)` 👍
- yazi.nvim log file is at /Users/mikavilpas/git/yazi.nvim/.repro//state/nvim/yazi.log
-     hint: use `gf` to open the file path under the cursor
- Found `ya` version `Ya 0.3.0 (22a4be1 2024-08-11)` 👍
- You have enabled `open_for_directories` in your config. Because of this, please make sure you are loading yazi when Neovim starts.
- OK yazi

It looks like this reproduction setup can read the config correctly. I'll write a validator for the config structure and maybe you can run that on your real setup to pinpoint any issues.

It's not required right now but if you are interested and want to experiment with your setup, you can open yazi with logging using this
:lua require('yazi').yazi({log_level = vim.log.levels.DEBUG})

The health check contains the path to the log file, and it may show something useful. Not sure because I have never hit this particular case before 🙂

i noticed you omitted the stable branch from lazy.
I tried to change the config of the lazy bootstrap in my config:
-- [[ Install `lazy.nvim` plugin manager ]]
--    See `:help lazy.nvim.txt` or https://github.com/folke/lazy.nvim for more info
local lazypath = vim.fn.stdpath('data') .. '/lazy/lazy.nvim'
-- if not vim.loop.fs_stat(lazypath) then
--     local lazyrepo = 'https://github.com/folke/lazy.nvim.git'
--     vim.fn.system({
--         'git',
--         'clone',
--         '--filter=blob:none',
--         '--branch=stable',
--         lazyrepo,
--         lazypath,
--     })
-- end ---@diagnostic disable-next-line: undefined-field
-- vim.opt.rtp:prepend(lazypath)
if not (vim.uv or vim.loop).fs_stat(lazypath) then
    local lazyrepo = 'https://github.com/folke/lazy.nvim.git'
    local out = vim.fn.system({
        'git',
        'clone',
        '--filter=blob:none',
        -- '--branch=stable',
        lazyrepo,
        lazypath,
    })
    if vim.v.shell_error ~= 0 then
        vim.api.nvim_echo({
            { 'Failed to clone lazy.nvim:\n', 'ErrorMsg' },
            { out, 'WarningMsg' },
            { '\nPress any key to exit...' },
        }, true, {})
        vim.fn.getchar()
        os.exit(1)
    end
end
vim.opt.rtp:prepend(lazypath)

and run a Lazy sync.
Now the checkhealth shows the correct output

Hmm, interesting. With these changes, do you still experience the same behaviour (no lsp renaming stuff)?

tested: can now successfully refactor with yazi

Oh, nice work! 😄
By the way, I have a question for lsp feedback if you don't mind: when you rename with the other tools (I think you said oil and nvimtree), does it work the same way in yazi.nvim, or are there some things that are different/troublesome?

got the error btw:
-  "yazi.nvim": { "branch": "master", "commit": "a2f7832af7462c79d57777dd8c36ad0edfb84b39" },
+  "yazi.nvim": { "branch": "main", "commit": "065685bf0e3acd2393f42f788f46e12c4b9732f5" },

running sync upped yazi to branch main.
No idea why it was stuck there?
I'm not really sure about the difference, I'm not noticing any at the moment.
My saves are synchronous and slower than your gif because conform and lsps are formatting each of the changed buffer before save. (this happens for all of them)
If i notice anything i will add something here then.
Thanks alot for your help @mikavilpas , it really helped me figure out the problem

logging here the opts table received in the setup call inside the config fn:
{
  _ = {
    cache = {
      cmd_list = { "Yazi", "Yazi cwd", "Yazi toggle" },
      keys_list = { <1>{ "-", <function 1>,
          desc = "Open the file manager",
          mode = "n"
        }, <2>{ "<leader>-", <function 2>,
          desc = "Open the file manager in nvim's working directory",
          mode = "n"
        } },
      opts = {
        open_for_directories = true,
        open_multiple_tabs = true,
        use_ya_for_events_reading = true,
        use_yazi_client_id_flag = true
      }
    },
    frags = { 11, 9, 132 },
    handlers = {
      cmd = {
        Yazi = "Yazi",
        ["Yazi cwd"] = "Yazi cwd",
        ["Yazi toggle"] = "Yazi toggle"
      },
      keys = {
        [" -"] = {
          desc = "Open the file manager in nvim's working directory",
          id = " -",
          lhs = "<leader>-",
          mode = "n",
          rhs = <function 2>
        },
        ["-"] = {
          desc = "Open the file manager",
          id = "-",
          lhs = "-",
          mode = "n",
          rhs = <function 1>
        }
      }
    },
    installed = true,
    loaded = {
      start = "start"
    },
    pkg = {
      dir = "/home/wolf/.local/share/nvim/lazy/yazi.nvim",
      file = "lazy.lua",
      name = "yazi.nvim",
      source = "lazy",
      spec = <3>{ "yazi.nvim",
        optional = true,
        specs = { { "nvim-lua/plenary.nvim",
            lazy = true,
            <metatable> = {
              __index = { "nvim-lua/plenary.nvim",
                lazy = true,
                <metatable> = {
                  __index = { "plenary.nvim",
                    optional = true,
                    specs = <4>{ "nvim-lua/plenary.nvim",
                      lazy = true,
                      optional = true
                    },
                    <metatable> = {
                      __index = <table 4>
                    }
                  }
                }
              }
            }
          }, <5>{ "mikavilpas/yazi.nvim",
            cmd = { "Yazi", "Yazi cwd", "Yazi toggle" },
            optional = true,
            opts = {}
          } },
        <metatable> = {
          __index = <table 5>
        }
      }
    }
  },
  dependencies = { "plenary.nvim" },
  dir = "/home/wolf/.local/share/nvim/lazy/yazi.nvim",
  name = "yazi.nvim",
  optional = false,
  url = "https://github.com/mikavilpas/yazi.nvim.git",
  <metatable> = {
    __index = { "mikavilpas/yazi.nvim",
      config = <function 3>,
      dependencies = { "nvim-lua/plenary.nvim" },
      keys = { <table 1>, <table 2> },
      lazy = false,
      opts = {
        open_for_directories = true,
        open_multiple_tabs = true,
        use_ya_for_events_reading = true,
        use_yazi_client_id_flag = true
      },
      <metatable> = {
        __index = <table 3>
      }
    }
  }
}

@mikavilpas since you asked for feedback, I will gladly report back after I used a bit all of them!
Is there any more specific thing you are more interested about?

Yes, actually. Do the other plugins you have used save all files synchronously (faster)? I use prettierd in my config which is probably faster when many files need to be saved.
I could see if a performance improvement can be made if this is the case.

That's an interesting question, I will take a look at this a bit since big monorepos may cause a bad UX.
Until now i experienced always the same behavior, synch format on save.
If i recall right, i specifically made it this way since async saves were causing conflicts.
For reference, my auto formats configs are here:
https://github.com/gipo355/nvim/blob/main/lua/user/plugins/lsp/formatters/none-ls.lua
https://github.com/gipo355/nvim/blob/main/lua/user/plugins/lsp/formatters/conform.lua
(Code is a bit messy since i prefer leaving old comments for now)
You can see i was using prettierd but i switched back to prettier since it wasn't working properly in my last project, some strange behaviors in a monorepo.
Conform (like builtin buf format) has the ability to format asynch but it was overriding multiple lsps autoformats which were facing race conditions.
Overall, auto format on save and lsp formattings (commands, priorities, selections) are still a tad behind other editors IMHO
Will take a closer look soon

hey @mikavilpas good afternoon!
I've refactored a bit my autosave on format, experimenting with some different approaches.
https://github.com/gipo355/nvim/blob/main/lua/user/plugins/lsp/formatters/none-ls.lua
https://github.com/gipo355/nvim/blob/main/lua/user/plugins/lsp/formatters/conform.lua
I've also been trying oil nvimtree and yazi for refactoring.
While overall everything is quite faster since i removed some duplicate aucmds, It feels like yazi is actually faster than the  others for now and more fluid too. (the main reason i love your plugin)
P.S. if you have suggestions on the autosaves approaches I'm happy to receive them!

That's really interesting. I think the experience of setting up lsps+formatting in neovim is maybe its weakest part. I'm hoping things will improve in the future.
Although I remember using vim about 12 years ago and back then it was not possible to run any build commands asynchronously - everything was sync and if you had a long build script/compilation, it would block vim for that time. So things are insanely better nowadays 😄

Btw, do you happen to use a single window workflow in neovim, or do you prefer splits? Or something else?
I like to use splits and bufferline.nvim so currently everything in this plugin only supports this approach. But perhaps other types of workflows could be supported too.

I actually disabled bufferline and moved to tabs after reading interesting discussions on it.
I feel like workflow is much stronger now.
I can use tabs simply to replace  bufferline, or as different splits layouts or even different projects and pwds
The way I set it up allows me to cwd each tab separately very quickly with root patterns mainly because 90% of my work is nx monorepos usage.
This way in a monorepo I switfy change subproject and filter out files from telescope for example while retaining the ability to grep globally in the monorepo if needed.
Each tab is independent and I often use splits both hor and vert


Publish date

Good design + fast to consume. Would like to see a publish date, so I know how current the information is given the "plan to deprecate organizational content packs soon".

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

ID: cbffbf18-2789-7aaa-6f21-08a2a8dd018f
Version Independent ID: 759b3f52-ab4a-176e-5be3-6e9dc062ca82
Content: Publishing and sharing - Power BI
Content Source: powerbi-docs/guided-learning/publishingandsharing.yml
Service: powerbi
GitHub Login: @davidiseminger
Microsoft Alias: davidi

@Wobyn - thanks for the feedback! A publish date would definitely be beneficial, I'll pass that request on.


texwrapper: immigrate from core

https://github.com/Homebrew/homebrew/pull/39196

Xu's comment from the other thread applies here as well, thanks!

On it.

Anyone know if there's a way we can add a sample [La]TeX file as a test fixture, but add it to the homebrew/tex tap so as not to "pollute" core (which I have a feeling someone will jump down my throat about if I try it)?

Not to my knowledge. Could be wrong though. If the test fixture was small, I don't think there'd be a major objection from the core. If anyone jumps at you, you can always point them in my direction and blame me :wink:.

I'm too gun-shy with bold suggestions in Homebrew right now. I'm going to try to make a small sample LaTeX file and in-line it in the test block somehow.

Any idea rejection is never personal or such - It's just hard to not be somewhat direct when you're having to look through 50+ Issues and PRs a day. The ideas are always appreciated, even if not always accepted.
Remember on our Travis runs you'll have access to all the utilities BasicTeX supplies, and you can use them to help generate test files. You can also add test resources as formulae resources and then stage them in the testpath for use.


dts: bindings: can: deprecate advanced CAN timing properties

Deprecate the advanced CAN timing devicetree properties in favor of setting advanced timing parameters from application code.
The advanced timing properties are giving in number of time quanta (Tq) and requires reverse-calculation to find a suitable CAN clock divider. The resulting bitrate error is compared against a threshold in the driver initialization code, but the application is not able to retrieve it.
Forcing applications to use the CAN timing APIs directly instead makes it up to the application to determine if the bitrate error is acceptable or not.
The deprecated properties are:

prop-seg
phase-seg1
phase-seg2
prop-seg-data
phase-seg1-data
phase-seg2-data

I think removing it from the device tree may not be the best solution. Yes, the user can set it by using the timing API, but where to put the data? Device-tree is still the best place. Maybe we can set the timing when calling the start unction and return the error there?

I think removing it from the device tree may not be the best solution. Yes, the user can set it by using the timing API, but where to put the data? Device-tree is still the best place. Maybe we can set the timing when calling the start unction and return the error there?

The idea is to completely remove the possibility for configuring the initial CAN timing using TQs from devicetree in order to discourage users from using such a low-level, error prone approach. The current schemes (TQs in devicetree and prescaler reverse-calculated, bitrate and sample point in devicetree, TQs and prescaler in code, bitrate and sample point in code, ...) provide more complexity and confusion than necessary.
Users can still set an initial bitrate + sample point via devicetree (providing a high-level abstraction for the TQ calculations), or use the CAN APIs for setting timing in TQs at runtime. It is worth noting than none of our in-tree boards configure the initial bitrate via TQs in devicetree. They all use bitrate + sample point. Advanced setups requiring timing specified as raw TQs can still do so via code. Whether they store these parameters in devicetree, board Kconfig defaults, settings subsystem, code or where ever is up to the implementation.
I have a follow-up PR ready which deprecates the sjw and sjw-data properties as well and introduces automatic calculation of a best-effort SJW to the CAN timing calculation routines. Our current approach of having a default SJW set via devicetree does not allow scaling SJW for bitrates set at runtime.
In my opinion, the TQ based timing properties should never have been added to devicetree in the first place (happened in https://github.com/zephyrproject-rtos/zephyr/pull/8001).

@gramsay0 FYI


Scholarship course update

Changed to show brother full name in course selections

Any brother can delete or edit files, closing for now


Remove "hidden" need data field?

Currently there is both a "hide" and a "hidden" data field (and related directive option), per need, which seems confusing.
The "hide" directive option/data field has a clear purpose; if set, the need is not rendered in the output build (e.g. HTML page).
It is part of the default options: https://github.com/useblocks/sphinx-needs/blob/bf359b20849535989cb0e4d5469445e9cacdcf6a/sphinx_needs/defaults.py#L213
The "hidden" field is added to the extra options here: https://github.com/useblocks/sphinx-needs/blob/bf359b20849535989cb0e4d5469445e9cacdcf6a/sphinx_needs/needs.py#L434
It is never used in the code base, tests, or internal documentation.
It is mentioned in https://sphinx-needs.readthedocs.io/en/latest/configuration.html#needs-hide-options, but this option was removed in v0.5.0
It is also mentioned in https://sphinx-needs.readthedocs.io/en/latest/configuration.html#needs-extra-options, but again in relation to the removed needs_hide_options config
There is also this line in the documentation, which I have no idea what it is trying to say 😅

The hidden option is a globally available option always hidden and used to easily execute Dynamic functions.

Is "hidden"simply a legacy field then, which can be removed?
@danwos perhaps you can provide some historical context on this?

Sorry, I have no idea what I have done there.
From your quote, I may understand the use case:
With dynamic functions, we can not set an option from the type flag.
So hidden support something like:

.. req:: My req
   :hidden: [[shall_we_hide_it()]]

# conf.py

def shall_we_hide_it (...):
     return True if  ... else False

But I'm wondering why hidden is not taken into account when it comes to removing the need-node.
So maybe hide is more the legacy option, as it is a flag and should allow strings and dynamic functions as well.


Implement TracingOptions

This class should be similar to spanner::ConnectionOptions and it is needed to create even a basic *Stub.

This was "done" in #57.


Add tasks Meta and tags available for templates

For now, nomad-vector-logger exposes the following task's attributes, which are then available in templates

Namespace
Job
Group
Task
ID
Node

It'd be great to also have access to Tags and Meta. I use meta fields for my prometheus metrics already, to differentiate multiple instances of the same task
    meta {
        metrics-port = "${NOMAD_HOST_PORT_metrics}"
        alloc        = "${NOMAD_ALLOC_INDEX}"
      }

Then some prometheus remap config so I have automatically the instance label set as $TaskName-$AllocMeta (eg : redis-0)
It'd be great to have access to those here as well, so vector could attach Metadata, like
[transforms.transform_{{$value.Key}}]
type = "remap"
inputs = ["source_{{$value.Key}}"]
source = '''
# Store Nomad metadata.
.nomad.namespace = "{{$value.Namespace}}"
.nomad.node_name = "{{$value.Node}}"
.nomad.job_name = "{{$value.Job}}"
.nomad.group_name = "{{$value.Group}}"
.nomad.task_name = "{{$value.Task}}"
.nomad.alloc_id = "{{$value.ID}}"
.nomad.instance = "{{$value.Task}}-{{index $value.Meta "alloc"}}"
'''

This one's a bit tricky because meta can be specified at job, group, task level. Quoting the docs:

Metadata is merged up the job specification, so metadata defined at the job level applies to all groups and tasks within that job. Metadata defined at the group layer applies to all tasks within that group.

So, which meta key should be exposed isn't very straightforward. Do you have any suggestions?

Mmmm, indeed my bad. I though the API would return the merged Meta, but it's not. Maybe just adding the allocation index would already help. This info can be extracted from the Name, eg
[...]
    "EvalID": "121d6a59-c045-6974-5881-f2d21e920e26",
    "Name": "zookeeper.server[2]",
    "Namespace": "default",
[...]

=> Task is in allocation index 2, of in the server TaskGroup of the zookeeper Job.

I believe this parsing of zookeeper.server[2] -> [2] can be done using VRL. To keep it generic, I've added Name field
source = '''
# Store Nomad metadata.
.nomad.namespace = "default"
.nomad.node_name = "pop-os"
.nomad.job_name = "doggo"
.nomad.group_name = "app"
.nomad.task_name = "web"
.nomad.alloc_id = "e45a64fa-23c5-51ad-f5c6-2149dfaa5ce7"
.nomad.alloc_name = "doggo.app[0]"
'''

I'm unsure if this is unrelated to this issue. Sorry if it isn't!
I'm trying to include Nomad Meta defined at job level, adapting dani's example for a bit more context:
[transforms.transform_{{$value.Key}}]
type = "remap"
inputs = ["source_{{$value.Key}}"]
source = '''
# Store Nomad metadata.
.nomad.namespace = "{{$value.Namespace}}"
.nomad.node_name = "{{$value.Node}}"
.nomad.job_name = "{{$value.Job}}"
.nomad.group_name = "{{$value.Group}}"
.nomad.task_name = "{{$value.Task}}"
.nomad.alloc_id = "{{$value.ID}}"
.nomad.metrics_port = "{{index $value.Meta "metrics-port"}}"
'''

Essentially, job.Meta.metrics-port is defined in the jobspec but I'm unsure how to actually get it in the vector template. I'm completely new to Golang, so the code goes way over my head. I could attempt to help myself if you can give me some pointers or insight how the templating works.
Thanks!

For our Nomad configuration, we use a lot of tags that delineate the service sending logs (env, internal name, priority, etc.)
So we consolidated all these tags within the Meta stanza and implemented modifications in nomad-vector-logger -  commit
All Meta tags will be stored as JSON fields:
.nomad.task_meta = {{$value.TaskMeta}}
.nomad.job_meta = {{$value.JobMeta}}
.nomad.group_meta = {{$value.GroupMeta}}
The code is not optimally designed, so I refrained from creating a merge request in the main repository


Try out meta programming for logging

Instead of the current OOP approach we should rather use a AOP one.
Original code
class SomeUseCase

  def run
    logger.info "Starting to call a method"
    call_method_a "with param"

    logger.info "Calling the next method"
    do_more "with another param"

    logger.info "Done"
  end

end

OOP Examples

class SomeUseCase

  def run
    TransactionLogger.start do |transaction|
      transaction.context = { my: user.id }
      transaction.name = "My custom transcation"

      transaction.log "Starting to call a method"
      call_method_a "with param"

      transcation.log "Calling the next method"
      do_more "with another param"

      transaction.log "Done"
    end
  end

end

AOP Examples
class SomeUseCase
  include TransactionLogger

  transaction_log :run, context: { my: "value" }, name: "My custom transaction"

  def run
    logger.info "Starting to call a method"
    call_method_a "with param"

    logger.info "Calling the next method"
    do_more "with another param"

    logger.info "Done"
  end

end

+1


UIRS-54 Use moment library alternative

Purpose

https://issues.folio.org/browse/UIRS-54
Approach

TODOS and Open Questions

Learning

Pre-Merge Checklist
Before merging this PR, please go through the following list and take appropriate actions.

[x] I've added appropriate record to the CHANGELOG.md
Does this PR meet or exceed the expected quality standards?

[x] Code coverage on new code is 80% or greater
[x] Duplications on new code is 3% or less
[x] There are no major code smells or security issues

Does this introduce breaking changes?

[x] If any API-related changes - okapi interfaces and permissions are reviewed/changed correspondingly
[x] There are no breaking changes in this PR.

If there are breaking changes, please STOP and consider the following:

What other modules will these changes impact?
Do JIRAs exist to update the impacted modules?

[ ] If not, please create them
[ ] Do they contain the appropriate level of detail?  Which endpoints/schemas changed, etc.
[ ] Do they have all they appropriate links to blocked/related issues?

Are the JIRAs under active development?

[ ] If not, contact the project's PO and make sure they're aware of the urgency.

Do PRs exist for these changes?

[ ] If so, have they been approved?

Ideally all of the PRs involved in breaking changes would be merged in the same day to avoid breaking the folio-testing environment.  Communication is paramount if that is to be achieved, especially as the number of intermodule and inter-team dependencies increase.
While it's helpful for reviewers to help identify potential problems, ensuring that it's safe to merge is ultimately the responsibility of the PR assignee.

Test errors found for test. See https://jenkins-aws.indexdata.com/job/folio-org/job/ui-remote-storage/job/PR-108/1/

Test errors found for test. See https://jenkins-aws.indexdata.com/job/folio-org/job/ui-remote-storage/job/PR-108/2/

Test errors found for test. See https://jenkins-aws.indexdata.com/job/folio-org/job/ui-remote-storage/job/PR-108/4/

Test errors found for test. See https://jenkins-aws.indexdata.com/job/folio-org/job/ui-remote-storage/job/PR-108/5/


Deploying of application hungs

I have created a simple ASP.NET application. Application runs locally (hit F5 in VS) as expected.
When trying to deploy it to azure, it creates the resource group, publishes the image to registry, but it  hangs when deploying application.
Here is the VS trace:
========== Publishing ==========
Packaging Application...
Building Images...
Uploading the images to Azure Container Registry...
Deploying application to remote endpoint...

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

ID: cd67cf66-c21f-4206-1663-5253492a68c1
Version Independent ID: b887341a-f009-7580-fcf9-1d4166ec74f9
Content: Quickstart - Create and deploy a web app to Azure Service Fabric Mesh
Content Source: articles/service-fabric-mesh/service-fabric-mesh-quickstart-dotnet-core.md
Service: service-fabric-mesh
GitHub Login: @TylerMSFT
Microsoft Alias: twhitney

@ddobric Thank you for the valuable feedback,we are investigating the issue.

@ddobric I just tried deploying the application following the same doc and the application is successfully deployed. Can you try again and share, if you are facing the same issue every time?

@ddobric  Any updates?

Sorry, it does not work. Created a new ASP.NET  application.
Deploy to local cluster
1>------ Build started: Project: Web1, Configuration: Debug Any CPU ------
1>Web1 -> C:\temp\Web1\bin\Debug\netcoreapp2.1\Web1.dll
1>Web1 -> C:\temp\Web1\bin\Debug\netcoreapp2.1\Web1.Views.dll
2>------ Build started: Project: MeshApplication, Configuration: Debug Any CPU ------
2>Ensuring previously deployed application is removed...
2>Deploying application to local Service Fabric cluster...
2>Deploying the application to the Service Fabric local cluster failed. See Service Fabric Explorer for additional details.
========== Build: 1 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

In SFE application does not appear at all.
Deploy to cloud
========= Publishing ==========
Packaging Application...
Building Images...
C:\Users\DamirDobric\.nuget\packages\microsoft.visualstudio.azure.sfapp.targets\1.0.0-preview.4.3\build\Microsoft.VisualStudio.Azure.SFApp.Targets.targets(117,5): error SFA1003: Building dockerfile 'C:\temp\Web1\Dockerfile' failed.
Done building project "Web1.csproj" -- FAILED.

When trying manually to build
docker build Web1\.
Sending build context to Docker daemon  4.111MB
Step 1/16 : FROM microsoft/dotnet:2.1-aspnetcore-runtime-nanoserver-1709 AS base
 ---> 509e6d053b2d
Step 2/16 : WORKDIR /app
 ---> Using cache
 ---> 255ab7981447
Step 3/16 : EXPOSE 20006
 ---> Using cache
 ---> c61fc05147cc
Step 4/16 : FROM microsoft/dotnet:2.1-sdk AS build
 ---> db94c80c7c4b
Step 5/16 : WORKDIR /src
 ---> Using cache
 ---> b024ee848108
Step 6/16 : COPY Web1/Web1.csproj Web1/
COPY failed: CreateFile \\?\C:\ProgramData\Docker\tmp\docker-builder202875190\Web1\Web1.csproj: The system cannot find the path specified.

Do we have som log (trace)
Using docker: Docker version 18.06.0-ce, build 0ffa825

I get stuck here:
========== Publishing ==========
Packaging Application...
Building Images...
Docker build must pull an image (microsoft/dotnet:2.1-sdk). This may take a few minutes...


Update external tests to use different Docker images

[x] #3079
[x] #3080
[x] For other testing, support being able to use images from other registries (https://github.com/adoptium/aqa-tests/issues/2645)

Current using adoptopenjdk image get intermittent failure   [exec] no matching manifest for linux/amd64 in the manifest list entries, which blocks other jobs.  @jnjerin I have a PR for #3079 and #3080 https://github.com/adoptium/aqa-tests/compare/master...sophia-guo:test?expand=1 could you take a look and try if it works? Let's first get those two done.

Done, close it.


Please give some examples

Hi, thanks for your extension. It's really interesting. I'm sorry, but I don't understand, how to add tags. Could you please add some examples to your manual. Ex.: I have lora with these triggers: perfect hands. How can I use them with youe extension? Where can I find the button (which you wrote).
Thank you

After you launch the webui with this Extension installed, there should be a folder here: ~\stable-diffusion-webui\extensions\sd-webui-easy-tag-insert\tags
You can just edit the sample file, and add the entry of your chioce.
Such as:
  Hands: perfect hands, <lora:your lora name:1.0>

Yes I have

Where?

Send a screenshot

Have you Reload UI after installing the Extension?

Is this important?
*** Error executing callback before_ui for D:\Soft\Design\AI\StableDiffusion\SD_portable\stable-diffusion-portable-main\extensions\sd-webui-easy-tag-insert\scripts\eztags.py

Probably related, if the error log you didn't include is about the same problem

Assuming it's the same issue, which has been fixed~


Added missing default reference and test for checker.GetProjectOptionsFromScript

Re-did this PR to just have the test for checker.GetProjectOptionsFromScript
(test failing on netcore in 10.01).

@dsyme Rebased to FCS latest.

@dsyme Here is the same problem, same solution at the end.

@ncave Do we expect this to be failing? thanks
[00:15:47] 1) Failed : Tests.Service.ProjectAnalysisTests.Test Project35b whole project errors
[00:15:47]   Expected: 2\nActual: 3
[00:15:47]   Expected: 2
[00:15:47]   But was:  3
[00:15:47] at FsUnit.shouldEqual[a](a x, a y)

@dsyme Yes, it shouldn't be failing but it is, look at the messages it outputs when it fails. Perhaps as you said the assumeDotNetFramework flag needs to be set.

@dsyme Just adding the assumeDotNetFramework flag is not enough, I added back the reference from the original PR and now the test is passing again.

@dsyme It's not really about Fable, it affects any client that uses checker.GetProjectOptionsFromScript on .NET Core. But yes, adding the reference directly to the script works too.
As you suggested, I have removed the System.Private.CoreLib from the list of default references and added it only at the test script so the test can pass.

@ncave Not sure why we're got this - am retesting
[00:11:02] log  : Restoring packages for C:\projects\fsharp-compiler-service\src\fsharp\FSharp.Compiler.Service.MSBuild.v12\project.json...
[00:11:04] error: Unable to load the service index for source https://dotnet.myget.org/F/dotnet-buildtools/api/v3/index.json.
[00:11:04] error:   Response status code does not indicate success: 503 (Service Unavailable).
[00:11:04] info :   GET https://api.nuget.org/v3-flatcontainer/system.diagnostics.tracesource/index.json
[00:11:04] Running build failed.
[00:11:04] Error:
[00:11:04] System.Exception: Command failed with exit code 1

Closing as perhaps obsolete.


Fix thread pool blocks when program exit

What problem does this PR solve?
Issue Number: ref https://github.com/pingcap/tiflash/issues/6827
Problem Summary:
The order of calling destructors for different static instances is decided by the compiler. When GlobalThreadPool::the_instance dctor called before IOThreadPool::instance, then the threads blocks forever.
What is changed and how it works?

Ensure IOThreadPool is released before GlobalThreadPool try to end all its threads
Init the thread pool at the program beginning
Add namespace legacy for the thread pool defined in <common/ThreadPool.h>

Check List
Tests

[ ] Unit test
[ ] Integration test
[x] Manual test (add detailed scripts or steps below)
[ ] No code

Test by running ./dbms/gtests_dbms --gtest_filter='*S3*' with changes in this PR: https://github.com/pingcap/tiflash/pull/7034
Before this fix, the program hangs when exit. After this fix, the program can exit normally
Side effects

[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[ ] Breaking backward compatibility

Documentation

[ ] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Changes MySQL compatibility

Release note

None

/merge


MTL style behaviour algebra

@notxcain would this compile to scalajs to the extent necessary to call from an ajax client application?

@SemanticBeeng I'm not sure that all modules are Scala.js compatible. Never used it. What module do you need?

Hmm... some familiarity is required to understand but think is very important in order make aecor usable on the "client side" of ajax apps.
Would you be willing to develop some familiarity while I come up with a better explanation and examples?
https://www.scala-js.org/doc/project/cross-build.html
https://github.com/scala-js/scalajs-cross-compile-example
Roughly speaking everything could cross-compile except the akka specific stuff.
Plainly speaking scalajs cannot compile things that have equivalent in the browser like akka, spark,
In previous interactions I gave links to how freestyle.io  does it : http://frees.io/docs/
Will improve this answer.

What are the use cases that you see for Aecor on the client side?

To implement immutable domain models and  event sourced apis that can run on the client and then have effects (especially state mutations) replayed / interpreted on the server when the remove calls are eventually made.
See https://tech.zilverline.com/2011/02/10/towards-an-immutable-domain-model-monads-part-5 for examples.
All this could be cross compile except boopickleWireProtocol  which a server-side remoting aspect only. https://github.com/SemanticBeeng/aecor/blob/1791d3de0ddf83f67c1a3cd5371aaf0c14714e45/modules/tests/src/main/scala/aecor/tests/e2e/Counter.scala#L11-L55

Agreed about WireProtocol.
So am I correct to infer that aecor based algebras, events, etc could be used on "the client" - cannot see issues in principle, right?


Does setting the MaxTransmissionSenderCapacity property actually work?

List of NuGet packages and version that you are using:
Microsoft.ApplicationInsights v2.14.0
Microsoft.ApplicationInsights.WorkerService v2.14.0
Serilog.Sinks.ApplicationInsights v3.1
Runtime version: netcoreapp3.1
Hosting environment: IIS Express on Windows (from the IDE while testing)
What are you trying to achieve?
I'm trying to test / prove if we can successfully increase telemetry throughput for applications which sent very large volumes of logs into Application Insights.
The documentation suggests that you can set the MaxTransmissionSenderCapacity property to a value higher than the default of 10 to achieve this.
However, having sent through batches of log entries with the MaxTransmissionSenderCapacity value set as low as 1, and as high as 20, I cannot seem to observe any different in throughput be it for better or worse. I submitted batches of up to 75,000 trace entries via a tight loop.
Furthermore, when large batches are sent, the SDK logs produce the following Warning:
Microsoft.ApplicationInsights.Extensibility.TraceSource Warning: 16 : SenderEnqueueNoCapacity. TransmissionCount: 10. Capacity: 10.
In hundreds of examples of these log messages, the Capacity always has a value of 10; and the TransmissionCount fluctuates between 10 and 11;  The logs present those values regardless of the MaxTransmissionSenderCapacity setting.  i.e. when set to 1, the logs still show a capacity of 10.
I'm poking around the edges here to so if there is a bug around the adherence to the MaxTransmissionSenderCapacity value, or maybe a smaller one whereby the logs are simply emitting the wrong value, or actually are the log entries referring to a different parameter?
Confirmation as to whether or not setting MaxTransmissionSenderCapacity will actually increase the rate of throughout would be ideal, because as mentioned my test simulations were unable to prove any difference

Please share the code snippet you used to customize the channel's MaxTransmissionSenderCapacity and we can investigate.
There are no known issues about this property, and it is expected to work as advertised.

@cijothomas sure.
I've tried setting it in the Configure() class inside startup.cs as per below; and also in a consuming background worker class which had the TelemetryConfiguration constructor injected into it.
`public void Configure(IApplicationBuilder app, TelemetryConfiguration telemetryConfiguration)
{
// other configure code removed
var telemetryChannel = telemetryConfiguration.TelemetryChannel as ServerTelemetryChannel;

// alternatively
// var configuration = app.ApplicationServices.GetService<TelemetryConfiguration>().TelemetryChannel as ServerTelemetryChannel;

telemetryChannel.MaxTransmissionSenderCapacity = 25;

}`

Interesting.
Having set the property via this code in startup.cs instead:
services.AddSingleton(typeof(ITelemetryChannel), new ServerTelemetryChannel()
{
          MaxTransmissionSenderCapacity = 5
});

services.AddApplicationInsightsTelemetryWorkerService(serviceOptions =>
{
          serviceOptions.EnableDependencyTrackingTelemetryModule = true;
          serviceOptions.InstrumentationKey = Configuration["ApplicationInsights:InstrumentationKey"];
          serviceOptions.EnableAdaptiveSampling = false;
});

and then inspecting the logs on a batch intended to put load upon the sdk, then I can now see the following warnings.
Microsoft.ApplicationInsights.Extensibility.TraceSource Warning: 16 : SenderEnqueueNoCapacity. TransmissionCount: 5. Capacity: 5.
The value of 5 is now being respected it seems.
I find it odd that setting the property at a later point in time during the codes execution does not yield the same effect. Unless the TelemetryChannel object being returned by the TelemetryConfiguration is not the active telemetry channel and so I was setting the property on an inactive TelemetryChannel object? But then why would TelemetryConfiguration give me that?
This is more a curiosity from this point as the initial question I think has been answered. Time permitting i'll perform further testing on the impact of setting it.
Thanks

Probably have to do channel.Initialize?


Fix animation keyframes being skipped when played backwards

Fixes #57271.
Currently, if an animation playing backwards passes by multiple keyframes in a single frame, only the first of the keyframes (last in forwards-order) takes effect. The others are skipped. The cause appears to be a simple typo.

Thanks!

Doesn't seem cherry-pickable to 3.x, this code doesn't exist there. So the 3.x bug might have a different cause.

I agree, the cause does seem different. I'm not able to make a working minimal reproducer for 3.x

Cherry-picked for 4.1.3.


Documentation: Explain login on quickstart page

Is your feature request related to a problem? Please describe.
As a new user, I followed the quickstart guide at https://polaris-hub.github.io/polaris/stable/quickstart.html. That does not indicate that login is required, so the cryptic message
  File ".conda\envs\polaris\Lib\site-packages\polaris\hub\client.py", line 229, in request
    raise PolarisUnauthorizedError(response=error.response) from error
                                            ^^^^^^^^^^^^^^
AttributeError: 'MissingTokenError' object has no attribute 'response'

is raised when following the instructions and running po.load_dataset. That message itself relates to #91 because it does not indicate the problem is that I cannot load the dataset because I am not authenticated.
Describe the solution you'd like
Add text about needing to login or add the login command to the code sample.
Describe alternatives you've considered
N/A
Additional context
I figured out how to login.

Hi @agitter, thanks for pointing this out. You're very right that a section on logging in should be included in the quickstart guide. Without it, you encounter an error which we could do a much better job of handling as you've seen. PR #165 should address both of these issues.
We've made some progress on #91 these past few weeks, and we will continue to do so going forward. Thanks again for your time in creating this issue!

Thanks, #165 does address this.


allow views to be nested inside other mounts

SD-1151 #done
This adds two simple tests, and the simplest, quickest possible fix. It's beginning to look like making ViewConfig a subtype of MountConfig along with MongoDbConfig was a mistake, with more and more code ending up either pattern matching or inspecting paths to decide how to handle mounts. But in the interest of getting a fix in quickly, this commit makes it a bit worse. I'm going to write a "technical debt" ticket with a proposal for cleaning this up.

Seems to work in some simple manual testing of the API.

This seems reasonable for now – are you thinking we’ll distinguish between views and mounts in future, or just between the configs?
👍🏾

Current coverage is 82.11%

Merging #998 into master will not affect coverage as of b73ea2a

@@            master    #998   diff @@
======================================
  Files           88      88
  Stmts         7833    7835     +2
  Branches       252     254     +2
  Methods          0       0
======================================
+ Hit           6432    6434     +2
  Partial          0       0
  Missed        1401    1401

Review entire Coverage Diff as of b73ea2a

Powered by Codecov. Updated on successful CI builds.

Thanks, just waiting for Travis now.
See https://slamdata.atlassian.net/browse/SD-1152.


Scraping all sub sections urls from the home page url

Hi, First of All thank you so much for making crawl4ai opensource . I have one doubt on how to get the content from all sub-urls from the given website url, for example in this spider lets say if i want to automatically get the content from all the sub pages of api,docs pricing along with main content from the home page, how can i achieve this ?

@manoj567 Sorry for my delay, and thx for trying the Crawl4ai. We are releasing a new module, a scraper that exactly provides what you are looking for; it contains different graph search algorithms for getting an input URL and extracting its entire listed structure. Right now, you have to crawl a page and then implement a queue structure to inject all the extracted internal URLs and then crawl them again with any strategy that you want to have. By the end of this month, we will definitely release the scraper, and then, after that, you can use it. It is designed to be very efficient and fast, and memory-friendly, and as usual, it is open source to help you run a DIY on your machine or your server.

@manoj567 I actually answered a similar question a month ago, and I wrote a good enough simple scraper in one of the issues, but I tried to find it and I couldn't; maybe you can search and find it, which was good enough to start. Anyway, as I said, by the end of the month when we release this one, our scraper will cover whatever you may need and more than those paid services they provide, and it also comes with a lot of customization that you can define what you need and what you don't need. So, please stay tuned till we get ready, and we will create good examples and support to ensure it works properly.


Transaction already in progress

Laravel-mongodb Version: 4.1
PHP Version: 8.2.15
Database Driver & Version:  db version v6.0.13
PHP MongoDB extension version	1.17.2

Description:
Using firstOrCreate() in a transaction returns an error
Steps to reproduce
$mongodb = DB::connection('app');
$mongodb->beginTransaction();
// user does not exist and will be created
\App\Models\User::firstOrCreate(['username' => 'johncarpenter', 'name' => 'carpenter', 'email' => 'john@example.com']);
$mongodb->rollBack();

Expected behaviour
Manage transaction and commit or rollBack
Actual behaviour
retuns error :
local.ERROR: MongoDB\Driver\Exception\RuntimeException: Transaction already in progress in vendor/mongodb/mongodb/src/Operation/WithTransaction.php:60
Notes
create() works fine
firstOrCreate() and updateOrCreate() do work for updates but do not work for creation as they start a transaction in vendor/mongodb/mongodb/src/Operation/WithTransaction.php
Hack
We went through adding a test in vendor/mongodb/mongodb/src/Operation/WithTransaction.php
 if (!$session->isInTransaction()) {
    $session->startTransaction($this->transactionOptions);
}

Tracked with PHPORM-138.

Hello @nicohell, I worked on an implementation of Model::firstOrCreate() using the MongoDB operation findOneAndUpdate (see https://github.com/mongodb/laravel-mongodb/pull/2742). Would it solve your issue?

The initial issue it that MongoDB doesn't support nested transactions, and Laravel Eloquent Query Builder tries to initiate a transaction in the createOrFirst method.
By changing the implementation, we avoid this nested transaction while providing an optimized implementation.

Do you mean that your implementation will not try to start a new transaction ?

Do you mean that your implementation will not try to start a new transaction ?

Yes, because the findOneAndUpdate operation is atomic, so it doesn't need a transaction.

Hi @GromNaN
After updating to 4.2.0 we were happy to see that transactions are working fine,
Unfortunately "created_at" and "updated_at" fields are no longer automatically inserted in new records using firstOrCreate, createOrFirst, updateOrCreate, ...
This code creates new record with  "created_at" and "updated_at" fields :
$obj = new \App\Models\Parameter; // instantiate model
$obj->created_by = 'nico';
$obj->save();

It breaks between 4.1.3 and 4.2.0
Regards.


Split config.command into command and args

execFileSync expects a single command without arguments. config.command defaults to 'bundle exec rubocop' when bundler is detected. therefore config.command is splitted into the comand and it's arguments.

Somehow travis failed test. I restarted it. It seems there are no effect for existing test.
This extension expects only single command is not a bug. This PR improve usability.


Minor doc fixes for HeadingPitchRange.

Doc fixes and adding myself to contributors.

Thanks @denverpierce.  Sorry we didn't add you to CONTRIBUTORS.md with your previous contribution.


Merge master changes into alpha

JIRA Link
NA
Changelog / Description
Merge master changes in alpha
Checklist -

[ ] New Feature ?
[ ] Updated swagger annotation (if API structure is changed) ?
[ ] Unit Test (if possible) ?
[ ] Updated the Readme.md (if required) ?

:tada: This PR is included in version 2.7.0-alpha.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

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


Uninstalling

after i remove the extension the window colours stay the same

i reinstalled vscode and this doesn't change anything

did it fixed？ i have the same problem，window color version is v1.0.51

i fixed it now

How? Please try to avoid the Wisdom of the Ancientshttps://xkcd.com/979.


Error while updating property 'transform' of a view managed by: RCTView

I have issue with this component, when i try to hold/long press the flatlist which i wanted to drag or sort splits with the transform error. I have tried #47 and #43 and few more which seems not to be working for me.

I'm having the same issue. Did you solved?


support for vidcloud9 (similar to vidstreaming)

although not anime, it works extremely similar.
also heres a list of every domain u will need including vidcloud9 ones:

vidcloud9.com
streamani.net
animeid.to
asianload.cc
k-vid.co
asianload.io
vidnext.net
gogo-play.net
vidnode.net
gogo-stream.com
gogo-play.tv
vidembed.net
vidstreaming.io

Since all of these are all extremely similar, I doubt I will have to even rewrite anything. Thanks for the domains, and sorry for getting to the issue pretty late.

Finished


Use pinned node docker image version

This uses the alpine build image, and pins to the latest stable 12.6.0 release.

I dig it.  Makes total sense!  Thank you sir.


knip v3.0.1 throwing error on a fresh run

knip and typescript installed, getting this error. rm -rf my entire node modules directory, installed from fresh but still getting this error. removed v2 knip config, just in case.
Connecting the dots...
file:///Users/amaccann/projects/path/monorepo/node_modules/knip/dist/typescript/visitors/imports/importDeclaration.js:20
                    imports.push({ symbol, specifier, identifier: '*', pos: symbol.declarations[0].pos ?? node.pos });
                                                                                ^

TypeError: Cannot read properties of undefined (reading 'declarations')
    at file:///Users/amaccann/projects/path/monorepo/node_modules/knip/dist/typescript/visitors/imports/importDeclaration.js:20:84
    at file:///Users/amaccann/projects/path/monorepo/node_modules/knip/dist/typescript/visitors/index.js:4:35
    at visit (file:///Users/amaccann/projects/path/monorepo/node_modules/knip/dist/typescript/getImportsAndExports.js:134:33)
    at visitNodes (/Users/amaccann/projects/path/monorepo/node_modules/typescript/lib/typescript.js:28081:24)
    at forEachChildInSourceFile (/Users/amaccann/projects/path/monorepo/node_modules/typescript/lib/typescript.js:28706:18)
    at Object.forEachChild (/Users/amaccann/projects/path/monorepo/node_modules/typescript/lib/typescript.js:28166:37)
    at visit (file:///Users/amaccann/projects/path/monorepo/node_modules/knip/dist/typescript/getImportsAndExports.js:162:12)
    at getImportsAndExports (file:///Users/amaccann/projects/path/monorepo/node_modules/knip/dist/typescript/getImportsAndExports.js:164:5)
    at ProjectPrincipal.analyzeSourceFile (file:///Users/amaccann/projects/path/monorepo/node_modules/knip/dist/ProjectPrincipal.js:117:47)
    at analyzeSourceFile (file:///Users/amaccann/projects/path/monorepo/node_modules/knip/dist/index.js:185:66)

For detail: running v18.16.0 of node

:rocket: This issue has been resolved in v3.0.2. See Release 3.0.2 for release notes.

Thanks, Andrew!


Enable Pan & Zoom animation feature

Context

Pan & Zoom animation option the animation dropdown is currently behind a feature flag. We want to show users the Pan & Zoom animation option when it is ready for release.

Summary

This PR removes Pan & Zoom from the experimental animations list which get filtered out of the animation effects dropdown.

Relevant Technical Choices

Did not remove the feature flag or set it as enabled by default as we normally do for enabling features behind flags. From the ticket:

Let's not remove the feature flag, or set it's default to true because we may want to use it as a testing ground for other animation effects in the future. For this ticket, we should just remove the conditional rendering (based on the feature flag) for the pan + zoom animation effect in the effect chooser

To-do

User-facing changes
The user should now see the "PAN AND ZOOM" option in the animations dropdown in the Inspector.

after
before

Testing Instructions

Create a new story
Add a background element
Select the background element
Open the design tab on the inspector, scroll down, open the animation menu if it is closed, and open the animation dropdown
PAN AND ZOOM should be an option

QA

[ ] This is a non-user-facing change and requires no QA

This PR can be tested by following these steps:

See Testing Instructions

UAT

[x] UAT should use the same steps as above.

Reviews
Does this PR have a security-related impact?
no

Does this PR change what data or activity we track or use?

no
Does this PR have a legal-related impact?
no

Checklist

[x] This PR addresses an existing issue and I have linked this PR to it in ZenHub
[x] I have tested this code to the best of my abilities
[x] I have verified accessibility to the best of my abilities (docs)
[x] I have verified i18n and l10n (translation, right-to-left layout) to the best of my abilities
[ ] This PR contains automated tests (unit, integration, and/or e2e) to verify the code works as intended (docs)
[ ] I have added documentation where necessary
[ ] I have added a matching Type: XYZ label to the PR

Fixes #6885

We have typically waited until post bug bash to enable new features and tested then via flipping them on in the experiments panel for bug bashes. Do we want to merge this one ahead of that or no?

We have typically waited until post bug bash to enable new features and tested then via flipping them on in the experiments panel for bug bashes. Do we want to merge this one ahead of that or no?

I think we should only merge this when the feature is ready, I thought it might hang around for a bit while we get the other Pan and Zoom tickets done


[DOCFIX] Update Debugging-Guide.md of Chinese version

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/12193/
Test PASSed.

LGTM


DocVQA inference support

This pr integrates (DocVQA) functionality into the Florence2 ComfyUI node.
Key Features:

Downloads the DocVQA Florence 2 fine-tune from HF with the existing Florence2 node
Adds DocVQA as a new task option within the existing Florence2 node
Enables users to perform document-based visual question answering using the Florence2 model
Expands the versatility of the Florence2 node in ComfyUI

Implementation Details:

Integrated DocVQA inference as a new task type for the Florence2 model
Added necessary preprocessing for document images
Implemented post-processing to format model outputs into human-readable answers
Updated the model selection to include DocVQA-capable Florence2 variants

Usage:
Users can now select DocVQA as a task when using the Florence2 node in ComfyUI. They can input document images, specify their questions, and receive AI-generated answers based on the document's content.
Example:

Nice, I was unaware of this one. Thank you!


tryCatch returning undefined no matter what

Straight from the example of the tryCatch method:
const R = require('ramada');
console.log(R.tryCatch(R.prop('x'), R.F)(null));

Should return false, however it's returning undefined.
Passing a function and trying to console log anything from within doesn't seem to work either
console.log(R.tryCatch(R.prop('x'), () => {
  console.log(1)
  return false;
})(null));

This issue actually doesn't happen because of the tryCatch() but actually because of R.prop() not throwing an error in regards the value receiving.
console.log(R.tryCatch(R.concat('a', R.__), R.F)('a'));  //=> false

Yes.  A PR for this would be most welcome.


operator: update image name and version

https://sdk.operatorframework.io/docs/cli/operator-sdk_run_bundle/
According to the documentation of operator-sdk, docker.io should be speficied.
In addition, we update the operator version to 0.25.0
Signed-off-by: Hyeongju Johannes Lee<EMAIL_ADDRESS>

Codecov Report

Merging #1240 (407d354) into main (54061e8) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head 407d354 differs from pull request most recent head 7c259cf. Consider uploading reports for the commit 7c259cf to get more accurate results

@@           Coverage Diff           @@
##             main    #1240   +/-   ##
=======================================
  Coverage   50.78%   50.78%
=======================================
  Files          41       41
  Lines        4608     4608
=======================================
  Hits         2340     2340
  Misses       2133     2133
  Partials      135      135

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

@hj-johannes-lee @mythi We started to push to ghcr.io recently. would it make sense to stop using docker.io?

these are private (temporary) images. we will continue to push to docker.io


Failed to load Colonize.chv

number format exception while loading this files
terranrepublicviewer.log
ErrorLoadingCOLONIZE.CHV.txt

file was corrupted so unable to parse
put in more error handling to show why

I am going to try my version of the filed, see if it works in CHViewer. If it does, that means one of two things:

the file was simply a corrupted example and my version could be used (which is important for me in terms of invested development in terms of bakcground)
there might be something else going on.

Ok
Sent from ProtonMail Mobile
On Sat, Sep 12, 2020 at 20:33, cegannon1<EMAIL_ADDRESS>wrote:

I am going to try my version of the filed, see if it works in CHViewer. If it does, that means one of two things:

the file was simply a corrupted example and my version could be used (which is important for me in terms of invested development in terms of bakcground)
there might be something else going on.

—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub, or unsubscribe.

Well, this is still weirder. I have gone through all my old .chv files on all my old machines and in all my old archives. Nada. Am sending a few that may or may not already be among those you have, if you could please check?