Added new footer

Kind of change this PR introduce:
The UI of the footer has been changed with navigation buttons as well. The footer contains the old description and details with new UI and newly added navigation tabs as well you can link the blood buddy's other social media icons as well..
Issue it resolves:
issue no: #133
Github Page Link: https://github.com/abhinav2712/Blood-Buddy/tree/new_footer
Thank you for giving me an opportunity for contributing to Bloody-Buddy 🤩🤩
Do give me feedbacks about my PR
thanks

Follow the PR template or else I'll have to close this PR. @abhinav2712

yeah I changed it, do check


Fix issue with CI build by calling npm install

Fix an issue when running a CI build by adding an npm install call to the
front end build script.
Fixes #8

This will be called every time you build the theme project so hopefully it doesn't cause delays when someone is constantly building. Constantly building within the theme is quite rare though to be honest, as you're generally working with front-end code.

@peterkeating  The alternative which I considered originally is updating the <Theme>.csproj to have the Release configuration build event execute the npm install instead. That approach would get around this issue.

Looks like it's only the release configuration build that calls npm run build anyways, the debug build will call npm run bundle:dev. 👍


Backports of docker quiet flag and pytest-html dependency

Backport docker -q, pytest-html, ssh key creation
Needed for https://github.com/rancher/validation/pull/144

LGTM


Bundle with MSI

Hi,
I am looking for guidance on how I might create an msi with the bundler.
Thank you for your time.

Hi, you can't create an msi with the bundler. You might be able to do so with another tool on top of the bundler.

thank you for the response! I will look into that


Initial Support for Atlas of Worlds and the Essence League

Added the new bases, currency types, and some of the new maps for Atlas of Worlds. The map section is still a work in progress, but as of now it is up-to-date with all known information.
The two Essence entries are guesses, with the item class being presumed to be "Essence" and the "Remnant of Corruption" item being a BaseType.

Wow, thanks. I can't believe I completely forgot quivers.
I'll merge your changes once we know the rest of the changes.


🐛 [BUG]:  connectable prop default should true

Is there an existing issue for this?

[X] I have searched the existing issues and this is a new bug.

Current Behavior
Handle can't connect，because connectable default is false. But I upgraded from 1.15.2 to 1.18.1，they're not compatible.
Expected Behavior
 connectable prop default should true
Steps To Reproduce
No response
Relevant log output
No response
Anything else?
No response

Mh... this would cause a different issue though, as a handle will use nodesConnectable if connectable is undefined.
Though I did notice that handles have connectable as false as their default, which isn't the intended default. The intended default value is undefined which would cause a handle to fall back to the global nodesConnectable value, which is true by default.

Please, describe it in the documentation that in order for custom nodes to work correctly, when setting the Handle, you must put connectable="true" to be able to connect.
Thanks

@tisha077 It's not gonna be required in 1.18.2, this is just an issue because connectable currently falls back to false instead of undefined (see my previous comment)

Fixed with 1.18.2, please update and let me know if you still experience issues :)

@bcakmakoglu works correctly, thanks!


Update 3b.mdx

fix typo

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.


Tmp-40: design way to store global state in db

I managed to:

Use Free monad to construct a tree, as discussed with @flyingleafe;
Find things that appear as GHC bugs (compiler gets stuck from 30+ seconds on one simple file);
Simplify teh tree:
3.1. no Pruned nodes, Pure used instead;
3.2. removed Revision (unique name) fields - used rootHash instead).
Add database interface, cache layer (can function as pure database itself), and simple bindings to RocksDB (however, they need to be covered by tests, despite fitting in one screen).
The cache layer delays all writes, so we can bulk-write all the data at once into RocksDB db backend.
The cache layer also has a sandboxed mode, where it is isolated from any db underneath it.
Make sure everything works under -Wall -Werror.

P.S.: I will now use stylish-haskell and put comments.

As my comments were minor, I'm going to merge it now in order to finish resolving Disciplina dependencies.


fix: disable babel.config.js scanning by default

If it's reasonable and qualified to be a hotfix, please change base to 2.x

@clark Currently dev is in hotfix mode. Thanks for the PR 😍

Codecov Report

Merging #5365 into dev will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##              dev    #5365   +/-   ##
=======================================
  Coverage   96.04%   96.04%
=======================================
  Files          74       74
  Lines        2529     2529
  Branches      640      640
=======================================
  Hits         2429     2429
  Misses         84       84
  Partials       16       16

Impacted Files
Coverage Δ

packages/config/src/config/build.js
100% <ø> (ø)
:arrow_up:

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 eb5cb40...b5a549d. Read the comment docs.


Cherry-pick orca and gpopt commits till 16Jun2022

Important notes:

The file select_parallel_optimizer.out was deleted in the "Initial Cloudberry code dump 2" commit. The reason for this is unknown. Perhaps we should revert the test.

The original "fix incorrect RTE's rellockmode in the process of translating DX" could not be merged without a full understanding of what was fixed, and whether the issue still exists or not. Therefore, I reverted the change.

"Introducing parallel array_agg" added new operations and OIDs that conflict with existing ones. I renamed them to unused OIDs starting at 7200, but I'm not sure if they will be used in future commits.

My PR conflicted with https://github.com/cloudberrydb/cloudberryDB/pull/603. However, honestly, I don't understand what's happening there, so I left everything as is.

Change logs
2nd iteration:
gporca
Apr 2, 2022 Enable GatherMerge plan alternative for non-EstMaster singleton distribution (GPORCA). https://github.com/open-gpdb/gpdb/commit/a34ea2d1e4d09f62af1719a1c0e0e1a27ea2cdf0
Apr 15, 2022 Fix subquery all subquery context (#13377) https://github.com/open-gpdb/gpdb/commit/f5e3a589a06d90c3ecc70840f7781633fe40d9af - conflicts with https://github.com/cloudberrydb/cloudberrydb/commit/22fc48b08eaf48d93e90b9c21462d1604cf4f621
Apr 28, 2022 Remove overload raise function with severity_level (#13376) https://github.com/open-gpdb/gpdb/commit/94db8a1aa833f5d9b0ac91133f2cd2cbf0e60aeb
May 17, 2022 Updated CPhysicalJoin to derive the inner distribution in the case of tainted replicated (#13177) https://github.com/open-gpdb/gpdb/commit/f2ae2b3d64531429beef5c0e4853f805c958ba29 - already done
May 18, 2022 Support Const TVF returning composite type in ORCA (#13422) https://github.com/open-gpdb/gpdb/commit/394c0586db304fb0ec44344d854524be086a4b44
May 25, 2022 [ORCA] Update compute scalar func cost model (#13506) https://github.com/open-gpdb/gpdb/commit/4506e0d84aafcdf7ef8ca12971cff8ca4c0c530b
select_parallel_optimizer.out was deleted in https://github.com/cloudberrydb/cloudberrydb/commit/ee4bb5242770c7ae6f0e2cd41d9df2e7fe0aae6d
Jun 1, 2022 Fix missing Redistribute on top of Split Update with Orca https://github.com/open-gpdb/gpdb/commit/f47b262779de1d940e47e109be0aa483f4494957
Jun 3, 2022 Materialize aggregations in NL Join inner child https://github.com/open-gpdb/gpdb/commit/6420b60dd400b6dfc6c9104204b86c9099597fb6 - conflict with deleted in ee4bb5242770c7ae6f0e2cd41d9df2e7fe0aae6d
Jun 4, 2022 Add support in ORCA for splitting ordered-set agg https://github.com/open-gpdb/gpdb/commit/b90f95280868d892d028a07a3535f4c847db2d2a - conflicts in 7050 oid with https://github.com/cloudberrydb/cloudberrydb/commit/10538adb70ac5e81abbe0cb16a9e1cf66ad808ec and with initial dump - need to fix it
gpopt
Mar 23, 2022 Fix testexpr translation of outer expr (#13296) https://github.com/open-gpdb/gpdb/commit/fd9e35bbeab3c7e0691be8336abda5d89b8f9671
Mar 24, 2022 Fix paramcollid for param in ORCA translator (#13302) https://github.com/open-gpdb/gpdb/commit/d03632b6c0a389944ca50ddc788b1d5fbc2a4308
Mar 28, 2022 Introducing parallel array_agg (#13169) https://github.com/open-gpdb/gpdb/commit/3380a81a7cd21ea2f6dca11c1d75c77404519a21 - conflicts with Initial Cloudberry code dump
Apr 21, 2022 fix incorrect RTE's rellockmode in the process of translating DXL to PlannedStmt (#13392)
https://github.com/open-gpdb/gpdb/commit/b9d3ce9a9f0c5bcf209d3eb44d017e155306b58d - conflicts with Initial Cloudberry code dump
Apr 27, 2022 Avoid opening table in CondUpgradeRelLock() when possible https://github.com/open-gpdb/gpdb/commit/73e50fbaf1578be81522f2d1eaf70f5905554d5a - conflicts with https://github.com/cloudberrydb/cloudberrydb/commit/16b0b9d346557021abe50ef509bed8ea60d3fd5b
Apr 28, 2022 Remove overload raise function with severity_level (#13376) https://github.com/open-gpdb/gpdb/commit/94db8a1aa833f5d9b0ac91133f2cd2cbf0e60aeb - already merged
May 6, 2022 Clean up logic in CdbTryOpenTable. https://github.com/open-gpdb/gpdb/commit/43a5e58dfa471471624003e5e1d2b15f0dd2d56f - dangerous, need more thorougly review
Jun 16, 2022 [ORCA] Fix memory leaks in translator (#13656) https://github.com/open-gpdb/gpdb/commit/6bbef9ec1228e4212e226a13804a2c5503a93403
Why are the changes needed?
Describe why the changes are necessary.
Does this PR introduce any user-facing change?
If yes, please clarify the previous behavior and the change this PR proposes.
How was this patch tested?
Please detail how the changes were tested, including manual tests and any relevant unit or integration tests.
Contributor's Checklist
Here are some reminders and checklists before/when submitting your pull request, please check them:

[ ] Make sure your Pull Request has a clear title and commit message. You can take git-commit template as a reference.
[ ] Sign the Contributor License Agreement as prompted for your first-time contribution(One-time setup).
[ ] Learn the coding contribution guide, including our code conventions, workflow and more.
[ ] List your communication in the GitHub Issues or Discussions (if has or needed).
[ ] Document changes.
[ ] Add tests for the change
[ ] Pass make installcheck
[ ] Pass make -C src/test installcheck-cbdb-parallel
[ ] Feel free to request cloudberrydb/dev team for review and approval when your PR is ready🥳

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 10 committers have signed the CLA.:white_check_mark: leborchuk:x: dgkimura:x: THANATOSLAVA:x: orhankislal:x: khannaekta:x: sambitesh:x: l-wang:x: kainwen:x: huansong:x: SmartKeyerrorYou have signed the CLA already but the status is still pending? Let us recheck it.

I will fix tests, see failed pipelines

select_parallel_optimizer.out was deleted
this is because orca planner not support parallel feature.

Rebased to resolve merge conflicts. Still need to fix tests and some review issues. I will take some time, because some test issues do not reproduce in my local development environment. I will let you know when I'm finished.


Update composer package version

Hello, is it possible to update the composer package to use the latest version (in master) by default?
I actually spend too much time trying to send a redirect in the error callback before i realized that the source code I was looking on github (master) was not the same one fetched by composer (0.3.2). The composer package properly shows the version number, I just didn't expect it to differ from master.
Thanks

Hi @gtsop,
I just released 0.3.3 version, now composer will get the same code of current master.
Composer does not automatically get the master code, but the last release created on repo. So I forgot to make a new release to update with the custom error response fix. Sorry dude, it was my fault.


Separated rbac and rbac additional test cases

Issue:
https://github.com/rancher/qa-tasks/issues/796

Problem

Solution

Separated RBAC additional tests into a separate file and make sure below tests run and green.

rbac_test.go
additonal_rbac_test.go
fixed restricted admin test
Removed comments and added new log statements

Testing

Engineering Testing
Manual Testing

Automated Testing

Test types added/modified:

Validation (Go Framework)

REMOVE NOT APPLICABLE BULLET POINTS ABOVE

If "None" - Reason: EXPLAIN THE REASON

If "None" - GH Issue/PR: LINK TO GH ISSUE/PR TO ADD TESTS

Summary: TODO
QA Testing Considerations

Regressions Considerations

TODO
Existing / newly added automated tests that provide evidence there are no regressions:

TODO

can you rebase your branch Das, you have merge conflicts

We'll hold of on the merge until, we have the final Jenkins run. Thanks Das!!


Feature use inline classes

@DATL4G I've reverted error message and http status code to primitives and merging it to dev branch. Can you take a pull from dev and update to latest ktorfit if possible? Also add ktorfit sample that uses FlowerResponseConverter


Update 'redirectToOriginalUrl' Controller for Custom URL Feature

This issue is part of the 'Custom URL (Back-Halves) Feature' milestone
Tasks:

Modify the 'redirectToOriginalUrl' controller to handle both short URLs and custom URLs.
Ensure that users can be redirected to the original URL correctly via both types of URLs.

I am interested please assign this to me


Creating a Organization as a New User

Working on another issue I found this problem. Suppose a new user is just signed up. Then they are able to create a collective using the home page;
Using the profile menu:

Or reading through the homepage they might be able to click the following section;

But it seems to me that they have no way of creating an organization. Only once they create a collective they see;

in their profile menu. I am wondering if this is a significant limitation, in the sense that we don't give the user the ability to quickly create an organization. Or am I missing something here? 🤔

It's an important issue, thanks for documenting it. I remember we surfaced that during demos and said we will adjust the design but we probably forgot to iterate on it.

It's an important issue, thanks for documenting it. I remember we surfaced that during demos and said we will adjust the design but we probably forgot to iterate on it.

You are welcome. Let us ping the design team here so they know about this one. 😺
cc: @opencollective/design

@Memo-Es I like the fact that Version 2 has descriptions for each action, which can help to clear up the confusion new users are facing.
Ping @piamancini.

Just my opinion, but the description of the My Organizations section maybe needs revisiting. I feel it might not give a clear idea why the user might want to create an organization. Collectives can also contribute to other collectives if I am not mistaken. 🤔

I like the one with description too.
I think we should do it, it's a problem for people not to be able to create Organizations from the menu.

Just my opinion, but the description of the My Organizations section maybe needs revisiting. I feel it might not give a clear idea why the user might want to create an organization. Collectives can also contribute to other collectives if I am not mistaken. thinking

@SudharakaP Collectives can indeed contribute to other collectives under the same host using their budget (i.e. they can't use a credit card), but that's not their primary function. You don't create a collective to contribute, you create a collective to receive (and later disburse) funds.
Organizations on the other hand can have two main purposes:

Contribute to collectives (e.g. Facebook contribution to Babel)
Become a fiscal host (e.g. OSC)

I feel like the description properly covers (1). It's doesn't mention (2), but most of the time people create organizations solely for the first use case. So no blocker on my side.
@znarf If that's ok for you I can prioritize it for this week, since it's an important/simple issue

Just my opinion, but the description of the My Organizations section maybe needs revisiting. I feel it might not give a clear idea why the user might want to create an organization. Collectives can also contribute to other collectives if I am not mistaken. thinking

@SudharakaP Collectives can indeed contribute to other collectives under the same host using their budget (i.e. they can't use a credit card), but that's not their primary function. You don't create a collective to contribute, you create a collective to receive (and later disburse) funds.
Organizations on the other hand can have two main purposes:
1. Contribute to collectives (e.g. Facebook contribution to Babel)

2. Become a fiscal host (e.g. OSC)

I feel like the description properly covers (1). It's doesn't mention (2), but most of the time people create organizations solely for the first use case. So no blocker on my side.

Thanks for the explanation. That makes sense now. 🙂


fix(editpage): style fixes needed for editable page

Summary

fixes to FileDrop and EditPage needed to support Editable Dashboards

Change List (commits, features, bugs, etc)

fix(FileDrop): translate the untranslated labels
feat(FileDrop): pass through the classname to allow custom layouts
fix(EditPage): Footer should be fixed to bottom of screen

:tada: This PR is included in version 1.68.4 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 2.0.0-beta.9 :tada:
The release is available on:

npm package (@beta dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.68.4 :tada:
The release is available on npm package (@release-1.x dist-tag)
Your semantic-release bot :package::rocket:


API Extension, and test provision.

I needed an API extension so that I can access the whole map/array for further processing, and have also provided tests for the existing get method.
It would be great if a release could be done, as currently according to the tagging, version 1.1.0 is the freshest, and it also lacks the simple get method.
I hope this PR is helpful.

Thank you @adam-rocska. Fantastic PR.

@adam-rocska a new release has been published, please see v1.2.0

@CameronHall Thanks man.


updating without model->find() object not recording log

1 - Its recording log as expected
$Provider = Provider::findOrFail($id);
$Provider->update(['status' => 'banned']);
DB Screenshot
2 - And its not recording activity log, as it should record too
Provider::where('id',$id)->update(['status' => 'banned']);
Screenshot of working and not working code
My Provider model using LogActivity as
use LogsActivity, CausesActivity; // record activity log for current model
protected static $logOnlyDirty = true; // record only changed attributes in activity log
protected static $logAttributes = ['*']; // record all changed attributes of the current model in logs
Model Screenshot
It should record activity log for both cases, Anyone know the reason?
ActivityLog version from Composer with Laravel 5.7
"spatie/laravel-activitylog": "3.2.*",

Hey,
both cases run different code and therefore only one triggers the event.
The first runs the update through eloquent and calls all the eloquent logic and fires events.
The second one runs the update on the database query builder which doesn't know anything about the eloquent model.
So everything is correct and the second example can't trigger model logic.

Hey,
both cases run different code and therefore only one triggers the event.
The first runs the update through eloquent and calls all the eloquent logic and fires events.
The second one runs the update on the database query builder which doesn't know anything about the eloquent model.
So everything is correct and the second example can't trigger model logic.

So that means i need to update code everywhere in my application code to overcome this?
Or is there any workaround for this possible?

So that means i need to update code everywhere in my application code to overcome this?
Or is there any workaround for this possible?

Hey,
no way around this. Two totally different classes and methods.

Hey,
no way around this. Two totally different classes and methods.

Alright - thanks for you quick reply
Appreciated

Alright - thanks for you quick reply
Appreciated


publish new python version to pypi index

Is your feature request related to a problem or challenge? Please describe what you are trying to do.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
(This section helps Arrow developers understand the context and why for this feature, in addition to  the what)
so far the version is too old and i cannot even get it working on my Mac (Python 3.9).
Describe the solution you'd like
A clear and concise description of what you want to happen.
release newer versions
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

https://github.com/apache/arrow-datafusion/issues/226 is a regression in the API over the last released version. We could also break backward compatibility and bump to 0.3, though.

maybe related https://github.com/apache/arrow-datafusion/pull/483

any news on pulishing 0.3.0 on pypi ?

@parisni it will be published as part of datafusion 5.1.0 release, which is what we are working on at the moment.

oh god, can't believe this took 2 months :D 0.4.0 is in PyPI now.


Newest version does not compile when using through dub

Trying to run dub test in a library that include painlessjson now results in:
dub test
Generating test runner configuration '__test__publictransport__' for 'publictransport' (library).
Target dunit 1.0.10 is up to date. Use --force to rebuild.
Target dstats 1.0.1 is up to date. Use --force to rebuild.
Building painlessjson 1.2.0 configuration "library", build type unittest.
Running dmd...
../../../.dub/packages/painlessjson-1.2.0/source/painlessjson/painlessjson.d(16): Error: module toolkit is in file 'dunit/toolkit.d' which cannot be read
import path[0] = ../../../.dub/packages/painlessjson-1.2.0/source/
import path[1] = /opt/dmd-2.066/import
FAIL ../../../.dub/packages/painlessjson-1.2.0/.dub/build/library-unittest-linux.posix-x86_64-dmd_2066-ADD9549AACDE6684EA1B2A25675717A2/ painlessjson staticLibrary
Error executing command test: dmd failed with exit code 1.

@Zalastax any clue why this is? Guess the unittest configuration is not used when painlessjson is a dependency?

I think you are right. But why are unit tests run for painlessjson when it's added as a library? I've never seen a package system where you run the unit test of your dependencies. This might be a good question for the learn forum/stack overflow.


ci: only run jobs when relevant files have been changed

Fixes #10156
Fixes #10265

Note: these can be further segmented and improved as well, see "Future Work" below

Motivation

Make CI run faster for certain kinds of PRs, use less CI minutes (and just reduce unnecessary compute in general), and limit the blast radius of flaky tests as well

e.g. don't run E2E tests if only UI or only Docs have changed

or don't run UI CI when UI has not chaged

Modifications

Changed Files checks

use tj-actions/changed-files action for this

the most popular and full featured one I could find

run changed-files in its own job that must run before all other jobs

have it output booleans for specific changes -- limit all the changed_files nuances, naming, syntax, etc to that one job

job outputs are also needed for skipping other jobs, as step outputs can't be directly accessed

see https://docs.github.com/en/actions/using-jobs/defining-outputs-for-jobs and https://docs.github.com/en/actions/learn-github-actions/contexts#needs-context

have other jobs specify it in their needs and then skip if not needed with if

use multi-output variant of changed-files YAML directive

so can check e2e vs lint vs UI etc
note that changed-files supports a YAML variant with list anchoring/aliasing

use any_modified as that includes added, copied, modified, renamed, and deleted (ACMRD)

any_changed does not include deletions

Changes to needs for codegen and lint

both can run independently of each other and independently of tests

they should fail fast if the other one fails though, I suppose

otherwise this breaks some of the checks, since if tests are skipped, then codegen and lint are skipped too

Changes to Status Checks
Note that due to lack of GH features such as https://github.com/actions/runner/issues/952 and https://github.com/orgs/community/discussions/9141, there is a workaround embedded here for the E2E test matrix

skipping the overall e2e-tests job will cause status checks for individual E2E tests to just hang indefinitely

so instead we can change the required status checks to check the new composite result

that or we'd have to put an if for every single step of the E2E tests and also check for changed files within each E2E test

as there is no early exit feature such as https://github.com/actions/runner/issues/662
as steps can't use outputs from other jobs
and even then, the E2E test job would report as "success" instead of "skipped" as there is similarly no way to manually mark a job as skipped, which is a bit misleading

the new e2e-tests-composite-result job aggregates all of the results as a workaround

see https://github.com/orgs/community/discussions/9141#discussioncomment-2296809 and https://github.com/orgs/community/discussions/26822#discussioncomment-3305794
once this PR is merged, the required status checks on branch protection need to be changed

individual E2E test checks removed, composite check required now
note that this will also require that PRs opened earlier than this PR be rebased on top of this to get the new check so that they can pass CI

Verification

I tested this quite extensively in my fork in https://github.com/agilgur5/argo-workflows/pull/1:

Correctly only ran UI job
Correctly ran UI + Lint
Correctly only ran Lint
Correctly only ran Codegen (this was cancelled early, but we only need to confirm that it ran)
Correctly only ran E2E Tests (this was cancelled early, but we only need to confirm that it ran)
Correctly ran Unit Tests, Lint, + E2E Tests (this was cancelled early, but we only need to confirm that it ran)

as Lint + E2E Tests will run whenever Unit Tests run too (since source files were changed)

Correctly ran all jobs
Confirmed that the new E2E composite check works correctly -- see all of the above

Notes to Reviewers

See the "Changes to Status Checks" section above that we will need to implement
We will also need to be a bit careful in making sure that any new code is properly listed in the files lists

Future Work

Further segment E2E tests -- not all tests necessarily need to run for all back-end changes
Add to other GH Workflows, like the Docs Workflow?

would not be a huge efficiency increase, but would limit some unnecessary runs

Add a check for argoexec-image job as well

this one may require some more effort to get everything necessary, particularly with repetition from .dockerignore etc

otherwise this breaks some of the checks, since if tests are skipped, then codegen and lint are skipped too

Can you elaborate on this?
If tests are skipped the lint is also skipped?
Would that be an issue for docs changes then? Those actually get linted.
Would we be not linting them in that case?

Can you elaborate on this?

If one or more items of a needs array is skipped, the dependent job will also skip.
In the previous version of the code, if the tests job was skipped, the lint and codegen jobs would also be skipped. tests never had a conditional before though.
So as a result, I had to remove the needs from the lint and codegen jobs so that they run regardless if tests is skipped or not. They are independent jobs anyway, so the needs block seemed to be more fast fail purposes; i.e. don't run lint or codegen if tests fail. Right now they will run either way

Would that be an issue for docs changes then?

In ci-build.yaml, which is the only GH workflow I changed here, the docs lint runs as part of the lint job mentioned above
There is also a separate docs.yaml GH workflow that builds the docs. That one I did not change in this PR; I left as "Future Work" if we want to tackle that. It's simple but duplicate and low value compared to ci-build.yaml. (it would have to be duplicative as GH workflows don't share any information with each other)

The 3 are independent jobs anyway, so the previous needs block seemed to be more for fast fail purposes; i.e. don't run lint or codegen if tests fail.

Mmm I think there is a way to leave the needs in if I re-work the conditional a bit, per the needs docs. Actions have some implicit conditionals that are very disorienting IMO. It would be kind of if Argo's DAG dependencies and enhanced depends could be used together -- some very wacky edge cases would ensue -- simpler for them to be mutually exclusive fields.

Ah thanks @agilgur5, makes sense now, I misunderstood previously, in that case you have fixed an issue withe the CI process really.

in that case you have fixed an issue withe [sic] the CI process really.

Sort of; it would never occur previously because there wasn't a conditional on tests previously. That was very subtle though; was previously very easy to add a conditional and not realize it would cause further skips


Add wagtail blocks for the about page

Split the about page into Wagtail blocks.

@TheEpic-dev This PR is ready, but could do with pre-commit checks being run on it.


Actions: More powerful choices for GitHub-hosted runners on GitHub.com (Beta)

Summary
GitHub-hosted runners will now include the option to choose more powerful combinations of CPU, RAM, & disk space for your jobs. These more powerful configurations are also privately pooled on your behalf, which means you can optionally enable a static Public IP range for use with your firewall, or proxy/bastion server.
Intended Outcome
Our current runners are static in configuration and can be limiting for more intensive or specialized workflows. These new configurations will make running more complicated workflows easier and faster.
How will it work?
You will create as many different runner configurations as you need. They will have custom names, labels, runner groups, and hardware configurations. More powerful runners will come with relative pricing based on the quantity of cores (double the core-count, double the price).

this has shipped to dotcom! https://github.blog/changelog/2022-09-01-github-actions-larger-runners-are-now-in-public-beta
closing out this issue


segmentation fault using procs in crystal 0.35.1

Rather interestingly, deleting some of the code here (block for bug0, bug1) will cause the crash to disappear.
Crystal 0.35.1 [5999ae29b] (2020-06-19)

LLVM: 8.0.0
Default target: x86_64-unknown-linux-gnu

Fedora 33
require "option_parser"

thunk = nil
parser = OptionParser.new do |parser|
  parser.on("bug0", "") do
    parser.unknown_args do |args|
      thunk = ->do
        Process::Status.new(0)
      end
    end
  end

  parser.on("bug1", "") do
    parser.unknown_args do |args|
      thunk = ->do
      end
    end
  end

  parser.on("bug", "") do
    parser.unknown_args do |_, after_dash|
      thunk = ->do
        Process.exec("ls", after_dash)
      end
      puts thunk
      puts "never get here"
    end
  end
end

parser.parse

$ crystal run bug.cr -- bug -- hi
Invalid memory access (signal 11) at address 0x39a00000001
[0x4614e6] *Exception::CallStack::print_backtrace:Int32 +118
[0x4543c5] __crystal_sigfault_handler +341

Umm if this contains Process.exec, it'd be more surprising if it didn't crash. Any way to exclude that?

Reduced:
def capture(&block)
  block
end

thunk = nil

a = capture do
  thunk = ->{ 1 }
end

thunk = ->{ nil }
thunk = ->{ raise "OH NO" }
puts thunk

No idea why it happens.

@asterite 's example for me always crashes at the specific address 0x23500000235, same on carc.in.
So weird.

Umm if this contains Process.exec, it'd be more surprising if it didn't crash. Any way to exclude that?

I rather thought the sometimes-NoReturn aspect of the Proc would be the most interesting part, but I guess not given @asterite's reduction

That 0x235 is 100% the typeid.

I reduced it a bit more (and changed the snippet). Yeah, I'm almost sure that number is a type ID or something.

Further reduced:
puts typeof(true ? ->{ raise "" } : true ? ->{ 1 } : ->{ 1.0 }) # => Proc(Float64) | Proc(Int32)
puts true ? ->{ raise "" } : true ? ->{ 1 } : ->{ 1.0 }

It seems

Crystal considers Proc(*T, NoReturn) to be a subtype of Proc(*T, R) for any other R;
Proc(NoReturn) < Proc(Float64) and Proc(NoReturn) < Proc(Int32), therefore Proc(NoReturn) < Union(Proc(Float64), Proc(Int32));
Thus Crystal assumes a Proc(NoReturn) has the same binary layout as a Union(Proc(Float64), Proc(Int32)), which cannot be true because only the latter has a type ID.

(On a side note I thought Pointer(Void) would be subject to the same issues, but luckily that doesn't happen.)

@HertzDevil Thanks for the explanation! I think I know how to fix it, then. We shouldn't be forming unions here. Instead, one should be able to pass a Proc that returns NoReturn to something that expect a Proc that returns T (with the same argument types). We already do something similar for Procs that returns Nil.
I'll fix this soon.


Initialize the UUID when creating an instance

Locks can not be freed after multiple acquire functions are executed in single case mode

LGTM, thanks for the contribution @MichealCloud


Adding a highschool email for East Lothian

Emails in the form of first 2 letters being the name of the school, 3rd letter is the first letter of the users name, next 4 are the starting 4 letters of the surname follow by the number of the year of receiving email i.e 07 for 2007. then followed by @edubuzz.org

@wsmigielski I am sorry, there are few issues with your request.

The most important. The file lib/domains/uk/org/edubuzz.txt corresponds to non-existent domain:

$ host -t any edubuzz.org.uk
Host edubuzz.org.uk not found: 3(NXDOMAIN)

Could you please provide us with a link to an IT-related at least 1 year long course, offered by your school?

Do I understand right that edubuzz.org domain is owned by a number of schools, united georgraphically? Could you please describe the schools in more details? Why do they united under an umbrella of edubuzz.org?

If the website http://www.edubuzz.org correctly says that there are over 2500 pages there, and eachof the pages contains some info on several schools, and all of these 10000+ schools use edubuzz.org domain, we unlikely will add such a broad community to this list. It is for universities and colleges, and it implies that a single email domain refers to a single school or very limited number of schools (such as few ones, located in the same county).

Many schools at http://www.edubuzz.org are primary schools, and free JetBrains educational licenses are for students over 13 of age. Thus, they simply do not fit. I really advise to check if community versions of JetBrains tools are good for the schools students.

Please clarify the issues above. I appreciate your comment. Thank you!

@philipto
Thanks for taking the time to reply!

I will fix when I get home
http://www.edubuzz.org/mgscomputing/ the advanced higher computing course is one year and equivalent to the first year at Uni.
It is owned by all the schools in the county of East Lothian, as the main network is managed by the East Lothian council, and they decided to call it edubuzz. There is 6 high schools in the county, each which has the primary schools that are linked with them.
It is a very limited number of schools(6) as you're only given an email with that domain when you enter high school. And they are all located in the same county. Which also solves 5 as only high school students and teachers have access to the email.

@wsmigielski Thank you for the clarification! Pull request merged.


Error when installing malaya using pip

I tried to install using the command pip install malaya. everything is okay until error occurs. here is the errors
Collecting malaya
Using cached malaya-3.7.3-py3-none-any.whl (4.0 MB)
Requirement already satisfied: sklearn in c:\users\user\appdata\local\packages\pythonsoftwarefoundation.python.3.7_qbz5n2kfra8p0\localcache\local-packages\python37\site-packages (from malaya) (0.0)
Requirement already satisfied: PySastrawi in c:\users\user\appdata\local\packages\pythonsoftwarefoundation.python.3.7_qbz5n2kfra8p0\localcache\local-packages\python37\site-packages (from malaya) (1.2.0)
Requirement already satisfied: unidecode in c:\users\user\appdata\local\packages\pythonsoftwarefoundation.python.3.7_qbz5n2kfra8p0\localcache\local-packages\python37\site-packages (from malaya) (1.1.1)
Requirement already satisfied: numpy in c:\users\user\appdata\local\packages\pythonsoftwarefoundation.python.3.7_qbz5n2kfra8p0\localcache\local-packages\python37\site-packages (from malaya) (1.19.0)
Requirement already satisfied: requests in c:\users\user\appdata\local\packages\pythonsoftwarefoundation.python.3.7_qbz5n2kfra8p0\localcache\local-packages\python37\site-packages (from malaya) (2.23.0)
Requirement already satisfied: networkx in c:\users\user\appdata\local\packages\pythonsoftwarefoundation.python.3.7_qbz5n2kfra8p0\localcache\local-packages\python37\site-packages (from malaya) (2.4)
Requirement already satisfied: tqdm in c:\users\user\appdata\local\packages\pythonsoftwarefoundation.python.3.7_qbz5n2kfra8p0\localcache\local-packages\python37\site-packages (from malaya) (4.48.0)
Requirement already satisfied: scipy in c:\users\user\appdata\local\packages\pythonsoftwarefoundation.python.3.7_qbz5n2kfra8p0\localcache\local-packages\python37\site-packages (from malaya) (1.5.1)
Collecting sentencepiece
Using cached sentencepiece-0.1.91-cp37-cp37m-win_amd64.whl (1.2 MB)
Requirement already satisfied: tensorflow<2.0,>=1.14 in c:\users\user\appdata\local\packages\pythonsoftwarefoundation.python.3.7_qbz5n2kfra8p0\localcache\local-packages\python37\site-packages (from malaya) (1.15.3)
Requirement already satisfied: ftfy in c:\users\user\appdata\local\packages\pythonsoftwarefoundation.python.3.7_qbz5n2kfra8p0\localcache\local-packages\python37\site-packages (from malaya) (5.8)
Requirement already satisfied: dateparser in c:\users\user\appdata\local\packages\pythonsoftwarefoundation.python.3.7_qbz5n2kfra8p0\localcache\local-packages\python37\site-packages (from malaya) (0.7.6)
Requirement already satisfied: bert-tensorflow in c:\users\user\appdata\local\packages\pythonsoftwarefoundation.python.3.7_qbz5n2kfra8p0\localcache\local-packages\python37\site-packages (from malaya) (1.0.1)
Requirement already satisfied: herpetologist in c:\users\user\appdata\local\packages\pythonsoftwarefoundation.python.3.7_qbz5n2kfra8p0\localcache\local-packages\python37\site-packages (from malaya) (0.0.9)
Requirement already satisfied: scikit-learn in c:\users\user\appdata\local\packages\pythonsoftwarefoundation.python.3.7_qbz5n2kfra8p0\localcache\local-packages\python37\site-packages (from malaya) (0.23.1)
Requirement already satisfied: albert-tensorflow in c:\users\user\appdata\local\packages\pythonsoftwarefoundation.python.3.7_qbz5n2kfra8p0\localcache\local-packages\python37\site-packages (from malaya) (1.1)
Collecting youtokentome
Using cached youtokentome-1.0.6.tar.gz (86 kB)
Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in c:\users\user\appdata\local\packages\pythonsoftwarefoundation.python.3.7_qbz5n2kfra8p0\localcache\local-packages\python37\site-packages (from requests->malaya) (1.25.9)
Requirement already satisfied: certifi>=2017.4.17 in c:\users\user\appdata\local\packages\pythonsoftwarefoundation.python.3.7_qbz5n2kfra8p0\localcache\local-packages\python37\site-packages (from requests->malaya) (2<IP_ADDRESS>)
Requirement already satisfied: idna<3,>=2.5 in c:\users\user\appdata\local\packages\pythonsoftwarefoundation.python.3.7_qbz5n2kfra8p0\localcache\local-packages\python37\site-packages (from requests->malaya) (2.9)
Requirement already satisfied: chardet<4,>=3.0.2 in c:\users\user\appdata\local\packages\pythonsoftwarefoundation.python.3.7_qbz5n2kfra8p0\localcache\local-packages\python37\site-packages (from requests->malaya) (3.0.4)
Requirement already satisfied: decorator>=4.3.0 in c:\users\user\appdata\local\packages\pythonsoftwarefoundation.python.3.7_qbz5n2kfra8p0\localcache\local-packages\python37\site-packages (from networkx->malaya) (4.4.2)
Requirement already satisfied: absl-py>=0.7.0 in c:\users\user\appdata\local\packages\pythonsoftwarefoundation.python.3.7_qbz5n2kfra8p0\localcache\local-packages\python37\site-packages (from tensorflow<2.0,>=1.14->malaya) (0.9.0)
Requirement already satisfied: six>=1.10.0 in c:\users\user\appdata\local\packages\pythonsoftwarefoundation.python.3.7_qbz5n2kfra8p0\localcache\local-packages\python37\site-packages (from tensorflow<2.0,>=1.14->malaya) (1.15.0)
Requirement already satisfied: wheel>=0.26; python_version >= "3" in c:\users\user\appdata\local\packages\pythonsoftwarefoundation.python.3.7_qbz5n2kfra8p0\localcache\local-packages\python37\site-packages (from tensorflow<2.0,>=1.14->malaya) (0.34.2)
Requirement already satisfied: keras-applications>=1.0.8 in c:\users\user\appdata\local\packages\pythonsoftwarefoundation.python.3.7_qbz5n2kfra8p0\localcache\local-packages\python37\site-packages (from tensorflow<2.0,>=1.14->malaya) (1.0.8)
Requirement already satisfied: gast==0.2.2 in c:\users\user\appdata\local\packages\pythonsoftwarefoundation.python.3.7_qbz5n2kfra8p0\localcache\local-packages\python37\site-packages (from tensorflow<2.0,>=1.14->malaya) (0.2.2)
Requirement already satisfied: wrapt>=1.11.1 in c:\users\user\appdata\local\packages\pythonsoftwarefoundation.python.3.7_qbz5n2kfra8p0\localcache\local-packages\python37\site-packages (from tensorflow<2.0,>=1.14->malaya) (1.12.1)
Requirement already satisfied: grpcio>=1.8.6 in c:\users\user\appdata\local\packages\pythonsoftwarefoundation.python.3.7_qbz5n2kfra8p0\localcache\local-packages\python37\site-packages (from tensorflow<2.0,>=1.14->malaya) (1.30.0)
Requirement already satisfied: protobuf>=3.6.1 in c:\users\user\appdata\local\packages\pythonsoftwarefoundation.python.3.7_qbz5n2kfra8p0\localcache\local-packages\python37\site-packages (from tensorflow<2.0,>=1.14->malaya) (3.12.2)
Requirement already satisfied: tensorflow-estimator==1.15.1 in c:\users\user\appdata\local\packages\pythonsoftwarefoundation.python.3.7_qbz5n2kfra8p0\localcache\local-packages\python37\site-packages (from tensorflow<2.0,>=1.14->malaya) (1.15.1)
Requirement already satisfied: termcolor>=1.1.0 in c:\users\user\appdata\local\packages\pythonsoftwarefoundation.python.3.7_qbz5n2kfra8p0\localcache\local-packages\python37\site-packages (from tensorflow<2.0,>=1.14->malaya) (1.1.0)
Requirement already satisfied: google-pasta>=0.1.6 in c:\users\user\appdata\local\packages\pythonsoftwarefoundation.python.3.7_qbz5n2kfra8p0\localcache\local-packages\python37\site-packages (from tensorflow<2.0,>=1.14->malaya) (0.2.0)
Requirement already satisfied: opt-einsum>=2.3.2 in c:\users\user\appdata\local\packages\pythonsoftwarefoundation.python.3.7_qbz5n2kfra8p0\localcache\local-packages\python37\site-packages (from tensorflow<2.0,>=1.14->malaya) (3.3.0)
Requirement already satisfied: astor>=0.6.0 in c:\users\user\appdata\local\packages\pythonsoftwarefoundation.python.3.7_qbz5n2kfra8p0\localcache\local-packages\python37\site-packages (from tensorflow<2.0,>=1.14->malaya) (0.8.1)
Requirement already satisfied: keras-preprocessing>=1.0.5 in c:\users\user\appdata\local\packages\pythonsoftwarefoundation.python.3.7_qbz5n2kfra8p0\localcache\local-packages\python37\site-packages (from tensorflow<2.0,>=1.14->malaya) (1.1.2)
Requirement already satisfied: tensorboard<1.16.0,>=1.15.0 in c:\users\user\appdata\local\packages\pythonsoftwarefoundation.python.3.7_qbz5n2kfra8p0\localcache\local-packages\python37\site-packages (from tensorflow<2.0,>=1.14->malaya) (1.15.0)
Requirement already satisfied: wcwidth in c:\users\user\appdata\local\packages\pythonsoftwarefoundation.python.3.7_qbz5n2kfra8p0\localcache\local-packages\python37\site-packages (from ftfy->malaya) (0.2.5)
Requirement already satisfied: python-dateutil in c:\users\user\appdata\local\packages\pythonsoftwarefoundation.python.3.7_qbz5n2kfra8p0\localcache\local-packages\python37\site-packages (from dateparser->malaya) (2.8.1)
Requirement already satisfied: regex!=2019.02.19 in c:\users\user\appdata\local\packages\pythonsoftwarefoundation.python.3.7_qbz5n2kfra8p0\localcache\local-packages\python37\site-packages (from dateparser->malaya) (2020.7.14)
Requirement already satisfied: tzlocal in c:\users\user\appdata\local\packages\pythonsoftwarefoundation.python.3.7_qbz5n2kfra8p0\localcache\local-packages\python37\site-packages (from dateparser->malaya) (2.1)
Requirement already satisfied: pytz in c:\users\user\appdata\local\packages\pythonsoftwarefoundation.python.3.7_qbz5n2kfra8p0\localcache\local-packages\python37\site-packages (from dateparser->malaya) (2020.1)
Requirement already satisfied: memoization in c:\users\user\appdata\local\packages\pythonsoftwarefoundation.python.3.7_qbz5n2kfra8p0\localcache\local-packages\python37\site-packages (from herpetologist->malaya) (0.3.1)
Requirement already satisfied: threadpoolctl>=2.0.0 in c:\users\user\appdata\local\packages\pythonsoftwarefoundation.python.3.7_qbz5n2kfra8p0\localcache\local-packages\python37\site-packages (from scikit-learn->malaya) (2.1.0)
Requirement already satisfied: joblib>=0.11 in c:\users\user\appdata\local\packages\pythonsoftwarefoundation.python.3.7_qbz5n2kfra8p0\localcache\local-packages\python37\site-packages (from scikit-learn->malaya) (0.16.0)
Requirement already satisfied: Click>=7.0 in c:\users\user\appdata\local\packages\pythonsoftwarefoundation.python.3.7_qbz5n2kfra8p0\localcache\local-packages\python37\site-packages (from youtokentome->malaya) (7.1.2)
Requirement already satisfied: h5py in c:\users\user\appdata\local\packages\pythonsoftwarefoundation.python.3.7_qbz5n2kfra8p0\localcache\local-packages\python37\site-packages (from keras-applications>=1.0.8->tensorflow<2.0,>=1.14->malaya) (2.10.0)
Requirement already satisfied: setuptools in c:\program files\windowsapps\pythonsoftwarefoundation.python.3.7_3.7.2032.0_x64__qbz5n2kfra8p0\lib\site-packages (from protobuf>=3.6.1->tensorflow<2.0,>=1.14->malaya) (41.2.0)
Requirement already satisfied: werkzeug>=0.11.15 in c:\users\user\appdata\local\packages\pythonsoftwarefoundation.python.3.7_qbz5n2kfra8p0\localcache\local-packages\python37\site-packages (from tensorboard<1.16.0,>=1.15.0->tensorflow<2.0,>=1.14->malaya) (1.0.1)
Requirement already satisfied: markdown>=2.6.8 in c:\users\user\appdata\local\packages\pythonsoftwarefoundation.python.3.7_qbz5n2kfra8p0\localcache\local-packages\python37\site-packages (from tensorboard<1.16.0,>=1.15.0->tensorflow<2.0,>=1.14->malaya) (3.2.2)
Requirement already satisfied: importlib-metadata; python_version < "3.8" in c:\users\user\appdata\local\packages\pythonsoftwarefoundation.python.3.7_qbz5n2kfra8p0\localcache\local-packages\python37\site-packages (from markdown>=2.6.8->tensorboard<1.16.0,>=1.15.0->tensorflow<2.0,>=1.14->malaya) (1.6.1)
Requirement already satisfied: zipp>=0.5 in c:\users\user\appdata\local\packages\pythonsoftwarefoundation.python.3.7_qbz5n2kfra8p0\localcache\local-packages\python37\site-packages (from importlib-metadata; python_version < "3.8"->markdown>=2.6.8->tensorboard<1.16.0,>=1.15.0->tensorflow<2.0,>=1.14->malaya) (3.1.0)
Building wheels for collected packages: youtokentome
Building wheel for youtokentome (setup.py) ... error
ERROR: Command errored out with exit status 1:
command: 'C:\Users\User\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\User\AppData\Local\Temp\pip-install-72p_qiyc\youtokentome\setup.py'"'"'; file='"'"'C:\Users\User\AppData\Local\Temp\pip-install-72p_qiyc\youtokentome\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' bdist_wheel -d 'C:\Users\User\AppData\Local\Temp\pip-wheel-57x23zki'
cwd: C:\Users\User\AppData\Local\Temp\pip-install-72p_qiyc\youtokentome
Complete output (12 lines):
running bdist_wheel
running build
running build_py
creating build
creating build\lib.win-amd64-3.7
creating build\lib.win-amd64-3.7\youtokentome
copying youtokentome\youtokentome.py -> build\lib.win-amd64-3.7\youtokentome
copying youtokentome\yttm_cli.py -> build\lib.win-amd64-3.7\youtokentome
copying youtokentome_init_.py -> build\lib.win-amd64-3.7\youtokentome
running build_ext
building '_youtokentome_cython' extension
error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": https://visualstudio.microsoft.com/downloads/
ERROR: Failed building wheel for youtokentome
Running setup.py clean for youtokentome
Failed to build youtokentome
Installing collected packages: sentencepiece, youtokentome, malaya
Running setup.py install for youtokentome ... error
ERROR: Command errored out with exit status 1:
command: 'C:\Users\User\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\User\AppData\Local\Temp\pip-install-72p_qiyc\youtokentome\setup.py'"'"'; file='"'"'C:\Users\User\AppData\Local\Temp\pip-install-72p_qiyc\youtokentome\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' install --record 'C:\Users\User\AppData\Local\Temp\pip-record-23wvdteo\install-record.txt' --single-version-externally-managed --user --prefix= --compile --install-headers 'C:\Users\User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\Include\youtokentome'
cwd: C:\Users\User\AppData\Local\Temp\pip-install-72p_qiyc\youtokentome
Complete output (12 lines):
running install
running build
running build_py
creating build
creating build\lib.win-amd64-3.7
creating build\lib.win-amd64-3.7\youtokentome
copying youtokentome\youtokentome.py -> build\lib.win-amd64-3.7\youtokentome
copying youtokentome\yttm_cli.py -> build\lib.win-amd64-3.7\youtokentome
copying youtokentome_init_.py -> build\lib.win-amd64-3.7\youtokentome
running build_ext
building '_youtokentome_cython' extension
error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": https://visualstudio.microsoft.com/downloads/
----------------------------------------
ERROR: Command errored out with exit status 1: 'C:\Users\User\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\User\AppData\Local\Temp\pip-install-72p_qiyc\youtokentome\setup.py'"'"'; file='"'"'C:\Users\User\AppData\Local\Temp\pip-install-72p_qiyc\youtokentome\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' install --record 'C:\Users\User\AppData\Local\Temp\pip-record-23wvdteo\install-record.txt' --single-version-externally-managed --user --prefix= --compile --install-headers 'C:\Users\User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\Include\youtokentome' Check the logs for full command output.

do I need to install Microsoft Visual C++ first in order for this to work?

do I need to install Microsoft Visual C++ first in order for this to work? Because even if I tried to pip install youtokentome, it will give me the same error

Hi. I managed to solve it by installing the Microsoft Visual C++ build tools :)
But, I am having a new issue, I will post it in another post for new issue


How do I set a value of an attribute

Hello,
I've got something like that:
const foo = 'bar';
<input value="{foo}" />

How do I force foo to be parsed as a variable and not as a string?

Never mind. Turns out I just have to skip quotes:
const foo = 'bar';
<input value={foo} />


Pico Audio python api

Hi
Is there any place for me to watch for updates regarding the pico audio python api? Sorry if I've missed it, but I couldn't see anything other than it is planned.
I'm making a mini theremin and I'd very much prefer to work in python rather than c, and this is the only part remaining.

I suspect Python support for audio might be some time off- it's still early days for Pico's MicroPython port and there's still no precedent set - as far as I can tell - for analog audio or digital audio (I2S). Though the latter seems to be a work in progress for esp32 at least - https://github.com/micropython/micropython/pull/4471
I'm not sure if we'd be able to meaningfully support anything resembling audio in the meantime. I'm at least familiar with the concepts, but not how they might interact with MicroPython.

It looks like https://github.com/micropython/micropython/pull/7183 has given micropython an I2S api. Is this relevant / useful?

i2s support has been added to the RP2 port as of MicroPython 1.18 - we're going to have to test this and put together some kind of example, but it will at least form the groundwork for an audio API: https://github.com/micropython/micropython/releases/tag/v1.18

There is a problem with the I2S handling in micropython if you're using the HUB75 support from pimoroni: the HUB75 handler uses both DMA complete interrupts, which means that the I2S won't be able to use the one it needs.

There is a problem with the I2S handling in micropython if you're using the HUB75 support from pimoroni: the HUB75 handler uses both DMA complete interrupts, which means that the I2S won't be able to use the one it needs.

Near as I could tell, the second DMA complete interrupt wasn't actually used for anything. I dropped it and tidied up the Hub75 code in this commit: https://github.com/pimoroni/pimoroni-pico/commit/b0d53dadb38ada44d8911f14c6f60573b41d7278
MicroPython now uses shared handlers across DMA/i2s, too.
We're still missing examples of actually using i2s audio, though there are some here: https://github.com/miketeachman/micropython-i2s-examples


Update postgresql.md

There was a missing ";" in the triggers.metadata.query
Checklist

[x] Commits are signed with Developer Certificate of Origin (DCO)

Fixes #
Just had to add a semicolon ";" at the end of the query.

Hello @M4nihere ,
Thanks for your contribution! 🙇
I have a question, is the semicolon required or just for styling? I'm checking current e2e test and it doesn't have it

Yes, there is always semicolon required at the end of a postgresql query, if you don't use semicolon the query will not return any value.

As you can see here below screenshot, query without semicolon is not giving any output.

Screenshot with semicolon!!

lol, I don't know how KEDA does the magic but it works without it (but I agree with adding it if it's the standard).
Could you update other versions as well with the semicolon?

I myself have tested it on Keda ScaledObject with airflow.
So to thing was that the query was not returning any value so that it can scale the Statefulsets.
While troubleshooting I found that the semicolon is required.
Thanks !!

Yeah, don't worry. I've tested with latest KEDA version and maybe something has changed, but in any case it works too, so we can add the semicolon to docs, np
Could you update other versions as well with the semicolon?

Yes, I can do that but as you have mentioned in some Keda version it worked without semicolon, however I'm not sure how did that worked but I won't be able to test every Keda Version.
Because I'm using This version that's why I've found that bug.

Are you using KEDA v2.12, right?
I ask for executing the e2e test using your same version to double-check it

@JorTurFer Just updated the 2.13 !!

@JorTurFer Are you going to merge this pull request ?

@M4nihere thanks! Could you please fix this also for the other versions (including 2.13)?

Could you update older versions please? Then we can merge this :)

Sure @JorTurFer

Hi @JorTurFer
I have updated all the previous version with correct postgresql command.
You can merge it now.

This is just stylistic btw. A semi colon is required when using psql, but not needed when using a DB API client library to issue queries.
And you could make the argument that it's possible harmful in KEDA as it might mistakenly lead users to think they could issue multiple queries when only one will work.


[draft] Split each tape into a different jaxpr during trace_quantum_function

Before submitting
Please complete the following checklist when submitting a PR:

[ ] All new functions and code must be clearly commented and documented.

[ ] Ensure that code is properly formatted by running make format.
The latest version of black and clang-format-14 are used in CI/CD to check formatting.

[ ] All new features must include a unit test.
Integration and frontend tests should be added to frontend/test,
Quantum dialect and MLIR tests should be added to mlir/test, and
Runtime tests should be added to runtime/tests.

When all the above are checked, delete everything above the dashed
line and fill in the pull request template.

Context:
Split each tape into a different jaxpr during trace_quantum_function
Returns an overall big jaxpr that calls these small "each_tape" jaxprs.
This is a preliminary design. There's still some problems, the most significant one being the tape order does not necessarily agree with the pre-transform qnode's return value order.
Also many pytests simply crash under the current design.
An alternative is to apply the transform  before the tracing begins, circumventing the need to manually build jaxprs.
Description of the Change:
Benefits:
Possible Drawbacks:
Related GitHub Issues: closes #442
[sc-67125]

After a lot of experimenting I now think messing with the current tracing frame's jaxpr is a bad idea.
The next approach would be insert some sort of "tape cut" primitive where currently we reset.

Oh dear, that was intense...
Only very few frontend tests still fail. Outside of some tests need to be rewritten (since we are doing an entirely different thing now for multi tapes), there is only one true bug remaining.
We can now accomplish the following: given a transformed multiple tape circuit
dev = qml.device("lightning.qubit", wires=2)

def my_quantum_transform(tape: qml.tape.QuantumTape) -> (Sequence[qml.tape.QuantumTape], Callable):
    tape1 = tape
    tape2 = qml.tape.QuantumTape([qml.RY(0.5, wires=0)], [qml.expval(qml.X(0))])

    def post_processing_fn(results):
        return results[0] + results[1]

    return [tape1, tape2], post_processing_fn

dispatched_transform = transform(my_quantum_transform)

@qml.qnode(dev)
def circuit(x):
    qml.adjoint(qml.RY)(x[0], wires=0)
    qml.RX(x[1], wires=1)
    return qml.expval(qml.X(0))

circuit = dispatched_transform(circuit)
print("core PL results: ", circuit([0.1, 0.2]))

circuit = qjit(circuit)
print("qjit results: ", circuit([0.1, 0.2]))
print(circuit.jaxpr, circuit.mlir)

>>>
core PL results:  0.37959212195737485
qjit results:  0.37959212195737485

{ lambda ; a:f64[] b:f64[]. let
    c:f64[] = func[
      call_jaxpr={ lambda ; d:f64[] e:f64[]. let
          f:f64[] = func[
            call_jaxpr={ lambda ; g:f64[] h:f64[]. let
                qdevice[
                  rtd_kwargs={'shots': 0, 'mcmc': False, 'num_burnin': 0, 'kernel_name': None}
                  rtd_lib=/home/paul.wang/catalyst_new/catalyst/frontend/catalyst/utils/../../../runtime/build/lib/librtd_lightning.so
                  rtd_name=LightningSimulator
                ]
                i:AbstractQreg() = qalloc 2
                j:AbstractQbit() = qextract i 0
                k:AbstractQbit() = qinst[
                  adjoint=True
                  ctrl_len=0
                  op=RY
                  params_len=1
                  qubits_len=1
                ] j g
                l:AbstractObs(num_qubits=None,primitive=None) = namedobs[
                  kind=PauliX
                ] k
                m:f64[] = expval[shots=None] l
                n:AbstractQreg() = qinsert i 0 k
                o:AbstractQbit() = qextract i 1
                p:AbstractQbit() = qinst[
                  adjoint=False
                  ctrl_len=0
                  op=RX
                  params_len=1
                  qubits_len=1
                ] o h
                q:AbstractQreg() = qinsert n 1 p
                qdealloc q
              in (m,) }
            fn=<function trace_quantum_function.<locals>._f at 0x7a30bf90a680>
          ] d e
          r:f64[] = func[
            call_jaxpr={ lambda ; s:f64[] t:f64[]. let
                qdevice[
                  rtd_kwargs={'shots': 0, 'mcmc': False, 'num_burnin': 0, 'kernel_name': None}
                  rtd_lib=/home/paul.wang/catalyst_new/catalyst/frontend/catalyst/utils/../../../runtime/build/lib/librtd_lightning.so
                  rtd_name=LightningSimulator
                ]
                u:AbstractQreg() = qalloc 2
                v:AbstractQbit() = qextract u 0
                w:AbstractQbit() = qinst[
                  adjoint=False
                  ctrl_len=0
                  op=RY
                  params_len=1
                  qubits_len=1
                ] v 0.5
                x:AbstractObs(num_qubits=None,primitive=None) = namedobs[
                  kind=PauliX
                ] w
                y:f64[] = expval[shots=None] x
                z:AbstractQreg() = qinsert u 0 w
                qdealloc z
              in (y,) }
            fn=<function trace_quantum_function.<locals>._f at 0x7a30bf90a0e0>
          ] d e
          ba:f64[] = func[
            call_jaxpr={ lambda ; bb:f64[] bc:f64[]. let
                bd:f64[] = add bb bc
              in (bd,) }
            fn=<function circuit at 0x7a30bfe149d0>
          ] f r
        in (ba,) }
      fn=<QNode: device='<lightning.qubit device (wires=2) at 0x7a3105207f10>', interface='auto', diff_method='best'>
    ] a b
  in (c,) } module @circuit {
  func.func public @jit_circuit(%arg0: tensor<f64>, %arg1: tensor<f64>) -> tensor<f64> attributes {llvm.emit_c_interface} {
    %0 = call @circuit(%arg0, %arg1) : (tensor<f64>, tensor<f64>) -> tensor<f64>
    return %0 : tensor<f64>
  }
  func.func private @circuit(%arg0: tensor<f64>, %arg1: tensor<f64>) -> tensor<f64> attributes {diff_method = "parameter-shift", llvm.linkage = #llvm.linkage<internal>, qnode} {
    %0 = call @_f(%arg0, %arg1) : (tensor<f64>, tensor<f64>) -> tensor<f64>
    %1 = call @_f_0(%arg0, %arg1) : (tensor<f64>, tensor<f64>) -> tensor<f64>
    %2 = call @circuit_1(%0, %1) : (tensor<f64>, tensor<f64>) -> tensor<f64>
    return %2 : tensor<f64>
  }
  func.func private @_f(%arg0: tensor<f64>, %arg1: tensor<f64>) -> tensor<f64> attributes {llvm.linkage = #llvm.linkage<internal>} {
    quantum.device["/home/paul.wang/catalyst_new/catalyst/frontend/catalyst/utils/../../../runtime/build/lib/librtd_lightning.so", "LightningSimulator", "{'shots': 0, 'mcmc': False, 'num_burnin': 0, 'kernel_name': None}"]
    %0 = quantum.alloc( 2) : !quantum.reg
    %1 = quantum.extract %0[ 0] : !quantum.reg -> !quantum.bit
    %extracted = tensor.extract %arg0[] : tensor<f64>
    %out_qubits = quantum.custom "RY"(%extracted) %1 {adjoint} : !quantum.bit
    %2 = quantum.namedobs %out_qubits[ PauliX] : !quantum.obs
    %3 = quantum.expval %2 : f64
    %from_elements = tensor.from_elements %3 : tensor<f64>
    %4 = quantum.insert %0[ 0], %out_qubits : !quantum.reg, !quantum.bit
    %5 = quantum.extract %0[ 1] : !quantum.reg -> !quantum.bit
    %extracted_0 = tensor.extract %arg1[] : tensor<f64>
    %out_qubits_1 = quantum.custom "RX"(%extracted_0) %5 : !quantum.bit
    %6 = quantum.insert %4[ 1], %out_qubits_1 : !quantum.reg, !quantum.bit
    quantum.dealloc %6 : !quantum.reg
    quantum.device_release
    return %from_elements : tensor<f64>
  }
  func.func private @_f_0(%arg0: tensor<f64>, %arg1: tensor<f64>) -> tensor<f64> attributes {llvm.linkage = #llvm.linkage<internal>} {
    %cst = arith.constant 5.000000e-01 : f64
    quantum.device["/home/paul.wang/catalyst_new/catalyst/frontend/catalyst/utils/../../../runtime/build/lib/librtd_lightning.so", "LightningSimulator", "{'shots': 0, 'mcmc': False, 'num_burnin': 0, 'kernel_name': None}"]
    %0 = quantum.alloc( 2) : !quantum.reg
    %1 = quantum.extract %0[ 0] : !quantum.reg -> !quantum.bit
    %out_qubits = quantum.custom "RY"(%cst) %1 : !quantum.bit
    %2 = quantum.namedobs %out_qubits[ PauliX] : !quantum.obs
    %3 = quantum.expval %2 : f64
    %from_elements = tensor.from_elements %3 : tensor<f64>
    %4 = quantum.insert %0[ 0], %out_qubits : !quantum.reg, !quantum.bit
    quantum.dealloc %4 : !quantum.reg
    quantum.device_release
    return %from_elements : tensor<f64>
  }
  func.func private @circuit_1(%arg0: tensor<f64>, %arg1: tensor<f64>) -> tensor<f64> attributes {llvm.linkage = #llvm.linkage<internal>} {
    %0 = stablehlo.add %arg0, %arg1 : tensor<f64>
    return %0 : tensor<f64>
  }
  func.func @setup() {
    quantum.init
    return
  }
  func.func @teardown() {
    quantum.finalize
    return
  }
}

Marking this as ready for review only to trigger CI. This is not really ready.

Marking this as draft as we switch lanes and try to split tapes during mlir instead of during tracing

closing as #1017 accomplishes the same goal


feat: Better management of entrypoint process

Description
Currently multiple processes are managed under tini by concatenating multiple commands.
Cons:

hard to inspect per-process logs
hard to inspect errors when start the container

Candidate: https://github.com/F1bonacc1/process-compose

Message from the maintainers:
Love this enhancement proposal? Give it a 👍. We prioritise the proposals with the most 👍.

Another candidate: systemd.

systemd may not be a good option, supervisord or some other lightweight options like @VoVAllen mentioned https://github.com/F1bonacc1/process-compose may be better.
there is one more option mentioned in the SO, https://github.com/just-containers/s6-overlay, but I have never tried it before, just posted to be another candidate
ref: https://stackoverflow.com/a/51985145/4242336

systemd may not be a good option, supervisord or some other lightweight options like @VoVAllen mentioned https://github.com/F1bonacc1/process-compose may be better.

I agree that systemd is heavy for this scenario. It looks okay to run systemd in the training or experimental task environments. I won't use it for the online serving containers.
Not sure if the pure Python application like supervisord can be a good fit for this.

there is one more option mentioned in the SO, https://github.com/just-containers/s6-overlay, but I have never tried it before, just posted to be another candidate

I like the idea "one thing per container" of s6. Will check this.

/cc @Zheaoli

Not sure if the pure Python application like supervisord can be a good fit for this.

supervisord is not a good fit for this for two reasons:

too heavy
the code quality is not good

And I have already checked https://github.com/just-containers/s6-overlay. I think it is tiny enough for use, and it has basic signal management. But I think a little bit concern I have

the pure bash code will increase the difficulty for our customize action
I'm not sure S6 is good enough for the orphan process management

And I have already checked https://github.com/just-containers/s6-overlay. I think it is tiny enough for use, and it has basic signal management. But I think a little bit concern I have
1. the pure bash code will increase the difficulty for our customize action

2. I'm not sure S6 is good enough for the orphan process management

s6 overlay is a shell wrapper for s6, which is written in C and includes lots of utilities.
My concern is that their configuration is crazy. I have no idea why they love the shell script so deeply.
Another option is Horust. Thanks to RiiR :crab:. The configuration is much easier. Although I know it may not be able to handle the signal very well. But this project is not active.


CS:GO server issues

My CS:GO server is not showing in the server lists at all.
It's online and running, ports are opened, using 27016.
GameTracker shows the server online but also won't show me in the online
player list after refreshes.
http://www.gametracker.com/server_info/bloxhub.com:27016/
Sometimes gametracker will randomly report that the server is offline when it is not.
I can connect to the server via console with:
connect bloxhub.com:27016
just fine, it shows in my favorites with the same address and nothing local that would surpass firewalls.
I am also running an ARK server through LGSM on the same machine. I am using all default ports for that so I see no reason for any confrontation there.
Is there another port I am missing or something? I have:
ip="<IP_ADDRESS>"
in csgoserver but if I change it to my Ip address the server refuses to start.
http://pastebin.com/z5FGM1wt

You're definitely having an issue with your machine.
Could either be a failing DDoS protection, a failing firewall and port redirect, or bad networking.
As for the IP issue, i should have asked that before :
Is the IP of your machine the same as your public IP ? Is that a VM ?
What is your distro ?
What kind of server are you using ?
What provider, what location ?

This is a home hosted machine. Server grade hardware, Fibre connection, etc.
I feel like if it was a failure in the machine or network then my other servers would be having
some sort of issue as well.
I'm running CentOS 7.1
Not running any VMs

OK
I guess you're using a router ? What router is this ? (for the record)
Weird stuff in your config :
port="27016" sourcetvport="27020" clientport="27005"
You increased the server port from 1, but didn't change other ports. I assume you did that because another server is using 27015 port ? Then another server is probably using the default clientport and sourcetv port. One server, one set of ports.
I'd suggest you to read that entirely, i'm pretty sure i didn't write this for nothing :p  https://github.com/dgibbs64/linuxgsm/wiki/Default-Ports
I'm personally using the method 1 to set my port ranges.

Also, if your server IP isn't your public IP, then you should use your local IP as ip="YOUR LOCAL IP", then the router will do the job as long as your ports are redirected properly.
BTW, run ./csgoserver details to know what are the 3 ports you're gonna have to redirect, and to know if it's UDP or TCP. Redirect them all, don't be lazy as some guys that are happy with one port "as long as it works...", be sure that it works entirely.

Router is from my ISP its an actiontec.
I increased it because ARK is using 27015 for its Query.
As fart as I know the sourcetvport and clientport isn't a thing on the ARK side so I left that alone.
This machine is only running ARK and this one CS:GO server. The other machine in house is running minecraft servers. Yep ran the details and forwarded everything from my router and my firewall, including testing with the firewall off quickly.
If I leave the IP as
ip="<IP_ADDRESS>"
when I run details it will say the local IP of the machine.

ARK is beginning to bore me like hell... :o))
Make sure it doesn't use the whole 27000 IP range, lol.
So did you redirect those 3 ports to the right local IP ?
Dirty and fast way would be to redirect 27000 to 28999 ports TCP/UDP to that machine. Then temporary remove the firewall of that machine. If it works, then you know it's either a firewall or a port issue. Put the firewall back, test again. If it works, it was a port issue. Then redirect those ports properly.

What Im not getting is if I can connect in the console with my IP or bloxhub.com:27016 and can connect to the server, GamTracker sees it, so why can't the public see it? Makes little to no sense to me haha

Yeah I've had those 3 forwarded.

Good

Should I change the ARK Server query port outside of that range?

If you can, you'd better move it away, yes.
Gametracker sees it, but seems not to be able to know your name while on it. Maybe the query is partially working because of a port being unreachable.
Did you remove CentOS firewall i i suggested ? Just for testing.
(BTW, i'm personally think firewalls are almost useless for most people)

yeah I've got it completely off at the moment. Still nothing. Never had this in the past with CS:GO servers I've hosted.

output of
netstat -atunp | grep srcds_linux
tcp        0      0 <IP_ADDRESS>:27016       <IP_ADDRESS>:*               LISTEN      32322/./srcds_linux udp        0      0 <IP_ADDRESS>:26901       <IP_ADDRESS>:*                           32322/./srcds_linux udp        0      0 <IP_ADDRESS>:27005       <IP_ADDRESS>:*                           32322/./srcds_linux udp        0      0 <IP_ADDRESS>:27016       <IP_ADDRESS>:*                           32322/./srcds_linux udp        0      0 <IP_ADDRESS>:27020       <IP_ADDRESS>:*                           32322/./srcds_linux
Is that 26901 referring to the CS:GO server? Haven't seen it mentioned anywhere else.

OK, no need to look anywhere else, your previous post made me think "He hosted CSGO servers in the past... Maybe he doesn't know about GSLT... Does he have the GSLT...  Where is his GSLT setting ?! Oh, there is none...

Grab the latest script version
Configure the GSLT https://github.com/dgibbs64/linuxgsm/wiki/Game-Server-Login-Token

Solved.

I didn't know about that 26901, i don't know what the heck it is. A little googleing seems to indicate that it's the default -steamport 26909 , no idea what the heck it is. Need more googleing.

OK, that port might be used for GSLT in the end :)
Not sure if we can and need to change it to run several GSLT servers. I should try it out.

Ha ok so something like this in the params?
fn_parms(){
parms="-game csgo -usercon -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${sourcetvport} +sv_setsteamaccount [Token] -tickrate ${tickrate} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers_override ${maxplayers} +mapgroup ${mapgroup} +game_mode ${gamemode} +game_type ${gametype} +host_workshop_collection ${ws_collection_id} +workshop_start_map ${ws_start_map} -authkey ${authkey}"
}

Something like that.
Just update your script, there is a setting for gslt ;)

Is that under ./csgoserver update-functions?

No, it's within the csgoserver script !
As i said :
"1) Grab the latest script version (also remove the /functions directory) wget http://gameservermanagers.com/dl/csgoserver"

Yeah just edited my last post as you posted haha. Sorry about that.

NP dude ^^

Thank God it worked haha. Can see it just fine now! Thanks for all the help and the patience lol

I assumed you made a new installation with the latest game script, that's why it took so much time !
Glad it's solved !
GLHF with that csgo server !

No I just Copied the script into a new file and edited it up and sent it over. Worked like a charm.
Figured out my setting and I'ts good to go now. Thanks again. o/


Add support for assignment operators. Fixes #70

Because the non-naive dates are non-copy and the Add/Sub trait is not implemented for references, a clone is needed on on the non-naive types because Add/Sub consumes the value.
Requires Rust 1.8 or higher.

I'm currently undecided on adding Add/SubAssign variants to DateTime, mostly because the addition and subtraction themselves are undecided (keep in mind that Chrono is still at 0.2 :S). Naive types seem to fine to have them, though---I'm happy to accept the reduced version of this PR.

I just realized I committed wrong AddAssign implementations on the naive types here. I will soon create a new a pull request with updated code and tests on the naive types.
If you decide to keep Add and Sub then add the Assigns too, you can create more readable code with them in my opinion.


Use all features for building the docs

It would be quite nice if we knew all the available methods and see them documented. For example, the chrono crate has its docs published but the docs does not mention the from_ts method which is not visible if we use default features, we should use "serde" feature for that. So I propose to build crates with all available features to have documentation about all of it.

You can already select which features to enable when built by docs.rs.
[package.metadata.docs.rs]
features = ["foo", "bar"]

Nope, which is a known issue in and of itself: https://github.com/onur/docs.rs/issues/148

Nice. Then this can be closed.


[SERVER] Add content negotiation for image requests from homebrewery.naturalcrit.com

Your idea:
Analysis of server logs shows that some users are creating placeholder image links that point to homebrewery.naturalcrit.com/share/PLACEHOLDER_TEXT_HERE or similar.
Obviously this does not point to a real image, and the server responds by attempting to load the brew, even though no such brew exists, or could exist.
We can prevent these requests from being processed by adding a content negotiation system to the server middleware (in app.js). In short, the request headers would be parsed, and when found to be a request for an image on any path OTHER than specifically excluded ones (e.g. /assets), the request would receive an immediate 4XX response (possibly 406 Not Acceptable - The requested resource is capable of generating only content not acceptable according to the Accept headers sent in the request.)

From Gitter chat:
G.Ambatte @G-Ambatte - 10:32
Something like:
if(req.headers.accept.split(',').includes('image/*)) {
// check for exceptions
if(imagePathExceptions.includes(req.path) {
return next();
}
return res.send(400, "Homebrewery doesn't serve images");
}
Charlie @jeddai - 10:37
I think more like
req.get('Accept').split(',')
.filter(h=>!h.includes('q='))
.every(h=>/.image/./.test(h))
So that excludes the q factor, then expects all of the remaining ones to match image/
The image path exceptions is a great add, maybe that can be added to the config?


Fix empty $data check since trigger had wrap it into a non-empty array

Description
Fix empty $data check since trigger had wrap it into a non-empty array
Checklist:

[x] Securely signed commits
[x] Component(s) with PHPdocs
[x] Unit testing, with >80% coverage
[x] User guide updated
[x] Conforms to style guide

This change is no longer needed.


DateTimePicker: Clear Date

Category
[X] Enhancement
[ ] Bug
[ ] Question
Version
Please specify what version of the library you are using: [ 3.8.0 ]
Expected / Desired Behavior / Question
When using the DateTimePicker it would be nice to be able to remove a selected date.
Observed Behavior
It is not possible to remove a selectedDate. It is however possible so remove the date by passing in a null value as described in https://github.com/pnp/sp-dev-fx-controls-react/issues/799 .
Steps to Reproduce
Add a datepicker to a webpart and try to remove the date. No clear button available in the (fluent ui) datepicker itself.

I'm happy to do this one as a proper first issue :)
@joelmrodrigues - How should we implement the clear button - as a Fluent UI link or primary button? I think the former is a bit nicer - see below crappy paint sketch...

hi @PeterWCox, please be aware that a PR for the clear-button on the datepicker already has been accepted. See #1218 If you see any improvements on that PR, we can discuss it here. Thanks!


Add torque support to benchmarker

The template passed to the benchmark is not properly parsed when it is for a torque resource. Also the template assumes PNG and GRID are available so can't be used for torque...

Benchmark script is no longer supported.


Hetzner now supports two factor auth

An announcement in the customer support forum (http://forum.hetzner.de/wbb2/thread.php?threadid=22478) was made, that hetzner now supports two factor authentication using yubi-key or RFC 6238/TOTP/Google Authenticator.

@doppelgrau would you like to submit a pullrequest for this?
That forum url requires login, can't read it. :(

Pull request created, hope it's ok.
https://github.com/jdavis/twofactorauth/pull/1262


When merging relationships take the node density into account

In Neo4j 2.2 at least merging of dense nodes can be expensive
Make sure that the ordering of relationship-identifiers puts the less dense node first.
Currently the ordering is weakly defined (by the order of hash-map-keys).
In 2.3 it will be alphabetically and an optimization for MERGE of single-rels.
e.g. http://tinsmith.herokuapp.com/?collection.mutable.HashMap("b"->"b","c"->"c").toMap.values.toList

This will be alleviated a bit in 2.3 and addressed in 3.0 with Ronja writes.
If we stop generating random identifiers for queries, it should be easier to ascertain that the order is correct.

Is this still something we need to consider?

@jexp is this still an issue? which query does this relate to?

This is now done internally with Merge(Into)


Using negative flag forms (e.g. no-header, no-annotate) in config has no effect

When testing out the new config behavior, if I add entries to [tool.pip-tools] like
no-annotate = true

or
no-header = true

then there are two surprises:

the option does not take effect; it must be given in the positive form (annotate = false and header = false)
there is no warning or error about unknown options being given, making this problem easy to miss

Environment Versions

Linux
Python version: 3.10.6
pip version: 23.1.2
pip-tools version: 6.14.0

Steps to replicate
$ git clone https://github.com/jazzband/pip-tools
$ cd pip-tools
$ printf '%s\n' '[tool.pip-tools]' 'no-annotate = true' >>pyproject.toml
$ printf '%s\n' httpx >requirements.in
$ python -m venv .venv
$ . ./.venv/bin/activate
$ pip install -U pip pip-tools
$ pip-compile requirements.in

Expected result
Either

there be no annotations in the output, since --no-annotate is a valid flag, and --no-annotate should also appear in the generated header, or
a warning or error should be presented due to an unrecognized option being supplied

Actual result
WARNING: the legacy dependency resolver is deprecated and will be removed in future versions of pip-tools. The default resolver will be changed to 'backtracking' in pip-tools 7.0.0. Specify --resolver=backtracking to silence this warning.
#
# This file is autogenerated by pip-compile with Python 3.10
# by the following command:
#
#    pip-compile requirements.in
#
anyio==3.7.1
    # via httpcore
certifi==2023.5.7
    # via
    #   httpcore
    #   httpx
exceptiongroup==1.1.2
    # via anyio
h11==0.14.0
    # via httpcore
httpcore==0.17.3
    # via httpx
httpx==0.24.1
    # via -r requirements.in
idna==3.4
    # via
    #   anyio
    #   httpx
sniffio==1.3.0
    # via
    #   anyio
    #   httpcore
    #   httpx

Can reproduce this. Working on a fix.

@AndydeCleyre could you try this draft PR https://github.com/jazzband/pip-tools/pull/1910?


Simple Write Batching

Overview
This pull request adds a simple per-request batching to Server.WriteSeries(). It simply writes each point in the batch individually but does them all in parallel.
This is simply a stop gap solution until we implement full batching.

Ship it.

@benbjohnson -- this is an important change, and @pauldix is keen to see it go in if you're OK with it. It looks good to me. Merge? A resolve is obviously necessary.


Write a JavaScript program to find perimeter of a square

Description
Write a JavaScript program to find perimeter of a square
Perimeter of square = 4 × Side
Side : 2

Perimeter : 8

How to contribute

Save the solution in program/FindPerimeterOfASquare.js file
Add FindPerimeterOfASquare.js file in find-perimeter-of-a-square folder

!assign

!assign

Hey @sidharthbh8, this issue is already assigned to @urlunaticguy !!!
Please choose another issue.
Thanks for your interest in contributing to this project.


[Core] Added Patch Cleanup of patched files

Deletes all the _Original.dll files after patch is complete

These are included for a reason.


Devise intermittently decides it won't listen to my configuration

Hello,
I'm a little bit confused if it's something I've done wrong configuring devise for our application or if it's devise intermittently deciding it doesn't want to work but I thought I should probably raise it just in case someone else has the same problem.
We are using:
Rails: 4.1.15
Ruby: 2.2.4
Devise: 3.5.6
Warden: 1.2.6
I originally added this code to devise.rb in my initializers folder when I originally saw this problem of the devise mailer not using our helpers and it fixed it:
Devise::Mailer.class_eval do
  helper :application
end

But today when I pulled in some new work to our app and migrated a bunch of stuff resetting the server, devise decided it wasn't going to use the helper.
I solved the problem by restarting the server again.
This is what the console spat out when this happened:
  SQL (0.6ms)  INSERT INTO "users" ("admin", "authentication_token", "confirmation_sent_at", "confirmation_token", "created_at", "email", "encrypted_password", "first_name", "gender", "last_name", "mobile", "payroll_identifier", "type", "updated_at") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14) RETURNING "id"  [["admin", "t"], ["authentication_token", "xS2oqc5_iXgCs_xTWo6u"], ["confirmation_sent_at", "2016-04-01 03:01:36.276862"], ["confirmation_token", "Mzn3kfnsiHi9onKEjhWk"], ["created_at", "2016-04-01 03:01:36.075934"], ["email"<EMAIL_ADDRESS>["encrypted_password", "$2a$10$PtRwEY3L3LFjvIQg5MLrEOihqu0KMMirwQFH6IAwCawiFBZvqi5oq"], ["first_name", "Alexia"], ["gender", "Female"], ["last_name", "FIve"], ["mobile", ""], ["payroll_identifier", ""], ["type", "TenantUser"], ["updated_at", "2016-04-01 03:01:36.075934"]]
  Account Load (0.5ms)  SELECT  "public"."accounts".*  Or it happened once and it no longer happens? If it happened once, can you provide a way to reproduce the error?

It appears to only happen after a migration. I'm able to reproduce it when I create new migrations or I'm pulling in new work that requires I run migrations. I of course have to reset the server when I run migrations but the error appears to happen in that first run. It fixes itself after I reset the server again. It's all very confusing sorry.

@alexiamcdonald Thank you for your report.
Well, Devise::Mailer inheritances by default from ActionMailer::Base.
If you are using some different class to have your helper methods you may want to change the inheritance using this config:
config.parent_mailer = 'MyMailerClass'

I don't know if this configuration fits for your use case. If you succeed in reproduce the error let us know.

@alexiamcdonald I'm closing this issue. Feel free to reopen if you find a way to reproduce the error.
Best


Add LDAP installation

This PR:

Adds an LDAP role to set up the environment for the LDAP role
Switches the hostnames of the servers to using the FQDNs
Adds the IPA generated CA to Keycloak so that we can authenticate LDAP
requests

/merge


Indentation characters are not replaced inside non-standard macro calls

If rustfmt is unable to parse a macro call (because braces are used or because the contents are not parseable as a standard Rust construct), it will completely ignore the contents of the macro call. It should still do basic formatting: replace tabs by spaces, strip whitespace at the end of the line, etc.

Closing as a duplicate of #8 amongst a few others. Until such time as we've got a better story for macro formatting, this is going to continue to be the behavior in the spirit of "first, do no harm"


Nd4jTestsC.testMultiSum   test failure

error log:
Tests run: 4, Failures: 0, Errors: 0, Skipped: 2, Time elapsed: 0.119 sec - in org.nd4j.linalg.convolution.ConvolutionTests
Running org.nd4j.linalg.convolution.ConvolutionTestsC
Tests run: 6, Failures: 0, Errors: 0, Skipped: 2, Time elapsed: 0.213 sec - in org.nd4j.linalg.convolution.ConvolutionTestsC
Getting val bias corrected 2.000000 vs normal variance 1.000000 and n 2.000000
Getting val bias corrected 2.000000 vs normal variance 1.000000 and n 2.000000
Getting val bias corrected 0.136927 vs normal variance 0.105519 and n 3.000000
Getting val bias corrected 0.136927 vs normal variance 0.105519 and n 3.000000
Getting val bias corrected 2.500000 vs normal variance 2.000000 and n 5.000000
Getting val bias corrected 2.500000 vs normal variance 2.000000 and n 5.000000
Getting val bias corrected 30200.000000 vs normal variance 29998.666016 and n 150.000000
Getting val bias corrected 30200.000000 vs normal variance 29998.666016 and n 150.000000
Getting val bias corrected 30200.000000 vs normal variance 29998.666016 and n 150.000000
Getting val bias corrected 30200.000000 vs normal variance 29998.666016 and n 150.000000
Getting val bias corrected 0.136927 vs normal variance 0.105519 and n 3.000000
Getting val bias corrected 0.136927 vs normal variance 0.105519 and n 3.000000
Getting val bias corrected 0.136927 vs normal variance 0.105519 and n 3.000000
Getting val bias corrected 2.500000 vs normal variance 2.000000 and n 5.000000
Getting val bias corrected 2.500000 vs normal variance 2.000000 and n 5.000000
Results :
Failed tests:
Nd4jTestsC.testMultiSum:477 expected:<[ 10.00, 18.00]> but was:<[ 6.00, 10.00]>
Tests run: 418, Failures: 1, Errors: 0, Skipped: 11
my env:
java version "1.8.0_73"
Java(TM) SE Runtime Environment (build 1.8.0_73-b02)
Java HotSpot(TM) 64-Bit Server VM (build 25.73-b02, mixed mode)
OS:
Linux gao-VirtualBox 4.2.0-34-generic #39~14.04.1-Ubuntu SMP Fri Mar 11 11:38:02 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

passes.


Enable CSS active pseudo styles in Mobile Safari

I did a quick blog post here detailing a 1 line JS hack to enable CSS active pseudo styles in Mobile Safari:
http://miniapps.co.uk/blog/post/enable-css-active-pseudo-styles-in-mobile-safari/
I believe this also works on Android (although I have yet to test exactly which versions using the emulator). It also works on the Playbook browser (tested).
Maybe worth considering for inclusion? It should be commented out be default, since it is only needed it your web app is not already using touch events on click-able areas.

I am on Android 2.3.3 at the moment, it seems that this hack doesn't work on the webkit browser. I am thinking we can mention this method in the wiki instead of adding to the js. would be better? :)

I'm running Android 2.3.5 here and it does work, but is slightly less responsive than iOS (probably about 300ms delay before active styles show on touch)
If you decide to include this, anywhere you see fit is fine with me :)

added it as an optional method in helper.js :)


Problem of submitting the result to the evaluation server on Codalab

Dear Author, I am highly interset in SportsMOT dataset, I have participated in the competition on the codalab recently. I am familiar with the rules of the submission that one account can only submit one result per day. To submit, I have to upload a .zip file containing text files with the prediction. But I encounter a problem while submitting my result. I have tried to upload my result zip file several days. Still failed to upload it on to Codalab competition. I really need your help！
Thank in advance.

Hello @Qweqwem3m3m3 ,
Thanks for your interest in our dataset! I'm afraid that I couldn't help you solve this problem because this repo is not related to the codalab competition.


add support for rbac v1 API endpoint

As of kubernetes 1.8 RBAC is now stable and the endpoint has changed to rbac.authorization.k8s.io/v1 . I have kept compatibility for older k8s versions.
This is my first PR, let me know if something is missing!

Thank you for the contribution. Looks good. We are currently still setting up e2e testing so I will need to test it out manually on 1.8 and will merge as soon as I can.

Thanks so much, we are looking to move the direction. Be sure to check the updates for router.

Assuming this passes testing, it should ideally get merged simultaneously with four other components that also have RBAC roles and bindings.  As long as it all goes into the same release
I looked at E2E testing this weekend and did not get it done, but I think I will be trying this against GKE and Minikube first.  I don't know if Minikube alone can support the E2E tests on my machines.  (The specs for the test cluster are larger than any machines I have currently at my disposal, but I have a number of free GKE credits, so I should be able to run the suite a few times at no cost.)
I'm going to try to execute the E2E tests without the whole cluster leasing thing at first, as I can't afford to keep multiple test clusters running continuously throughout the day when they are not being used... I'm hoping it does not take more than about two hours for the full suite to run with an appropriately sized cluster and I can get a bead on the cost to test a PR against a single cloud type.
Running the E2E suite for the first time will probably go smoother (or get done faster) if someone else who has already run the suite before is available for a pep-talk.

Done, Did a quick search on the organization and found all the other components, here is a list of PRs:
controller: teamhephy/router#6
router: teamhephy/router#5
monitor: teamhephy/monitor#1
fluentd: teamhephy/fluentd#2
builder: teamhephy/builder#1
Let me know if any other component is missing!

That is the same list of 5 that I came up with when I grepped.  Thank you @n0n0x !

That's interesting... teamhephy/builder#1 CI failed

Yep, what I can see on travi's job log, it is unrelated to my PR. The .travis.yml seems to be missing make bootstrapp which install dependencies.
Here's a link to the previous .travis.yml.
I can maybe copy it and open a new PR and see if it works!

I made a new PR (teamhephy/builder#2) where CI passes, but I am skeptic of the actual results 😝


--min broken in 0.3.3

The new approach to setting initial values (e.g. mins = np.zeros(read_size)) fails for the minimum as the default value is always lower (or equal to) the default value.
Start with a higher value?

Erroneous bug - initial 0 is replaced


Add/remove commas as appropriate.

[x ] I have read freeCodeCamp's contribution guidelines.
[x ] My pull request has a descriptive title (not a vague title like Update index.md)
[x ] My pull request targets the master branch of freeCodeCamp.
[x ] None of my changes are plagiarized from another source without proper attribution.
[x ] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

Looks good @jlewismith, thanks for contributing to freeCodeCamp!


Publish gyroscope data to the Network Table in bbb_canbus_listener

Gyroscope data was not being published in the network table on current master and was also executing the next case statement so this commit will address this issue

Once this is approved I can merge my datapath test refactored code