Fixes for the new tagging system (stable)

See: https://github.com/superlistapp/super_editor/pull/1290

Closing this because I brought the fix into another PR


[Slaxer] Create base command abstract class

The Base command abstract class should include everything to instantiate the command and register it with the console application.

Resolved.


feat: refactor tests

Unit tests

[x] veramo (VC, VP, ...)
[x] params
[ ] keypair
[x] state
[x] ceramic
[x] did

E2E tests

[x] SaveVC
[x] CreateVC
[x] CreateVP
[x] QueryVCs + DeleteVC (can be joined with Save VC)
[x] VerifyData
[x] ResolveDID
[x] Utility (Set/validate ceramic session, set DID method, set VCStore, disable popups, getSettings)

Data

[x] VC - JWT
[x] VC - LDS
[x] VC - EIP712
[x] DID - KEY
[ ] DID - JWK
[x] Credential Payload
[x] defaultSnapState

Helpers

[x] snapMock
[x] generateTestVCs

:partying_face: Great work!


[Feature] -  Proposal for Back Button Enhancement

What feature would you like to see?
Subject: Proposal for Back Button Enhancement
Dear freeCodeCamp Team,
I hope this message finds you well. I would like to propose an enhancement to our platform.
I suggest adding a back button functionality. This feature would prove exceptionally valuable, especially in scenarios where a participant has progressed beyond the initial question and wishes to return to the page where they selected the number of questions, as opposed to navigating back one question at a time.
Specifically, I envision the back button offering participants the convenience of returning to the question selection page, streamlining their experience and providing greater control over their navigation within the platform.
I am confident in my ability to implement this feature effectively. If you find this proposal aligns with our objectives, I would be enthusiastic about taking on this task and working towards its successful implementation.
I eagerly await your feedback and guidance on this proposal.
Best regards,
Rohan

Kindly offer sufficient context or provide a thorough description; otherwise, it may be marked as spam.

Currently, our platform lacks a convenient way for participants to navigate back to the page where they selected the number of questions for a quiz. This can be especially frustrating when participants are several questions into a quiz and wish to adjust their preferences.
To address this issue, I suggest adding a back button functionality. This feature would provide participants with the ability to return to the question selection page directly, eliminating the need to navigate back one question at a time.
The benefits of this enhancement are twofold:

Improved User Experience: Participants will have greater control over their navigation within the platform, resulting in a smoother and more user-friendly experience.
Efficiency: Users can quickly modify their quiz settings without the need to backtrack through multiple questions.

I am confident in my ability to implement this feature effectively. If you find this proposal aligns with our objectives, I would be enthusiastic about taking on this task and working towards its successful implementation.
I understand the importance of context in making informed decisions, and I'm available to provide additional details or discuss any questions you may have. Your feedback and guidance on this proposal would be greatly appreciated.

HI @CompetitiveRohan !
It sounds like you are interested in creating more of a return to number of questions button instead of a back button since it would return to the question length selection page and reset the quiz instead of go back one quiz question.
Is that correct?
If so, it might be better to go back to the category selection instead
Also, there should be a modal that pops up to ask users in the middle of the quiz if they are interested in resetting and returning to the category selection page

Yes, I think this would be better. Like upon clicking the back button, they will return to category selection page and ofc will add a confirmation pop up to confirm if they really want to reset and start again.

Alright, then we can move forward with this.
The issue has been assigned to you

Sounds good! I'm on it. 😊

May I proceed with the same issue as before?

sure

may be it can be better to have some kind of graphic design of this new feature
how it will look

I am going to close this again due to inactivity.
If you are interested in working on this in the future, then feel free to open and please provide a suggested design mockup so we can see your design implementation


Invalid Multinomial Distribution in Multiround SNPE-C with mdn density estimator

I have the following piece of code that is throwing a Runtime error.
The code:
density_estimator = posterior_nn(key['density_estimator'])  # key['density_estimator'] == 'mdn'
snpe_c = SNPE_C(simulator=simulator,
                               prior=prior,
                               simulation_batch_size=key['simulation_batch_size'],
                               density_estimator=density_estimator,
                               sample_with_mcmc=False)

snpe_c.provide_presimulated(cached_samples, cached_sims, from_round=0)

posterior = snpe_c(num_simulations=max([0, num_presimulated - key['num_simulations_per_round']]))

for i in range(1, key['num_rounds']):
    posterior = snpe_c(proposal=posterior.set_default_x(x=x_o),
                                   num_simulations=key['num_simulations_per_round'])  # line 383

The Error
NOTE:
I point out ... line 383, in make ... from the stacktrace for you in the code snipped above
I copied only the bottom part of the printed stacktrace where it concerns sbi functionality
  File "/home/ga26jey/infer-decision-making/src/schemas/sbi_six_params_schema_psychostats.py", line 383, in make
    num_simulations=key['num_simulations_per_round'])
  File "/home/ga26jey/anaconda3/envs/idm/lib/python3.7/site-packages/sbi/inference/snpe/snpe_c.py", line 206, in __call__
    return super().__call__(**kwargs)
  File "/home/ga26jey/anaconda3/envs/idm/lib/python3.7/site-packages/sbi/inference/snpe/snpe_base.py", line 172, in __call__
    theta, x = self._run_simulations(proposal, num_simulations)
  File "/home/ga26jey/anaconda3/envs/idm/lib/python3.7/site-packages/sbi/inference/base.py", line 259, in _run_simulations
    theta = proposal.sample((num_sims,))
  File "/home/ga26jey/anaconda3/envs/idm/lib/python3.7/site-packages/sbi/inference/posteriors/direct_posterior.py", line 292, in sample
    show_progress_bars=show_progress_bars,
  File "/home/ga26jey/anaconda3/envs/idm/lib/python3.7/site-packages/torch/autograd/grad_mode.py", line 49, in decorate_no_grad
    return func(*args, **kwargs)
  File "/home/ga26jey/anaconda3/envs/idm/lib/python3.7/site-packages/sbi/utils/sbiutils.py", line 160, in sample_posterior_within_prior
    candidates = posterior_nn.sample(num_remaining, context=x)
  File "/home/ga26jey/anaconda3/envs/idm/lib/python3.7/site-packages/nflows/distributions/base.py", line 65, in sample
    return self._sample(num_samples, context)
  File "/home/ga26jey/anaconda3/envs/idm/lib/python3.7/site-packages/nflows/flows/base.py", line 45, in _sample
    noise = self._distribution.sample(num_samples, context=embedded_context)
  File "/home/ga26jey/anaconda3/envs/idm/lib/python3.7/site-packages/pyknos/mdn/mdn.py", line 207, in sample
    coefficients, num_samples=num_samples, replacement=True
RuntimeError: invalid multinomial distribution (encountering probability entry < 0)
Drawing 25000 posterior samples:   0%|                | 0/25000 [00:00<?, ?it/s]

Possibly related: #328

See closing commend in #328


Allow admin user to search through all developers and businesses in the app

Implementing suggested enhancements from the Add admin search issue.

Pull request checklist

[ ✅ ] My code contains tests covering the code I modified
[ ✅ ] I linted and tested the project with bin/check
[ ✅ ] I added significant changes and product updates to the changelog

Is this adequate for the Search button?  From a design perspective I think I'd want the button rendered closer to the search field, instead of all the way on the other side of the page, but I'm not yet as proficient with Tailwind as I'd like to be.

So I'm looking at setting up the ts_vector to allow for more versatile searching of Developers by name and email.  The problem I'm running into is that the name is on the Developer model, and the email is on the User model.  According to this Postgresql documentation (also shown in the screenshot), I don't think it's possible to generate a ts_vector column with these values in separate tables.

So...the simplest solution I can think of is caching the User email on the Developer email as well. Is that the direction you'd like things to go?  Any other suggestions here?

Is this adequate for the Search button?

I think we can change justify-between to justify-start on the parent element to get what we want.

The problem I'm running into is that the name is on the Developer model, and the email is on the User model.

Darn, I forgot about that. Good catch.
Can we cache the value in the database entirely? Or do we need some sort of callback on Developer to update the record in Ruby?
If we can do it all via the database then let's go for it. If we can't then I'm inclined to drop the email search feature (for now) and add it in a new PR.

Hey again @esmale, do you still have appetite to get this over the finish line?
If not, not worries. Let me know and I can take it from here.

I'm going to close this for now. It's gone a little stale and I'm still not sure the best way to address the cross-table query.
Instead, a more basic user-focused search will be implemented for now. See #601.


Multiple line Indent Issues with vscode 1.17.1

Highlighting multiple lines and then hitting tab to indent does not work. Using shift-tab to undent (de-indent?) - works as expected.

VSCode Version:  1.17.2
OS Version: mac OS sierra - 10.12.6

Steps to Reproduce:

highlight multiple lines
click tab - no effect
if pre-indented - shift-tab works as expected

Extensions:
vscodevim - 0.2.3
donjayamanne.python 0.7.0
esbenp.prettier-vscode 0.24.0
PeterJausovec.vscode-docker 0.0.20
ms-vscode.azure-account 0.1.3

Reproduces without extensions: No
Works as expected without the extensions...
Buggy capture - imagine tab being hit where nothing happens...

Deactivate extension by extension extension to see what causes this behavior. Then create an issue in the repository of it.

vscodevim - 0.2.3

It's a Vim bug. But they are already on 0.10.2 and you are still using 0.2.3? Time to upgrade.

Apologies - must have misread the version of vscodevim -- I'm on 0.10.2
I'll open a report there (or plus one an existing)


IPython.qt: incompatible qt lib issue

/anaconda3/envs/klusta/lib/python2.7/site-packages/IPython/qt.py:13: ShimWarning: The IPython.qt package has been deprecated. You should import from qtconsole instead.
"You should import from qtconsole instead.", ShimWarning)
Cannot mix incompatible Qt library (version 0x40801) with this library (version 0x40805)
Aborted (core dumped):
Can this be b'coz of ubuntu 12.04 version when launching klusta?

As suggested  by @nippoo) it might be a KDE issue. I have not problem with ubuntu-gnome or using xfce.

you mean issue could be coz of launching klusta on 'xterm'?

I have the same problem on Ubuntu 16.04 with MATE desktop (GNOME-based).

There is a fix suggested in the thread indicated by @nippoo (two links further, there: https://github.com/ContinuumIO/anaconda-issues/issues/32). I didn't try to understand but the problem seems to be related to dbus (might be why mate is also affected)

see also https://groups.google.com/forum/#!topic/klustaviewas/oEzZaT9nY-A


add a npm link script

core -> cli
core -> monaco
monaco -> playground

core -> playground as well, right?

try 😄


[Bug] to_resident behaves like to_insert

Hi,
When I try this in .vindrc:
ennoremap <ctrl-6> :set cmd_fadeout=5<cr>to_resident

Vind switches to INSERT and not to RESIDENT.
Thanks!

If you map <esc-down> to to_resident, please use the mapping.
Like this.
ennoremap <ctrl-6> :set cmd_fadeout=5<cr><esc-down>

Thanks.

The direct mapping, which use function name in macro, is not supported yet, as mentioned in https://github.com/pit-ray/win-vind/issues/113#issuecomment-1264611594.


Perfect idea

Perfect idea but isn't working properly.

@ccali14 what is the problem?

When I install, the ui doesn't changed then I try to change my useraccounts-ui unstyled then try install again but nothing changed? There is any doc for installing?

You need to add any package with framework7 style.
I use this one: nobutakaoshiro:framework7-ios-material
Are you using what package?
If you still with problems please paste your code here.
Follow the complete guide about useraccounts core https://github.com/meteor-useraccounts/core/blob/master/Guide.md


[Feature] Add sub_bitmap function

What type of PR is this：

[ ] BugFix
[x] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Problem Summary(Required) ：
Add function sub-bitmap.
Checklist:

[x] I have added test cases for my bug fix or my new feature
[ ] I have added user document for my new feature or new function

[FE PR Coverage Check]
:heart_eyes: pass : 0 / 0 (0%)

[FE PR Coverage Check]
:heart_eyes: pass : 0 / 0 (0%)

[FE PR Coverage Check]
:heart_eyes: pass : 0 / 0 (0%)

Hi tomscut,
Thanks for contributing!
Could you please add the user document so we can get better understanding of this function?
The folder would be starrocks/docs/sql-reference/sql-functions/bitmap-functions/
Thanks again!

Hi tomscut, Thanks for contributing! Could you please add the user document so users can get better understanding of this function? The folder would be starrocks/docs/sql-reference/sql-functions/bitmap-functions/
Thanks again!

Thanks @wangsimo0 for your suggestion. I will add the document later.

[FE PR Coverage Check]
:heart_eyes: pass : 0 / 0 (0%)

Hi @kangkaisen @stdpain , could you please help review this PR. Thank you.

Hi @imay @wangsimo0 , could you also please take a look? Thanks.

run starrocks_admit_test

[FE PR Coverage Check]
:heart_eyes: pass : 0 / 0 (0%)

run starrocks_admit_test

Hi @stdpain , I rebased the code. Please take a look. Thank you!


[FLINK-24229][Connectors][DynamoDB] - Add AWS DynamoDB connector

Move flink-connector-aws-connector from the flink respository

Apologies for the delay, I have left some comments. As commented in the main pom I will open a PR to contribute the general repo files so we can decouple from this contribution.

Please rebase on main after this is merged https://github.com/apache/flink-connector-dynamodb/pull/2

Thanks for the review @dannycranmer, I'm currently away from home, bit I hope to start working on the fixes next week

Question for general discussion:
Do we have any thoughts on using conditional expressions? I note that the BatchWriteItem API we are using doesn't support this. Maybe we can create a followup JIRA to track this feature.

Question for general discussion: Do we have any thoughts on using conditional expressions? I note that the BatchWriteItem API we are using doesn't support this. Maybe we can create a followup JIRA to track this feature.

I had considered the same. I see that conditional write is supported on the PutItem, but not the Batch api. Based on this, and the discussion above about supporting non-batch mode, I would vote to proceed without it, and add later.

As discussed offline. The build takes ~9 minutes to run due to excessive use of integration tests. We will follow up to migrate these tests to unit tests, and generally improve coverage ahead of the release:

https://issues.apache.org/jira/browse/FLINK-29895

Seems like the checks are broken, raised a Jira to fix:

https://issues.apache.org/jira/browse/FLINK-29896

LGTM, running tests locally before merging

LGTM


Add enableBoostThreshold param to Boosts Information plugin

Currently with this plugin you cannot get notified when your stats fully drain, only when the drain to level + 1. Setting the threshold to 0 disables the feature. This new param will allow the boost threshold to be set to 0 without it disabling the feature, meaning you can get notified when a stat returns to its base level.

I don't think this makes sense because it requires checking two different checkboxes (Enable boost threshold and Notify on boost threshold) to enable the notification.

I don't think this makes sense because it requires checking two different checkboxes (Enable boost threshold and Notify on boost threshold) to enable the notification.

@Adam-
They serve distinct purposes - enable boost threshold causes the color of the boosted level to change, and notify on boost threshold sends a notification when the boost threshold is hit.
Can you think of a better way to allow notifications when boosts fully drain? It's a pretty useful piece of functionality that is missing from this plugin.

You could remove the != check, but would need something to handle config migrations I think. When the != 0 check was made there was no other way to disable the notification

You could remove the != check, but would need something to handle config migrations I think. When the != 0 check was made there was no other way to disable the notification

@Adam-
Oh that does seem like a simpler solution :) I don't know what you mean by config migrations though

Update the PR based on your feedback @Adam-

I am concerned about blanket enabling notifications for everyone like this. Since it is a behavior change where it previously was not sending notifications but now it is.

I am concerned about blanket enabling notifications for everyone like this. Since it is a behavior change where it previously was not sending notifications but now it is.

@Adam-
What if we change the default value of the notification option to disabled?

Changing the default only affects new profiles/new users. So that would be good to do, but additionally I think you would have to migrate the config by disabling the notification of boost threshold == 0

Changing the default only affects new profiles/new users. So that would be good to do, but additionally I think you would have to migrate the config by disabling the notification if boost threshold == 0

@Adam-
So you mean something that would do a one-off check if boost threshold == 0 and disable the notification? But then after that if the notification is re-enabled it wouldn't continue to do that? I'm not exactly sure how to implement that.

Here is an example from invtags https://github.com/runelite/runelite/commit/65e902699ce889a5dafc490586d02b039901fd40#diff-863393ac8b89325de9799409ccbb395a30cae2d4e7a6ecbf564234ff3e7967d0R137

Here is an example from invtags 65e9026#diff-863393ac8b89325de9799409ccbb395a30cae2d4e7a6ecbf564234ff3e7967d0R137

@Adam-
Ok thanks. I've added this change and got it to pass the tests. Not entirely sure it's exactly how it should be though.

What comes to mind now is that if a user doesn't have boostThreshold set to 0, then the first time they set it to 0 and restart the client their notification setting will be turned off. This might not be a desired outcome. Should we just mark the config as migrated regardless of the boostThreshold setting, but only disable the notification if boostThreshold is set to 0 when we first check?

Just migrate the config, set a key so you know it's migrated, after that never migrate the config again because you have set the key. Seems like you are already doing that? There is no if (boostThreshold == 0) check for configManager.setConfiguration("boosts", "migrated", "1"); so you cannot run into the problem you're thinking of?

Just migrate the config, set a key so you know it's migrated, after that never migrate the config again because you have set the key. Seems like you are already doing that? There is no if (boostThreshold == 0) check for configManager.setConfiguration("boosts", "migrated", "1"); so you cannot run into the problem you're thinking of?

Oh lol you're right. The code I have now already does what I thought should happen in my above comment. I just moved the debug line about changing the setting inside that conditional.


Bump up commit for Prometheus helm charts

Build Prometheus helm chart version 13.2.1 from upstream.
As of this, kube-state-metrics charts are now a part of the Prometheus community helm charts repo, so we don't need to clone it separately.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/hold

/unhold


Thanos ruler: Alertmanager v0.27.0 /api/v1 endpoints deprecated

Thanos, Prometheus and Golang version used:
v0.34.1
Object Storage Provider:
AWS S3
What happened:
Thanos ruler is randomly failing to send alerts to Alertmanager v0.27.0 with bad response status 410 Gone
What you expected to happen:
No errors while sending alerts
How to reproduce it (as minimally and precisely as possible):
Install latest Alertmanager v0.27.0 (I'm using latest kube-prometheus-stack version with their implementation of thanos ruler) and Thanos ruler 0.34.1 setup to send alerts to it
Full logs to relevant components:
Thanos ruler:
err="bad response status 410 Gone from \"http://prometheus-kube-prometheus-alertmanager.monitoring.svc.cluster.local:9093/api/v1/alerts
Alertmanager:
ts=2024-03-13T14:32:22.436Z caller=v1_deprecation_router.go:51 level=warn component=api version=v1 msg="v1 API received a request on a removed endpoint" path=/api/v1/alerts method=POST
Anything else we need to know:
Related to https://github.com/prometheus/alertmanager/pull/2970

v2 will be default by the next release https://github.com/thanos-io/thanos/pull/7123 . Until then you can change the API version in the alertmanager config: https://thanos.io/v0.34/components/rule.md/#configuration

This is fixed by upgrading to a recent thanos version, Ill close this; please reopen if I missed something!


Wrong icons on teacher page in Safari

I discovered that the icons on the hexagons in the teacher page at isaacphysics.org/teacher_features don't display properly in Safari 9.1.1.
This is in Safari:
teacher page Safari.pdf
This is in Chrome, as it should be:
Teacher page Chrome.pdf

This is a bug with Safari still not supporting SVG images properly. I knew this was an issue when I built it, but it's become more of an issue now Chrome on iOS uses Safari to render stuff.
We could wait for Safari to support SVGs properly (or I'll see if I can find some propriety equivalent of what I'm doing), or else I'd have to rewrite the page. It's quite neat right now.

We'll wait for Safari to catch up with the rest of us.


Discuss: Should Highlight.js version 11 npm release be ESM only?

Is your request related to a specific problem you're having?
I'm always frustrated when starting a project, I don't want to set up a whole build chain and just want to get started:
import highlight from './node_modules/highlight.js/lib/core.js'

And I get an error Error: 'default' is not exported by /node_modules/highlight.js/lib/core.js...
The solution you'd prefer / feature you'd like to see added...
I'd much rather prefer having standard ES6 modules in the npm package, and being able to use them as advertised in the README.md.
Any alternative solutions you considered...
s/module.exports =/export default/ on the node_modules/highlight.js/ files, but that's not very convenient.
Additional context...
Support for ESM has landed in Node.js current and LTS lines recently, with features such as Conditional Exports (useful in case we want to keep the CJS version around, still required for Node.js v10 support).
Having ESM files would also make the library compatible with Deno for free, which would be nice.

Is anyone using .jsm?  Or a special extension for modules?

s/module.exports =/export default/ on the node_modules/highlight.js/ files, but that's not very convenient.

Perhaps I should have looked at this a bit more carefully.  Is this really ALL you were looking for here?  If we shipped those 2-3 entry files (or variants) with ONLY this change?

Is anyone using .jsm? Or a special extension for modules vs normal CJS?

.mjs is the one recognized by Node.js.

would that resolve this?

Yes, that would be totally fine! I think Rollup can handle that, right?
https://github.com/highlightjs/highlight.js/blob/b1bce6e3ada485b89696f554878b2ef44a73d94a/tools/build_config.js#L10
Haven't tried it, but I think you can replace it with:
output: [
  { format: "cjs", strict: false },
  { format: "esm" },
]

Would you interested in a PR?

Actually that will mess with all the individual languages we require also, no?  Those would then also need to also be modules, yes?  That's what I was fearful of...  I'm not sure we want to ship +180 additional/duplicate JS files just because of ESM... is that the only way to do this - or am I thinking about it wrong?  I wonder if there are any other large modular libraries and how they are dealing with this problem?
Building a "monolith" (like we do for the browser) would solve some of the issues [for some people] but others really prefer to load just core and the languages they need one at a time, and it seems to allow that we'd still need 100s of separate modules.

but I think you can replace it with:

I doubt it.  We have a pretty custom build process.  It'd probably be easier to build a list of the individual CJS files and then feed them thru a simple text transform... then spit out new files beside them.
But we'd also preferably want our CI/test suite to test these new "build products" and I'm not sure that's even even possible with Mocha. Do you know?  Last time I looked at using modules with it things seemed pretty rocky... but perhaps that has improved?

@aduh95 If your actual problem is truly just "get started fast" why not just use the browser build and change it's single CJS hook to an ESM hook instead?

Thanks for the detailed explanation, I think I got your point. This discussion would be more productive in a few months when Node.js ESM support has stabilised.
Maybe we can wait and see if the situation evolves on Node.js side, and come back to the "drop CJS with the next major release and switch completely to ESM" mindset when it makes sense?

But we'd also preferably want our CI/test suite to test these new "build products" and I'm not sure that's even even possible with Mocha. Do you know?

Yes Mocha is able to interact with ES modules, you just have import() them instead on require() them.

If your actual problem is truly just "get started fast" why not just use the browser build and change it's single CJS export to an ESM export instead?

I want the best of both world: get started fast and cherry-pick the languages I'm actually highlighting. I know I'm bad ^^

This discussion would be more productive in a few months when Node.js ESM support has stabilised.

So be it.

This discussion would be more productive in a few months when Node.js ESM support has stabilised.

How are things looking now?  I'm curious if other packages (with lots of individual files) are shipping BOTH ESM and CJS versions via npm and if so how they are doing it...
I'm thinking of rolling v11 perhaps in April/May and seems a good time to revisit this...

Hey! Yes, there are a few packages that have started doing that, on the top of my head I can think of Rollup and Preact, I know there are more. I'm not sure they qualify for the lot of individual files part though.
On Node.js side, ES modules support  is no longer experimental (https://github.com/nodejs/node/pull/35781) and is considered stable. Node.js v10.x is planned to go end-of-life at the end of April 2021, which would mean all maintained Node.js release lines (v12.x, v14.x, v16.x) would have support for ES modules.
IMHO, considering the time frame, I think we should go all-in with ESM and ditch CJS in the npm package:

A user working with CJS modules can still use highlight.js using import('highligh.js').then().
Users working on web apps could start using highlight.js without a bundler/transpiler.
That wouldn't make the npm package twice as heavy (which would inevitably happen if we were to ship both CJS & ESM).

I can work on a PR to start experimenting with that if that sounds like a plan to you.

A user working with CJS modules can still use highlight.js using import('highligh.js').then().

Does this also then work perfectly in v12?  Did the ESM support become non-experimental in the latest releases of v12 or do you still need to trigger a special runtime flag?

Users working on web apps could start using highlight.js without a bundler/transpiler.

You mean vs using our pre-built and minified distributable assets? (which we'll still create for users who need/prefer them)  I'm all for giving people choices, but are there big advantages using ESM if the library isn't built with that in mind?  Someone crazy enough to import everything would be loading/fetching over 180 distinct JS files.  It's possible I don't understand the full ESM in-browser story yet since I've always bundled on every web app I've worked on.

That wouldn't make the npm package twice as heavy (which would inevitably happen if we were to ship both CJS & ESM).

I'm not super worried about the size, thought it is a consideration.  More worried about maintaining dual build, and CI pipelines... but the end result is the same:  A single final product be nicer than two. :)

I can work on a PR to start experimenting with that if that sounds like a plan to you.

Is there a reason the npm build process couldn't mostly do a cp **/*.js -> into proper places since we're already using ESM modules for our raw source?  I also need to take another look at the mocha story for ESM now...

Does this also then work perfectly in v12? Did the ESM support become non-experimental in the latest releases of v12 or do you still need to trigger a special runtime flag?

Yes, v12.20.0 has the same implementation as current v15.x (with the exception of top-level await, but that's because it's using an older version of V8), no flag is needed, and the experimental warning has been removed.

Someone crazy enough to import everything would be loading/fetching over 180 distinct JS files.

In some projects of mine I was using highlight.js to highlight one specific language, so that would be only two files to fetch, correct? Otherwise, I agree you should use a bundler or the pre-built file if you want to include everything.

Is there a reason the npm build process couldn't mostly do a cp **/*.js -> into proper places since we're already using ESM modules for our raw source?

Yes probably, since a010c151328b8944a7a03e5335956de8baf63295 that should be possible. There some documentation and update to make to package.json (we need to add "type": "module" so Node.js and bundler know we're shipping ESM), but yeah, hopefully it should be pretty straightforward :)

Looks like the modules themselves almost work as-is (except for our importing of package.json) with a small test case... Too bad this seems to require --experimental-json-modules https://stackoverflow.com/questions/59738999/does-the-es-modules-implementation-support-importing-json-files   Is there some nice solution that I'm missing of if I want to magically import the version from package.json into our build without a build pipeline?

In some projects of mine I was using highlight.js to highlight one specific language, so that would be only two files to fetch, correct?

Well our raw source tree is broken up into separate files for organization. Just the library + one languages is maybe 7-8 different small files.  Perhaps (for API privacy concerns as well) we still need to build ESM assets/files for:

core (just the lib)
common (imports core + list of common grammars)
index/all (imports core + all grammars)
languages/* (individual grammars)

Thoughts?

Is there some nice solution that I'm missing of if I want to magically import the version number from package.json into the library?

On Node.js, you can do that:
import { readFile } from 'fs/promises';

const { version } = await readFile(new URL('../package.json', import.meta.url)).then(JSON.parse);
console.log(version); // Outputs '10.6.0'.

Doing so would not work on the browser, so that's probably not the way to go for the distributed package…
Given that plus the fact that the source files are broken up into several files, it seems the way forward would be to update the build_node script to output ESM, and keeping the current distributed file organization (except it would contain ESM instead of CJS).

Too bad this seems to require --experimental-json-modules

FYI it's expected to stop being necessary soon: https://github.com/nodejs/node/issues/37141.

@aduh95 If you wanted to help further you could take a look at that PR and provide any thoughts.  Also if you wanted to muck around with getting the test suite fully operational again that'd be awesome.
Looks pretty clean so far.

Some addl discussion here (so it's not lost): https://github.com/joshgoebel/highlight.js/pull/2

[Sorry for jumping around, trying to keep high-level notes on this thread]

we could decide that we supply only a bundle CJS file

Oh now I hadn't really considered the pros and cons of that... but that makes CJS a second class citizen, so that seems like a no go.

provide a CJS module for each language, but I thought you said that was not acceptable?

Did I say that, or did I say it was annoying?  Either way, I'm learning as we go here and my thoughts are evolving.
I believe going ESM only at this point in time could be disruptive to users with CJS codebases [who cannot easily upgrade and] would therefore be "locked out" of the latest version... nor do I see immediate benefits worth justifying such a disruption.  Our release strategy is that there is no reason users should NOT be on the latest release.  If you have a bug or glitch, upgrade, period.  Our grammars are constantly evolving and hence the ability to stay current is important.  Leaving all the CJS people behind on version 10 (which seems to be the plan of many other JS libraries) is not really a good strategy.
So that means either we delay ESM to some point in the future... or that we support both.  Hence my curiosity at exploring what supporting both might look like.  But also if we're supporting both then I'm not sure this needs to be a breaking change at all and then it wouldn't be tied so tightly to our v11 release, but could be done whenever.
I'll post something on twitter and see if perhaps I can get a broader idea of what our Node.js usage looks like.

For completeness sake, I feel the need to clarify that moving to ESM only doesn't "lock out" CJS users to v10, they can still bundle themselves or use dynamic import. But I agree dual package mode is certainly the most comfortable for everyone.

Yes, I understand - that's what I was covering with "who cannot easily upgrade"... if they are not bundling and can't use dynamic import then they would be "locked out".  I don't know why most using Node.js on the server-side would be bundling at all... I think it's far more common to just require what you need directly.  So to me the real question is how many people we have on Node.js who aren't yet on ESM codebases and can't use dynamic import - which is what I asked on twitter.

For reference, the tweet is at https://twitter.com/highlightjs/status/1374069451444908034.

Almost all this stuff (conditional exports, subpath exports, subpath imports, etc.) still seems to be flagged experimental in v12: https://nodejs.org/docs/latest-v12.x/api/packages.html
That's a bit concerning.

v12.20.0 will remove the experimental status: https://github.com/nodejs/node/pull/37797
Its expected release date is March 30th.

Do you have any thoughts on dir placement? I really dislike having both a "cjs" and "esm" folder as I've seen someplaces... so to me that means either a "esm" or "cjs" folder (in addition to lib).  Which one is lib vs named would likely depend on whether the core package ships as module or commonjs... if we bundle both I'm not sure what the advantages/disadvantages are of shipping module vs commonjs.  I assume commonjs would be more compatible with older versions of Node.
Really I'm wondering where the cjs or esm folder goes though?  Does it go inside lib or does it reside at the top level?
- /
  - /lib
  - /compat

vs
- /
  - /lib
  - /lib/compat

Question.  If we stay type: "commonjs" and add BOTH ESM and CJS via conditional exports... that would mean this is no longer a breaking change (for anyone), wouldn't it?

It would still be a breaking change for Node.js v10.x users, which do not have support for "exports" field.

Well, I don't mind dropping v10... BUT just for curiosity, why would it be a breaking change?  If the CJS files were still in all the same places... wouldn't they just work as they always have?  I'd assume exports would just merely be ignored and not used?

I guess you're right, if we keep the same file structure for CJS module and add exports conditional exports to rewrite ESM resolution and opt-out of package encapsulation, I don't see why it would be breaking.

And what would the downsides of such an approach be?

I don't think there is any downside, in the OP I was suggesting adding ESM as a non-breaking change using conditional exports so it seems we've just circled back :)

Sometimes we take the long way around. :-)  I'll take another swing at this in a bit with this goal in mind.

Can you have a look at https://github.com/highlightjs/highlight.js/pull/3007 now?

@joshgoebel FYI: I’ve started changing the modules that I maintain to ESM-only. Starting from the low-level projects, and reaching lowlight somewhere next month probably. Let me know if I can advise on something

@wooorm ESM-only sounded too ambitious to me so I think we're likely to ship a dual library with conditional exports.  If you know anything about that and wanted to take a glance at #3007...

@joshgoebel I tried that with micromark in November and users ran into a ton of problems with tools, such as webpack 4 (still used in CRA and Next): https://github.com/remarkjs/react-markdown/issues/518. I’m not optimistic that you can push dual esm/cjs in a minor release.
A way around it would be if you’d eliminate default exports. Maybe there’s other ways too

How did you try it though?  I was planning to leave the core library/package.json still CJS (type: commonjs)... we're adding ESM to the es folder... so any bundler who "wasn't aware" of the "new" things would just see the CJS and work as it always had - or that's my thinking.  Now if a packager is mis-handling the new standards - then I'd say that's kind of a packager issue?
Looks like you said Webpack fixed their issues in version 5?
And we're gearing up for v11, so it doesn't have to be a minor release, I just thought if we could divorce it from v11 that'd be one less thing, but if it can't be, that's fine also.

https://github.com/micromark/micromark/pull/36 is the main chunk of the work.

so any bundler who "wasn't aware" of the "new" things would just see the CJS and work as it always had - or that's my thinking.

I had the same idea. It turned out to be incorrect. Bundlers and other tools have been running faux-ESM for so long, that they never bothered to make them spec compliant / work.

Now if a packager is mis-handling the new standards - then I'd say that's kind of a packager issue?

Agreed.

Looks like you said Webpack fixed their issues in version 5?

Yep. But lots of users are still on broken tools.

Bundlers and other tools have been running faux-ESM for so long

So if someone was literally using our canonical requires:
const hljs = require('./highlight.js');
// ... or ...
const hljs = require('highlight.js/lib/core');

Would those still break even assuming index.js and core.js had 0 changes?

I believe that’s indeed the issue. Webpack 4 will “magically” start using ESM in your above example, even thought it’s clearly CJS expecting CJS, and it doesn’t understand that actual ESM 🤷♂
You might get around it by adding an __esModule: true and a .default: theDefaultExport field, but I’m not 100% sure off the top of my head. You should test that 😅

How can you still support JS requires with file extensions using conditional exports subpath patterns?
const swift = require('highlight.js/lib/languages/swift.js')

Error: Cannot find module '/Users/jgoebel/work/tmp_app/node_modules/highlight.js/lib/languages/swift.js.js'

It always wants to re-add the extension, even if it's already there.

That depends on the exports? I haven’t used it really, but here’s the docs: https://nodejs.org/api/packages.html#packages_subpath_exports.

I think that would be a breaking change indeed. We could hack our way around it by adding a swift.js.js that contains
function emitWarning() {
  if (!emitWarning.warned) {
    emitWarning.warned = true;
    process.emitWarning(
      'Using file extension in specifier is deprecated, use "highlight.js/lib/languages/swift" instead'
    );
  }
}
emitWarning();
exports = require('./swift.js');

That depends on the exports? I haven’t used it really, but here’s the docs:

I've read them.  They don't seem to address this that I see other than acknowledging the problem at one point.  I was posting it here hoping someone knows the solution.  Optimally there would be a way to make it "just work" extension or not - without having to have a manual list of 180 languages in exports.

We could hack our way around it by adding a swift.js.js that contains

Ha, indeed.  Before we went there though I think I'd just bloat the package.json with 180 entries for every language and give up on *.

I don't think that fit your use-case, but I thought I should mention it anyway: you could also change package.json to have limited support for extension paths:
  "exports": {
    "./lib/languages/*": { "require": ["./lib/languages/*.js", "./lib/languages/*"], ... }
  },

That would still fail for Node.js (see https://github.com/nodejs/node/issues/37928#issuecomment-808833604), but would work for some bundlers – I know that works in Webpack 5, not sure for others. Depending on how breaking you are wanting to go with this, it may be an acceptable compromise.

"./lib/languages/*": { "require": ["./lib/languages/*.js", "./lib/languages/*"], ... }

What does having require be an array do???  I haven't seen that.

Yes the "exports" field was designed for package encapsulation first, for package authors who want to be picky regarding what is exposed to their users.

I wonder if we shouldn't just forget exports then - we only publish things we want to expose in any case.  I just thought it was nice that it made ESM "just work" with the same paths... (loading the ESM modules vs CJS)... if we remove exports then ESM users either have to change "lib" to "es"... or they'll just be importing the existing CJS modules, which actually works just fine if the environment is Node.

What does having require be an array do??? I haven't seen that.

See https://webpack.js.org/guides/package-exports/#alternatives:

Instead of providing a single result, the package author may provide a list of results. In such a scenario this list is tried in order and the first valid result will be used.

I wonder if we shouldn't just forget exports then

I'll take that over the current CJS-only package, but… There are breaking changes in v11 anyway, and AFAIK highlight.js has never documented using extension to load the individual language files: if that was up to me, I would go either with the array approach and document it as a breaking change, or either with adding .js.js files approach; removing the extension is doable with a simple replacement command after all, IMHO it's acceptable to put the burden on the users, but that's just me. (OK, full disclosure, I would probably go ESM-only depending how much caffeine I had on that day, but we've discussed that already :))
Again, it depends what vision you have for highlight.js v11, how much breakage you want to allow, and what status you want to give to ESM in the npm package.

https://webpack.js.org/guides/package-exports/#alternatives:

Ok, but what does Node do with such constructs?

There are breaking changes in v11 anyway,

Yes, but if I got this to a  "very happy with" point I was considering perhaps pushing a minor release of 10 that's dual  ESM/CJS just to get a heads up on packaging issues.

has never documented using extension to load the individual language files

True, but that doesn't mean it isn't done - and I'd prefer not to break it if avoidable.  Our very own eslint config requires extensions for imports.  Though I'm aware this is different than requires.

IMHO it's acceptable to put the burden on the users

For v11, yes.  For a slipstream v10 release, less so.

how much breakage you want to allow,

We're breaking enough other things, so it'd be nice if the module thing "just worked". :-)

What is the downside to just listing all 180 languages (with .js) explicitly in the exports?  This seems to work.  And we generate the exports list programmatically anyways...

Ok, but what does Node do with such constructs?

It would only use the first one basically, and ignore what comes after; in our case, Node.js would still throw a swift.js.js not found error

Yes, but if I got this to a "very happy with" point I was considering perhaps pushing a minor release of 10 that's dual ESM/CJS just to get a heads up on packaging issues.

Oh I see, in that case I agree, it's probably safer to avoid "exports" altogether in v10.

What is the downside to just listing all 180 languages (with .js) explicitly in the exports? This seems to work. And we generate the exports list programmatically anyways...

The upside of having .js.js files is you can add deprecation warning, and then remove the extra files in the next semver-major; but if you're happy with supporting both entry points, listing them all should work just fine.

The upside of having .js.js files is you can add deprecation warning, and then remove the extra files in the next semver-major;

Ah, now that indeed make sense.

Tagging to autoclose.  Next release will NOT be ESM only.  We'll include ESM in an es folder beside lib and users will either have to reference it explicitly or we'll use conditional exports (remains to be seen which way we go).

@aduh95  Merged (with conditional exports for now).  Should be released when v11-alpha1 is ready.


ModuleNotFoundError: No module named 'monero.wallet'; 'monero' is not a package

I get this error if i try to execute this code:
from monero.wallet import Wallet
from monero.backends.jsonrpc import JSONRPCWallet

w = Wallet(JSONRPCWallet(port=28088))
w.address()
w.balance()

But monero-python is already installed

Works now

thank you!


IOS 14+ doens't write on empty tag

Writing on an empty tag doesn’t work, anyone figured it out it? some workaround maybe?

Please see instructions here.
I will close it for now, please feel free to reopen or fire another one if there’re still issues.
Thanks!


Alpha bugs list

[x] sign in goes to a sign up flow. Add option to sign in?
[x] password not validated or saved on sign up
[x] user and install new needs to pass odysee.com as the domain - otherwise you get LBRY related emails
[x] Share buttons link to lbry.tv, should by odysee.com
[x] color theme on description is LBRY green (hyperlinks / tags)
[ ] blue ribbon at top of wallet page goes to rewards page that doesn't work. Blue ribbon is not within color theme.
[x] buy LBRY credits pops up a strange overlay. This can probably be modeled after odysee.com buy screen or remove for now.
[ ] remove USD equivalents ?
[x] yerbil > space man
[ ] channel discover page doesn't load
[ ] are we optimizing spee.ch thumbnails to a reasonable size? maybe use the ones that odysee.com is using so they are properly cached. Lazy loading feels sluggish
[x] seek bar on video is LBRY themed
[ ] clicking a comment on video page should load all comments (shouldn't have to click the expand button)
[ ] when signed out, drive sign up if you try to react, comment, etc
[ ] comments page on channel page shows bad data - check @saltycracker channel, only has 1 comment
[ ] no search / url bar?
[ ] when you sign out, wallet balance still shows, notification page blank

missing features:

livestreams (showing on channel page , live stream comments at least)
yt sync flow
first run flow
comment reactions
rewards
channel creation
checking for disabled comments on channels (see ios implementation)

Will add more here as I find it, anyone else is free to edit/add also.

[ ] Makes my notification bar black, can't see any icons/text. (Phone in dark mode).
[ ] Can't comment: authentication required
[ ] After reacting, comments collapse. Can't see total reactions after you react.
[ ] Clicking video from pop out player goes to homepage.
[ ] Can't navigate home after a few videos deep via related.(have to keep clicking back through each page).
[ ] Blank trending homepage when navigating back to it. Clicking new (loads) and then trending again works.
[ ] New content notification click ends up in 'loading decentralized data for a while (no need to mention decentralized mention). Other navigation steps too, even after being available in claim search.

I've seen a certificate error when installing the package. Probably on APK build.

By the way, AsyncTask is deprecated in Android 11, so I see the problem here.

That's unrelated to the signature problem.
AsyncTask was deprecated, but not yet removed. All my new code was also using Java Futures instead of AsyncTask

I see. But I think it will be removed in the future though. So yep, patch it up.

Issues from reddit thread

[ ] changes to followings in app seem to only be stored locally
[ ] floating player covers navigation bar at the bottom
[ ] Wallet: "View All" shows incorrectly "There are no transactions to display"
[ ] Report about similar behavior with background playback as this https://github.com/lbryio/lbry-android/issues/1206

Battery optimization disabled
Pixel 4A Android 11
Samsung Galaxy S9 with Android 10

Feature request for first run:
Ability to send tip - if it's taking this long to release, we may as well have this bit ready.

Feature request for first run:
Ability to send tip - if it's taking this long to release, we may as well have this bit ready.

This will happen probably on Google's in app purchases, not stripe.

I've been playing around with odysee android alpha. Probably not ready for release yet.
A couple of things that I noticed that were were problematic:
If I go out of the app even just for a few seconds to check another app and return, the odysee app restarts.
Searching for channels: Search for a channel, e.g. laowhy86, you'll see 'nothing is here' at the top, then the laowhy86 channel, and then some of his videos. If you click the channel below the 'nothing is here' nothing happens. So users can't view channel pages yet

Any idea/updates on when private lists will be watchable in the app?  https://odysee.com/$/lists

Livestreams are again listed on the Following fragment. Fixed on branch, will be merged on master branch. This will come along the fix for livestream play and a few of threading API changes -my code was using Future.get(), which was blocking Android UI thread; the branch changes it-. This branch will should also make the content Reaction code faster, as it will no longer block the main thread.

pop out player gets stuck to top of trending somehow (notice it's both at the top and bottom - small thumbnail, I was scrolled up)

The item on the top is certainly not the same. Mini player -the one at the bottom- is using a explicitly different layout than list items. Also look at the background color.
What is happening is that somehow recyclerview is using the list item's layout for smaller screens for the one on the top. Odysee Android added a new layout for items to be used on more common screens nowadays, which have more pixels available and can show the thumbnail side-to-side of the screen. But the older layout remained, as older or cheaper -with lower resolution- phones can use it instead.
It looks like some graphic artifact from the Android OS.
What shouldn't be happening at all is that top item to be stuck there.

Are downloads every going to be added?


Sent messages viewer error

In my my_app/lib/my_app_web/router.ex:
defmodule MyApp.Router do
  use MyApp.Web,  :router

  if Mix.env == :dev do
    forward("/sent_messages", Apus.SentMessagesViewerPlug)
  end
end

After iex -S mix, it tells:
** (UndefinedFunctionError) function Apus.SentMessagesViewerPlug.init/1 is undefined (module Apus.SentMessagesViewerPlug is not available)
    Apus.SentMessagesViewerPlug.init([])

And I checked the file, no init() and call() functions, which should be required by Plug module.

The sent messages plug uses the Plug.Router module which implements the init and call functions for us.
Can you please let me which version of apus and elixir you are running and are you seeing this error when attempting to visit the url?
Also to note from your router config it looks like you are using phoenix. If this is the case, when running your app through iex you will need to specify that you want to start the phoenix server as well. You can do this using this command iex -S mix phx.server.


Add Part-of-speech tagging, Constituent labeling, and Dependency labeling Edge Probing tasks

This PR contributes Part-of-speech tagging, Constituent labeling, and Dependency labeling Edge Probing tasks. See table below for status of benchmark tests.
Note: After incorporating these three tasks, all edge probing tasks from What do you learn from context? Probing for sentence structure in contextualized word representations should be represented in jiant (the other edge probing tasks were implemented in PRs #81 and #88).
How were these changes validated:
We preformed benchmark tests (using RoBERTa) and compared dev set results to Taskmaster:

Task
Taskmaster Baseline
jiant2 (F1 micro)

Dependency labeling
95.8
95.7

Constituent labeling
88.8
running

Part-of-speech tagging
98.1
running

PR marked as draft while benchmark tests are running (see table in PR description for test status/results).

After a 7 days of training, nonterminal constituents score beats Taskmaster Baseline. Ready to merge.

Task
Taskmaster Baseline
jiant2 (F1 micro)

Dependency labeling
95.8
95.7

Constituent labeling
88.8
91.7

Part-of-speech tagging
98.1
98.0


Quick question about code_generation_lite vs code_generation

Hi! Love this benchmark.
It seems that code_generation_lite is intended to be a curated subset of code_generation.
However, when I loaded code_generation_lite, I noticed that it had 511 rows.
>>> lcb_codegen = load_dataset("livecodebench/code_generation_lite", version_tag="release_v2", split="test")
>>> lcb_codegen
Dataset({
    features: ['question_title', 'question_content', 'platform', 'question_id', 'contest_id', 'contest_date', 'starter_code', 'difficulty', 'public_test_cases', 'private_test_cases', 'metadata'],
    num_rows: 511
})

Meanwhile, I notice that code_generation only has 400 rows.
>>> ds = load_dataset("livecodebench/code_generation")
>>> ds
DatasetDict({
    test: Dataset({
        features: ['question_title', 'question_content', 'platform', 'question_id', 'contest_id', 'contest_date', 'starter_code', 'difficulty', 'public_test_cases', 'private_test_cases', 'metadata'],
        num_rows: 400
    })
})

I was wondering why this was, and whether it is still recommended to use code_generation_lite over code_generation.
I'm probably just being silly, but would love clarification!
Thanks.

Hi, yes the nomenclature is a bit funny but code_generation_lite was designed as a low-cost alternative for the original code_generation dataset by pruning the tests. Since thencode_generation_lite has been updated as part of the second release of our "live" benchmark. Thus, it has more problems (511) against 400 in the first release. If you use release_v1 version for code_generation_lite, you will notice the same 400 problems there as well


format: add {file}.chain with issuing ca and cert chain

Useful for certs issued by intermediates and used for serving tls, this writes the issuing_ca and certificate into the same file.

hi @roboll .. you can actually get this by using bundle format ..

@gambol99 amazing, i overlooked that!


Typo on IME Test Wiki

Hello.
I can not edit the wiki. Instead of it, I file this issue.
I found a typo on IME-Test wiki.
https://github.com/microsoft/vscode/wiki/IME-Test

konnichiha should result in "こんいちは"

should be

konnnichiha should result in "こんにちは"

- konnichiha
+ konnnichiha
- こんいちは
+ こんにちは

ko-nn-ni-chi-ha will be こんにちは.
ko-nn-ni-chi-ha
こ-ん-に-ち-は

Also, I found same typo on test file.
https://github.com/microsoft/vscode/blob/40a54b0e33fb46312b79df4387c41ba1fc6fd9f9/src/vs/editor/test/browser/controller/imeTester.ts#L168
-	{ description: 'Japanese IME 2', in: 'konnichiha [Enter]', out: 'こんいちは' },
+	{ description: 'Japanese IME 2', in: 'konnnichiha [Enter]', out: 'こんにちは' },

📝 Note
"こんいちは" is common misspelling of "こんにちは"

"こんにちは" is correct word in japanese
"こんにちは" pronunciation is "ko-n-ni-chi-wa" in japanese
"こんにちは" spelling is "ko-n-ni-chi-ha" in Romanization of Japanese
"こんにちは" typing is "ko-nn-ni-chi-ha" in IME(Romaji input mode. It is default behavior in almost IME)

IME transform "nn" to "ん" for avoiding typo.
Also, some IME auto correct "こんいちは" to "こんにちは", because "こんいちは" is common misspelling.
"こんにちは" is difficult word…

Resolved via https://github.com/microsoft/vscode-wiki/pull/158


[Storage] Cleanup - Post Preview 3

[ ] JSDoc comments

options or options={} https://github.com/Azure/azure-sdk-for-js/pull/5082#discussion_r323419877
https://github.com/Azure/azure-sdk-for-js/blob/27c033672dc452044af6413e2b87f5511b76edec/sdk/storage/storage-file/src/DirectoryClient.ts#L920

[ ] JSDoc comments - add the @type and @memberof info

https://github.com/Azure/azure-sdk-for-js/pull/5082#discussion_r323386983

[ ] Naming of stringToBuffer2 sounds confusing. - "storage-blob/src/BatchUtils.ts"

https://github.com/Azure/azure-sdk-for-js/pull/5082#discussion_r323403035 and
Related code - https://github.com/Azure/azure-sdk-for-js/pull/5082#discussion_r323410799

[ ] toLocaleLowerCase() vs toLowerCase()
https://github.com/Azure/azure-sdk-for-js/blob/3a68763c217e128054f3df86539c26c1e12e4361/sdk/storage/storage-blob/src/utils/utils.common.ts#L364-L366

https://github.com/Azure/azure-sdk-for-js/pull/5082#discussion_r323409688

[x] accessTier vs tier

https://github.com/Azure/azure-sdk-for-js/pull/5082#discussion_r323418524

Are these still applicable?

Yes, I've started working on this yesterday.

What's the status and who should follow up?

Not sure, I believe some of them are done!

@ljian3377 I would recommend that you do another review of the tasks above and create a new issue for ones that you see are still applicable.


Corrected virtualenv-related instructions in README.md

I tried to follow the setup instructions in README.md but discovered that they didn't work because they referred to the non-existent venv/Scripts directory, and didn't properly source the correct file. This PR fixes those instructions.

LGTM. +1 and thanks!

Just tried the instructions and it seems that the old instructions were for Windows. Do you think both instructions can be provided?

Any update to make it for win/unix as requested above?

I am closing this PR, I'll create an issue to fix the instructions (multiplatform).


view: 🌯 remove frivolous Option::expect call

here, we are within an if let Some(_) clause that has already bound the contents of the storage path. so, let's just pass that to Self::load instead of unwrapping it again.

cherry-picked out of a forthcoming branch, re: #3913.


IN-380 add clinical indication to report summary

Adds additional string input to be able to pass clinical indication into the report summary clinical text

Example report:

Unit tests passing:

jethro@jethro-T490:~/Projects/athena$ python3 -m pytest tests/
=============================================================================================================== test session starts ================================================================================================================
platform linux -- Python 3.8.10, pytest-7.0.1, pluggy-1.0.0
rootdir: /home/jethro/Projects/athena
plugins: Faker-14.0.0, subtests-0.11.0, html-4.1.0, metadata-3.0.0, mock-3.11.1, cov-4.0.0
collected 3 items

tests/test_utils.py ...                                                                                [100%]

================================================================================================================ 3 passed in 0.10s =================================================================================================================

This change is

Hello @jethror1! Thanks for updating this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file bin/coverage_report_single.py:

Line 33:1: E402 module level import not at top of file
Line 33:17: E401 multiple imports on one line
Line 984:5: E303 too many blank lines (2)
Line 985:9: E128 continuation line under-indented for visual indent
Line 986:9: E124 closing bracket does not match visual indentation
Line 986:9: E125 continuation line with same indent as next logical line

In the file bin/utils.py:

Line 3:1: E302 expected 2 blank lines, found 1

In the file tests/test_utils.py:

Line 10:1: E402 module level import not at top of file
Line 68:5: E303 too many blank lines (2)


#520 Expose a codahale Metric for new connections rate

Thanks for your pull request.  Please review the following guidelines.

[x] Title includes issue id.
[x] Description of the change added.
[x] Commits are squashed.
[ ] Tests added.
[ ] Documentation added/updated.
[x] Also please review CONTRIBUTING.md.

We can definitely do two meters one for connection creation one for connection close.  I agree what I have today would just give me what was the open connections in the last one minute, not how many opened in the last one minute.
But, I think we should also keep the overall connection count rate, though.  If we just have two meters, we won't be able to see if the number of active connections increased in the last 15 minutes or not.  We can get to that info; however, would be indirect.

Absolutely. I don't mean to do away with the connection count. That's extremely important. The new connection rate and termination rate tells us more of the connection behavior, whether we're dealing with a lot of reconnects or not.


Get nginx container id from labelled container

Fixes https://github.com/JrCs/docker-letsencrypt-nginx-proxy-companion/issues/170

Not tested 100% yet, when I test it in docker compose v3 I'll post a comment. Feel free to comment on this PR in the meantime.

It's fully functional and completely compatible with docker compose v3. Thanks for your PR :+1:


Not able to assign static IP to the ESP in Station Mode?

I am trying to assign static IP to the ESP when it tries to connect to my WiFi network. I have used the code given below:
`void _is_esp_connected_to_wifi(void){
int status = sdk_wifi_station_get_connect_status();
while(status != STATION_GOT_IP){
	vTaskDelay(100);
	status = sdk_wifi_station_get_connect_status();

//		TRACE("Connection Status: %d -- %s", status, sdk_wifi_status_2_string(status));
}
return;

}
void _station_init(void){
char ssid[] = "WCS";
char password[] = "RTSR&DWCS";
struct sdk_station_config _station_info;
struct ip_info static_ip_info = {0};

TRACE("SSID:%s, Password: %s", ssid, password);
strcpy((char *)_station_info.ssid, ssid);
strcpy((char *)_station_info.password, password);
_station_info.bssid_set = 0;

//Delete all existing wifi stuff in the EEPROM
sdk_wifi_station_disconnect();
sdk_wifi_set_opmode(NULL_MODE);
dhcpserver_stop();
vTaskDelay(500);

IP4_ADDR(&static_ip_info.ip, 192, 168, 5 ,55);
IP4_ADDR(&static_ip_info.gw, 192, 168, 5, 1);
IP4_ADDR(&static_ip_info.netmask, 255, 255, 255, 0);
TRACE("static ip set status : %d", sdk_wifi_set_ip_info(STATION_IF, &static_ip_info));
vTaskDelay(50);

//Must call sdk_wifi_set_opmode before sdk_wifi_station_set_config
sdk_wifi_set_opmode(STATION_MODE);
sdk_wifi_station_set_config(&_station_info);
sdk_wifi_station_connect();
_is_esp_connected_to_wifi();
TRACE("ESP Connected to WiFi %s", ssid);
}
void station_connect(void *pc){
struct ip_info get_static_ip = {0};
_station_init();
sdk_wifi_get_ip_info(0, &get_static_ip);
TRACE("Obtained IP Address: %d.%d.%d.%d",ip4_addr1(&get_static_ip.ip),
		ip4_addr2(&get_static_ip.ip),ip4_addr3(&get_static_ip.ip),ip4_addr4(&get_static_ip.ip));
while(1){
	vTaskDelay(1000);
	TRACE("static ip test ");
}

vTaskDelete(NULL);

}
void user_init(){
//	sdk_system_update_cpu_freq(SYS_CPU_160MHZ);
#if	1
//sdk_wifi_set_opmode(NULL_MODE);
//sdk_wifi_station_set_auto_connect(0);
#endif
#if ENABLE_DEBUG == 1
uart_set_baud(0, 74880);
iomux_set_function(gpio_to_iomux(2), IOMUX_GPIO2_FUNC_UART1_TXD);
#endif
TRACE("SDK Version: %s", sdk_system_get_sdk_version());
TRACE("Free Heap Size: %d", sdk_system_get_free_heap_size());
TRACE("Chip ID: %d", sdk_system_get_chip_id());
TRACE("user_init running for static ip test ....");

xTaskCreate(station_connect, "station", 500, NULL,14, NULL);

}`
Also the dhcp server keep on running, although i have stopped it in the above code .
Is this the right way of doing this and if not can someone point it out what am I doing wrong. Thanks.

I don't think a static IP address ever worked for a station, but an attempt to fix it has been made in the rewrite for lwip v2 in https://github.com/SuperHouse/esp-open-rtos/pull/389
Much of the logic seems to be in open_esplibs/libwpa/wpa_main.c:sdk_eagle_auth_done() see the trailing code in that function, so if you are still seeing problems then perhaps you could trace the logic there. The start/stop functions are in libmain/user_interface and might need some work too.

@ourairquality thanks for your reply, but after an hour of more fiddling, i have successfully assigned static IP to the esp. I have checked the program for different IPs and it worked all fine. Here is he code fragment:
`
#include "espressif/esp_common.h"
#include "esp/iomux.h"
#include "esp/uart.h"
#include <string.h>
#include "FreeRTOS.h"
#include "task.h"
#include "semphr.h"
#include "uart0.h"
#include "open_esplibs.h"
#include <lwip/sockets.h>
#include "esplibs/libmain.h"
#include "esplibs/libnet80211.h"
#include "esplibs/libpp.h"
#include "esplibs/libwpa.h"
#include "espressif/user_interface.h"
#include <lwip/dhcp.h>
void _station_init(void){
char ssid[] = "WCS";
char password[] = "RTSR&DWCS";
struct sdk_station_config _station_info;
struct ip_info static_ip_info = {0};

TRACE("SSID:%s, Password: %s", ssid, password);
strcpy((char *)_station_info.ssid, ssid);
strcpy((char *)_station_info.password, password);
_station_info.bssid_set = 0;

//Delete all existing wifi stuff in the EEPROM

//	sdk_wifi_station_disconnect();
//	sdk_wifi_softap_stop();
//	sdk_wifi_station_stop();
//	sdk_wifi_set_opmode(NULL_MODE);
//	vTaskDelay(500);
TRACE("dhcp status : %d", sdk_wifi_station_dhcpc_status());
IP4_ADDR(&static_ip_info.ip, 192, 168, 5 ,133);
IP4_ADDR(&static_ip_info.gw, 192, 168, 5, 1);
IP4_ADDR(&static_ip_info.netmask, 255, 255, 255, 0);
sdk_wifi_station_dhcpc_stop();
vTaskDelay(50);

//Must call sdk_wifi_set_opmode before sdk_wifi_station_set_config
sdk_wifi_set_opmode(STATION_MODE);
TRACE("static ip set status : %d", sdk_wifi_set_ip_info(STATION_IF, &static_ip_info));
sdk_wifi_station_set_config(&_station_info);
//	sdk_wifi_station_start();
sdk_wifi_station_connect();
_is_esp_connected_to_wifi();
TRACE("ESP Connected to WiFi %s", ssid);
}
`


Load server config from file

@RocketChat/core

Closes #362
Closes #267

Load server config from user data directory on first load if it exists.
Organise/Tidy some of the menu code

@jszaszvari Awesome! The above is the correct format, I will add it to the documentation soon.


streams settings: Hide the streams list when in create stream flow.

This makes the user flow easier while creating the new stream.
Fixes #7634.

@rishig  Please review when you got time. All the tests are passing for me locally. I did these tests tools/travis/frontend and  ./tools/test-all. Can't figure out why it fails here.

@rishig I restarted the Travis build, All the tests are passing now.

Thanks @Balaji2198!
I think this is more confusing than helpful, once I see it in practice. Maybe try blurring instead?
Also, for frontend changes it would be great if you could post a screenshot with the PR. Thanks!

Rebased the commit and attached GIFs of two cases.
Case 1:

Case 2:

@brockwhittaker, what do you think?

I wouldn't recommend setting the opacity by CSS, but rather add the half-opacity class, and do that as well because I think 0.5 opacity will be much better than 0.1.

We started with something closer to 0.5 opacity, which didn't really work (it was too bold / just confusing).

What's wrong with this? This looks normal to me. It looks faded like you shouldn't be paying attention to it, but it's not hard to read like 0.1 opacity.

We could also just make it white (opacity 0)?

Wait why would we want to do that? You still want to be able to click out of the new stream page without clicking something like cancel. This makes it look like the content disappears. IMO a step in the wrong direction. I strongly think 0.5 is the correct move here, or not changing it at all.

You still want to be able to click out of the new stream page without clicking something like cancel

I'm not sure I understand this. We can add to the list to discuss tomorrow.

@brockwhittaker  As Rishi said in the comment, Initially made the opacity to 0.5. After the suggestion, I made it to 0.1.  Will update the PR once we finalise the design.


Using accessible color in reports

@CWiswell-IDM commented on the validation report
https://github.com/InstituteforDiseaseModeling/PACE-HRH/blob/main/validation_report.Rmd#L14-L17
https://github.com/InstituteforDiseaseModeling/PACE-HRH/blob/main/ValidateInput_plot.R#L35
may not be color-blind friendly
maybe using these palettes? http://www.cookbook-r.com/Graphs/Colors_(ggplot2)/#a-colorblind-friendly-palette
@ptrdo any suggestions?

IMHO, color-blindness ought not be the prescribing factors unless it's known that a significant number of the intended audience is known to be color blind (~8% of men, but to varying degree, many not severe). More important is that the chosen colors are distinct from one another and express the desired alarm.
Here is a browser plug-in (for Chrome) that will demonstrate various forms of color blindness. Though keep in mind that some of these are very rare and virtually uncorrectable with any feasible palette.
https://chrome.google.com/webstore/detail/colorblindly/floniaahmccleoclneebhhmnjgdfijgg?hl=en
If someone wants to grab a screen capture of the result of this project, I would be happy to assess it (from my opinion).

@ptrdo thanks for the feedback, for the validation report, the color doesn't seem to get adjusted from the plugin (attached one file here if you want to check)
validation_report.zip

@CWiswell-IDM @MeWu-IDM The plug-in won't work with an image, so I used Photoshop to convert the rendered chart for the most common form of color-blindness (red-green, deuteranomaly). The most offensive color is the “limegreen” (#32cd32) which is seen by a color-blind person as very close to the “goldenrod.” However, if instead of “limegreen” we use “downy” (#69d0be), then that color is seen as light grey, and distinguishes itself nicely from the others.

 I like this!  since I am doing some changes in the report I updated the color https://github.com/InstituteforDiseaseModeling/PACE-HRH/pull/228/commits/bce173e48d2998a57eddea78038415309b10ce2c


CC1312 ACK - Send ACK after receiving a packet -

We need to ACK received packets, and also implement a re-send logic for packets not ACKed.

We don't need to implement this manually, hopefully with help, RIOT could get full support for this natively in the case a device doesn't support ACKs and frame re-transmission.


Fix SearchQueryIT to not depend on percentage

The CommonTermsQuery tests in SearchQueryIT had one case that depended on the default cutoff frequency percentage. A recent change for concurrent search increased the number of deleted documents that could be indexed in the "indexRandom" helper method, and it turns out the cutoff percentage is calculated from a max docs value that includes deleted docs. This change replaces the default percentage with an absolute value (number of documents that must match) so it is no longer susceptible to behavior change due to number of deleted documents.
Related Issues
Resolves #11208
Check List

[x] New functionality includes testing.

[x] All tests pass

[x] New functionality has been documented.

[x] New functionality has javadoc added

[x] Failing checks are inspected and point to the corresponding known issue(s) (See: Troubleshooting Failing Builds)
[x] Commits are signed per the DCO using --signoff
[x] Commit changes are listed out in CHANGELOG.md file (See: Changelog)
[x] Public documentation issue/PR created

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Thanks for looking into this! Is the behavior of the cutoff percentage accounting for deleted docs correct or should we also track fixing that underlying issue?

Thanks for looking into this! Is the behavior of the cutoff percentage accounting for deleted docs correct or should we also track fixing that underlying issue?

That logic is defined in Lucene: https://github.com/apache/lucene/blob/a26a80c89c2e625607b8d2ddb74230b57076d1da/lucene/queries/src/java/org/apache/lucene/queries/CommonTermsQuery.java#L113 (maxDoc includes deletes).
I would argue that the logic is valid, using maxDoc as the denominator. Deleted docs still add cost at matching time, which is what the query is trying to address.

@msfroh thanks for the details, that makes sense to me.
On a different note, it looks like this common terms query is actually deprecated from Elastic 7.3 so wonder if we should also move towards completely removing it as well:
https://github.com/opensearch-project/OpenSearch/blob/aca2e9de7daaadee77c33e21ff5215c3f1e8600f/server/src/main/java/org/opensearch/index/query/CommonTermsQueryBuilder.java#L55-L70

It's not clear to me why that would make this test flaky instead of always failing.

@jed326 I was able to get it to deterministically fail with a particular random seed. The reason was due to this line: https://github.com/opensearch-project/OpenSearch/blob/main/test/framework/src/main/java/org/opensearch/test/OpenSearchIntegTestCase.java#L1700
If the randomIntBetween(2, 10) produced a 9 or a 10 then it would fail, otherwise it would not.

❌ Gradle check result for 1d6543b: FAILURE

#10006


Add machine parallelism in circle for win (4), mac (4)

Description
Old pipeline was: ~24 minutes
New pipeline is: ~10 minutes

Testing
tests run, manually (lightly) inspected coverage and circleci artifacts (test xml files)

Very cool


Dictionary support

This is an umbrella bug to support dictionary described at https://www.w3.org/TR/WebIDL/#idl-dictionaries

The support of dictionary is currently present. So close this directly.


Adding event callbacks to BaseOperator (all tasks)!

This allows users to run arbitrary code on task success / retry / failure events.

:+1: for more generic callbacks to handle various infra.


Added free the key game

Related Issue
Issue#112
Description
added free the key game
Screenshots

@dakshsinghrathore plz check