Add new RSpec/ContextDescription cop

Rationale
https://github.com/reachlocal/rspec-style-guide#context-descriptions
Synopsis
context block descriptions should always start with 'when'.
Bad Example
context 'the display name not present' do
  # ...
end

Good Example
context 'when the display name is not present' do
  # ...
end

This pull request also addresses #417
Checks
Before submitting the PR make sure the following are checked:

[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[x] Added tests.
[x] Added an entry to the Changelog if the new code introduces user-observable changes.
[x] The build (bundle exec rake) is passing.

If you have created a new cop:

[x] Added the new cop to config/default.yml.
[x] The cop includes examples of good and bad code.
[x] You have tests for both code that should be reported and code that is good.

This is crazy. I started working on this at the exact same time. 🙂
Some comments:

betterspecs.org also allows "with" as a prefix, as that will also produce a correct sentence when tests fail.

There's a cop named ExampleWording. I think it might make sense to name this one ContextWording, part for uniformity, part for the possible confusion between "description" and describe.

The part of my implementation that supports multiple prefixes, if you want to ✂  it:
def on_block(node)
  context_description(node) do |description_node, message|
    return if allowed_prefix?(message)

    add_wording_offense(description_node)
  end
end

private

def allowed_prefix?(message)
  ALLOWED_PREFIXES.include?(message.split.first)
end

This could easily be extended to support a whitelist as well. Just merge it with the constant.

This is double crazy considering this https://github.com/backus/rubocop-rspec/compare/master...toptal:add-context-description-cop
Will borrow best parts from your PR and @telmofcosta's one.

Stars are aligning, etc. 😅

+1 for configurable allowed prefixes.

Nice to see so much interest in getting a cop for this 😀.

+1 to name this one ContextWording.

I wonder whether this should check shared_context descriptions as well

Renamed to ContextWording, added @telmofcosta's configurable options, added shared_context detection, updated from upstream master.

@bquorning In response to this (can't reply in the thread for some reason):
Moved the default configuration from code to default.yml.
Decided not to fetch, but rather || for several reasons:

If it happens that a user decides to configure the cop as Prefixes: [], there is no difference if we fetch or ||. For Prefixes: true there is no difference either.
.fetch(..., something) evaluates something, while ... || something does not, thus saving on an array object.
For Prefixes: ~, fetch returns ... nil, which is quite unexpected for the code, and ends up with An error occurred while RSpec/ContextWording cop was inspecting.

fetch('Prefixes') { [] } might be an option, but same culprit with Prefixes: ~.

Still don't get how to spec what is in the default config. I change it and nothing breaks, not even rubocop's checks in case default config is overridden in .rubocop.yml as it is with ContextWording.
I'd expect specs to load defaults file and populate cop_config in spec root context for specs with :config describe option.
That would remove some redundant code, would make defaults the only source of truth, would give more visibility how cops behave when default configuration is used (not some configuration quite similar to default as with ExampleWording, or no configuration given as opposed to a defined configuration in defaults).
WDYT? Does this sound like an idea for a clean-up pull request?

I’m fine with either way of defaulting the config to []. But I don’t think performance should be the argument :-)
Loading the default config in every spec sounds like an interesting follow-up PR. I’d definiteky be interested to see that. Good idea.

Thanks for the reviews guys!
Is this cop good to merge in its current implementation?

Squashed everything into a single commit.

Good to merge?

@Drenmi All good?

@bquorning: LGTM!

Thank you @pirj

Sorry, a bit late to the party. I am trying to understand why shared_context is included in this cop. Is it always supposed to be used with examples in a block like this?
include_context 'when foo' do
  it { is_expected.to eq('bar') }
end

Because I often use shared contexts to do some setup across different tests in models, controllers and other stuff like
shared_context 'foo setup' do
  let(:bar) { 1 }

  before do
    allow(baz).to receive(:message).and_return(2)
  end
end

describe '#something' do
  include_context 'foo setup'

  it 'is an example' do
    is_expected.to eq(3)
  end
end

, and it does not make sense to use "when" et. al. in this case.

@halilim It's hard to reason about this with a synthetic example.
I would rather expect something:
include_context 'with several other existing books'

or
include_context 'when user is logged in'

Speaking of an Include_context does include context to the section it is called from, so using the syntax with a nested example is weird, e.g.:
describe do
  include_context 'when foo' do
    it { is_expected.to eq('bar') }
  end

  include_context 'when bar' do
    it { is_expected.to eq('bar') }
  end

  # what would it be here, a `bar` or a `foo`?
end

This creates an ambiguity and I believe is equal to:
describe do
  include_context 'when foo'
  it { is_expected.to eq('bar') }

  include_context 'when bar'
  it { is_expected.to eq('bar') }
end

But I find this kind of scattered setup confusing.

Just to be clear, I was not advocating the use of nested examples, it was just one of the ways I could imagine this cop supports.
So let me try to come up with a closer to real world example. Imagine an external service is called in a certain method, and the method is called in a controller. Ideally we'd want to test both the method and the controller.
So we'd need to stub the external service in both places. I use shared contexts for this, and "with the external service" is not very descriptive. Because it's not actual context, e.g. the external service is always there. It just needs to be stubbed out.

@halilim I clearly understand the case.
What does this service do? Say, it's a ContinousIntegrationService, and you check if the build has succeeded.
What do you think of naming a shared context where you stub the result of the service request out so that it returns true, a "when build is successful", or a "with a successful build"?


Ipla extractor fails

Howdy,
I tried to use haruhi-dl to obtain video but extractor fails. After further investigation, current URL from get_info gets 404 response. I suspect Android client has different URLs now and this is the reason of failure.
ERROR: An extractor error has occurred. (caused by KeyError('result')); please report this issue on https://haruhi.download/bug . Make sure you are using the latest version; see  https://haruhi.download/update  on how to update. Be sure to call haruhi-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "/home/xx/.local/lib/python3.9/site-packages/haruhi_dl/extractor/common.py", line 549, in extract
    ie_result = self._real_extract(url)
  File "/home/xx/.local/lib/python3.9/site-packages/haruhi_dl/extractor/ipla.py", line 42, in _real_extract
    media = self.get_info(video_id)
  File "/home/xx/.local/lib/python3.9/site-packages/haruhi_dl/extractor/ipla.py", line 83, in get_info
    return res['result']['mediaItem']
KeyError: 'result'
Traceback (most recent call last):
  File "/home/xx/.local/lib/python3.9/site-packages/haruhi_dl/extractor/common.py", line 549, in extract
    ie_result = self._real_extract(url)
  File "/home/xx/.local/lib/python3.9/site-packages/haruhi_dl/extractor/ipla.py", line 42, in _real_extract
    media = self.get_info(video_id)
  File "/home/xx/.local/lib/python3.9/site-packages/haruhi_dl/extractor/ipla.py", line 83, in get_info
    return res['result']['mediaItem']
KeyError: 'result'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/xx/.local/lib/python3.9/site-packages/haruhi_dl/HaruhiDL.py", line 827, in wrapper
    return func(self, *args, **kwargs)
  File "/home/xx/.local/lib/python3.9/site-packages/haruhi_dl/HaruhiDL.py", line 848, in __extract_info
    ie_result = ie.extract(url)
  File "/home/xx/.local/lib/python3.9/site-packages/haruhi_dl/extractor/common.py", line 562, in extract
    raise ExtractorError('An extractor error has occurred.', cause=e)

I tried running it on a movie.
Cheers.

Hi, HTTP 404 would result in an HTTPError thrown. It could be a result of merging Ipla and Cyfrowy Polsat GO into another brand, Polsat Box Go: https://www.ipla.tv/tyrzadzisz
I'm gonna investigate this after work though

As I checked, get_info succeeds, it has this stuff in JSON response. I haven't checked whole HTTP request but looks like it returned 200 with invalid JSON.
Exemplary JSON response I got:
{'error': {'code': 13404, 'message': 'Not found error', 'data': {'type': 'NotFoundException', 'code': 10000, 'message': 'Not found error', 'messageId': 'xxx', 'userMessage': 'Wystąpił błąd (13404:)'}}, 'id': '2137', 'jsonrpc': '2.0'}

Apparently series like https://www.ipla.tv/wideo/serial/Miodowe-Lata/5007481/Miodowe-Lata-Mur-czyli-zemsta/6df54484ee2f09a22ff3a8b46c44f328?seasonId=5007481 work correctly, but movies like https://www.ipla.tv/wideo/film/Zemsta/16a03efad5d39239d3e93d9cf15eeb1f do not. This will require some more investigation about the requests made.

Also TODO: proper error handling

Root cause identified.  The most of Ipla movies require DRM, sadly, but here's a one that doesn't - this works without any code changes: https://www.ipla.tv/wideo/film/Sprawiedliwi-Wydzial-Kryminalny-Wszystko-sie-moze-zdarzyc/189062750c1ce3e2971c7a331c825825
I have added error handling with this error code specifically explaining the problem, to cut off any confusion in the future.


Breaking changes are not referenced in module data

Know the breaking changes
Reading this:
Get-WhatsNew is a cmdlet that provides information about changes and new features for a version of PowerShell, delivered to the local terminal experience.
It is impossible to know the changes (breaking change).
If I plan to port existing code to powershell 7 and above, I know what's new but I don't know what doesn't work like it used to.
Get-WhatsNew -version 6.0 | Select-String 'breaking'
# systems. Some of these are breaking changes, which also affect Windows. Others are only present or
#  Breaking changes
# We've introduced a number of breaking changes in PowerShell Core 6.0.
# To read more about them in detail, see [Breaking Changes in PowerShell Core 6.0][breaking-changes].

For this :
"We've introduced a number of breaking changes in PowerShell Core 6.0."
Ok, but which ones?
here https://github.com/PowerShell/PowerShell/releases/tag/v6.0.0-rc.2 we reference issue 5432
But the module datas does not reference this change
Get-WhatsNew -version 6.0 | Select-String '5432'
#no result

According to the RFC this case is not yet taken into account, but the text quoted at the beginning seems to contradict it.
.
.
I know it's not its purpose, but in a way this module addresses the management of release notes of different Microsoft products offering Powershell cmdlets:
SCCM
https://docs.microsoft.com/en-us/powershell/sccm/2103-release-notes?view=sccm-ps
Teams
https://docs.microsoft.com/en-us/MicrosoftTeams/teams-powershell-release-notes
Azure
https://docs.microsoft.com/en-us/powershell/azure/release-notes-azureps?view=azps-8.0.0
Having a common format for these releases notes impacting Powershell cmdlets would be a great help.
Proposed technical implementation details (optional)
No response

@LaurentDardenne - Thank you for reporting this!  The 6.0 data included with Get-WhatsNew is missing the breaking changing information.  This information has been stored in a separate document because of its size of changes since Windows PowerShell 5.1.  This information will be included for the release - Thank you!


Jest module 'jest'.

Running flow i got error in my npm test script where I use Jest:
const jest = require('jest');
                  ^^^^^^^^^^^^^^^ jest. Required module not found

Flow-typed are properly installed and configured, cause all other modules are properly resolved by flow. After some investigation I had found, that flow-typed/npm/jest_v19.x.x.js does not contain jest module declaration. I added jest.js to flow-typed/npm with content:
declare module 'jest' {
    declare module.exports: any;
}

And it fix problem.

Same issue here.

Currently the jest typings have no typings for cli usage. Only the globals to use it as testrunner.
(require('jest') is never needed to actually use jest. Just for cli usage I guess? - No one typed it yet.)
Feel free to send a PR.
Happy to merge it. (Although I would prefer typings instead of any)

Closed as we now have jest typings.


Try generating totally random images

A friend suggested we might try generating totally random images, not as a feature, but just as an experiment to see if we get anything good.

Totally random images aren't particularly good. Closing.


Offline messages not working for Mixer announcements

Since CouchBot's conversion from Beam to Mixer, offline messages have stopped working. Twitch/YT are unaffected.

This is due to how the Mixer messaging works... it waits to get an offline flag from constellation. If Constellation hiccups, these never get removed.
I need to write a "heart beat" that will go through and clean up stuff due to Constellation having issues. I will add this to Trello and get working on it ASAP.

FYI, I've performed some tests, and have had reports from other Mixer CouchBot users, and this does unfortunately appear to be a bug within Couchy, rather than Constellation. If it were a hiccup on Constellation's end, I wouldn't expect it to consistently fail to update/delete all Mixer announcements.
I've been running a personal bot on my server alongside CouchBot, and this is receiving the { online: false } notifications from Constellation without issue.


Update OpenTelemetry Dependencies to latest

Update OpenTelemetry Dependencies to latest

Not needed. Reverts https://github.com/signalfx/splunk-otel-collector/pull/4840.


ci: Replace lint and formatting tools with ruff

Context
I thought I would have a go at adding ruff to the codebase in anticipation of using it for #1060. My initial thought was to suggest pydocstyle for that ticket, but this project has been deprecated in favour of ruff. The speed benefits of using ruff are pretty significant:

Throughout doing this ticket, I have figured out that we could add ruff and tell it only to check the pydocstyle codes - so that is an alternative if this change is a bit much.
Key changes

ruff replaces black, flake8, reorder-python-imports and some other pre-commit hooks in .pre-commit-config.yaml
ruff added to requirements_dev.txt. flake8, pep8-naming, flake8-debugger, flake8-print, flake8-todo are removed.
Config added to top level ruff.toml to mirror previous configuration as closely as possible.
Lower level configs added under tests/ruff.toml and tests_functional/ruff.toml to prevent the need for unnecessary changes to these packages. These can be reviewed at a later time.
pep8 section removed from Makefile - covered instead by the pre-commit section

Notes

Rules W503 and W504 are not implemented in Ruff - see this issue: https://github.com/astral-sh/ruff/issues/4125
Many of the changes made can be explained by looking at ruff's Known Deviations from Black

This change happens because ruff looks at Unicode width
Adding a line of whitespace after module docstrings seems to be something ruff wants to do (can't find the explanation), and this amounts to quite a lot of the changes
This change is because pragma comments are ignored when computing line width
This is one change that looks a little buggy to me. The # type: ignore has moved to the second broken line when I'm guessing it has been added for the _ensure_serializable(v). Didn't seem to be picked up by mypy though so it still passes. Should this be moved up a line in this case? I'm not sure this section on pragma comments explains the behaviour we're seeing here enough.

ruff seems to be one-lining these and this has been raised as an unintentional deviation. Maybe something that the project can live with for now?
It looks like black was never in requirements_dev.txt?

Extras

The ignore rules in the ruff.toml can potentially be tuned as per-file-ignores
I can offer some extra proof that some of the things that have been removed still work with ruff - just let me know what you want to see.

We should wait @rochacbruno review as well, as these are pretty significant changes.
And out of curiosity, why would we want per-file-ignores? I'm not saying we don't, I just don't know.

We should wait @rochacbruno review as well, as these are pretty significant changes.
And out of curiosity, why would we want per-file-ignores? I'm not saying we don't, I just don't know.

Just as an example, if I enable a check on E402: Module level import not at the top of the file, we end up with these issues reported back:

Now we might not care too much about the rule contraventions in tests_functional/ but maybe we do care about it in dyanconf/cli.py. So we could have something like this in the ruff.toml:
[lint.per-file-ignores]
"tests_functional/*" = ["E402"]

And we end up with this:

The checks that we currently ignore may be worth applying over the dynaconf/ folder at least. What do you think?

Can you hard-comment the reason for tests/ruff.toml and 'test_functional/ruff.toml` ? I think it can be helpful.

I've added some new commits which actually remove these in favour of per-file-ignores. Let me know what you think of the latest commits where I've implemented per-file-ignores. Tried to do everything on separate commits so things can be rolled back if needed.


unescape 'X-Amz-Copy-Source' value before using

According to aws docs x-amz-copy-source value must be URL encoded.
If source key has special chars, the client should url encode the CopySource field of s3.CopyObjectInput.
If source key is not decoded, successive calls to GetObject with the same key results in 404 Not Found errors.
Here is a little background about this PR:
s5cmd integration tests use gofakes3. There is an issue about  special chars which will be resolved with this PR : https://github.com/peak/s5cmd/pull/280. The implementation in this PR works fine with real s3 service but tests that use gofakes3 fails with 404 errors.

Codecov Report

Merging #53 (71c0e12) into master (02ffa76) will decrease coverage by 0.04%.
The diff coverage is 33.33%.

@@            Coverage Diff             @@
##           master      #53      +/-   ##
==========================================
- Coverage   65.00%   64.96%   -0.05%
==========================================
  Files          28       28
  Lines        2209     2212       +3
==========================================
+ Hits         1436     1437       +1
- Misses        538      539       +1
- Partials      235      236       +1

Impacted Files
Coverage Δ

gofakes3.go
64.11% <33.33%> (-0.19%)
:arrow_down:

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 02ffa76...71c0e12. Read the comment docs.

Hi @ilkinulas thanks a lot for the contribution! Looks good to go!


qpid-interop-test - amqp-large-content-test

|amqp-large-content-test|AmqpNetLite, ProtonCpp, ProtonPython3, fe2o3-amqp| Ran 80 tests in 93.800s OK|


Create video from a series of images

I want to know can i create a video from a series of images with this library?
Thanks

Html https://findstjudes.wordpress.com/2019/10/07/44/


selecteds don't work

Hi i'm using mobx insted setstate to mark the checkbox and it doesn't work, but if a resize the screen the checkbox is marked.
Can help me?
Sorry for bad english!

////// The properties
selecteds: _controller.selecteds,
showSelect: true
////// The method onSelect
onSelect: (value, item) {
print("$value  $item ");
if (value) {
_controller.selecteds.add(item);
} else {
_controller.selecteds.removeAt(_controller.selecteds.indexOf(item));
                    }
                  },

///// Mobx
@observable
ObservableList<Map<String, dynamic>> selecteds = ObservableList<Map<String, dynamic>>().asObservable();

Hi, sorry for being late, can you please send me the full example of your code, so that I can collaborate in real code.

null safety was merged


Storm Call only lists Average Hit (no DPS number)

Storm Call only lists Average Hit and doesn't calculate DPS for you. I understand the skill has a delay before going off which only causes "DPS" when one of them hits, however I think a general average DPS number should still be shown.
This way, things like Cast Rate properly show you how much DPS is affected when you change it.

Then just multiply the avg damage with the cast rate and you have a DPS of that what would you would have if all stormcalls hit.

Well of course, that's what you have to do manually atm. It should just list that. It can assume you'll be casting for a long enough time to get an average.
Right now it's difficult to gauge passive points with Show Node Power unless you do mental math for every node. It's an unnecessary hassle.


operator infoscale-licensing-operator (8.0.210)

New operator bundle
Name: infoscale-licensing-operator
Version: 8.0.210
Certification project: 62925c5dca9c2698bf2add8a
Test result URL: https://catalog.redhat.com/api/containers/v1/projects/certification/test-results/id/644b79463faa771263435e71
Test logs URL: https://catalog.redhat.com/api/containers/v1/projects/certification/artifacts/id/644b79434c433153d65b5cb3

Duplicate PR


Fix: PHP requirement in README.md

This PR

[x] fixes the PHP requirement stated in README.md

Codecov Report

Merging #2089 into next will decrease coverage by 0.07%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##               next    #2089      +/-   ##
============================================
- Coverage     70.51%   70.43%   -0.08%
  Complexity     1599     1599
============================================
  Files           287      287
  Lines          3863     3863
============================================
- Hits           2724     2721       -3
- Misses         1139     1142       +3

Impacted Files
Coverage Δ
Complexity Δ

src/Faker/Provider/de_DE/Person.php
0.00% <0.00%> (-100.00%)
1.00% <0.00%> (ø%)

src/Faker/Provider/ko_KR/Company.php
50.00% <0.00%> (-50.00%)
2.00% <0.00%> (ø%)

src/Faker/Provider/en_IN/Address.php
50.00% <0.00%> (-25.00%)
8.00% <0.00%> (ø%)

src/Faker/Provider/es_AR/Address.php
50.00% <0.00%> (-25.00%)
4.00% <0.00%> (ø%)

src/Faker/Provider/it_IT/Address.php
75.00% <0.00%> (-25.00%)
4.00% <0.00%> (ø%)

src/Faker/Provider/sv_SE/Address.php
50.00% <0.00%> (-25.00%)
4.00% <0.00%> (ø%)

src/Faker/Provider/ro_RO/Address.php
68.00% <0.00%> (-24.00%)
11.00% <0.00%> (ø%)

src/Faker/Provider/ja_JP/Address.php
76.19% <0.00%> (-23.81%)
8.00% <0.00%> (ø%)

src/Faker/Provider/fi_FI/PhoneNumber.php
33.33% <0.00%> (-16.67%)
6.00% <0.00%> (ø%)

src/Faker/Provider/hu_HU/Address.php
46.15% <0.00%> (-15.39%)
6.00% <0.00%> (ø%)

... and 28 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 eb0a6d4...b4af9b3. Read the comment docs.

PRs make some noise. Notifications, emails, CI builds, etc.
Making 10 PRs of one line of code each is too much noise.
Please group related changes into larger PRs.

Thank you, @fzaninotto!
If you feel that this is too much noise, feel free to unsubscribe. My aim is to create pull requests that can be easily reviewed, and only contain related changes.


Add support for s3 schema paths

As requested in #13 and #14 there's some demand here for s3 schema paths so that folks can use this in environments like MSK where they may not have total control over the local Kafka filesystem as we did when we used this.
Acceptance Criteria

If the schema path starts with s3:// it should use the AWS SDK to load the file path rather than relying on a regular file input stream.

IMO, schemas should be placed in Glue Schema Registry rather than files in S3 if fully in the MSK ecosystem. AWS maintains its own converters for that, I think


Events base additional data

References #2863
Who is this for?
Designers/Devs
What is it doing for them?
Gets the rest of the event page content into the new template, so we can see what needs attention/start prototyping

@gestchild Conflicts here...


Group should always have a name

The group element should always have a name. It should be made non-nullable.
This is documented here: https://developer.android.com/training/wearables/wff/group/group

Hello, this is already fixed on the main branch I think.
Can you update your local revision?


FYI - Foundry page update / manifest

This isn't a huge deal as it isn't breaking anything at the moment, but I thought you might want to know

Your module.json has this line:
"url": "https://raw.githubusercontent.com/BeneosBattlemaps/Beneos-Point-Of-Interest-Teleporter",
You should change it to
"url": "https://github.com/BeneosBattlemaps/Beneos-Point-Of-Interest-Teleporter",

The foundry page is pointing to the old version of the module (not sure if you update that or have foundry guys do it)
https://foundryvtt.com/packages/poi-teleport/
The Project Source: ProjectURL link is incorrect.  It is pointing to the OLD site (https://github.com/zeel01/poi-teleport).  It should point to https://github.com/BeneosBattlemaps/Beneos-Point-Of-Interest-Teleporter

First part fixed in module.json, thanks for the report


Support spoofing IP address

In conjunction with #8 would be useful to simulate multiple different independent clients when testing application instrumentation.

Potentially dangerous, not sure if should actually be done or how to put in place some sort of EULA for this.


Why do you allow backup on AndroidManifest

Hi Dev,
Can you help me out to set the value of allowBackup variable in application tag inside AndroidManifest file set to false. It is causing issue with my app.
Thank you.
Cheers,
Amila Fonseka

allowBackup means that your application data will be stored on google data servers
so when user will sign in for example on another device stored data for app will be received of couse if the last is installed
and in other similar cases the same

Thank you for your promptly reply. So the thing is it should be set from the Application that uses your library, since the company policy is to not to store any data on google servers, I can't build the app when using your library. So isn't it better that option to be removed from the library, so that the app builder has the ability to use it or not to use it.
Cheers,
Amila Fonseka

Ok, I will remove this, the allowBackup present in the AndroidManifest just because the android studio generated file will contain this by default

Please update the readme.md file. 0.0.3 version do not have face detection. I need it. :)

Hello Ragnraok, did you commit it, coz I don't see the commit with the flag removed.
Thank you for the effort you put in.

I have committed this, please check out the new version

Hi, I've checked the version is still 0.03, what is the new version....?
Thank you

you should checkout the new code, the version is not update yet

I've checked out the new code, but I still need you to update the Maven repository in order to definitely implement on Android Studio


HepatoblastomaModeling

Collection/dataset this task is for:

file name - GSE180665_hb_integrated_normalized_annotated_harmony.h5ad.gz
link to existing collection in cellxgene"
ticket link to DCP wrangling ticket (if available)
link to ingest UI: https://contribute.data.humancellatlas.org/projects/detail?uuid=2084526b-a66f-4c40-bb89-6fd162f2eb38

Relevant People

Wrangler
Contributor
dev

Primary Wrangler:
Associated files

SOP
Knowledge Sharing Drive
Ingest-cellxgene-submitter
Cellxgene-schema
Cellxgene-schema-validate
Cellxgene-submit-collection

Published study links

Paper: https://pubmed.ncbi.nlm.nih.gov/34497364/

Accessioned data:

Key Events

[ ] Collect necessary matrix, cell-type annotation, and embedding files
[ ] Modified var layer to meet cellxgene schema (adding feature_is_filtered)
[ ] Created/Modified raw.var to meet cellxgene schema
[ ] Modified obs layer to meet cellxgene schema
[ ] Created uns layer to meet cellxgene schema
[ ] Ensured obsm layer is present
[ ] Created h5ad with processed component parts using AnnData
[ ] Created h5ad with raw matrix and raw var using AnnData
[ ] Filtered ENSEMBL IDs from annotated and raw matrix
[ ] Combined processed and raw h5ad to one h5ad object
[ ] Run cellxgene-schema validate
[ ] Secondary review (?)
[ ] Submitted to collection in cellxgene

The annotated matrix is available in the h5ad file, but not the raw matrix. I'm checking the matrices available in GEO to see if they are compatible.

ready to upload to CellxGene


Best Way to Prevent Unwanted Updates on Current User

I'm working on building CRUD interfaces to manage User, Role, and Permission and I want to put in some server-side safeguards to prevent a logged-in admin user from performing some unwanted updates on its own account:

Delete itself
Remove the admin role from itself
Removing CRUD operations from itself for Permissions to prevent the admin from removing a permission it won't ever be able to get back

Prevention of a delete operation on the current user wasn't too difficult.  I created a policy called isNotSelf and put it on the delete action for the UserController.  It compares the id of the current user to the id of the user for the delete operation, and if they're the same it results in a res.badRequest().
To easily modify role assignments I:

added a roles collection to the User model
use the REST API by passing an array of [role.id] to PUT /user/id
if a role id is missing from the array that the user had previously, the role is removed
if a role id is in the array that the user did not have previously, the role is added

To prevent an admin user from removing the admin role from itself, it seems a beforeUpdate lifecycle callback in the User model seems would be in order.  However, I'm not sure how to get the id of the current logged-in admin user from there.  I think I probably also need to put a similar safeguard on the RoleController to prevent the removal of the currently logged in user via modifications to the Role model.
The same goes for disallowing CRUD operations on Permissions.  It seems like the best place to insert this safeguard would be in a beforeUpdate lifecycle callback, but I don't know how to get the currently logged-in user id.
Please help!

The logged in user id can be accessed from a controller in the request object, req.user.id.  You can override the default controller actions defined by the blueprint.  See http://sailsjs.org/documentation/reference/blueprint-api#/blueprint-actions.  You can then create a custom method on the model, call it on the controller action and pass the user id into that.

@CovertIII good tips.  I was hoping to try to keep as much in-tact by not having to override blueprints with customizing the default actions, but that may be the only way.  Is there an easy way to call the default blueprint action within a custom controller action?  That would at least make it a bit easier/convenient, because then you can perform a simple check to make sure the current user isn't going to do something silly, and then either pass the request on through to the default blueprint or stop it dead in its tracks.

Your RoleController could look like this:
   // api/controllers/RoleController.js

var _ = require('lodash');
var _super = require('sails-permissions/api/controllers/RoleController');

_.merge(exports, _super);
_.merge(exports, {

    destroy: function(req, res){
      if(req.params.id !== req.user.id){
          Role.destory({id: req.params.id}).then(function(result){
             res.json(result);
          }).catch(function(error){
             res.json(error);
          });
      }else{
          res.badRequest()
      }
    }
});

Not sure if it's the best way, but it should do the trick.

I haven't tried these, but here are some thoughts -
Delete itself:
Remove the delete user permission from admin role, and add a delete user permission that allows for delete where id != whatever the id is for the admin user (although it sounds like you already have a solution)
Remove the admin role from itself:
Same idea as above - remove global delete permission role from admin, and add one that excludes deleting the admin role
Removing CRUD operations from itself for Permissions to prevent the admin from removing a permission it won't ever be able to get back:
Why do you have to remove CRUD operations for Permissions for the admin role?  Seems like you just want to remove delete operations for the admin role?  Maybe I am misunderstanding.  Anyway, in the same vein, you could remove the delete permission and create a new one that disallows deleting permissions that have role: adminrole.
Does this path make sense?  Keep in mind this only works for requests, you can still do whatever you want in your controller/service logic to wreak havoc on your permissions.


add estark-polygon as features of other crates

Lets have an approval on #1211 before rebasing and merging this one.

I was going to approve it earlier but I didn't because it was missing these lol

I'll cherry pick this commit after I squash the other. I must squash the other, right?

Don't have to, since we have auto-squash now at merge time. So also no need to cherry pick this commit, can also merge this PR as is and then squash the other one when ready to merge


Update Token Reference

Purpose
$Subject

The workflow works as expected without branch permission. Therefore, closing this for now.
We can look into the required changes and send a PR eventually.


CompiledFFI Error

I got this error from start_daemon
Failed to load application: 'CompiledFFI' object has no attribute 'def_extern'
The fix
pip install --upgrade cffi

Thank you for the info - I removed the specific, outdated verison # from
the requirements.txt file.
-James
On Wed, Nov 30, 2016 at 5:01 PM, r3comp1le<EMAIL_ADDRESS>wrote:

I got this error from start_daemon
Failed to load application: 'CompiledFFI' object has no attribute
'def_extern'
The fix
pip install --upgrade cffi
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ciscocsirt/malspider/issues/17, or mute the thread
https://github.com/notifications/unsubscribe-auth/AR0QEDyvy-CsBzhRWqFlRIpPaEGwsDa6ks5rDfIkgaJpZM4LAvMt
.


Add verify_ssl to allow self-signed certificate

Adding the foundation to allow self-signed certificates to fix issue https://github.com/mezz64/pyHik/issues/60. I have the changes for HomeAssistant Core on standby here.

I merged this and pushed version 0.2.9 to pypi.  You can include the version bump in your HASS PR.

I merged this and pushed version 0.2.9 to pypi.  You can include the version bump in your HASS PR.

👍🏻🔥


[CELEBORN-1248] Improve flusher's robustness

What changes were proposed in this pull request?
Improve flusher's robustness.
Why are the changes needed?
Flusher's thread might be terminated due to uncaught exceptions.
Does this PR introduce any user-facing change?
NO.
How was this patch tested?
GA and cluaster.

Updated. How about now? @pan3793


Execute a task at a specific time of the day, day of the week, etc.

We previously used SyncedCron (https://github.com/percolatestudio/meteor-synced-cron) but it is no longer maintained and we noticed it to, at times, skip some of our tasks without any notification.
Hence we intend to use this package for our tasks, some of which simply need to run every x minutes, but other need to run at a specific point in time (for instance every day at 04:00).
Any suggestions for implementing such a feature, or is this already available?

Hello @KoenLav ,

Yes, running repeating tasks is easy as calling .setInterval() method;
For tasks which should be executed at some exact point of time I'm recommend to use something like cron-parser lib. Use cron-parser to get when next time task should be executed, then get delay with const delay = nextExecution - (+new Date());. And set execution via .setTimeout() method, like:

const myTask = (ready) => {
  /* task code here */
  ready();
  scheduleTask();
};

const scheduleTask = () => {
  cron.setTimeout(myTask, delay, 'myTask');
};

scheduleTask();

Hey @KoenLav ,
Have you managed to find a solution to your question?

@dr-dimitru nope, not yet, haven't had time to look into it.
Thanks for the follow up though! Will post back when I get the chance to work on it again.

Feel free to reopen it in case if the issue is still persists on your end.


Selection Sort in Singly Linked List

I have implemented selection sort in a singly linked list in an iterative manner.
User inputs the number of nodes in the linked list followed by entering the values of the nodes.
Then use the selection sort function implemented in the program to sort the linked list.

@Deepak25101997 Thank you for the contribution.
Please move the code to Operations on Datastructures Directory.
It would be great if you could add more comment in the my_selection_sort_linked_list function to explain the process.

Sure I will do it.

@ashwek I have added the comments, please go through the code.


[MNT] scipy update causes issues with AutoARIMA

Describe the issue
See #1382. The update to scipy<1.14.0 causes issues with the estimator, including test failures and very long runtimes.
Suggest a potential alternative/fix
No response
Additional context
No response

KWF


can't open lite client database: resource temporarily unavailable

This is an error we should gracefully handle in all cases with an exponential backoff.

I think solution might be to wrap database calls in this: https://github.com/avast/retry-go

Thinks this is now fixed


Offset amounts only respect integer values.

I have a need for offset amounts in sub integer (floating point) ranges.
I would like to take an rectangle that is 8 pixels wide and 4.63 pixels high, and make a grid of them such that the edges overlap, hiding each other (rectangular graph paper).
When I enter the values (selecting the field after each key stroke), only the integer portion of the input is respected in the render.

Hi HasanEdain, Thanks for letting me know. This issue is now fixed in the latest version of the Looper Plugin. Cheers!


ts.transpile() outputs CRLF as EOL in any OS

CRLF is hardcoded:
https://github.com/Microsoft/TypeScript/blob/5e7343f573c3e987caaa3f2326386b8c796e6fa3/src/services/services.ts#L1683

@teppeis would the use of system-dependent line ending be good enough?

@mhegazy yes, sys.newLine is good.

FYI: The line endings question has come up in every meta-TypeScript project I've been involved in:
https://github.com/TypeStrong/atom-typescript/issues/216
https://github.com/TypeStrong/grunt-ts/issues/199
This issue is still open as accepting PR:
https://github.com/Microsoft/TypeScript/issues/1693
It's fine to default to the current system's default line ending but to solve this, it really should be overrideable via the tsconfig or a switch.  I had intended to take a stab at 1693, but of course this is the sort of thing where the implementation is the easy part and naming the switch is the hard part.  :-)

@nycdotnet i agree. i was initially going to do fix it by adding the flag. if you intend to send a PR for #1693 soon, then i would wait for it.

I'll give it a shot and let you know either way in the next two weeks.  Based on the ~80% 1.5 issues treadmill, I'm hopeful this should be in plenty of time.

@mhegazy thanks!

Having looked at @nycdotnet 's list I am now inclined to say "os.eol" or death in the next meta ts project :)


Can't build local Docker image

Hi,
I am trying to build a local docker image from the source that is in the current master branch, but docker build and make docker-images all fail:
[ERROR] The compilation of learn-ocaml failed at "/home/opam/.opam/4.05/bin/dune build -p learn-ocaml -j 71".

#=== ERROR while compiling learn-ocaml.0.12 ===================================#
# context              2.0.3 | linux/x86_64 | ocaml-base-compiler.4.05.0 | pinned(file:///home/opam/opam-repository/learn-ocaml)
# path                 ~/.opam/4.05/.opam-switch/build/learn-ocaml.0.12
# command              ~/.opam/4.05/bin/dune build -p learn-ocaml -j 71
# exit-code            1
# env-file             ~/.opam/log/learn-ocaml-7-a00279.env
# output-file          ~/.opam/log/learn-ocaml-7-a00279.out
### output ###
# warning: overriding primitive "caml_compare_bigstring"
# [...]
# warning: overriding primitive "caml_fill_bigstring"
#   old: /home/opam/.opam/4.05/lib/cstruct/cstruct.js:37
#   new: /home/opam/.opam/4.05/lib/cstruct/cstruct.js:37
# warning: overriding primitive "caml_check_alignment_bigstring"
#   old: /home/opam/.opam/4.05/lib/cstruct/cstruct.js:47
#   new: /home/opam/.opam/4.05/lib/cstruct/cstruct.js:47
# There are some missing primitives
# Dummy implementations (raising 'Failure' exception) will be used if they are not available at runtime.
# You can prevent the generation of dummy implementations with the commandline option '--disable genprim'
# Missing primitives provided by +toplevel.js:
#   caml_terminfo_setup

Enabling verbose mode on dune gave me the following clue:
- Running[363]: (cd _build/default/src/toplevel && /home/opam/.opam/4.05/bin/js_of_ocaml +dynlink.js +toplevel.js --toplevel --nocmis -o learnocaml_toplevel_worker_main.bc.js --no-runtime /home/opam/.opam/4.05/lib/js_of_ocaml-compiler/runtime.js learnocaml_toplevel_worker_main.bc)

[Other logs]

- Command [363] got signal KILL:
- $ (cd _build/default/src/toplevel && /home/opam/.opam/4.05/bin/js_of_ocaml +dynlink.js +toplevel.js --toplevel --nocmis -o learnocaml_toplevel_worker_main.bc.js --no-runtime /home/opam/.opam/4.05/lib/js_of_ocaml-compiler/runtime.js learnocaml_toplevel_worker_main.bc)
- Backtrace:
- Raised at file "src/dune/process.ml", line 358, characters 24-75
- Called from file "src/fiber/fiber.ml", line 196, characters 36-41
- Called from file "src/fiber/fiber.ml", line 102, characters 8-15
- Re-raised at file "src/stdune/exn.ml" (inlined), line 48, characters 38-65
- Called from file "src/stdune/exn_with_backtrace.ml", line 13, characters 33-71
- Called from file "src/fiber/fiber.ml", line 85, characters 10-17
- Re-raised at file "src/stdune/exn.ml" (inlined), line 48, characters 38-65
- Called from file "src/stdune/exn_with_backtrace.ml", line 13, characters 33-71
- Called from file "src/fiber/fiber.ml", line 85, characters 10-17
- Re-raised at file "src/stdune/exn.ml" (inlined), line 48, characters 38-65
- Called from file "src/stdune/exn_with_backtrace.ml", line 13, characters 33-71
- Called from file "src/fiber/fiber.ml", line 85, characters 10-17
- Re-raised at file "src/stdune/exn.ml" (inlined), line 48, characters 38-65
- Called from file "src/stdune/exn_with_backtrace.ml", line 13, characters 33-71
- Called from file "src/fiber/fiber.ml", line 85, characters 10-17
- Re-raised at file "src/stdune/exn.ml" (inlined), line 48, characters 38-65
- Called from file "src/stdune/exn_with_backtrace.ml", line 13, characters 33-71
- Called from file "src/fiber/fiber.ml", line 85, characters 10-17

The last commit I managed to build successfully was https://github.com/ocaml-sf/learn-ocaml/commit/b3d0e756c62f1813bebab29916443c412458e372 (I haven't tried the intermediate ones).
Any thoughts?
Thanks!

After some investigation, I forced -j to 1 (single job execution) and it works... Is this expected?

@hannelita I never built a docker image for learn-ocaml with such a high number of cores. I just test on my machine (8 cores) and it worked. This may be due to dune spawning too many processes.
I never had to modify the memory limit of Docker. Actually, I am not even sure that such a limit was configured on my server. What was your previous limit? What was the error you encountered?

@yurug This issue happened for ppl trying to build LearnOCaml on MacOS (all MacOS Catalina). Ubuntu seems to work fine without these issues.
ulimit -a  (Default on Catalina)
-t: cpu time (seconds)              unlimited
-f: file size (blocks)              unlimited
-d: data seg size (kbytes)          unlimited
-s: stack size (kbytes)             8192
-c: core file size (blocks)         0
-v: address space (kbytes)          unlimited
-l: locked-in-memory size (kbytes)  unlimited
-u: processes                       11136
-n: file descriptors                256

@yurug This issue happened for ppl trying to build LearnOCaml on MacOS (all MacOS Catalina). Ubuntu seems to work fine without these issues.
ulimit -a  (Default on Catalina)
-t: cpu time (seconds)              unlimited
-f: file size (blocks)              unlimited
-d: data seg size (kbytes)          unlimited
-s: stack size (kbytes)             8192
-c: core file size (blocks)         0
-v: address space (kbytes)          unlimited
-l: locked-in-memory size (kbytes)  unlimited
-u: processes                       11136
-n: file descriptors                256

@hannelita thanks this was a lifesaver!


Deploy & upgrade the prometheus service

I tested this changes and it works and in grafana I can see the following metrics:

rabbitmq
mysql
node
prometheus
telemetry


added footer and RSS feed

Hi, thanks for the PR! I don't see the footer.html in your pull request, could you add that? Thanks :)

Hello there, sorry I forgot to add the footer template. But here it is.

Two minor things:

Could you style it so that it's always at the bottom? It doesn't really look that good when there's so much whitespace below.

Can you add a feature flag to enable/disable the footer?


The autocomplete is not working with uppercase

My autocomplete array is ["Item1", "item2", "item3"]
When I type either "i" or "I" the popup  always displays only item2 and item3.

https://github.com/Gbuomprisco/ng2-tag-input/pull/44

Hi @Glebby , version 0.2.5 should fix it :)

Hi - I believe this bug might be back, as I am seeing the same behavior with 0.8.0.

Hi @kkotak,
that's pretty outdated. Try the newest version

Thanks @Gbuomprisco  I did update and the issue is indeed resolved. Appreciate the quick response. Best, _K


Add a test for gc dropping active layers (#707)

Signed-off-by: Dhammika Pathirana<EMAIL_ADDRESS>

Test also relies on low compaction_threshold to trigger layer compaction but that's not configurable atm.
diff --git a/pageserver/src/layered_repository.rs b/pageserver/src/layered_repository.rs
index d7a250f3..3fc04a5c 100644
--- a/pageserver/src/layered_repository.rs
+++ b/pageserver/src/layered_repository.rs
@@ -1683,7 +1683,7 @@ impl LayeredTimeline {

         // We compact or "shuffle" the level-0 delta layers when 10 have
         // accumulated.
-        static COMPACT_THRESHOLD: usize = 10;
+        static COMPACT_THRESHOLD: usize = 2;

         let level0_deltas = layers.get_level0_deltas()?;

The first and second commit ought to be squashed together, as the first commit depends on the second one. Those changes look OK to me, let's squash & push them.

Merge test script patches, https://github.com/neondatabase/neon/pull/1484/commits/bbfed6216e8ef0f66e7af343bcfb1004533923b6 and https://github.com/neondatabase/neon/pull/1484/commits/f489d64cfa3854a70358d1d6cca539cfa0c368a9?

If I understand correctly, the third commit, "Add a test for gc dropping active layers (#707)", doesn't actually reproduce the problem. But if you set compaction_threshold=2 in the test, then it does? Let's hold off on the third commit, and push it together with the fix for the issue, when we have a fix.

Ya, get a page load error,
IoError: could not read block 19 in rel 1663/12974/2691.0 from page server at lsn 0/0...

One idea for testing this: We could add a new internal "compact" command to the pageserver API, similar to the "do_gc" and "checkpoint" commands, to force immediate compaction. You could call that in the test to force compaction at just the right time, to reproduce the #707 scenario.

Sure, I'll check this.

Looks like the child doesn't traverse ancestor's layers after gc run. It's terminating the key search after inmem layer, cont_lsn 0/16CAC19, layer: inmem-00000000016CAC19-FFFFFFFFFFFFFFFF
2022-04-18T19:36:00.424625Z  INFO WAL receiver{timeline=33a103820161957f4530e6f97da1aa3d tenant=a43e322b29e642f28e7d77791d2791d5}:processing record{lsn=0/16D3308}:get_reconstruct_data{key=000000000000000000000000000000000000 request_lsn=0/16D12B8 reconstruct_state=ValueReconstructState { records: [], img: None }}: CALLED for 0/16D12B8 at 0/0: Continue with 0 records
2022-04-18T19:36:00.424674Z  INFO WAL receiver{timeline=33a103820161957f4530e6f97da1aa3d tenant=a43e322b29e642f28e7d77791d2791d5}:processing record{lsn=0/16D3308}:get_reconstruct_data{key=000000000000000000000000000000000000 request_lsn=0/16D12B8 reconstruct_state=ValueReconstructState { records: [], img: None }}: CHECKING for<PHONE_NUMBER>00000000000000000000000000 at 0/16D12B9 on open layer inmem-00000000016CAC19-FFFFFFFFFFFFFFFF
2022-04-18T19:36:00.424723Z  INFO WAL receiver{timeline=33a103820161957f4530e6f97da1aa3d tenant=a43e322b29e642f28e7d77791d2791d5}:processing record{lsn=0/16D3308}:get_reconstruct_data{key=000000000000000000000000000000000000 request_lsn=0/16D12B8 reconstruct_state=ValueReconstructState { records: [], img: None }}: CALLED for 0/16D12B8 at 0/0: Continue with 0 records
2022-04-18T19:36:00.424760Z  INFO WAL receiver{timeline=33a103820161957f4530e6f97da1aa3d tenant=a43e322b29e642f28e7d77791d2791d5}:processing record{lsn=0/16D3308}:get_reconstruct_data{key=000000000000000000000000000000000000 request_lsn=0/16D12B8 reconstruct_state=ValueReconstructState { records: [], img: None }}: CALLED for 0/16D12B8 at 0/0: Continue with 0 records
2022-04-18T19:36:00.424826Z  INFO WAL receiver{timeline=33a103820161957f4530e6f97da1aa3d tenant=a43e322b29e642f28e7d77791d2791d5}:processing record{lsn=0/16D3308}:get_reconstruct_data{key=000000000000000000000000000000000000 request_lsn=0/16D12B8 reconstruct_state=ValueReconstructState { records: [], img: None }}: CALLED for 0/16D12B8 at 0/0: Continue with 0 records
2022-04-18T19:36:00.424889Z ERROR WAL receiver{timeline=33a103820161957f4530e6f97da1aa3d tenant=a43e322b29e642f28e7d77791d2791d5}:processing record{lsn=0/16D3308}:get_reconstruct_data{key=000000000000000000000000000000000000 request_lsn=0/16D12B8 reconstruct_state=ValueReconstructState { records: [], img: None }}: PATH: result Continue, cont_lsn 0/16CAC19, layer: inmem-00000000016CAC19-FFFFFFFFFFFFFFFF

Trace of the LSN=0/16D12B8 without gc shows ancestor's layer traversal.
2022-04-18T20:00:14.527410Z  INFO WAL receiver{timeline=19fa58bcf78055cca1dc94e4e945c09a tenant=63fdd25b3949405e928b9877c9d4a5d4}:processing record{lsn=0/16D3308}:get_reconstruct_data{key=000000000000000000000000000000000000 request_lsn=0/16D12B8 reconstruct_state=ValueReconstructState { records: [], img: None }}: CALLED for 0/16D12B8 at 0/0: Continue with 0 records
2022-04-18T20:00:14.527483Z  INFO WAL receiver{timeline=19fa58bcf78055cca1dc94e4e945c09a tenant=63fdd25b3949405e928b9877c9d4a5d4}:processing record{lsn=0/16D3308}:get_reconstruct_data{key=000000000000000000000000000000000000 request_lsn=0/16D12B8 reconstruct_state=ValueReconstructState { records: [], img: None }}: CHECKING for<PHONE_NUMBER>00000000000000000000000000 at 0/16D12B9 on open layer inmem-00000000016CAC19-FFFFFFFFFFFFFFFF
2022-04-18T20:00:14.527559Z  INFO WAL receiver{timeline=19fa58bcf78055cca1dc94e4e945c09a tenant=63fdd25b3949405e928b9877c9d4a5d4}:processing record{lsn=0/16D3308}:get_reconstruct_data{key=000000000000000000000000000000000000 request_lsn=0/16D12B8 reconstruct_state=ValueReconstructState { records: [], img: None }}: CALLED for 0/16D12B8 at 0/0: Continue with 0 records
2022-04-18T20:00:14.527623Z  INFO WAL receiver{timeline=19fa58bcf78055cca1dc94e4e945c09a tenant=63fdd25b3949405e928b9877c9d4a5d4}:processing record{lsn=0/16D3308}:get_reconstruct_data{key=000000000000000000000000000000000000 request_lsn=0/16D12B8 reconstruct_state=ValueReconstructState { records: [], img: None }}: CALLED for 0/16D12B8 at 0/0: Continue with 0 records
2022-04-18T20:00:14.527709Z  INFO WAL receiver{timeline=19fa58bcf78055cca1dc94e4e945c09a tenant=63fdd25b3949405e928b9877c9d4a5d4}:processing record{lsn=0/16D3308}:get_reconstruct_data{key=000000000000000000000000000000000000 request_lsn=0/16D12B8 reconstruct_state=ValueReconstructState { records: [], img: None }}: CHECKING for<PHONE_NUMBER>00000000000000000000000000 at 0/16CAC19 on historic layer<PHONE_NUMBER>00000000000000000000000000-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF__0000000001696629-0000000001AA3581
2022-04-18T20:00:14.527811Z  INFO WAL receiver{timeline=19fa58bcf78055cca1dc94e4e945c09a tenant=63fdd25b3949405e928b9877c9d4a5d4}:processing record{lsn=0/16D3308}:get_reconstruct_data{key=000000000000000000000000000000000000 request_lsn=0/16D12B8 reconstruct_state=ValueReconstructState { records: [], img: None }}: CALLED for 0/16D12B8 at 0/0: Continue with 0 records
2022-04-18T20:00:14.527877Z  INFO WAL receiver{timeline=19fa58bcf78055cca1dc94e4e945c09a tenant=63fdd25b3949405e928b9877c9d4a5d4}:processing record{lsn=0/16D3308}:get_reconstruct_data{key=000000000000000000000000000000000000 request_lsn=0/16D12B8 reconstruct_state=ValueReconstructState { records: [], img: None }}: CALLED for 0/16D12B8 at 0/0: Continue with 0 records
2022-04-18T20:00:14.527960Z  INFO WAL receiver{timeline=19fa58bcf78055cca1dc94e4e945c09a tenant=63fdd25b3949405e928b9877c9d4a5d4}:processing record{lsn=0/16D3308}:get_reconstruct_data{key=000000000000000000000000000000000000 request_lsn=0/16D12B8 reconstruct_state=ValueReconstructState { records: [], img: None }}: CHECKING for<PHONE_NUMBER>00000000000000000000000000 at 0/1696629 on historic layer<PHONE_NUMBER>00000000000000000000000000-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF__00000000016965B0-0000000001696629
2022-04-18T20:00:14.528107Z  INFO WAL receiver{timeline=19fa58bcf78055cca1dc94e4e945c09a tenant=63fdd25b3949405e928b9877c9d4a5d4}:processing record{lsn=0/16D3308}:get_reconstruct_data{key=000000000000000000000000000000000000 request_lsn=0/16D12B8 reconstruct_state=ValueReconstructState { records: [], img: None }}: CALLED for 0/16D12B8 at 0/16965B0: Complete with 0 records

Child timeline's ancestor_lsn shows 0/1696628 though it was branched at 0/16CAC18
2022-04-18T19:36:00.425441Z  INFO WAL receiver{timeline=33a103820161957f4530e6f97da1aa3d tenant=a43e322b29e642f28e7d77791d2791d5}: WAL streaming connection failed (could not find layer with more data for key<PHONE_NUMBER>00000000000000000000000000 at LSN 0/16CAC18, request LSN 0/16D12B8, ancestor 0/1696628)

and branch point,
2022-04-18T19:35:46.453330Z  INFO /timeline_create{tenant=a43e322b29e642f28e7d77791d2791d5 new_timeline=None lsn=Some(0/16CAC18)}: branched timeline 33a103820161957f4530e6f97da1aa3d from e2dcbc351a945db58ed8902fdcd0fda4 at 0/16CAC18

2022-04-19T22:26:45.146237Z  INFO WAL receiver{timeline=57a57583805b132d575748646f24b15f tenant=714c6bb05b524212a57590951cd63bc4}:processing record{lsn=0/16D3308}:get_reconstruct_data{key=000000000000000000000000000000000000 request_lsn=0/16D12B8 reconstruct_state=ValueReconstructState { records: [], img: None }}:search{key=000000000000000000000000000000000000 end_lsn=0/16CAC19}: no layer found for request on<PHONE_NUMBER>00000000000000000000000000 at 0/16CAC19

Actually it does traverse ancestry tree but the key's getting dropped in gc jiggle. Particularly these images look suspicious.
├── [4.0M]  000000067F000032AE000000000000000001-000000067F000032AE00004000000000010B__0000000001696629-0000000001BACBE9
├── [2.7M]  000000067F000032AE00004000000000010B-030000000000000000000000000000000002__0000000001696629-0000000001BACBE9

active layers,
historic_layers: inmem-0000000001BACBE9-FFFFFFFFFFFFFFFF
historic_layers: 000000067F000032AE000000000000000001-000000067F000032AE00004000000000010B__0000000001696629-0000000001BACBE9
----- delta layer for ten 714c6bb05b524212a57590951cd63bc4 tli 350566f22c2f2033b9f46344822dc1d1 keys 000000067F000032AE000000000000000001-000000067F000032AE00004000000000010B lsn 0/1696629-0/1BACBE9 ----
historic_layers: 000000067F000032AE00004000000000010B-030000000000000000000000000000000002__0000000001696629-0000000001BACBE9
----- delta layer for ten 714c6bb05b524212a57590951cd63bc4 tli 350566f22c2f2033b9f46344822dc1d1 keys 000000067F000032AE00004000000000010B-030000000000000000000000000000000002 lsn 0/1696629-0/1BACBE9 ----

disk layout,
test_output/test_branch_and_gc/repo/tenants/714c6bb05b524212a57590951cd63bc4/timelines/350566f22c2f2033b9f46344822dc1d1
├── [5.5M]<PHONE_NUMBER>00000000000000000000000000-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF__0000000001BACBE9-0000000001FC35D1
├── [5.5M]<PHONE_NUMBER>00000000000000000000000000-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF__0000000001FC35D1-00000000023DFFF1
├── [5.5M]<PHONE_NUMBER>00000000000000000000000000-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF__00000000023DFFF1-00000000027FFFD1
├── [4.0M]  000000067F000032AE000000000000000001-000000067F000032AE00004000000000010B__0000000001696629-0000000001BACBE9
├── [2.7M]  000000067F000032AE00004000000000010B-030000000000000000000000000000000002__0000000001696629-0000000001BACBE9
├── [   0]  ephemeral-7
└── [ 512]  metadata
test_output/test_branch_and_gc/repo/tenants/714c6bb05b524212a57590951cd63bc4/timelines/57a57583805b132d575748646f24b15f
├── [   0]  ephemeral-4
└── [ 512]  metadata
test_output/test_branch_and_gc/repo/tenants/714c6bb05b524212a57590951cd63bc4/timelines/be2627bcc88826cb8591acd042f72263
├── [ 24M]<PHONE_NUMBER>00000000000000000000000000-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF__00000000016965B0-0000000001696629
└── [ 512]  metadata

What's the plan with this PR, @dhammika? This doesn't reproduce issue 707, because if it did, it wouldn't be passing. Is it adding coverage for some other scenario that's not covered by current tests? Is that visible in the code coverage report?

What's the plan with this PR, @dhammika? This doesn't reproduce issue 707, because if it did, it wouldn't be passing. Is it adding coverage for some other scenario that's not covered by current tests? Is that visible in the code coverage report?

This was an attempt to create image layout to repro #707 but I couldn't repro it with just twiddling gc and compaction params. L0 image threshold changes surfaced a separate issue  though #1594. IMO original issue is still there even in new redone image layers.

@hlinnaka can you review this PR now? I managed to re-produce #707 in https://github.com/neondatabase/neon/tree/thang/exp-07-04 by reverting your fix.

I find the comments hard to understand. And I didn't fully understand the diagram. I made some small suggestions, but maybe try rewriting all the comments from scratch with your own words, that might result in a more coherent story.

Actually, the whole comment describing the test was written by me. I tried to make it a bit easier to understand now. Hope this is better


Unable to fetch "ISO/IEC Directives, Part 2"

From: https://github.com/metanorma/mn-samples-bsi/pull/304
I've been trying to fetch the bib data of "ISO/IEC Directives, Part 2" with no success.
I've tried these IDs:
1:
$ bundle exec relaton fetch "ISO/IEC Directives, Part 2"
[relaton] (ISO/IEC Directives) not found.
[relaton] (ISO/IEC Directives/Part 2) not found.
<bibdata type="standard" schema-version="v1.2.3">
  <docidentifier>ISO/IEC Directives, Part 2</docidentifier>
</bibdata>

2:
$ bundle exec relaton fetch "ISO/IEC DIR 2 ISO"
[relaton] (ISO/IEC DIR 2 ISO) not found.
No matching bibliographic entry found

@manuelfuenmayor what is ISO/IEC DIR 2 ISO? Is it a supplement published by ISO?
I cannot find any supplements for part 2 (https://www.iso.org/resources/publicly-available-resources.html?t=2GjwAG0y1pTGaWMLrFyd8JcnY2jv_ZM8-53tGT1-6f5uPDmC2DinHt5OHGv4uZf7&view=documents#section-isodocuments-top)

@mico Please see this: https://github.com/relaton/relaton-iso/#search-for-isoiec-directives

@mico Please see this: https://github.com/relaton/relaton-iso/#search-for-isoiec-directives

@ronaldtse why is it different from the list here: https://github.com/metanorma/pubid-iso/issues/57#issuecomment-1157559404?

@mico we are only missing 3:

ISO/IEC DIR 1 IEC SUP - Procedures for the technical work – Procedures specific to IEC

ISO/IEC DIR 2 IEC - Principles and rules for the structure and drafting of ISO and IEC documents

ISO/IEC DIR 2 ISO - Principles and rules for the structure and drafting of ISO and IEC documents

ISO/IEC DIR 2 IEC - Principles and rules for the structure and drafting of ISO and IEC documents
ISO/IEC DIR 2 ISO - Principles and rules for the structure and drafting of ISO and IEC documents

@ronaldtse Is it the same as ISO/IEC DIR 2?

ISO/IEC DIR 2 IEC - Principles and rules for the structure and drafting of ISO and IEC documents
ISO/IEC DIR 2 ISO - Principles and rules for the structure and drafting of ISO and IEC documents

These are different documents:

"ISO/IEC DIR 2 IEC" is the IEC version of the "ISO/IEC DIR 2" base document, published by IEC
"ISO/IEC DIR 2 ISO" is the ISO version of the "ISO/IEC DIR 2" base document, published by ISO

These also have edition years, e.g.

"ISO/IEC DIR 2 IEC:2022"
"ISO/IEC DIR 2 ISO:2022"

Implemented in v.1.16.2 https://github.com/relaton/relaton-ccsds#get-specific-format


in EasyAction event handler method, can not call form controll??

.netFramework 4.7.2
tcp server code:
public partial class EasyTcpServerForm : Form
    {
        private EasyTcpActionServer server;

        public EasyTcpServerForm() {
            InitializeComponent();
        }

        private void EasyTcpServerForm_Load(object sender, EventArgs e) {
            output("formload");
            server = new EasyTcpActionServer();
            server.Start(8000);
            server.OnConnect += (sender1, client) => {
                System.Net.Sockets.Socket socket = client.BaseSocket;
                string remote = IPAddress.Parse (((IPEndPoint)socket.RemoteEndPoint).Address.ToString ()) + "on port number " + ((IPEndPoint)socket.RemoteEndPoint).Port.ToString ();
                string local = IPAddress.Parse (((IPEndPoint)socket.LocalEndPoint).Address.ToString ()) + "I am connected on port number " + ((IPEndPoint)socket.LocalEndPoint).Port.ToString ();
                output($"OnConnect: remote ip:{remote}, local ip:{local}"); // it is normal here
            };
        }

        [EasyAction("ECHO")]
        public void EchoAction(EasyTcp4.Message message) {
            message.Client.Send("response ECHO xxx");
            System.Net.Sockets.Socket socket = message.Client.BaseSocket;
            string remote = IPAddress.Parse (((IPEndPoint)socket.RemoteEndPoint).Address.ToString ()) + ", on port number " + ((IPEndPoint)socket.RemoteEndPoint).Port.ToString ();
            string local = IPAddress.Parse (((IPEndPoint)socket.LocalEndPoint).Address.ToString ()) + ", I am connected on port number " + ((IPEndPoint)socket.LocalEndPoint).Port.ToString ();
            output($"OnEchoAction: message:{message},remote:{remote}"); // This will throw an exception: InvalidOperationException
        }

        public void output(string str) {
            this.Invoke(new Action(() => {
                this.textBox1.AppendText(str + Environment.NewLine);
            }));
            System.Diagnostics.Debug.WriteLine (System.Threading.Thread.CurrentThread.ManagedThreadId + str);
        }
    }

This happens because EasyTcp creates a new instance of the EasyTcpServerForm class.This is useful when sharing state between multiple actions inside 1 class, but is kinda confusing in this senario.
So you need to pass the current instance of the EasyTcpServerForm class into the EchoAction. A way this can be done is by using a static field, but this is pretty ugly, there is probably a better solution.
Better would be if it was possible to reuse the current instance of the form in EasyTcp.Actions itself, but this would need to be implemented. I myself don't really have time to add this, but it wouldn't be that difficult, maybe someone else feels like trying this.
To give some pointers, this dictionary is used to keep track of all the instances. Moving it into the EasyTcpActionServer / EasyTcpActionClient and adding a function that adds a custom instance to this list is probably enough. If someone decides to implement this, feel free to email me if you have some questions.


More fixes2

@petebacondarwin any idea why do the private entry points need to be blacklisted using extra _? the source code has a double underscore prefix, but dgeni somehow turns it into triple underscore.

@naomiblack this PR also fixes the api listing json serialization.
unfortunately, the api docs still fail to build against the latest angular/angular master because some symbols are intentionally used twice with the same name (once in value position and the other time in the type position). it seems that dgeni doesn't like this duplication:
[00:23:49] 'build-ts-api-docs' errored after 4.94 s
[00:23:49] Error: Only one of "stable" (or its aliases) allowed. There were 2 - doc "@angular/core/index/Attribute" (interface)  - from file<EMAIL_ADDRESS>    at readTags (/Users/iminar/Dev/angular.io/node_modules/dgeni-packages/jsdoc/processors/extract-tags.js:134:15)
    at /Users/iminar/Dev/angular.io/node_modules/dgeni-packages/jsdoc/processors/extract-tags.js:86:11
    at arrayEach (/Users/iminar/Dev/angular.io/node_modules/lodash/lodash.js:522:11)
    at Function.forEach (/Users/iminar/Dev/angular.io/node_modules/lodash/lodash.js:9011:14)
    at tagExtractor (/Users/iminar/Dev/angular.io/node_modules/dgeni-packages/jsdoc/processors/extract-tags.js:65:9)
    at /Users/iminar/Dev/angular.io/node_modules/dgeni-packages/jsdoc/processors/extract-tags.js:20:9
    at Array.forEach (native)
    at Object.$process (/Users/iminar/Dev/angular.io/node_modules/dgeni-packages/jsdoc/processors/extract-tags.js:18:12)
    at /Users/iminar/Dev/angular.io/node_modules/dgeni/lib/Dgeni.js:202:28
    at _fulfilled (/Users/iminar/Dev/angular.io/node_modules/q/q.js:834:54)
    at self.promiseDispatch.done (/Users/iminar/Dev/angular.io/node_modules/q/q.js:863:30)
    at Promise.promise.promiseDispatch (/Users/iminar/Dev/angular.io/node_modules/q/q.js:796:13)
    at /Users/iminar/Dev/angular.io/node_modules/q/q.js:857:14
    at runSingle (/Users/iminar/Dev/angular.io/node_modules/q/q.js:137:13)
    at flush (/Users/iminar/Dev/angular.io/node_modules/q/q.js:125:13)
    at _combinedTickCallback (internal/process/next_tick.js:67:7)

@petebacondarwin could we change dgeni to deal with this?

I'll take a look today.
Both seem a bit weird. The @stable problem is probably due to the TypeScript processor concatenating the two exports together in some way...

thanks!
On Tue, Sep 13, 2016 at 12:32 AM Pete Bacon Darwin<EMAIL_ADDRESS>wrote:

I'll take a look today.
Both seem a bit weird. The @stable problem is probably due to the
TypeScript processor concatenating the two exports together in some way...
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/angular/angular.io/pull/2321#issuecomment-246599226,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AANM6IfMbtHhahARgbfSDQh9mlQYmMhDks5qplGIgaJpZM4J7XTh
.

The trouble is that, as far as TypeScript is concerned, the following two declarations are the same symbol:
export interface Attribute { attributeName?: string; }
export const Attribute: AttributeDecorator =
    makeParamDecorator('Attribute', [['attributeName', undefined]]);

It is not clear how we should deal with this. Since TypeScript allows reopening of types, we assumed that multiple declarations for a symbol were for the same type and so we concatenate all the information from the two declarations into a single document, which is why the content field for this document looks like:
Type of the Attribute metadata.\n\n@stable\n\nAttribute decorator and metadata.\n\n@stable\n@Annotation\n\n

Thoughts:

We could ignore one of the declarations, but which one?
We create two documents but then they would have the same path and one would end up overwriting the other
Moreover it seems that now that we have dropped the [Decorator]Metadata term, the current processing to extract decorator docs is going to be broken as it relied on the ...Metadata suffix to find the symbol that contained the information about the properties for the component.

Currently, on angular.io, the interface version of Attribute is lost anyway. The only doc rendered is https://angular.io/docs/ts/latest/api/core/index/Attribute-var.html

In any case, we can't deploy the rc7 docs without fixing this.

OK, so here is thing: TypeScript allows "compatible" declarations to be merged into a single symbol. So interface and const can be merged. The resulting symbol has all the symbols of both types.
A type can have a valueDeclaration, which is the first declaration that is a "value" type, e.g. class, function, enum, const, etc, rather than a non-value, such as interface', typedef`, etc.
Up to now we just concatenate the docs from each declaration into a single doc, which interestingly is what TypeScript does too - you can see so in the IDE intellisense.
I am going to update the dgeni-packages/typescript package to only take one of the declarations as the primary document, but then attach the other declarations to that doc via an additionalDeclarations property. This should prevent the doc-gen from blowing up and give us access to the other declarations.
The declaration that will be taken for the primary doc will be the valueDeclaration if there is one, or declarations[0] otherwise.


Starting line

HI All,
I'm in a bit of a lull in the project I've been working on with Serenity at the core so I figured I'd run some refreshers for myself regarding C#, Typescript and .Net. Most of what I know has been self taught and lacks structure so I figured it's a good time to bring things back in line while focusing it around Serenity. With that in mind, I figured I'd inquire 2 things from all of you.
First, do any of you have preferences in resources or references to use when dealing with any of the base languages for Serenity.
Second, I intend to build a Wiki page with a organized version of all the information I gather so that those people coming in with Entry Level knowledge, have a good place to start since I've seen there are more and more people being drawn to Serenity and not all are advanced experienced programmers.
I am considering, with @volkanceylan persmission, to maybe put some training materials together where I take Serenity and, essentially, dissect the different parts of serenity and make sample implementation guides, videos, etc. I know there is already a decent number of Wiki's and samples withing the code but I figure I can do a couple videos where I show the steps so that even beginners can grasp as they get more involved.
Anyhow, I will be making personal reference materials anyway so I figured sharing never hurts.

It's a good idea!

sounds like a great idea @sayuga !
if you need any help I'll be happy to give.

Go ahead. @sayuga

glad to hear there is desire for this. I'll be trolling through the archived issues and pulling information and I'll be cleaning up samples and probably putting together a repository with common additions to Serenity such as the missing files for the Employee Table that make it not show itself on the sample. Once I put some more concrete information together I'll start posting onto here what I have looking for feedback. Meanwhile, if anyone has links to particular things they feel strongly about adding in, or specific issue numbers you want me to add samples for, please reply here and I'll do my best to be prompt.

I'm in the process of translating the existing manual into Spanish and grabbing the Wiki's and adding them to the manual I'm writing. I'll add the link to the gitbook soon. Meanwhile, I have a question. What is easier, written manuals or would it be best to have video links? I was wondering whether to write out the full manual or just make a library of videos implementing all the samples.

@sayuga Los videos son generalmente mas ilustrativos que los ejemplos estaticos. Voto por ellos
Videos are generally more illustrative than static examples. I vote for them 💃

Ok, I'll start then running a screen recorder as I implement all the features I go finding. @volkanceylan Do you want me to send you the videos as I go making them or is it alright if I make a Youtube channel of my own for now?

I can put links to your channel in Readme, later we may consider a common channel

Alright, Once I get a few together I'll send them over. Meanwhile i'm in the process of translating the existing manual to Spanish. I've had a number of Spanish speakers ask me about things that are already in the manual. I'll start posting items in the next week or so.

Hi All, I've started a Repository where i'll be keeping the tutorials and related files. Mind you I'm still drafting the manual, doing videos and building the sample files so it's a tad empty at the moment but I welcome any and all corrections, additions and even code donations you'd like to add. I'm focusing on making the instructions as simple as possible while also adding sample files on the repository specific to the files changes/used/created. Here is the link:
https://github.com/sayuga/SerenityTutorials
Meanwhile I still am working on translating the original manual to spanish and getting some video tutorials up

Hi @sayuga if you want any help translatting the manual to spanish, let me know

Thanks for this @sayuga, I will be following with great interest.
I came across Serenity from the Lightswitch announcement page. I explored sharepoint/lightswitch a few years ago, and followed along with the Michael Washington book, together with a few other tutorials that were around -  but never really achieved anything.
I dabble in my spare time, but am not a programmer although I watched a lot of courses on MVA and have a very sketchy grasp of overall concepts - it's time I followed through and produced something I can use to make my day job more efficient.
I'm reasonably familiar with Excel, filters, formatting etc, and put an Access Db together into a small package at the turn of the century, but really, I'm the complete novice beginner you speak of.
I'm at the stage where I'm looking to get VS Community set up, and I've started watching some Typescript beginner tutorials on Pluralsight - it's free for 3 months with the VS Community registration.
https://app.pluralsight.com/library/courses/typescript/table-of-contents
I've also joined the Slack channel.
What I would appreciate knowing is getting the right tools in place to start exploring and learning and what order to build the knowledge. It looks like a big jigsaw puzzle to me at the moment, and I need to understand how all the pieces fit together.

@javaman63 Any help is appreciated. I'm essentially working through it by writing it section by section. Do you want to take on the How-To guides? I've created a blank gitbook. I'll be adding the sections I've already translated as soon as I get a moment. I don't think gitbook currently allows forking or pull requests but I can add collaborators with a email address. you are welcome to Private Message me through slack and give me your address and I'll add you to the collaborators list.

Hi all, I've started a couple Serenity Playlists on my Youtube. I'm going first through the tutorials on the manual showing all the steps on how to implement each section. Once I'm done with the tutorial I'll start running through the wiki.
Here is the link: https://www.youtube.com/channel/UCHGyxXj-vI32YaRs0v3HvKw

The set of videos for the Movie Tutorial are up and I've created a repository with the final version of the project used for the video so that other can reference. There is still some editing left and Captions to add but the videos should be able to be used alongside the Guide for now.

Added link to Readme, thanks again @sayuga


BUG : Drop-down option button not working

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
when we are clicking on dropdown button more it's not showing the listed options
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

please assign this me under gssoc so the i could fix this issue.

Thanks for creating the issue in SwapReads! The issue has been assigned to you.
Before you start working on your PR, please make sure to:

⭐ Star the repository if you haven't already.
Pull the latest changes to avoid any merge conflicts.
Attach before & after screenshots in your PR for clarity.
Include the issue number in your PR description for better tracking.

I'm excited to see your contribution as part of GSSOC EXT. 2024! 🎉
Don't forget to follow @anuragverma108  - Project Admin & @sailaja-adapa  - Project Mentor on GitHub for more updates.
Happy open-source contributing! 🚀

Hello! I’m excited to work on this issue as a Hacktoberfest contributor. Could you please assign it to me?

@sailaja-adapa
Please assign this issue to me

@Codersweta7 @Pariyul  work on new issues since it is already assigned

@sailaja-adapa Is there any issue which is kept untouched or something on which I can work upon

Work on responsiveness of get in touch page when viewed on mobile @Codersweta7

@sailaja-adapa
Hii I think the pages are already responsive if some page is left please let me know

@sailaja-adapa
Is there anything else I can do in your repository ...
Please suggest me something 🙂

I think all issues taken up

@sailaja-adapa
I got one thankyou for being active

Welcome @Codersweta7


Fix context menu closing

Gabor Benedek reported the issue that the visualization context menu no longer closes when you click outside of it.
https://github.com/lynxkite/lynxkite/commit/276b8304c16e1c24406c41d1109ebdbe34d48c34 removed the replace: true setting. element used to point at the root node of the template HTML. But without replace: true it points to a container element, that can't be focused. If the element is not focused, it won't be un-focused when you click outside, and we won't close it.
I don't remember why replace: true had to go, but it's fine. We can just be more specific about what we want to focus.

TODO: Add test!


Firefox Extensions uninfluenced by windowrules

Windows that are opened by Firefox extensions cannot be affected by windowrules.
I have an extension called Tree Style Tabs that opens a window (that should be a modal) to ask for confirmation to discard many tabs.
The output from hyprctl clients when the window in question is open looks like the following:
Window 2734070 -> Extension: (Tree Style Tab) - Close tabs? — Mozilla Firefox:
	at: 2888,14
	size: 938,1052
	workspace: 2 (2)
	floating: 0
	monitor: 1
	class: firefox
	title: Extension: (Tree Style Tab) - Close tabs? — Mozilla Firefox
	pid: 152850
	xwayland: 0

I try to match Extension in the title for all Firefox windows, so that any window opened by an extension will float by default.
windowrule=float,title:^(Extension)(.+)(Firefox)(.*)$

Then the size is set for a more specific pattern, matching if Close tabs is in the middle of the title.
windowrule=size 630 470,title:^(Extension)(.+)(Close tabs)(.+)(Firefox)(.*)$

Neither of these rules work, and neither do less-strict patterns that only look for title:Extension.
I have verified both of these regex patterns, and that windowrules works for other programs.

watch -n 0.1 "cat /tmp/hypr/$(echo $HYPRLAND_INSTANCE_SIGNATURE)/hyprland.log | grep -v "efresh" | grep "rule" | tail -n 40"

will tail the logs. Whenever a window is open, it will log searching rules, e.g.:
[LOG] Searching for matching rules for org.kde.dolphin (title: Extracting Files (86%) — Dolphin)

Those are the arguments passed to the regex checks. If an app is written by an idiot, it may set its title after mapping, meaning it's basically unmatchable in the current windowrule state.

That does appear to be the issue. This is the window that opens:
[LOG] Set keyboard focus to surface 1ea1300, with window name: Firefox Extensions uninfluenced by `windowrules`  Issue #602  hyprwm/Hyprland  Mozilla Firefox

This is what it changes to:
Window 1ee3140 -> Extension: (Tree Style Tab) - Close tabs? — Mozilla Firefox:
	at: 968,14
	size: 938,1052
	workspace: 2 (2)
	floating: 0
	monitor: 1
	class: firefox
	title: Extension: (Tree Style Tab) - Close tabs? — Mozilla Firefox
	pid: 119264
	xwayland: 0
	```

Any hope for a remedy? Is it possible to get a signal from somewhere every time a window changes its title?

it's planned.

Since dynamic window rules have been impl'd a while back, I am closing this.
float rules cannot be dynamic though, as it would require an active change after the window has already been created.

Hello, is there any solution to this? I have an extension which has a popup that goes fullscreen and I have no way to make floating and/or smaller.
The nofullscreenrequest and nomaximizerequest aren't affecting these popup. Even setting maxsize/minsize/size doesn't affect the window (and I have checked that the rule matches in the log).

I'm having the same problem with Bitwarden popups in Firefox. The following works, but it affects all Firefox windows:
windowrulev2=float,class:^firefox$
windowrulev2=nofullscreenrequest,class:^firefox$

But the following doesn't:
windowrulev2=float,class:^firefox$,title:^Extension:
windowrulev2=nofullscreenrequest,class:^firefox$,title:^Extension:

@musjj missing .*

@spikespaz
Doesn't work either, unfortunately.

That works for me: windowrulev2=nomaximizerequest, class:.*
In my case, I was getting annoying notifications on half screen from "Simple Tab Groups" extension (btw, great extension for managing sessions)

Anyone here figured out a solution?

Here's a snippet of my socket script for floating the bitwarden extension. Works well for me.
windowtitlev2() {
  IFS=',' read -r -a args <<< "$1"
  args[0]="${args[0]#*>>}"

  if [[ ${args[1]} == "Extension: (Bitwarden Password Manager) - — Mozilla Firefox" ]]; then
    hyprctl --batch "\
      dispatch setfloating address:0x${args[0]}; \
      dispatch resizewindowpixel exact 20% 50%, address:0x${args[0]}; \
      dispatch centerwindow; \
    "
  fi
}

handle() {
  case $1 in
    windowtitlev2\>*) windowtitlev2 "$1" ;;
  esac
}

socat -U - UNIX-CONNECT:"/$XDG_RUNTIME_DIR/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket2.sock" \
  | while read -r line; do handle "$line"; done


merging cacheGroups causes confusion

Operating System: MacOS 10.15.7
Node Version: 14.15.0
NPM Version: 6.14.0
webpack Version: 5.11.1
karma-webpack Version: 5.0.0

Expected Behavior
https://github.com/ryanclark/karma-webpack/blob/e2423b47ec59059bc1808c670affa64d0f5aa8b7/lib/karma-webpack/controller.js#L34

GIVEN newOptions.splitChunks.cacheGroups = {myChunk: {...}}
WHEN merging with karma-webpack's default webpack option
EXPECT options.splitChunks.cacheGroups to be {myChunk: {...}}

Actual Behavior

ACTUAL options.splitChunks.cacheGroups is {myChunk: {...}, commons: {..}}

Context
I'm currently debugging some sourcemap issues with coffeescript(doesn't seem to support eval sourcemap) after upgrading to webpack 5 and discovered that karma-sourcemap-loader wouldn't process split chunks which are not listed in karma preprocessors. Before, I only split out vendor files and the rest stayed in the entry chunks so it's fine. With<EMAIL_ADDRESS>the commons chunk in the default config split the rest of the code from the entry and break the source map.
It may not exactly be a bug but I find it really confusing. Also, doesn't seem to have a way to unset the default one.
related issue https://github.com/ryanclark/karma-webpack/issues/489

Hello,
same issue here, i want to get rid of commons cache group, and it does not seems to work.

As karma is now deprecated and coming up on EOL, we are no longer planning on any significant enhancements to this project and are instead going to focus on security updates, stability, and a migration path forward as karma's lifecycle comes to an end.
Thank you for supporting and using this project!


cuDDN minor version diffrences (TensorRT was linked against cuDNN 8.9.X but loaded cuDNN 8.9.X)

System Info
I got this warning when trying to compile the model and I can imagine it may reduce performance
TensorRT was linked against cuDNN 8.9.6 but loaded cuDNN 8.9.4
the problem here is there is in the read me it provides an option the change MAJOR.MINOR but not "extra_minor" version
this is how I compiled it
make -C docker release_build CUDA_ARCHS="89-real"  (i have a 4090)
should I not be wored about the extra_minor" version or is there a command to specify it?
I am aware of this issue, but ultimately the problem may be the build command
Who can help?
No response
Information

[ ] The official example scripts
[ ] My own modified scripts

Tasks

[ ] An officially supported task in the examples folder (such as GLUE/SQuAD, ...)
[ ] My own task or dataset (give details below)

Reproduction
make -C docker release_build CUDA_ARCHS="89-real"
compile this with a WSL2 machine having a 4090
Expected behavior
adding the third option may be nice
make -C docker release_build CUDA_ARCHS="896-real"
actual behavior
TensorRT was linked against cuDNN 8.9.6 but loaded cuDNN 8.9.4
additional notes
If thats not possible, then I would greatly appreciate it if you could point me to the solution

just to note... I am able to compile model successfully. Just curiouse if it has a performance impact

Could you please provide more detailed logs?

do u still have further issue or question now? If not, we'll close it soon.


Permanent error: "Is the destination writeable?"

No matter what I try, I always end up with:
  Converting impledcrpse002.utp -> impledcrpse002.utp.json
  Converting impledhead002.utp -> impledhead002.utp.json
  Converting invalid.are -> invalid.are.json
  Converting invalid.gic -> invalid.gic.json
  Converting invalid.git -> invalid.git.json
  Converting invalid_0.git -> invalid_0.git.json
      Error: Could not create src/git/invalid_0.git.json. Is the destination writeable?

My nasher.cfg :
[Package]
name = "Ruins of Undermountain"
description = "Ruins of Undermountain"
version = "alpha1"
url = "https://gitlab.com/roum/roum"
author = "nasher"

[Sources]
include = "src/**/*.{nss,json}"

[Rules]
"*" = "src/$ext"

[Target]
name = "RoUM"
file = "RoUM.mod"
description = ""

I don't have any area, nor item with blueprint 'invalid' or 'invalid_0'

This is happening when you unpack your module, yes? Are you unpacking from a module file or a folder?

I've worked around this issue, and will not be trying to reproduce it anymore.


Cannot change slowMo once puppeteer is launched

slowMo is very useful as a tool, but some pages have weird race conditions that make it very hard to work without slowMo enabled. That makes it rather brittle for general testing, but still very useful to be able to toggle on a -per-page level or browser-level instead of on Connection.
Is there a good workaround for this, or would you consider this a feature to add to the puppeteer API?

Is there a good workaround for this, or would you consider this a feature to add to the puppeteer API?

@alessbelli I don't think this is a very common usecase, but let me suggest you a workaround.
function enableSlowMo(page, delay) {
  const origin = page._client._onMessage;
  page._client._onMessage = async (...args) => {
    await new Promise(x => setTimeout(x, 250));
    return origin.call(page._client, ...args);
  }
);

Thank you, I ended up doing something similar!

I'd like to chime in with a suggestion for why this might be useful as a general API: I am using Puppeteer to record an automated testing session and in my use case there is no need for the session to run as fast as possible so I am using a value of slowMo which gives the resulting video a comfortable pace.
However, I am also removing ad banners from the page during the session because they cause jumps in the content which makes the video jarring to watch if they are left in (everyone who has browser web on mobile without an ad blocker before can probably relate). I'd like to remove these elements as fast as possible once waitForSelector matches them, but leave the rest artificially slowed down to preserve the pace of the video.
For now I'm probably going to explore network-based blocking or something.

Here is an updated version of @aslushnikov `s function so solve this.
const enableSlowMo = (page, delay) => {
  const origin = page._client()._onMessage
  page._client()._onMessage = async (...args) => {
    await new Promise((x) => setTimeout(x, delay))
    return origin.call(page._client(), ...args)
  }
}