Fix security issue for V4

Fix the severity issue for the old v4 liteDB version.
The goal is to have a patch for application who cannot update to V5.
Because this is my first PR for this project I think my changes should be properly checked and validated.
fix #2418
PS: This branch should not be merged on master but probably stay on a fix branch.

Hi @viveleltsi, thanks for your code. Your v4 source, did you get from v4 branch or from v4.1.4 tag?

Hi @viveleltsi, thanks for your code. Your v4 source, did you get from v4 branch or from v4.1.4 tag?

Hello ! Thank you for your response. My branch was created on the v4.1.4 tag. (commit 918b6500b16bcb85a1d2e713c5486bd6491f9016).
Would you like me to try rebasing it on the v4 branch ? (Sorry I didn't saw this branch :S )

I rebase my branch onto the V4 branch (commit 46a83879e31a66e02a46d84ec695e537434dbdef) and I rebuild it and run the unit testing. It's all good.

Nice! Thanks.... Could you create a pull request for v4 branch? Than I will create a new tag for this new release

Yes of course. I updated this PR to target the v4 branch.

@mbdavid I updated the PR to the v4 branch :)


Confusion with two similar commands rad auth and rad-auth

When installing all the project packages, a rad-auth command is installed alongside rad which has the rad auth subcommand.  Using rad-auth results in the radicle-node failing to start.
rm -fr $RAD_HOME/*
rad-auth
# id: z6MkvBDVj8nmpNQfa8dAWMSfcPcTMkxVw6AuPruXrnHK3Zrh
# home: /srv/heartwood/var/rad
./bin/radicle-node --listen=$NODE_LISTEN_ADDR
2023-02-01T09:01:12.966-05:00 ERROR node     Fatal: ssh keygen: cryptographic error

That doesn't sound right. Are you sure it's not leftover from radicle-dev/radicle-cli?

 It looks to be a duplicate.

I was making the mistake of building and installing the radicle-tools package.  Its the source of the extra rad-auth command.


Remove chia-sdk-parser

Inner Puzzles
Complex chialisp puzzles tend to use a layered approach, where an ownership puzzle (usually the standard puzzle) is wrapped in multiple layers. Some of the layers might be re-used for other types of coins - for example, both NFTs and DIDs use the singleton top layer. A more recent example: both DataLayer stores and NFTs use the NFT state layer.
This is my attempt at translating this to Rust code. Each layer is implemented separately s it can be re-used for other coin types. Primitives assemble layers and offer more ease of use (trade off w/ functionality - an NFT will always have the same layer structure and should provide methods like 'transfer', which a single layer can't). It's pretty cool to be able to do SingletonLayer::<NFTStateLayer<M, NFTOwnershipLayer<TransparentLayer>>> to describe a puzzle. I also got rid of chia-sdk-parser :)
Not final - let's take this to the place where all important decisions should be taken, Discord PMs

Closing this in favor of Ronald.


Fix the FlexItem edit fragment that non-number value changes are not reflected

@yaraki  could you have a look?


Firewall configuration for Database 1 in the diagram

The diagram seems to imply that connections to Database 1 would succeed even though that database prohibits the given client IP. See the highlighted arrow in the extract below. Should this arrow be removed or am I missing something?

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

ID: 79891897-a11e-6e20-9d41-e4fbbb84311e
Version Independent ID: c8317b35-e80a-7f5d-51bf-7a26b2279595
Content: IP firewall rules - Azure SQL Database and Azure Synapse Analytics
Content Source: articles/azure-sql/database/firewall-configure.md
Service: sql-database
Sub-service: security
GitHub Login: @VanMSFT
Microsoft Alias: vanto

Hi @VitalyMCT - Thanks for bringing this up. The diagram suggests that Server-level Firewall Rule would take precedence over the Database-level Firewall Rule. This is how I understand it, but we do have some contradiction that needs to be cleared up in our doc.
Hey @rohitnayakmsft - Can you help clarify this?
In this section, we state the following:
https://docs.microsoft.com/en-us/azure/azure-sql/database/firewall-configure#database-level-ip-firewall-rules

However, in this section, we seem to contradict that statement:
https://docs.microsoft.com/en-us/azure/azure-sql/database/firewall-configure#connections-from-the-internet

Thanks!

@rohitnayakmsft Please check this further for adding clarity.

The order of evaluation is 1) Vnet firewall rules 2) Database firewall rules and then 3) server firewall rules. I have outlined it in this flowcharthttps://docs.microsoft.com/en-us/azure/azure-sql/database/connectivity-settings#deny-public-network-access

Thank you @rohitnayakmsft for the clarification. @VitalyMCT Please let us know if you have an other question regarding this.

Yes, I am aware of this functionality. My comment is specifically about the arrow highlighted in the image at the beginning of this issue. I think it's erroneous and should be removed.

@VitalyMCT If you check this comment in document section - https://docs.microsoft.com/en-us/azure/azure-sql/database/firewall-configure#server-level-versus-database-level-ip-firewall-rules
Should users of one database be fully isolated from another database?
If yes, use database-level IP firewall rules to grant access. This method avoids using server-level IP firewall rules, which permit access through the firewall to all databases. That would reduce the depth of your defenses.
If a server level rule for an IP has been added, it will give access to all the DB's in the server. So that arrow is appropriate. Also this explanation in this section - https://docs.microsoft.com/en-us/azure/azure-sql/database/firewall-configure#connections-from-the-internet
_When a computer tries to connect to your server from the internet, the firewall first checks the originating IP address of the request against the database-level IP firewall rules for the database that the connection requests.
If the address is within a range that's specified in the database-level IP firewall rules, the connection is granted to the database that contains the rule.
If the address isn't within a range in the database-level IP firewall rules, the firewall checks the server-level IP firewall rules. If the address is within a range that's in the server-level IP firewall rules, the connection is granted. Server-level IP firewall rules apply to all databases managed by the server.
If the address isn't within a range that's in any of the database-level or server-level IP firewall rules, the connection request fails._
Hope this clarifies the question. Please let us know if there is still a question.

At the top of the diagram there is a check:

Database level firewall rules => Client IP Address In Range

Following the workflow, the result of the check is "no". My diagram extract is for that specific diagram path.
Since the database-level firewall for Database 1 denied access the server-level firewall would not override that. Thus Database 1 would be inaccessible via this path. Correct?

@VitalyMCT No, if the IP is in the range of Server rules and not in DB rules, it will still have access to whole server and all DB's. As @rohitnayakmsft said in this comment, the diagram here  - https://docs.microsoft.com/en-us/azure/azure-sql/database/connectivity-settings#deny-public-network-access explains this better with purple arrow for server rule check going to whole server. Hence it will access to both db's.
Also that diagram shows scoped DB's for a particular rule. Additionally this is just an order for how the rule is checked, first in DB rules and than server. If the rule is not found in DB+Server rule there will be no connection to DB.

@VitalyMCT Please let us know if you have any further question regarding this.

@VitalyMCT We are going to close this thread at this time. Please let us know if any further question and we will continue the dialogue.


Updates styles to not cascade in to the component examples

closes #236 and closes #328
@asudoh this is an alternate approach for #340
I'm still not sure its the best way to solve this, but it might cover more cases where we may run in to this issue with cascading styles we don't want.
Would a better approach be to add class names to every heading, paragraph, list, link, div etc so we are positive the styles won't overlap? Originally we had classes on all the headings, but I removed that to get the automatic header linking plugin working.

Would a better approach be to add class names to every heading, paragraph, list, link, div etc so we are positive the styles won't overlap? Originally we had classes on all the headings, but I removed that to get the automatic header linking plugin working.

Reaching to a similar thought while reviewing this code (looks better than mine BTW!) - Which made me wonder addition of CSS class is an absolute breaker of the automatic header linking plugin (e.g. by its system design) or we just saw it not working. 🤔
I think the change is good to go for now.


BSN 4.1 Feedback Required

I recently updated the BSN code base (click the link for a complete changelog) everybody is invited to test and provide feedback. I'm mostly interested to know any issue with Safari/Chrome on iOS, as I've tested everything on WIndows already.
@fmasa @midzer @cvaize @webstaurantstore @dtognazzini @PaulBGD and anyone else
Thank you and have a good one!

dropdown positioning has improved dramatically! i had many issues with dropdowns in a sidebar, with this new version, it's more consistent to what i get with regular bootstrap 5 and popper.

I upgraded to current master to help testing and I get a javascript error on loading:
 Uncaught DOMException: Document.querySelector: '#' is not a valid selector
Error  is in the last line of this function:
  function querySelector(selector, parent) {
    const selectorIsString = typeof selector === 'string';
    const lookUp = parent && parentNodes.some((x) => parent instanceof x)
      ? parent : getDocument();

    if (!selectorIsString && elementNodes.some((x) => selector instanceof x)) {
      return selector;
    }
    // @ts-ignore -- `ShadowRoot` is also a node
    return selectorIsString ? lookUp.querySelector(selector) : null;
  }

Any hints how I can debug this? Site works with BSN 4.0 flawlessly.

@jcorporation I've tested ID selectors on my setup and everything is fine, waiting for your confirmation and perhaps some sample code I can test with.

Found the error:

Must be:

Yes, that is a breaking change mentioned with each commit on the v4.1 branch. So we good now?

May I suggest using this markup:

and
<button data-phrase="Move an output to this partition" class="dropdown-item featPartitions" data-bs-toggle="modal" data-bs-target="#modalPartitionOutputs"></button>

Makes a lot more sense to keep consistency with each component markup requirements.

I missed this breaking change. Its now all good for me, many thanks!

Other question: where are the reference to an initialized element are stored? In previous version I can access it via triggering element e.g. el.Popover, el.Modal. In 4.1 I see no such reference anymore.

That is another breaking change, you now have to do BSN.Carousel.getInstance(selector | HTMLElement). Check the updated documentation/demo ;)

Is there a list of breaking changes?

Works all as described!

Yes, my script uses dropdown and popovers. I have some workarounds in place. I tested now without this workarounds.
There are the same positioning problems as in the old version:
Clipped popover:

Workaround is to set a overflow:auto and resize the popover-body.
Clipped dropdowns:

Workaround is to set dynamically the dropdown-menu-end classes.

This is exactly what my workaround does. I hopped that the improved positioning feature sets the dropdown and popovers too prevent clipping through viewport.

That is true for tooltip / popover, it will try to find the best position so it's always visible within the viewport. However dropdown is much more simple since the .dropdown-menu is contained within the .dropdown element. With other words it might be impossible to code something that is RTL compliant and automatically position the .dropdown-menu with or without the dropdown-menu-end class, believe me I tried, you know what's the reason? One invalidates the other, completely.
The improvements for dropdown are mostly related to RTL as well as more consistent positioning, but again, the dropdown-menu-end class is for you to decide where and when to use.

Why not simply droping in the direction where is the most space? In my first screenshot the popover have more space below but it dropups.
Same with second screenshot, why the dropdown does not align to end? If I do not know the position of the dropdown button at coding time, I must determine the position at runtime and add the class accordingly.
It would be more userfriendly if bsn handle this for me. Or what usecase do I miss?

That's what I have in mind. However, it already does that, exactly showing the dropdown-menu where it has the most space and reposition on window scroll/resize.
If you're using dropleft / dropright and it doesn't have space sideways, it will use either dropdown / dropup position, but it will not get from initial dropdown / dropup to dropleft / dropright as far as I can remember. Maybe here's something we could improve on.
I think you should use dropdown-menu-end class for the dropdown in the second screenshot. It would be consistent with the current scripting and also with the original library and I think shifting to the position of dropdown-menu-end without using the class would invalidate using the class in the first place.

Do you have a test site? I wanna have a look.

Not for the popover, but for the dropdown element.
https://spacepirates.jcgames.de/

click on the search button on the top right, the search dropdown appears
type "wa" to search
close the dropdown and reopen it
if the dropdown does not fit at the bottom it is positioned at top even if at the bottom are more space

That is alpha2, there have been a ton of changes since then.

This is how the latest works, and how it's supposed to work
https://user-images.githubusercontent.com/6761246/153760587-8e59ba37-029a-4634-9d2d-0e56b4e41fff.mp4

For some reason your test site is using the V4 version of BSN which doesn't include the changes I'm talking about.

Sorry, I updated to the wrong version...

Now it should run the latest code, behavior has not changed.

Your search on the site looks good to me, I've cleared the cache and the dropdown-menu is positioned where I expect it to go, except when you minimize to a mobile width and the dropdown is going into .dropdown position but doesn't adjust position.
That dropdown-menu is pretty large, if you want to use the dropstart, I would suggest giving the dropdown a max-height of about 350px and overflow-y: auto, or simply use .dropdown with the .dropdown-menu-end class.

Initial position is as described. But if the dropdown menu does not fit in the space below it always drops up?

If you want the dropdown-menu to be visible on mobile devices, makes sense to limit it's size somehow, right? There is no code to guess where an element larger than the screen should be displayed into.

Can I force it do always dropdown and not dropup?

I tested the different options, but I found no ideal way. What I wanted would be a combined dropdown and dropstart: open the menu at the left side of the button and always dropdown.

If you follow my advice, plus setting your search dropdown-menu min-width: 20rem to @media (min-width: 768) you should have an excellent outcome.

Many thanks for your help. Now I looking for popover positioning.

All other tings I tested: popovers, offcanvas, collapse, modals, carousel works without issues.

Noticed an javascript error. It occurs only in chromium if switched to mobile device view.

It occurs after closing an popover. I do it manually calling the hide() method.

I can confirm that ba090ff fixes the popover js error.


Pf l4m fixes

Fixed in this branch

The new  multiple f-droid repos change caused the build error below.

FAILED:
build/make/core/main.mk:757: warning: Missing required dependencies:
TARGET module Bromite requires non-existent TARGET module: bromite_repos.xml
build/make/core/main.mk:762: warning: Set BUILD_BROKEN_MISSING_REQUIRED_MODULES := true to bypass this check if this is intentional
build/make/core/main.mk:763: error: Build failed.

Your suggested change to fix #25 worked, and is included

The --enforce-uses-libraries fix works for LOS 20 builds, but it seems to break LOS 18 builds. See this comment for details
Reverted the fix - so this PR can be merged


[FEATURE] update releases to work with protected branches

Description
Hello @eddiejaoude
The current workflow for releases doesn't work with protected branches that require pull requests or branches that require status checks to pass before merging because the standard  GITHUB_TOKEN does not give admin access which is required to push to protected branches.
I have a workflow that will allow pushing to protected branches, it requires a Personal Access Token with admin rights to be set as a github secret to be able to achieve this.
the workflow also checks if the INCLUDE ADMINS setting is set before doing the push and will temporarily disable INCLUDE ADMINS make the git push and then re enable INCLUDE ADMINS  if it was previously set.
I have setup the workflow in such a way that if the personal access token is not supplied in the github secrets it will revert to just using the previous workflow using the GITHUB_TOKEN therefore this workflow should work as before if the branch is not protected and admin token not supplied.
I would like to update the releases.yml to use this workflow!!
Screenshots
No response
Additional information
No response

@Sfitzg I'm fascinated about what made you raise this issue, what does this stop you doing?
Some related info:
https://github.community/t/best-practices-for-protected-branches/10204
If it is to release, then you can override these in your repository settings > environments and provide the needed environment variables.

The only real difference is that the workflow disables the includes admins checkbox and then re-enables it after the commit is pushed as I had a really hard time dealing with this and I figured that people could benefit from the updated workflow.
but I'm going to close this issue as you are correct this is not needed in this repo.

@Sfitzg thanks for the explanation, I get it, I think this only applies when you actually do need to force push branches or straight to the main repository.
GItHub doesn't really support this but certainly can have environment-based (testing, prod, et al) secrets that Jinja (?) uses with {{ secrets.blah }}


[Work Item] Don't show TLS 1.3 settings on unsupported OS

Describe the work
Customers are confused that Health Checker shows the TLS 1.3 settings on Server OS that don't support TLS 1.3 (e.g., Server 2016 or Server 2019). I've also seen cases where customers have explicitly set the TLS 1.3 registry keys (on unsupported OS) for client and server, to disable it. I don't think that this shouldn't cause any impact, however, we should improve HC to only show the TLS 1.3 section on Server 2022 or higher OS.

We should improve HC to only show the TLS 1.3 section on Server 2022 OS or higher by default all the time.
If on an unsupported version OS, then TLS 1.3 section should be displayed if enabled/misconfigured.


Feature/make read write metrics optional

Scope & Purpose
Make read / write metrics optional

[ ] :hankey: Bugfix (requires CHANGELOG entry)
[X] :pizza: New feature (requires CHANGELOG entry, feature documentation and release notes)
[ ] :fire: Performance improvement
[ ] :hammer: Refactoring/simplification
[ ] :book: CHANGELOG entry made

Backports:

[ ] No backports required
[X] Backports required for: 3.7

Related Information
(Please reference tickets / specification / other PRs etc)

[ ] Docs PR:
[ ] Enterprise PR:
[ ] GitHub issue / Jira ticket number:
[ ] Design document:

Testing & Verification
(Please pick either of the following options)

[X] This change is a trivial rework / code cleanup without any test coverage.
[X] The behavior in this PR was manually tested
[ ] This change is already covered by existing tests, such as (please describe tests).
[ ] This PR adds tests that were used to verify all changes:

[ ] Added new C++ Unit tests
[ ] Added new integration tests (e.g. in shell_server / shell_server_aql)
[ ] Added new resilience tests (only if the feature is impacted by failovers)

[ ] There are tests in an external testing repository:
[ ] I ensured this code runs with ASan / TSan or other static verification tools

Documentation

All new features should be accompanied by corresponding documentation.
Bugs and features should furthermore be documented in the CHANGELOG so that
support, end users, and other developers have a concise overview.

[ ] Added entry to Release Notes
[ ] Added a new section in the Manual
[ ] Added a new section in the HTTP API
[ ] Added Swagger examples for the HTTP API
[ ] Updated license information in LICENSES-OTHER-COMPONENTS.md for 3rd party libraries

External contributors / CLA Note
Please note that for legal reasons we require you to sign the Contributor Agreement
before we can accept your pull requests.

http://<IP_ADDRESS>:8080/view/PR/job/arangodb-matrix-pr/13748/

http://<IP_ADDRESS>:8080/view/PR/job/arangodb-matrix-pr/13748/

http://<IP_ADDRESS>:8080/view/PR/job/arangodb-matrix-pr/13754/

http://<IP_ADDRESS>:8080/view/PR/job/arangodb-matrix-pr/13754/


Fix For Gradle 7

Tested by building the java sample apps with Java 11 and gradle 7

@mxiamxia should I also increase the wrapper to 7?


Fixed link rendering issue due to newline location

A newline between [] and () caused markdown rendering issues when parsed with kramdown (Jekyll's markdown parser) strangely enough this was not present on github.com but only on kubernetes.io. This change moves the newline between in and rkt.go to preserve the line length somewhat.

I've signed it.

LGTM


Implement a runtime

Create a runtime for tortuga.
The runtime will expose an HTTP 2/3 interface and handle requests by creating a new module instance.
Modules are mapped to a uri and method pair. The headers, http version, and method are not passed to the actor. Only the request body and uri is passed.
Add a subcommand called start that runs the server.

Use async calls in wastime with fuel consumption to improve the predictability of wasm calls.

Host provides a tortuga write message function that takes a memory pointer with enough space to fit the message.
The message size is given on the receive function called by the host. The guest is expected to trap if the message size is too big or cannot be handled for some other reason (i.e. no matching pattern).
Support c, rust, and tortuga in the runtime.
Need to check how rust and c handle anyref.


Passing Lua bytecode to the compiler and getting an AST-Like return value

How would I do this? I've skimmed through the compiler code but as its 23:30 of the time of writing this i can't fully look into the entire source to see how Lua gets compiled to bytecode gets compiled to instructions or if it's Lua straight to instructions and skips bytecode entirely.
I've looked through the compiler example and it seems to be exactly what I'm looking for but i don't know if the prototype is a tree-like value that i can walk through with a simple for loop and a match statement.

Does piccolo have any way to input bytecode instead of lua source? As far as i can tell there are only methods of reading source and not bytecode, I can also not find any method that can output the bytecode to a file for example.

There's no way to input bytecode and get back an AST because that's not what the bytecode is in the first place, the bytecode is compiled instructions for a (simplified) abstract machine, it's basically the same as how PUC-Rio Lua works. That would be very roughly equivalent to taking compiled machine code and getting Rust back out of it, though admittedly still a lot simpler than that. In any case, that's not what the bytecode is designed to do at all, and there are even many equivalent pieces of Lua code that compile to the same bytecode. I might also be misunderstanding the question so sorry if that's the case.
As far as bytecode serialization, I just haven't gotten around to it really? Where the bytecode lives currently is in an 'ops' field of Prototype, it's just a list of instructions exactly as you'd think. There's another type now called... CompiledFunction or something equally uncreative (I'm on mobile, I will check in a second) that's the same thing as Prototype but intended to be shared between VMs, it's really not very different though so it's the same idea.
PUC-Rio Lua actually has a very annoying limitation, being that you can't share in memory representations of compiled code (it refers to them as Prototypes, exactly as I do) between Lua states. This iirc mostly has to do with how "upvalues" work, in fact the only way to share code between Lua states is to compile the code to bytecode then load it again into every state. The intention with the whole CompiledFunction business is to eventually do a little better at that, because it's useful for stuff like game engines with several interpreter instances (theoretically they could actually be pretty darn lightweight, no more than any coroutine would be, if most of the prototype stuff was shareable).
You said "instructions" in your question and I'm not sure what you mean by that, there's no other steps, the compiler takes Lua source code and lexes / parses it into an AST which is in the "parser" module, you can do that now if you want, it's just not terribly useful by itself. Then, the AST is compiled to VM bytecode in a CompiledFunction (which gets turned into a Prototype), and that is run by the VM in a big loop, there's no separate like.. machine code AOT / JIT compilation step, it's just a boring ol interpreter.
Does that help? Also, please know I empathize very strongly with the "it is 23:30 and I am tired and what the heck is all this 😔" feeling so don't worry about stupid questions here.

Also, just to explain some more background...
This crate is less of a polished API and more of an undocumented set of weird lego blocks that you can make a Lua interpreter out of, so it's understandable that it's confusing to navigate.
The reason for this is really because.. well, partially because of the WIP state of things, but also because using a high level API can be quite limiting, the limitations around sharing in memory representations of function prototypes is a good example. Another example is implicit sharing, the current direction for the crate is towards basically having almost no required global state, the Root main_thread and globals table is mostly convention, I might not even keep those at ALL and just leave the registry and string interner.
Using PUC-Rio Lua's C API does not allow you to easily control shared state like this, it's quite difficult actually to instantiate N different independent versions of a chunk / function / coroutine or whatever without having full blown separate lua_States. The reason for that is partially API complexity but I think in large part it's because touching the PUC-Rio Lua garbage collector is incredibly unsafe, so the API has to shield the user from it entirely.
Since the garbage collector system here is completely safe, I don't have that problem, so I'd like to more or less expose everything and just let the user pick and choose what they want. You can do a lot of neat things with this... want 10,000 different coroutines all running the same code and preemptively scheduled? Easy! Want ensure that each of those runs completely independent from the rest of them with no possibility of interaction? No sweat. That's basically the kind of API I want to have, as unrestricted as I can manage, let the user do weird things if they want.

That explains a lot, thank you very much, don't worry about all the stuff i tried explaining i am still very tired and had no idea what i was writing yesterday. Feel free to close this issue if needed.


Add New Feature: Connection Recommendations

Connection Recommendations: recommend new connections based on your existing network. Rank Connections by Job Title Similarity

A possible python package could be Scikit-learn, which is a comprehensive machine learning library

Might not be able to do "new" connections if the only data we can get from linkedin is our existing network. Instead the recommendation we can look for is a combination of "high value" and "not recently engaged" connections. So you could run these two commands sequentially to get  your final list of recommended (re) connections

High Value = connection that has x or more shared skills from a "desired" set of skills we'd need to create
Not Recently Engaged = connections that we have not interacted with (messaging and liking/commenting?) in the last 12 months

Might not be able to do "new" connections if the only data we can get from linkedin is our existing network. Instead the recommendation we can look for is a combination of "high value" and "not recently engaged" connections. So you could run these two commands sequentially to get your final list of recommended (re) connections

High Value = connection that has x or more shared skills from a "desired" set of skills we'd need to create
Not Recently Engaged = connections that we have not interacted with (messaging and liking/commenting?) in the last 12 months

This is a good point; I don't think we'll be able to pull new connections. I think the only way to do this without using the LinkedIn API and making a request to their server, is to integrate a further web scrapping component where we use our network analysis feature to search the internet for recommended names/popular keywords instead of through the LinkedIn website/app so we don't have to work with the API.
I like your suggestion. If that doesn't work, another feature we could add here if this poses too many issues for our timeframe is to add a ranking feature based on a factor from the csv.

Confirmed: We'll have to table this feature for now as the CSV data pulled from LinkedIn does not contain enough information to generate new recommendations


add result should/could report ID of added record

I created a new catalog, I added a record, I get:
{"action": "catalog_add", "message": "Metadata items successfully added to catalog", "path": "cat-dir", "status": "ok"}

There is no information on what record was added. However, my next task is set-super, which requires me to specify a dataset ID and a VERSION. IN order to provide this information, I either need to inspect the input file(s), or I need to compare the state of the metadata output directory pre vs post.
I think it would be sensible to include this information in the result.

In addition, the current result record is only yielded once at the end of the command execution, and not once per catalog record addition which would be more in line with results handling in datalad core and extensions.
I'm currently working on a major refactor of datalad-catalog commands and entrypoints, and current changes in that PR includes a fix to render results once per catalog addition: https://github.com/datalad/datalad-catalog/pull/309/commits/31662295c4a00846aef6b74b79e30d03984c8bee#diff-25a27b620d6430e66149657933908bf1722b107d7dfc5e34fe2b004644cd95ba
Feels like that would also be a good place to update the result record to include information about the added catalog record.
However, if this change is required sooner, an interim change in current main will be easy enough.

Closed by https://github.com/datalad/datalad-catalog/pull/309


inputs return as [object Object] in 7.0.x

JSFiddle: https://jsfiddle.net/78tdrgrn/
Expected Output: Suppose to return the value selected but returns as an [object Object]. This wasn't a problem in 6.x as it returned the option selected. I am hoping that this gets fixed as it keeps me from updating as i use it in an Open Source project.

This is part of the breaking changes of v7.0.0 release
@limonte lists available options in the release notes to either use the new syntax or make it backwards compatible with < v7.x


Sendmail

Tried to send mail to a mailhog/mailcatcher container but without avail. Is sendmail installed?

Hi @digitall-it ,
Thank you for your question. sendmail is not installed by default on this image, however you can use the same process in Issue #10 to extend brettt89/silverstripe-web and install you mail service as desired (e.g. sendmail / mailhog / ssmtp, etc)


Added new folder with the first data for Master JMeter Script

[](https://issues.folio.org/browse/PERF-495)


ERR! ERESOLVE unable to resolve dependency tree

I just tried to update, so pulled the latest codebase, and ran:
$ sudo -u umami npm install
npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! While resolving<EMAIL_ADDRESS>npm ERR! Found<EMAIL_ADDRESS>npm ERR! node_modules/react
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!   peer<EMAIL_ADDRESS>|| ^18.0.0-0" from<EMAIL_ADDRESS>npm ERR!   node_modules/next
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!     peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR!     node_modules/next-basics
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!   1 more (react-dom)
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR! node_modules/next-basics
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR!
npm ERR! See /home/umami/.npm/eresolve-report.txt for a full report.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/umami/.npm/_logs/2023-02-15T05_28_58_684Z-debug-0.log

If only npm could manage to write lucid error reports in moderately natural language. I cannot decipher this without some upskilling, but clearly something to do with react and next-basics.
Any tips for someone keen to understand/learn and or how a dependency tree can be broken?

Have you tried using yarn instead?

No. No experience with that. How do I do that?

Worked it out. That updated fine, built fin and starts fine. Alas Now when I try to log in:
Feb 16 12:13:30 shelob yarn[259269]: The column `account.account_uuid` does not exist in the current database.
Feb 16 12:13:30 shelob yarn[259269]:     at RequestHandler.handleRequestError (/home/umami/umami/node_modules/@prisma/client/runtime/index.js:3194>
Feb 16 12:13:30 shelob yarn[259269]:     at RequestHandler.handleAndLogRequestError<EMAIL_ADDRESS>Feb 16 12:13:30 shelob yarn[259269]:     at RequestHandler.request (/home/umami/umami/node_modules/@prisma/client/runtime/index.js:31908:12)
Feb 16 12:13:30 shelob yarn[259269]:     at async PrismaClient._request (/home/umami/umami/node_modules/@prisma/client/runtime/index.js:32994:16)
Feb 16 12:13:30 shelob yarn[259269]:     at async __WEBPACK_DEFAULT_EXPORT__ (/home/umami/umami/.next/server/pages/api/auth/login.js:107:21)
Feb 16 12:13:30 shelob yarn[259269]:     at async Object.apiResolver (/home/umami/umami/node_modules/next/dist/server/api-utils/node.js:366:9)
Feb 16 12:13:30 shelob yarn[259269]:     at async NextNodeServer.runApi (/home/umami/umami/node_modules/next/dist/server/next-server.js:481:9)
Feb 16 12:13:30 shelob yarn[259269]:     at async Object.fn (/home/umami/umami/node_modules/next/dist/server/next-server.js:735:37)
Feb 16 12:13:30 shelob yarn[259269]:     at async Router.execute (/home/umami/umami/node_modules/next/dist/server/router.js:247:36)
Feb 16 12:13:30 shelob yarn[259269]:     at async NextNodeServer.run (/home/umami/umami/node_modules/next/dist/server/base-server.js:347:29) {
Feb 16 12:13:30 shelob yarn[259269]:   code: 'P2022',
Feb 16 12:13:30 shelob yarn[259269]:   clientVersion: '4.9.0',
Feb 16 12:13:30 shelob yarn[259269]:   meta: { column: 'account.account_uuid' },
Feb 16 12:13:30 shelob yarn[259269]:   batchRequestIdx: undefined
Feb 16 12:13:30 shelob yarn[259269]: }

Oh the joys. I shall drill down I guess.  Silly me should have backed that database up ;-)

Looking into the database with psql, I see everything looks good. All my data seems intact ;-) but:
umami=# \d account
                                         Table "public.account"
   Column   |           Type           | Collation | Nullable |                 Default
------------+--------------------------+-----------+----------+------------------------------------------
 user_id    | integer                  |           | not null | nextval('account_user_id_seq'::regclass)
 username   | character varying(255)   |           | not null |
 password   | character varying(60)    |           | not null |
 is_admin   | boolean                  |           | not null | false
 created_at | timestamp with time zone |           |          | CURRENT_TIMESTAMP
 updated_at | timestamp with time zone |           |          | CURRENT_TIMESTAMP
Indexes:
    "account_pkey" PRIMARY KEY, btree (user_id)
    "account_username_key" UNIQUE CONSTRAINT, btree (username)
Referenced by:
    TABLE "website" CONSTRAINT "website_user_id_fkey" FOREIGN KEY (user_id) REFERENCES account(user_id) ON UPDATE CASCADE ON DELETE RESTRICT

reveals account_uuid is missing. Indeed. It seems in the yard build a migration was missed. Is this indicative of a deeper problem? I could create a single column, and even populate it (only have two accounts on the system). But it is worrying that I saw yarn apply migrations but it seems to have missed one?

And before I fiddles with schema by hand I'd want to know what else may have changed on it.

But guess what:
https://github.com/umami-software/umami/blob/master/sql/schema.postgresql.sql
It's not even in the schema! Dear me.

It looks like this migration:
https://github.com/umami-software/umami/blob/aceb904398b527658676879b11ff22135b7cbaf8/db/postgresql/migrations/04_add_uuid/migration.sql
was not applied!

So now, I need to work out which migrations have been applied and how to check and apply migrations.

Done. Inspected migrations 1 to 3 and confirmed they are all in my schema already, then ran migration 4 with psql and now I can log in again and it looks like I'm updated.


Cannot share ActionType between modules

Hi,
I have beginning to split different generators in different files for maintainability.
Is there a way to share an action type?
For instance, I have the following plopfile.js:
 plop.setActionType('myactiontype', function (answers, config, plop) {
        // do something
    });
plop.load('./myfile.js');

inside myfile.js:
module.exports = function (plop) {
plop.setGenerator('DataLakeStore', {
    description: 'This module generates ARM template file for a Data Lake Store',
    prompts: [...],
    actions: [
        ...
        {
            type: "myactiontype"
        }
});
}

It generates an error:
[FAILED] myactiontype Invalid action (#3)

Yes, you can share custom actions using plop.load(). In your example, are you trying to "push" the actions into the plopfile with the load method? If so, that's your problem. plop.load will "pull" assets into the current plopfile.
example
actionTypes.js
module.exports = function (plop) {
    plop.setActionType('myactiontype', function (answers, config, plop) {
        // do something
    });
    plop.setDefaultInclude({ actionTypes: true });
}

plopfile.js
module.exports = function (plop) {
    plop.load('./actionTypes.js');
    plop.setGenerator('DataLakeStore', {
        ...,
        actions: [{
            type: "myactiontype",
            ...
        }]
    });
}

Thanks for your answer. I have ended up with the following files so I can share myactiontype among my loaded generators:
actionTypes.js
module.exports = function (plop) {
    plop.setActionType('myactiontype', function (answers, config, plop) {
        // do something
    });
    plop.setDefaultInclude({ actionTypes: true });
}

myfile.js:
module.exports = function (plop) {
plop.load('actionTypes.js');
plop.setGenerator('MyGenerator', {
    description: '...',
    prompts: [...],
    actions: [
        ...
        {
            type: "myactiontype"
        }
});
}

plopfile.js
plop.load('./myfile.js');

Does it seem fine?

I think that seems logical. It certainly makes your plopfile lightweight!

you also have the option of deploying your actionTypes and/or generators to npm and loading them into multiple projects.


Think about to fix the issues found by adapter checker

I am an automatic service that looks for possible errors in ioBroker and creates an issue for it. The link below leads directly to the test:
https://adapter-check.iobroker.in/?q=https://raw.githubusercontent.com/Pmant/ioBroker.vis-justgage

[ ] [E104] No common.titleLang found in io-package.json
[ ] [E150] No common.connectionType found in io-package.json
[ ] [E152] No common.dataSource found in io-package.json
[ ] [E300] Not found on travis. Please setup travis
[ ] [E801] No repository about text found. Please go to "https://github.com/Pmant/ioBroker.vis-justgage", press the settings button beside the about title and add the description.
[ ] [E802] No topics found in the repository. Please go to "https://github.com/Pmant/ioBroker.vis-justgage", press the settings button beside the about title and add some topics.

Thanks,
your automatic adapter checker.
P.S.: There is a community in Github, which supports the maintenance and further development of adapters. There you will find many experienced developers who are always ready to assist anyone. New developers are always welcome there. For more informations visit: https://github.com/iobroker-community-adapters/info

Do you need help fixing the bugs?

obsolete


⚠ ClamAV has degraded performance

In 19949a6, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 197 ms

Resolved: ClamAV performance has improved in fc108e3 after 10 minutes.


Fixes #99. Removes ancient readline and custom tab completion code in favor of native + std rlcompleter.

Please see comments in Issue #99.
Synopsis:

Prior to this change, in order to provide tab completion in a seash session on OS X (which ships a somewhat crippled non-GNU readline with Xcode python), we shipped an old readline.so.mac library with seash, and also a tab_completer.py custom module, with some minor integration code involving a hot file rename. ^_^
Unfortunately, that readline.so.mac library has a bug (see here) that results in a nonsense escape character being spat out to stdout anytime readline is imported. This caused some problems for utf, which detected that as test failure anytime readline was imported.

This change removes all that and instead just uses whatever native readline is available on *nix or OS X, and imports rlcompleter to handle tab completion. Yay for less code!

All tests that should pass pass locally (3 failures: ut_seash_getrelease.py, ut_seash_getrelease_insecure.py, ut_seash_moduleconflicterror.py - just as with vanilla).
If PR #98 were merged, the tests via AppVeyor and Travis would occur and show up here.

This change also breaks tab completion of local files / folders, which I hadn't previously understood. /:

loadkeys ~/
should provide completion but does not here. Will have to try fixing it and issue another PR.


Talk to Your Documents with Retrieval-Augmented Generation not working

Hi,
I've tested the "talk to your document feature" via the notebook demo (OnPrem.LLM-QuickStart.ipynb) but it doesn't work. It seems to be during the data "ingestion".
Here is the error I get:

AttributeError                            Traceback (most recent call last)
 in <cell line: 1>()
----> 1 llm.ingest('/tmp/sample_data')
14 frames
/usr/local/lib/python3.10/dist-packages/numpy/testing/_private/utils.py in
55 IS_PYSTON = hasattr(sys, "pyston_version_info")
56 HAS_REFCOUNT = getattr(sys, 'getrefcount', None) is not None and not IS_PYSTON
---> 57 HAS_LAPACK64 = numpy.linalg._umath_linalg._ilp64
58
59 _OLD_PROMOTION = lambda: np._get_promotion_state() == 'legacy'
AttributeError: module 'numpy.linalg._umath_linalg' has no attribute '_ilp64'
UPDATE:
I've tested the solution given in https://github.com/amaiya/onprem/issues/4 but it solved the problem for the local .py version, and it's too long with no GPU. Therefore I'm still in trouble with the Jupiter notebook version.
Thank you
Julien

Hello,
I just tested the Google Colab notebook to which you are referring and everything worked perfectly.  If you downloaded the notebook and running it locally, it may be a problem with your numpy installation.  See this post for a fix (which involves uninstalling and reinstalling numpy).

Also, if you're running the notebook within Google Colab with a GPU, please make sure you restart the notebook, as instructed in the notebook.  Feel free to respond to this thread with further questions.

You're perfectly right. I didn't understand that I must restart the environment, I guess it's because it sounds weird. But all is ok now, sorry for spending your time.
Julien


NonNullable is not resolved for a mapped type in a contextual parameter type from instantiated type alias

Bug Report
🔎 Search Terms
NonNullable, Omit, mapped type, contextual type
🕗 Version & Regression Information

This changed between versions 4.7 and 4.8

⏯ Playground Link
Playground link with relevant code
Original repro case
💻 Code
type GestureKey = "drag";
type DragState = { movement: [number, number]; };

interface State {
  drag?: DragState;
}

type SharedGestureState = {
  dragging?: boolean;
};

type FullGestureState<Key extends GestureKey> = SharedGestureState &
  NonNullable<State[Key]>;

type Handler<Key extends GestureKey> = (
  state: Omit<FullGestureState<Key>, "event">
) => void;

const works = (state: Omit<FullGestureState<"drag">, "event">) => {
  state;
  // ^? (parameter) state: Omit<SharedGestureState & DragState, "event">

  type StateKeys = keyof typeof state;
  //   ^? type StateKeys = "dragging" | "movement"
  console.log(state.movement);
};

const doesntWork: Handler<"drag"> = (state) => {
  state; (parameter) state: Omit<SharedGestureState & DragState, "event">
  // ^? (parameter) state: Omit<SharedGestureState & DragState, "event">

  type StateKeys = keyof typeof state;
  //   ^? type StateKeys = "dragging"
  console.log(state.movement); // Property 'movement' does not exist on type 'Omit<SharedGestureState & DragState, "event">'.(2339)
};

🙁 Actual behavior
We can observe a type error in the doesntWork function and the keyof reporting incorrect result there for the given parameter type.
🙂 Expected behavior
There should be no error as the type for the state parameter in both functions is the same.
cc @ahejlsberg

The core issue here is the normalization we perform on index types. Specifically, we generally normalize keyof (A & B) into keyof A | keyof B. Turns out that doesn't always hold when A and B are generic types:
type Foo = { x: string } | undefined;
type Bar = { y: string };

type FooAndBar = Foo & Bar;

type Keys<T, U> = keyof (T & U);  // Normalized into keyof T | keyof U

type K1 = keyof Foo;  // never
type K2 = keyof Bar;  // "y"
type K3 = Keys<Foo, Bar>;  // "y"
type K4 = keyof (Foo & Bar);  // "x" | "y"

Above, keyof Foo | keyof Bar is just "y", whereas keyof (Foo & Bar) is "x" | "y" because Foo & Bar is reduced to just { x: string} & { y: string }, thus eliminating the undefined type.
We already have logic in place to defer types like keyof (T & {}), but it looks like we need to defer all keyof (T & U) where one or both of the types are generic. We can then simplify the type to keyof T | keyof U where appropriate. I'm going to put together a PR and we'll see what the effects are.


chore: bump @testing-library/react 12.1.5 -> 16.0.0

Bumped to latest @testing-library/react mainly to fix those annoying ReactDOM.render is no longer supported in React 18 warnings.
Required some major test refactors, and a few changes to App state updates.
Mainly, we're now forced to use act() for every state update made within tests.
There were also some race conditions that were manifesting only in tests, although it's possible it could happen in browser as well.
notes

wrapped several state updates we were rawdogging through h.elements = or h.app.setState() etc. into helpers wrapped in act()

many helpers depend more and more on the global h.app instance, which means this will start breaking if test cases were to be run concurrently — which isn't the case currently and likely won't be the case. But something to keep in mind.

I've replace some toMatchInlineSnapshot with toMatchSnapshot in places where there was tendency for it to create trailing whitespace or other lint issues that would get fixed on file save (due to eslint/prettier/.editorconfig), breaking the inline snapshot.

removed most await new Promise(r => setTimeout(r, 0)) calls since now that we're "properly" using act(), it shouldn't be necessary. If there are some flakes, we'll reintroduce.
Some of these sleeps also tended to mess with act() call. E.g.
await new Promise(r => setTimeout(r, 1))
act(() => {
  // some action
})

...would make the act() not be often recognized and the test runner will complain about not using it.
But, since we're now properly wrapping state updates into act(), sleeping is largely unnecessary, so removing it solves the problem.

Maybe since we are touching a lot of tests shouldn't we add the explicit React imports to avoid UMD global errors?


npm run build doesn't generate slugs

Hi, sorry if I'm misunderstanding how this works. I created some entries in the manifest, without defining any custom slugs. "advanced_slugs" is set to true. I thought running npm build was supposed to generate slugs in the manifest automatically based on the title property, but I didn't see this happen. I do not have md files created for the entries in the manifest yet, do I need to do this first? Thanks for your help.

Hi!
When setting advanced_slugs to true, you'll need to make sure you md follows this naming pattern: directParentCategory-titleOfYourArticle. So let's say for example you set up your file hierarchy in your manifest as follow:
"articles" : {
  "Category 1": [
    {
      "title": "Example Article",
      "tags": []
    }
  ]
}

you would need to have a md file named category-1-example-article in your static/docs folder.
Basically, the manifest is just a way to make sure we link the right slug to the right file. advanced_slugs is particularly useful when you have multiple md files that might be named the same but under different categories (eg. Cars/tires.md and Trucks/tires.md).
In scenarios where this might not happen (advanced_slugs : false), Bük will simply consider your article title as the slug and link that to your md file.
That was a good question, I'll make sure to edit the doc so we can avoid any confusion in the future!

Hey @b-pmcg, hopefully I can add to the above help give an example from one of my projects. Keep in mind, I'm editing some of this to keep things more private, but it should be simple enough to be an example. A portion of my manifest.json is below:
"options": {
    "advanced_slugs": true,
    "introduction": null,
    "lang": "en",
    "uml": false
  },

  "articles" : {
       "Training": [
      {
        "title": "Getting Started",
        "tags":[
          "help",
          "start",
          "log on",
          "log in",
        ],
        "slug": "T-GettingStarted"
      },
      {
        "title": "Phone Etiquette",
        "tags":[
          "phone etiquette",
          "etiquette",
          "how to talk",
          "advice"
        ],
        "slug": "T-Etiquette"
      },
   ],
}

Within my /docs folder, I have the files T-GettingStarted.md and T-Etiquette.md. Both of these files are then called on by the advanced slugs ("slug":), because I mention them directly. (I use "T-" to show it's under "training" for my organization purposes.)
Hopefully this helps?

@hang-up  thanks for the quick response, that explains it nicely. Lets see if I'm understanding it now. I create an MD file to match the manifest schema (as in your example) then execute the build command, which will now automatically generate the slug, because it found the matching markdown file. I think I get the matching logic, I'm still unsure if the slug gets generated automatically, or if that part requires my input. Thanks for the help, I'll try it out tonight.

Yup you're right! steps bulletpointed would be:

Create your schema in manifest.json
Name your md files according to how you defined them in the manifest
npm run build

I'm not sure to understand what you mean with requiring your input for slug generation?
Let me know if this works!

@lloyd094 there's even more magic to the slug generation! When specifying the slug key on each article (ie. "slug": "T-Etiquette"), you don't even need to set up the advanced_slugs option anymore, it gets overwritten automatically ;)

Hey @hang-up I figured it out finally. Sorry I didn't respond sooner but was busy over the week. My confusion was because, for some reason I was expecting the build process to actually write to the manifest.json file with the slug it create. But I see this is just done "behind the scenes." Everything you and @lloyd094 described makes sense now. Thanks for the help!


Fix-forward sync.h include on Android.

Following https://github.com/google/iree/pull/3884 now that I have Android building locally.

@GMNGeoffrey can we trigger an Android build to run on presubmit on this?

@GMNGeoffrey can we trigger an Android build to run on presubmit on this?

The way it's configured currently, the answer appears to be "no", unfortunately. The steps are each configured to skip if the branch isn't "main" (instead of just limiting the pipeline to "main"). Let me look into changing that. Even then though, there doesn't seem to be a way to manually trigger a build for a branch in a fork, which is annoying :-/ I'll contact buildkite support.

@GMNGeoffrey can we trigger an Android build to run on presubmit on this?

The way it's configured currently, the answer appears to be "no", unfortunately. The steps are each configured to skip if the branch isn't "main" (instead of just limiting the pipeline to "main"). Let me look into changing that. Even then though, there doesn't seem to be a way to manually trigger a build for a branch in a fork, which is annoying :-/ I'll contact buildkite support.

I think I figured out a way to make BuildKite test this.

@GMNGeoffrey can we trigger an Android build to run on presubmit on this?

The way it's configured currently, the answer appears to be "no", unfortunately. The steps are each configured to skip if the branch isn't "main" (instead of just limiting the pipeline to "main"). Let me look into changing that. Even then though, there doesn't seem to be a way to manually trigger a build for a branch in a fork, which is annoying :-/ I'll contact buildkite support.

I think I figured out a way to make BuildKite test this.

Nope. It isn't working. If you tested locally, go ahead and merge


Install kernel dependencies with the -U flag

When install ipykernel, etc we should update the depednencies.
We have had plenty of cases where users had it installed, but versions were incorrect.
They had to uninstall & re-install.
For instance I had an issue with ipykernel in a conda environment.
Had an old version of ipython, hence when installing ipykernel, an old compatible version got installed. However that version of ipython is too old, similarly its possible the versio of ipykernel is also old.
The solution was conda install ipykernel --update-deps
We might want to do the same for pip install ipykernel -U

We might also want to consider makign it possible to pass in the argument --force-reinstall.
We found at least in 2 occasions that this works.
hence we might have scenarios where we have -U as well as --force-reinstall.
TLDR - ensure we can pass more than just the one argument.

We should probably use --update-deps --force-reinstall only when first install of ipykernel fails.
Probably worth discussing with team.

Discussed solution:

if ipykernel is available (pip list), then pass flags to Python to force update & force re-install

I do get a prompt for conda and non conda environments, but for conda the install command fails.
Conda:

Conda install errors out:

Non-conda (pip):

validated, in both the jupyter and python extensions


crash with model body-pix-float-050-8.tflite

System: Fedora 36
Backscrub: version heads/main-0-g4f70bc1 (Tensorflow: build tags/v2.8.0-0-g3f878cff5b6, run-time 2.8.0)
opencv 4.5.5
Launching backscrub with:
backscrub -c /devvideo0 -v /dev/video3 -m body-pix-float-050-8.tflite

crash at libbackscrub.cc line 368
	cv::resize(ctx.ofinal(ctx.in_roidim),tmpbuf,ctx.mroi.size());

ctx.ofinal has a size of 33x33 and ctx.in_roidim 257x257
Modify the code to
	ctx.ofinal.copyTo(tmpbuf);
        cv::resize(tmpbuf,tmpbuf,ctx.mroi.size());

solve the problem partially. Of course, the result is not very nice.
(With the arguments -d -d there is a crash again).

The -d increases the debug level. Thus if you see the crash with the more verbose code paths this indicates that you're still hitting some invalid states that just are hidden on low verbosity.

The effect of the debug level is known.
The primary problem is the call cv::resize(ctx.ofinal(ctx.in_roidim),tmpbuf,ctx.mroi.size());.
As far I understood the code, ctx.ofinal(ctx.in_roidim) implies scaling (here) or cropping.  The call within cv::resize don't always work. I had a similar issue while trying to crop the input image in order to not have the video output stretched.

As we have now identifed here: https://github.com/floe/backscrub/pull/153#discussion_r967831025 this is a result of the output stride inherent in the model, that our existing design takes no account of.

For the body-pix segmentation we have an output size 33x33 and with my modifications I don't have seen differences between the original and the modified code (if I except crashes, which are no more present).


Convert memory metrics to bytes

Related: https://github.com/iopipe/iopipe-python/pull/198
The following should be in bytes to be consistent with the node agent:

os.environment.totalmem
os.environment.usedmem
os.environment.freemem

Other metrics can remain as is for now.

I created pull request #59 for this issue.

This is fixed in #59.


Shiro-Raven's challenge 2 submission

@Shiro-Raven - Great idea to use a comparator on qram memory addresses, which I figure is how you prevent duplicate permutations (e.g. ['1001', '1000'] and ['1000', '1001']) from being marked or am I misunderstanding?

@Shiro-Raven - Great idea to use a comparator on qram memory addresses, which I figure is how you prevent duplicate permutations (e.g. ['1001', '1000'] and ['1000', '1001']) from being marked or am I misunderstanding?

Yes, exactly! I thought I can use that as a way to augment the oracle, since we don't know the number of solutions beforehand.

Yes, exactly! I thought I can use that as a way to augment the oracle, since we don't know the number of solutions beforehand.

Iteratively upper-bounding the minimum distance is a really clever approach!
But I'm sceptcial that amplifying all states below the currMinHam could take non-scaling runtime???
Specifically, you used IntegerComparator from the library, which seems to hide the runtime
And I also realised that the adder and QRAM also take scaling runtime to implement.
Which I also used and overlooked in the runtime analysis of my own code

Iteratively upper-bounding the minimum distance is a really clever approach!
But I'm sceptcial that amplifying all states below the currMinHam could take non-scaling runtime???
Specifically, you used IntegerComparator from the library, which seems to hide the runtime
And I also realised that the adder and QRAM also take scaling runtime to implement.
Which I also used and overlooked in the runtime analysis of my own code

Hmm yeah, you are raising some valid concerns there. I will go through each of them, but first, I suggest you go through this paper, since it was a main inspiration for my approach. So:

Regarding the scaling runtime of the QRAM, I don't think it is a problem, since it's not the dominating element of the complexity of the algorithm. According to the paper, it takes logarithmic time in terms of the length of the search space.
The adder scales up linearly with the number of qubits, but that's also not the dominating element, so no problems there.
The IntegerComparator is a fairly simple circuit, in my opinion. You can inspect its decomposition in the docs here.
As to your point regarding the linearity of amplifying all states below the currMinHam, I think that the constraint I am applying to the value of the addresses (which results in an augmented oracle) somehow adds an upper bound to this amplification, which I believe is O(sqrt(N)), so we don't have to worry about this in our analysis of the complexity.

Please ask again or correct me if anything seems unclear/wrong. My knowledge of Quantum Algorithms Analysis is mediocre at best, but I tried my best to get this right :sweat_smile:  Thank you so much for the feedback! :smile:

Hmm yeah, you are raising some valid concerns there. I will go through each of them, but first, I suggest you go through this paper, since it was a main inspiration for my approach. So:

Regarding the scaling runtime of the QRAM, I don't think it is a problem, since it's not the dominating element of the complexity of the algorithm. According to the paper, it takes logarithmic time in terms of the length of the search space.
The adder scales up linearly with the number of qubits, but that's also not the dominating element, so no problems there.
The IntegerComparator is a fairly simple circuit, in my opinion. You can inspect its decomposition in the docs here.
As to your point regarding the linearity of amplifying all states below the currMinHam, I think that the constraint I am applying to the value of the addresses (which results in an augmented oracle) somehow adds an upper bound to this amplification, which I believe is O(sqrt(N)), so we don't have to worry about this in our analysis of the complexity.

Please ask again or correct me if anything seems unclear/wrong. My knowledge of Quantum Algorithms Analysis is mediocre at best, but I tried my best to get this right :sweat_smile:  Thank you so much for the feedback! :smile:

Maybe I'm misunderstanding your algorithm, but
The lower bounding of the distance (i.e. the classical iteration) occurs on average $\sim \log(n)$ times?
And within each of those iterations, you'd have to do Grover's algorithm for $n$ iterations (oracle & diffusion)?
But what if each individual oracle takes $O(n)$ runtime too; through the QRAM, adder, and/or phase flipping states one by one.
Then wouldn't the total runtime but $n^2 \log(n)$?

Maybe I'm misunderstanding your algorithm, but
The lower bounding of the distance (i.e. the classical iteration) occurs on average $\sim \log(n)$ times?
And within each of those iterations, you'd have to do Grover's algorithm for $n$ iterations (oracle & diffusion)?
But what if each individual oracle takes $O(n)$ runtime too; through the QRAM, adder, and/or phase flipping states one by one.
Then wouldn't the total runtime but $n^2 \log(n)$?

Hmmm I think you are right there :sweat_smile:

Hmmm I think you are right there :sweat_smile:


Add support for custom themes season

Duck season

Flaky Test
Failure Summary
Logs

[chromium] should return list of users correctly.
The API call to get a list of users failed with a 404 Not Found error.
Logs ↗

[chromium] should login with credentials correctly correctly.
The login request to the server failed with a 404 Not Found error.
Logs ↗

[chromium] should display error message for invalid login correctly.
The expected HTTP status code 401 was not received, instead a function was returned.
Logs ↗

Test_ForbiddenAccess
failure_message: Failedfailure_text: === RUN   Test_ForbiddenAccess    api_test.go:46: Forbidden access to resource--- FAIL: Test_ForbiddenAcc...
Logs ↗

View Full Report ↗ ⋅ Docs


Error in ZCL_EXCEL_READER_2007 method UNESCAPE_STRING_VALUE

In class ZCL_EXCEL_READER_2007 method UNESCAPE_STRING_VALUE in following line:
        IF substring( val = result off = lv_character_position_plus_2 len = 4 ) CO '0123456789ABCDEFGHIJKLMNOPQRSTUVWabcdefghijklmnopqrstuvw'
          AND substring( val = result off = lv_character_position_plus_6 len = 1 ) = '_'.

if the result is shorter then lv_character_position_plus_2 + 4 is generating an exception type CX_SY_RANGE_OUT_OF_BOUNDS.
Try importing in a cell a text value - for example "TEST_X" - this is generating a short dump shortdump.

thanks, a pull request with a fix is welcome

Link to concerned code:
https://github.com/abap2xlsx/abap2xlsx/blob/1fe298d5bebc01982d90efeef37b14e46a4eb7d3/src/zcl_excel_reader_2007.clas.abap#L4134-L4135
Another issue: why considering the letters G to W, it's non-sense.
That would be a very good idea to add a Test Method for the case TEST_X here:
https://github.com/abap2xlsx/abap2xlsx/blob/1fe298d5bebc01982d90efeef37b14e46a4eb7d3/src/zcl_excel_reader_2007.clas.testclasses.abap#L27-L55


OCM-10346 | chore: update changelogs to cover 1.6.3

OCM-10346
Change type

[ ] New feature
[ ] Bug fix
[ ] Build
[ ] CI
[x] Documentation
[ ] Performance
[ ] Refactor
[ ] Style
[ ] Unit tests
[ ] Subsystem tests

Checklist

[ ] Subject and description added to both, commit and PR.
[ ] Relevant issues have been referenced.

Merging as it only contains changelogs


Add Wayland and Xorg session files

See #100.
I'm not sure where the correct location for the .desktop files is. I put them in the project root.

:tada:


Homebridge keeps restarting with duplicate UUID issue

My Homebridge keeps restarting with the error below.
[5/10/2023, 2:30:43 AM] [BlueAir] Found 2 Blueair AWS-compatible devices.
[5/10/2023, 2:30:43 AM] [BlueAir] Restoring existing accessory from cache: Office Purifier
[5/10/2023, 2:30:44 AM] [BlueAir] Creating new object: BlueAirDustProtectAccessory
[5/10/2023, 2:30:44 AM] Error: Cannot add a Service with the same UUID 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' as another Service in this Accessory without also defining a unique 'subtype' property.
    at Accessory.addService (/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Accessory.ts:552:17)
    at PlatformAccessory.addService (/homebridge/node_modules/homebridge/src/platformAccessory.ts:98:41)
    at new BlueAirDustProtectAccessory (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory_DustProtect.ts:63:24)
    at BlueAirHomebridgePlatform.findAwsModelAndInitialize (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platform.ts:340:9)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)
    at BlueAirHomebridgePlatform.discoverAwsDevices (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platform.ts:203:9)
[5/10/2023, 2:30:44 AM] Got SIGTERM, shutting down Homebridge...
[5/10/2023, 2:30:49 AM] [HB Supervisor] Homebridge Process Ended. Code: 143, Signal: null
[5/10/2023, 2:30:54 AM] [HB Supervisor] Restarting Homebridge...
[5/10/2023, 2:30:54 AM] [HB Supervisor] Starting Homebridge with extra flags: -I -P /var/lib/homebridge/node_modules --strict-plugin-resolution
[5/10/2023, 2:30:54 AM] [HB Supervisor] Started Homebridge v1.6.1 with PID: xxxx

Who has any idea what is going on?

Experiencing this same issue, UUID is appearing as all zeroes

I'm also having this issue. I tried adding property "Disable.UUID" and same issue.
I have a Protect 7470i and enabled AWS API Connection.

Found that I was able to fix this issue by turning off bridge mode for the BlueAir plugin.

Thanks for the tip, I had child bridge disabled before, and then I tried to enable child bridge and it no longer crashed homebridge but it keeps looping in this cycle:
[20/05/2023, 16:46:59] [@fjs21/homebridge-blueair] Restarting Process...
[20/05/2023, 16:47:02] [@fjs21/homebridge-blueair] Launched child bridge with PID 4563
[20/05/2023, 16:47:06] Registering platform<EMAIL_ADDRESS>[20/05/2023, 16:47:06] [@fjs21/homebridge-blueair] Loaded @fjs21/homebridge-blueair v1.2.1 child bridge successfully
[20/05/2023, 16:47:06] Loaded 1 cached accessories from cachedAccessories.XXXXXXXXXXXX.
[20/05/2023, 16:47:06] [@fjs21/homebridge-blueair] base_API_url<EMAIL_ADDRESS>[20/05/2023, 16:47:06] [@fjs21/homebridge-blueair] Current Gigya Region: us1
[20/05/2023, 16:47:06] [@fjs21/homebridge-blueair] Current AWS Region: us-east-2
[20/05/2023, 16:47:06] [@fjs21/homebridge-blueair] Loading accessory from cache: Second Floor Purifier
[20/05/2023, 16:47:06] [@fjs21/homebridge-blueair] Blueair AWS API Tokens will expire at: Sun May 21 2023 16:47:06 GMT-0400 (Eastern Daylight Time)
[20/05/2023, 16:47:06] Homebridge v1.6.1 (HAP v0.11.1) (@fjs21/homebridge-blueair) is running on port 45655.
[20/05/2023, 16:47:07] [@fjs21/homebridge-blueair] Got homehost: api-us-east-1.blueair.io
[20/05/2023, 16:47:07] [@fjs21/homebridge-blueair] x-auth-token: LONG STRING HERE
[20/05/2023, 16:47:07] [@fjs21/homebridge-blueair] Found 0 devices.
[20/05/2023, 16:47:08] [@fjs21/homebridge-blueair] ** AWS login complete **
[20/05/2023, 16:47:09] [@fjs21/homebridge-blueair] Found 1 Blueair AWS-compatible devices.
[20/05/2023, 16:47:09] [@fjs21/homebridge-blueair] Restoring existing accessory from cache: Second Floor Purifier
[20/05/2023, 16:47:10] [@fjs21/homebridge-blueair] Creating new object: BlueAirDustProtectAccessory
Error: Cannot add a Service with the same UUID '00000049-0000-1000-8000-0026BB765291' as another Service in this Accessory without also defining a unique 'subtype' property.
at Accessory.addService (/var/lib/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Accessory.ts:552:17)
at PlatformAccessory.addService (/var/lib/homebridge/node_modules/homebridge/src/platformAccessory.ts:98:41)
at BlueAirDustProtectAccessory.setAccessoryInformation (/var/lib/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory_DustProtect.ts:180:26)
at processTicksAndRejections (node:internal/process/task_queues:95:5)
[20/05/2023, 16:47:12] [@fjs21/homebridge-blueair] Child bridge process ended
[20/05/2023, 16:47:12] [@fjs21/homebridge-blueair] Process Ended. Code: 1, Signal: null
Are you adding any "Feature Options" Manually? I tried adding "Disable.UUID" and that did not help.

@AGnepp
https://github.com/fjs21/homebridge-blueair/issues/291#issuecomment-1555990594

I'm also having this issue. I tried adding property "Disable.UUID" and same issue.
I have a Protect 7470i and enabled AWS API Connection. It seems to see my device in the logs but then errors out and description above is exactly what I'm experiencing

Adding the Disable.UUID actually solved my problem. I also removed and re-added the blueair plugin, maybe missing that caused your problem?

@shalva-an
https://github.com/fjs21/homebridge-blueair/issues/291#issuecomment-1583116750

Enable "Hide Germ Shield". Some issue with the function where it sets the UUID as '00000049-0000-1000-8000-0026BB765291' for two or more of the sensors. Restart, clear cache if needed, and you should be good to go.
homebridge-blueair/dist/platformAccessory_DustProtect.js, line

Enable the Hide Germ Shield is causing this error my setup:
[6/8/2023, 3:34:54 PM] [BlueAir] BlueAir API: error - Time out on BlueAir connection.
[6/8/2023, 3:34:54 PM] [BlueAir] Failed to login. Check password and restart Homebridge to try again.

Considering the previous solution already solved my problem, I'm not using this.


Unnecessary hash symbol escape

#hashtag is not considered as heading in markdown, as there is no space after #.
We should not escape it like this: \#hashtag, when converting from DraftJS to markdown.
https://spec.commonmark.org/0.28/#example-34

I've merged a fix for this, will get out a release shortly!

@Rosey I see the issue still exists in 1.1.1

If the line starts from the #hashtag it got escaped.
If word #hashtag it is ok

argh, just looking

Ugh, >Test <-- this needs to be escaped, #Test <- this does not. Thank you markdown.

https://github.com/Rosey/markdown-draft-js/pull/72


speed up chunking & add separator chunking

Hey, so this PR's got two main changes:

We're now converting docs to tokens in bulk, which is giving us a sweet 3X speed boost when dealing with a ton of docs (we tested it with 30k) by chunking_by_token_size. It's not gonna make much difference for small-scale stuff, but 30k is still pretty much toy-level (both industry and research usually work with way more). So yeah, this is definitely a solid upgrade.

We've added support for separator-based splitting without needing any extra dependencies. This splitting method tries to keep the grammar structure intact, meaning you'll always get complete clauses or sentences (if without any overlap). We tweaked the logic from langchain, so it might not be exactly the same, but it does what it says on the tin.

NOW I GUESS ALL SHOULD BE WELL : )


In load_model method: Input 'values' passed int64 expected int32

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow):

OS Platform and Distribution:  Linux Ubuntu 20.04 and kaggle

TensorFlow installed from (source or binary): Source

TensorFlow version (use command below): 2.3.0

Python version:3.7

Describe the current behavior
I have trained a model with custom loss and after save, I tried to load it but got this error
2 errors while building NodeDef 'tf_op_layer_stack_2/stack_2' using Op<name=Pack; signature=values:N*T -> output:T; attr=N:int,min=1; attr=T:type; attr=axis:int,default=0>:
Input 'values' passed int64 expected int32
Inconsistent values for attr 'T' DT_INT32 vs. DT_INT64
Describe the expected behavior
It should be loaded without any error
Standalone code to reproduce the issue
A minimalistic gist is attached.

@partha117,
I was able to reproduce the error with TF v2.3.
However, the error seems to be resolved with the latest TF-nightly. I was able to run the code without any issues, please find the gist of it here. Thanks!

Yes, It has been solved thanks


Refactor for react-redux-form

Please refer to this comment
react-redux have released a much improved module with greatly increase performance.
Unfortunately, we need to refactor all instances of redux-form into react-redux-form to be able to update react-redux
Please be sure to follow CONTRIBUTING.md
Happy Coding!

Hi,
I would be interested in taking this on.

:+1:
On Monday, January 2, 2017, Craig Stroman<EMAIL_ADDRESS>wrote:

Hi,
I would be interested in taking this on.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/FreeCodeCamp/FreeCodeCamp/issues/12309#issuecomment-269930544,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ARtk5nTfTKevFqbMmeLyq98WcHYprrOdks5rOGO6gaJpZM4LYu_j
.

This is still up for grabs :tada:

I'm looking into this right now.

So, it seems like react-redux-form and react-bootstrap are mutually exclusive.  react-redux-form makes use of connected form components which would replace the Bootstrap components.  Am I reading this right?  I'm not sure how to proceed with this.

@PortableStick I've just had a quick look there and that's the idea I got from it.
If that is what's required then no problem, as long as we can carry the CSS over without too much pain

Sorry for the silence here, I had some person/professional stuff come up.  I've found that it's actually quite simple to keep the react-bootstrap components as react-redux-form takes a component prop.
I've got much of the forms changed from redux-form to react-redux-form, and created a simple decorator function in common/app/utils/form.js (still a WIP) that creates the inputs in much the same way redux-form did.  Where I'm stalled right now is connecting the react-redux-form elements to the app's store.  Of course, it seems simple in the docs, but FreeCodeCamp is significantly larger than the example and I can't figure out at all where the models should go.  I think the rest will be easy, if anyone has any help for me here, but if it's easier to do it than to explain the codebase, I'd understand.

Hi, @PortableStick
Any progress in react-redux-form refactoring ?

@PortableStick
Sorry, I'm only just seeing this now. So the store is created here
From my quick glance at those docs, the models look like initial state declarations to me, these can be held in common/app/routes/settings/reducer.js, take a look at other routes so see how we implement our reducers.
Here is where we create our combined reducer.
I hope I'm not too late in helping you out, it sounds like you made plenty of progress.

How is this going? I'd be down to clean this up tonight if no one is still working on it.

Alright I'm going to take this on 😄

Here are all the current instances of redux-form

I think I bit off more than I can chew. . . similar to what @PortableStick was saying above: refactoring this requires rebuilding the entire forms (and replacing the bootstrap ones with react-redux-form fields. Wish I could've been of more help but I'm not familiar enough with redux-form or react-redux-form to be able to solve this. Sorry!


When Fill is set to true. It override all the status bar config.

Hey @Rexfordasamoah51, this problem happened to me too, I found the solution by removing the theme the plugin auto-generate for you.
Go to android/app/src/res/values/styles.xml:
and comment the NormalTheme as follow
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <!-- Theme applied to the Android Window while the process is starting -->
    <style name="LaunchTheme" parent="@android:style/Theme.Black.NoTitleBar">
        <!-- Show a splash screen on the activity. Automatically removed when
             Flutter draws its first frame -->
        <item name="android:windowBackground">@drawable/launch_background</item>
    </style>
    <!-- Theme applied to the Android Window as soon as the process has started.
         This theme determines the color of the Android Window while your
         Flutter UI initializes, as well as behind your Flutter UI while its
         running.

         This Theme is only used starting with V2 of Flutter's Android embedding. -->
    <!-- <style name="NormalTheme" parent="@android:style/Theme.Black.NoTitleBar">
        <item name="android:windowBackground">@android:color/white</item>
        <item name="android:windowFullscreen">true</item>

    </style> -->
</resources>

and delete it from androidManifest.xml.
I noticed that this also avoiding my widget to avoid the keyboard when it's opened. I hope it works for you !

But now I always set fill to false

@Rexfordasamoah51 I tried to do also but got nothing changed. Anyway, I hope it helps!


refactor zk client and zk config module

What is the purpose of the pull request
the main purpose of this pr is to refactor the dependency on zk, including zk config dependency & zk client dependency.
Brief change log
In the process of refactoring, I have tried to be compatible with the previous code as much as possible, but still involves more file changes, so here are some important points that need to be explained for the convenience of code review

the main purpose of this refactor is to leave the zk configuration and zk client to the spring container for management, but in order to be compatible with the implementation of TaskQueueZkImpl (all references to this class are static methods), so conf file: zookeeper.properties is still retained.
As mentioned above, all methods that reference the TaskQueueZkImpl class are static methods. If refactor it, more files will be involved, and the code review will be more difficult, so the temporary implementation here is TaskQueueZkImpl created an additional zk client. This is where I think there may be problems with this refactoring, but I have not thought of a good way for the time being, welcome everyone to point out
ZookeeperOperator is the top-level implementation class. It is responsible for creating the zk client and encapsulates all basic operations on zk. ZookeeperCachedOperator is mainly responsible for listening to zk. All listeners are created and closed here.
ZKMasterClient and ZKWorkerClient are implemented by inheriting ZookeeperOperator, and use the upper layer to provide basic operations to encapsulate the business logic they need, but for the convenience of code review, the business logic code has not been modified. If the refactoring scheme passes, I will completely modify it;

这次重构的主要目的是把zk的配置和zk的客户端交给spring容器来管理，但是为了兼容TaskQueueZkImpl的实现(所有引用这个类的地方都是静态方法)，所以仍然保留了zookeeper.properties这个配置文件
就像上面提到的，所有引用TaskQueueZkImpl 这个类的方法都是静态方法，如果对它进行重构，会涉及更多的文件，会对代码review带来更大的困难，所以这里暂时的实现是TaskQueueZkImpl创建了一个额外的zk客户端，这是我觉得这次重构可能有问题的地方，但是暂时没有想到好的办法，欢迎大家指点
ZookeeperOperator 是最上层的实现类，它负责创建zk客户端，并封装了所有对zk的基本操作，ZookeeperCachedOperator 主要负责对zk的监听，所有监听器都在这里统一创建和关闭，
ZKMasterClient 和 ZKWorkerClient 通过继承ZookeeperOperator实现，用上层提供基础操作来封装各自需要的业务逻辑，但是为了方便代码review，业务逻辑代码并没有修改，如果重构方案通过，我会彻底修改完成；

Verify this pull request
This pull request is code refactor and whether the refactoring solution is feasible still needs everyone to point out, If the final plan is passed, I will continue to add all the UT involved in this pr

Codecov Report

Merging #1537 into dev will decrease coverage by 0.15%.
The diff coverage is 8.87%.

@@           Coverage Diff            @@
##             dev   #1537      +/-   ##
========================================
- Coverage   7.42%   7.27%   -0.16%
========================================
  Files        272     278       +6
  Lines      13634   13738     +104
  Branches    2169    2196      +27
========================================
- Hits        1012     999      -13
- Misses     12555   12674     +119
+ Partials      67      65       -2

Impacted Files
Coverage Δ

...e/dolphinscheduler/server/worker/WorkerServer.java
0% <ø> (ø)
:arrow_up:

.../org/apache/dolphinscheduler/common/Constants.java
0% <ø> (ø)
:arrow_up:

...e/dolphinscheduler/common/zk/AbstractZKClient.java
0% <0%> (-15.24%)
:arrow_down:

.../dolphinscheduler/common/zk/ZookeeperOperator.java
0% <0%> (ø)

...e/dolphinscheduler/api/utils/ZookeeperMonitor.java
0% <0%> (ø)
:arrow_up:

...che/dolphinscheduler/server/zk/ZKWorkerClient.java
0% <0%> (ø)
:arrow_up:

...inscheduler/common/zk/ZookeeperCachedOperator.java
0% <0%> (ø)

...e/dolphinscheduler/server/master/MasterServer.java
0% <0%> (ø)
:arrow_up:

...e/dolphinscheduler/api/service/MonitorService.java
0% <0%> (ø)
:arrow_up:

...che/dolphinscheduler/server/zk/ZKMasterClient.java
0% <0%> (ø)
:arrow_up:

... and 13 more

Continue to review full report at Codecov.

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

TaskQueueZkImpl is not nice.
Should not have initZkClient to init zk.
System should use the same client in ZookeeperOperator

yeah~, I have find a better way to handle this, I will implement it later


[Event Request] COD 427 - OnCreateSalesDocumentOnBeforeSalesHeaderInsert

In #2231 an OnBeforeCreateSalesDocument is requested, which can't be used for the case below.

We've added customisations to the No Series / Journal Template logic on Sales Documents. Most can be handled via the OnInitRecord, OnInsertRecord triggers / events in the Sales Header table. However, for creation of sales documents via IC, we need to be able to customize / predefine the Journal templates differently.
Since we don't have the IC context upon SalesHeader.Insert ('IC Direction' is only set after the Insert statement), we can't deal with the journal template part in the OnInitRecord, OnInsertRecord triggers / events in the Sales Header table
Please provide an OnCreateSalesDocumentOnBeforeSalesHeaderInsert publisher with VAR access to SalesHeader and access to ICInboxSalesHeader.
The same applies to 'CreatePurchDocument' as well.
Please provide an OnCreatePurchDocumentOnBeforePurchHeaderInsert publisher with VAR access to PurchHeader and access to ICInboxPurchHeader.

We have the same requirement. I don't see why it is labeled refactoring? I only see event requests. Is that why this issue takes more time?

This is done, closing


[Question] How to pause log for a code piece and resume it after that? (hashtag737)

Let me make a example like:
from loguru impor logger

if __name__ == "__main__":
        logger.remove()
        logger.add(
            "my.log",
            rotation="100 MB",
            level="DEBUG",
        )

      hashtag pause logger
      hashtag code piece A

      hashtag resume logger
      hashtag code piece B

And code piece A and B are in different file, how I achieve that feature?
I try to use remove but I dont know how to resume...

You can remove() then re-add() the handler:
if __name__ == "__main__":
    logger.remove()
    logger.add(
        "my.log",
        rotation="100 MB",
        level="DEBUG",
    )

    logger.remove()
    hashtag code piece A

    logger.add(
        "my.log",
        rotation="100 MB",
        level="DEBUG",
    )
    hashtag code piece B

Otherwise you can use a custom filter and .bind() or .contextualize():
    logger.remove()
    logger.add(
        "my.log",
        rotation="100 MB",
        level="DEBUG",
        filter=lambda record: not record["extra"].get("paused", False)
    )

    with logger.contextualize(paused=True):
        hashtag code piece A

    hashtag code piece B

Filter is really cool, that's magic, thanks a lot!

Glad it worked well. :+1:
I'm closing the issue consequently.


feed data on /student-team

scrape from https://spo.iitk.ac.in/about_us.html

claim

closed in #33


Any rules for right bracket checker?

Hi,
I've started using Scalastyle but I couldn't find any rules(looked at here http://www.scalastyle.org/rules-0.8.0.html) regarding space around the right brackets.

Is there a way to match right brackets as well?
Is right bracket support a work in progress?
If not, are there any reasons to why this work is not being done?

Thanks,
Erkin

No, there aren't currently rules for the right bracket. If you wish to contribute, you are welcome to submit a PR.

Submitted https://github.com/scalastyle/scalastyle/pull/240 for this issue. Please have a look.

Hi, I've seen that this pull request is merged. Do you have plans for a release anytime soon?
Thanks

Yes. Probably in the next couple of weeks, depending upon how things go.


Remove OPS routes from mock server and fix the tests #2365

#2365

@magiccookie please format code with elixir formatter, max line length should be 120, not 80


Stream your timeline in medium format.

Works better on smaller monitors.

I obviously don't know what I'm doing. However, I would like to have a medium output option for streaming a timeline.


"symfony/translation"-bug returned when upgrading from 4.3.8 to v5 for Laravel 7

Laravel Version: v7.1.0
PHP Version: 7.2.24

Description:
2020/03/10 19:52:04 [error] 13590#13590: *18393 FastCGI sent in stderr: "PHP message: PHP Warning:  include(/home/forge/my.app/vendor/composer/../symfony/translation/TranslatorInterface.php): failed to open stream: No such file or directory in /home/forge/my.app/vendor/composer/ClassLoader.php on line 444
PHP message: PHP Warning:  include(): Failed opening '/home/forge/my.app/vendor/composer/../symfony/translation/TranslatorInterface.php' for inclusion (include_path='.:/usr/share/php') in /home/forge/my.app/vendor/composer/ClassLoader.php on line 444
PHP message: PHP Fatal error:  Uncaught RuntimeException: A facade root has not been set. in /home/forge/my.app/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php:258

2020/03/10 20:44:24 [error] 12467#12467: *18679 FastCGI sent in stderr: "PHP message: PHP Fatal error:  Declaration of Carbon\Translator::setLocale($locale) must be compatible with Symfony\Contracts\Translation\LocaleAwareInterface::setLocale(string $locale) in /home/forge/my.app/vendor/nesbot/carbon/src/Carbon/Translator.php on line 18
PHP message: PHP Fatal error:  Uncaught ErrorException: Declaration of Illuminate\Http\Response::setContent($content) should be compatible with Symfony\Component\HttpFoundation\Response::setContent(?string $content) in /home/forge/my.app/vendor/laravel/framework/src/Illuminate/Http/Response.php:14

Steps To Reproduce:
Upgrade an existing project to the latest version of Laravel v7.1.0. Install this on a server with PHP Version: 7.2.24.
I found out that it is because of the package "symfony/translation". For Laravel 6 you can fix this by setting the package to version 4.3.8. This is not an option for Laravel 7, because that uses version 5 of that package.
It should work with my PHP-version, because my composer.lock tells me that this is the highest required PHP-version: "php": "^7.2.5",. I have 7.2.24 which is higher as 7.2.5.

Laravel doesn't require symfony/translation anywhere. You'll need to debug your app or ask for the forums for help.

@themsaid are you sure? because I have it also in a clean install a couple of times in the composer.lock file. it's part of the symfony stack Laravel uses, but in a incorrect way. see: https://gist.github.com/Jaspur/19b5f69fcef32ae21a023e46d52eab3b

How can I replicate the issue given that I've upgraded and helped upgrading multiple laravel apps to 7 already with no issues? I think it's a package you are using.

See my updated comment. I also occurs on a clean install on my server. Installed directly via Forge from the Laravel Github repo itself.

Probably due to global dependency conflicts.

@GrahamCampbell is occurs on a clean Laravel 7 install too..

I still can't replicate on a Forge server with a fresh install ¯_(ツ)_/¯

@themsaid using PHP 7.2.24-1+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Oct 24 2019 18:28:51) ( NTS ) ?

@Jaspur Is the PHP version important? Does it work for you with 7.3?

That is where the server runs on where the bug occurs. And it is a bug, because the minimum requirement is PHP 7.2.5. Version of the server is higher as that.

I'll re-open even though I can't replicate the issue. Maybe someone else can replicate?

nesbot/carbon requires symfony/translation which requires symfony/translation-contracts
I tested a clean install on a machine running php 7.2.28 and didn't have any issues, can you try updating your server to php 7.2.28
If that fixes the issue we may try updating the minimum requirement to that version.
Have in mind I just ran a clean install, navigated to home (using valet, so using php-fpm) and ran php artisan to check for installation. I don't know if that contract was ever touched to trigger the error, let me know if there is a more complete test I can run to test the issue.

Know most of you know this, but for completeness this is how I find the dependency:
$ php --version
PHP 7.2.28-3+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Feb 23 2020 07:23:25) ( NTS )
$ laravel new laravel
$ cd laravel
$ php artisan --version
Laravel Framework 7.1.0
$ composer why symfony/translation-contracts
symfony/translation  v5.0.5  requires  symfony/translation-contracts (^2)
$ composer why symfony/translation
nesbot/carbon  2.31.0  requires  symfony/translation (^3.4 || ^4.0 || ^5.0)
$ composer why nesbot/carbon
laravel/framework  v7.1.0  requires  nesbot/carbon (^2.17)

If there is a clever way to this, please let me know

And Carbon is a dependency of L7.
A clean install on the server results in this error:
2020/03/11 11:57:47 [error] 29665#29665: *1 FastCGI sent in stderr: "PHP message: PHP Fatal error:  Declaration of Carbon\Translator::setLocale($locale) must be compatible with Symfony\Contracts\Translation\LocaleAwareInterface::setLocale(string $locale) in /home/forge/laravel-7.my.app/vendor/nesbot/carbon/src/Carbon/Translator.php on line 18
PHP message: PHP Fatal error:  Uncaught ErrorException: Declaration of Illuminate\Http\Response::setContent($content) should be compatible with Symfony\Component\HttpFoundation\Response::setContent(?string $content) in /home/forge/laravel-7.my.app/vendor/laravel/framework/src/Illuminate/Http/Response.php:14
Stack trace:
#0 /home/forge/laravel-7.my.app/vendor/laravel/framework/src/Illuminate/Http/Response.php(14): Illuminate\Foundation\Bootstrap\HandleExceptions->handleError(2, 'Declaration of ...', '/home/forge/lar...', 14, Array)
#1 /home/forge/laravel-7.my.app/vendor/composer/ClassLoader.php(444): include('/home/forge/lar...')
#2 /home/forge/laravel-7.my.app/vendor/composer/ClassLoader.php(322): Composer\Autoload\includeFile('/home/forge/lar...')
#3 [internal function]: Composer\Autoload\ClassLoader->loadClass('Illuminate\\Http...')
#4 /home/forge/laravel-7.my.app/vendor/laravel/framework/src/Illuminate/Routing/ResponseFactory.php(55): spl_autoload_call(" while reading response header from upstream, client: <IP_ADDRESS>, server: laravel-7.my.app, request: "GET / HTTP/2.0", upstream: "fastcgi://unix:/var/run/php/php7.1-fpm.sock:", host: "laravel-7.my.app", referrer: "https://forge.laravel.com/servers/117933/sites/981381"

Actually there is a white screen of death visible and is the error above shown in the nginx error log.

Well, as 7.2.28 is the latest 7.2 version from the PPA Laravel Forge installs on every server you have two paths:
1 - Through Forge UI

Navigate to your Forge server page (from the servers dropdown, not the sites)
Select PHP on the left bar
Click a button labeled "Upgrade Current Version To Latest Patch Release"

2 - Through SSH

SSH to your server
Run:$ sudo apt update
$ sudo apt upgrade

Note that command might upgrade other packages too. Also you will need your sudo password to run them.

Ah, I didn't knew that specific version was the latest one ;-) I upgraded to that version and now it all works!

This happens when your actual php-fpm version is 7.0 or 7.1.

Evidence: https://3v4l.org/oKG2J.

Hmm, I did a check before upgrading php to the latest version and it had 7.2 fpm in the nginx config.

It is impossible for this error to occur on PHP 7.2 or higher.

Probably due to global dependency conflicts.

That was it for me.
Laravel Version: 7.1.1
PHP Version: 7.3.15
Check your global composer file (located at ~/.composer on Mac, not sure for the other OS) and make sure there's not an old Carbon version in there.
Thanks @GrahamCampbell

At least laravel team should manage this issue permanently,
Even With fresh installation on remote server this is generation:
Declaration of Carbon\Translator::setLocale($locale) must be compatible with Symfony\Contracts\Translation\LocaleAwareInterface::setLocale(string $locale)
tried many ways:
My local machine using php 7.3.19
and remote server: php7.3.21
tried with all ways to add
transport and contractors but no luck,
really a painful action to install laravel7
locally this is working but the same thing is on live server.
Kindly get me fix out this.

This happens when your actual php-fpm version is 7.0 or 7.1.

It's also happening on 7.3
I am upgrading laravel from 5.5 to 8 and till 7th version I had to use "symfony/translation-contracts": "^1.1.6" in composer, since laravel 7 symfony 5 is needed thus everything breaks.
Always used carbon 1, upgraded to carbon 2, but this doesn't seem to be an issue, when removed still I get 500 error.
When upgrading translation-contracts to 2 composer update works but I get 500 error. If downgraded to 1.1.6 composer update runs for a long time and then I get issues with Symfony 5

This happens when your actual php-fpm version is 7.0 or 7.1.

It's also happening on 7.3
I am upgrading laravel from 5.5 to 8 and till 7th version I had to use "symfony/translation-contracts": "^1.1.6" in composer, since laravel 7 symfony 5 is needed thus everything breaks.
Always used carbon 1, upgraded to carbon 2, but this doesn't seem to be an issue, when removed still I get 500 error.
When upgrading translation-contracts to 2 composer update works but I get 500 error. If downgraded to 1.1.6 composer update runs for a long time and then I get issues with Symfony 5

Turns out I had issue with php version. When I types php -v via vagrant ssh I would get 7.3. but I actually had to put php: 7.3 in vagrant -> Homestead.yaml
`
ip: "<IP_ADDRESS>"
memory: 8192
cpus: 2
provider: virtualbox
mariadb: true
elasticsearch: 6
folders:
- map: ~/Projects
to: /home/vagrant/code
type: "nfs"
mount_opts: ['nolock,vers=3,udp,noatime,actimeo=1']
sites:
to: /home/vagrant/code/jetcamps_website/public
php: "7.2"
`


Add fields for "distribution date" and "agency rep / pickup person" to Distributions

I'd love to see a couple things added to the Distributions tab.

The ability to add a distribution date (not a date that the distribution was created--we're often entering distributions a couple days after they happen).
The ability to edit a distribution after it's been added into the system. Right now we can view, print, reclaim, but I can't find a way to edit.
It would also be nice if we could add in a name for "Agency Rep" or "Pickup Person" to record who picked up the distribution. For us it's someone from our partner agencies, for other people it might be an actual parent/client or other designated person.

A couple screen shots below for more detail.

@armahillo , "Agency Rep" should be input field, like "Comment", or it should be table  "Parner Agencies" associated with "Distributions", from where user would select parent/client?

Hey @IlinDmitry from what I understand it should just be a text field, not an association. :)