Use Dask-cuDF for E2E notebook

Eventually it would be a nice to use dask-cudf in the E2E notebook.  This would be useful both to make the notebook more readable, and also to drive development in cudf/dask-cudf.

I took a look at this today and have some feedback/questions.  I'm not sure who best can help to answer these, but I suspect that either @randerzander or @mt-jones can help direct to the right people.
Reading CSV files
Currently we specify the names and dtypes explicitly and use cudf.read_csv.  I think that today we might be able to use dask-cudf a bit more naively.
This seems to work
cols = [
        "loan_id", "monthly_reporting_period", "servicer", "interest_rate", "current_actual_upb",
        "loan_age", "remaining_months_to_legal_maturity", "adj_remaining_months_to_maturity",
        "maturity_date", "msa", "current_loan_delinquency_status", "mod_flag", "zero_balance_code",
        "zero_balance_effective_date", "last_paid_installment_date", "foreclosed_after",
        "disposition_date", "foreclosure_costs", "prop_preservation_and_repair_costs",
        "asset_recovery_costs", "misc_holding_expenses", "holding_taxes", "net_sale_proceeds",
        "credit_enhancement_proceeds", "repurchase_make_whole_proceeds", "other_foreclosure_proceeds",
        "non_interest_bearing_upb", "principal_forgiveness_upb", "repurchase_make_whole_proceeds_flag",
        "foreclosure_principal_write_off_amount", "servicing_activity_indicator"
]
performance = dask_cudf.read_csv('/datasets/mortgage/performance/Performance_2000*.txt', delimiter='|', names=cols)

cols = [
    'loan_id', 'orig_channel', 'seller_name', 'orig_interest_rate', 'orig_upb', 'orig_loan_term',
    'orig_date', 'first_pay_date', 'orig_ltv', 'orig_cltv', 'num_borrowers', 'dti', 'borrower_credit_score',
    'first_home_buyer', 'loan_purpose', 'property_type', 'num_units', 'occupancy_status', 'property_state',
    'zip', 'mortgage_insurance_percent', 'product_type', 'coborrow_credit_score', 'mortgage_insurance_type',
    'relocation_mortgage_indicator'
]

acquisition = dask_cudf.read_csv('/datasets/mortgage/acquisition/Acquisition_*.txt', delimiter='|', names=cols)

Though it may be that there were particular dtypes that we were specifically trying to target.  My hope is that the dtype information is no longer necessary (it's sometimes hard to ask users to produce this information in practice)
create_ever_features
I actually don't know the context of this computation, but there is something that looks like the following:
def create_ever_features(gdf, **kwargs):
    everdf = gdf[['loan_id', 'current_loan_delinquency_status']]
    everdf = everdf.groupby('loan_id', method='hash').max()
    del(gdf)
    everdf['ever_30'] = (everdf['max_current_loan_delinquency_status'] >= 1).astype('int8')
    everdf['ever_90'] = (everdf['max_current_loan_delinquency_status'] >= 3).astype('int8')
    everdf['ever_180'] = (everdf['max_current_loan_delinquency_status'] >= 6).astype('int8')
    everdf.drop_column('max_current_loan_delinquency_status')
    return everdf

Which I think we can probably get by with something like the following (on dask-cudf)
everdf = performance[['loan_id', 'current_loan_delinquency_status']]
everdf = everdf.groupby('loan_id').max()
everdf['ever_30'] = (everdf['current_loan_delinquency_status'] >= 1).astype('int8')
everdf['ever_90'] = (everdf['current_loan_delinquency_status'] >= 3).astype('int8')
everdf['ever_180'] = (everdf['current_loan_delinquency_status'] >= 6).astype('int8')

Which raises the following traceback when you call everdf.compute()

---------------------------------------------------------------------------
GDFError                                  Traceback (most recent call last)
<ipython-input-13-3a4ec80c50fb> in <module>
      4 everdf['ever_90'] = (everdf['current_loan_delinquency_status'] >= 3).astype('int8')
      5 everdf['ever_180'] = (everdf['current_loan_delinquency_status'] >= 6).astype('int8')
----> 6 everdf.compute()

~/dask/dask/base.py in compute(self, **kwargs)
    154         dask.base.compute
    155         """
--> 156         (result,) = compute(self, traverse=False, **kwargs)
    157         return result
    158

~/dask/dask/base.py in compute(*args, **kwargs)
    396     keys = [x.__dask_keys__() for x in collections]
    397     postcomputes = [x.__dask_postcompute__() for x in collections]
--> 398     results = schedule(dsk, keys, **kwargs)
    399     return repack([f(r, *a) for r, (f, a) in zip(results, postcomputes)])
    400

~/dask/dask/local.py in get_sync(dsk, keys, **kwargs)
    499     """
    500     kwargs.pop('num_workers', None)    # if num_workers present, remove it
--> 501     return get_async(apply_sync, 1, dsk, keys, **kwargs)
    502
    503

~/dask/dask/local.py in get_async(apply_async, num_workers, dsk, result, cache, get_id, rerun_exceptions_locally, pack_exception, raise_exception, callbacks, dumps, loads, **kwargs)
    445             # Seed initial tasks into the thread pool
    446             while state['ready'] and len(state['running']) < num_workers:
--> 447                 fire_task()
    448
    449             # Main loop, wait on tasks to finish, insert new ones

~/dask/dask/local.py in fire_task()
    441                             args=(key, dumps((dsk[key], data)),
    442                                   dumps, loads, get_id, pack_exception),
--> 443                             callback=queue.put)
    444
    445             # Seed initial tasks into the thread pool

~/dask/dask/local.py in apply_sync(func, args, kwds, callback)
    488 def apply_sync(func, args=(), kwds={}, callback=None):
    489     """ A naive synchronous version of apply_async """
--> 490     res = func(*args, **kwds)
    491     if callback is not None:
    492         callback(res)

~/dask/dask/local.py in execute_task(key, task_info, dumps, loads, get_id, pack_exception)
    233         failed = False
    234     except BaseException as e:
--> 235         result = pack_exception(e, dumps)
    236         failed = True
    237     return key, result, failed

~/dask/dask/local.py in execute_task(key, task_info, dumps, loads, get_id, pack_exception)
    228     try:
    229         task, data = loads(task_info)
--> 230         result = _execute_task(task, data)
    231         id = get_id()
    232         result = dumps((result, id))

~/dask/dask/core.py in _execute_task(arg, cache, dsk)
    117         func, args = arg[0], arg[1:]
    118         args2 = [_execute_task(a, cache) for a in args]
--> 119         return func(*args2)
    120     elif not ishashable(arg):
    121         return arg

~/dask/dask/compatibility.py in apply(func, args, kwargs)
     91     def apply(func, args, kwargs=None):
     92         if kwargs:
---> 93             return func(*args, **kwargs)
     94         else:
     95             return func(*args)

~/dask/dask/dataframe/groupby.py in _apply_chunk(df, *index, **kwargs)
    235         if isinstance(columns, (tuple, list, set, pd.Index)):
    236             columns = list(columns)
--> 237         return func(g[columns])
    238
    239

~/dask/dask/utils.py in __call__(self, obj, *args, **kwargs)
    714
    715     def __call__(self, obj, *args, **kwargs):
--> 716         return getattr(obj, self.method)(*args, **kwargs)
    717
    718     def __reduce__(self):

~/cudf/python/cudf/groupby/groupby.py in max(self, sort)
    309
    310     def max(self, sort=True):
--> 311         return self._apply_basic_agg("max", sort)
    312
    313     def count(self, sort=True):

~/cudf/python/cudf/groupby/groupby.py in _apply_basic_agg(self, agg_type, sort_results)
    250         result = self._apply_agg(
    251             agg_type, result, add_col_values, ctx, val_columns,
--> 252             val_columns_out, sort_result=sort_results)
    253
    254         # If a Groupby has one index column and one value column

~/cudf/python/cudf/groupby/groupby.py in _apply_agg(self, agg_type, result, add_col_values, ctx, val_columns, val_columns_out, sort_result)
    194                 out_col_values,
    195                 out_col_agg,
--> 196                 ctx)
    197
    198             if (err is not None):

~/miniconda/envs/cudf/lib/python3.7/site-packages/libgdf_cffi/wrapper.py in wrap(*args)
     25                     if errcode != self._api.GDF_SUCCESS:
     26                         errname, msg = self._get_error_msg(errcode)
---> 27                         raise GDFError(errname, msg)
     28
     29                 wrap.__name__ = fn.__name__

GDFError: GDF_VALIDITY_UNSUPPORTED

Unfortunately I'm not sure what GDFError: GDF_VALIDITY_UNSUPPORTED means.  I'm hoping that @jrhemstad can help explain that error.  Unfortunately I don't have a minimal reproducible example here.
Delinquency over time
Then there is delinquency over time.  I'm a bit confused by the use of query here and the repetition.  I wonder if there is a way to make this cell a bit smaller while achieving the same result (as well as working on dask-cudf dataframes)
delinq = performance[['loan_id', 'monthly_reporting_period', 'current_loan_delinquency_status']]
delinq_30 = delinq.query('current_loan_delinquency_status >= 1')[['loan_id', 'monthly_reporting_period']].groupby('loan_id').min()
delinq_30['delinquency_30'] = delinq_30['monthly_reporting_period']
# del delinq['monthly_reporting_period']

delinq_90 = delinq.query('current_loan_delinquency_status >= 3')[['loan_id', 'monthly_reporting_period']].groupby('loan_id').min()
delinq_90['delinquency_90'] = delinq_90['monthly_reporting_period']
# del delinq_90['monthly_reporting_period']

delinq_180 = delinq.query('current_loan_delinquency_status >= 6')[['loan_id', 'monthly_reporting_period']].groupby('loan_id').min()
delinq_180['delinquency_180'] = delinq_180['monthly_reporting_period']
# del edelinq_180['monthly_reporting_period']

delinq_merge = delinq_30.merge(delinq_90, how='left', on=['loan_id'])
delinq_merge['delinquency_90'] = delinq_merge['delinquency_90'].fillna(np.dtype('datetime64[ms]').type('1970-01-01').astype('datetime64[ms]'))
delinq_merge = delinq_merge.merge(delinq_180, how='left', on=['loan_id'])
delinq_merge['delinquency_180'] = delinq_merge['delinquency_180'].fillna(np.dtype('datetime64[ms]').type('1970-01-01').astype('datetime64[ms]'))

Here was my attempt
delinq = performance[['loan_id', 'monthly_reporting_period', 'current_loan_delinquency_status']]

d30 = delinq[delinq.current_loan_delinquency_status >= 1].groupby('loan_id').min()
d90 = delinq[delinq.current_loan_delinquency_status >= 3].groupby('loan_id').min()
d180 = delinq[delinq.current_loan_delinquency_status >= 6].groupby('loan_id').min()

I would then probably call dd.concat to merge these together.  However at this point we get an error.  It looks like cudf selections don't support bools.  I boiled this down and went to raise an issue but found that it had already been raised at https://github.com/rapidsai/cudf/issues/991

---------------------------------------------------------------------------
AssertionError                            Traceback (most recent call last)
<ipython-input-9-3567b05648e0> in <module>
----> 1 d30.compute()

~/dask/dask/base.py in compute(self, **kwargs)
    154         dask.base.compute
    155         """
--> 156         (result,) = compute(self, traverse=False, **kwargs)
    157         return result
    158

~/dask/dask/base.py in compute(*args, **kwargs)
    396     keys = [x.__dask_keys__() for x in collections]
    397     postcomputes = [x.__dask_postcompute__() for x in collections]
--> 398     results = schedule(dsk, keys, **kwargs)
    399     return repack([f(r, *a) for r, (f, a) in zip(results, postcomputes)])
    400

~/dask/dask/local.py in get_sync(dsk, keys, **kwargs)
    499     """
    500     kwargs.pop('num_workers', None)    # if num_workers present, remove it
--> 501     return get_async(apply_sync, 1, dsk, keys, **kwargs)
    502
    503

~/dask/dask/local.py in get_async(apply_async, num_workers, dsk, result, cache, get_id, rerun_exceptions_locally, pack_exception, raise_exception, callbacks, dumps, loads, **kwargs)
    466
    467                 while state['ready'] and len(state['running']) < num_workers:
--> 468                     fire_task()
    469
    470             succeeded = True

~/dask/dask/local.py in fire_task()
    441                             args=(key, dumps((dsk[key], data)),
    442                                   dumps, loads, get_id, pack_exception),
--> 443                             callback=queue.put)
    444
    445             # Seed initial tasks into the thread pool

~/dask/dask/local.py in apply_sync(func, args, kwds, callback)
    488 def apply_sync(func, args=(), kwds={}, callback=None):
    489     """ A naive synchronous version of apply_async """
--> 490     res = func(*args, **kwds)
    491     if callback is not None:
    492         callback(res)

~/dask/dask/local.py in execute_task(key, task_info, dumps, loads, get_id, pack_exception)
    233         failed = False
    234     except BaseException as e:
--> 235         result = pack_exception(e, dumps)
    236         failed = True
    237     return key, result, failed

~/dask/dask/local.py in execute_task(key, task_info, dumps, loads, get_id, pack_exception)
    228     try:
    229         task, data = loads(task_info)
--> 230         result = _execute_task(task, data)
    231         id = get_id()
    232         result = dumps((result, id))

~/dask/dask/core.py in _execute_task(arg, cache, dsk)
    116     elif istask(arg):
    117         func, args = arg[0], arg[1:]
--> 118         args2 = [_execute_task(a, cache) for a in args]
    119         return func(*args2)
    120     elif not ishashable(arg):

~/dask/dask/core.py in <listcomp>(.0)
    116     elif istask(arg):
    117         func, args = arg[0], arg[1:]
--> 118         args2 = [_execute_task(a, cache) for a in args]
    119         return func(*args2)
    120     elif not ishashable(arg):

~/dask/dask/core.py in _execute_task(arg, cache, dsk)
    113     """
    114     if isinstance(arg, list):
--> 115         return [_execute_task(a, cache) for a in arg]
    116     elif istask(arg):
    117         func, args = arg[0], arg[1:]

~/dask/dask/core.py in <listcomp>(.0)
    113     """
    114     if isinstance(arg, list):
--> 115         return [_execute_task(a, cache) for a in arg]
    116     elif istask(arg):
    117         func, args = arg[0], arg[1:]

~/dask/dask/core.py in _execute_task(arg, cache, dsk)
    117         func, args = arg[0], arg[1:]
    118         args2 = [_execute_task(a, cache) for a in args]
--> 119         return func(*args2)
    120     elif not ishashable(arg):
    121         return arg

~/dask/dask/optimization.py in __call__(self, *args)
    940                              % (len(self.inkeys), len(args)))
    941         return core.get(self.dsk, self.outkey,
--> 942                         dict(zip(self.inkeys, args)))
    943
    944     def __reduce__(self):

~/dask/dask/core.py in get(dsk, out, cache)
    147     for key in toposort(dsk):
    148         task = dsk[key]
--> 149         result = _execute_task(task, cache)
    150         cache[key] = result
    151     result = _execute_task(out, cache)

~/dask/dask/core.py in _execute_task(arg, cache, dsk)
    117         func, args = arg[0], arg[1:]
    118         args2 = [_execute_task(a, cache) for a in args]
--> 119         return func(*args2)
    120     elif not ishashable(arg):
    121         return arg

~/cudf/python/cudf/dataframe/dataframe.py in __getitem__(self, arg)
    243                 index = self.index.take(selinds.to_gpu_array())
    244                 for col in self._cols:
--> 245                     df[col] = Series(self._cols[col][arg], index=index)
    246                 df.set_index(index)
    247             else:

~/cudf/python/cudf/dataframe/series.py in __getitem__(self, arg)
    224             elif arg.dtype in [np.bool, np.bool_]:
    225                 selvals, selinds = columnops.column_select_by_boolmask(
--> 226                     self._column, arg)
    227                 index = self.index.take(selinds.to_gpu_array())
    228             else:

~/cudf/python/cudf/dataframe/columnops.py in column_select_by_boolmask(column, boolmask)
    107     """
    108     from cudf.dataframe.numerical import NumericalColumn
--> 109     assert column.null_count == 0  # We don't properly handle the boolmask yet
    110     boolbits = cudautils.compact_mask_bytes(boolmask.to_gpu_array())
    111     indices = cudautils.arange(len(boolmask))

AssertionError:

A lot of this notebook looks like more of the same.  I'm going to pause for now and see if others have some feedback, or if there are others that can continue in this direction.
Setup
Also, I should note that I found it much simpler when iterating to drop all of the subprocess and LocalCUDACluster stuff and just work from a single thread on a smaller sample of the data (if you look above you'll see that I'm only looking at the year 2000.

Unfortunately I'm not sure what GDFError: GDF_VALIDITY_UNSUPPORTED means. I'm hoping that @jrhemstad can help explain that error. Unfortunately I don't have a minimal reproducible example here.

This means your "key" columns or your "aggregation" columns have null values, and the libcudf groupby implementation currently does not support null values. fillna has been an appropriate workaround in the past.

FYI when folks talk about improving error messages, this is what we mean.  The message you just provided would be an excellent (if perhaps sligthly verbose) message.  This may or may not be on you though.
If we wanted to not work around this is there an appropriate thing to push on?  Can we move this to some issue in rapidsai/cudf?

Ah, sorry, the second statement there was more about null handling, and less about error message handling, which I think we should probably also discuss somewhere other than here if there isn't already a conversation happening.

FYI when folks talk about improving error messages, this is what we mean. The message you just provided would be an excellent (if perhaps sligthly verbose) message. This may or may not be on you though.

At present, all we can do in the C++ side is return an integer-valued error code. This limits the amount of context we can give you without having 10,000 different possible error codes.
That said, this can be improved by throwing exceptions from the C++ side and converting those into Python exceptions. This would allow us to provide more detailed error description strings.
See https://github.com/rapidsai/cudf/issues/862

If we wanted to not work around this is there an appropriate thing to push on? Can we move this to some issue in rapidsai/cudf?

That would be pushing on me to implement this https://github.com/rapidsai/cudf/issues/544
It's on my list as part of a much larger refactor of the groupby implementation. https://github.com/rapidsai/cudf/issues/543

OK great.  Thanks for the pointers.  Subscribed to those issues (and my apologies for not checking earlier)


Check artifacts are successfull on tag/version check

We change the prototype and this will make  callers of this action fail. Because we did not tag the action previously and we do not call it with the tag. We should go back to this good practice.

We change the prototype and this will make callers of this action fail. Because we did not tag the action previously and we do not call it with the tag. We should go back to this good practice.

true that. We should tag the repo. use the tagged version of the repo in our CI workflows.
Then we can merge this.

All 3 three PR that tag the call are merged. We can safely merge this one :)

@lavigne958 you should update the doc with the news params and the @1.2.2 (tag to come) instead of @main

Which doc ? The doc in this repository? Or the doc on our xcore-* repository?

Ho, I mixed with another action. There is no doc to update, you're right !


Limit unassigned PRs output to avoid flooding

09:13 <jdm> crowbot: what prs need a reviewer?
09:13 <crowbot> add `faster` flag to `./mach test` command : https://api.github.com/repos/servo/servo/issues/9273
09:13 <crowbot> Support device-pixel-ratio in wpt reftests.: https://api.github.com/repos/servo/servo/issues/9272
09:13 <crowbot> Add build-essential to Debian based Linuxes' requirements: https://api.github.com/repos/servo/servo/issues/9264
09:13 <crowbot> mozbrowsersecuritychange event: https://api.github.com/repos/servo/servo/issues/9244
09:13 belew.mozilla.org has kicked crowbot (Channel flood triggered (limit is 5 lines in 3 secs))

We should do this on a timer so it's one every second or something.

Fixed by #32.


Adding stuff for puppet 4

Puppet 4 uses environmentpath instead of modulepath and manifest
settings. We can use an environment of 'fixtures' to access the
spec/fixtures/{manifests,modules} directories for compiling a catalog.

Requires puppetlabs/puppetlabs_spec_helper#100

Can you explain how someone can test against a environment other than "fixtures"? I'm using rspec-puppet to test against Hiera data and I want to able to test against the "production" environment. (or any other environments) BTW, why not "production" by default?

@mgagne I'm not sure how you are setting the environment to a custom setting for an rspec-puppet run, but I switched from using a static environment named after the node_obj's environment rather than a hard-coded name. Let me know if this works for you!

This needs another Environment.new -> Environment.create fix in lib/rspec-puppet/support.rb#build_node .

@DavidS I actually had that locally from @electrical but forgot to push it. Pushed now.

Should this be working with puppetlabs_spec_helper 0.10.2?


[Angular Template]: Set up Angular Template in Codesandbox

The problem
There are adopters using Angular to build their application and run into issues when using / setting up Carbon for IBM.com components.
The solution
A solution would be to create a basic Angular template in Codesandbox that we can point them to or use for ourselves to help troubleshoot any Angular issues.
Template should be set up with

Dotcom Shell

maybe a couple of carbon-web-components components?

[X] I agree to follow this project's Code of Conduct

[X] I checked the current issues for duplicate issues

Hey team! Please add your planning poker estimate with ZenHub @annawen1 @ariellalgilmore @emyarod @IgnacioBecerra @kennylam


Constants missing analog stick buttons

buttons[10]
Left stick pressed button

buttons[11]
Right stick pressed button

Great library by the way

Hello! Oh nice! Thank you so much for making these changes! Once I get off of of work, I'll go ahead, test these out, improve the demo site with the changes, and merge these in 😄

Sure, thanks for writing this library

You are welcome! Merged #22 which closes this 😄

Also, @davedoesdev Deployed both of your PRs under version 1.2.0 😄


Add fluent module require explicitly

Coverage increased (+0.03%) to 93.013% when pulling 5e47c48dfa847a9b426e211902c8d1ce26337a29 on repeatedly:patch-1 into 50195a97014619a05757a6ec61900fc83bd9fea7 on sonots:master.


Updated normalization apollo link

This pull request updated the normalization link to apollo docs.
Docs

Updated normalization link to https://www.apollographql.com/docs/react/caching/cache-configuration/#data-normalization

:tada: This PR is included in version 3.1.0-beta.3 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

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


default pause is not set

@rultor release, tag is 0.0.43

@rultor release, tag is 0.0.43

@yegor256 OK, I will release it now. Please check the progress here

@rultor release, tag is 0.0.43

@yegor256 Done! FYI, the full log is here (took me 8min)


refactor: separate builder in world favorites and quick bar functionality

What?
The favorites and the quick bar of the catalog were mixed in strange behavior. This PR solves that making it a cleaner code
Why?
Since favorites and quick bar are no longer related, we can separate them.

Looking good!
I added a small suggestion about moving the amount of entries of the quickbar slots to a const.
Also take a look at this https://github.com/decentraland/explorer/pull/1711#discussion_r531502239 and check if it makes sense. It can be done in another PR if you agree with it.


Cannot Download Same Image Multiple Times

Bug description
It is impossible to save a copy of the same image to two different sources. This makes it extremely difficult to save batches of overlapping tags. If, for example, you have previously downloaded images for a niche tag, and later attempt to download all the works of an artist, then the artist's works with that tag will be skipped.
Steps to reproduce

Search for a tag from any source, such as "1girl."
Download an image from that source to a folder based on that tag. (such as %search%/%md5%.%ext%)
Search for a different tag on the same image, such as  "black_hair"
The image cannot be downloaded, and will link to that other image if the Destination Folder button is clicked.

Expected behavior
Two copies of the image should exist.

one in 1girl/%md5%.%ext%
one in black_hair/%md5%.%ext%

Can you send your settings.ini and logs ? Have you set the options to copy, instead of link when an image already exist ?

Looks like you're using the global MD5 list but actually don't want it.
I'd suggest setting it to "save" or "copy" instead of "don't save".
See How to avoid duplicates in the docs.
If you already have the setting set to "don't save" but stilll cannot save (can you expand on what exactly it says?), it would be helpful to have your settings file / logs. Feel free to re-open in that case.

Looks like you're using the global MD5 list but actually don't want it.
I'd suggest setting it to "save" or "copy" instead of "don't save".
See How to avoid duplicates in the docs.
If you already have the setting set to "don't save" but stilll cannot save (can you expand on what exactly it says?), it would be helpful to have your settings file / logs. Feel free to re-open in that case.


peekOldest / prepend puts the single element in the wrong location.

Main> the (Queue Int) (fromList [1,2,3])
Q [1, 2, 3] [<]
Main> peekOldest it
Just (1, Q [2, 3] [<1])
Main> peekOldest (maybe (idris_crash "Nothing") snd it)
Just (2, Q [3] [<1, 2])
Main> peekOldest (maybe (idris_crash "Nothing") snd it)
Just (3, Q [] [<1, 2, 3])
Main> peekOldest (maybe (idris_crash "Nothing") snd it)
Just (1, Q [2, 3] [<1])

I could be wrong, but I thought that peeking the oldest shouldn't change the oldest.  This queue "rotation" is, I think, a bug.

Thanks for spotting this. Should be fixed now, but it's high time for me to add some tests.


Editor won't auto-scroll to keep cursor in view when cursor is inside a Decorator Component

Right now, if you are typing in a normal draft-js editor, without any decorators, and your editor is set up to scroll instead of auto-expand, as you type past the end of the visible space in the editor, the cursor will automatically scroll up so the text you are typing is visible.
However, if you are typing and your cursor is inside a Decorator Component, the editor will not auto-scroll to show the cursor.
It's expected that the editor will always scroll to show the cursor when typing, regardless of whether the cursor is inside a decorator component or not.
Here is a fiddle to show the problem: https://jsfiddle.net/axrbyfpp/3/. If you type enough text to cause the box to scroll, the cursor disappears and doesn't cause the editor to auto-scroll. However, if you either remove the decorator, or just change it by commenting out and in the lines specified in the fiddle, then the editor will auto-scroll as expected.
I don't believe this ever worked in Draft, but it's not working using v.0.9.1. Tested using Chrome, Safari and Firefox on Mac OS X 10.11.6

Just tried out this fiddle as I'm researching what appears to be the same issue of the cursor not scrolling and text entry goes off the bottom of the container.
That said your jsfiddle works perfectly with the text staying perfectly in scroll.

Just tried my fiddle again. Using Mac OS X 10.11.6 and Chrome 56.0.2924.87 (64-bit), the problem still occurs (In the following gif I'm typing the entire time):

This is definitely still a problem in 0.10.4.
If I decorate my text, it won't auto-scroll. If I comment out the decorator, works fine.

I notice this issue is still open. Is there any recommended workaround or a plan for improvement?
Not only decorator but adding new line with shift+enter in a scrollable editor with max height will also hide the cursor (until typing some char which is not decorator trigger).

This problem still occurs. Is there any recommended solution or plan to solve this. Please share. TIA

This problem still occurs.

Still an issue


clipBehavior parameter is  unused in the OverflowBar  widget

Steps to reproduce
Run a code OverflowBar widget sample and add a custom clipBehavior .
Expected results
clipBehavior should do something.
Passed clipBehavior does nothing with this variable.
https://github.com/flutter/flutter/blob/e5f62cc5a029469f46464a6930075731ce42a94d/packages/flutter/lib/src/widgets/overflow_bar.dart#L321-L331
Actual results
clipBehavior does nothing
Code sample
Code sample
[Paste your code here]

Screenshots or Video

Screenshots / Video demonstration
[Upload media here]

Logs
Logs
[Paste your logs here]

Flutter Doctor output
Doctor output
[✓] Flutter (Channel main, 3.19.0-5.0.pre.47, on macOS 14.2.1 23C71
    darwin-arm64, locale en-US)
    • Flutter version 3.19.0-5.0.pre.47 on channel main at
      /Users/tahatesser/Code/flutter
    • Upstream repository git@github.com:TahaTesser/flutter.git
    • FLUTTER_GIT_URL = git@github.com:TahaTesser/flutter.git
    • Framework revision a9f9136633 (4 hours ago), 2024-01-16 15:53:27 +0545
    • Engine revision f20657354d
    • Dart version 3.4.0 (build 3.4.0-24.0.dev)
    • DevTools version 2.31.0

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/tahatesser/Code/android-sdk
    • Platform android-34, build-tools 34.0.0
    • ANDROID_SDK_ROOT = /Users/tahatesser/Code/android-sdk
    • Java binary at: /Applications/Android
      Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      17.0.7+0-17.0.7b1000.6-10550314)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 15.2)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 15C500b
    • CocoaPods version 1.14.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2023.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build
      17.0.7+0-17.0.7b1000.6-10550314)

[✓] VS Code (version 1.85.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.80.0

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-arm64   • macOS 14.2.1 23C71
      darwin-arm64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 120.0.6099.216
    ! Error: Browsing on the local area network for Taha’s iPhone. Ensure the
      device is unlocked and attached with a cable or associated with the same
      local area network as this Mac.
      The device must be opted into Developer Mode to connect wirelessly. (code
      -27)

[✓] Network resources
    • All expected network resources are available.

• No issues found!

Reproducible using the OverflowBar example code with the clipBehavior specified.

code sample
import 'package:flutter/material.dart';

/// Flutter code sample for [OverflowBar].

void main() => runApp(const OverflowBarExampleApp());

class OverflowBarExampleApp extends StatelessWidget {
  const OverflowBarExampleApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(title: const Text('OverflowBar Sample')),
        body: const Center(
          child: OverflowBarExample(),
        ),
      ),
    );
  }
}

class OverflowBarExample extends StatelessWidget {
  const OverflowBarExample({super.key});

  @override
  Widget build(BuildContext context) {
    return Container(
      alignment: Alignment.center,
      padding: const EdgeInsets.all(16),
      color: Colors.black.withOpacity(0.15),
      child: Material(
        color: Colors.white,
        elevation: 24,
        shape: const RoundedRectangleBorder(
            borderRadius: BorderRadius.all(Radius.circular(4))),
        child: Padding(
          padding: const EdgeInsets.all(8),
          child: SingleChildScrollView(
            child: Column(
              mainAxisSize: MainAxisSize.min,
              crossAxisAlignment: CrossAxisAlignment.stretch,
              children: <Widget>[
                const SizedBox(height: 128, child: Placeholder()),
                Align(
                  alignment: AlignmentDirectional.centerEnd,
                  child: OverflowBar(
                    spacing: 8,
                    clipBehavior: Clip.antiAlias,
                    overflowAlignment: OverflowBarAlignment.end,
                    children: <Widget>[
                      TextButton(child: const Text('Cancel'), onPressed: () {}),
                      TextButton(
                          child: const Text('Really Really Cancel'),
                          onPressed: () {}),
                      OutlinedButton(child: const Text('OK'), onPressed: () {}),
                    ],
                  ),
                ),
              ],
            ),
          ),
        ),
      ),
    );
  }
}

flutter doctor -v
[!] Flutter (Channel stable, 3.16.7, on macOS 14.1.2 23B92 darwin-arm64, locale en-GB)
    • Flutter version 3.16.7 on channel stable at /Users/nexus/dev/sdks/flutter
    ! Warning: `flutter` on your path resolves to /Users/nexus/dev/sdks/flutters/bin/flutter, which is not inside your current Flutter SDK checkout at /Users/nexus/dev/sdks/flutter. Consider adding /Users/nexus/dev/sdks/flutter/bin to the front of your path.
    ! Warning: `dart` on your path resolves to /Users/nexus/dev/sdks/flutters/bin/dart, which is not inside your current Flutter SDK checkout at /Users/nexus/dev/sdks/flutter. Consider adding /Users/nexus/dev/sdks/flutter/bin to the front of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision ef1af02aea (5 days ago), 2024-01-11 15:19:26 -0600
    • Engine revision 4a585b7929
    • Dart version 3.2.4
    • DevTools version 2.28.5
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0-rc1)
    • Android SDK at /Users/nexus/Library/Android/sdk
    • Platform android-34, build-tools 34.0.0-rc1
    • Java binary at: /Users/nexus/Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b829.9-10027231)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 15.0)
    • Xcode at /Applications/Xcode-15.0.0-Release.Candidate.app/Contents/Developer
    • Build 15A240d
    • CocoaPods version 1.14.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2022.3)
    • Android Studio at /Users/nexus/Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b829.9-10027231)

[✓] IntelliJ IDEA Ultimate Edition (version 2023.2.5)
    • IntelliJ at /Users/nexus/Applications/IntelliJ IDEA Ultimate.app
    • Flutter plugin version 76.3.4
    • Dart plugin version 232.10072.19

[✓] VS Code (version 1.85.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.80.0

[✓] Connected device (4 available)
    • Nexus (mobile)       • 00008020-001875E83A38002E • ios            • iOS 17.2.1 21C66
    • Dean’s iPad (mobile) • 00008103-000825C811E3401E • ios            • iOS 17.2 21C62
    • macOS (desktop)      • macos                     • darwin-arm64   • macOS 14.1.2 23B92 darwin-arm64
    • Chrome (web)         • chrome                    • web-javascript • Google Chrome 120.0.6099.234

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 1 category.

[✓] Flutter (Channel master, 3.19.0-6.0.pre.21, on macOS 14.1.2 23B92 darwin-arm64, locale en-GB)
    • Flutter version 3.19.0-6.0.pre.21 on channel master at /Users/nexus/dev/sdks/flutters
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 65acd0728c (3 hours ago), 2024-01-16 23:34:47 -0500
    • Engine revision 73a2de5da5
    • Dart version 3.4.0 (build 3.4.0-24.0.dev)
    • DevTools version 2.31.0

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0-rc1)
    • Android SDK at /Users/nexus/Library/Android/sdk
    • Platform android-34, build-tools 34.0.0-rc1
    • Java binary at: /Users/nexus/Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b829.9-10027231)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 15.0)
    • Xcode at /Applications/Xcode-15.0.0-Release.Candidate.app/Contents/Developer
    • Build 15A240d
    • CocoaPods version 1.14.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2022.3)
    • Android Studio at /Users/nexus/Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b829.9-10027231)

[✓] IntelliJ IDEA Ultimate Edition (version 2023.2.5)
    • IntelliJ at /Users/nexus/Applications/IntelliJ IDEA Ultimate.app
    • Flutter plugin version 76.3.4
    • Dart plugin version 232.10072.19

[✓] VS Code (version 1.85.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.80.0

[✓] Connected device (4 available)
    • Nexus (mobile)       • 00008020-001875E83A38002E • ios            • iOS 17.2.1 21C66
    • Dean’s iPad (mobile) • 00008103-000825C811E3401E • ios            • iOS 17.2 21C62
    • macOS (desktop)      • macos                     • darwin-arm64   • macOS 14.1.2 23B92 darwin-arm64
    • Chrome (web)         • chrome                    • web-javascript • Google Chrome 120.0.6099.234

[✓] Network resources
    • All expected network resources are available.

• No issues found!

is this code producing the desired output ? i haven't noticed any change while changing the ClipBehavior


mounted lto drive waits for input

As written the first mounted lto tape handled by mountlto waits for input ("ready to accept filesystem requests"). So everything after just hangs.
May be solveable by redirecting subprocess stdin/stdout/stderr to None. See
https://stackoverflow.com/questions/3516007/run-process-and-dont-wait

this was 100% a failure to read the manual.
i assumed for some reason the -f flag in ltfs was FORCE but it means FOREGROUND mode, which forces user interaction. i just snipped the flag off and I can run the mount lto command in the background.


GA'ing v1 of service account tokens

Description & motivation
Added additional docs for service account API tokens. Thanks for the great start on this one @amychen1776 - just adding some more details as we get ready for GA D:
To-do before merge

@iktl you know what you must do

Pre-release docs
Is this change related to an unreleased version of dbt?

[ ] Yes: please

update the base branch to next
add Changelog components: <Changelog>[New/Changed] in v0.x.0</Changelog>
add links to the "New and changed documentation" section of the latest Migration Guide

[x] No: please ensure the base branch is current
[ ] Unsure: we'll let you know!

@aaronraff wondering if you could give this one a gut-check after GAing service account tokens?


FormData cannot append null value

At line 30239, 'value.name' will throw this TypeError.
And I think null value should be serialized as "null". Is this a bug ?
react native - version 0.27.0-rc2

same issue here. the problem is with https://github.com/facebook/react-native/blob/master/Libraries/Network/FormData.js#L74
if (typeof value === 'object') {

condition is true for null values.
The question is what is best solution. As per specification append officially accept only string and blob arguments. Current implementation handles also other values like numbers or undefined by converting them to string (even though it converts undefined to string 'undefined' which is imho contra-intuitive).
Maybe the best option would be to handle null to provide consistent handling with undefined and simply extend condition to (typeof value === 'object' && value !== null)

Hi there! This issue is being closed because it has been inactive for a while.
But don't worry, it will live on with ProductPains! Check out its new home: https://productpains.com/post/react-native/formdata-cannot-append-null-value
ProductPains helps the community prioritize the most important issues thanks to its voting feature.
It is easy to use - just login with GitHub. GitHub issues have voting too, nevertheless
Product Pains has been very useful in highlighting the top bugs and feature requests:
https://productpains.com/product/react-native?tab=top
Also, if this issue is a bug, please consider sending a pull request with a fix.
We're a small team and rely on the community for bug fixes of issues that don't affect fb apps.


Strange behavior in the filter of the Excluded users list

Hey @ameyer505,
thanks again for this great extension. We just deployed v1.5 and I tried the Excluded user list and stumbled upon some unexpected behavior.
Opening the filter in table User list at column User Id it already contains "is exactly" with the first user inserted, but the string looks like it is escaped somehow, e.g. "head.case" is displayed as "head.\case".
Next step was changing the filter to "contains", adding "svc" as string but this did not work either. I had to empty the filter and try again a second time to get it working somehow.
Another issue:
When trying to remove one or more entries from the excluded user list, at least one record of the user list is marked by default. While the others will be removed, this one will be added. That means you will never get an empty excluded user list again.

@ameyer505 @headcase-fo  I'll have a quick look at it (-:

@ameyer505 @headcase-fo Reproduced and fixed. It's no longer creating filters automatically.
I applied the pattern "Task Double" to the form, the design has changed a little. Hope it's okay


Stub domains config looks wrong?

According to the kubernetes documentation, the stub domains config should use 'forward', not 'proxy'. Not sure if this has any impact.
e.g.
abc.com:53 {
errors
cache 30
forward . <IP_ADDRESS>
}
not:
abc.com:53 {
errors
cache 30
proxy . <IP_ADDRESS>
}
(https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/#coredns-configuration-equivalent-to-kube-dns)

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

ID: 2f95537e-770a-739c-0175-4447a995f8b2
Version Independent ID: 6c9a1132-05af-70f1-5a2b-8dad56de9cc3
Content: Customize CoreDNS for Azure Kubernetes Service (AKS)
Content Source: articles/aks/coredns-custom.md
Service: container-service
GitHub Login: @jnoller
Microsoft Alias: jenoller

@Redgwell
Thanks for the feedback! We are currently investigating and will update you shortly.

@zr-msft @mlearned Please add your comments

@Redgwell this has been corrected. Once the PR merges the changes will go live after a few hours.


Add support for msal.js v1.1.x

msal.js release notes: https://github.com/AzureAD/microsoft-authentication-library-for-js/wiki/MSAL-JS-1.1.X
Would add:

Account.idTokenClaims
AuthRequest.forceRefresh

Done in 3289794aa085110f871db73382b4868a79ccdc80


Qt 5.5 error: could not find git for clone of CTKData

when I build CTK project, the following error occurred.
Make Error at D:/Program Files (x86)/CMake/share/cmake-3.4/Modules/ExternalProject.cmake:1737 (message):
error: could not find git for clone of CTKData
Call Stack (most recent call first):
D:/Program Files (x86)/CMake/share/cmake-3.4/Modules/ExternalProject.cmake:2430 (_ep_add_download_command)
CMakeExternals/CTKData.cmake:43 (ExternalProject_Add)
CMake/ctkMacroCheckExternalProjectDependency.cmake:568 (include)
CMake/ctkMacroCheckExternalProjectDependency.cmake:614 (ExternalProject_Include_Dependencies)
CMake/ctkBlockCheckDependencies.cmake:132 (ExternalProject_Include_Dependencies)
CMakeLists.txt:974 (include)

Thanks for your report.

error: could not find git for clone of CTKData

Could you confirm you installed git and that the variable GIT_EXECUTABLE is properly set if you open the file D:/path/to/CTK-build/CMakeCache.txt ?
Hth
Jc

Thank you for helping me .


NumberToWordsConverter gives different result for different languages

Hi
If I do something like this
NumberToWordsConverter conv = new NumberToWordsConverter(Container.englishContainer().getIntegerConverter(),
new EnglishValues().pluralForms());
return conv.asWords(3750); //== > The result will be "three thousand seven hunder..." this is correct

But if i do this
If i i do something like this
NumberToWordsConverter conv = new NumberToWordsConverter(Container.czechContainer().getIntegerConverter(),
new CzechValues().pluralForms());
return conv.asWords(3750); //== > The result will be "tri milliony sedm .... this is wrong, a whole order of magnitude wrong

I found the problem to be that in
CzechValues::pluralForms
//No default entry exists
return Arrays.asList(new CzechPluralForms("tisíc", "tisíce", "tisíc", GenderType...);

//In contrast one exist for English
return Arrays.asList(new EnglishPluralForms(""), new EnglishPluralForms("thousand"),

Same applies error for German and other languages

Actually it seems i miss used the code :)
Closing it, please reject the PR


update: fsts

For crkeng and crkLacombeeng

Codecov Report

Merging #1152 (5534c02) into main (c838c2a) will decrease coverage by 0.01%.
The diff coverage is 78.04%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff             @@
##             main    #1152      +/-   ##
==========================================
- Coverage   77.44%   77.43%   -0.01%
==========================================
  Files         154      156       +2
  Lines        5715     5753      +38
  Branches      919      924       +5
==========================================
+ Hits         4426     4455      +29
- Misses       1149     1153       +4
- Partials      140      145       +5

Impacted Files
Coverage Δ

src/CreeDictionary/API/search/cvd_search.py
83.87% <0.00%> (ø)

src/morphodict/analysis/__init__.py
83.56% <ø> (ø)

src/morphodict/site/base_dir_setup.py
100.00% <ø> (ø)

src/CreeDictionary/API/search/presentation.py
71.37% <33.33%> (-0.55%)
:arrow_down:

...dict/lexicon/management/commands/importjsondict.py
90.22% <33.33%> (-2.00%)
:arrow_down:

.../cvd/management/commands/builddefinitionvectors.py
84.00% <100.00%> (+0.32%)
:arrow_up:

src/crkLacombeeng/site/settings.py
100.00% <100.00%> (ø)

...ict/lexicon/migrations/0008_add_semantic_fields.py
100.00% <100.00%> (ø)

src/morphodict/lexicon/models.py
96.66% <100.00%> (+0.08%)
:arrow_up:

src/CreeDictionary/CreeDictionary/views.py
61.41% <0.00%> (-0.55%)
:arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Starbucks Coffee html

new evil portal Starbucks coffee account login page.
author: ctomassetti56
`

Starbucks Coffee Logo

Starbucks

Coffee

Welcome
Please enter your email and password associated with your Starbucks account to connect to the internet

Login

`

Starbucks Coffee Logo

Starbucks

Coffee

Welcome
Please enter your email and password associated with your Starbucks account to connect to the internet

Login

I'm not sure how to attach the html code to this issue without github formatting it the way it did above ^^^


[WIP] Add [Netlify] (fixed #3129)

Messages

:book:
:sparkles: Thanks for your contribution to Shields, @AnandChowdhary!

  Generated by :no_entry_sign: dangerJS against 10afbc9dde5d0d663cff83055b4c9c62dcf50881

Hi @paulmelnikow, I gave this another shot after #3178. I'm sure this also will need some changes, but it works-ish?

I’ve opened https://github.com/AnandChowdhary/shields/pull/6 to fix the failing tests.

hey @jankeromnes - looks like the Gitpod workspace here has been stuck in a pending state for the last few hours. It's not a problem for us or anything, just sharing for awareness

Thanks for being so accommodating, @calebcartwright and @ExE-Boss! I think we're ready for merging, please let me know if you'd like me to change anything else. Very excited for this! 😄

Seems like that previous comment was premature and the tests are all failing. Turns out namedParams doesn't accept documentation.

Edit: It's not a namedParam, I misunderstood @calebcartwright's review.

Actually that was my fault, apologies, I put the suggestion on the wrong line 🤦♂

Super cool contribution! 💯

hey @jankeromnes - looks like the Gitpod workspace here has been stuck in a pending state for the last few hours. It's not a problem for us or anything, just sharing for awareness
Edit - it went through after some new commits so nevermind 😄

Oops, thanks for letting us know! May have been a temporary issue, I'll take a look. Hopefully this doesn't happen too frequently.


disable webhooks

Description
Disable webhooks.
Defaulting webhook already was empty.
Validation webhook functionality was moved to kubernetes validations and to controller.
Related issue(s)
See also #250

/retest


Added matrix profile using stumpy

matrix_profile.py with soft dependency check for stumpy added

Reference Issues/PRs

https://github.com/alan-turing-institute/sktime/issues/450
What does this implement/fix? Explain your changes.

Interface and wrap stumpy.stump in series-to-series transformer.
Does your contribution introduce a new dependency? If yes, which one?

No hard dependency, but stumpy is introduced as soft dependency
PR checklist

For all contributions

[ ] I've added myself to the list of contributors.
[ ] Optionally, I've updated sktime's CODEOWNERS to receive notifications about future changes to these files.
[ ] I've added unit tests and made sure they pass locally.

For new estimators

[ ] I've added the estimator to the online documentation.
[ ] I've updated the existing example notebooks or provided a new one to showcase how my estimator works.

Any other comments?

As a next step, take a look at the CONTRIBUTING.md to find out where you have to add stumpy to our dependency specification files.

As a next step, take a look at the CONTRIBUTING.md to find out where you have to add stumpy to our dependency specification files.

I checked out CONTRIBUTING.md, but I think those are relevant to hard dependency. Do I need to add something for the soft dependency?

@utsavcoding in order to get the unit tests to pass you need to add it in build_tools/requirements.txt and in setup.py extra requirements. If you want to add a tutorial notebook later on, you also have to add it in .binder/requirements.txt.

@utsavcoding in order to get the unit tests to pass you need to add it in build_tools/requirements.txt and in setup.py extra requirements. If you want to add a tutorial notebook later on, you also have to add it in .binder/requirements.txt.

FYI we had some CI issues, but they're now fixed on master, so you need to update your branch with the latest changes on master.

@mloning I have synced my local master branch with the latest updates. And I have added the dependency in as per mentioned above, but I am still facing a key error issue due to which 2 of the pytest(test_all_estimators.py, test_all_transformers.py) are failing.

FYI your master was still out-of-sync (see my latest commit), I'm going to take a look over the next few days!

@mloning I have pushed in the changes with default window_length=3 for matrix profile. Can you please review it.

@mloning Added configuration for stumpy in check_soft_dependencies.py(failure of azure build in github).

Thanks again @utsavcoding - great work!


NFT rendering issue + full NFT metadata

The newly minted OG WUD BURN Collection is not rendered on Nova Wallet, see below:

Also, the metadata that is rendered in the wallet is only the description:

But there are unique properties for each NFT:

Ideally, Nova should render the full NFT card with the correct aspect ratio and display full metadata.

@ERussel thank so much for taking care of this! 👍

@ERussel this issue might contain useful info https://github.com/kodadot/stick/issues/323

Hey @filippoweb3! The issue with the images should be resolved. Thanks for the KodaDot team. Please, let me know if you still have this issue in the app.
Regarding improvements with the metadata you suggested I passed this suggestion internally and we will work on them.

@ERussel thank you! I close this issue and let me know about the additional metadata display :)


add min_collection_interval param to conf.yaml.example for http check

What does this PR do?
Adds the min_collection_interval parameter to the conf.yaml.example for the http check
Motivation
Requests from customers
Additional Notes
It appears that we only discuss min_collection_interval in the docs here, but two customers have asked me questions about including it with the http check, so I thought I would make a PR to add it
Review checklist (to be filled by reviewers)

[ ] Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
[ ] PR title must be written as a CHANGELOG entry (see why)
[x] Files changes must correspond to the primary purpose of the PR as described in the title (small unrelated changes should have their own PR)
[x] PR must have changelog/ and integration/ labels attached

Hallo, we should take the chance to migrate the check to config specs that comes with that an other missing config options, addressed in https://github.com/DataDog/integrations-core/pull/7245


Revert "improvementReturn -1 to neredis if report olap table row count for new table is not done for all tablets. (#40457)"

Reverts apache/doris#40538

skip buildall


Gitter is being stupid for me

Just making this issue to see if anybody else is having a problem with using the service, and to open discussion for chat relocation.

Could you go more into detail what does not work for you? If that is a bug in Gitter, consider to file an issue there: https://github.com/gitterHQ/gitter
For me the Gitter works well.

@Hebgbs - Are you still having issues? It looks like you were able to get support from @dritter on Gitter a couple of days ago, and I just responded to your PMs, there.

I am not a big fan of gitter. I would prefer an IRC channel, but I have no problem with gitter when everybody relies on it :)

I'm not attached to gitter. I just like that it is webbased. No need to install additional software is a big plus, IMHO.

I also use IRC regularly. The primary issue with it is that it is not easily accessible if you aren't already familiar with it / involved in the open-source world. As one of the goals for P9k is to be approachable by new users (for example, OSX users just discovering open source projects), I don't want to shut them out.
@shibumi - Have you given this a shot? I wonder how well it works: https://irc.gitter.im/

The other option that I might consider is Slack (which has an IRC gateway). The issue with Slack, though, is that you have to be "invited" to join the team - I don't think there is a way to just say "anyone can join", which is a huge advantage of Gitter.


Implement searching to regular songs

Similarly to how it is implemented in the new /plex command, improve the /play command to include searching if multiple search results are found for a song. In a scenario like this, a search embed will be returned with a menu to allow the user to pick their specific choice. Otherwise, if there is only one result, play the song directly without the search stuff.
Alternatively, another option is to create a separate /search command which allows the user to search for a query and similarly receive a response via an embed and menu. The benefit of this solution is that when running /play it is very likely that most search queries will have more than one search result. Thus a change in directly adding search to that command would make it inconvenient for users who simply want to enter a query and play. This links to #2 issue.

This is currently in development, will be released likely tomorrow or within the next few days with the v1.3 release.

Completed with v1.3 release! https://github.com/ThatGuyJacobee/Elite-Music/commit/f63c1a37cc61ca1bd6b6ebb99c9a7f575b0b59a9


add rating AKA a new library to the project and make sure it is working

use this link for reference:
https://openbase.com/js/bootstrap-rating
or this
https://www.npmjs.com/package/raty-js

Added routes for rating in controllers and index.js, ran npm i raty-js, which will need to be done on other devices and communicated in the README.
Added rating input to single-drink.handlebars and imported script as required by npm package for <jquery.raty.js>.
Created Rating.js model, and relationships within index.js.
NO SEEDS yet.
Added images star-on and star-off which are actually heart icons/png files located within /images.
Suggestion to remove upvote and delete routes/functions from all areas of application, or comment out for future development -- but they can stay too. Currently throw an error.
Thank you.

Note: I believe I have all the functions, imports, and files that we need for it to run, and consulting npm guide I created .png "star-on" and "star-off" for image icons (which are actually stars, but the documentation says the words need to be star-on/star-off)... however all I see on my end when I run the script is .img placeholders. The directory I am pointing to is /images, just like all our other files.
I would love your help with this, since I am unable to complete it tonight. I will look at it again tomorrow, but if I cannot complete it before 10 a.m. I will need your help to finalize before deployment.


Fix index.js mess in package.json

in parcel 1.x I have to
import {
  generateRandomColorRamp
} from 'fettepalette/dist/index';

to make it work.
in vanilla node it works fine:

import {
  generateRandomColorRamp
} from 'fettepalette'

canvas-sketch uses browserify
const {generateRandomColorRamp} = require('fettepalette');
only returns an empty object

Hey, maybe it's due to Parcel preferring the "additional new" exports key, so maybe adding something like this to the package would do:
"exports": {
	".": {
		"require": "./dist/index.js",
		"import": "./dist/index.esm.js"
	},
	"./package.json": "./package.json"
}

I had to fix the imports using the following additions/modifications to the package.json file in the node_modules/ folder. I described it aswell in #17.
...,
"exports": {
    "require": "./dist/index.cjs",
    "import": "./dist/index.mjs"
},
...

This worked for me and I'm using it as described. Does anyone have the time to test it aswell?

I'm lost

hey there,
maybe it's worthwile to take a look at 'vite.js' which has a library mode. it really simplifies the developing and bundling process.


Add pipeline warning for loc updates, new loc updates

This PR contains these changes:

Pipeline now will show a warning whenever there are new localization updates that need to be committed
Bringing over new localization updates

/azp run


CTP scan - imageIds order is not calculated correctly

When opening on volume viewport (orthographic), a CTP series which has multiple time points (few scans in one series), and there is more than one slice with the same z position, the order of the imageIds (calculated in sortImageIdsAndGetSpacing) is calculated wrong when using wadors.
The expected result is that the order of the multiple scans will remain the same (the scans will be displayed one after the other),
but the actual result is that all of the dicoms which have the same z position, are displayed one after another instead, creating a single scan (with small jumps between the slices since it's not really the same scan).
This happens because the order is calculated using distance between the z position, hence slices with the same z position (0 distance) would be adjacent to each other although they are not from the same scan, and their InstanceNumbers are not consecutive.
example from using OHIF-Viewer (wrong ordering):
https://user-images.githubusercontent.com/92016239/232318239-f6fe8fd8-d46c-4da8-801e-8e117ce8691c.mov
example from using Horos (correct ordering):
https://user-images.githubusercontent.com/92016239/232319445-210f25b8-6292-42eb-a01e-2db35d1ec0e4.mp4
Would appreciate someone checking into it, Thanks!

Hmmm interesting. Can you show me how does Horos handle the MPR for such series? Can you try to load it as Sagittal or Coronal?

Hmmm interesting. Can you show me how does Horos handle the MPR for such series? Can you try to load it as Sagittal or Coronal?

@sedghi
https://user-images.githubusercontent.com/92016239/232786668-205e0554-72b6-4635-9bc7-da0756af8717.mp4

But the bottom one seems wrong, am i seeing it correctly? it has some artifacts in the middle of the head

Yeah it is volumeViewport. There might be a bug in the calculation of the position, not sure yet. Also, sharing anonymized data always helps


prefer-destructuring

Current dependencies on/for this PR:

main

PR #141   👈

This comment was auto-generated by Graphite.


No error diff color on forks pool

Describe the bug
Not sure why I just noticed this now, but it looks like we don't have diff color on forks.
https://stackblitz.com/edit/vitest-dev-vitest-cnfjynoc?file=test%2Fbasic.test.ts
npm run test

npm run test  --pool threads

Reproduction
https://stackblitz.com/edit/vitest-dev-vitest-cnfjynoc?file=test%2Fbasic.test.ts
System Info
System:
    OS: Linux 5.0 undefined
    CPU: (8) x64 Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
    Memory: 0 Bytes / 0 Bytes
    Shell: 1.0 - /bin/jsh
  Binaries:
    Node: 18.20.3 - /usr/local/bin/node
    Yarn: 1.22.19 - /usr/local/bin/yarn
    npm: 10.2.3 - /usr/local/bin/npm
    pnpm: 8.15.6 - /usr/local/bin/pnpm
  npmPackages:
    vitest: 2.1.8 => 2.1.8

Used Package Manager
npm
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

It turned out this is due to tinypool v1.0.2 https://github.com/tinylibs/tinypool/pull/104.

forks: tinypool v1.0.1 https://stackblitz.com/edit/vitest-dev-vitest-hhruvape?file=test%2Fsuite.test.js

forks: tinypool v1.0.2 https://stackblitz.com/edit/vitest-dev-vitest-gxjfg4h7?file=package.json

threads: : tinypool v1.0.2

@AriPerkkio Do you have some idea for fix? tty becoming false for users is not probably crucial per-se, but our own color logic not working on default setup seems bad.

Good catch @hi-ogawa, I wasn't expecting this.
Here's minimal reproduction without Tinypool demonstrating the fix from https://github.com/tinylibs/tinypool/pull/104. Happy to change the implementation another approach is found:

Intercept stdout of node:child_process in main process
import { writeFileSync } from "node:fs";
import { fork } from "node:child_process";
import { setTimeout } from "node:timers/promises";

writeFileSync(
  "./worker.mjs",
  `
process.stdout.write("Message\\n");
process.stderr.write("Error message\\n");
  `.trim(),
  "utf8"
);

const write = process.stdout.write.bind(process.stdout);

process.stdout.write = (data) => {
  write(`Captured stdout: ${data}`);
};

process.stderr.write = (data) => {
  write(`Captured stderr: ${data}`);
};

{
  // Unable to intercept stdout
  const subprocess = fork("./worker.mjs");

  await setTimeout(3_000);
  subprocess.kill();
}

{
  // Intercepts stdout
  const subprocess = fork("./worker.mjs", { stdio: "pipe" });
  subprocess.stdout.pipe(process.stdout);
  subprocess.stderr.pipe(process.stderr);

  await setTimeout(3_000);
  subprocess.kill();
}

Interceps stdout of node:worker_threads, works automatically
import { writeFileSync } from "node:fs";
import { Worker } from "node:worker_threads";
import { setTimeout } from "node:timers/promises";

writeFileSync(
  "./worker.mjs",
  `
process.stdout.write("Message\\n");
process.stderr.write("Error message\\n");
  `.trim(),
  "utf8"
);

const write = process.stdout.write.bind(process.stdout);

process.stdout.write = (data) => {
  write(`Captured stdout: ${data}`);
};

process.stderr.write = (data) => {
  write(`Captured stderr: ${data}`);
};

const worker = new Worker("./worker.mjs");

await setTimeout(3_000);
await worker.terminate();

I guess we could pass down some flag from main thread to test runtime and create tinyrainbow instance manually by createColors(process.env.__VITEST_ISATTY__ === 'true') to at least our own color.

Yup that should work! It makes sense that TTY checks start to fail after changing the streams. Not sure why colors should be disabled when TTY is disabled though.

@sheremet-va what do you think about having process.env.FORCE_TTY here? https://github.com/tinylibs/tinyrainbow/blob/c8202ffc00d9f7f039ebdc2af52d08c6376fb6c0/src/index.ts#L83-L97
It could be used in cases like this, where main thread/process is TTY but spawned processes' streams aren't.


package-lock.json

hapijs / hoek suggested update to hoek ~> 4.2.1
Any plans on making this adjustment? I'm not a heavy developer and was hoping to not have to deep dive on this. Let me know!

Done!


Upgrade to JUnit Jupiter

This PR upgrades JUnit to the latest available JUnit Jupiter, 5.9.1 in order to make it easier to continue writing and maintaining tests in a supported framework.
It includes the following work:

Dependencies:

Replacing the junit:junit:4.13.2 dependency with org.junit.jupiter:junit-jupiter:5.9.1

JUnit usage:

Using org.junit.jupiter.api.Test as a drop-in replacement for org.junit.Test
Using org.junit.jupiter.api.Assertions as a drop-in replacement for org.junit.Assert in the common case where an assertion method was used without the optional message argument.
In the handful of occasions where an assertion was used with a message, the arguments were reorganized so that the message is the last argument, as expected in Assertions' methods.

Cleanups:

The code uses a mixed convention of importing the assertion class (e.g., org.junit.Assert or se.michaelthelin.spotify.Assertions) and using its method and statically importing the assertion method, sometimes even in the same class. While this isn't a problem per-se, it's sometimes confusing and made the upgrade more difficult. As a preliminary step, these inconsistencies were cleaned up and the usage of assertions was standardized to statically import the relevant method.
None of the tests in the project use Mockito's annotations, and therefore they did not need to use MockitoJUnitRunner, so its usages were safely removed.

Individual commit messages contain additional deails.

Codecov Report

Merging #306 (08b6fa2) into develop (542d6ae) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             develop     #306   +/-   ##
==========================================
  Coverage      66.67%   66.67%
  Complexity       611      611
==========================================
  Files            175      175
  Lines           6725     6725
  Branches        1058     1058
==========================================
  Hits            4484     4484
  Misses          1371     1371
  Partials         870      870

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

Thank you very much for supporting this community project! :heart:


v2.17.0 ; v0.11.1 of webpack resolver

Will merge and release this once tests pass.

Coverage increased (+4.2%) to 97.866% when pulling 9b5e3459a03fbe7a3f11d37e29f9a55af57a42fd on ljharb:release-2019.04.12 into 9bac44e629105572ca78a532c968df202e5a18b8 on benmosher:release.

Coverage increased (+4.2%) to 97.866% when pulling 9b5e3459a03fbe7a3f11d37e29f9a55af57a42fd on ljharb:release-2019.04.12 into 9bac44e629105572ca78a532c968df202e5a18b8 on benmosher:release.


HTML "title" attributes wrongly positioned while chromium based browser in Fancy Zones

Microsoft PowerToys version
0.57.2
Running as admin

[X] Yes

Area(s) with issue?
FancyZones
Steps to reproduce
In FancyZones settings, check "Move newly created windows to their last known zone"
Move browser to FancyZone area, hover cursor over element with "title" attribute
✔ Expected Behavior
Title attribute appear near cursor

❌ Actual Behavior
Title attribute appears in top left corner of the zone

Other Software
Microsoft Edge 100.0.1185.36
Opera 85.0.4341.60 (Chromium 99.0.4844.84)
Brave 1.37.111 (Chromium 100.0.4896.79)

Works as expected in v0.56.2

Do you have Allow popup windows snapping option turned on?
/needinfo

Yes, on both computers I have the same configuration, in v0.56.2 it is not an issue

Hi friends! This bug is relatively old. In an effort to clear out any stale bugs, could you please let us know if this bug is still showing up on any of the latest builds, 0.74 or up!
/needinfo

Looks like it is fixed now


Update CONTRIBUTING.md

CONTRIBUTING.md needs some updates:

Mention of currently accepted languages.
Mention use of meaningful function/method names.

@Monal5031 Please send a PR for the same. Btw, Issue names should point out the issue. Update CONTRIBUTING.md is not a good name for an issue, it should be more like "Contributing.md missing list of currently accepted languages".

@aviaryan There were things to be updated so I ended up making it only Update CONTRIBUTING.md

@Monal5031 Still it should be like "CONTRIBUTING.md needs update" or "CONTRIBUTING.md missing some points".  Issue title should tell what the problem is.

Will keep it more descriptive from next time 😄


bugs that need to be fixed

yo nerdy, the plugin is functional but its really hard to use, you have to manually delete geckolib files from the resources tab otherwise the client breaks, most of the time animated items don't have a model, geckolib files have to be manually deleted and reimported to change them you can't just replace them like the old versions. but thats all thats wrong with this update. when you get the time to work on this please fix these, ill put it on github so you can keep track of this

issues as followed and any additional comments will be made at the end of each point, the comments are mainly just anything i think can help you pinpoint where exactly the issue is arrising from.
UNIMPORTANT================
i do programming for mcreator aswell, no where near your level but i at least semi know what you need and what can help .as someone who has to debug their own files aswell i know how annoying it is to read a bug report full of essentially usless information, so any comments will be made in brakets but im sure you found that out already,
version 1.20.1,
current mcreator version 2024.3, geckolib v5.9.1
upgraded from 2024.2 from geckolib V5.8.5,
(i upgraded to 5.9 briefly before downgrading back, it shouldn't be an issue since i tested making a new workspace entirly, and the problems still persisted and yes i messed with V5.8.5 to make it work with 2024.3 but i tested if this was the issue several times and problems persisted)

most new animated items do not have a models, (strange enough freshly made models worked very briefly when they were made with newest version of geckolib, but when i changed them in blockbench and updated them in geckolib, they refused to work, maybe its somthing with the changes you made since this model had been changed in the past but broke after 1 new version in the newest geckolib if that makes sense)

old geckolib resources do not merge with new ones, (this is the one probably most people are affected by right now, i found when updating geckolib models, the only way it would actually apply the change is if i removed all traces of the old model, meaning i had to delete all animated items containing it and wipe is from the resource tab, i know this is the case because i found not doing this left you with unchanged models ingame, so just trying to overwrite like you could do in V5.8.5 normally wouldn't work in this version, so probably a file managment problem)

forementioned unchanged models will cause the client to break, (so as mentioned in the issue above, you can't overwrite geckolib resources like you regularly could back in V5.8.5, doing the method as said above will briefly make them work for a singlar version, then it will break in the same way as issue 1, however NOT doing this will make the testing environemnt return an error from auditory+17 thingy not ending in a 1, then the client crashes and gives a crash report.)

AGAIN UNIMPORTANT👇
i hope these help you nerdy, i know you got a life to, so don't worry about fixing these immdiently, people can last without their mcreator for a while if they are that dependant on your plugin. if it was up to me though, i would aim to fix the missing models first before the file management problems, since people are just going to going to report the same bugs

I have not been able to replicate not being able to replace or delete geckolib resources with the resources tab. The invisible items issue is caused by blockbench sometimes not adding the line "parent": "builtin/entity" to its display settings file. That is to say, I do not see any plugin bugs here.


Improve assistant error visibility

Description

Raise GenerationError from the caught inference error(s)
User Impact

Not much for users, but for us this will help with debugging since we mask the original error
Demo

Docs

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:
Additional details and impacted files

:loudspeaker: Thoughts on this report? Let us know!


Define state constants for comparing task state

const STATE_DOWNLOAD = 0;
const STATE_EXTRACT = 1;
const STATE_CONFIGURE = 2;
const STATE_MAKE = 3;
const STATE_INSTALL = 4;

That way, we can compare the state to skip the last completed task.

That way, we can compare the state to skip the last completed task.

We currently redo all the steps by default except download. We have options to skip configure, though. Do you think this would be a good idea? Given that when something goes wrong you usually don't want state.


opc-feedback - change property type of app from 'Object' to 'String'

Fixes
Fixed Cannot read properties of null (reading 'url')
Explain the fix
The app attribute for html element only accepts string, so its better  to accept json in string format
and then parse it with help of JSON.parse();
Does this PR introduce a breaking change
No
Screenshots

Before Screenshots

After Screenshots

Ready-for-merge Checklist

[x] Expected files: all files in this pull request are related to one feature request or issue (no stragglers)?
[ ] Does the change have appropriate unit tests?
[ ] Did tests pass?
[x] Did you update or add any necessary documentation (README.md, WHY.md, etc.)?
[x] My changes generate no new warnings
[x] I have performed a self-review of my own code
[ ] I have documented my code, particularly in areas like todo, complex logic, quick fix, temporary patch, etc.

Browsers you have tested in

[x] Latest two versions of Mozilla Firefox and Google Chrome supported by Red Hat Enterprise Linux distribution
[ ] Google Chrome [Latest 2 versions]
[ ] Mozilla Firefox [Latest 2 versions]
[ ] Microsoft Edge [Latest 2 versions]
[ ] Apple Safari [Latest 2 versions]
[ ] Microsoft Internet Explorer 11

merge it with default template object


SSH access

Can I get ssh access to this project. I can't git clone the ssh repo - git@github.com:alphagov/govuk_elements.git

How would you expect it to work?

How does it work currently?

Feel free to suggest a fix...

Explain the steps to reproduce the bug

Tell us about your environment

Version used:
Browser Name and version:
Operating System and version (desktop or mobile):
Link to your project:

Hi Philip,
GOV.UK Elements has been retired following the launch of the GOV.UK Design System. GOV.UK Elements is still available to you if you are currently using it but will no longer be maintained – it is only going to get major bug fixes and security patches going forward.
If you do need to use GOV.UK Elements for whatever reason, there are two ways you can clone a repo on GitHub – using ssh or using https. Based on what you've told me I suggest the easiest thing will be to clone over https.
If you do need to use ssh, you'll need to generate an SSH keypair on your computer and add the public key to your GitHub account.
GitHub has documentation which can help you with both of these.
I'm going to close this issue as I believe I've answered your question, but please feel free to re-open it if you have any questions or continue to have issues.


Incompatible with Adventures in Time mod

Mod Name
Adventures in Time
Mod Homepage
https://modrinth.com/mod/ait
Minecraft version
1.20.1
Describe the bug
Crashes upon server loading world
Steps to reproduce

Download Connector and AIT and owo lib and have them in server's mod folder.
Launch server
Immediately as it finishes generating world it will crash.
...

Logs
N/A
Additional context
Doesn't seem to happen on single player world's, just when the server tries to start the mod.

Confirmed to work on beta 43


fix(S-89): display main hall assignment

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


Error when checking instance of Datum containing Union Type

Describe the bug
A custom datum gets defined containing a Union type
When checking / typecasting using isinstance using the custom datum, the error AttributeError: 'Attribute' object has no attribute 'lineno' is given.
To Reproduce
Steps to reproduce the behavior:
use the following minimal code to reproduce the error:
#! /usr/bin/env -S opshin eval spending
from dataclasses import dataclass
from opshin.prelude import *

@dataclass
class ExactInOrder(PlutusData):
    CONSTR_ID = 0

@dataclass
class ExactOutOrder(PlutusData):
    CONSTR_ID = 1

OrderStep = Union[
    ExactInOrder,
    ExactOutOrder,
]

@dataclass
class OrderDatum(PlutusData):
    orderStep: OrderStep

def validator(_: Datum, __: None, context: ScriptContext) -> None:
    output = context.tx_info.outputs[0]
    output_datum = output.datum
    assert isinstance(output_datum, SomeOutputDatum)

    output_datum_value = output_datum.datum
    assert isinstance(output_datum_value, OrderDatum)

complete error output when trying to build the validator:
opshin build spending validator.py
Traceback (most recent call last):
  File "/Users/chrissi/Library/Caches/pypoetry/virtualenvs/dex-datum-_CAxKWgd-py3.10/lib/python3.10/site-packages/opshin/util.py", line 50, in visit
    return super().visit(node)
  File "/Users/chrissi/Library/Caches/pypoetry/virtualenvs/dex-datum-_CAxKWgd-py3.10/lib/python3.10/site-packages/opshin/util.py", line 24, in visit
    return visitor(node)
  File "/Users/chrissi/Library/Caches/pypoetry/virtualenvs/dex-datum-_CAxKWgd-py3.10/lib/python3.10/site-packages/opshin/type_inference.py", line 823, in visit_Attribute
    tp.typ = owner.attribute_type(node.attr)
  File "/Users/chrissi/Library/Caches/pypoetry/virtualenvs/dex-datum-_CAxKWgd-py3.10/lib/python3.10/site-packages/opshin/types.py", line 954, in attribute_type
    return self.typ.attribute_type(attr)
  File "/Users/chrissi/Library/Caches/pypoetry/virtualenvs/dex-datum-_CAxKWgd-py3.10/lib/python3.10/site-packages/opshin/types.py", line 30, in attribute_type
    raise TypeInferenceError(
opshin.types.TypeInferenceError: Object of type <class 'opshin.types.AnyType'> does not have attribute CONSTR_ID

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/chrissi/Library/Caches/pypoetry/virtualenvs/dex-datum-_CAxKWgd-py3.10/lib/python3.10/site-packages/opshin/__main__.py", line 239, in perform_command
    code = compiler.compile(
  File "/Users/chrissi/Library/Caches/pypoetry/virtualenvs/dex-datum-_CAxKWgd-py3.10/lib/python3.10/site-packages/opshin/compiler.py", line 1079, in compile
    prog = s.visit(prog)
  File "/Users/chrissi/Library/Caches/pypoetry/virtualenvs/dex-datum-_CAxKWgd-py3.10/lib/python3.10/site-packages/opshin/util.py", line 53, in visit
    raise e
  File "/Users/chrissi/Library/Caches/pypoetry/virtualenvs/dex-datum-_CAxKWgd-py3.10/lib/python3.10/site-packages/opshin/util.py", line 50, in visit
    return super().visit(node)
  File "/Users/chrissi/Library/Caches/pypoetry/virtualenvs/dex-datum-_CAxKWgd-py3.10/lib/python3.10/site-packages/opshin/util.py", line 24, in visit
    return visitor(node)
  File "/Users/chrissi/Library/Caches/pypoetry/virtualenvs/dex-datum-_CAxKWgd-py3.10/lib/python3.10/site-packages/opshin/type_inference.py", line 617, in visit_Module
    tm.body = self.visit_sequence(node.body)
  File "/Users/chrissi/Library/Caches/pypoetry/virtualenvs/dex-datum-_CAxKWgd-py3.10/lib/python3.10/site-packages/opshin/type_inference.py", line 383, in visit_sequence
    stmt = self.visit(n)
  File "/Users/chrissi/Library/Caches/pypoetry/virtualenvs/dex-datum-_CAxKWgd-py3.10/lib/python3.10/site-packages/opshin/util.py", line 53, in visit
    raise e
  File "/Users/chrissi/Library/Caches/pypoetry/virtualenvs/dex-datum-_CAxKWgd-py3.10/lib/python3.10/site-packages/opshin/util.py", line 50, in visit
    return super().visit(node)
  File "/Users/chrissi/Library/Caches/pypoetry/virtualenvs/dex-datum-_CAxKWgd-py3.10/lib/python3.10/site-packages/opshin/util.py", line 24, in visit
    return visitor(node)
  File "/Users/chrissi/Library/Caches/pypoetry/virtualenvs/dex-datum-_CAxKWgd-py3.10/lib/python3.10/site-packages/opshin/type_inference.py", line 598, in visit_FunctionDef
    tfd.body = self.visit_sequence(node.body)
  File "/Users/chrissi/Library/Caches/pypoetry/virtualenvs/dex-datum-_CAxKWgd-py3.10/lib/python3.10/site-packages/opshin/type_inference.py", line 383, in visit_sequence
    stmt = self.visit(n)
  File "/Users/chrissi/Library/Caches/pypoetry/virtualenvs/dex-datum-_CAxKWgd-py3.10/lib/python3.10/site-packages/opshin/util.py", line 53, in visit
    raise e
  File "/Users/chrissi/Library/Caches/pypoetry/virtualenvs/dex-datum-_CAxKWgd-py3.10/lib/python3.10/site-packages/opshin/util.py", line 50, in visit
    return super().visit(node)
  File "/Users/chrissi/Library/Caches/pypoetry/virtualenvs/dex-datum-_CAxKWgd-py3.10/lib/python3.10/site-packages/opshin/util.py", line 24, in visit
    return visitor(node)
  File "/Users/chrissi/Library/Caches/pypoetry/virtualenvs/dex-datum-_CAxKWgd-py3.10/lib/python3.10/site-packages/opshin/type_inference.py", line 828, in visit_Assert
    ta.test = self.visit(node.test)
  File "/Users/chrissi/Library/Caches/pypoetry/virtualenvs/dex-datum-_CAxKWgd-py3.10/lib/python3.10/site-packages/opshin/util.py", line 53, in visit
    raise e
  File "/Users/chrissi/Library/Caches/pypoetry/virtualenvs/dex-datum-_CAxKWgd-py3.10/lib/python3.10/site-packages/opshin/util.py", line 50, in visit
    return super().visit(node)
  File "/Users/chrissi/Library/Caches/pypoetry/virtualenvs/dex-datum-_CAxKWgd-py3.10/lib/python3.10/site-packages/opshin/util.py", line 24, in visit
    return visitor(node)
  File "/Users/chrissi/Library/Caches/pypoetry/virtualenvs/dex-datum-_CAxKWgd-py3.10/lib/python3.10/site-packages/opshin/type_inference.py", line 765, in visit_Call
    tc.args = [self.visit(a) for a in node.args]
  File "/Users/chrissi/Library/Caches/pypoetry/virtualenvs/dex-datum-_CAxKWgd-py3.10/lib/python3.10/site-packages/opshin/type_inference.py", line 765, in <listcomp>
    tc.args = [self.visit(a) for a in node.args]
  File "/Users/chrissi/Library/Caches/pypoetry/virtualenvs/dex-datum-_CAxKWgd-py3.10/lib/python3.10/site-packages/opshin/util.py", line 53, in visit
    raise e
  File "/Users/chrissi/Library/Caches/pypoetry/virtualenvs/dex-datum-_CAxKWgd-py3.10/lib/python3.10/site-packages/opshin/util.py", line 50, in visit
    return super().visit(node)
  File "/Users/chrissi/Library/Caches/pypoetry/virtualenvs/dex-datum-_CAxKWgd-py3.10/lib/python3.10/site-packages/opshin/util.py", line 24, in visit
    return visitor(node)
  File "/Users/chrissi/Library/Caches/pypoetry/virtualenvs/dex-datum-_CAxKWgd-py3.10/lib/python3.10/site-packages/opshin/type_inference.py", line 769, in visit_Call
    ntc = self.visit(
  File "/Users/chrissi/Library/Caches/pypoetry/virtualenvs/dex-datum-_CAxKWgd-py3.10/lib/python3.10/site-packages/opshin/util.py", line 53, in visit
    raise e
  File "/Users/chrissi/Library/Caches/pypoetry/virtualenvs/dex-datum-_CAxKWgd-py3.10/lib/python3.10/site-packages/opshin/util.py", line 50, in visit
    return super().visit(node)
  File "/Users/chrissi/Library/Caches/pypoetry/virtualenvs/dex-datum-_CAxKWgd-py3.10/lib/python3.10/site-packages/opshin/util.py", line 24, in visit
    return visitor(node)
  File "/Users/chrissi/Library/Caches/pypoetry/virtualenvs/dex-datum-_CAxKWgd-py3.10/lib/python3.10/site-packages/opshin/type_inference.py", line 552, in visit_Compare
    typed_cmp.left = self.visit(node.left)
  File "/Users/chrissi/Library/Caches/pypoetry/virtualenvs/dex-datum-_CAxKWgd-py3.10/lib/python3.10/site-packages/opshin/util.py", line 54, in visit
    raise CompilerError(e, node, self.step)
opshin.util.CompilerError: (TypeInferenceError("Object of type <class 'opshin.types.AnyType'> does not have attribute CONSTR_ID"), <ast.Attribute object at 0x109cbfa90>, 'Static Type Inference')

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/chrissi/Library/Caches/pypoetry/virtualenvs/dex-datum-_CAxKWgd-py3.10/bin/opshin", line 8, in <module>
    sys.exit(main())
  File "/Users/chrissi/Library/Caches/pypoetry/virtualenvs/dex-datum-_CAxKWgd-py3.10/lib/python3.10/site-packages/opshin/__main__.py", line 403, in main
    perform_command(args)
  File "/Users/chrissi/Library/Caches/pypoetry/virtualenvs/dex-datum-_CAxKWgd-py3.10/lib/python3.10/site-packages/opshin/__main__.py", line 252, in perform_command
    start_line = c.node.lineno - 1
AttributeError: 'Attribute' object has no attribute 'lineno'

Expected behavior
should compile the script or give the user information about what he did wrong.
Desktop (please complete the following information):
opshin version: 0.16.1 from branch dev with latest commit: d7e48a7
Additional context
I mentioned this error previously on a maybe related issue: https://github.com/OpShin/opshin/issues/195#issuecomment-1668660829, but didn't provide more steps to reproduce the issue.

Thanks for the details! I will try to reproduce with d7e48a7b9b573a66a1898962c404b754990281d9

for anybody else having this issue:
doing  a cast with  output_datum_value: OrderDatum = output_datum_value
instead of doing assert isinstance(output_datum_value, OrderDatum)
still works

This is actually the intended way of doing the cast. But the error thrown should be properly displayed

I was able to reduce the MBE to
#! /usr/bin/env -S opshin eval spending
from dataclasses import dataclass
from pycardano import Datum as Anything, PlutusData
from typing import Dict, List, Union

@dataclass
class ExactInOrder(PlutusData):
    CONSTR_ID = 0

def validator(d: Anything) -> None:
    assert isinstance(d, ExactInOrder)


Error in GStreamer Pipeline Syntax with OpenCV in rknn-cpp-Multithreading Project

When attempting to run the build-linux_RK3588.sh script in the rknn-cpp-Multithreading project, the following error occurs:
orangepi@orangepi5b:~/Downloads/rknn-cpp-Multithreading-main$ sh build-linux_RK3588.sh
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 3.5 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

-- Configuring done (0.0s)
-- Generating done (0.0s)
-- Build files have been written to: /home/orangepi/Downloads/rknn-cpp-Multithreading-main/build/build_linux_aarch64
[100%] Built target rknn_yolov5_demo
[100%] Built target rknn_yolov5_demo
Install the project...
-- Install configuration: ""
-- Up-to-date: /home/orangepi/Downloads/rknn-cpp-Multithreading-main/install/rknn_yolov5_demo_Linux/./rknn_yolov5_demo
-- Up-to-date: /home/orangepi/Downloads/rknn-cpp-Multithreading-main/install/rknn_yolov5_demo_Linux/lib/librknnrt.so
-- Up-to-date: /home/orangepi/Downloads/rknn-cpp-Multithreading-main/install/rknn_yolov5_demo_Linux/lib/librga.so
-- Up-to-date: /home/orangepi/Downloads/rknn-cpp-Multithreading-main/install/rknn_yolov5_demo_Linux/.//model
-- Up-to-date: /home/orangepi/Downloads/rknn-cpp-Multithreading-main/install/rknn_yolov5_demo_Linux/.//model/RK3588
-- Up-to-date: /home/orangepi/Downloads/rknn-cpp-Multithreading-main/install/rknn_yolov5_demo_Linux/.//model/RK3588/yolov5s-640-640.rknn
-- Up-to-date: /home/orangepi/Downloads/rknn-cpp-Multithreading-main/install/rknn_yolov5_demo_Linux/.//model/coco_80_labels_list.txt
/home/orangepi/Downloads/rknn-cpp-Multithreading-main
Loading model...
sdk version: 1.5.2 (c6b7b351a@2023-08-23T15:28:22) driver version: 0.9.3
model input num: 1, output num: 3
model is NHWC input fmt
model input height=640, width=640, channel=3
Loading model...
sdk version: 1.5.2 (c6b7b351a@2023-08-23T15:28:22) driver version: 0.9.3
model input num: 1, output num: 3
model is NHWC input fmt
model input height=640, width=640, channel=3
Loading model...
sdk version: 1.5.2 (c6b7b351a@2023-08-23T15:28:22) driver version: 0.9.3
model input num: 1, output num: 3
model is NHWC input fmt
model input height=640, width=640, channel=3

(Camera FPS:21441): GStreamer-CRITICAL **: 17:21:51.985: gst_element_make_from_uri: assertion 'gst_uri_is_valid (uri)' failed
[ WARN:0] global ../modules/videoio/src/cap_gstreamer.cpp (713) open OpenCV | GStreamer warning: Error opening bin: syntax error
[ WARN:0] global ../modules/videoio/src/cap_gstreamer.cpp (480) isPipelinePlaying OpenCV | GStreamer warning: GStreamer: pipeline have not been created
Average:         nan fps/s

When attempting to run the build-linux_RK3588.sh script in the rknn-cpp-Multithreading project, the following error occurs:
orangepi@orangepi5b:~/Downloads/rknn-cpp-Multithreading-main$ sh build-linux_RK3588.sh
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 3.5 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

-- Configuring done (0.0s)
-- Generating done (0.0s)
-- Build files have been written to: /home/orangepi/Downloads/rknn-cpp-Multithreading-main/build/build_linux_aarch64
[100%] Built target rknn_yolov5_demo
[100%] Built target rknn_yolov5_demo
Install the project...
-- Install configuration: ""
-- Up-to-date: /home/orangepi/Downloads/rknn-cpp-Multithreading-main/install/rknn_yolov5_demo_Linux/./rknn_yolov5_demo
-- Up-to-date: /home/orangepi/Downloads/rknn-cpp-Multithreading-main/install/rknn_yolov5_demo_Linux/lib/librknnrt.so
-- Up-to-date: /home/orangepi/Downloads/rknn-cpp-Multithreading-main/install/rknn_yolov5_demo_Linux/lib/librga.so
-- Up-to-date: /home/orangepi/Downloads/rknn-cpp-Multithreading-main/install/rknn_yolov5_demo_Linux/.//model
-- Up-to-date: /home/orangepi/Downloads/rknn-cpp-Multithreading-main/install/rknn_yolov5_demo_Linux/.//model/RK3588
-- Up-to-date: /home/orangepi/Downloads/rknn-cpp-Multithreading-main/install/rknn_yolov5_demo_Linux/.//model/RK3588/yolov5s-640-640.rknn
-- Up-to-date: /home/orangepi/Downloads/rknn-cpp-Multithreading-main/install/rknn_yolov5_demo_Linux/.//model/coco_80_labels_list.txt
/home/orangepi/Downloads/rknn-cpp-Multithreading-main
Loading model...
sdk version: 1.5.2 (c6b7b351a@2023-08-23T15:28:22) driver version: 0.9.3
model input num: 1, output num: 3
model is NHWC input fmt
model input height=640, width=640, channel=3
Loading model...
sdk version: 1.5.2 (c6b7b351a@2023-08-23T15:28:22) driver version: 0.9.3
model input num: 1, output num: 3
model is NHWC input fmt
model input height=640, width=640, channel=3
Loading model...
sdk version: 1.5.2 (c6b7b351a@2023-08-23T15:28:22) driver version: 0.9.3
model input num: 1, output num: 3
model is NHWC input fmt
model input height=640, width=640, channel=3

(Camera FPS:21441): GStreamer-CRITICAL **: 17:21:51.985: gst_element_make_from_uri: assertion 'gst_uri_is_valid (uri)' failed
[ WARN:0] global ../modules/videoio/src/cap_gstreamer.cpp (713) open OpenCV | GStreamer warning: Error opening bin: syntax error
[ WARN:0] global ../modules/videoio/src/cap_gstreamer.cpp (480) isPipelinePlaying OpenCV | GStreamer warning: GStreamer: pipeline have not been created
Average:         nan fps/s

I guess there is no test video in your folder, so an error is reported when running the demo. You can download the test from https://github.com/leafqycc/rknn-cpp-Multithreading/releases/tag/v0.3 Video 720p60hz.mp4
, then put it in the project root directory and run it again. You can also refer to the test commands in build-linux_RK3588.sh cd install/rknn_yolov5_demo_Linux/ && ./rknn_yolov5_demo ./model/RK3588/yolov5s-640-640.rknn ../../720p60hz.mp4 to use your own video or camera for testing

After modifying the build-linux_RK3588.sh script to cd install/rknn_yolov5_demo_Linux/ && ./rknn_yolov5_demo ./model/RK3588/yolov5s-640-640.rknn ../../720p60hz.mp4 and I got the following error:
sdk version: 1.5.2 (c6b7b351a@2023-08-23T15:28:22) driver version: 0.9.3
model input num: 1, output num: 3
model is NHWC input fmt
model input height=640, width=640, channel=3
Loading model...
sdk version: 1.5.2 (c6b7b351a@2023-08-23T15:28:22) driver version: 0.9.3
model input num: 1, output num: 3
model is NHWC input fmt
model input height=640, width=640, channel=3
rga_api version 1.9.1_[4]
loadLabelName ./model/coco_80_labels_list.txt
E RKNN: [18:52:48.447] failed to submit!, op id: 1, op name: Conv:Conv_0, flags: 0x5, task start: 0, task number: 196, run task counter: 0, int status: 0, please try updating to the latest version of the toolkit2 and runtime from: https://eyun.baidu.com/s/3eTDMk6Y (PWD: rknn)
E RKNN: [18:52:48.553] failed to submit!, op id: 1, op name: Conv:Conv_0, flags: 0x5, task start: 0, task number: 196, run task counter: 0, int status: 0, please try updating to the latest version of the toolkit2 and runtime from: https://eyun.baidu.com/s/3eTDMk6Y (PWD: rknn)

When modifying the threadNum variable to 1 in the main.cc file of the rknn-cpp-Multithreading project, the program executes successfully with a frame rate of 42 fps/s. However, it's noted that the recognition quality is poor under this configuration.
When increasing threadNum to 2 or 3, the following error is encountered:
E RKNN: [18:52:48.447] failed to submit!, op id: 1, op name: Conv:Conv_0, flags: 0x5, task start: 0, task number: 196, run task counter: 0, int status: 0, please try updating to the latest version of the toolkit2 and runtime from: https://eyun.baidu.com/s/3eTDMk6Y (PWD: rknn)

yes ,i have the same issue

When modifying the  variable to  in the  file of the rknn-cpp-Multithreading project, the program executes successfully with a frame rate of 42 fps/s. However, it's noted that the recognition quality is poor under this configuration.threadNum``1``main.cc
When increasing  to  or , the following error is encountered:threadNum``2``3
E RKNN: [18:52:48.447] failed to submit!, op id: 1, op name: Conv:Conv_0, flags: 0x5, task start: 0, task number: 196, run task counter: 0, int status: 0, please try updating to the latest version of the toolkit2 and runtime from: https://eyun.baidu.com/s/3eTDMk6Y (PWD: rknn)

yes ,i have the same issue
@nerbivol @shancaidazf
Someone encountered a situation where the first NPU core occupancy rate was low. His Linux kernel was version 6.1. After switching back to version 5.10, it ran normally. Another one is like yours, where the two NPU cores have low usage. At that time, they were running normally after changing to another Linux distribution. I guess there may be compatibility issues with the NPU driver under higher versions of the Linux kernel. But I don’t have an RK3588 development board for debugging now, so if you can’t find the problem, I suggest you change to another Linux distribution.