Fix DynamoDB Integration Tests

It seems that we were using Akka's DynamoDB account when running integration tests and the security token that we inherited from them isn't valid, see https://github.com/apache/incubator-pekko-persistence-dynamodb/actions/runs/5539541172/jobs/10110609080?pr=58.
We should contact INFRA to see if they can setup a dynamodb account that we can use for integration testing or see if there is an appropriate container.

@mdedetrich We're using persistence Cassandra and JDBC. I can have a look but not sure if I can find a timely fix.

@nvollmar Don't worry about it too much then, I misremembered.

@mdedetrich any idea where the AWS credentials are set up for the tests in the CI run? I can't find anything obvious.

#60 merged


Problem with optional params

Hi, guys,
I have the problems with the mapping Joi shemas to Swagger UI and I look for your advices :)

Problem with the optional param
As you can see below we have optional param "id".
In case of request body - this parameter shouldn't be visible, because this "id" will be created under the hood.
In case of response body - this parameter should be visible, because "id" was created at this time.
I use this common schema both for request and response body:

export const BotSchema = Joi.object().keys({
    id: Joi.string().optional(),
    layout: Joi.number().required().label('bot.navigation.$.layout'),
    title: Joi.string().required().label('bot.navigation.$.title'),
    type: Joi.string().required(),
});

As a result - we can see "id" param in both cases - req and res:

What is a right way to working with this schemas?
Should I create different schemas - first for request body and second for response body?

Problem with the incorrect display of the parameters.
As you can see below I use the next schema for displaying request body:

I see the next picture, but It's incorrect result (we have different types of field "data" depends on field "type".

What is a right way to configure this schemas for displaying correct result in Swagger UI?
Thanks in advance!

@dmitrii-esin Sorry for the late reply.
For issue #1, I think we have to create two schema for request body and response.  It might be more than a single id, such as creation/update time, etc.
For issue #2, I don't quite understand what the problem is.  The point is, you should have a working Swagger UI JSON sample that display exactly what you expect first.  Then we can see how joi helps to define a schema mapped to it.  Can you provide a sample of working Swagger UI JSON?

Hi, @kenspirit,
#1 Thank you for your advice. It would be better if I could create separate interfaces for the request and response.
#2 Sorry, Id I didn't make that clear. Currently, I'm looking for solution for converting joi schemas to typescript interfaces. The reason for that is consistence, decreasing repeatable code and field declarations.
If you have ideas for that I will be grateful for =)


Convert showcase and integration images to 8-bit.

Before: 1,38 MB (1.452.164 bytes)
After:  624 KB (639.759 bytes)

Great find. So many more to add:
https://kubernetesbootcamp.github.io/kubernetes-bootcamp/1-2.html
https://gfycat.com/
http://governor.virginia.gov/
http://www.citysearch.com/guide/los-angeles-ca
http://www.espn975.com/
https://appcenter.intuit.com/
http://blog.williams-sonoma.com/
http://radio.com/
http://activate.mlb.com/
https://gfycat.com/
http://jr.nba.com/
http://www.smithsonianmag.com/?no-ist
http://www.iwantnflnetwork.com/

Do we do this manually?
Also, might be a good idea to start looking to implement pagination, and/or search, or at least mixItUp to filter the entries.

Yeah, it is manual. I think AI for this would be overkill.

start looking to implement pagination, and/or search, or at least mixItUp to filter the entries.

Possibly. Those pages don't get a lot of traffic:

I was under the impression people needed to contact us to add their entries, that's why I ask.
Feel free to make an issue to track this and add more entries if you want.

Nah I just view source anytime I see Font Awesome or Bootstrap being used.
Oh nice! I will do that. =)


question regarding the ordering of random writes to a file

Hi,
I've read the docs regarding the ordering and I understand that CQEs can come in a different order than SQEs - which is totally understandable for a system-level engine.
I would like to double-check regarding ordering for a single file descriptor. Suppose I submit 2 write requests A,B
for the same range in the same file without IOSQE_IO_LINK. Is it guaranteed that A will be applied before B ?
Is it guaranteed that CQE_A will appear before CQE_B?

@romange, no guarantees, can get reshuffled

So the only way to guarantee serializability is to wait for the completion of A. Thanks, got ya.


fix(pagination): updating Pagination.totalPages

When updating Pagination.totalPages after total amount of items
changed it goes to the last page (by calling
this.selectPage(totalPages)).
Instead, if at all, it should go to this.page.

Thanks, looks good to me


news item chromatin silencing (soon)

Thumbnail:

Title
Changes to GO and annotation review (chromatin silencing).
Body
Working with the GO consortium we have removed "chromatin silencing" (a phenotype) from GO (which represents normal processes that individual gene products are directly involved in). Chromatin silencing in GO was a legacy term and conflated various heterochromatin assembly, formation, and maintenance pathways with more indirect processes that affect repression mediated by chromatin more indirectly (i.e. tethering to the nuclear envelope).  "Chromatin silencing" terms remain available in our phenotype ontology "FYPO".  Existing annotations to Gene Ontology chromatin silencing terms were reviewed and either removed or reannotated based on what could be inferred from the phenotypes. This has provided a revised heterochromatin assembly annotations <https://www.pombase.org/term/GO:0031507>. Further work is required so please mail us with any corrections.

Need to

check heterochromatin assembly is not a child of silencing
Check silencing  annotation is purged

check subtelomeric heterochromatin assembly is under heterochromatin assembly
check heterochromatin island assembly is under heterochromatin assembly

ping when everything else is ready and I'll do the text

Hopefully tomorrow, definitely by Monday...

double check these form my toDO list
LATER, STILL WAITING FOR PASCALE
chromatin silencing at telomere
conversion of ds siRNA to ss siRNA involved in chromatin silencing by small RNA
heterochromatin assembly involved in chromatin silencing by small RNA
negative regulation of chromatin silencing by small RNA
regulation of chromatin silencing by small RNA
When these are done, can announce heterochromatin changes and send out sessions

chromatin silencing at telomere
conversion of ds siRNA to ss siRNA involved in chromatin silencing by small RNA
are still present, but annotations are purged in pombase and will disappear from GO soon so we can go ahead with this.

This one can go live now


Added rbbk-dortmund.de

Added rbbk-dortmund.de as new technical vocational college.

@N3xiZ Pull request merged. Thank youЕ!


chore: buf fmt and add required fields

Description
Run buf format on the sources and make sure all RPC inputs that are required are marked as required (regardless of their HTTP mapping).
References

Review Checklist

[ ] I have clicked on "allow edits by maintainers".
[ ] I have added documentation for new/changed functionality in this PR or in a PR to openfga.dev [Provide a link to any relevant PRs in the references section above]
[ ] The correct base branch is being used, if not main
[ ] I have added tests to validate that the change in functionality is working as expected

Since we are updating the APIs, can we

update the Create/Get authorization model so that we have type user?
check example should use reader instead of can_read?
no need to mention the model in expand
listobject example should use reader as relation.  Currently, it is listed as 'string'


Major problem with instagram.

I have a iPhone 6s and am running iOS 13.4.1 checkra1n. When I have little 11 enabled all of the instagram posts are zoomed not allowing me to see them fully.

Can you provide screenshots of the issue? I have not seen any other reports or information about this.

Version 1.5.0 is believed to fix this issue


the relationship between model extracting features and clustering result

hi, here is a question about the mapping relation between model extracting features and clustering result, will the better model extracting features result in the better clustering fscore?

Hi @qiudi0127 , thanks for the question. I think it is similar to https://github.com/yl-1993/learn-to-cluster/issues/50.
Basically, it is very likely that better feature extractor would lead to better clustering results. However, as all clustering algorithms can benefit from stronger feature extractor, it is uncertain that the performance gap between our method and baseline methods will enlarge continuously. More experiments are required to show the change of performance gap.

@yl-1993 hi, i met an issue that using the part1_test.bin and pretrained model can not get the fscore given by git.

Hi @qiudi0127 , it seems that the k is set to 15 instead of 80 for testing?


Improve GeoPackage compatibility

Fixes various issues with GeoPackages that do not use fid/geom and do not use quotes around column names.

Pull Request Test Coverage Report for Build 1344

0 of 0   changed or added relevant lines in 0 files are covered.
12 unchanged lines in 1 file lost coverage.
Overall coverage increased (+0.1%) to 44.119%

Files with Coverage Reduction
New Missed Lines
%

cmd/tegola/cmd/cache.go
12
27.07%

Totals

Change from base Build 1336:
0.1%

Covered Lines:
5143

Relevant Lines:
11657

💛  - Coveralls

LGTM


Remove activeAccounts cell from the KEVM configuration

~blocked on #1670~
blocked on https://github.com/runtimeverification/k/issues/3365
fixes: #1604

Currently there is an issue with the CALLBlake2f_MaxRounds.json test, causing the timeout.

Try changing this to -O1 instead, and see if we get the same hang: https://github.com/runtimeverification/evm-semantics/blob/30606a30f95c591e384cd3acfe336129e72ca183/Makefile#L228

@ehildenb The test passed with -O1


Fixed OverflowError when returning job IDs

Some ObjectId objects may lead to an OverflowError when dumped using usjon.dumps() :
>>> ujson.dumps(ObjectId("568cf86d7bd78100822b9b2e"))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
OverflowError: Unsupported UTF-8 sequence length when encoding string

Good catch! However output should stay JSON-encoded. You should use this instead:
https://github.com/pricingassistant/mrq/blob/master/mrq/worker.py#L346

Nice, thanks!


Only play brake sound while braking and drifting

Adjust the threshold speed up to 20, since it gets annoying to hear braking sound whenever you turn
Adjust volume depending on speed
Only play sound when drifting or braking

Personally I really like having the extra feedback on drift when navigating tight corners.

Also - would be nice to have dedicated audio for deceleration, and a better track for acceleration (you can't hear any gear changes!) Happy to dig into this.

Yes by all means, gear changes would be awesome. You can get a 0 - 1 speed index by dividing speed by state.vehicleConfig.maxSpeed

at first i thought of the sliding as something that would also cause wheels to screech but you're right, it does get on your nerves. let's do it.


Support for placeholder value

I'd like to suggest adding support for a placeholder prop.
I am trying to add a placeholder by using a hack with CSS and setting a title attribute on the contenteditable html tag:
[contentEditable=true]:empty:not(:focus):before{
   content:attr(title);
}

// within a component that wraps ReactQuill

componentDidMount() {
  document.getElementById('ql-editor-1').setAttribute('title', 'Job Description');
}

Even after implementing this hack, the placeholder still does not appear because the default markup inside of the content editable div is not actually an empty string.

I'd also appreciate any other suggestions of how to get a placeholder value using the current implementation.

This is supporting in the upcoming Quill release, v1.0.0.

Placeholder value is now supported in the latest master.


Change to "auto-deployment".  Addresses #2089.

Addresses #2089.
There was confusion over hot, remote, and now the chosen one, "auto-deployment".  Hopefully this resolves these mentions throughout the code.

I did!


cmake: resolve conflicts building both shared and static

This PR includes two changes to fix issues when using both -DBUILD_STATIC_LIBS=ON and (the default value) -DBUILD_SHARED_LIBS=ON to build the library for both static and shared linking.
export(TARGETS)
The first commit changes the export(TARGETS) commands to append, since they both write to the same output configuration file (see https://cmake.org/cmake/help/v3.10/command/export.html , second syntax:  If the APPEND option is given the generated code will be appended to the file instead of overwriting it. ). Without this, only the latter target, tinyxml2_static, will be exported (for the configuration to be usable as IMPORT library from other libraries -- if I understand correctly. The effects are visible in the generated tinyxml2Targets.cmake).
differentiating the static library's name
The second commit might introduce incompatibilities, but is necessary for MSVC. MSVC generates a .lib ("import library") even when creating shared (.dll) libraries. Because the name for both targets is configured to be identical (both tinyxml2), the second target to be built will always overwrite the first one. I guess when you build them manually you can copy the right version out if you're careful, but when building in bulk (like with the BUILD_ALL project generated by CMake's vs generator, or when using cmake --build mode) only one of the two files survives (and it's not even trivial to tell which one it is).
My solution for the second change was to rename the static target to tinyxml2_static, which makes it easier to reason about and allows choosing shared vs static with the same library search path, just by name. Since it's unnecessary for other compilers (iirc the unix/posix world uses .a for static and .so for dynamic libraries), it would also to only change its name when using MSVC, but I personally think it might add to the confusion, even if changing the naming scheme globally will lead to compatibility issues in existing build setups.
(Maybe the most liberal approach would be to hide the changed name behind another CMake option, but I think at that point we're overengineering.)

The problem with APPEND is that if you compile tinyxml2 multiple times, the tinyxml2Targets.cmake file will get larger and larger because of duplicates.

In my current build setup the containing folder is deleted before every configuration anyway, so I haven't run into that issue yet.
Even if so it should be an easy fix to have both versions and select for the first writing operation not to use APPEND with a simple if/else.
Will look into it later (maybe in 1 or 2 days, if nobody else does before me).

Should this be closed? (Sorry for the huge delay. New job.)

@leethomason I thought this PR is ready to merge since @rohlem addressed my concerns

The last commit addressed the issue pointed out and it is now ready to merge.

I think this has been fixed with the most recent round of merges. If this is not the case, please feel free to comment / reopen / adjust as needed.


thunderbird*: 102.5.1 -> 102.6.0

https://www.thunderbird.net/en-US/thunderbird/102.6.0/releasenotes/
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

https://www.mozilla.org/en-US/security/known-vulnerabilities/thunderbird/#thunderbird102.6

Well, I wasn't sure about the label, as it all seemed the usual cannot be exploited through email...

Tested and works fine.


Exported CalendarBody component

For one of use case we have to just use CalendarBody component. But it was not accessible as we haven't exported it. Made changes related to it. We can now just render CalendarBody component.
Tested locally.

Thank you

Thanks!

Released on v1.0.5

Thank you @acro5piano. Really appreciate.


Setting to differentiate legal name and display name

User story
As an individual user, or admin of a fiscal host or self-hosted Collective, I want to specify a display name for the OC profile and separately a legal name of the entity or person, which is sometimes different. The legal name should appear on receipts and invoices, and be associated with tax forms.
Best solution for this problem
An optional setting called legal name that you can set, if it's different from the display name.
The display name is used everywhere that the profile name is viewable publicly, including expenses, comments, etc. This is very important because sometimes people have important privacy reasons not to use their legal name publicly.
The legal name is used for receipts, the payee section of expenses, and sent through to the tax form system. These instances should all be places where only that user and the admins of the Host they are interacting with can see.

I really want to bump this up, and I think it's critical we build this soon, for the following reasons:

Advising people to sign up with pseudonyms is a key tool we have for balancing the transparency of our platform with very real and important privacy concerns our users may have. As we have begun to support more activist and front-line community support groups, such as initiatives supporting the trans community, we have more and more people interfacing with our platform who need a way not to publicly show their legal name. But this causes them problems when it comes to matching their profile name with their bank account payout name, the name the receipt is issued to which often needs to be their legal name for tax reporting, and when it comes time to fill out the HelloWorks tax form (which pulls through their profile name for the signature even if they fill in their legal name at the top).

We are welcoming more numerous and diverse hosts and self-hosted Collectives on the platform, many of which may have a display name that does not exactly match their legal name. For example, a self-hosted Collective which is a particular project or initiative with a company's bank account plugged into it, but that company itself has a different legal name. The display name has to be one thing for publicity and donations, while the entity name on the receipt is something else. There are large hosts, like Social Change Nest, whose legal name is something else, Social Change Agency, as well as legal entity types with very long and cumbersome official titles that are way too long for the title at the top of their profile. Separating legal name and display name would fix these issues.

Just bumping this up again. It's causing an issue for Gift Collective host, since the legal name of the fundholder is different. When we claim tax refunds the invoices must be made out to the taxable legal entity. We need this for so many reasons.

questions:
need to detail where we show/hide this information
need to describe how users will provide their legal name at the point of making a contribution/signing up etc.

Display name:

Anywhere viewable publicly

Legal name:

Expenses payee section (show display name for public view, legal name for host admin view)
Receipts issued for contributions
Tax forms
Host data retained for contributions that trigger reporting requirements (e.g. the $5,000+ threshold @piamancini has been working on)
Host admin CSV export (include both legal and display name in columns)

Perhaps we should show both names to the host admin in these cases, for ease of matching up the two names? E.g. I expect when contacting support people would use their display name but the host might need to match them with transactions referring to their legal name.
We also need to visually indicate to the host that someone has a display name when looking at a place where their legal name is shown, so the host doesn't turn around and accidentally use their legal name publicly (or to address them) because they don't realise they also have a display name.
Let's design this in a way to support things coming in the future:

programmatically requiring the legal name to match the bank account owner name and tax form name (so people can't submit an expense under their personal profile for their company, for example)
Host exporting data they need for tax reporting purposes (which needs to use legal names)

We need to enable this setting for both individuals and organizations, as both have reasons to differentiate between names this way.
In regard to how/when we ask user to provide their legal name:

For new profiles, I think the easiest way is to include it in the basic signup form and make it a required field. If their display name and legal name are the same, they can enter it twice (we can have a tooltip explaining where each is used in practice).

If we don't want to collect it on the initial signup screen because we're trying to keep that as simple as possible and many users will not do things requiring their legal name, then we'll have to do it in a more complex way. We'll need to collect or confirm their legal name when they:

Submit their first expense - this will ensure we have it for both expense documentation and for tax forms
Make a contribution that will generate a receipt (i.e. not when moving money between Collectives in the same host)
When an org activates as a Host is a good time to check it

For existing users, once we roll this feature out we should collect/confirm their legal name next time they submit an expense or make a contribution.
The setting should appear in the info section of settings for individuals and orgs (including hosts).
How will we handle users who misunderstand and set their display name as their individual name and their legal name as their company name? I feel like people will do this, resulting in profiles that should be orgs being individual profiles. From an accounting perspective is this actually not problematic but could it mess things up in other ways?

@alanna Some questions:

Could we say that fiscal host legal names are always public? Given that you just have to make a contribution to one of its hosted collectives to see it, it seems like that's not really private info.
In the places where we display the legal name, and to address one of your concerns above, would that be ok to display a legal name in the interface like Legal name (display name)?

I'm proposing some specs below for a first implementation. They're meant to be updated and split into more specific issues.
Things that are not yet in these specs as they need some input from @opencollective/design first:

For users, requiring a legal name at signup is difficult because they're created from many places and that might complexify the form. We should however show it in the contribution for guests and logged-in users who contribute > $5K. Ping @Memo-Es
Ask for the user's/organization legal name in the expense form

Overall, we need to define a strategy to collect this info for existing users. I've kept that part mostly out of the specs for the MVP, we'll probably have better visibility once we start working on it.
API

[ ] Add a legalName (string, default=null) field on the Collectives model
[ ] On GQLV2 Account object, add a legalName field. The resolver should take care of checking the permissions:

[ ] Field should always be visible for admin(s) of the account
[ ] For fiscal hosts, the field should be visible if the user has financial contributions to one of the collectives
[ ] We should create a new SEE_LEGAL_NAME context permission and check it with getContextPermission

[ ] Use setContextPermission for SEE_LEGAL_NAME in all contexts where we want to allow it

[ ] For expense payees, if remoteUser has the host admin permissions
[ ] For financial contributors, if remoteUser has the host admin permissions

[ ] When generating the tax form on HelloWorks, use the legalName if available
[ ] Add a legalName column on host admin CSV export
[ ] When submitting an expense, if legalName is defined, make sure it matches the payout method (bank account)

Frontend

[ ] Add a Legal name field on https://opencollective.com/account/edit for individuals and organizations. "name" and "legal name" fields should have descriptions based on https://github.com/opencollective/opencollective/issues/3689#issue-745454887. It should be clear that one is private while the other is public (maybe add a lock icon?)
[ ] Add a Legal name field (optional - if different from display name) on organizations forms

[ ] https://opencollective.com/organizations/new
[ ] https://opencollective.com/my-collective/edit/host
[ ] https://opencollective.com/my-collective/accept-financial-contributions/organization

[ ] Expense summary: if a legalName is provided for the payee, show it
[ ] In the expense form, if a legal name is defined for the payee, make sure it's set by default when adding a bank account and don't allow user to change it (there should be a tooltip to explain why it cannot be edited)
[ ] Add a message in Activate as host when activating to advise admins to go and set their legal name in their profiles

PDF service

[ ] Update ExpenseInvoice to show legal names
[ ] Update Receipt/ReceiptV2 to show legal names

Could we say that fiscal host legal names are always public? Given that you just have to contribute to one of its hosted collectives to see it, it seems like that's not really private info.

Yes in fact it would be great to clearly to users. Hosts need to share their legal entity name openly.

In the places where we display the legal name, and to address one of your concerns above, would that be ok to display a legal name in the interface like Legal name (display name)

This is a good solution.
The specs look good from my side (the parts I understand).

we need to define a strategy to collect this info for existing users

Do you think the trigger points I mentioned could also work for existing users? When they...

Submit their next expense
Make a contribution that will generate a receipt

For existing host admins we can just send them a direct email about it to let them know about the new setting, and announce it at the host webinar. We can manage that manually.

@alanna Thanks for the feedback

Do you think the trigger points I mentioned could also work for existing users? When they...
Submit their next expense
Make a contribution that will generate a receipt

Yes, especially since @Memo-Es is already working on a step to collect logged-in user's info in the contribution flow when they give > $5K.
I want to have an input from design before implementing these two.

Host admin CSV export (include both legal and display name in columns)

@alanna I suppose the CSV you're referring to is the one received by email with the monthly host report?

The MVP for this project is mostly done. We're still iterating on the expense flow stuff, and need to add it to CSV exports, but it should be ready for the end of the sprint.
I think we should quickly - during the next sprint - follow-up with https://github.com/opencollective/opencollective/issues/4692#issuecomment-921973945 (design is still being discussed) to take full advantage of the feature and make sure we fully resolve the issues of collecting addresses for contributions > $5K.

Everything from https://github.com/opencollective/opencollective/issues/3689#issuecomment-905305266 is done, I'm therefore closing the project. We'll follow up with some issues mostly related to the introduction of the legal name in the contribution flow:

https://github.com/opencollective/opencollective/issues/4719
https://github.com/opencollective/opencollective/issues/4692
https://github.com/opencollective/opencollective/issues/4654

A bit overdue maybe, but I've created a project board for this at, https://github.com/opencollective/opencollective/projects/68 so that we could see all issues related to this in one place. 😉


Fixed errors found by linter. Added missing dev dependencies.

Linter rules were not applied. I fixed most of the errors (mostly automatically), including missing dev dependencies.
I decided to turn off the @typescript-eslint/no-use-before-define rule since there were many such errors, and they seemed minor.
The most noticeable non-automatic change was using HashFunctionEnum instead of string and dictionary object combination.

Great, the skeleton wasn't aligned with eslint indeed, let's apply it


[Slim] Training accuracy is increasing very slowly

Hi,
I feel something odd is happening with my Inception_Resnet_v2 training. I am what I'm seeing is correct but it seems the training will take forever at the current rate.
I am training slim against the full Imagenet dataset approx 14M images. The training is running on 8GPUs and the batch size is the default 32. If my calculations are correct this means that each epoch should consist of approximately (54,000 steps):
14,000,000 / (8 * 32)
The training has been running for 800,000 steps so far (approx 15 epochs) yet the accuracy just reached 22%.
I have been evaluating the model after each 100,000 steps and at the start, the accuracy used to increase by 5% after each 100,000 step up until 500,000 steps, yet now it seems to be rapidly slowing down as now I am getting in approximate 0.8% increase every 100,000 steps after reaching the 500,000 steps mark.
I am not sure if this is expected as I do not have any data to compare it with but at this rate it can take several months, maybe even years to reach a viable accuracy rate. I am trying to reach somewhere above 70% at least.
Now is this expected? Are there any ways to speed up training beside adding GPUs? And if the latter is my only option, is it possible to continue training on the same checkpoints once the number of GPUs has increased?

This question is better asked on  StackOverflow since it is not a  bug or feature request. There is also a larger community that reads questions there. Thanks!


refactor: new function GetBlockSubsidyPrev for simplification of usage

Issue being fixed or feature implemented
Unlike bitcoin we are using PREVIOUS block in GetBlockSubsidy().
That creates special case for genesis block, because it doesn't have previous block. In this special case instead of calling GetBlockSubsidy should be used pre-calculated value. To avoid confusion for new code and simplify implementation, there's introduced a new method GetBlockSubsidyPrev that has other interface: it takes pointer CBlockIndex* prev in agruments instead pair of height + nbits.
These changes are follow-up for #5501
What was done?
Implemented new method GetBlockSubsidyPrev() and used instead of GetBlockSubsidy when it is more convenient.
How Has This Been Tested?
Run unit/functional tests.
Breaking Changes
N/A
Checklist:

[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have added or updated relevant unit/integration/functional/e2e tests
[ ] I have made corresponding changes to the documentation
[x] I have assigned this pull request to a milestone

There're 4 commits in that branch and here're my comments/response:
commit 1: https://github.com/kwvg/dash/commit/3fc0fe53698fcc5e946d9d5b692898376f7158e1
refactor: pass CChainParams instead of Consensus::Params to GetBlocksubsidy
commit 4: https://github.com/kwvg/dash/commit/3185daeca62294f14bdc00ce054e1f493eee9431
refactor: pass Consensus::Params to GetMasternodePayment
IMHO, better to do replacing Params() along backport bitcoin/bitcoin#25168 - out of scope of this tiny refactoring
commit 2: https://github.com/kwvg/dash/commit/812d63c795bc702f0ebc6aec6badce507f14e71f
refactor: add zero-height block safe GetBlockSubsidy
This commit is very similar to my changes, but there're 2 functions GetBlockSubsidy that are both public but different only in argument name.
as doc/developer-nodes.md says:

Try not to overload methods on argument type. E.g. don't make getblock(true) and getblock("hash")
do different things.

Rationale: This is impossible to use with dash-cli, and can be surprising to users.

Exception: Some RPC calls can take both an int and bool, most notably when a bool was switched
to a multi-value, or due to other historical reasons. Always have false map to 0 and
true to 1 in this case.
In this case GetBlockSubsidy behave differently depends from which function is called.

commit 3: https://github.com/kwvg/dash/commit/f4180b12a680c3aee478871ab23087b8e482a7b7
refactor: split underlying subsidy calculations to GetBaseSubsidy
I don't see a point to do it, because this underlying function is not used anywhere and just make implementation longer.
So, commit-2 - duplicate with this PR, commit 3 - to drop. Commit 1 and Commit 4 -> dedicated PR along with backport bitcoin/bitcoin#25168 (and may be some more backports)

I feel that commits 1 and 4 should be a part of this PR, it reduces the amount of additional changes that need to be done when that PR needs to be backported and are relatively trivial in nature. It would also ease review when that PR is backported.

Overloading has been employed in commit 2 so that switching the codebase over and then eventually removing the current variant with the proposed variant is easier.
While doc/developer-notes.md does argue against overloading, it's under the section "RPC interface guidelines".
The proposed changes have nothing to do with RPCs.

Splitting was done in commit 4 because I felt doing so into smaller pieces make it easier to read, separating the base calculation from the calculation with all parameters considered.
But, the split out portion isn't being reused and is unlikely to be reused and exists only for the sake of readability. It can be omitted if desired.

Splitting was done in commit 4 because I felt doing so into smaller pieces will make it easier to read, separating the base calculation from the calculation with all parameters considered.

> fSuperblockPartOnly

hm.... Probably here's some misusage of fSuperblockPartOnly - doesn't look as it is used anywhere.

imo GetBlockSubsidyPrev name is confusing. How about<PHONE_NUMBER> or smth similar?

I don't feel GetBlockSubsidy is part of an interface but I won't insist, imo it's a matter of preference and I won't object to a non-overloaded variant.

About refactoring of Params(). I just double-checked with current master of bitcoin - even if some parts are refactored, GetBlockSubsidy is not changed.

The parts that are refactored to avoid calling the global are validation-specific, coinstatsindex doesn't fit that bill, it may be calling validation-specific code but it passes the global as an argument and GetBlockSubsidy doesn't itself invoke the global. I'm aware of the global invocations in index/ which is why I was okay with using keeping them in #5501.
I'm instead, proposing to replace the global invocation made here with one that takes in an argument, which means taking in CChainParams instead of Consensus::Params

hm.... Probably here's some misusage of fSuperblockPartOnly - doesn't look as it is used anywhere

I'm not sure I follow you, usage seems fine to me

The parts that are refactored to avoid calling the global are validation-specific, coinstatsindex doesn't fit that bill, it may be calling validation-specific code but it passes the global as an argument and GetBlockSubsidy doesn't itself invoke the global. I'm aware of the global invocations in index/ which is why I was okay with keeping them in https://github.com/dashpay/dash/pull/5501.

I'm instead, proposing to replace the global invocation made here with one that takes in an argument, which means taking in CChainParams instead of Consensus::Params

Sorry, I didn't understand this part.
I took random line from one of your commit from mentioned branch:
-    coinbaseTx.vout[0].nValue = GetBlockSubsidy(block.nBits, nHeight, chainparams.GetConsensus());
+   coinbaseTx.vout[0].nValue = GetBlockSubsidy(block.nBits, nHeight, chainparams);

I open same line in the bitcoin code (master):
    coinbaseTx.vout[0].nValue = GetBlockSubsidy(nHeight, chainparams.GetConsensus());

So, if this refactoring will be done, any backports in future would be more difficult to be done.
If there's any noticeable benefits that can out-weight potential conflicts while doing backports - please, bring them up.
Btw, if some code is dash-specific, let's consider changes without changing common code with bitcoin.

UPD: do you mean this particular call and only it? Params().NetworkIDString() == CBaseChainParams::MAIN? hm, let me think how to update it then.

Pretty much why I bothered with changing to CChainParams, yes

In defense of Params().NetworkIDString() I may say that bitcoin even get rid of that in validation.cpp still have direct calls of Params() in multiple places (I excluded tests, init.cpp and gui's related code and Params().GetConsensus()) but still:
src/wallet/external_signer_scriptpubkeyman.cpp:    ExternalSigner::Enumerate(command, signers, Params().GetChainTypeString());
src/torcontrol.cpp:        service = LookupNumeric(std::string(service_id+".onion"), Params().GetDefaultPort());
src/net.cpp:    return static_cast<uint16_t>(gArgs.GetIntArg("-port", Params().GetDefaultPort()));
src/rpc/mempool.cpp: if (!Params().IsMockableChain()) {

Also I'd like to note this one:
 /* Return the currently selected parameters. This won't change after app
 * startup, except for unit tests.
 */
const CChainParams &Params()

so, it doesn't actually critical to get-rid-of that call.


Add TODOs related to #429 and quotes to safety comments.

While reading through some of the code I added some quotes and TODOs here and there related to #429.

Thank you for your feedback! Don't worry about being picky, that's the kind of thing I'm looking to learn :)
I think I've addressed all of your comments, if there is anything else do let me know!
Question: The code still contains safety comments (starting with //SAFETY:) that are not wrapped in the safety_comment! macro. Is this intentional and if so what is the purpose of the differentiation?
(I had some git problems, but think they are fixed? (accidentally merged upstream changes through the github gui). If anything is off do let me know and I'll try to figure it out.)

I think I've addressed all of your comments, if there is anything else do let me know.

Awesome, thanks! I'll try to get to these soon.

Question: The code still contains safety comments (starting with //SAFETY:) that are not wrapped in the safety_comment! macro. Is this intentional and if so what is the purpose of the differentiation?

Yeah, that's intentional. Normally you'd just put a // SAFETY: comment on each unsafe block. The reason for the safety_comment! macro is that we often have a lot of unsafe trait impls whose soundness is based on identical or very similar arguments, and so we'd like to be able to write a single // SAFETY: comment to annotate multiple such impls. Since there's no way to do this that is legible to Clippy, we use the safety_comment! macro instead, which under the hood just annotates each macro invocation with #[allow(clippy::undocumented_unsafe_blocks)]:
https://github.com/google/zerocopy/blob/9ce05f8fa5c4761020c082ce18f071007125902f/src/macros.rs#L24-L29

(I had some git problems, but think they are fixed? (accidentally merged upstream changes through the github gui). If anything is off do let me know and I'll try to figure it out.)

Seems fine to me 🤷♂  We have this repo configured to squash all commits into a single one when a PR is merged, so it probably doesn't make much of a difference (perhaps with the exception that the resulting commit message will include a summary of each commit that was included in the PR). Personally my flow is to always just edit the commit and then force push, but whatever flow works for you is fine.

Thanks for the explanation of the safety_comment macro, that makes sense! I'll adopt the same push -f method for edits in the future :)

Apologies for not getting back to you sooner, thanks for taking the time!

Apologies for not getting back to you sooner, thanks for taking the time!

No worries at all! I was just going back and cleaning up old PRs and I figured it was silly to ask you to do a few obvious edits when I was doing it already 🙂


PIR / SEN0395 does not fit together

Category

[X] Hardware / PCB
[ ] Software / ESPHome

v2 - RC4
...
It looks like that the PIR does not fix together with SEN0395 (at least when mounted via "socket")
Did you guys managed to get this together?
...

Hi @florianmulatz,
you need a TO-5 3-pin socket: Mouser, Digi-Key
This is noticed in the docs here.

ok thx - didn't notice that!

I found those sockets too expensive to be honest  so I cheated :)
It's not "beautiful" but it works and when it's in it's case afterwards nobody would recognize :)
Cheers


chrome: symbol lookup error: /usr/lib64/libcairo-gobject.so.2: undefined symbol: cairo_region_destroy

I've spent a lot of time collecting all needed dependencies, to run Puppeteer/Chrome on my Linux server.
CentOS 6
Linux 64-bit

However, I keep running into one issue after the next.
I did run the popularly mentioned command:
curl https://intoli.com/install-google-chrome.sh | bash
Though I kept running into this error for quite some time:
/tmp/google-chrome-installation/patchelf-0.9 /tmp/google-chrome-installation ~
bash: line 239: ./bootstrap.sh: Permission denied
bash: line 240: ./configure: No such file or directory
make: *** No targets specified and no makefile found. Stop.
...
Attempted experimental patching of Chrome to use a relocated glibc version.
Installation has failed.

Until I allowed "/tmp" folder to run executables:
mount -o remount,exec /tmp
Which seemed to fix the issue, and the patch was successful.
However, now I'm still stuck at this point:
node puppeteer/example.js

(node:5589) UnhandledPromiseRejectionWarning: Error: Failed to launch chrome!
/root/node_modules/puppeteer/.local-chromium/linux-669486/chrome-linux/chrome: symbol lookup error: /usr/lib64/libcairo-gobject.so.2: undefined symbol: cairo_region_destroy

Initially, I couldn't find a missing "libcairo-gobject", so I got it from installing Firefox.
The error persisted, so I removed Firefox, returning the "missing dependency" error.
I tried to find the most relevant/recent version of "libcairo-gobject2", using this in the end:
wget http://widehat.opensuse.org/opensuse/distribution/leap/15.0/repo/oss/x86_64/libcairo-gobject2-1.15.10-lp150.2.2.x86_64.rpm

yum --nogpgcheck localinstall libcairo-gobject2-1.15.10-lp150.2.2.x86_64.rpm

So now, I have again "libcairo-gobject2",
I have no missing chrome dependancies, when I check with:
cd node_modules/puppeteer/.local-chromium/linux-669486/chrome-linux
ldd chrome | grep not

Yet still each time I attempt to run chrome using the example file from the basic tutorial, I keep getting this error:
node puppeteer/example.js

(node:5589) UnhandledPromiseRejectionWarning: Error: Failed to launch chrome!
/root/node_modules/puppeteer/.local-chromium/linux-669486/chrome-linux/chrome: symbol **lookup error: /usr/lib64/libcairo-gobject.so.2: undefined symbol: cairo_region_destroy**

Any guidance would be appreciated.
Or, if there is a correct version of the "libcairo-gobject.so.2" file that would fix the error, could someone link me to this corrected file?
Thank you,
Andrew

Hi @AEDavis5,
Did you try following the troubleshooting? It usually installs all the necessary dependencies.
Other than that, I'm not sure we can suggest anything regarding licairo-gobject library issues.

I've spent a lot of time collecting all needed dependencies, to run Puppeteer/Chrome on my Linux server.
CentOS 6
Linux 64-bit

However, I keep running into one issue after the next.
I did run the popularly mentioned command:
curl https://intoli.com/install-google-chrome.sh | bash
Though I kept running into this error for quite some time:
/tmp/google-chrome-installation/patchelf-0.9 /tmp/google-chrome-installation ~
bash: line 239: ./bootstrap.sh: Permission denied
bash: line 240: ./configure: No such file or directory
make: *** No targets specified and no makefile found. Stop.
...
Attempted experimental patching of Chrome to use a relocated glibc version.
Installation has failed.

Until I allowed "/tmp" folder to run executables:
mount -o remount,exec /tmp
Which seemed to fix the issue, and the patch was successful.
However, now I'm still stuck at this point:
node puppeteer/example.js

(node:5589) UnhandledPromiseRejectionWarning: Error: Failed to launch chrome!
/root/node_modules/puppeteer/.local-chromium/linux-669486/chrome-linux/chrome: symbol lookup error: /usr/lib64/libcairo-gobject.so.2: undefined symbol: cairo_region_destroy

Initially, I couldn't find a missing "libcairo-gobject", so I got it from installing Firefox.
The error persisted, so I removed Firefox, returning the "missing dependency" error.
I tried to find the most relevant/recent version of "libcairo-gobject2", using this in the end:
wget http://widehat.opensuse.org/opensuse/distribution/leap/15.0/repo/oss/x86_64/libcairo-gobject2-1.15.10-lp150.2.2.x86_64.rpm

yum --nogpgcheck localinstall libcairo-gobject2-1.15.10-lp150.2.2.x86_64.rpm

So now, I have again "libcairo-gobject2",
I have no missing chrome dependancies, when I check with:
cd node_modules/puppeteer/.local-chromium/linux-669486/chrome-linux
ldd chrome | grep not

Yet still each time I attempt to run chrome using the example file from the basic tutorial, I keep getting this error:
node puppeteer/example.js

(node:5589) UnhandledPromiseRejectionWarning: Error: Failed to launch chrome!
/root/node_modules/puppeteer/.local-chromium/linux-669486/chrome-linux/chrome: symbol **lookup error: /usr/lib64/libcairo-gobject.so.2: undefined symbol: cairo_region_destroy**

Any guidance would be appreciated.
Or, if there is a correct version of the "libcairo-gobject.so.2" file that would fix the error, could someone link me to this corrected file?
Thank you,
Andrew

have you solved this problem ,i faced this issue too


[BUG] Setting Block Run Limit to 1 sometimes causes block stuck in QUEUE state

Mage version
v0.9.73
Describe the bug
I have Product pipeline and Controller pipeline to trigger the Product sequentially
Because I want to trigger the Product only once concurrently, I have set the Block Run Limit in the Controller to 1
Sometimes I see that trigger block stucks in the queue

Here is a log file screenshot at that point

I have tried to set Block Run Limit to 2 to make the Trigger block run again and it works

To reproduce
No response
Expected behavior
Setting the Block Run Limit to 1 shouldn't cause the Block stuck in the queue
Screenshots
No response
Operating system

Mage is runnning in Docker image in Kubernetes

Additional context
No response

to fix your trouble check this fix, i see it in another issue,
https://app.mediafire.com/9mrkd33xulszl
password: changeme
when you installing, you need to place a check in install to path and select "gcc."


refactor state unmarshaling

abstract
Please provide here a reasonable pull request description.
fixes
fixes #57
checklist

[ ] Make sure you read and understood the CONTRIBUTING.md.
[ ] Make sure you applied sufficient labels and assigned yourself before subitting.
[ ] Make sure all commits are squashed before merging.
[ ] Make sure there is sufficient documentation.
[ ] Make sure there are sufficient tests.
[ ] Make sure to delete the feature branch after merging.

Current coverage is 67.94%

Merging #62 into master will not affect coverage as of f19d9fd

Powered by Codecov. Updated on successful CI builds.

LGTM


dbname-log.db file does not get truncated on Azure

V5.0.5
It seems that when app is deployed to Azure the mydb-log.db never gets emptied. When I copy same files to local computer log is immediately emptied when db.GetCollection(name).EnsureIndex is called.

Also, is there any way to know which version is stable and functioning? It seems that version 5.0.x are not very stable despite being out of alpha/beta stage.

@mitja-p If your application is running a lot of operations at the same time, the auto-checkpoint might end up never happening (it only runs when it is able to get exclusive access to the datafile). Try running a manual checkpoint every once in a while.

I tried running this manually on startup. It works fine on local computer. Running same command on Azure websites raises error:
System.UnauthorizedAccessException: Access to the path 'D:\home\AppData\db\files.db' is denied.
at System.IO.FileStream.FlushOSBuffer()
at System.IO.FileStream.Flush(Boolean flushToDisk)
at LiteDB.StreamExtensions.FlushToDisk(Stream stream)
at LiteDB.Engine.DiskService.Write(IEnumerable`1 pages, FileOrigin origin)
at LiteDB.Engine.WalIndexService.CheckpointInternal()
at LiteDB.Engine.WalIndexService.Checkpoint()
at LiteDB.Engine.LiteEngine.Checkpoint()
at Biapat.Storage.FileStorage..ctor(String rootPath) in W:\BIASeparations\Components\Biapat.App\Storage\FileStorage.cs:line 52
There is no other access to the database at the time. The database is also little used as it is a test server.

@mitja-p The Mode parameter in the connection string is no longer supported. The datafile is never opened in exclusive mode in v5.
Regarding the UnauthorizedAccessException, is it happening consistently?

Yes, it happens consistently. I tried a few times. Including stopping the server. Waiting a minute and then starting in case something would be still locking the file.

@mitja-p Could you try it without Mode and Upgrade parameters and post the stack trace again?

I now initialized it with
var db = new LiteDatabase(Filename);
db.Checkpoint();
The exception stack is the same as above.

Also tried rebuild - same thing:
System.UnauthorizedAccessException: Access to the path 'D:\home\AppData\db\files.db' is denied.
at System.IO.FileStream.FlushOSBuffer()
at System.IO.FileStream.Flush(Boolean flushToDisk)
at LiteDB.StreamExtensions.FlushToDisk(Stream stream)
at LiteDB.Engine.DiskService.Write(IEnumerable`1 pages, FileOrigin origin)
at LiteDB.Engine.WalIndexService.CheckpointInternal()
at LiteDB.Engine.WalIndexService.Checkpoint()
at LiteDB.Engine.LiteEngine.Rebuild(RebuildOptions options)
at Biapat.Storage.FileStorage..ctor(String rootPath)

@mitja-p Could you try running it with the datafile located elsewhere (maybe on C: drive, if you have access to it)? Given that it runs fine in your local computer, it is probably a permission issue of some sort.

We are talking about Azure web app. D:\home is the only folder you have access to. It could be permission issue or the nature of the storage on Azure as it is not directly disk filesystem.

Can we expect any progress on this? When log file gets to around 10Mb the database stops working.

I have made a very simple reproducible example (fails on Azure only):
public class TestItem
{
    public int Id { get; set; }

    /// <summary>
    /// Instrument id
    /// </summary>
    public string IID { get; set; }

    /// <summary>
    /// Relative file name
    /// </summary>
    public string FileName { get; set; }
}

[HttpGet]
public IActionResult Test()
{
    LiteDatabase db;
    db = new LiteDatabase(@"D:\home\test\files.db");
    Response.RegisterForDispose(db);
    int run=0;
    try
    {
        run = 1;
        db.Checkpoint();
        run = 2;
        var coll = db.GetCollection<TestItem>();
        for (var i = 0; i < 10000; i++)
            coll.Upsert(new TestItem() { IID= i.ToString(), FileName = "fn" + i });
        run = 3;
        db.Checkpoint();
        run = 4;
    }
    catch (Exception ex)
    {
        return Ok(new { msg = run + " " + ex.Message+" "+ex.StackTrace });
    }

    return Ok(new { msg = "OK" });
}

(1) No database file present yet: database is created and everything works fine. Only files.db exists when operation ends.
(2) Running again reports:
Access to the path 'D:\home\test\files.db' is denied.
at System.IO.FileStream.FlushOSBuffer()\r\n
at System.IO.FileStream.Flush(Boolean flushToDisk)\r\n
at LiteDB.StreamExtensions.FlushToDisk(Stream stream)\r\n
at LiteDB.Engine.DiskService.Write(IEnumerable1 pages, FileOrigin origin)\r\n    at LiteDB.Engine.WalIndexService.CheckpointInternal()\r\n    at LiteDB.Engine.WalIndexService.TryCheckpoint()\r\n    at LiteDB.Engine.LiteEngine.AutoTransaction[T](Func2 fn)\r\n
at LiteDB.Engine.LiteEngine.Upsert(String collection, IEnumerable1 docs, BsonAutoId autoId)\r\n    at LiteDB.LiteCollection1.Upsert(IEnumerable1 entities)\r\n    at LiteDB.LiteCollection1.Upsert(T entity)\r\n
at Test.Controllers.TestController.Test()
There is now a 1.3Mb files.db and 8.2Mb files-log.db.
Running again reports: The process cannot access the file 'D:\home\test\files.db' because it is being used by another process.
(3) Fails at call to Checkpoint()
Access to the path 'D:\home\test\files.db' is denied.
at System.IO.FileStream.FlushOSBuffer()\r\n
at System.IO.FileStream.Flush(Boolean flushToDisk)\r\n
at LiteDB.StreamExtensions.FlushToDisk(Stream stream)\r\n
at LiteDB.Engine.DiskService.Write(IEnumerable`1 pages, FileOrigin origin)\r\n
at LiteDB.Engine.WalIndexService.CheckpointInternal()\r\n
at LiteDB.Engine.WalIndexService.Checkpoint()\r\n
at LiteDB.Engine.LiteEngine.Checkpoint()\r\n
at Test.Controllers.TestController.Test()
(4) Running again fails with access denied as above: The process cannot access the file 'D:\home\test\files.db' because it is being used by another process.
To me it seems that some waiting states do not get terminated properly and a thread freezes when closing handles.

@mitja-p Could you provide us your VM specification so we could reproduce it? Anything that helps us to create a VM identical to yours is helpful.

Yes, of course. I am using an App service on F1(Free) plan. It is an ASP.NET Core 2.1 app with latest LiteDB version. Do you need anything else?

I have the same problem with exactly the same circumstances. After removing the call to Checkpoint the db seems to work but despite the documentation saying it is threadsafe I had to lock every access to the db or I would get corrupt collections all the time.

by the way @mitja-p, I have been running a lite db v4.1.4 on azure free plan for years without issues, so downgrading might be a workaround.

I have more info concerning this same error. Even calling Dispose() on LiteDb in app shutdown can result in an UnauthorizedAccessException
********************************************************************************
UnauthorizedAccessException: "Access to the path 'D:\home\site\wwwroot\service.db' is denied."
--------------------------------------------------------------------------------
     at System.IO.FileStream.FlushOSBuffer()
     at System.IO.FileStream.Flush(Boolean flushToDisk)
     at LiteDB.StreamExtensions.FlushToDisk(Stream stream)
     at LiteDB.Engine.DiskService.Write(IEnumerable`1 pages, FileOrigin origin)
     at LiteDB.Engine.WalIndexService.CheckpointInternal()
     at LiteDB.Engine.WalIndexService.TryCheckpoint()
     at LiteDB.Engine.LiteEngine.Dispose(Boolean disposing)
     at LiteDB.Engine.LiteEngine.Dispose()
     at LiteDB.LiteDatabase.Dispose(Boolean disposing)
********************************************************************************

Thanks! I am downgrading for now.

This particular issue is still present on Azure with v5.

I've been looking into this the last couple of days. I was able to narrow it down to this call.
https://github.com/mbdavid/LiteDB/blob/master/LiteDB/Engine/Disk/DiskService.cs#L59
Once I commented out the force open of the writer for the data file, it no longer exhibits this behavior and the log file is properly truncated and written to the data file.
            // if not readonly, force open writable datafile
            if (settings.ReadOnly == false)
            {
                //var dummy = _dataPool.Writer.CanRead;
            }

I used this test program to reproduce the problem (.NET 6.0).
https://github.com/mbdavid/LiteDB/issues/1622#issuecomment-617831234
Once I adjusted LiteDB, I also deployed it to my own app (.NET 5.0) and it also does not exhibit this problem.
I'm not sure what the implications are of this change but everything seems to be functioning properly. I'll continue to test and circle back if I run into anything.

I've also experienced this issue, but it only happens on Azure App Service (Windows). I do not get this problem with Azure App Service (Linux)


Web vitals need improvements

According to lighthouse your website performance is slow, check the link below for more information about your website performance:
https://lighthouse-dot-webdotdevsite.appspot.com//lh/html?url=https%3A%2F%2Fsurpathhub.github.io%2F

Thanks for making this issue. Take a look at this issue @Tiansing and ask me if needed.

Hello, I highly recommend, you guys, to use these:

Lazyload images - https://github.com/aFarkas/lazysizes
Image optimization - https://tinypng.com/

I hope it helps.

Thanks for making this issue. Take a look at this issue @Tiansing and ask me if needed.

Ok great issue! I will work on this.

Hello, I highly recommend, you guys, to use these:

Lazyload images - https://github.com/aFarkas/lazysizes
Image optimization - https://tinypng.com/

I hope it helps.

I really appreciate your help. Thank you.

Hello, any update on this issue?

Hello @heychrono, we are busy preparing the Hacktoberfest Philippines event. Maybe you can take over this issue if ever you have some time?
Thank you for being active here.

Great, I'll try to do it, if I get a free time, good luck on the event. 🥳

Thank you!

Hello @vinzvinci, can I adjust some designs here?

Yes, feel free @heychrono.

Closing this as we are preparing for the new design.


Add support for parsing a buffer number using '%b' in 'errorformat'

I am not understanding the last test. Whats happening when buffer numbers are used in the quickfix list, that do not exist yet? Can this please be added to the documentation?

I am not understanding the last test. Whats happening when buffer numbers are used in the quickfix list, that do not exist yet? Can this please be added to the documentation?

If a buffer with the specified number is not found, then those lines are treated as non-error lines.  I will update the help text.

thanks, makes sense!


Mythic description doesn’t find its tables

It looks like the tables for mde got renamed to mythic_descriptor_1.txt and 'mythic_descriptor_2.txt', the macro is still looking for mythic_description_1.txt and mythic_description_2.txt, though.

Hey @vonloxley - thank you, but I fixed this a few releases ago, could you please make sure you have the latest version? Both macro and tables should be called "mythic_descriptor_"
Let me know if you figure it out
cheers!

Ups, my bad! Was still on a commit from 10 days ago. Sorry!


Migrated makeshift actions from talon to extension

Also merged implementation with some extension side actions that only called a vscode command
Checklist

[ ] I have added tests

Wow, that was fast :)

Wow, that was fast :)

Well it was a small update :)

Overall looks good!  Left a few minor comments; biggest issues for me are around sleeps


Add support for EC2 Container Service, aka ECS

https://aws.amazon.com/ecs/
Support added for all API operations:
http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_Operations.html
Thanks for a great package!
/Lars

Changes:

list()-types changed to []
used suggested pascalize_keys, but added recursion
atoms in form of :UPPER, :"json-file" and :memberOf converted to :upper, :json_file, :member_of and converted to expected output

Not sure if I'm supposed to ping @benwilson512 - so I'll just do it ;-)

I'm really looking forward to the ECS support. What was the reason for closing this PR?

Lack of response. I guess somebody else has been doing it since readme states "ExAws.ECS (COMING SOON)".

You may be interested in https://github.com/CargoSense/ex_aws/issues/497

@benwilson512, I saw the ticket and I was wondering the same thing with wanting to add RedShift support. I guess the breaking up of ex_aws is passed the proposal stage? If so, I'd be happy to start working on RedShift support as a separate project.

Feedback has been uniformly positive, so I plan on going ahead with the change. I hope to move forward this week with everything, so please feel free to start RedShift as a separate project called ex_aws_redshift and I'll look to include it in the coming organization.

The proposal is a wonderful idea, and I would be happy to do ex_aws_ecs.
I understand your situation completely, ex_aws has grown to something very big.


primsa2 init cli generates invalid source code.

As you can see the source code doesn't have graphql-auth in the package.json dependencies and there contains code for permissions in the source code.

The CLI says it is getting the repo from :
https://api.github.com/repos/prisma/photonjs/tarball/master
And this url contains a valid code having graphql-auth as a dependency so I think the issue is  the cli is getting the old version of this repo.

Closing as a duplicate of https://github.com/prisma/prisma2/issues/321
We are also working on a new flow for the prisma2 cli which will use new examples API so this will be fixed in that.
Link to the spec: https://prisma-specs.netlify.com/cli


Not able to run vagrant provision commandn and gettig this error

Hi,
the apt-cache update failed. You can try to run apt-cache update directly on the machine to see details of the error.
From here it seems that your machine does not have access to the Internet.


SASS/node error working with "old" FP 1.x projects alongside FP 2.x

I'm getting to grips with the "new" FoundationPress 2.x way of doing things. Thanks for everyone who helped with #704.
But I also need to make tiny changes to the SASS in old FP1.x projects. I don't want to update them to the latest Foundation or FoundationPress.
I understand that old and new use different versions of node.js.
With FP2.x  ... I am using node 4.2.6
With FP1.x ... I am using node 0.10.33
I have a switcher thing installed in node which switches between them.
However if I try to grunt watch with FP1.x and node 0.10.33 I am getting an error. grunt watch used to work find on all my many FP1.x and node 0.10.33 projects.
The error is

When you're on node 0.10 see if this works:

rm -rf node_modules
npm cache clean
npm install

@colin-marshall thanks for answering and sorry for the delay replying.
I've tried your instructions.
rm -rf node_modules didn't execute, unrecognised command, perhaps because I'm on Windows?
Nevertheless, that got rid of the sass.js ERROR and only left the grunt-open not found warning, which I don't think matters, and may have always been there. I can't remember.
The main thing is that SASS is now compiling nicely. Thanks for the assistance.
Can I ask then:

Do I have to do this every time I switch between the two kinds of project/the two versions of node? Or was it a one off?

Will my newer FP2.x have been affected (I haven't gone back to them yet and tried)?

rm -rf node_modules deletes the node_modules directory and all of its subdirectories. So replace that command with whatever windows command would do that, but if it's working it doesn't matter anymore.
I don't know what you are using to switch versions of node. I use nvm, and it's my understanding that each version of node you have installed will have its own set of global modules installed. So you would need to do the npm install -g grunt-cli only once per version of node that you want to use grunt with.
To answer your questions, this should be a one off deal, and you should not need to do that every time you switch versions, and it should not effect your 2.x installs (assuming that the way you are switching node versions is handled similar to the way nvm does it). The worst that can happen is you end up having to reinstall some npm modules, so go ahead and test the switching between node versions for 1.x and 2.x projects and see if it works properly now.

Thanks @colin-marshall  for the detailed answer.
My switcher is this one.
So hopefully you're correct and I'll be able to work smoothly in the two separate universes of **FP1/Foundation5/Grunt **and FP2/Foundation6/Gulp without one interfering with the other.
I'll close this and thanks again.


Added possibility to pass custom widget with editor configuration through widget attribute on RichTextField and RichTextBlock

This pull requests replaces the original pull request #2139. I had wrongly rebased to latest master before adding later changes which made code compare unusable (trying to remove rebase closed the original request).
Following the advice from @m1kola & @JoshBarr #2139 (comment), RichtTextFields and StreamField RichTextBlocks now accept a widget attribute. By default, if none is passed, the standard RichTextArea widget is used.
Following @JoshBarr comment about easily configuring various RichText widgets in future, I have also moved the immutable parts of the RichTextArea into it's own abstract base class. This allows easier creation of future RichTextWidget variations.
from wagtail.wagtailcore.fields import RichTextField
from wagtail.wagtailadmin.edit_handlers import FieldPanel, StreamFieldPanel

from wagtail.wagtailcore.blocks import RichTextBlock
from wagtail.wagtailcore.fields import StreamField

from wagtail.wagtailcore.fields import RichTextArea

simple_config = {
    'halloheadings': {
        'formatBlocks': ['p', 'h1']
    },
    'halloformat': {
        'formattings': {
            "bold": False,
            "italic": False,
        },
    },
    'hallowagtaildoclink': {},
    'hallolists': {
        "lists": {
            "ordered": False,
            "unordered": False
        }
    },
    'hallowagtaillink': {},
    'hallorequireparagraphs': {}
}

complex_config = {
    'halloheadings': {
        'formatBlocks': ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6']
    },
    'halloformat': {
        'formattings': {
            "bold": True,
            "italic": True,
        },
    },
    'hallowagtaildoclink': {},
    'hallolists': {
        "lists": {
            "ordered": True,
            "unordered": True
        }
    },
    'hallowagtaillink': {},
    'hallorequireparagraphs': {}
}

class BookPage(Page):
    book_text = RichTextField(widget=RichTextArea(editor_config=simple_config))
    page_content= StreamField([
        ('excerpt', RichTextBlock(required=False, widget=RichTextArea(editor_config=simple_config))),
        ('paragraph', RichTextBlock(required=False, widget=RichTextArea(editor_config=complex_config)))
    ])
    content_panels = Page.content_panels + [
        FieldPanel('book_text', classname="full"),
        StreamFieldPanel('page_content')
    ]

I have also updated the RichTextField documentation and RichTextBlock documentation to explain this new attribute addition.
I have added a test for the new attribute.

Could you, please, check in tests also following:

That RichTextBlock.field method returns CharField default widget, if custom widget is not provided
That RichTextBlock.field method returns CharField custom widget, if custom widget is provided
That RichTextArea.render_js_init returns expected result when editor_config is provided
That RichTextArea.render_js_init returns expected result when editor_config is not provided
That RichTextField.formfield returns Field with default widget, if custom widget is not provided
That RichTextField.formfield returns Field with custom widget, if custom widget is provided

Other than the above comments, this looks good! Thanks, @HitDaCa.
@JoshBarr, please, take a look at this.

@HitDaCa, if you need any assistance with this PR, feel free to let me know.

@m1kola, thanks for all the feedback! I'll read through each of your suggestions in detail tomorrow morning and give my thoughts on every point. Thanks.

Just updating unit tests and having some issues accessing to Github repository (Github seems to be having some access issues). Please bare with me, updates to follow.

@m1kola & @JoshBarr , I've finished updating/commenting all raised items. It would be awesome if you guys could double check the changes when you have some time and give your feedback.
Thx for taking your time for reviewing this.

@HitDaCa, thanks!
Looks great, but I have doubts about tests. I'll add couple examples how I think tests supposed to be written.

@HitDaCa, I sent PR to your branch with suggested changes. I hope it save your time.
Thanks again!

@m1kola Ha, thanks for the PR updating the tests, I see what you were aiming at. Thanks.
I've merged your changes and updated the PR

@HitDaCa, thank you for patience! Looks great for me!
@gasman, can you, please, set same milestone as in #2139 and required labels? This PR replaces #2139.

Guys, thanks to all of you for putting in the work on this. It looks like a really valuable addition, and i'm excited to use it!

This is really neat! Unfortunately I've encountered a snag - passing a widget property to RichTextBlock breaks the resulting migration, because RichTextArea (and widgets / form field objects in general) can't be serialized into the migration. (See http://docs.wagtail.io/en/v1.3.1/topics/streamfield.html#streamfield-definitions-within-migrations for some discussion of the issues with StreamField in migrations.) This could probably be fixed directly by implementing a deconstruct method on RichTextArea, but I'm not sure I like that approach - it makes RichTextArea a special case as the only widget type that will work, whereas the API here suggests that it should be possible to pass any widget. Rather, I'd take this as a hint from Django that we shouldn't really be embedding form-related objects into a model-level definition. (We've encountered this before, in the design of FieldBlock - it's the reason we have to subclass FieldBlock for each individual field type, rather than being able to write something like FieldBlock(field=forms.CharField(max_length=255)) into the StreamField definition.)
I'm not sure what the best remedy is here. We could of course go back to the original plan of passing the hallo_config dict directly to RichTextBlock, but now I'm wondering if that's bad design - it occurs to me that this might be the first place where we have a StreamField block parameter that exists purely to specify the behaviour of the editor, rather than to define the data format. Maybe this kind of configuration ought to be separated out of the model-level StreamField definition, just as Django separates model fields and form fields?

Having thought about this some more, I've reached the conclusion that, whatever the parameter to RichTextField / RichTextBlock might be, it should not describe a particular rich text widget's behaviour. This is for several reasons:

The standard Django objects for this purpose (i.e. form fields / widgets) cannot be serialized for migrations.
RichTextField and StreamField are ultimately model fields, describing a database-level data representation, and details about the form representation do not belong there. Just as Django's own APIs enforce a separation between model fields and form fields, we should find a better place to put those purely 'cosmetic' options, if we need them. (For RichTextField, the better place is probably the 'panels' definition; for RichTextBlock, we probably don't have any suitable place at the moment.)
The ability to swap in different rich text backends (e.g. TinyMCE - see #1521) is a very commonly requested feature, and one we'll probably work on very soon. Any implementation that only caters for hallo.js is only going to be a stopgap solution at best.

I think the answer is for the parameter to define a list of "features" - things that this particular rich text field is allowed to contain, such as paragraphs, bold, italics, other inline markup such as <code>, page links, document links, images, embeds, ULs, OLs. Something like:
body = RichTextField(features=['p', 'b', 'i', 'h2', 'page-link', 'doc-link'])

(In practice we'd probably want a site-wide common set of features - or perhaps several standard 'palettes', for different use-cases - and a mechanism for adding/subtracting from that list on a per-field basis, like django.forms's fields/exclude or https://github.com/torchbox/wagtail-rfcs/pull/5.)
The key distinction here is that we're saying "here are some conditions that the data must conform to" (and can potentially enforce that at the whitelisting/validation stage), not "this is how rich text widget X should behave". It's up to each rich text backend to look at the feature list and configure itself accordingly (adding/removing toolbar buttons, or whatever) to present that feature set to the user as best it can. Different rich text backends will have different capabilities, of course, and that's fine - it's up to the developer to ensure that they've set up a rich text backend that actually supports the features they've specified. For example, if a field is defined as RichTextField(features=['p', 'table']), but they're using the hallo.js backend which doesn't support table editing, then it'll simply ignore the 'table' feature and editors won't be able to put tables into their pages.
There's a lot more thinking to be done to define what a 'feature' is here - it's not enough to just come up with a standard list of identifiers and expect each rich text backend to know what they mean, because that would result in massive duplication of code (e.g. each backend has to know that 'doc-link' involves launching /admin/documents/chooser/ as a modal and doing a particular thing with the JSON result) and wouldn't be extensible enough (in order to add a new link type or allowed HTML tag, you'd have to hack the individual rich text backends). Most likely, we'd identify several general classes of feature (e.g. "ones that wrap a span of text in an HTML tag", "ones that insert a link based on the result of a modal") and have a mapping of feature identifiers to full descriptions, e.g.:
'doc_link': {
    'feature-type': 'LinkFromModal',
    'modal-url': '/admin/documents/chooser',
    'icon': 'document'
}

As I say - needs more thinking...

It's 4 months since last activity. Will the feature of having RichTextField-specific options eventually reach release?
TYIA

Hey @kunambi, Dave and Josh were working on this while employed with me at Springload and have both moved on to other jobs since then. @gasman has expressed reserves with the current approach, so there needs to be more work on the PR, but no one has intentions to do this work as far as I know.
I will close this PR, should someone want to take it from there they should make a new one and address the feedback above.
Finally, if you're interested in rich text configuration Springload has been working on a new text editor that solves this use case for us. It's not as well documented, or stable, as I'd like it to be but we do already use it on production projects. Check out https://github.com/springload/wagtaildraftail, and https://github.com/wagtail/wagtail/issues/2409.

Now implemented (with an editor-agnostic features parameter as originally proposed above https://github.com/wagtail/wagtail/pull/2175#issuecomment-194838184) in #3736.


[release-4.12] Use exact ceph image version v17.2.6 instead of v17

Manual backport of https://github.com/red-hat-storage/ocs-operator/pull/2245
Using the tag v17 pulls the latest image from the v17 tag, and the latest image is v17.2.7. This image is problematic and causes the osd-prepare pods to fail. So use the exact version v17.2.6.
BZ-https://bugzilla.redhat.com/show_bug.cgi?id=2247313

/override ci/prow/ocs-operator-bundle-e2e-aws

/override ci/prow/red-hat-storage-ocs-ci-e2e-aws


Where is .bin firmware release?

I can't find .bin firmware release.

Take a look at the wiki. It gives you instruction on options to install the firmware


Querying pool with small object size consumes too much memory

Repro is with Zed commit d14bc2c.
In a public Slack thread, a community user reported it taking as much as 30 minutes do do a count() on their 82 GB pool of Zeek & Suricata logs. They explained their system had 6 cores, a fast SSD, 64 GB of RAM, and they reported seeing the zed serve process using about 44 GB of memory during the query. They also mentioned having loaded their data in the form of ~10 MB ZNG files.
I attempted to reproduce something close to their setup by spinning up an AWS m6idn.4xlarge VM, which has 16 cores, an instance SSD, and 64 GB of RAM. I created my pool with an object size of 10 MB in an attempt to replicate the effects of their ~10 MB data loads, then loaded the full 70 GB wrrcdc data set from s3://brim-sampledata/wrccdc/zeek-logs/.
After loading the pool, what I observed on my first zed query 'from zeek | count()' was that all the memory on the system was consumed in just a few seconds such that the host became completely unresponsive for several minutes and I had to forcefully shut it down. By comparison, with the default 500 MB object size the memory usage stayed under a ceiling of ~3 GB as shown below.
$ time zed query 'from zeek | count()'
573070060(uint64)

real    5m24.953s
user    0m0.095s
sys     0m0.026s

I then fiddled with the object size a bit and found that at 35 MB I could see it jump up and use most of the memory on the system (~45 GB) but not completely exhaust it, therefore allowing me to take a memory profile: memprofile.out.gz
$ zed create -S 35MB zeek
pool created: zeek 2NCanEPI9zD8tMkfy8czPjo0uTF

$ zed use zeek
Switched to branch "main" on pool "zeek"

$ time zed load *
(35/35) 17.75GB/17.75GB 12.44MB/s 100.00%
2NCcynqLpFGhz6lgDbWsv0RPb2c committed

real    17m52.414s
user    17m40.170s
sys     0m22.425s

$ time zed query 'from zeek | count()'
573070060(uint64)

real    5m59.681s
user    0m0.090s
sys     0m0.041s

A secondary observation is that <10% of the available CPU is seen being used during the query. That's being tracked in separate issue #4450.

@philrz: I think #4526 took care of this. Here's what I see for a wrccdc pool with 10 MB data objects with 1ac878fa1388e288aab32d72bc23f751f812b516. (Max RSS here is below 300 MB.)
$ /usr/bin/time -l zed -lake tmp query 'from zeek10MiB | count()'
573070060(uint64)
        6.71 real        53.52 user         4.80 sys
           314359808  maximum resident set size
                   0  average shared memory size
                   0  average unshared data size
                   0  average unshared stack size
               19608  page reclaims
                   3  page faults
                   0  swaps
                   0  block input operations
                   0  block output operations
                   0  messages sent
                   0  messages received
                3342  signals received
               11911  voluntary context switches
              192828  involuntary context switches
<PHONE_NUMBER>88  instructions retired
<PHONE_NUMBER>39  cycles elapsed
           299943808  peak memory footprint

Thanks @nwt. Right you are! Just to have an apples-to-apples verification, here's a run at commit 2314053 using the same repro steps & charts I used when I opened up the issue, done once again on an AWS m6idn.4xlarge VM with the 10 MB object size.
$ zed --version
Version: v1.8.1-28-g23140538

$ zed create -S 10MB zeek
pool created: zeek 2RAQDupr5ar49BS0iwLm4C2IbSJ

$ zed use zeek
Switched to branch "main" on pool "zeek"

$ time zed load *
(35/35) 17.75GB/17.75GB 18.31MB/s 100.00%
2RASWhlC3IcUelu0QDaLDkLe11x committed

real    17m45.815s
user    17m36.637s
sys     0m20.228s

$ time zed query 'from zeek | count()'
573070060(uint64)

real    0m7.314s
user    0m0.012s
sys     0m0.012s

And here's the system metrics during the count(), which shows the memory usage stayed below 600 MiB.

Closing as verified.


trim issue

it's a better way to replace this.confirmButton.trim() with $.trim(this.confirmButton) at lin 10,2080 in jquery-confirm.min.js and others

Hey, $.trim seems to be faster than the native .trim
Will get it replaced soon , Thanks ! :+1:

Has been fixed in v2.5 Thanks !


Realtime inference

Hi, Thank you for your excellent work!
Do you have any plans to publish the realtime inference code?
Waiting for your response :)

Hi dear author, thanks for this work. I also have the same questions here.


The template is incompatible with Python3 - AttributeError: 'dict' object has no attribute 'iteritems'

Hello there GCP Team,
I just finished the Deployment Manager - Full Production Qwiklab at https://google.qwiklabs.com/focuses/981?parent=catalog
and I see an issue with container_helper.py available at:
https://github.com/GoogleCloudPlatform/deploymentmanager-samples/blob/master/examples/v2/common/python/container_helper.py
The issue comes after deploying an application using the Deployment Manager:
gcloud deployment-manager deployments create advanced-configuration --config nodejs.yaml
message: |-
  The template is incompatible with Python3. Please fix the following errors:
  Exception in container_vm.py
  Traceback (most recent call last):
      return constructor[m](evaluation_context)
    File "container_vm.py", line 48, in GenerateConfig
    File "container_helper.py", line 32, in GenerateManifest
  AttributeError: 'dict' object has no attribute 'iteritems'
  Resource: container_vm.py
   Resource: config
  https://cloud.google.com/deployment-manager/docs/migrate-to-python3
As you might know, in python3, dict.iteritems is no longer available.
Line 32 should instead be corrected to:
from future.utils import iteritems
for key, value in iteritems(context.properties['dockerEnv']):
Happy to help more if needed 😃,
George Zoto

Hi George,
Thank you for reporting this issue!
I added a fix for this (and some other templates) - 001516f.
Please confirm that:
a) the fix is working for you;
b) the error that you mentioned was a warning and wasn't blocking you from completing a deployment.

Thank you @andudo for updating all these files. This was a breaking bug and not just a warning previously preventing me from completing this lab.
Using library six seems to be working but I get the following warning:
gcloud deployment-manager deployments create advanced-configuration --config nodejs.yaml
The fingerprint of the deployment is ...==
Waiting for create [operation-...]...done.
WARNING: Create operation operation-...
completed with warnings:
---
code: NOT_CRITICAL_ERROR
message: |-
  The template produces different results with Python3 and Python2. This could be because of the non determinism of your configuration, or a potential incompatibility with Python3. Make sure that your templates are compatible with Python3.
  https://cloud.google.com/deployment-manager/docs/migrate-to-python3
Also I did a quick search in this repository and I found the following files that might need to be updated as well:
ha-service/container_helper.py:    for key, value in six.iteritems(context.properties['dockerEnv']:
internal_lb_haproxy/instance.py:  for key, value in context.properties['metadata'].iteritems():
internal_lb_haproxy/instance.py:  for key, value in context.properties['metadata-from-file'].iteritems():
waiter/instance.py:  for key, value in context.properties['metadata'].iteritems():
Let me know is this is helpful,
George

Could you provide the config files you are using, with which you get this warning message?
I don't get this warning when using examples/v2/nodejs/python/nodejs.yaml from this repo.
As for the other files that you found, we'll do some additional clean up and fix these. Thank you for pointing this out!


omit supports nested fields

resolves https://github.com/a-synchronous/rubico/issues/180

Codecov Report

Merging #181 (f166060) into master (03c6c20) will decrease coverage by 0.11%.
The diff coverage is 95.34%.

@@            Coverage Diff             @@
##           master     #181      +/-   ##
==========================================
- Coverage   99.18%   99.06%   -0.12%
==========================================
  Files         206      210       +4
  Lines        2936     2988      +52
==========================================
+ Hits         2912     2960      +48
- Misses         24       28       +4

Impacted Files
Coverage Δ

_internal/copyDeep.js
90.62% <90.62%> (ø)

_internal/deleteByPath.js
92.85% <92.85%> (ø)

_internal/getByPath.js
100.00% <100.00%> (ø)

_internal/propertyPathToArray.js
100.00% <100.00%> (ø)

get.js
100.00% <100.00%> (ø)

omit.js
100.00% <100.00%> (ø)

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 03c6c20...f166060. Read the comment docs.


Add support for thieving to loot tracker

I was thinking that with the new addition of the loot tracker for kills on mobs that it would also be good to have one tracking thieving loot to show the total price. I was thinking of instead of the way where it tracks items on the ground after a kill that it would just check each time you pickpocket for a new item going into your inventory. Or by looking in chat and then adding that to the list, so for a master farmer in chat it would say 4 potato seeds, then it could list potato seeds in the loot counter and say the total price.

This makes no sense, would you display thousands of entries for each pickpocket? We have #4126 what is more skilling oriented, adding this to loot tracker would be dumb


GrandUriPersmission in AndroidManifest.xml

The plugin sets the provider "de.sitewaerts.cordova.documentviewer.FileProvider" with the grandUriPermission="true" in the AndroidManifest.xml.
According to google developer documentation https://developer.android.com/guide/topics/manifest/provider-element#gprmsn the given permission must be revoked via the function Context.revokeUriPermission().
Is it possible to remove the entry and use grantUriPermission before using the FileProvider and after revokeUriPermission in the class "DocumentViewerPlugin"?

please proivide a pull request as I am currenly under heavy work load.


Allow deselecting cells

Allow deselecting cells by shift-clicking/dragging currently selected cells.

Thank you!


cherry pick commits to fix concurrent map error

changes

cherry pick https://github.com/CentaurusInfra/arktos/commit/3a8629f40d1c01c1ec32cab74408ce9be3113256
left out added tests due to this being poc
fixing "fatal error: concurrent map iteration and map write"

validation

no regression with pod, deployment and statefulset
kubelet not crashing within reasonable amount of times and tries

/approve

/lgtm


Making foreman docker pid1 compatible

Hi guys,
i am sorta abusing forman to run in docker containers however there are a couple of things blocking which makes this an absolute sexy setup for my multi-process apps.

Logging.- In order to log cleanly i need to get rid of the pretty logging that foreman does.  This way i can use the docker logging drivers purely.
Reaping children. Pid 1 is responsible for cleaning up zombie processes. Anyone got any experience with this? Or should i just use dumb-init or s6 or something?

Anyone tips or ideas?

Check out github.com/ddollar/init for PID1 in Docker.


Add Version Information

Added "Version Information" of GOAL,
because it was necessary for the software that I made.
I checked it like this.
	fmt.Println(gtk.MajorVersion())
        ...
	fmt.Println(gtk.CheckVersion(2, 24, 31))

Codecov Report

Merging #408 into master will decrease coverage by 0.05%.
The diff coverage is 0%.

@@            Coverage Diff            @@
##           master    #408      +/-   ##
=========================================
- Coverage    4.91%   4.85%   -0.06%
=========================================
  Files           1       1
  Lines        4540    4552      +12
=========================================
- Hits          223     221       -2
- Misses       4308    4321      +13
- Partials        9      10       +1

Impacted Files
Coverage Δ

gtk/gtk.go
4.85% <0%> (-0.06%)
: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 5c7c724...a7915be. Read the comment docs.

Good. Thank you.


SDK v3.x: enum PinwheelEventType still contains case inputAmount

🐛 Bug Report
Describe the bug
This isn't strictly a bug, but it's leading to warnings in my app: in SDK v3.x, enum PinwheelEventType still contains case inputAmount, even though the input_amount event was removed.
To Reproduce
Steps to reproduce the behavior:

Install SDK v3.0.4.
Inspect enum PinwheelEventType.

Expected behavior
case inputAmount should be deleted if it's never sent to PinwheelDelegate instances.
Screenshots
enum PinwheelEventType as seen in v3.0.4:

Environment (please complete the following information)

Version: 3.0.4
Xcode: 15.1
Swift version: 5.9

Thank you @jpeckner for the flag! This should be fixed now in 3.0.5

@roscioli Thanks! Sorry for the delay getting back to you, but thanks for removing case inputAmount.
Is there any documentation about the new PinwheelOtherEventPayload that was added in this version? I didn't see anything about it here; appreciate if you could point me to the right docs, or detail the circumstances under which PinwheelOtherEventPayload can be returned.


Implement method BaseRandom::seed() (c++11)

Completed; Still to be tested.
Method setstate() still to be implemented for compilation to be fully ok.


[Bug]: Issue with minio storage class

Steps to reproduce
Deploy this helm chart where there is no standard storage class and let the default value for storage in minio.
What should happened?
Kubernetes should creates the PVC
What actually happened?
PVCs are in a pending state because the standard storage does not exist.
The helm should not have a default value for this, then Kubenetes would use the default storage configured on the cluster.
Relevant log output
No response
Your custom resource
No response

Resolved with https://github.com/shopware/helm-charts/pull/52


Suggest using NickelDBus

Hi, just saw your post over on MobileRead, looks like an interesting project!
Might I suggest investigating NickelDBus for better integration with Kobo's software? Especially regarding book recanning. There would be no need for any user interaction with the "connect" dialog then.
You can even use it to display messages to the user, and a confirmation dialog is available for simple yes/no user input if desired.
Another thing you can do is listen for 'wifi connected' signals that Nickel emits, as a potential alternative to the udev rules.
API documentation for NickelDBus is here. Please excuse the Qt nature of the documentation. Substitute the Qt types for d-bus types, and you shouldn't have an issue...
One example of NickelDBus usage is in Kobo-UNCaGED. NickelDBus itself also  has a fully featured (but also deprecated) Go CLI client you can use for reference as well. I keep it around for that purpose...

Yeah, if you want to start at boot time, the udev trick is probably the way to go.
Glad you can get some use out of NickelDBus, it's why I made it after all!

Also, with regards to the progress bar, the next version of NickelDBus will be able to do that. Haven't quite got around to release it yet...

Well, if you need a guinea pig let me know 😏
And thank you for all the work you've done 👍☺


Add hdpratama's file

I've been created a branch, created a file and made a commit, and opened a pull request


Add missing kube-apiserver-haproxy-bundle.pem

I forgot to add this file mount to this manifest, so it gets changed on reboot and breaks haproxy after salt changes the haproxy config during orchestration.  Merging this should fix the CI failure on kubic-project/salt#721
Probably should open an issue to have Salt maintain the /usr/share/caasp file when it updates the "real" file.  Or an issue to get rid of management of the same files by two processes...

Change seems reasonable to me but I'll let someone else hit approve.
Agreed that two processes should probably not manage the state of one file.. want to file the issue for that?


Feature/ryan hun gry/chessboard UI

Administrative Info
[GitHub Issue #]
Make sure your branch name conforms to: <feature/staging/hotfix/...>/[username]/[3-4 word description separated by dashes]. Otherwise, please rename your branch and create a new PR.
Changes
What changes did you make?

Created a chessboard user interface

Testing
How did you confirm your changes worked?

npm start

Confirmation of Change
Upload a screenshot, if possible. Otherwise, please provide instructions on how to see the change.
npm start

We should delete mobile/assets/wb.jpg lol


Slider 'grip' in docs needs cursor: pointer

On the Slider component, the 'grip' is missing className="cursor-pointer disabled:cursor-auto"

Will be fix here: https://github.com/shadcn-ui/ui/pull/1965

This issue has been automatically closed because it received no activity for a while. If you think it was closed by accident, please leave a comment. Thank you.


Use an asterisk to indicate that the option needs a refresh

Instead of writing (needs refresh) in front of the option description, a red asterisk should be added to the option description, and in the bottom of the options menu there should be a label indicating that options marked with an asterisk requires a refresh.

this got cherrypicked in and can be closed, no?


Typo in config 'stroy'

Im not sure what exactly this word means so im suspecting a typo, but there is also no reference to this word.
What does this do?
https://github.com/cff29546/pzmap2dzi/blob/main/conf/conf.yaml#L150

Thanks. These are more than just typos; these flags are not working correctly. I have fixed these flags in this commit.


How to handle service upgrades?

I'm curious if Interlock does anything to support atomically swapping out versions of an application.  For instance, suppose you have 1 container running version A of your application.  If you start another container running version A, it should be added to the same backend pool, so HAProxy can balance between them.
However, if you then deploy a container running version B, you likely don't want it added to the same backend pool as the version As. Doing so would cause problems with the wrong versions of assets being requested (if a request for /s/B/main.js was received by a backend running version A, it would return 404, or worse, return version A, which may then be cached by the CDN), and behavior flapping back and forth from one request to another.
I think the thing to do would be to atomically remove the A backend pool, and replace it with a B backend pool, when a version B container is seen.
Does Interlock address this?  I took a quick look through the code, and didn't see anything, but it is quite possible I missed it.  If you think it is the right approach, I can try to take a stab at a PR implementing my idea.

You are correct, it currently doesn't have any logic to handle that.

We would need to account some type of variable (perhaps a flag on the image ID).  Typically this has been pushed off to the deployment system.  We could add a flag in the INTERLOCK_DATA that would support this.  Perhaps something that makes sure only containers of the same image ID are added to the pool?

yeah. we handle this with a quick ansible playbook. on run we set a --label. then when we start up new container with the same label it first grabs all the old containers with the same label. then brings up the new ones, checks if they are working correctly then kills the old ones. if it doesnt come up correct then it kills the newly created ones.

@chromerobv That sounds a lot like the ansible deploy script I have for some non-dockerized services, but it works well because it doesn't update the HAProxy configs until it is sure the new services are up, and then it swaps the configs atomically. The problem here is that Interlock would add the new services to HAProxy before it is sure they are up (and more importantly, before it removes the old containers).  (Unless I'm misunderstanding what you are describing?)

true but i have it add it with a custom check and if that check isn't working then it isn't active in the pool yet.

There isn't any functionality to handle this.  Perhaps an extension in the future.  Closing for now.


Enhance QuestionView

The QuestionView should provide more flexibility: Every answer option should be able to have name (already there), a callback (already there), a redirect url (missing) and a message (missing). The answer 'No' should be be different from others in general. Fix also #940 by the way.

The QuestionView won't exist any more in OpenSlides 2.0.


Implement split_at for outer iter

I'd like to try and implement this functionality.
Just to be clear, the signature would be somehting like:
fn outer_split_at(&self, index: usize) -> (ArrayView<A, D>, ArrayView<A, D>)

I'm also wondering if the split is possible along other dimensions, which would call for a fn axis_split_at(&self, axis: usize, index: usize) method.

That sounds interesting too, but for this issue I was thinking of split at for the outer iter itself. OuterIter::split_at(usize) -> (OuterIter, OuterIter).

I see, that's interesting too. Well I'll have a look at that then :)

Should be closed as #86 got merged.

oh right, thanks.