feat: Shows user charts by default when editing a dashboard

SUMMARY
https://github.com/apache/superset/pull/20684 introduced a change to allow a user to add charts owned/created by others to their dashboards. While this is a reasonable use case, the way it was implemented was to always display all charts accessible to the user which resulted in problems for organizations that contain many charts. From this comment, we can see some of the user feedback:

To me the experience is degraded, because almost all charts I add are created by me, and there’s a clear candidate for the next chart to add, i.e., it’s the chart most recently created by me.
Of course it’s good to be able to add charts created by others, but I would think that maybe this could be visible through a toggle (default is to show charts created by me, with toggle in “on” stage for “filter to my charts”).
This change of removing the filter might be an improvement in a small company, but in a big place it’s very unlikely that charts by others are useful to me, there’s just too many.

This PR modifies the dashboard editor to show by default only the charts owned or created by the user and gives the user an option to show other charts that are accessible to them. The reason for showing user charts by default is because it's more likely they will interact with their own charts and also for performance reasons, as we don't need to load all the metadata associated with a big number of charts upfront.
This PR also:

Rewrites actions/sliceEntities using Typescript to improve type checking and also simplify its logic
Removes items loaded in the Redux store after the user leaves editing mode

While developing, it was clear that we should also rewrite components/SliceAdder to simplify its logic and get rid of the react-virtualized-auto-sizer and react-search-input dependencies but I'll leave this to a follow up to simplify the review process.
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
https://user-images.githubusercontent.com/70410625/229212005-5d784ff4-7290-49d5-a398-729f6dc406a7.mov
TESTING INSTRUCTIONS
1 - Edit a dashboard
2 - Make sure it displays by default only charts owned or created by the user
3 - Select the option to view other charts
4 - Make sure it displays all charts accessible to the user
ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Required feature flags:
[ ] Changes UI
[ ] Includes DB Migration (follow approval process in SIP-59)

[ ] Migration is atomic, supports rollback & is backwards-compatible
[ ] Confirm DB migration upgrade and downgrade tested
[ ] Runtime estimates and downtime expectations provided

[ ] Introduces new feature or API
[ ] Removes existing feature or API

@kasiazjc Can you please review the proposed control? My thinking was to treat it as another filter, hence the checkbox. Any improvements are welcome 🙂

@kasiazjc Can you please review the proposed control? My thinking was to treat it as another filter, hence the checkbox. Any improvements are welcome 🙂

Thanks @michael-s-molina ❤
I agree this is a good change! In general I think that for now the checkbox makes sense - I was thinking that at some point we could have full on filters that would be hidden in a button (like "more filters" in horizontal navbar), so that you could filter by owner, dataset etc. But it's a long way to go.
In terms of styling:

let's align the checkbox to the left
(I think) let's bump the spacings between search and checkbox and thumbnails to 16px to give it more breathing space

In terms of behavior:
I am wondering if having a control that would say "Show my charts only" wouldn't be a better /more intuitive approach as we would start with the big list with all the possibilities, that you just narrow with the filter checkbox. We could also add a tooltip with information about this whole thing "By default, the chart list displays all charts that you have access to in the workspace. You can filter the list to show only charts that you own."
Curious to hear your thoughts @michael-s-molina @villebro 😌

In terms of styling:

let's align the checkbox to the left
(I think) let's bump the spacings between search and checkbox and thumbnails to 16px to give it more breathing space

Will do!

In terms of behavior: I am wondering if having a control that would say "Show my charts only" wouldn't be a better /more intuitive approach as we would start with the big list with all the possibilities, that you just narrow with the filter checkbox.

I think "Show my charts only" is an interesting suggestion and maybe even easier to understand than "Show all charts I have access to". @john-bodley did a similar suggestion but in his scenario, "Show my charts only" would be selected by default and the user could uncheck it. The advantage is this point:

The reason for showing user charts by default is because it's more likely they will interact with their own charts and also for performance reasons, as we don't need to load all the metadata associated with a big number of charts upfront.

We could also add a tooltip with information about this whole thing "By default, the chart list displays all charts that you have access to in the workspace. You can filter the list to show only charts that you own."

Great idea. The tooltip will be helpful.

Also - is the selection you made in the checkbox saved for the future or you have to click each time?

Currently, it's not persisted but I think it's a great idea because it would allow us to default to user charts but give them the option to change this default.
@villebro @kasiazjc @john-bodley In summary, are you all ok with changing the checkbox to "Show my charts only" , which is checked by default, has a tooltip, and persists its state in the local storage so users can change it?

/testenv up

@kasiazjc @villebro @john-bodley I implemented the suggestions and spun a test environment.

@kasiazjc @villebro @john-bodley I implemented the suggestions and spun a test environment.

Thanks! for some reason test env doesn't work for me, nor @yousoph, not sure why :( could you add a screenshot?

Thanks! for some reason test env doesn't work for me, nor @yousoph, not sure why :( could you add a screenshot?

I'm not sure why the test env is not working 😢 but here's a video showing the feature:
https://user-images.githubusercontent.com/70410625/229873805-bd472669-92c6-453e-8e90-df08114673d6.mov

@kasiazjc @kgabryje Is it ok to merge the PR?

@kasiazjc @kgabryje Is it ok to merge the PR?

Thank you for the video 😌 I had one other change that I was sure I have posted, but haven't - sorry!
Because the filter will be persisted now I'm thinking about changing the copy to something like:

You can choose to display all charts that you have access to in the workspace or only the ones you own. Your filter selection will be saved and remain active until you choose to clear or change it.

wdyt? otherwise I think it's good to go

Because the filter will be persisted now I'm thinking about changing the copy to something like:

You can choose to display all charts that you have access to in the workspace or only the ones you own. Your filter selection will be saved and remain active until you choose to change it.

I like it. I'll only remove the workspace term because it's a Preset thing 😉

@rusackas @eschutho @jinghua-qa @betodealmeida @geido Can any of you, Cypress owners, stamp it so I can merge the PR?

@michael-s-molina Would it be possible to apply this PR in Branch 2.1? I would really appreciate it.

@michael-s-molina Would it be possible to apply this PR in Branch 2.1? I would really appreciate it.

@qlands @rusackas Given that this is a feature, it should be added to 2.2 or 3.0 according to semantic versioning.

@michael-s-molina I understand, however, this feature is so important and missing in 2.X that it would help many deployments if merged sooner into 2.X.  I will try to merge it on my own fork for now—many thanks for the great work.

3.0 will be right on the heels of 2.1.1, so we'll be sure to get this into that major release.


Provide ability to "throttle" requests to avoid hitting quota for management APIs.

Customers with many environments hit the quota for Analytics APIs (100 calls per minute) when using:
apigeecli organizations reports yearly -y 2022 --env-details
It would be nice if they could set a time delay between each environment. For example:
for each env
    for each month
        Get month data
    sleep 10

That would set the rate to 72 per minute.
Or some other way to throttle API calls.

According to the documented limits, we can do 6000 API calls per minute (or 100 per second). I have included some changes that can throttle the rate. I will create a beta release and we can test if the throttling works.

Can you please try this release?

Analytics APIs are 100 calls per minute, different from Apigee APIs.
https://cloud.google.com/apigee/docs/api-platform/reference/limits#analytics-apis
I'll try it out, thanks!

hmm..then I made a mistake. The rate is too high, it is set to 1 every 100 milliseconds. I am going to rework this. Please wait for me to create a new release.

@kurtkanaskie - please try this release - v1.120.3-beta. I'm throttling at 1 API call per second or 60 per minute. This is well below the published limit.

I tried it out and it works fine. I like the straightforward solution!


Fragmented list : blank slide when the slide starts with a list

Fragmented lists are great, but when the slide has no title, no paragraph before the list, there is a blank slide. In this case, the first list item should appear immediately.
Thanks again!

Transferred from Marp for VS Code ▶ Marp CLI 🚚. How to show fragmented list is a part of Marp CLI's template bespoke.
Detection whether contents around of the fragmented list are empty is too many uncertainties to detect. Even if there is no paragraphs before the list, the slide author may want to use the list as fragmented. (e.g. background as content, custom HTML contents, delayed DOM insertion by JavaScript, etc...) And we're not want that the consistency in the whole of behavior for fragmented list would break by making exceptional case.
Thinking about more explicit way to disrecognize the first item as fragmented would be better. (If so, this issue is in the part of Marpit. We're always recommend to make a ticket in discussion forum first to avoid the confusion by issue transition.)


Samples should be provided with code-based configuration

Put simply: All the examples on the page reflect edits needed to the ApplicationInsights.config file to configure. Please include an example in each segment indicating how to configure the same from a .NET code-based approach.

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

ID: b7265053-e223-593d-eba7-7dc87c3f9246
Version Independent ID: 1b8daf9a-78f6-2ccf-ec31-85c125edc44b
Content: Explore .NET trace logs in Application Insights - Azure Monitor
Content Source: articles/azure-monitor/app/asp-net-trace-logs.md
Service: azure-monitor
Sub-service: application-insights
GitHub Login: @lgayhardt
Microsoft Alias: lagayhar

@WhitWaldo Thank you for your feedback! We will review and update as appropriate.

Assigning to content author @lgayhardt for review.

Thank you for helping us to improve the docs. We are tracking this internally. This item is currently on our backlog, will update this thread when the work item is completed. Thank you for your patience.
#please-close


fix: Fix dialog redirect/refresh behavior

Description
Currently, the <DesignPage /> component uses the useEffect hook to select the OnBeginDialog trigger when the user selects a dialog in the Project Tree. There are two issues with this approach. First, when the user refreshes the page or modifies the url, the page returns to the OnBeginDialog trigger. Secondly, the page navigates to the AdaptiveDialog editor first and then redirects to OnBeginDialog trigger. This causes the screen to flash between the two editors instead of just rendering the OnBeginDialog trigger.
To resolve this, we shifted the responsibility to select the OnBeginDialog trigger from the <DesignPage /> to the navTo dispatcher, which is called when the user selects a different dialog from the Project Tree. If the selected dialog has an OnBeginDialog trigger, the dispatcher appends the selection to the url before navigating to the appropriate editor. This allows the user to freely refresh the browser and modify the url without navigating away from their intended editor. It also doesn't cause the design page to switch between the AdaptiveDialog and the OnBeginDialog editors.
Task Item
Closes #3770
Closes #3911

Coverage increased (+0.04%) to 56.597% when pulling f42073a2f6b716e2a697e7fcef2db3874329b7da on tdurnford:fix/redirect into b9ab3cbfeb93f3b3a9e5107c3715e2d327de2dec on microsoft:main.

Coverage increased (+0.04%) to 56.597% when pulling f42073a2f6b716e2a697e7fcef2db3874329b7da on tdurnford:fix/redirect into b9ab3cbfeb93f3b3a9e5107c3715e2d327de2dec on microsoft:main.


Better autocomplete

The autocomplete in visual studio code is a bit weird because let's say that I make an application and I made a method called "ILoveMicrosoft", so when I try to call this function and right ILov and it will show me ILoveMicrosoft so I click Enter so it will complete it to ILoveMicrosoft but it won't put the brackets... it really annoys me cause I am used to using the normal visual studio...

What language?

@This-Cat-Is-On-Drugs  I'm sure it is because you choose the default snippet in the snippets list, instead of choosing your own.
And I'm pretty sure, that you don't even see your own made method snippet in the list, because of this issue - https://github.com/Microsoft/vscode/issues/32201

Closing since we didn't receive the additional info.


[Docs] Fix language issues for clarity

Fix up a bunch of English language usage issues and try to provide more clarity

[x] PR has tests / docs demo, and is linted.
[x] Commit and PR titles begin with [ComponentName], and are in imperative form: "[Component] Fix leaky abstraction".
[x] Description explains the issue / use-case resolved, and auto-closes the related issue(s) (http://tr.im/vFqem).

@skirunman Thanks


Can't get it to work on iOS

For some reason if I try to use this plugin with an iPhone it won't work. Nothing happens if I use the example code and tap a empty NFC Tag on the back of the phone. I will only get this error: [CoreNFC] 00000002 81c8b4e0 -[NFCTagReaderSession beginSessionWithConfig:]:378  error:Error Domain=NFCError Code=203 "System resource unavailable" UserInfo={NSLocalizedDescription=System resource unavailable}, errorCode: 0xcb

@pauldev20
Please check https://github.com/okadan/flutter-nfc-manager/issues/38#issuecomment-773263413


cmake: Support downloading Python 2.7.14

Reported-by: @johnmudd

See #204

Integrating now. Will address failure in a follow up PR


React 15 prep

Adds in a couple of small changes to prepare for React 15 support.

No deleting of ref in props.
Helper for properly rendering an empty component depending on the loaded React version

Fixes #8

Just went through a bunch of hoops to try this out on project currently in dev, and have found no issues so far. 👍

Any updates on this? Would love to update my project to React 15, and this is the only thing preventing me from doing so. Let me know if there's anything I can do to help. Thanks!

As far as I could tell the only real production issue in React 15 with this lib was the delete props.ref line:  https://github.com/cloudflare/react-gateway/pull/9/commits/17f49caa552616c6dd3ed0fcc6cd21e3b3dffd90.
Trying to support both React 14 & 15 in the tests was where it got confusing, but I'm not sure it really makes sense to do that.  Unless we set up the test cases to actually run multiple versions of React, we'd only ever be testing one version.  It might just be easier to:

Make React a peerDependency with versions "^0.14.2 || ^15.0.0".  This will have the added benefit of preventing multiple React bugs for people on npm3
Make a devDependency of React fixed at 15.0.0 or whatever version we want to test.  Seems a little weird to only test one version of React but say that we support multiple versions, but I've checked around and this seems to be what other packages are doing.

I'm happy to make more updates, just not sure what direction to go. Thoughts?

Thanks for the update @npbee, and yeah, the delete props.ref is the thing causing my problems as well. Re: tests, that's an interesting question - anecdotally, I've also done what you suggest (ie. fixed 15.0.x in devDependencies) in some of my own code and it's probably the easiest option for now. If there is interest in running tests against multiple React versions, maybe it deserves a new issue.

Just got here after banging my head against the error for a while. Glad to see that this is moving fast! Good work everyone!

How about we start with cherry-picking 17f49caa552616c6dd3ed0fcc6cd21e3b3dffd90 into master since that's seems to be useless code anyway, regardless of React version?

Would love to see this merged. Could I provide any help with this?

@thejameskyle
Any update on merging this and make a patch release? It's the only thing that's blocking me from using this plugin.

Ok I tried to cleaned up a bit and do what seemed to be the minimal amount of changes to get this working:

Removing the ref deletion
Moving React to a peer dependency plus a dev dependency.  This change is not without its own caveats, but seems to be the standard practice these days for React libraries.  With this change, we don't have to touch any of the test code but we can still support multiple versions.

Is there any update with this? I just ran into this exact situation...


set_index on a column containing NaN raises confusing error (partition_quantiles not robust to NaNs)

Minimal Complete Verifiable Example:
import pandas as pd
import dask.dataframe as dd

pdf = pd.DataFrame({"A": [1, 2, 3, 4, 5], "B": ["a", "b", float('nan'), "a", float('nan')]})
df = dd.from_pandas(pdf)
df.set_index("B")
# TypeError: '>=' not supported between instances of 'str' and 'float'

Full traceback
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-22-d04e3b506594> in <module>
----> 1 df.set_index("B")

~/dev/dask/dask/dataframe/core.py in set_index(***failed resolving arguments***)
   4342             from .shuffle import set_index
   4343
-> 4344             return set_index(
   4345                 self,
   4346                 other,

~/dev/dask/dask/dataframe/shuffle.py in set_index(df, index, npartitions, shuffle, compute, drop, upsample, divisions, partition_size, **kwargs)
    189
    190     if divisions is None:
--> 191         divisions, mins, maxes = _calculate_divisions(
    192             df, index2, repartition, npartitions, upsample, partition_size
    193         )

~/dev/dask/dask/dataframe/shuffle.py in _calculate_divisions(df, partition_col, repartition, npartitions, upsample, partition_size)
     38     mins = partition_col.map_partitions(M.min)
     39     maxes = partition_col.map_partitions(M.max)
---> 40     divisions, sizes, mins, maxes = base.compute(divisions, sizes, mins, maxes)
     41     divisions = methods.tolist(divisions)
     42     if type(sizes) is not list:

~/dev/dask/dask/base.py in compute(*args, **kwargs)
    568         postcomputes.append(x.__dask_postcompute__())
    569
--> 570     results = schedule(dsk, keys, **kwargs)
    571     return repack([f(r, *a) for r, (f, a) in zip(results, postcomputes)])
    572

~/dev/dask/dask/threaded.py in get(dsk, result, cache, num_workers, pool, **kwargs)
     77             pool = MultiprocessingPoolExecutor(pool)
     78
---> 79     results = get_async(
     80         pool.submit,
     81         pool._max_workers,

~/dev/dask/dask/local.py in get_async(submit, num_workers, dsk, result, cache, get_id, rerun_exceptions_locally, pack_exception, raise_exception, callbacks, dumps, loads, chunksize, **kwargs)
    505                             _execute_task(task, data)  # Re-execute locally
    506                         else:
--> 507                             raise_exception(exc, tb)
    508                     res, worker_id = loads(res_info)
    509                     state["cache"][key] = res

~/dev/dask/dask/local.py in reraise(exc, tb)
    313     if exc.__traceback__ is not tb:
    314         raise exc.with_traceback(tb)
--> 315     raise exc
    316
    317

~/dev/dask/dask/local.py in execute_task(key, task_info, dumps, loads, get_id, pack_exception)
    218     try:
    219         task, data = loads(task_info)
--> 220         result = _execute_task(task, data)
    221         id = get_id()
    222         result = dumps((result, id))

~/dev/dask/dask/core.py in _execute_task(arg, cache, dsk)
    117         # temporaries by their reference count and can execute certain
    118         # operations in-place.
--> 119         return func(*(_execute_task(a, cache) for a in args))
    120     elif not ishashable(arg):
    121         return arg

~/dev/dask/dask/optimization.py in __call__(self, *args)
    967         if not len(args) == len(self.inkeys):
    968             raise ValueError("Expected %d args, got %d" % (len(self.inkeys), len(args)))
--> 969         return core.get(self.dsk, self.outkey, dict(zip(self.inkeys, args)))
    970
    971     def __reduce__(self):

~/dev/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)

~/dev/dask/dask/core.py in _execute_task(arg, cache, dsk)
    117         # temporaries by their reference count and can execute certain
    118         # operations in-place.
--> 119         return func(*(_execute_task(a, cache) for a in args))
    120     elif not ishashable(arg):
    121         return arg

~/dev/dask/dask/utils.py in apply(func, args, kwargs)
     35 def apply(func, args, kwargs=None):
     36     if kwargs:
---> 37         return func(*args, **kwargs)
     38     else:
     39         return func(*args)

~/dev/dask/dask/dataframe/core.py in apply_and_enforce(*args, **kwargs)
   5948     func = kwargs.pop("_func")
   5949     meta = kwargs.pop("_meta")
-> 5950     df = func(*args, **kwargs)
   5951     if is_dataframe_like(df) or is_series_like(df) or is_index_like(df):
   5952         if not len(df):

~/dev/dask/dask/utils.py in __call__(self, _methodcaller__obj, *args, **kwargs)
   1019
   1020     def __call__(self, __obj, *args, **kwargs):
-> 1021         return getattr(__obj, self.method)(*args, **kwargs)
   1022
   1023     def __reduce__(self):

~/miniconda3/envs/dask-dev/lib/python3.8/site-packages/pandas/core/generic.py in stat_func(self, axis, skipna, level, numeric_only, **kwargs)
  11472         if level is not None:
  11473             return self._agg_by_level(name, axis=axis, level=level, skipna=skipna)
> 11474         return self._reduce(
  11475             func, name=name, axis=axis, skipna=skipna, numeric_only=numeric_only
  11476         )

~/miniconda3/envs/dask-dev/lib/python3.8/site-packages/pandas/core/series.py in _reduce(self, op, name, axis, skipna, numeric_only, filter_type, **kwds)
   4247                 )
   4248             with np.errstate(all="ignore"):
-> 4249                 return op(delegate, skipna=skipna, **kwds)
   4250
   4251     def _reindex_indexer(self, new_index, indexer, copy):

~/miniconda3/envs/dask-dev/lib/python3.8/site-packages/pandas/core/nanops.py in f(values, axis, skipna, **kwds)
    127                     result = alt(values, axis=axis, skipna=skipna, **kwds)
    128             else:
--> 129                 result = alt(values, axis=axis, skipna=skipna, **kwds)
    130
    131             return result

~/miniconda3/envs/dask-dev/lib/python3.8/site-packages/pandas/core/nanops.py in reduction(values, axis, skipna, mask)
    871                 result = np.nan
    872         else:
--> 873             result = getattr(values, meth)(axis)
    874
    875         result = _wrap_results(result, dtype, fill_value)

~/miniconda3/envs/dask-dev/lib/python3.8/site-packages/numpy/core/_methods.py in _amax(a, axis, out, keepdims, initial, where)
     28 def _amax(a, axis=None, out=None, keepdims=False,
     29           initial=_NoValue, where=True):
---> 30     return umr_maximum(a, axis, None, out, keepdims, initial, where)
     31
     32 def _amin(a, axis=None, out=None, keepdims=False,

TypeError: '>=' not supported between instances of 'str' and 'float'

Note that the error occurs eagerly while trying to calculate good divisions.
Setting a column containing NaNs as the index is probably a bad idea, so if we still want this to error, that would be reasonable. But an error like "Cannot calculate division for column "B" since it contains NaN values. Consider `.dropna(subset=["B"])` first." would be much more helpful.
Though it is a valid thing to do in Pandas:
>>> pdf.set_index("B")
     A
B
a    1
b    2
NaN  3
a    4
NaN  5

xref https://github.com/dask/dask/issues/5720?
Environment:

Dask version: c2278fece0d4fb4af1e63b6ca26e6a90f63b0fc3
Python version: 3.8.8
Operating System: macOS
Install method (conda, pip, source): source

Yeah I think raising a better error is probably good enough.

I'm currently dealing with this, raising an error if any NaN is found.
This is definitely what should be done, because divisions rely on being comparable and distinct from each other (except possibly divisions[-1], see the discussion in #8845 ), but with NaNs comparisons and equality are terribly confusing:

# Numpy's nan
>>> from numpy import nan
>>> nan == nan
False
>>> nan != nan
True
>>> nan is nan
True
>>> nan is not nan
False

# Note the difference with Python's nan
>>> float('nan') == float('nan')
False
>>> float('nan') != float('nan')
True
>>> float('nan') is float('nan')
False
>>> float('nan') is not float('nan')
True

# Pandas NA for extension types
>>> NA == NA
<NA>
>>> NA != NA
<NA>
>>> NA is NA
True
>>> NA is not NA
False

Hope to have a PR by next week!

Thanks for engaging with this @jorloplaz! I agree that nans are often confusing, but luckily for dask the correct answer is always "whatever pandas does". So for instance is_monotonic_increasing should be False

Yes, but in this case for Dask it's very important that the index is sorted (whenever known_divisions is True). That's why you have the sorted flag in set_index, all the partitionquantiles code, etc. And as a result the elements in divisions must be unique and, more importantly, comparable among each other.
That's why I strongly advocate for raising an error if trying to set an index with some missing value in that column. Maybe in the future when we settle things regarding divisions and unicity, we can come back to this. So perhaps a NotImplementedError would be the best here?

Yeah that makes sense. A NotImplementedError until we can come up with a more robust plan seems like a good choice.

Just made a PR with this. I think the result is rather neat, hope you find it so!

I think it's ok for this work to just improve the error messages on things that already fail.
I would also be happy for dask to add a na_position argument like you suggest. As to your second point, this seems like an edge case, so would it really be so bad to have separate partitions for each null dtype?


Dependency on PrefixFree

commit cf3799c (HEAD, refs/bisect/bad)
| Author: Lea Verou<EMAIL_ADDRESS>| Date:   Thu Oct 20 02:49:56 2011
|
|     -prefix-free integration, dropped older css-prefix.js

This commit added a regression since you are referencing prefixfree outside of the scope of the project, which assumes that users of CSSS will have prefixfree installed at the exact same location as you have locally.
Prefixfree should be should be added as a submodule to fix this.

I forgot to add that the regression I spotted was the missing transitions when shanging items and slides

Hi Munter,
Yes, I was thinking about this myself. I read about how to add submodules, but I'm still kinda scared to try it out.
Do you have any example of a repo that uses submodules, so that I can check out how it works when cloning, pulling etc?
Thanks!

I actually pull in CSSS as a submodule in One-color.js at /slides/3rdparty/
We use it at lot at work for external dependencies and for our own libs that have been open sourced and moved to github.
The basic concept resembles that os a symlink, but hardcoded to a specific commit on the submodule. So when using submodules you need to manually update your reference to a new version when you update prefixfree. This adds an extra working step, but also helps you remember to test that there are no regressions.
Workflow for committing a submodule version update:
cd submodule/path/
git pull (or checkout specific version)
cd root/of/CSSS
git commit .gitmodules
You usually need to remember the users of the library that they need to pull in submodules as well:
cd CSSS
git submodule update --init
If you ever spot a regression in CSSS caused by something in prefixfree you can fix the bud right there inside your submodule checkout, which I find useful for direct testing without making roundtrips through github to test.

So it has to be a folder inside each repo, it can't be outside like now, right?
Is there a way to make it work with the current reference?

The repo can't track anything outside itself, so no-go on that.
I don't see a way it can work in a way where you can refer to prefixfree outside the CSSS folder and still expect it to work when people clone jsut CSSS.
A simple solution could of course be to check in a copy of prefixfree.min.js inside CSSS and update that when needed. That of course gives you less possibilities to debug.

That close button certainly is 'close' to the comment button :)

The problem is that I also upload everything to my website, and need it to work both locally, and remotely, and on gh-pages. So, that would be a problem. Now I neatly have a different folder for everything, and it even works on gh-pages, when the other repo has a page too.
I'll think about what I can do. Although I don't think it's that hard to clone the other repo as well. But it could become a hassle once I introduce more dependencies. :(

Ha, I know why you clicked the close button. If you post a comment with 6 lines and then click "Comment" and keep your mouse pointer in the same position, after it's posted, your mouse is exactly over "Close issue"!

I really like shavenyaknz idea. Otherwise it might be great to simply add the latest version of prefix-free to CSSS to make morking from the beginning.

I request #22 to male prefixfree as submodule and solve it


Cask request: osxfuse 3.4.1

Sorry for not using the template, but what I want to request is an update--the current Cask version of osxfuse is 2.8.3, while the latest released version is 3.4.1. It also might be appropriate to change the source from SourceForge to GitHub, now that development of osxfuse is going on here. Thank you.
https://github.com/caskroom/homebrew-cask/blob/master/Casks/osxfuse.rb
https://github.com/osxfuse/osxfuse/releases

3.4.1 is a pre-release, we only take stable releases.


Add list_remote_shares

Add a script to use NetShareEnum Win32 API to enumerate the share accessible on a remote server by the current user.
No need to provide credentials, but It should be run on Windows.

@nodauf  Thanks!l


[Longhorn] Downloading mirrored auth proxy image fails

Following the airgapped guide runs into an error when downloading the oauth proxy image:
2024-09-30 14:27:24 INF adding 'image' [rancher/mirrored-longhornio-openshift-origin-oauth-proxy] to the store
2024-09-30 14:27:24 ERR error (attempt 1/3): getting image "index.docker.io/rancher/mirrored-longhornio-openshift-origin-oauth-proxy:latest": GET https://index.docker.io/v2/rancher/mirrored-longhornio-openshift-origin-oauth-proxy/manifests/latest: MANIFEST_UNKNOWN: manifest unknown; unknown tag=latest
2024-09-30 14:27:30 ERR error (attempt 2/3): getting image "index.docker.io/rancher/mirrored-longhornio-openshift-origin-oauth-proxy:latest": GET https://index.docker.io/v2/rancher/mirrored-longhornio-openshift-origin-oauth-proxy/manifests/latest: MANIFEST_UNKNOWN: manifest unknown; unknown tag=latest
2024-09-30 14:27:35 ERR error (attempt 3/3): getting image "index.docker.io/rancher/mirrored-longhornio-openshift-origin-oauth-proxy:latest": GET https://index.docker.io/v2/rancher/mirrored-longhornio-openshift-origin-oauth-proxy/manifests/latest: MANIFEST_UNKNOWN: manifest unknown; unknown tag=latest

The original one would be swapped in in the meantime but we need to figure out the reason for this failure.

User error - missed the version when editing the definition file.


WIP: More PSD modes

Closes #3631.
This changes our normalization and units to be clearer in raw.plot_psd. In the case where dB=False, it plots amplitudes instead of power, which seems to be how people prefer to view these things (1/sqrt(Hz)).
I'll paste images of new data when they come up on CircleCI.
Not ready for MRG because this will break some Epochs plotting. I'm going to wait to fix that until people are happy with the raw plots in case I need to add other things along the way.

besides LGTM

Existing example:
https://mne-tools.github.io/dev/auto_tutorials/plot_artifacts_correction_filtering.html
Updated version (there are some bugs with the labeling I need to fix):
https://3897-1301584-gh.circle-artifacts.com/0/home/ubuntu/mne-python/doc/_build/html/auto_tutorials/plot_artifacts_correction_filtering.html
Newly added example:
https://3897-1301584-gh.circle-artifacts.com/0/home/ubuntu/mne-python/doc/_build/html/auto_examples/visualization/plot_sensor_noise_level.html

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@a547bb6). Click here to learn what that means.
The diff coverage is 93.22%.

@@           Coverage Diff            @@
##             master   #4018   +/-   ##
========================================
  Coverage          ?   86.2%
========================================
  Files             ?     350
  Lines             ?   63204
  Branches          ?    9645
========================================
  Hits              ?   54483
  Misses            ?    6030
  Partials          ?    2691

Continue to review full report at Codecov.

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

Okay labels are fixed.
Again, for plot_psd old, revamped, and new example.
For plot_evoked minor change old and revamped, no data().

thx @Eric89GXL


Added summary step list, edits, updated DTR image.

Update to Install Docker Trusted Registry topic, includes DTR image update to v2.7.x.

@Dawn-Wood, @traci-morrison, @jose-bigio, PTAL.

Thanks for your feedback. Docker Enterprise docs are now part of Mirantis. You can take a look at the Docker Enterprise documentation at https://docs.mirantis.com/docker-enterprise/.


save the key for the dataset

dat add flights.csv --key=pk --dataset=flights

in subsequent adds, --key pk is implicit
dat add flights2.csv --dataset=flights

but you could still do
dat add flights3.csv --dataset=flights --key=mykey

on all other datasets, the key is still being autogenerated
dat add flights4.csv --dataset=some-other-dataset

:+1: an api for getting/setting the current key props would be useful for this as well

@mafintosh where do you think we should save it? somewhere in dat-core?

@mafintosh or a config file?


Improve the search bar

I assume it's the same frame for every search fonction in the platform.
A user complained that he was unable to find "seplan" using the search bar. It was indeed normal as the app name is "se.plan" with a .. It will be an issue for every ponctuation mark (" ", "_", "-", "."), could the regex search be imporved to ignore these characters ?

I've pushed a fix to ignore non-alphanumeric characters when searching.


Hardcoded Pin mux, pad control and Drive Strength (AKA Slew-rate and Frequency) Settings

Discussion from STM32 IO compensation cell initialization fix. Discussion
I discovered some issues with the massive over shoot on SPI. (way out of spec, MAX VIH to the receiving IC's) I am sure there are others. This is total a HW use case dependent setting and effects EMI, crosstalk etc.
I think we need to do a pass on ALL the pin mux files to removes the slew-rate setting from the pin maps. Unfortunately has massive ripple effects and will need to be done in such a way to allow an override, and not break all the boards.
@fjpanag:
@davids5 I think that the default slew rate is for 50Mhz. This is not excessive for SPI.
This seems like a hardware design problem (lines termination etc), and I don't thing we should make a change in NuttX for this. It make break other user's code. Maybe we should add a new configuration in Kconfig, so the user can select the slew rate for every SPI, while keeping the default at 50Hz.
(As a side note, ringing usually does not have enough energy to cause latch-ups in other chips, although max. VIH is violated. But of course you know better, as you tested the actual hardware...)
@davids5:

@davids5 I think that the default slew rate is for 50Mhz. This is not excessive for SPI.

I here you, I original thought the same thing, hence the defaults*.

This seems like a hardware design problem (lines termination etc), and I don't thing we should make a change in NuttX for this.

This is the point. The line termination and characteristic of an interface is hardware dependent, really board dependent.

Signal integrity is effected. (cross talk) but over driving the lines.
FCC certifications is effected by slew-rate (drive strength).

Our EE group (amazing Wizards) have suggested we want to set the minimum drive strength that achieves quality signal integrity and no more.
Contrast a board 3 x 3 cm PCB (controlled impedance) with an SoC and SPI to devices on it and one with connectors and cables to it devices. The impedance will vary greatly.  This really requires looking at the signals (with proper equipment) and adjusting drive strength correctly.

It make break other user's code. Maybe we should add a new configuration in Kconfig, so the user can select the slew rate for every SPI, while keeping the default at 50Hz.

Yes I 100% agree we should not make a change that is breaking, and I would choose to default it as is.

(As a side note, ringing usually does not have enough energy to cause latch-ups in other chips, although max. VIH is violated. But of course you know better, as you tested the actual hardware...)

The failure was on an H7 using SPI DMA on a mems sensor 7mm from the SoC. When the clock was continuous because of the DMA the device failed at the high drive strength. Lower it and it works. Probe it with a 10X 14pf Probe and it works. Probe it with .9 pf active Probe and you see .7V over VDD on every rising edge.
My suspicion is that the current injection to the substrate via the body diodes, caused the ADC to or loose its bias and clamp as the data was a FIFO full of 00s. Lower the drive strength and once the over shoot was gone it works fine.
The code need to fix the overcome the problem is ugly and does not scale well but moreover we state the setting should be done in board.h. We (I) broke that contract based on *above.
This opens another heated can of worms. There are defaults. where the pin mux has only one appearance. These will need to be have numbers added (I suggest _0 to make it obvious). To allow proper usage. Again massive ripple.

While some solutions were discussed in

https://github.com/apache/nuttx/pull/5012

I would like to propose a solution for this issue as a request for comment:

That will not effect any existing boards
Will allow us to fix the issues without forcing massive changes.
Eventually after N more releases of NuttX deprecate the solution.

Steps to get there:

Kconfig for all effected arches will have STM32xxx_USE_LEGACY_PINMAP set to yes as a default.
Rework top level pinmap files E.G. hardware/stm32_pinmap.h.
The current pinmap file will be renamed with _legacy  E.G. hardware/stm32h7x3xx_pinmap_legacy.h
Rework chip specific files removing speeds and adding _0 to the previous no-selectable pins with speeds
Rework chip specific files adding _0 to the previous no-selectable pins

The hardware/stm32_pinmap.h will have the following structure
#if defined(STM32H7_USE_LEGACY_PINMAP )
#  if defined(CONFIG_STM32H7_STM32H7X3XX)
#    include "hardware/stm32h7x3xx_pinmap_legacy.h"
#  elif defined(CONFIG_STM32H7_STM32H7X7XX)
#    include "hardware/stm32h7x3xx_pinmap_legacy.h"
#  else
#     error "Unsupported STM32 H7 Legacy Pin map"
#  endif
#else
#  if defined(CONFIG_STM32H7_STM32H7X3XX)
#    include "hardware/stm32h7x3xx_pinmap.h"
#  elif defined(CONFIG_STM32H7_STM32H7X7XX)
#    include "hardware/stm32h7x3xx_pinmap.h"
#  else
#     error "Unsupported STM32 H7 Pin map"
#  endif
# endif

Moving forward boards will turn off STM32xx_USE_LEGACY_PINMAP and update the board.h files to fully define
the pins with selected speeds.
was:
#define GPIO_SDMMC2_CK   GPIO_SDMMC2_CK_1  /* PD6  FC_PD6_SDMMC2_CK  */
#define GPIO_SDMMC2_CMD  GPIO_SDMMC2_CMD_1 /* PD7  FC_PD7_SDMMC2_CMD */
//      GPIO_SDMMC2_D0   No Remap          /* PB14 FC_PB14_SDMMC2_D0 */
//      GPIO_SDMMC2_D1   No Remap          /* PB15 FC_PB15_SDMMC2_D1 */
#define GPIO_SDMMC2_D2   GPIO_SDMMC2_D2_1  /* PG11 FC_PG11_SDMMC2_D2 */
//      GPIO_SDMMC2_D3    No Remap         /* PB4  FC_PB4_SDMMC2_D3  */

is:
#define GPIO_SDMMC2_CK      (GPIO_SDMMC2_CK_1    |  GPIO_SPEED_25MHz)  /* PD6  FC_PD6_SDMMC2_CK  */
#define GPIO_SDMMC2_CMD  (GPIO_SDMMC2_CMD_1 |  GPIO_SPEED_2MHz)  /* PD7  FC_PD7_SDMMC2_CMD */
#define GPIO_SDMMC2_D0   (GPIO_SDMMC2_D0_0  | GPIO_SPEED_2MHz) /* PB14 FC_PB14_SDMMC2_D0 */
#define GPIO_SDMMC2_D1   (GPIO_SDMMC2_D1_0  |  GPIO_SPEED_2MHz)/* PB15 FC_PB15_SDMMC2_D1 */
#define GPIO_SDMMC2_D2    GPIO_SDMMC2_D2_1  | GPIO_SPEED_2MHz)  /* PG11 FC_PG11_SDMMC2_D2 */
#define GPIO_SDMMC2_D3   (GPIO_SDMMC2_D3_0  | GPIO_SPEED_2MHz) /* PB4  FC_PB4_SDMMC2_D3  */

To maintain the speed that was set in the legacy files just diff the _legacy file with the non legacy file and use that
speed when creating the #define.

I am a stm32h7 user, thanks for the mailing list notification or I would have missed this.
I agree with this proposed change.
It is important to notify all stm32h7 users in a very visible way, so everyone can switch to the new definitions without default speeds. I suggest not to restrict this info to final release notes, but have it somewhere visible that indicates the important trunk change, including the commit that introduces the change.
It is also important to make sure that the legacy mechanism actually works for everyone.
As soon as this proposed change is implemented, I will be able to test that the behaviour of my board is not broken.

wait, if I build your new commit with a full stored defconfig, and I dont regenerate this config, the default setting will not be added!

@slorquet have a look at https://github.com/apache/nuttx/pull/8992. Let me know if it addresses all the concerns you have.


probe-rs SIGSEGVs when compiled with musl

Describe the bug
Running probe-rs with any command after having it compiled using musl instead of glibc results in a SIGSEGV.
To Reproduce
Steps to reproduce the behavior:

Compile using musl.
cargo run --features=cli --bin probe-rs -- list
SIGSEGV
Sadness.

Expected behavior
Normal CLI behaviour.
Stacktrace
fish: Job 1, 'cargo run --bin probe-rs --feat…' terminated by signal SIGSEGV (Address boundary error)

Desktop (please complete the following information):

Alpine Linux 3.20.0_alpha20231219

How exactly did you compile probe-rs?  I haven't yet gotten it to actually compile with musl, I usually give up when it tries to get libudev.

How exactly did you compile probe-rs? I haven't yet gotten it to actually compile with musl, I usually give up when it tries to get libudev.

You can build probe-rs with eudev-dev installed.
I just tried this in a VM (actually an LXC container using Alpine Linux 3.18) and then on my local machine (using Alpine Linux edge 3.20) and probe-rs seemingly functioned in the VM but not on my actual machine. So, my guess would be there has been some kind of regression in eudev between version 3.2.11-r8 and 3.2.14-r1 which sounds delightfully fun to debug.
I have narrowed it down to occur whenever the Rust libudev bindings are trying to create a new device a stack overflow occurs but unsure as to why.

I've figured it out and feel deflated that it wasn't a regression or something equally exciting, but instead was just linking shenaniganry.
Quoting the Rustlang reference:

Typically targets are linked dynamically by default, but there are exceptions which are static by default such as:
...
x86_64-unknown-linux-musl

So, from what I understand, what was happening was libudev-rs wants a link to the libudev library file via libudev-sys but, since Alpine is a musl-based target, cargo defaulted to statically try to compile libudev-rs (and libudev-sys into the resulting probe-rs binary which then expects to be able to dynamically link libudev in at runtime which then fails since libudev-sys doesn't actually properly grab the underlying library.
This is a bug in libudev-sys, since it doesn't properly link against the libudev.so library file in its build.rs and thus this subtly can get introduced into a successfully compiled binary. There is a standing PR that fixes this that has not been merged in yet.
However, seeing as the libudev-sys crate has not been updated in a bit and libudev-rs has a standing issue about whether it is maintained or not, I think it would probably be good to have a note in the README.md for people using musl on how to compile this. (Also adding a musl build to the CI would be cool). At least until the maintainer uploads the fix to the registry.


A9G Pudding Stop Working after running for a while.

1. SDK version（SDK 版本)
{
V2.112
}
2. In what kind of operation problems appear, and how to reproduce the problem ?（什么样的操作步骤问题会出现，是否是稳定复现，如何复现问题？）
{
During normal operation of the application. The code https://pastebin.com/GwZEmapX
}

I have same problem, after a long period of working the module won't start again, it seems like no power arrives to A9G but 5V is applied

Hi, i have same problem. Could u solve it? Thanks

Hi, i have the same problem. i have 10 A9G GPS trackers and some cads fail, no reason.

It's been a while since I last worked with the A9G dev board. At the time when I was, I figured out that most of the weird failures of the device disappeared when I switched to a more capable voltage regulator. I cannot remember the exact component that I used but I would suggest you try fiddling with the power supplied to the device first.


Ability to one way hash specific attributes in payload

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. It would be nice to have [...]
As a user of DataPrepper obfuscate processor, I would like to have the option to hash sensitive data fields, so the same value of the fields has a predictable value that can be searched on without revealing the data in clear.
Note: This is different from masking, which is available as part of the existing obfuscate processor.
Describe the solution you'd like
A clear and concise description of what you want to happen.
Update existing obfuscate processor (or create a new one) that can take optional (seed/salt) and produce a one way hash using common hash functions SHA-* and others
Describe alternatives you've considered (Optional)
A clear and concise description of any alternative solutions or features you've considered.
There is a possibility of invoking a remote function, but it will be expensive and performant for processing/hashing messages at volume.
Additional context
Add any other context or screenshots about the feature request here.

@mishavay-aws could you provide more details on this? Like what all SHA functions you would like to be supported? MD5, SHA-2, SHA-3 all of them or just of them is good to start with?

@mishavay-aws it would help greatly if you could provide an example too. How is the hash key provided during the config, and so on.

We made the obfuscate processor accept different plugins for obfuscation. So we could add a new action to the obfuscate processor to do this.
https://github.com/opensearch-project/data-prepper/blob/ad92aa25b80a4951176f8c45c475dc6d704c2e75/data-prepper-plugins/obfuscate-processor/src/main/java/org/opensearch/dataprepper/plugins/processor/obfuscation/ObfuscationProcessorConfig.java#L30-L31
@mishavay-aws , Would you be interested in making a contribution to do this? You would need to implement a new ObfuscationAction. You can follow the pattern shown for mask here:
https://github.com/opensearch-project/data-prepper/blob/main/data-prepper-plugins/obfuscate-processor/src/main/java/org/opensearch/dataprepper/plugins/processor/obfuscation/action/MaskAction.java

I will look into this @dlvenable.


hook 'page' is deprecated

By using gitbook 2.0.0, autocover raise the next error
hook 'page' used by plugin 'gitbook-plugin-anchors' is deprecated, and will be remove in the coming versions

This should be updated.

+1

Any update on this?

+1 @rlmv please attention

Hi @piranna @zuoRambo @wcandillon, I'm no longer using Gitbook so have not kept up with the Gitbook API. Can one of you send me a pull request? I'm happy to merge.

@rlmv i study the source code of gitbook,find that after the version 0.7.1 gitbook deprecated many hooks
//line 33  lib\plugin.js
Plugin.HOOKS = [
    "init", "finish", "finish:before"
]

//line 158
if (!_.contains(Plugin.HOOKS, name)) this.book.log.warn.ln("hook '"+name+"' used by plugin '"+this.name+"' is deprecated, and will be removed in the coming versions");

And how we could fix it? What could be the alternative to 'page' hook?

Just to make things even worse, the hook may or may not actually be deprecated: GitbookIO/gitbook#684

These hooks are no longer deprecated: https://github.com/GitbookIO/gitbook/commit/a4422593f20b9e410f13841cc20b8b9a1632eab0

Looks like this is resolved. Thanks for the update @SamyPesse!


VirtualBox\ VMs dir not specified correctly throughout

Author has too many VirtualBox VM directories inconsistently named.
Case-insensitive HFS+ volumes allow the errors to go unnoticed in development
Correct all instances with references to this in scripts, ideally set variable in USER_CONFIG.env

fixed in v0.1.0


[BBB] Following an invite link when you're logged-in as an instructor

Feature Request
Is your feature request related to a problem or unsupported use case? Please describe.
I'm logged-in on the site and instructor of one BBB conference.
When  I follow an invite link for the conference on which I'm an instructor, of the form:
https://marsha.education/my-contents/classroom/123456789-4365-1234-1234-abcdefgh1234/invite/eyabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz.....abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz
I see the invite screen saying that the meeting has not yet started.
Describe the solution you'd like
I expected to see the conference's dashboard because I'm logged-in on the site and an instructor for this conference... Why do you treat me like you don't know me?

I think that following an invite link (not a moderator one) should display the student dashboard, even if we are logged in as an instructor.
So the current behavior seems right to me.
WDYT @lunika ?


Fix divergent branches docs layout

I also noticed there are extra spaces here: https://github.com/packit/packit.dev/blob/68f275dd8d26742c04de6fd0a764c85650daf2fd/docs/fedora-releases-guide/index.md#L229


Match on process suffix instead of contains

This PR changes the name matcher for the instrumented process to look for the suffix in the full path, instead of matching a partial path. This should avoid false positives on matching the name of a process accidentally, e.g:
We shouldn't match /server in here /home/user/.vscode/extensions/rust-lang.rust-analyzer-0.3.1472-linux-x64/server/rust-analyzer, but we should match it here ./server

Codecov Report

Merging #73 (d3103f7) into main (a5769e0) will not change coverage.
The diff coverage is 0.00%.

@@           Coverage Diff           @@
##             main      #73   +/-   ##
=======================================
  Coverage   46.82%   46.82%
=======================================
  Files          15       15
  Lines        1119     1119
=======================================
  Hits          524      524
  Misses        548      548
  Partials       47       47

Flag
Coverage Δ

unittests
46.82% <0.00%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

pkg/goexec/file.go
36.95% <0.00%> (ø)

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

LGTM. Just a minor comment that can be done later.
BTW the integration test failed because GRPC integration tests are flaky. I recorded an issue: #65

Thanks Mario! I'll take a look at that grpc flakiness.


RHEL-08-010295: GnuTLS Encryption | Line Bug

Describe the Issue
When applying RHEL-08-010295, RHEL8-STIG looks for +VERS-ALL: and then applies the contents of the rhel8stig_gnutls_encryption after it using backrefs. However, this causes +VERS-ALL: to be added again every time the STIG playbook is run.
This causes Ansible to report it as "changed" every time even when it shouldn't, as a compliant file still gets edited.
Expected Behavior
Only add the +VERS-ALL: and rhel8stig_gnutls_encryption if required.
Actual Behavior
Duplicate +VERS-ALL added each time, i.e. after two runs:
+VERS-ALL:+VERS-ALL:+VERS-ALL:-VERS-DTLS0.9...etc.
Reports changed every time, as the file is being changed.
Control(s) Affected
RHEL-08-010295

hi @Rwarcards762
Thanks again for all your work on this.
uk-bolly

This issue is fixed in release 2.6.0, thank you for opening the issue!
-George


Suggestion: Udacity new courses

Hi there, just wondering if new courses from Udacity will be a benefit to this list?
such courses:
Intro to Self-Driving Cars Nanodegree
AI Programming with Python Nanodegree
Become a Computer Vision Expert Nanodegree
Natural Language Processing Nanodegree

My understanding of the Udacity Nanodegree programs is that they are paid content. Unless there are specific, non-paid components then I would refer back to the FAQ:

Does every resource in the main curriculum have to be free?
Yes, because we have to draw a line. As soon as we require paid resources in the main curriculum, we might as well tell people to pay half a million dollars to attend a university. We are an Internet-based community of learners, not a business, so free is the most sensible price and ensures that the only price you need pay is the price of Internet access.

Thank you for pointing out these resources. If they fit into v9 or a future version of OSSU, we will certainly include them!
I'll also include a link to a course recommendation made by another student. This is an excellent example of the sort of analysis that can help everyone judge the place of a course in the curriculum.


[ADH-3953] Add distcp action

Added distcp action
Fixed issue with inability to use HDFS with enabled smart client in use cases with several clusters
Added GitHub CI script for running tests on PRs

For some reason GitHub didn't automatically start CI after this PR opened, as it was done for PR in the fork. See CI job run results for the same commits in the fork.


Add thumbinail on owlcarousel update

Hello!
I'm initializing carousel like so:
$('.owl-carousel').$carousel.owlCarousel({    items: 1,    dots: false,    margin: 5,    loop: true,    thumbImage: true,    thumbs: true, });
At moment of initialization it have one image. Thumbinail is rendered OK.
I need to add image to owl. I'm doing it like so:
$('.owl-carousel)    .owlCarousel('add', '

')    .owlCarousel('update');
After this, carousel updated OK, but thumbinails did not.
Is there any way to update thumbinails when item added to main owl.carousel?
Thanks.

I have same issue.
Any update please?
Thanks


Fix PinotInstanceRestletResource APIs

Fix the API for enabling/disabling/dropping an instance
Return more detailed information when an instance cannot be dropped

Codecov Report

Merging #2899 into master will decrease coverage by 9.94%.
The diff coverage is 10%.

@@            Coverage Diff             @@
##           master    #2899      +/-   ##
==========================================
- Coverage   69.15%   59.21%   -9.95%
==========================================
  Files         912      912
  Lines       43598    43591       -7
  Branches     5926     5925       -1
==========================================
- Hits        30152    25812    -4340
- Misses      11429    15870    +4441
+ Partials     2017     1909     -108

Impacted Files
Coverage Δ

...ntroller/helix/core/PinotHelixResourceManager.java
53.6% <0%> (-6.87%)
:arrow_down:

...er/api/resources/PinotInstanceRestletResource.java
50% <15.78%> (-18.75%)
:arrow_down:

...ection/iterator/DoubleSelectionColumnIterator.java
0% <0%> (-100%)
:arrow_down:

...inkedin/pinot/minion/metrics/MinionQueryPhase.java
0% <0%> (-100%)
:arrow_down:

...pinot/minion/exception/TaskCancelledException.java
0% <0%> (-100%)
:arrow_down:

...executor/ConvertToRawIndexTaskExecutorFactory.java
0% <0%> (-100%)
:arrow_down:

...t/minion/executor/TaskExecutorFactoryRegistry.java
0% <0%> (-100%)
:arrow_down:

...lection/iterator/FloatSelectionColumnIterator.java
0% <0%> (-100%)
:arrow_down:

...on/iterator/FloatArraySelectionColumnIterator.java
0% <0%> (-100%)
:arrow_down:

...selection/iterator/IntSelectionColumnIterator.java
0% <0%> (-100%)
:arrow_down:

... and 272 more

Continue to review full report at Codecov.

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


Modify Docker Implementation

Setup RabbitMQ Server.
Configure an optimal queueing system for the pinging process.
Configure container networking to give each container separate IPs to bypass network limitations.

see commit #dd7f9d21b8263cdd2f60bcd394d6da187269782c


On Multiple cookies set as separate headers violating RFC 2625 and breaking services which ignore additional headers

Versions affected:
Karate 1 onwards (1.1 and 1.2)
Actual scenario
During a 302 redirection with Set-Cookie,the cookies in headers are not merged.
Karate request:

POST http://localhost/am/apim/login
Cookie: XSRF-TOKEN=XXXX; SESSION=XXXX

< 302 Found
< Set-cookie: AM_SESSION=XXXXXXX
< Location: http://localhost/am/apim/oauth/authorize
Karate request doesn't not merge Cookie headers:

GET http://localhost/am/apim/oauth/authorize
Cookie: XSRF-TOKEN=XXXX; SESSION=XXXX
Cookie: AM_SESSION=XXXXXXX

@YoranSys please follow this process: https://github.com/intuit/karate/wiki/How-to-Submit-an-Issue

@YoranSys and before doing that please research this issue also and explain the difference or whats extra that's needed: https://github.com/intuit/karate/issues/1680

Hi @ptrthomas !
Sorry I miss click :sweat_smile: , I was not ready to submit the issue, I'm trying to make a poc similar to https://github.com/intuit/karate/issues/1702 this morning.

@YoranSys no problem. I will re-open this issue, just submit the ZIP file or Git URL as a comment here, thanks !

You can find a demo project here:
git clone https://github.com/YoranSys/karate-multiple-cookie-headers
cd karate-multiple-cookie-headers
mvn test

And the bug will be visible on karate.log or network analyzer like wireshark not on report:

https://github.com/YoranSys/karate-multiple-cookie-headers/blob/main/target/karate.log#L69-L70

14:14:45.775 [main] DEBUG com.intuit.karate - request:
2 > GET http://localhost:33171/login
2 > Cookie: bar=Bar; foo=Foo
2 > Cookie: newCookie='likeIt'
2 > Host: localhost:33171
2 > Connection: Keep-Alive
2 > User-Agent: Apache-HttpClient/4.5.13 (Java/11.0.11)
2 > Accept-Encoding: gzip,deflate

@YoranSys regarding the 302 - I'm not really sure as we just use the apache http client. maybe if you enable * configure followRedirects = false you might see it - refer docs: https://github.com/intuit/karate#configure
cc @bnutzer in case he has come across this issue yet or has some suggestions.

and I just remembered that we wanted to re-factor the cookie handling for a 302 so please see this comment also: https://github.com/intuit/karate/issues/1708#issuecomment-897497216 cc @zgael
I'm going to leave this open to see if it gets picked up by #hacktoberfest participants, just FYI - so anyone is welcome to attempt a PR

@YoranSys regarding the 302 - I'm not really sure as we just use the apache http client. maybe if you enable * configure followRedirects = false you might see it - refer docs: https://github.com/intuit/karate#configure
cc @bnutzer in case he has come across this issue yet or has some suggestions.

Thank you @ptrthomas, with followRedirects= false I make it work. For the PR I don't have the knowledge at the moment..


add ngc signing job for auto signing

PTAL @elezar @cdesiniotis

@elezar

total 10 jobs generated
IMAGE TAG corrected
removed need

Please refer for sign jobs:
https://gitlab-master.nvidia.com/dl/container-dev/cuda-sample-images/-/merge_requests/1

@elezar PTAL


The meanings of 'ConvRes'

Thank you for the awesome project!
I have a question whether the meaning of  'ConvRes' layer  is the combination of   transpose convolution and relu activation.
Does it mean the  reversed convolution?

I couldn't find the layer you mentioned, but 'ConvRes' should refer to a residual convolution layer. You can read more about residual learning here.

The 'ConvRes' can be found only in Python part, and Latex part not.


letsencrypt-koa in readme is a 404

There's this module https://github.com/expo/koa-letsencrypt but not sure whether that's the same?

I just went through and updated the outdated links in the README. Should all work now.

awesome!


Add this publication to Zotero

Please add this publication and its metadata to the group zotero in ARFC> group-pubs > conf-pubs

done!


Can't build on Tumbleweed<EMAIL_ADDRESS>The engine "node" is incompatible with this module

openSUSE Tumbleweed comes with nodejs 19.0.0 and can't be used to build/install elemental-ui:
error<EMAIL_ADDRESS>The engine "node" is incompatible with this module. Expected version "8 || 10 || 12 || 14 || 16 || 17". Got "19.0.0"
error Found incompatible module.

@achrinza/node-ipc is at 10.1.7 already and has
- chore: support Node.js v19 engine

It should work on any system you have which has terminal access:

install NVM
change version to v14.20.0 -> that's the one that I am using
yarn install


Updated print statements to sensible logger alternatives

I've updated all the print statements to use (hopefully) sensible logging alternatives.

Codecov Report

Merging #538 (3de1d68) into devel (7ed7d7e) will increase coverage by 0.15%.
The diff coverage is 66.91%.

@@            Coverage Diff             @@
##            devel     #538      +/-   ##
==========================================
+ Coverage   78.02%   78.17%   +0.15%
==========================================
  Files         172      172
  Lines       12685    12733      +48
==========================================
+ Hits         9897     9954      +57
+ Misses       2788     2779       -9

Impacted Files
Coverage Δ

openghg/store/_obssurface.py
90.86% <0.00%> (-0.05%)
:arrow_down:

openghg/tutorial/_tutorial.py
33.12% <17.64%> (+1.45%)
:arrow_up:

openghg/retrieve/ceda/_retrieve.py
77.90% <37.50%> (+0.79%)
:arrow_up:

openghg/store/_data_schema.py
81.48% <50.00%> (+1.08%)
:arrow_up:

openghg/transform/emissions/_edgar.py
79.02% <50.00%> (+0.22%)
:arrow_up:

openghg/standardise/surface/_noaa.py
78.04% <57.14%> (-0.06%)
:arrow_down:

openghg/objectstore/_local_store.py
60.75% <60.00%> (+0.75%)
:arrow_up:

openghg/standardise/surface/_openghg.py
85.10% <60.00%> (+0.49%)
:arrow_up:

openghg/retrieve/icos/_retrieve.py
91.56% <66.66%> (+0.15%)
:arrow_up:

openghg/analyse/_scenario.py
76.52% <68.42%> (ø)

... and 14 more

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


Change network-settings deployment mode to "Incremental"

In my last PR, I added the network_settings deployment and set deployment_mode to Complete, which can cause other resources in the resource group to be destroyed. This sets it to Incremental, which is safer and the correct choice here.

Actually it looks like #4 takes care of this.


String#unpack1 returns an array instead of a single string

Reproducer
MRI 3.3.0
$ irb
[3.3.0] > puts RUBY_VERSION, RUBY_ENGINE
3.3.0
ruby
=> nil
[3.3.0] > "U2VuZCByZWluZm9yY2VtZW50cw==\n".unpack1("m")
=> "Send reinforcements"

mruby 3.2.0
$ ./bin/mirb
mirb - Embeddable Interactive Ruby Shell

> puts RUBY_VERSION, RUBY_ENGINE
3.2
mruby
 => nil
> "U2VuZCByZWluZm9yY2VtZW50cw==\n".unpack1("m")
 => ["Send reinforcements"]

Issue
The hex decode ends with a continue:
    case PACK_DIR_BASE64:
      srcidx += unpack_base64(mrb, sptr, srclen - srcidx, result);
      continue;

which brings it to the top of the while loop. has_tmpl returns false and the if (single) block which is inside the while loop is never executed.
Fix
$ g diff
diff --git i/artichoke-backend/vendor/mruby/mrbgems/mruby-pack/src/pack.c w/artichoke-backend/vendor/mruby/mrbgems/mruby-pack/src/pack.c
index b5ecdc6479..ab51662d48 100644
--- i/mrbgems/mruby-pack/src/pack.c
+++ w/mrbgems/mruby-pack/src/pack.c
@@ -1575,12 +1575,12 @@ pack_unpack(mrb_state *mrb, mrb_value str, int single)
         count--;
       }
     }
-    if (single) {
-      if (RARRAY_LEN(result) > 0) {
-        return RARRAY_PTR(result)[0];
-      }
-      return mrb_nil_value();
+  }
+  if (single) {
+    if (RARRAY_LEN(result) > 0) {
+      return RARRAY_PTR(result)[0];
     }
+    return mrb_nil_value();
   }
   return result;
 }

thanks for taking the patch @matz. I'd also appreciate it if you could add the reproducer I provided as a test. I have frequently had issues with mruby-pack when taking updates to mruby.

OK.


df.filter ValueError when going through the Pyam Tutorial

I was following the Pyam Tutorial when I encountered the following error:
ValueError: This IamDataFrame is empty!
When entering:
display_df = df.filter(model='XX', variable='YY', region='ZZ')
display_df.timeseries()

When I write variable = 'YY' the error appears, but if I just filter on model and region I get a table of values. Another issue I have with this is that it does not seem to filter correctly. Regardless of what model I chose to filter on, it only provides information about AIM/CGE 2.1. I have looked at the tutorial_data.csv file provided in the repository and there I can clearly see that there is a variable for Primary Energy in a given scenario, yet the error occurs if filtered by that variable.
Any thoughts as to why this error appears?
Lastly, also regarding the df.filter, when typing:
df.filter(region='World').region
this is the output:
['R5ASIA']
When it in fact should be ['World']

Thank you for reporting this issue! I think that this might be due to an outdated pandas version - can you please check if you have pandas>=1.1 installed? Also, for the future, please report any issues related purely to pyam in the pyam repo or in the pyam Slack workspace #helpdesk channel.

Thank you for the swift response, and yes, I should have posted on the pyam repo..
My version of pandas is 1.1.4

So I created a new pyam branch and ran CI on GitHub Actions specifically using pandas v1.1.4 - all tests pass, so I'm at a bit of a loss for what might be causing your issues.
https://github.com/danielhuppmann/pyam/runs/2950475879?check_suite_focus=true
Can we connect via the pyam Slack workspace?

Identified the culprit and created a new issue in the pyam repo


how to cite

Hi there! Maybe I missed it, but can you advise on how scikit-bio should be cited in published work (preferably in bibtex format)? As a random example, the JAX package recommends:
@software{jax2018github,
  author = {James Bradbury and Roy Frostig and Peter Hawkins and Matthew James Johnson and Chris Leary and Dougal Maclaurin and Skye Wanderman-Milne},
  title = {{JAX}: composable transformations of {P}ython+{N}um{P}y programs},
  url = {http://github.com/google/jax},
  version = {0.1.55},
  year = {2018},
}

@WSDeWitt we currently don't have a citation tag for scikit-bio, but you can use this:
@software{skbio2020,
  author = {The scikit-bio development team},
  title = {scikit-bio: A Bioinformatics Library for Data Scientists, Students, and Developers},
  url = {http://scikit-bio.org},
  version = {0.5.5},
  year = {2020},
}

Hi @ElDeveloper, I think many users would agree that it would be great to see a DOI-conforming citation (Zenodo maybe?)!
Thank you!

Hard agree with @vinisalazar, I want to give credit where it's due.
@ElDeveloper at the very least you should add the citation above to the readme, it took me way too long to find this thread.

Opened this: https://github.com/biocore/scikit-bio/pull/1871


Fix JS error during file upload on azure

Description
During file upload on azure JS code doesn't check whether user actually chose a file which leads to the following error:
azure_upload.ts:44 Uncaught TypeError: Cannot read properties of undefined (reading 'type')
    at AzureUploadController.attemptUpload (azure_upload.ts:44:48)
    at HTMLFormElement.<anonymous> (azure_upload.ts:20:12)

Checklist
General

[x] Added the correct label: < feature | bug | dependencies | infrastructure | ignore-for-release >
[x] Created tests which fail without the change (if possible)
[ ] Extended the README / documentation, if necessary

User visible changes

[ ] Wrote browser tests using the validateAccessibility method
[ ] Manually tested at 200% size
[ ] Manually evaluated tab order

New Features

[ ] Add new FeatureFlag env vars to server/conf/application.conf
[ ] Conditioned new functionality on a FeatureFlag
[ ] Wrote browser tests with the feature flag off and on, etc.

Issue(s) this completes
Fixes #3896

Codecov Report

Merging #3903 (057f9d9) into main (0affd1a) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##               main    #3903   +/-   ##
=========================================
  Coverage     80.81%   80.81%
  Complexity     2447     2447
=========================================
  Files           296      296
  Lines          9647     9647
  Branches        658      658
=========================================
  Hits           7796     7796
  Misses         1596     1596
  Partials        255      255

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


实现小框的扫码被压缩了

想要实现这种固定宽高的扫码区，需要如何避免被压缩

@BonyYeah
You cannot customize the camera's width and height. You can only scale the camera width and height isometrically.


Create m151122_213419_add_social_account_token.php

Add token fields
I comited from web github,
and this commit have 3 commit
This is add field and method to get access token from openAuth
it a need for api.
I know, token has in session data, but is not good, because u serve may send  request any time whith this token

for example
if (!\Yii::$app->user->identity->hasAccount('google')) {
$this->redirect('/user/settings/networks?need=google');
}
or get token
print_r(\Yii::$app->user->identity->getTokenByAccount('google'));


Adding contributors

Sample issue for adding contributors

@all-contributors please add @pranav2812  for projectManagement

@all-contributors please add @gurnoor006 and @jayeshs999 and @AnujAgrawal30 and @mitali72 and @atharva-diwan and @omkarghugarkar007 and @nilbarde and @TheSmilingSky for code

@all-contributors please add @gurnoor6 and @jayeshs999 and @AnujAgrawal30 and @mitali72 and @atharva-diwan and @omkarghugarkar007 and @nilbarde and @TheSmilingSky for code

@all-contributors please add @gurnoor6 for doc

@all-contributors please add  @jayeshs999 for code

@all-contributors please add @AnujAgrawal30 for code and mentoring

@all-contributors please add @jayeshs999 for code

@all-contributors please add @mitali72 for code and doc

@all-contributors please add @omkarghugarkar007 for code and data

@all-contributors please add @atharva-diwan for code and data

@all-contributors please add @nilbarde for code and mentoring

@all-contributors please add @TheSmilingSky for code and ideas

@all-contributors please add @pranav2812  for ideas and content and design


How to put just single Grafana

From https://github.com/giantswarm/giantswarm/issues/16040
@giantswarm/team-halo I'm adding this as candidate for next cycle. Because it helps wrap up observability.

This is still a candidate for near-future cycles.

it is a duplicate, we have an issue in Atlas


[feature] use afero.Fs to replace os.Fs

hi
use afero.Fs to replace os.Fs, i would be support custome fs
thank you

Thanks, issue : https://github.com/rosedblabs/rosedb/issues/313


Use to register without associating it with a user

Hello,
I am still beginner in Django. I have used yours and if it is already authorized (I use JWT Token), I can register.
But, if user hasn't login yet, then I got 403 error.
How shall I do so that user hasn't login and can register their token?
In my settings.py,
    'DEFAULT_AUTHENTICATION_CLASSES':
        (
         'rest_framework.authentication.SessionAuthentication',
        'rest_framework.authentication.BasicAuthentication',
        'rest_framework_jwt.authentication.JSONWebTokenAuthentication',
         ),

In my urls.py
from push_notifications.api.rest_framework import APNSDeviceViewSet
router = routers.DefaultRouter()
router.register(r'device/apns', APNSDeviceViewSet)

    url(r'^', include(router.urls)),

@khantthulinn
What about the REST_FRAMEWORK variable DEFAULT_PERMISSION_CLASSES, what is that set to?
If it is set to rest_framework.permissions.IsAuthenticated, all requests processed by django rest framework need to be authenticated.  You can leave DEFAULT_PERMISSION_CLASSES empty and that should allow you to access that endpoint when the user is unauthorized.

Yes. I have done that now but I still got same error. How shall I do?
 "detail": "CSRF Failed: CSRF token missing or incorrect."

I got it now. It is because of this in default.  That's why it is asking csrf token. When I do for my own apiview, it doesn't ask about csrf though.
        'rest_framework.authentication.SessionAuthentication',


Request option to upload .js.map extension files

Is your feature request related to a problem?
Yes
Describe the problem?
While uploading .js files works fine .js.map extension is not a file extension available for upload with this tool.
.js.map are not crucial for normal operation, but they can be useful when debugging in browser. Some browser default to use source .js.map extension when setting code breakpoint. This could mean debugging in the .ts (Typescript) code behind instead of the minified .js code.
Provide a solution or an idea you would like to see in the tool?
No response
Relevant log output
No response

Need a strong reason than enable debugging. For debugging javascript or typescript use Fiddler.
On Jun 24, 2024, at 9:50 PM, github-actions[bot] @.***> wrote:

This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 5 days.
—
Reply to this email directly, view it on GitHubhttps://github.com/Power-Maverick/DataverseDevTools-VSCode/issues/163#issuecomment-2187774298, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AITWEYFQCFHIKTDVCQA7ONDZJDEF7AVCNFSM6AAAAABIIZBWMWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOBXG43TIMRZHA.
You are receiving this because you were assigned.Message ID: @.***>


Is SemanticUI leaking information to google by hardcoding google fonts in the CSS file?

Hi,
I am not sure where this issue should be posted, so I am adding it as a general issue here. A German court fined an unidentified website €100 ($110, £84) for violating EU privacy law by importing a Google-hosted web font. See here for details.
I recently had to dive into semantic.css and noted that Google fonts is hardcoded into this file on line 11 :

@import url('https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic&subset=latin');

I am using npm, so it might be the package maintainer there that has made the decision to hardcode google fonts. So I took a look for the use of google fonts within your repository.  There does seem to be hardcoded values to Google fonts here.
The point of this issue is just to make the project aware that this is a potential problem for users of Semantic UI. If this ruling stands, users of Semantic UI may be liable for privacy fines for breach of GDPR, and people considering the use of Semantic UI should perhaps be made aware of this. Unfortunately, I have no fix or other way that I can help, as my CSS/js abilities are rather limited.

That is a concern for others already (for different reasons) and why projects like this have been made with a fork of semantic ui
https://www.npmjs.com/package/semantic-ui-offline

The official community fork https://fomantic-ui.com prepared that for upcoming 2.9.0 by
https://github.com/fomantic/Fomantic-UI/pull/2359

Google Import disabled by default (they used Lato 1.0 anyway)
Bundled Lato 2.0 for offline usage which also covers all missing diacritic letters
Offered systemfonts and Larger Lato (cyrillic+greek support) via optional theme

Hi, there's a setting to enable/disable google fonts when compiling the CSS @importGoogleFonts
https://github.com/Semantic-Org/Semantic-UI/blob/master/src/themes/default/globals/site.variables#L16


Can I change MMLSpark temp file dir?

Hello, I have encoutered a problem that mmlspark will write some tmp files at /tmp when running a application but the tmp file became to large , so I want to change the mmlspark tmp file dir  to a large. How can I change the mmlspark tmp file dir?  and those tmp files are similar to "mmlnatives998512162530320580" .  Thanks in advance.

@tanjiaxin sorry about the trouble you are having.  Hmm, I'm honestly not sure why those files are being generated, maybe @mhamilton723 might know?  Also, could you share the script you are running which is generating those files?

@imatiach-msft according to my observation， the files start with "mmlsparkxxxxx" will genenrated when some job failed.
And here is the notebook file I run the application,
increment_train_CV.zip

yes these temp files build up because like many temporary files are deleted when the JVM closes normally. When the JVM crashes unexpectedly, the requisite cleanup code is not run. Feel free to delete these files.

@mhamilton723 Thanks for your explaination.

Thanks @tanjiaxin let me know if I should re-open this!


Proposal for more efficient disk-based shuffle mechanism

Is your feature request related to a problem or challenge? Please describe what you are trying to do.
The current shuffle mechanism is too basic and produces too many small shuffle files.
Tasks to implement new version:

[ ] https://github.com/apache/arrow-ballista/issues/332
[ ] Implement a new version of ShuffleWriterExec that can work with a coalesced input of multiple parallel input partitions
[ ] Changes to scheduler tracking of shuffle files

Describe the solution you'd like
See https://docs.google.com/document/d/16SIEoniAWKSFt8XKDLsOfRQ0sU--5E9_OIyE42Zj808/edit?usp=sharing
Describe alternatives you've considered
Additional context

@thinkharderdev @yahoNanJing @mingmwang @avantgardnerio Let me know what you think. If this seems like a good idea, I may have some time later this month to try and implement it. I am also happy for someone else to pick this up.

Sounds like a great idea to me

I ran into some challenges with the proposed design, which I have documented in the Google doc (near the end). Feedback welcome.

I read through it, sounds indeed a bit more simple.
A nice side effect btw of this optimization is that limit on the shufflewriter is also a bit more effective - allowing to quicker terminate the tasks.

Thanks @andygrove for raising the discussion for this topic.
For the second approach, the optimization change is also limited when tasks of a query stage are assigned to different executors, which is a common case when using the RoundRobin task scheduling policy for load balancing.
Actually, to reduce the shuffle write file, I recommend to use the sort-based shuffle writer used in Spark https://issues.apache.org/jira/browse/SPARK-2045. Then for each original ShuffleWriterExec, there will be only 2 output files rather than N files for its downside stage. One file for shuffling data with concatenating all of the output partition data, and the other one for the indexes of each partition's offset in the data file.
An intuitive graph can be find here, https://github.com/blaze-init/blaze/blob/master/dev/doc/architectural_overview.md.
Hi @yjshen, could you share your opinions?

This sounds great @yahoNanJing. I would also like to hear if @yjshen has an opinion on this.


[FEATURE] Improve ASEA scalability - reduce SM execution scope Part 2

SUMMARY:
As we look to ensuring the ASEA can scale to extremely large number of accounts (which we designed for), and as we get new customers working with the solution, they have suggested it would be great if we could reduce the scope of impact of a state machine execution.  This has been in the plans, and we have already made most of the changes to enable this capability.
USE CASES:

This build on the capabilities of Issue #598 - [FEATURE] Improve ASEA scalability - reduce SM execution scope Part 1
Specifically use case 3 - When customer triggers state machine execution, with a new set of parameters

NEW:

add a new ", MODE=SHOW" instead of ",MODE=APPLY", (MODE is a mandatory flag, if SCOPE parameter is provided)
does not make any changes, shows what WOULD change if MODE=APPLY was specified
applicable to all options in item 3 of #598
"SHOW" - dumps all the change sets into an S3 bucket somewhere

enables customers to manually review the exact synthesized changes that will happen in all accounts
render the output in multiple formats a) CDK changesets, b) static html, c) usable CloudFormation stacks
may need a second step to convert file formats from one to another
allows exposing in future GUI
allows customers to manually test/apply a stack in a single test account

This will ship in v1.3.0 given significant enhancements (#483, #598, #599, #534)
Minor bugfix v1.2.6 release planned, prior


Invalid enum - if it starts with lower case

Describe the bug
Prisma server 1.17-beta rejects enum starting with lower case sometimes.
To Reproduce
Steps to reproduce the behavior:
Please follow:-
https://github.com/divyenduz/prisma-3128
Expected behavior
All enums are valid. Lower case enums should be accepted.
Screenshots

Versions (please complete the following information):

OS: OS X High Sierra
prisma CLI: prisma/1.17.0-beta.12 (darwin-x64) node-v10.4.0
Prisma Server: prisma:1.17-beta

Additional context
Happened while generating schemas for test cases of
https://github.com/prisma/prisma/tree/beta/cli/packages/prisma-generate-schema

The datamodel in your repository is invalid. Actually, it is a valid Prisma schema, but not a valid Prisma datamodel.
For example, it contains this input type:
input BillingInfoWithoutConnectionCreateInput {
  account: String!
}

Nevertheless, I can confirm that this error message is returned for this datamodel:
type A {
  id: ID! @unique
  string: String!
}

enum MyEnum {
  someValue
  Value
}

Deploying service `invalid-enum` to stage `dev` to server `local` 57ms

Errors:

  MyEnum
    ✖ The enum type `MyEnum` contains invalid enum values. The first character of each value must be an uppercase letter.

This seems to be the behaviour at least for the last 10 months, see https://github.com/prisma/prisma/blob/a08fa68d3181d05d7732b6e78dadf155306b26f2/server/servers/deploy/src/main/scala/com/prisma/deploy/migration/validation/DeployResults.scala#L189.
It seems to be the currently expected behaviour to enforce capital enum values. This should be added to the documentation here.
Feel free to close this issue, or turn it into a feature request.

I created this feature request: https://github.com/prisma/prisma/issues/3155
The docs should be updated to the current state.

This is already documented here:

amazing didn't see that before. Thanks @nikolasburk 🙏

Reopening this with the new MySQL introspection feature - We have some country code enum values which are iso codes (such as fr or en) therefore the model created by prisma introspect fails to prisma deploy, how should we handle this?
Thanks


chore: package/statement: Add function prepareExtrinsic() to return extrinsic and change cord version to latest

fixes: #180

will make a release tomorrow or day after, once we get #184 merged.


[1.4.x] Presenting source files as VirtualFileWrap prevents memory efficient code path in scalac's SourceReader

https://github.com/sbt/zinc/blob/db028c338af528876e24fc8d6214e24f7d19d707/internal/compiler-bridge/src/main/scala/xsbt/CompilerInterface.scala#L156-L160
Seems to stop use getting to the efficient first line in:
https://github.com/scala/scala/blob/2826c6cb96f948cbe1c90ca73e43c8aa399fa1a9/src/compiler/scala/tools/nsc/io/SourceReader.scala#L58-L63
Which leads to allocation profiles like:

@eed3si9n What's the rationale behind the wrapping?

What's the rationale behind the wrapping?

xsbti.VirtualFile lives in the compiler interface, which doesn't depend on almost anything else whereas scala.reflect.io.AbstractFile is specific to an implementation of Scalac. VirtualFileWrap bridges between those two worlds - https://github.com/sbt/zinc/blob/develop/internal/compiler-bridge/src/main/scala/xsbt/VirtualFileWrap.scala. The success criteria for VirtualFile is that it supports in-memory source file.

Is fixing this as easy as making a more fine-grained conversion, that e.g. converts sbt.internal.inc.PlainVirtualFile into scala.reflect.io.PlainFile?

That might not work because Zinc's added phases + callback for things like API extraction and error reporting would be expecting a VirtualFile reference. What we might need is a cooperation with the compiler and use faster IO only for content reading?

An alternative would be that Zinc could maintain an IdentityHashMap[AbstractFile, VirtualFile] and used that to convert compiler source files back into Zinc VirtualFiles.

Relatedly, I notice that Zinc internal threads the sources through as a Set[VirtualFile]. It orders these deterministically into a Seq before passing them to scalac, but Zinc's operations themselves operate on the Set.
I'm not sure what sort of Set this is in practice. If its a HashSet, this opens up SBT's behaviour to be non-deterministic. Even if the results of SBT don't change when it does its analysis in different processing order, it can be useful for debugging if successive runs to do things in the same order.
So maybe it would be worth to introduce an internal class to encapsulate a set of source files. It would deduplicate and order by id on construction, store the mapping between VirtualFile and AbstractFile (avoiding the need to VirtualFileWrap for standard types of file.

Here's a compensating change which could go into 2.12.12: https://github.com/scala/scala/pull/8944
I think its still worth considering presenting PlainFile to the compiler for sources though.

I think its still worth considering presenting PlainFile to the compiler for sources though.

Yea. I agree it makes sense to avoid perf regressions on existing Scala versions.

@adpi2 Maybe this discussion may be helpful. If you want to implement the mapping proposed by Jason, you could minimize the usage VirtualFileWrap, and the downstream tooling like scalameta would mostly see PlainFile like before?


R11s tsconfig should not ignore undefined

Work Item
Describe the outcome you expect
We've seen multiple runtime issues from undefined not being handled in R11s. This was surprising, since TS should help prevent this at compilation. However, each of the tsconfigs in R11s specify "strictNullChecks": false which disables type checking of null and undefined. strictNullChecks should be set to true to catch undefined/null cases at compile time.
Approach

Set strictNullChecks: true in tsconfigs in R11s.
Address any compilation errors.

Open questions

Why was this set in the first place?
Can we replace null uses with undefined to become compliant with the ESLint no-null rule?

Acceptance criteria

R11s has strictNullChecks: true for all internal packages, and it compiles successfully.

This is a duplicate of #9500


Could IOS or android phone' browser open it?

for online chat?

Yes. Though 0.3.0 has a better interface for doing so.


coq_platform_make_windows.bat failure trying to update cygwin

It appears that my previously installed version of cygwin is no longer available as of today, which causes the build script to fail in the source shell_scripts/init_cygwin_fixes.sh step.  It was working yesterday.  http://mirrors.kernel.org/sourceware/cygwin/x86_64/release/mingw64-x86_64-binutils/ shows a new version that was just pushed today, Aug 22.
As a script intended to be user-friendly, there should be a message informing the user of the failure and what to do.  And then maybe have the script continue.
--2021-08-22 12:19:33--  http://mirrors.kernel.org/sourceware/cygwin/x86_64/release/mingw64-x86_64-binutils/mingw64-x86_64-binutils-2.35.1-1.tar.xz
Resolving mirrors.kernel.org (mirrors.kernel.org)... 2001:4f8:4:6f:0:1994:3:14, <IP_ADDRESS>
Connecting to mirrors.kernel.org (mirrors.kernel.org)|2001:4f8:4:6f:0:1994:3:14|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2021-08-22 12:19:33 ERROR 404: Not Found.

ERROR coq_platform_make_windows.bat failed

AFAIU this was solved, wasn't it?

Yeah, I think so.


problems about inferencing using OSNet model

commond:
python3 demo/visualize_result.py --config-file configs/DukeMTMC/bagtricks_OSNET1.0.yml --vis-label --dataset-name 'DukeMTMC' --output logs/mgn_duke_vis   --opts MODEL.WEIGHTS logs/dukemtmc/bagtricks_OSNET1.0/model_final.pth
The similarity scores are very low,is it normal?

It will show the rank list with cosine similarity descending sort, and this is for showing the bad cases.
You can change the order by --rank-sort descending

Got it.


Code to allow shutdown on integrity issue

I find it a bit odd that my web framework is sending os.Signals.

Hi Nick, there is a special reason for this. We identified a serious integrity issue and the service MUST be shutdown. We should never get to that line of code. We need to make sure the shutdown is graceful as well. This mechanic gives us the ability to do this.


Helm 2.9.0 will not install charts on Minikube

Output of helm version:
Client: &version.Version{SemVer:"v2.9.0", GitCommit:"f6025bb9ee7daf9fee0026541c90a6f557a3e0bc", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.9.0", GitCommit:"f6025bb9ee7daf9fee0026541c90a6f557a3e0bc", GitTreeState:"clean"}

Output of kubectl version:
Client Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.2", GitCommit:"81753b10df112992bf51bbc2c2f85208aad78335", GitTreeState:"clean", BuildDate:"2018-04-27T09:22:21Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.0", GitCommit:"fc32d2f3698e36b93322a3465f63a14e9f0eaead", GitTreeState:"clean", BuildDate:"2018-03-26T16:44:10Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}

Cloud Provider/Platform (AKS, GKE, Minikube etc.):
minikube version: v0.26.1
If I bring up a fresh copy of minikube and run helm init --wait all seems to be fine.
But then if I go to install a chart it fails.
Here is an example of trying to install the stable Memcached chart via the upgrade command and with debug turned on:
$ helm --debug upgrade -i heweb-cache stable/memcached --version 2.0.4 --namespace default --set pdbMinAvailable=1,replicaCount=1 --kube-context minikube
[debug] Created tunnel using local port: '41101'

[debug] SERVER: "<IP_ADDRESS>:41101"

[debug] Fetched stable/memcached to /home/jim/.helm/cache/archive/memcached-2.0.4.tgz

Error: UPGRADE FAILED: Get http://localhost:8080/api/v1/namespaces/kube-system/configmaps?labelSelector=NAME%!D(MISSING)heweb-cache%!C(MISSING)OWNER%!D(MISSING)TILLER%!C(MISSING)STATUS%!D(MISSING)DEPLOYED: dial tcp <IP_ADDRESS>:8080: connect: connection refused

And here is an example of just using the install command with debug:
$ helm --debug install -n heweb-cache stable/memcached --version 2.0.4 --namespace default --set pdbMinAvailable=1,replicaCount=1 --kube-context minikube
[debug] Created tunnel using local port: '36935'

[debug] SERVER: "<IP_ADDRESS>:36935"

[debug] Original chart version: "2.0.4"
[debug] Fetched stable/memcached to /home/jim/.helm/cache/archive/memcached-2.0.4.tgz

[debug] CHART PATH: /home/jim/.helm/cache/archive/memcached-2.0.4.tgz

Error: Get http://localhost:8080/version: dial tcp <IP_ADDRESS>:8080: connect: connection refused

The above works with no error when using helm version 2.8.2.
I'm running on a Debian Linux system with the virtualbox package installed (in case any of that matters).

Dupe of #3985.


Add a Makefile and set redbean to launch a browser

We can def talk this one out. The README verbage, for starters. Or whatever is on your mind

I've imported your changes in a new branch called mkmerge and tweaked a couple things. I'd appreciate it if you'd rebase against that and submit the pull request with the following:

add the copyright waiver I added to build.sh
remove the emojis in the Makefile because they break my Emacs

(We could have continued using this PR, also, just FYI hehe)

Oh, I see what you mean. I had to make my own branch so you get the changes, but after that, you could have put them on this same pull request. Do you want to use this one instead of the other one, or keep using the other?

@ProducerMatt At the time I didn't realize (as you know now lol) that you had your changes in a different branch. This PR targetting your main so yeah, it'd have never worked. :P We're squared away now!


feature(documentation-website): add Tool component for listing tools

The Pull Request is ready

[x] fixes #420
[x] all actions are passing
[x] only fixes a single issue

Overview
add Tool component for listing tools used on the website
Documentation-Website

[x] mobile view is usable
[x] desktop view is usable
[ ] no a-tags are used directly (NavLink, MailLink, ExternalLink instead)
[ ] all new texts are added to the translation files (at least the english one)
[x] tests have been added (if required)
[x] shared code has been extracted in a different file

Unsure about the use of the <a> tag here and translation files for these...?


Help center additional UX update

When Aoife and my sister had to find the help center, they had difficulties with it. In addition to issue #71 we might take in consideration to create a dedicated Help area in the footer.
This can be done by replacing "Top cities" with "Help".
The new help area can contain all help related information like:

Help center
Book a call
Guidelines
Fees

Looking into the future of Whichost where we'll enter new markets, the footer area "Top cities" will have to be removed anyway due to the complexity of the platform hosting L's of different categories (Pubs, restaurants, coffeeshops etc.) in many countries.

#96 the pages for the help center have been created, we just need to populate them :)

Duplicate of #71 .


Add support for --force-auto-update flag for taps

I could just be missing documentation, but I couldn't see a way to run
brew tap --force-auto-update user/tap-repo<EMAIL_ADDRESS>
using a Brewfile. Does a way exist or does the feature need to be added?

No, we don't support this. I'd want to see more than one person need it before we add a dedicated DSL for it but we could consider allowing arbitrary args: like we do with at least Casks.

I think the arbitrary args support would be sufficient. That would also allow a brew bundle dump to preserve the force-auto-update value that is stored in git.


put back pennylane version

well yes... but it can't be merged until 0.32 is released. if you like, we can change master to pin to the PL RC branch so at least this CI turns red, then change it to this (>=0.32) before we release on Monday

well yes... but it can't be merged until 0.32 is released. if you like, we can change master to pin to the PL RC branch so at least this CI turns red, then change it to this (>=0.32) before we release on Monday

I'm okay with this. The version bumps will be needed for a few other plugins as well I think.


configurable search strategy

It would be useful to be able to specify breadth-first or depth-first search for the single-threaded checker. Both strategies are pretty inefficient for the multithreaded checker, but we should probably still offer them anyway.

Thinking about this more deeply, this makes no sense for the multithreaded checker. Or, more accurately, seems infeasible to implement accurately in an efficient way. E.g. in BFS one thread can go very deep while another thread is still stuck processing a shallower state that it will find an error in. I think we should only implement the following strategies:

BFS single threaded
DFS single threaded
Opportunistic multithreaded

Then the user's intuition should be to use the multithreaded checker to shoot for complete coverage, or the BFS checker to get the shortest error trace.


Leverage java-gradle-plugin to generate plugin manifest

See https://docs.gradle.org/current/userguide/javaGradle_plugin.html

That's handy. Thanks.


An alias "fileupload" was requested but no service could be found.

While creating object of Http()
$receiver = new \Zend\File\Transfer\Adapter\Http();
get exception Zend\ServiceManager\Exception\ServiceNotFoundException:

An alias "fileupload" was requested but no service could be found.

seems issue belongs to this package

Was fixed with version 2.6.0