campaign.actions.schedule raises TypeError

At least under Python 3.5 (have not tested other versions), the schedule function raises a TypeError: utcoffset() takes exactly one argument (0 given)
According to the documentation, and also in the pytz implementation of tzinfo (I have tested with timezone.utc and pytz.utc, both raise that Error), the utcoffset function wants the datetime as a parameter:
https://docs.python.org/3.5/library/datetime.html#datetime.tzinfo.utcoffset
You should just use datetime.utcoffset():
https://docs.python.org/3.5/library/datetime.html#datetime.datetime.utcoffset

Ah, this might be fixed with PR #124

I have merged 124, we should be able to update the version number and drop a new release on PyPi later today. I will let @charlesthk know when I do the version bump to fix this.

@charlesthk I have updated master to 2.0.12 and added a note about the new features, please put it up on PyPi so that we can close this

Hi @stephenross, the updated version is on PyPi, sorry for the delay.


Allow /usercard to use a different channel context

Describe your issue
Sometimes, I would like to see a user card in a different channel context. Instead of having to open that channel in a new split, I would prefer to be able to type the chat command /usercard <user> [channel] to view users user card in the context of channel. If the channel argument is omitted, the current behavior (opening the user card in the current channel's context) is used.

This is a good issue for new contributors.
The code for /usercard is here.
It would need to handle the words[2] parameter as a channelName, call stripChannelName on it (see above command for how that's done), and get a channel using the getApp()->twitch2->getChannelOrEmpty(channelName) function.
Further questions:
What happens if the user does not have the channel open in any split?


Add MasterKey Password as database profile option without key file path

allow use of Masterkey password without needing KeyPath, which is currently set to required, this is preventing me from using the module as our keepass does not have a key file for access, just master password.

Hi @scautomation thanks for reaching out.
The -UserMasterKey parameter is switch parameter when passed it makes a $true entry in the config file so the module knows to prompt for a masterkey password/credential (or expect for one to be passed to the module commands) when interacting with the specified database.
The module does not store your master key in the configuration file as it is unsafe. Below is the correct syntax for what you are trying to achieve.
New-KeePassDatabaseConfiguration -DatabaseProfileName 'ray' -DatabasePath 'C:\temp\test\ray.kdbx' -UseMasterKey
I certainly agree that the error message could be more clear. What is happening when you get this error is that function is "assuming" that the $pw value is being passed positionally rather than by explicit parameter name.  In this case the $pw value parameter position aligns with the the -KeyPath parameter. With out looking at the underlying code and analyzing the error we can also see something is not quite right.

Cannot validate argument on parameter 'KeyPath'. The "Test-Path $_" validation script for the argument with the value "System.Security.SecureString" did not return a result of True. Determine why the validation script failed, and then try the command again.

From here what we can see is that the -KeyPath parameter is receiving a value of type System.Security.SecureString. Assuming you have good password practices ;) its a safe bet that "$pw" is of that type and it is also highlighted as the issue in the error message stack you shared.
The reason why the error is not saying the data type is not the issue is because the -KeyPath parameter is a string and by passing an object of another type its going to see if it can become a string similar to the below. In this instance it the Test-Path function (which is the -Keypath parameter validation logic) gets the SecureString and attempts to convert to string and see if its a valid/actual path which is not.

> $pw = [SecureString]::new()
> $pw.ToString()
System.Security.SecureString


Step 7.  "y" is missing from you

Step 7 towards the bottom of the page.  "y" is missing from you

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

ID: 5689b389-ead5-825d-dde1-9a290bc0819f
Version Independent ID: 52a526a2-477a-dda4-02b4-eac1440811ed
Content: Add an API to Azure Static Web Apps with Azure Functions
Content Source: articles/static-web-apps/add-api.md
Service: static-web-apps
GitHub Login: @manekinekko
Microsoft Alias: wachegha

Thank you for your detailed feedback.  We are looking into the issue, and we will respond when we have more information.

Thanks for the heads-up, @WinzLogic!
I just fixed the typo.
#please-close


Question on Setting Up supply_priority

First off this looks like an interesting ad-on to the Powerwall Dashboard and quite robust.
I am in the US so there may be some nuances between operations here and AU. I pretty much understand most of the settings in the usage.json but I have some questions as it pertains to my environment.  First some background:
Generally I rarely (only in emergencies) ever charge the PWs from the grid. They only get charged from solar. This is mostly due to agreements with US utilities and our taxation for solar based systems. It can happen a few times a year but is unpredictable. On the TOU basis we only get credit for exporting solar energy we generate. In theory we are not supposed to export energy captured from the grid and then sent back at a more profitable time (arbitrage). They will not credit us if we send more power back than we got from solar. And technically we should only be exporting during solar production periods but there is some leeway there in special cases.
The way my PWs work is that Tesla usually prioritizes filling up their state of charge during non peak periods with solar. Then use that solar energy later during peak to avoid high energy costs. I run in Cost Based mode where Tesla has algorithms to try to minimize my total costs by adjusting when and how the PWs are charged and discharged and when to send solar energy back to the utility.
We also have a small penalty (NBCs at $.03/kWh) that is added to energy sent back to the grid. That is easy to add into the cost tables.
So with this in mind I am struggling with what to do with the supply_priority settings. It would seem for my situation that this is out of my control and is solely based on what Tesla does behind the scene.
Do you have some guideance on what my settings in this area should be?
The same concerns would be on the Report section. Some of those reports may not makes sense in my situation but I may need to experiment a bit and also further understand the terms for my utility.

In theory we are not supposed to export energy captured from the grid and then sent back at a more profitable time (arbitrage).

I can't help but chuckle that in the free-est of all free markets, you aren't allowed to free market. (Arbitrage is allowed here, but it's hard to work effectively with a home battery). But on to the actual question.

It would seem for my situation that this is out of my control and is solely based on what Tesla does behind the scene.

First up, supply priority is an accounting construct in pwdusage - it doesn't interact with or understand the powerwall or your utility plan usage rules. It's a convenience function for deciding how the home load energy demand (kWh) in a historical time period was met from the various sources of supply in that period (nothing to do with how the Tesla box actually manages your power). Unfortunately, we need it because the powerwall doesn't tell us how it manages this internally, so we take a guess and do some postprocessing to get this information.
In your case, I think the allocation is probably [powerwall, grid, solar] based on the following reasoning:

Your rules say you shouldn't be discharging the powerwall into the grid. So if the powerwall is used in a period, as much power as possible should be allocated to meeting household demand. (By definition, any excess must be exported - but from what you say, this should not happen often).
Solar is your lowest priority on the basis that you can export excess solar, but not pw or grid power. And with the way pwdusage works, it takes total available supply and then applies it to first meet home demand and then checks if there is any excess grid supply that should be applied to pw charging. It ignores all other excess on the basis that this is allocated between charging (measured and don't care), export (measured by Tesla and the utility), and losses (not measured).

With this this setup, you get:

If the pw discharges, it is allocated to the house.
If the pw supply is not enough, the house then takes from the grid. Excess grid supply is then allocated to pw charging.
If these two supplies aren't enough, the house then takes from solar. Excess solar is assumed to go to export and charging.

Export is whatever the tesla reported, and pwdusage doesn't try to work out where it came from.
You could also make a case for changing the order to [powerwall, solar, grid], but I think you are better with the first option as it maximises unallocated solar for use in charging or exporting (again, in accounting terms only - pwdusage works with historical data, not system operation).
I do note that I can get away with playing a bit fast and loose with the rules because:

It's a closed system with all supplies and grid export well measured.
The energy balance mostly just works (and when it doesn't, tesla magic that I'm not going to try and reverse engineer applies).
The supply priority is an internal accounting trick to get a rough valuation of the solar and the battery - the actual utility metering doesn't see this at all. But I've done some cross checks looking at what power costs would be with and without the system and the logic I've implemented matches this.

The same concerns would be on the Report section.

As the documentation says, you can pick and choose what you report, and then manipulate it further in grafana. Pretty well everything in this string table can be reported - and if I understand your utility plan correctly, this should provide all of the building blocks you might need to create variations on the way I've done the calculations, or put something entirely new together.
(My attitude is I've done one possible implementation - almost certainly not the best one - so, I'm happy to see what others come up!)

Great info. Over the next few days I will take a stab at setting it up and report my findings.

All working properly now.


fix: #47 added optional countryFilter prop to EconomicCalendarProps

closes #47

Sorry I was too quick! Will have it fixed.

@JorrinKievit I noticed during this that the component has the prop currencyFilter which is unused, with the desc in the docs "Default countries". I believe that's the original mistake. But removing that will be in a different ticket in my opinion!

 Will remove it rn


Update the urls of previews

@anharu2394
I think this does not solve the problem that the sample project cannot be built on iOS. Do you want to merge unresolved?


Mustache specs - lambda compliance

Fixed most of the failing lambda tests from the Mustache spec from my Mustache spec pull request.
The spec says that for a function that is returned in a section or an interpolation:

When used as the data value for an Interpolation tag, the lambda MUST be
treatable as an arity 0 function, and invoked as such.  The returned value
MUST be rendered against the default delimiters, then interpolated in place
of the lambda.
When used as the data value for a Section tag, the lambda MUST be treatable
as an arity 1 function, and invoked as such (passing a String containing the
unprocessed section contents).  The returned value MUST be rendered against
the current delimiters, then interpolated in place of the section.

In current mustache.js the return value from a function in a interpolation or section is not interpolated so I implemented that.
For the section functions this breaks one of the current tests so I updated that one.
The test for "Section - Alternate Delimiters - Lambdas used for sections should parse with the current delimiters." still fails, I couldn't find any reasonably simple way to fix that.

I've encountered this recently. What's the current state of play if I were to take on the remaining changes?

Is there any update on this? I am still seeing this issue with lambda's where {{ >second }} is printing Instead of the partial it is supposed to render.


Add other agent install options

On this page here, the user can also install the beta version of the agent by specifying 'unstable' instead of 'stable', and install master by specifying 'expermimental'.

This apply to v3 installations generally, right? Not just Ubuntu.

Hmm not sure how the agent gets packaged and released onto the various package managers!! It looks like it should work for Ubuntu and Debian at least, but dunno about other OS. Perhaps @toolmantim or @jayco knows more about this?

The specific names/labels/technique might be different between the types of installers, but I believe that all of them have a way to switch between stable releases, beta releases, and main build releases.


:arrow_up: CI dependencies

This PR upgrades the CI dependencies to the latest versions.

@lgeiger I did restart CI but the job failed again, maybe you need to rebase?

Yes, the CI failures were fixed in #617 and are unrelated. I am happy to merge as is, since it will pass on master.


compose_box: Set auto height on textarea in full screen.

This fixes a regression where a resized textarea would remain that size when moving into fullscreen mode.
CZO discussion

Screenshots and screen captures:

Before
After

Self-review checklist

[x] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[x] Explains differences from previous plans (e.g., issue description).
[x] Highlights technical choices and bugs encountered.
[x] Calls out remaining decisions and concerns.
[x] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[x] Each commit is a coherent idea.
[x] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[x] Visual appearance of the changes.
[x] Responsiveness and internationalization.
[x] Strings and tooltips.
[x] End-to-end functionality of buttons, interactions and flows.
[x] Corner cases, error conditions, and easily imagined bugs.

Merged, thanks @karlstolley!


Update the comment and Add a check

Update the comment on TableProvider::supports_filters_pushdown() to say that the returned vector much have the same size as the filters argument. Add a check at the callsite that the vec returned from supports_filters_pushdown is the same size as the filters passed:
Which issue does this PR close?

Closes #9405.
Rationale for this change

following the suggestions:

Update the comment on TableProvider::supports_filters_pushdown() to say that the returned vector much have the same size as the filters argument.
Add a check at the callsite that the vec returned from supports_filters_pushdown is the same size as the filters passed:

What changes are included in this PR?

Add a runtime error check for TableProvider::supports_filters_pushdown().
Update the comment on TableProvider::supports_filters_pushdown() .
Are these changes tested?

Are there any user-facing changes?
make sure that the returned vector much have the same size as the filters argument.

@alamb thanx for the review. I have used the ci and updated the contents after the stylistic comments.

A very nice first contribution 🏆


Fix high security risk of CVSS Score 6.4

According to Detectify an attacker can control all the headers, including the response body.
https://support.detectify.com/support/solutions/articles/48001048954-http-response-splitting-hrs-
Example attack request
https://example.com/.well-known/
Splitting:Detectify
I am not a security expert. Can someone please validate this finding?
Kind regards

@rtt-mmk you seem to have been working on the project recently, too. What do you think?

A rescan with the patched config solved the threat at detectify.

Thanks!

Hello Marc, unfortunately I do not understand this part of the config and nextclouds internals enough to answer your questions.


Static Site Generation

Describe the problem
I'm always frustrated when i want to build my 10,000$ App with SSG and i dont understand the trailingslash! Because the docs are very indecisive (for me) and the server i'm hosting it on isn't modern, so i need that the generated code for a route like about isn't in /about.html but in /about/index.html and i don't know how i can do it without<PHONE_NUMBER>000 errors!
Kind Regards HannesScript!
PS: I am german...
Describe the proposed solution
Please provide a clear and concise documentation how i can do it easily.
Alternatives considered
No response
Importance
i cannot use SvelteKit without it
Additional Information
No response

What you want is trailingSlash = 'always' in your root +layout.js file
https://kit.svelte.dev/docs/page-options#trailingslash

But when i activate it i get many errors with prerendering and many more things like dynamic routes even when i have 0 dynamic routes!


Separate page per type of fact

Example for facts of a given network:
https://knooppuntnet.nl/en/analysis/network/13829868/facts/RouteInaccessible
Example for facts of a given location:
https://knooppuntnet.nl/en/analysis/hiking/fr/France/facts/RouteNotContinious

It could be a separate page or the same page with anchors to each facts.
I.e. https://knooppuntnet.nl/en/analysis/network/13829868/facts#RouteInaccessible

Implemented in release v4.3.23.
The fact name in the url after the hash character causes the page to focus on the section with that fact.
Examples:
https://knooppuntnet.nl/fr/analysis/hiking/fr/France/facts#RouteNameMissing
https://knooppuntnet.nl/fr/analysis/network/13948824/facts#NodeMemberMissing


Removes QueryRequest.Quantum since it is no longer used.

Overview
This was populated by the time_granularity query argument, but that isn't being used either.
I believe this is left over from an early version of Pilosa prior to Range() query support.
Pull request checklist

[x] I have read the contributing guide.
[x] I have agreed to the Contributor License Agreement.
[x] I have updated the documentation.
[x] I have resolved any merge conflicts.
[ ] I have included tests that cover my changes.
[x] All new and existing tests pass.

Code review checklist
This is the checklist that the reviewer will follow while reviewing your pull request. You do not need to do anything with this checklist, but be aware of what the reviewer will be looking for.

[ ] Ensure that any changes to external docs have been included in this pull request.
[ ] If the changes require that minor/major versions need to be updated, tag the PR appropriately.
[ ] Ensure the new code is properly commented and follows Idiomatic Go.
[ ] Check that tests have been written and that they cover the new functionality.
[ ] Run tests and ensure they pass.
[ ] Build and run the code, performing any applicable integration testing.

@travisturner can we merge this?


[choreo] Selecting a waypoint as part of a constraint, then attempting to undo causes the whole screen to go blank

Steps to reproduce:

Place down a waypoint.
Select a constraint, then click once on the waypoint. Do not apply the constraint to the sole waypoint.
Undo. Observe as the whole screen goes blank.

Choreo version: f571654eb2f043b85c86264485eea35ad3ba4246
Error snippet from the console:
index-LYRFLYvb.js:40  TypeError: Cannot read properties of undefined (reading 'x')
    at HBe.render (index-LYRFLYvb.js:316:112461)
    at zC (index-LYRFLYvb.js:42:6790)
    at index-LYRFLYvb.js:45:651
    at r5 (index-LYRFLYvb.js:42:12991)
    at t.track (index-LYRFLYvb.js:42:17871)
    at HBe.o [as render] (index-LYRFLYvb.js:45:628)
    at tS (index-LYRFLYvb.js:40:6181)
    at eM (index-LYRFLYvb.js:40:5978)
    at I4 (index-LYRFLYvb.js:40:44904)
    at O4 (index-LYRFLYvb.js:40:39777)
Jw @ index-LYRFLYvb.js:40
r.callback @ index-LYRFLYvb.js:40
qA @ index-LYRFLYvb.js:38
oM @ index-LYRFLYvb.js:40
N4 @ index-LYRFLYvb.js:40
sY @ index-LYRFLYvb.js:40
dY @ index-LYRFLYvb.js:40
sl @ index-LYRFLYvb.js:40
lM @ index-LYRFLYvb.js:40
Fu @ index-LYRFLYvb.js:38

I can't reproduce this on latest main.

I can still reproduce this on latest main. Here's a stack trace with source info:
TypeError: Cannot read properties of undefined (reading 'x')
    at FieldConstraintsAddLayer2.render (FieldConstraintAddLayer.tsx:127:27)
    at allowStateChanges (mobx.esm.js:1318:12)
    at mobxreact.esm.js:355:21
    at trackDerivedFunction (mobx.esm.js:1886:18)
    at Reaction2.track (mobx.esm.js:2477:18)
    at FieldConstraintsAddLayer2.reactiveRender [as render] (mobxreact.esm.js:351:14)
    at jj (react-dom.production.min.js:203:189)
    at hj (react-dom.production.min.js:202:149)
    at Vk (react-dom.production.min.js:291:172)
    at Uk (react-dom.production.min.js:279:389)

Got it, my reproductions were with an opened file as the last step, not an added waypoint.


Repeated performance tests should skip repeated file I/O

The old performance testing setup also tests for I/O performance. For large input files, this drives up the required experiment time, as I/O tends to be by far the slowest component in every benchmark. This issue proposes two fixes:

[x] every smoke test should read inputs only once. To cope with variability under differing allocations (esp. detected on ARM), the file should be read to an in-memory storage (e.g., an std::vector that stores a nonzero struct for each nonzero, or multiple std::vectors). The remainder smoke tests then remain unchanged, except every experiment now reads from this in-memory storage, but otherwise still performs new allocations for matrix and vector data;

[ ] a new performance test should be introduced that tests I/O only -- i.e., reads the input multiple times, and reporting all the regular timing statistics (average, min, max, unbiased sample standard deviation).

Thus, the new performance test shall form the only exception to the first item, retains I/O speed benchmarking capabilities, and speeds up all other performance testing in future.

First item is done, second item has lower priority. De-assigning myself so that the remaining item is open for anyone else to pick up:)


[orientdb] fixed end table scan issue

This fixes the end table scanning brought up in #562.
While working on this I found some things that should probably be marked as known issues.

First is a performance issue, after testing with a few different recordcounts I found that iterateEntriesMajor() return time is directly linked with number of records in the table. So, a relatively small scan size will start to perform worse on larger tables. The better solution would have been to use iterateEntriesBetween(), problem is it takes a start and end key which is not how the current scan framework is set up. It may be a good idea to think about updating the scan operation to pass a recordcount as well as a corresponding endkey. This would benefit more bindings then OrientDB I believe. There are a few things that complicate that idea, but I'll save that for that discussion.
The OIndexCursor implementation used here seems to be broken. It does not track the entries properly when iterating so when you get to the end of the iterator you get a NullPointerException. For more info on why, here is the issue I posted: https://github.com/orientechnologies/orientdb/issues/5541. With a sufficiently high recordcount, +10000, this doesn't happen too often. I choose to not try and catch it, you never know if a legitimate null will pop up sometime. False negatives seemed better to me then false positives.

Should known issues go into the orientdb README? anywhere else?

OK, added issues to README. Subsequently fixed the README issue in #539.

OK, added issues to README. Subsequently fixed the README issue in #539.

+1. We should probably request this get cherry picked to 0.6.0's staging branch.

+1. We should probably request this get cherry picked to 0.6.0's staging branch.

I'm good either way, I have a couple more PR's coming for orientdb, as well as @allanbank's checkstyle PR which still needs to be merged. Hopefully the orient db can join the tested list by the next release.


License Problem

There is a problem with the license because it cannot be released under the Apache 2 license and still contain GPL code.

Is there anyway to put SLS under an Apache License?
For now I am changing the About information to GNU General Public License v3.0

So, the only code requiring GPL v3 is https://github.com/tgwizard/sls/blob/master/app/src/main/java/com/adam/aslfms/util/MD5.java. If we can rewrite the code to not use that MD5 copy-pasted lib, and remove that file, then we can go to the Apache License.
@HumbleBeeBumbleBee do you or someone else want to look into that?

could use a solution such as what's outlined here: http://stackoverflow.com/a/4846511/50913


Ready To Rock Section

There is a thin grey bar at the bottom that I'd like to remove. The section should end where the footer begins


Impersonation requires SLS (Old 298)

In gitlab by @A-Lawrence on Aug 31, 2015, 01:07
When impersonating a user, their secondary password is required which isn't ideal (as we don't know it).
Modify this to circumvent the SLS requirement.

In gitlab by @A-Lawrence on Aug 31, 2015, 01:12
When impersonating a user, there isn't a requirement that SLS is entered.  Resolves issue #488436 (298).
ÔåÆ <>
ALawrence66 - 2015-03-02T23:39:38.234456+00:00


Enable @unknown default warnings by default in Swift 5 mode

Note that I said "warnings"; we're going to be more cautious about rollout and just make this a warning in Swift 5 mode, with no diagnostics in Swift 3 and 4. Users are still free to use @unknown default in these modes, and they'll get a fatal run-time error if they don't and an unexpected case actually shows up.
I'll submit a PR to update the accepted SE proposal shortly. (Of course the core team has final say over this, but turning it on-but-warnings-only for Swift 5 makes this easier to test.)
rdar://problem/29324688

Proposal update in apple/swift-evolution#836.

(fixed typo)
@swift-ci Please smoke test


Disable default logging

It may be a good idea to include a feature that disables the automatic logging to the console during init, such as a {log: false} flag somewhere. While the terminal messages are great for development they seem unnecessary afterwards and could unintentionally bloat log dumps.

just check playerInfo.debug


M3-6000: Add missing region text in Database summary view

Description 📝
Simple PR to show the region in summary view for Databases.
Preview 📷

This might seem like a minor change, but believe it or not, it has been a requested addition for some time now 😅
I let @bavedarnow this will be getting rolled out with our next release and he raised the question of whether an assertion should be added to our E2E tests, maybe somewhere around https://github.com/linode/manager/blob/develop/packages/manager/cypress/e2e/databases/create-database.spec.ts#L143-L153? cc @jdamore-linode

++
@carrillo-erik I'm happy to make this addition, but this is a super simple change. If you're at all curious about how our E2E tests work, this would be a great opportunity to get some hands on experience with them! I'd be happy to help you do this over a ~15 minute meeting if you have the time!

@jdamore-linode Yes, I'd love to go over out E2E tests and I think a 15 minute meeting would be great.


Update JADNC link and description

Repository has been moved and the description has been updated based on the current status and direction of the project.

Thanks @jaredcnance!


This error showed up in Pose Estimation, Anyone plz help

Traceback (most recent call last):
File "c:\Users\Hp\Documents\Python Projects\Hand Tracking\test.py", line 62, in
main()
File "c:\Users\Hp\Documents\Python Projects\Hand Tracking\test.py", line 44, in main
detector = PoseDetector()
File "c:\Users\Hp\Documents\Python Projects\Hand Tracking\test.py", line 17, in init
self.pose = self.mpPose.Pose(self.mode, self.upBody, self.smooth, self.detectionCon, self.trackCon)
File "C:\Users\Hp\AppData\Local\Programs\Python\Python39\lib\site-packages\mediapipe\python\solutions\pose.py", line 146, in init
super().init(
File "C:\Users\Hp\AppData\Local\Programs\Python\Python39\lib\site-packages\mediapipe\python\solution_base.py", line 258, in init
self._input_side_packets = {
File "C:\Users\Hp\AppData\Local\Programs\Python\Python39\lib\site-packages\mediapipe\python\solution_base.py", line 259, in
name: self._make_packet(self._side_input_type_info[name], data)
File "C:\Users\Hp\AppData\Local\Programs\Python\Python39\lib\site-packages\mediapipe\python\solution_base.py", line 513, in make_packet
return getattr(packet_creator, 'create' + packet_data_type.value)(data)
TypeError: create_bool(): incompatible function arguments. The following argument types are supported:
1. (arg0: bool) -> mediapipe.python._framework_bindings.packet.Packet
Invoked with: 0.5
PS C:\Users\Hp\Documents\Python Projects\Hand Tracking>

Hi @9Guru, Could you please provide the steps to reproduce the above error. Thanks!

This is the code for the Pose Estimation module when I run this I get this error please help
import cv2
import mediapipe as mp
import time

class poseDetector():

    def __init__(self, mode=False, upBody=False, smooth=True, detectionCon=0.5, trackCon = 0.5):

        self.mode = mode
        self.upBody = upBody
        self.smooth =  #smooth
        self.detectionCon = detectionCon
        self.trackCon = trackCon

        self.mpPose = mp.solutions.pose
        self.pose = self.mpPose.Pose(self.mode, self.upBody, self.smooth, self.detectionCon, self.trackCon)
        self.mpDraw = mp.solutions.drawing_utils

    def findPose(self, img, draw = True):
        imgRGB = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
        self.results = self.pose.process(imgRGB)
        if self.results.pose_landmarks:
            if draw:
                self.mpDraw.draw_landmarks(img, self.results.pose_landmarks, self.mpPose.POSE_CONNECTIONS)

        return img

    def findPostion(self, img, draw=True):
        lmList = []
        if self.results.pose_landmarks:
            for id, lm in enumerate(self.results.pose_landmarks.landmark):
                h, w, c = img.shape
                #print(id, lm)
                cx, cy = int(lm.x * w), int(lm.y * h)
                lmList.append([id, cx, cy])
                if draw:
                    cv2.circle(img, (cx, cy), 10, (255, 0, 0), cv2.FILLED)

def main():
    cap = cv2.VideoCapture(0)
    pTime = 0
    detector = poseDetector()

    while True:
        success, img = cap.read()
        img = detector.findPose(img)
        lmList = detector.findPostion(img)
        print(lmList)

        cTime = time.time()
        fps = 1 / (cTime - pTime)
        pTime = cTime

        cv2.putText(img, f'FPS: {int(fps)}',(40, 60), cv2.FONT_HERSHEY_COMPLEX, 1, (255, 0, 255), 2)

        cv2.imshow("image", img)
        cv2.waitKey(1)

if  __name__ == "__main__":
    main()

Hi @9Guru, Could you please provide the steps to reproduce the above error. Thanks!

This is the code for the Pose Estimation module when I run this I get this error please help
import cv2
import mediapipe as mp
import time

class poseDetector():

    def __init__(self, mode=False, upBody=False, smooth=True, detectionCon=0.5, trackCon = 0.5):

        self.mode = mode
        self.upBody = upBody
        self.smooth =  #smooth
        self.detectionCon = detectionCon
        self.trackCon = trackCon

        self.mpPose = mp.solutions.pose
        self.pose = self.mpPose.Pose(self.mode, self.upBody, self.smooth, self.detectionCon, self.trackCon)
        self.mpDraw = mp.solutions.drawing_utils

    def findPose(self, img, draw = True):
        imgRGB = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
        self.results = self.pose.process(imgRGB)
        if self.results.pose_landmarks:
            if draw:
                self.mpDraw.draw_landmarks(img, self.results.pose_landmarks, self.mpPose.POSE_CONNECTIONS)

        return img

    def findPostion(self, img, draw=True):
        lmList = []
        if self.results.pose_landmarks:
            for id, lm in enumerate(self.results.pose_landmarks.landmark):
                h, w, c = img.shape
                #print(id, lm)
                cx, cy = int(lm.x * w), int(lm.y * h)
                lmList.append([id, cx, cy])
                if draw:
                    cv2.circle(img, (cx, cy), 10, (255, 0, 0), cv2.FILLED)

def main():
    cap = cv2.VideoCapture(0)
    pTime = 0
    detector = poseDetector()

    while True:
        success, img = cap.read()
        img = detector.findPose(img)
        lmList = detector.findPostion(img)
        print(lmList)

        cTime = time.time()
        fps = 1 / (cTime - pTime)
        pTime = cTime

        cv2.putText(img, f'FPS: {int(fps)}',(40, 60), cv2.FONT_HERSHEY_COMPLEX, 1, (255, 0, 255), 2)

        cv2.imshow("image", img)
        cv2.waitKey(1)

if  __name__ == "__main__":
    main()

Duplicate https://github.com/google/mediapipe/issues/2544

I didn't get u

Hi @9Guru, Can you try this solution mentioned in this https://github.com/google/mediapipe/issues/2544#issuecomment-920225813.  #2544 has same error with same code changes.

Hey,
I was not able to solve the above problem in my pose estimation project.
I am using mediapipe==<IP_ADDRESS>
Here is the traceback:
Downloading model to /media/billion/DATA/pose-detection/mp_notebooks/pose_env/lib/python3.8/site-packages/mediapipe/modules/pose_landmark/pose_landmark_lite.tflite
Traceback (most recent call last):
File "aitproject.py", line 56, in
detector = pm.PoseDetector()
File "/media/billion/DATA/pose-detection/mp_notebooks/ai_trainer/PoseModule.py", line 17, in init
self.pose = self.mpPose.Pose(self.mode, self.upBody, self.smooth, self.detectionCon, self.trackCon)
File "/media/billion/DATA/pose-detection/mp_notebooks/pose_env/lib/python3.8/site-packages/mediapipe/python/solutions/pose.py", line 146, in init
super().init(
File "/media/billion/DATA/pose-detection/mp_notebooks/pose_env/lib/python3.8/site-packages/mediapipe/python/solution_base.py", line 258, in init
self._input_side_packets = {
File "/media/billion/DATA/pose-detection/mp_notebooks/pose_env/lib/python3.8/site-packages/mediapipe/python/solution_base.py", line 259, in
name: self._make_packet(self._side_input_type_info[name], data)
File "/media/billion/DATA/pose-detection/mp_notebooks/pose_env/lib/python3.8/site-packages/mediapipe/python/solution_base.py", line 513, in make_packet
return getattr(packet_creator, 'create' + packet_data_type.value)(data)
TypeError: create_bool(): incompatible function arguments. The following argument types are supported:
1. (arg0: bool) -> mediapipe.python._framework_bindings.packet.Packet
Invoked with: 0.5
I also checked the smooth is boolean, which you mentioned to check in #2544
Is there something I am missing??
Please Help!!!
Thanks in advance

Hey, @jigsawcoder  I am getting the same errors, were you able to solve this one?

I had the same error and able to solve it
This was the previous code :
def init(self, mode=False, upBody=False, smooth=True,
detectionCon=0.5, trackCon=0.5):
    self.mode = mode
    self.upBody = upBody
    self.smooth = smooth
    self.detectionCon = detectionCon
    self.trackCon = trackCon

    self.mpDraw = mp.solutions.drawing_utils
    self.mpPose = mp.solutions.pose
    self.pose = self.mpPose.Pose(self.mode, self.upBody, self.smooth,
                                 self.detectionCon, self.trackCon)

and I changed it to this:
def __init__(self, mode=False, upBody=False, smooth=True,
             detectionCon=0.5, trackCon=0.5):

    self.mode = mode
    self.upBody = upBody
    self.smooth = smooth
    self.detectionCon = detectionCon
    self.trackCon = trackCon

    self.mpDraw = mp.solutions.drawing_utils
    self.mpPose = mp.solutions.pose

    **self.pose = self.mpPose.Pose(self.mode
                                 , min_detection_confidence=0.5
                                 , min_tracking_confidence=0.5
                                 )**

For further info visit
https://stackoverflow.com/questions/69103694/typeerror-create-bool-incompatible-function-arguments/74190299

Hey, @jigsawcoder I am getting the same errors, were you able to solve this one?
import cv2
import mediapipe as mp
import time

class poseDetector:
def init(self, mode=False, modelC=1, upBody=False, smooth=True,
detectionCon=0.5, trackCon=0.5):
self.mode = mode
self.upBody = upBody
self.modelC =modelC
self.smooth = smooth
self.detectionCon = detectionCon
self.trackCon = trackCon
self.mpPose = mp.solutions.pose
self.pose = self.mpPose.Pose(self.mode, self.modelC, self.upBody, self.smooth,
self.detectionCon,self.trackCon)
self.mpDraw = mp.solutions.drawing_utils
def findPose(self, frame, draw=True):
    rgb = cv2.cvtColor(frame,cv2.COLOR_BGR2RGB)
    result = self.pose.process(rgb)
    if result.pose_landmarks:
        if draw:
            self.mpDraw.draw_landmarks(frame,result.pose_landmarks,self.mpPose.POSE_CONNECTIONS)
    return frame
    #for id, lm in enumerate(result.pose_landmarks.landmark):
    #    h, w, c = frame.shape
    #    cx, cy = int(lm.x*w), int(lm.y*h)
        #print(cx, cy)
    #    cv2.circle(frame,(cx,cy),10,(255,0,0),cv2.FILLED)

def main():
cap = cv2.VideoCapture('./PoseEstimation/videos/production_id_4841985 (2160p).mp4')
window_width = 960
window_height = 540
cv2.namedWindow('Frame', cv2.WINDOW_NORMAL)
cv2.resizeWindow('Frame', window_width, window_height)

detector = poseDetector()

pTime = 0
while(cap.isOpened()):
    _, frame = cap.read()
    frame = detector.findPose(frame)
    cTime = time.time()
    fps = 1/(cTime-pTime)
    pTime = cTime
    cv2.putText(frame,str(int(fps)),(70,80),cv2.FONT_HERSHEY_PLAIN,
                7,(255,0,255),5)
    cv2.imshow('Frame',frame)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

if name == 'main':
main()
this will work


#133 fix array of objects

This PR is for #133
I also went and updated the vitest version to the latest as vscode extension wasn't letting me run it due to the outdate version.

Looks good, thanks for the help!


move selenium and grid to own locations

tools-context.conf
    location ~ (/selenium/|/grid/) {
        rewrite ^/selenium/(.*)$ /$1 break;
        proxy_set_header    Host $http_host;
        proxy_set_header    X-Real-IP $remote_addr;
        proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header    X-Forwarded-Host $http_host;
        proxy_redirect      off;
        proxy_http_version  1.1;
        proxy_buffering     off;
        proxy_request_buffering off;
        proxy_pass http://selenium-hub:4444;
    }

plugins.json
                    {
                        "id": "selenium",
                        "title": "selenium",
                        "img": "img/selenium.png",
                        "description": "Selenium Grid for Automated Testing",
                        "link": "/selenium/grid/console/"
                    },

@avoidik please can you provide more of a description to the issue you are having?

@RobertNorthard sure, when you have artifact named elasticsearch in nexus, and you're trying to download it, you will get not found error from nginx reverse proxy


Add support for filtering by language type

Closes #6
Closes #4
You can choose to count lines only for specific language type(s), by using the ?type= query string. Languages are to be separated by a comma.
For example,
https://tokei.rs/b1/github/XAMPPRocky/tokei?type=JSON,Rust,Markdown

Unsupported languages are ignored.
Leaving ?type= blank leads to the default behavior of counting lines for all supported languages.

Live Demo

Thank you for your PR! Is there a reason you've marked it as a draft?

Thank you for your PR! Is there a reason you've marked it as a draft?

No problem! This PR currently works, however, the caching of results for unique combinations of commit SHA hash and the ?type= values would lead to multiple git clones for the same SHA hash.
This would get worse if ?exclude= were to be implemented, which I am interested in working on.
I am thinking of caching results for the SHA hash only, and filtering by language type afterwards (filtering is cheap).
What do you think? Or alternatively I'll make this optimisation in a later PR.

I am thinking of caching results for the SHA hash only, and filtering by language type afterwards (filtering is cheap).

I think that's the right approach, reducing cloning is critical since RAM is quite limited on the VPS machine.

I've reverted the caching to SHA hash only.

Thank you for your PR!


Pip tools

Motivation for this change
Pip tools allow to produce better frozen requirements.txt. Hopefully also usable by nix because it contains hashes.
Things done

[ ] Tested using sandboxing
(nix.useSandbox on NixOS,
or option build-use-sandbox in nix.conf
on non-NixOS)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Fits CONTRIBUTING.md.

Thanks for the review @Mic92 !


0.14.2 Fixed https://github.com/javascript-obfuscator/javascript-obfu…

…scator/issues/181

Coverage decreased (-0.02%) to 98.245% when pulling d3b617284ea47af8283d7262b2fe1baba550e0ab on esprima-template-literal-fix-2 into ccc2325d568fe27619dbf0c8cbc4414a6b838d3c on master.


Mountain Stance is not capping dexterity bonus to 0

Hello, I just noticed the mountain stance for monks states that "You have a dexterity modifier cap to your AC of +0"  This cap does not seem to be applied while mountain stance is on.

I just created a test actor and it appears to work properly. Could you give us a screenshot of the issue?

This is one of my players I am trying to see if he managed to accidentally over ride something but here it is

Did they happen to erroneously take the Mountain Quake feat too early? That feat allows a dex cap of +2, but is a level 14 feat.

No but call having me check. He has taken Mountain Stronghold which increases his dex cap to  +1.   Looking to see if he has something else that increased it further.

I removed Mountain Stronghold and re added it to the sheet and now it is properly capped at +1.  Thanks for working through that with me.  sorry to bother you with it.

It's not a bother at all. Please continue to report anything that might be a bug.
Closing


implement cast_entry and cast_list components

description
implement castentry and castlist components using server functions and the new
models just created. the server functions are just wrappers around the endpoints
that this project shares with the legacy code (in prod (the TS/Rust app)). the
purpose of wrapping them is to allow them to be called from the cast_entry and
cast_list components.

[x] channels (csr/ssr)
[ ] cast_entry (csr)
[x] cast_list (csr)
[x] get_casts_by_channel (csr/ssr)
[ ] get_user_data (csr/ssr)
[ ] get_reactions (csr/ssr)

progress

feature branch setup with new models for:

channels
users
casts
reactions

challenges

not sure if server functions are going to give me trouble again with the
ServerFnError type like i did in create_message and fetch_threads server fns.
annoying user fid not found error for literally 1 fid haha.

todos

fix error message showing on client for the fid not found.
build out cast list and entry components starting the new server functions.

so this took way longer than expected and i ended up doing this a strange way.
the channels comonent uses a unique cfg_if macro pattern which is the inverse of
what i normally do to import libraries with wasm bindings. i also directly hit
the hubble endpoint from the client with gloo net http lib, this is not the case
in the cast list. so i tried all kinds of stuff:

channels

using cfg_if macro for gloo net wasm32 get requests to prod hubble node
for usernames (directly ping hubble)
for channels (ping server api/channels endpoint, which hits warpcast url)

cast_list

using server functions to hit hubble endpoint
hardcoded channel for now which i think about how it should be passed in
need to incorporate cast_entry

cast_entry

not marked as finished since i have no idea if it works yet
it compiles, but it's not link since i've not nested components yet
i need to read up on csr section of leptos book before continuing

progress on this port:
okay i have most everything working jankily (it feels slick, but logically
probably not the best way to do things since i've not even set up the shuttle
replicator thing yet...) just need the reaction data now.

lazy load (commit b372ff7)

i did this hacky thing where i lazy load the user data to limit the
fetches to hubble ( i don't cache anything so it's really really lazy )

i realize i need to use create_server_action rather than create_action here


Does EEPROM setting for filament diameter overrider slicer's gcode?

Hello,
I just switched from Repetier Host 1.6 to 2.0.1 and started printing. I realized that there was a big over-extrusion. I wanted to calibrate the extruder but the measured data are odd. I issued to extrude 50mm but measured that around 88mm were extruded.
I opened the EEPROM settings in Repetier and realized, that there is a "new" setting called
Filament diameter extr. 0 = 3.00mm
but I am using 1.75mm and a modified multiplier in Slic3r.
Two questions:

Is this a Marlin EEPROM setting?
I have never seen this before in repetier 1.6.x and never used it.
Now I am confronted with it and I don't know how to deal with it. Set with M200 D1.75? But is it then cubic milimeters or linear mm units?
How do I disable this?
M200 D0 is supposed to "go back to linear mm units" according to the wiki. But when issuing this and saving EEPROM with M500, the EEPROM still shows the previously set 1.75mm respectively 3.00mm from the default settings.

I was not sure where to post this issue, marlin repository or repetier's but as this setting just came up with Repetier 2.0.1 (#better Marlin EEPROM handling in changelog) I decided to post this here.

These are parameter we get from marlin firmware when we query for eeprom settings. So it is not directly host related, except that we can now display it as eeprom setting.
I never use volumetric extrusion, but I think these values are just some defaults in case you would enable volumetric extrusion. Also host would not change/send command to marlin if you do not change the value. Only modified values get send when hitting "ok" button.
Please also have a look at the log. there you might see more informations as we only extract parts we know and omit comments. So it might show if volumetric extrusion is enabled.

Ok thank you.
I think this might have something to do with M502 I used before. This would restore firmware defaults and maybe somehow enabled the "Filament diameter" setting.
Not sure though but as of now this is the only logic explanation I can find.


move delete button into the history section

Move the trash can up to the last row in the history. This will delete the selected step and push down the prior step into the current editor.
The undo button can remain in the current editor module, next to the Next button (both can be words)

completed.  Also changed to a trash can icon


Issue with SSH

GATHERING FACTS ***************************************************************
fatal: [<IP_ADDRESS>] => SSH encountered an unknown error during the connection. We recommend you re-run the command using -vvvv, which will enable SSH debugging output to help diagnose the issue
TASK: [radiusdesk | Adding RadiusDesk Variables (Ubuntu)] *********************
FATAL: no hosts matched or all hosts have already failed -- aborting
PLAY RECAP ********************************************************************
to retry, use: --limit @/home/akuchu/rd-installer-ansible.retry
<IP_ADDRESS>              : ok=0    changed=0    unreachable=1    failed=0
I get this error when i launch the installer..( <IP_ADDRESS> is the static IP address i have on my ubuntu server). But i added the IP to ssh as( ssh<EMAIL_ADDRESS>  What might be the problem here?
Thanks

The installer requires root privilege to run properly. Try using the root user and it should proceed accordingly.


adds sparse has in componentArray

adds sparse hash for more efficient hash maps
optimisation in springDashpotResolver

cf #150

got rid of rectangle primitive crazyness
sbt.pdf


where I set the queueUrl ?

Hi, I don't know where to put the values of queueUrl, .
 await this.sqsService.send(/** name: */ 'queueName'
The name parameter has the name of the queue but the url where I should put it?

Check out tests. It's pretty clear what's going on there:
https://github.com/ssut/nestjs-sqs/blob/master/e2e/module.e2e-spec.ts


The message "Invalid message type" will appear.

I got the following error when using ros2-for-unity to publish a custom message. Please let me know how to deal with it.

publisher's source code

custommessage file
/home/izakisyotaro/ros2_studies_ws/src/my_messages.zip
version ubuntu 22.04
distribution humble
build ./build.sh --standalone

@izakisyoutarou this looks like you are successfully publishing your custom message, but receiving it is the problem. Did you source your custom package (my_messages) also in the terminal where you typed ros2 topic echo?

Thanks for your reply @adamdbrw
The custom messages (my_messages) only has a cmake file, an xml file, and a message file.
So I don't think I can do ros2 topic echo because there is no topic name, how do you do it?

You posted a screen where you ran ros2 topic echo command. In this console, source your built message package first. Please refer to ROS 2 resources (tutorials etc) on how to do that.

I forgot the source install setup bash command. I was able to run my own message successfully. Thank you very much for your support.

Sorry, you asked me to reply to this.
From: Adam Dąbrowski @.>
Sent: Wednesday, July 12, 2023 3:47 PM
To: RobotecAI/ros2-for-unity @.>
Cc: IZAKI Syoutarou @.>; Mention @.>
Subject: Re: [RobotecAI/ros2-for-unity] The message "Invalid message type" will appear. (Issue #79)
Closed #79https://github.com/RobotecAI/ros2-for-unity/issues/79 as completed.
—
Reply to this email directly, view it on GitHubhttps://github.com/RobotecAI/ros2-for-unity/issues/79#event-9795148421, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AZPGZWHA6TANYBTEW7ZTCVLXPZB45ANCNFSM6AAAAAA2EKAVJA.
You are receiving this because you were mentioned.Message ID: @.***>


Fallback to device motion events if the Sensor emits an error event

Currently, when using the Sensor API, if it's not possible to create, we fall back to device motion. What isn't handled is when the sensor emits an error event -- it does not currently fall back to device motion.
Unfortunately, I'm not sure how to test this without devices that do not support these features, such that would create an async failure, as opposed to the synchronous thrown errors. Any ideas? @cvan @kenchris @pozdnyakov

Before falling back to 'deviceorientation' events can we try to switch to AbsoluteOrientationSensor?

I'll be honest, I'm not too clear on the differences between AbsoluteOrientationSensor and RelativeOrientationSensor and how to cast between the two coordinate systems

The two sensors produce the same type of data. The difference is that the AbsoluteOrientationSensor uses input from the magnetometer to provide an orientation relative to magnetic North rather than an arbitrarily chosen initial heading.
Reference: https://w3c.github.io/orientation-sensor/#absoluteorientationsensor-model

I'm not sure how to translate AbsoluteOrientationSensor data's origin to that of RelativeOrientationSensor's origin, so that the user is facing down -Z initially. Not terribly familiar with the sensor fusion code that translates between coordinates. Anyways, if RelativeOrientationSensor (acc,gyro) doesn't work, why would AbsoluteOrientationSensor (acc,gyro, magnet) work, which actually has more underlying hardware dependencies?
More pressing though, what causes this error case? Only on devices that have the API implemented, but no underlying gyroscope/accelerometer?

It's entirely opaque to Chrome why the Android platform doesn't support one sensor type or another. If we ask for TYPE_GAME_ROTATION_VECTOR (which is what the RelativeOrientationSensor is based on) and the platform doesn't support Chrome can try to build a fusion sensor on its own based on the low-level components.
I don't know why these particular devices don't support TYPE_GAME_ROTATION_VECTOR, the fact that after falling back to the old sensor events everything works indicates that they do either support TYPE_ROTATION_VECTOR or both TYPE_ACCELEROMETER and TYPE_MAGNETIC_FIELD. Maybe they don't have a gyroscope.

Trying out the AbsoluteOrientationSensor and it's producing different results. Looks roughly like it's -PI/2 off on the Y compared to RelativeOrientationSensor after going through the transformations to VR space (due to not currently using referenceFrame https://github.com/immersive-web/cardboard-vr-display/issues/17). Can file an issue for this in a follow up, but what I'm seeing does not match up with my understanding of AbsoluteOrientationSensor


Can't Deploy to Vercel Edge Function - Status 500

Description
My App works fine when I deploy to Vercel, but when I try and deploy to the Edge Functions, I get this error:
Which makes me wonder if this is a socket.js error (see log below)?
This error seems to be the same for people that try and deploy to the browser.  This is NOT the case here.
Demo: Requires Login
Repo: GitHub
Node.js Version
18.13.0
Redis Server Version
6.26
Node Redis Version
4.51
Platform
Windows 11
Logs
TypeError: Class extends value undefined is not a constructor or null
    at (../../../../node_modules/@redis/client/dist/lib/client/socket.js:20:35)
    at (../../../../.svelte-kit/vercel-tmp/render/edge.js:12:7)
    at (../../../../node_modules/@redis/client/dist/lib/client/index.js:16:17)
    at (../../../../.svelte-kit/vercel-tmp/render/edge.js:12:7)
    at (../../../../node_modules/@redis/client/dist/index.js:18:17)
    at (../../../../.svelte-kit/vercel-tmp/render/edge.js:12:7)
    at (../../../../node_modules/redis/dist/index.js:18:17)
    at (../../../../.svelte-kit/vercel-tmp/render/edge.js:12:7)
    at (../../../../.svelte-kit/output/server/entries/endpoints/graphql/_server.ts.js:3:29)
    at (../../../../.svelte-kit/vercel-tmp/render/edge.js:12:7)

@jdgamble555 https://vercel.com/docs/concepts/functions/edge-functions/limitations#most-node.js-apis-are-not-available
net.createConnection is not available, which means there is no way to create a TCP socket, which means you cannot connect to your redis server directly.
You can create an in-between HTTP server and use it as a "proxy". I'm pretty sure there is already a library (not node.js) that does that, try to search for "Redis over HTTP".

Ok thanks. If I have to create a proxy, I might as well just not use the Edge functions as that defeats the purpose. I deployed directly to Cloudflare (Vercel uses Cloudflare for Edge functions), and I can confirm I get the same error.  However, there may be a way considering Cloudflare (but not Vercel Edge) supports Web Sockets
Cloudflare Blog TCP
Either way, it seems like this is impossible for the moment.  Upstash seems to work with their Redis implementation (probably has their own proxy), but they don't have Redisgraph or any other Modules that I can see.
☹
Thanks for your help!
J

@itamarhaber

I'm wondering if node-redis could be use with the new connect() api for Cloudflare?
I guess you would have to re-write the package with a new socket.js file?
Perhaps adding an option to use an external connect package instead of socket.io package? This would solve the problem I think...
J


Clarify the model checkpoint arguments

🐛 Proposals
This is not so much a bug report as an RFC to clarify the ModelCheckpoint callback arguments:

save_last: to me, this means that whenever we save a checkpoint, we save a checkpoint with filename "last.ckpt". This provides a pre-determined checkpoint name, which is very helpful for resuming from failures. Importantly, it should not determine when checkpoints are saved. Currently it's easy to confuse this parameter to mean "save the checkpoint after the last epoch," which I think should be split out as a separate argument. This distinction would also clarify the typing and validation: there's no need for it to be an Optional[bool]: either we save a checkpoint as "last.ckpt" or not. So it could be a regular bool.

There's an inefficiency right now where we generate the checkpoint dict twice if save_last=True. For techniques like ZeRO that deal with sharded optimizer states, each checkpoint dict creation triggers communications across all ranks. Instead, we should gather the checkpoint dict once, and then save to different file paths accordingly (cc @justusschock @awaelchli @akihironitta @rohitgr7 @carmocca @ninginthecloud @jjenniferdai @SeanNaren, @blefaudeux)

save_top_k: since monitor is None by default, this should force save_top_k to be -1. The counterargument is that this can cause storage concerns. But I think this is easily correctable on the user-side: configure save_top_k + monitor

period: we should rename this as every_n_epochs. this opens up extensions for checkpointing after every_n_steps during training and checkpointing after a specified time interval. With those extensions in mind, period is ambiguous. Another request here is to change the default filename from "{epoch}" to "{epoch}-{global_step}" to better support mid-epoch checkpointing

cc @awaelchli @carmocca

save_last: I agree, I believe this was the original intention when this feature was added. Definitely useful to have.
period: Regarding naming, we have a PR here: #3807 which needs to be finished, but implements exactly this :)

save_last:  What about having a symlink_to_last: bool = False argument so there is always a symbolic link to the last saved epoch? It'd also avoid the inefficiency you talk about in your second point.
period: I think we should keep the name period and have a mechanism to either track epochs or steps.

save_last: What about having a symlink_to_last: bool = False argument so there is always a symbolic link to the last saved epoch? It'd also avoid the inefficiency you talk about in your second point.

I didn't see symlink supported from the fsspec API, so this could be challenging without that. but yeah that's the general idea: maybe we call it save_as_last ? save_most_recent ? open to name ideas here haha

period: I think we should keep the name period and have a mechanism to either track epochs or steps.

Users might want to do both: e.g. save a checkpoint every 10,000 steps and at each epoch

Users might want to do both: e.g. save a checkpoint every 10,000 steps and at each epoch

Yes, but I would support that by allowing having multiple ModelCheckpoint callbacks.
ModelCheckpoint has become quite complex lately, so we should evaluate splitting it some time in the future.
Any further changes we do should line up with a thought out future API.
One possibility is separating the basic saving functionality from tracking the TopK of anything. It could be something like:
class ModelCheckpoint:
    verbose: bool = False
    save_weights_only: bool = False
    period: int = 1
    # I think prefix can be removed? It is not even documented
    # Is it necessary now that we have dirpath and filepath?
    prefix: str = ""
    dirpath: Optional[Union[str, Path]] = None
    filename: Optional[str] = None
    symlink_last: bool = False  # what you propose to be save_last
    # This is missing a mechanism to track either epochs or steps

class TopKModelCheckpoint(Checkpoint):
    # Notice these are not optional anymore
    monitor: str
    save_top_k: int = 1
    mode: str = "auto"
    save_on_end: bool = False  # what we currently call save_last

I also agree the current ModelCheckpoint is confusing. I really like the proposal in the first message that would clarify a lot of things (epoch/steps, save_last, etc).
I don't think symlink should be used as you never really know on which fs you are saving the checkpoint. I would let the user deal with the storage usage things.
Ideally, a single ModelCheckpoint class would be best (IMO) instead of two but I guess it's a matter of taste at this point.

I have a custom checkpoint callback that inherits from the ModelCheckpoint callback to support every_n_steps by saving all(save_top_k=-1 and monitor=None) and skip if not every n steps ((global_step + 1) % every_n_steps != 0)
At the same time, I also want to store the last checkpoint(save_last=True) so that we could resume training from crash.
However, this exception prevent me from doing so:
if self.save_last:
    raise MisconfigurationException(
        'ModelCheckpoint(save_last=True, monitor=None) is not a valid configuration.'
        ' You can save the last checkpoint with ModelCheckpoint(save_top_k=None, monitor=None)'
    )

I'm wondering if we could relax that constraint by giving a warning instead?

I'm wondering if we could relax that constraint by giving a warning instead?

Yes! this was already discussed in slack. Feel free to open a PR.

save_last only makes sense when something is being monitored

why is that??
IMO save_last should have nothing to do with the monitor or save_top_k. why do we have this warning??

why is that??

From my last comment:

Because monitor=None already saves the last ckpt (but not named last.ckpt) so why would you want to save last again (but named last.ckpt)

Because monitor=None already saves the last ckpt (but not named last.ckpt)

oh ok. Then I suggest it should be reverted back to an exception, with an additional condition of self.save_last and self.save_top_k == -1 since saving the same checkpoint twice doesn't make sense. If one needs to access the last checkpoint, the path available in besk_k_models with epoch key. Also, save_last should be independent of the monitor, I think.

the original feature of save_last was to just have a copy of epoch=x.ckpt saved as last.ckpt. This would happen regardless of other settings. See original PR: #1908 and original feature request:  #1658.
The benefit of having this file is to be able to load/resume the checkpoint programmatically through last.ckpt without the need of knowing what the last epoch was. This is also what @ananthsub describes here in the original message.
I hope we can keep this feature as I find it is very useful.

I believe we all get confused because save_last can mean two different things.

A copy of the last checkpoint saved (regardless of anything else). This would ideally be a symlink.
A checkpoint of the model just before training is over.

where save_last corresponds to (2). Note that (1) and (2) are the same thing in some circumstances.
In https://github.com/PyTorchLightning/pytorch-lightning/issues/4335#issuecomment-716051864 I propose having (1) and (2) as symlink_to_last and save_on_end respectively for clarity.

Also, save_last should be independent of the monitor, I think.

It should if we are talking about (1). If we are talking about (2), it is redundant because if monitor is None we will save every validation run.

@carmocca what is left TODO here?

To implement the split described in https://github.com/PyTorchLightning/pytorch-lightning/issues/4335#issuecomment-716051864
Which would clarify the arguments, simplify the code, and facilitate custom ModelCheckpoint extensions

Can we revive this discussion? I was also confused about this. To me, save_last = True should mean save the last checkpoint when training finishes. If we are using early stopping, or training finishes normally, save the last. This would also add the latest tag to loggers.
monitor, mode and every_n_epochs / every_n_steps should work together for checkpointing every specified frequency. This would add the best tag to loggers.
Have a symlink on latest checkpointed model for failure recovery purposes (which will rely on the every_n_epochs / every_n_steps setting). This would also add the latest tag to loggers, which would link to the same checkpoint as the one save_last = True would make if set.
Would this behavior work with everything that has been said in this discussion?

ModelCheckpoint has become quite complex lately, so we should evaluate splitting it some time in the future.
Any further changes we do should line up with a thought out future API.

Hi @carmocca . I see your proposed argument "save_on_end" is really helpful to me as saving model to disk is the bottleneck in my case. To address the issue I have to write my own ModelCheckpoint. I'm wondering will Lightning enable such functionality provided by save_on_end?


Update word2vec_basic.py

Collections can't receive slice as indexes

@Tyruiop please create a new PR to master and sign the CLA. Thanks.


refactor: use AbortSignal.timeout instead of AbortController and setTimeout

AbortSignal.timeout() is more simple, and no need to clearTimeout().

Thanks! Checking if we need any more polyfills for legacy node.


Adding support for Heat, Glance, Keystone fixtures

@zancas
Issues: Fixes #28
Problem: More fixtures are needed to allow use of other openstack
clients such as the heatclient, glanceclient, and keystoneclient.
Analysis: Added fixtures for each of the above clients, as well as
pollsters to allow for easy access to the clients via the fixtures. The
pollsters subclass the clients themselves and therefore can do anything
the clients can do.
Tests: All tests were run from the f5-heat repo, using these fixtures.

Also fixes #18

@zancas: Alrighty, I addressed your comments. Thanks.

Woot!


changelog underline

Coverage: 96.582%. Remained the same when pulling b8b206c3fdb1bf305f29e51d531fe280e2ec4654 on docs-fix into 7ba02bce540940b4c79927887a2b44a512098cc1 on main.


SQLSTATE[01000]: Warning: 1265 Data truncated for column 'date_field' at row 1

Laravel Version: 8.61.0
PHP Version: 8.0.10
Database Driver & Version: MySQL 8 (strict mode)

Description:
Colleagues, when working in strict mode with a database, we get an error, because after the implementation of this functionality #38720, the date fields are saved to the database in the format specified in the grammar, ignoring the caster parameters, i.e. in case of mysql format "Y-m-d H:i:s", although the database for the date type expects "Y-m-d".
In version 8.60, the format coincided with the format specified in the caste.
Steps To Reproduce:

class TestModel1 extends Model
{
    public $table = 'test_model1';
    protected $guarded = [];

    public $casts = [
        'date_field' => 'date:Y-m-d',
    ];
}

TestModel1::create([
          'date_field' => '2019-10-01',
]);

Also, if the $dateFormat property is specified, then in version 8.60, if there was a caste on the field, then this format was ignored and taken from the caste attributes. In version 8.61, the caste attributes are ignored and the $dateFormat property is always used.

I agree, since 8.61 $dateFormat or grammar's default date format have priority over custom caster format. In fact, caster format is never used anymore.

Last week's pull request fixed Model@setAttribute() falsely marking an attribute as dirty when assigning  Carbon objects. However the new test case added didn't have coverage for assigning strings which is the common use case when $request->validated() is filled into the model.
This is a setAttribute() change that could potentially fix it: https://github.com/laravel/framework/compare/8.x...derekmd:fix-setattribute-custom-cast-date-format?expand=1
However I need to figure out a more eloquent graceful solution to conditionally invoke fromDateTime() with the custom date format without introducing a new argument in 8.x. That commit introduces some duplicate code with addCastAttributesToArray() so the casting lifecycle is now a bit weird.

I also came across this issue because of an failing test case. I have a model "Company" with an date field 'founded_at':
class Company extends Model
{
    protected $casts = [
        'founded_at' => 'date:Y-m-d',
    ];
}

In my tests I use assertDatabaseHas and I need to set different founded_at values for different versions of Laravel.
When I use it with Laravel version 8.61.0 to make it pass the assertion I need to do:
$this->assertDatabaseHas(
    Company::class,
    ['id' => 10, 'founded_at' => '1991-01-27 00:00:00'],
);

While with Laravel version 8.60.0 (and older) it needs to be:
$this->assertDatabaseHas(
    Company::class,
    ['id' => 10, 'founded_at' => '1991-01-27'],
);

So in my case this is for a (Laravel) library I am not sure how to solve this issue so it will work for version 8.61.0 and previous versions. I can lock it on ^<IP_ADDRESS>, but in case the mentioned PR is rolled back it would break it again.

There are two app-level solutions for strict SQL date format until/if the framework fixes this:
Elouqent set mutator
https://laravel.com/docs/8.x/eloquent-mutators#defining-a-mutator
This avoids the new setAttribute() behaviour, although you'd need to define a new method for every date column requiring an exact date format.
use Illuminate\Support\Facades\Date;

class Company extends Model
{
    protected $casts = [
        'founded_at' => 'date:Y-m-d',
    ];

    public function setFoundedAtAttribute($value)
    {
        $this->attributes['founded_at'] = $value === null ?
            null :
            Date::parse($value)->format('Y-m-d');
    }
}

Custom cast
https://laravel.com/docs/8.x/eloquent-mutators#custom-casts
A re-usable solution that doesn't require a new mutator method for each database column.
namespace App\Casts;

use Illuminate\Contracts\Database\Eloquent\CastsAttributes;
use Illuminate\Contracts\Database\Eloquent\SerializesCastableAttributes;
use Illuminate\Support\Facades\Date;

class DayCast implements CastsAttributes, SerializesCastableAttributes
{
    public function get($model, string $key, $value, $attributes)
    {
        if ($value !== null) {
            return Date::parse($value);
        }
    }

    public function set($model, string $key, $value, $attributes)
    {
        if ($value !== null) {
            return Date::parse($value)->format('Y-m-d');
        }
    }

    public function serialize($model, string $key, $value, array $attributes)
    {
        return $this->set($model, $key, $value, $attributes);
    }
}

class Company extends Model
{
    protected $casts = [
        'founded_at' => \App\Casts\DayCast::class,
    ];
}

For both snippets, Date::parse() may not be the catch-all solution since protected method Model@asDateTime() used by setAttribute() has some additional ways it constructs a new Carbon object.

Ping @macbookandrew

Probably have to revert. Might make it a policy to reject all changes to casting / "is dirty" behavior.

Reverted.

I’m so sorry for the problems as a result of #38720.
@EgorGruzdev / @derekmd / @Ilyes512 if you have a chance, would you mind testing #38994 to see if it fixes the issues you had? As far as I can tell, it restores the formatting for the database bindings while retaining the comparison check I was attempting to fix.
@taylorotwell would you reconsider your possible policy change for that followup PR?


clicking Cancel to close schedule filter should set the excludeTracks to original excludeTracks

in Schedule page, open filter, click "Cancel" and open filter again shows empty filters list

because the onClose callback parameter (excludeTracks) is undefined when user click "Cancel" to close the modal.

Fixed by #93, thanks!


Update templates/bootstrap/errors.html for Bootstrap 2.0.

See here for reference.

Thanks for both patches David,
It just got merged in and I've added you to CONTRIBUTORS. I will be releasing version 1.1.2 today with several template fixes, including this.
Cheers,
Miguel

Thanks, and sorry for not noticing the tests. I'll be sure to run them next time.

david

On Tuesday, February 28, 2012 at 9:14 AM, Miguel Araujo wrote:

Thanks for both patches David,
It just got merged in and I've added you to CONTRIBUTORS. I will be releasing version 1.1.2 today with several template fixes, including this.
Cheers,
Miguel

Reply to this email directly or view it on GitHub:
https://github.com/maraujop/django-crispy-forms/pull/18#issuecomment-4217609

No problem David. It happens to me sometimes too.


Accessibility

Overview
Too guarantee that every person can use the tools we should try to make everything as accessible as possible.
As a reference/guide/goal we could use the WCAG Guidelines that are provided by W3C.
Focus
I'll list some rough points from there, leaving out a few that don't really make sense for us:

[ ] Keyboard Accessible
[ ] Navigable
[ ] Readable
[ ] Input Assistance

These are just the 4 main points that really stuck out for me, but this is open for discussion.
Planing
I am not really sure what the correct way to tackle this issue is.
Some points that I'm unsure about.

Is going through each tool and page one-by-one the correct way?
Should we build some kind of small component lib which try to place stuff like aria-labels correctly?
How do we make sure that pages/tools/functionalities implemented at a later date meet all of the goals described above.

I think 2 could positively benefit 3.

Oh lol, I just found out that LaTeX isn't exactly accessible
https://tex.stackexchange.com/questions/261537/a-guide-on-how-to-produce-accessible-pdf-files
(The usual way of noticing that is when you try to copy paste something and end up realizing that the spacing is just broken)

Readable is not a top priority as of now


Sets upper limit of Addressable to continue supporting 1.9.3.

The Addressable Gem has dropped 1.9.x support in version 2.5.0
Or, set the Required Ruby Version in the .gemspec

#23 locks swagger-core at 2.1, if that gets merged this can be closed


Disable on a test suite?

I know you can add the annotation to increase the timeout on a per test basis but is there a way to do it on a per test suite basis, for instance I know my integration tests are going to be slow because they tear down and recreate a database between tests

@REBELinBLUE It's not currently possible to set different slowness thresholds on a per-test suite basis. But I would love to add that feature.
How are you defining the test suites in your project? Would you mind posting an example?

Thanks :) I'm just defining them using the  tag in the phpunit config file

@REBELinBLUE What might be the best way to disable the listener?
Setting an extremely high slownessThreshold like 999999 would prevent a test reporting slow unless it ran for more than 999 seconds. However a more intentional threshold of 0 might be better. We already use reportLength = 0 to display all slow tests in the output instead of trimming to 5.
What if the SpeedTrapListener supported configuring test suites by supplying the testsuite name? The options configuration could be defined as an array of arrays, where each array has:

testSuiteName
slownessThreshold
reportLength

The XML configuration would look like this for 2 test suites... what do you think?
<phpunit
    backupGlobals               = "false"
    backupStaticAttributes      = "false"
    colors                      = "true"
    convertErrorsToExceptions   = "true"
    convertNoticesToExceptions  = "true"
    convertWarningsToExceptions = "true"
    processIsolation            = "false"
    stopOnFailure               = "false"
    syntaxCheck                 = "false"
    bootstrap                   = "vendor/autoload.php">

    <testsuites>
        <testsuite name="Database Test Suite">
            <directory>src/*/*/*/Tests/Database</directory>
        </testsuite>
        <testsuite name="Not Database Test Suite">
            <directory>src/*/*/*/Tests</directory>
            <exclude>
                <directory>src/*/*/*/Tests/Database</directory>
            </exclude>
        </testsuite>
    </testsuites>

    <listeners>
        <listener class="JohnKary\PHPUnit\Listener\SpeedTrapListener">
            <arguments>
                <array>
                    <element>
                        <array>
                            <element key="testSuiteName">
                                <string>Database Test Suite</string>
                            </element>
                            <element key="slowThreshold">
                                <integer>0</integer>
                            </element>
                        </array>
                    </element>
                    <element>
                        <array>
                            <element key="testSuiteName">
                                <string>Not Database Test Suite</string>
                            </element>
                            <element key="slowThreshold">
                                <integer>500</integer>
                            </element>
                            <element key="reportLength">
                                <integer>0</integer>
                            </element>
                        </array>
                    </element>
                </array>
            </arguments>
        </listener>
    </listeners>
</phpunit>

Awesome, thanks :)

@johnkary It would be great if we could use the @slowThreshold annotation on classes too, not just test methods 🙂

Is this on the roadmap at all? I’m in the exact same boat (got an integration test suite that has “slow” tests that I’d like to increase the threshold on).


chore: cache ~/.pkg-cache in Travis CI and Appveyor CI

Looks like pkg downloads node binaries from GitHub Releases, and GitHub
may impose a rate limiting if we download too many things from them in a
short period of time (likely to happen when there are many concurrent
PRs).
In order to mitigate this issue, this commit adds $HOME/.pkg-cache,
the directory where pkg stores node binaries, to the CI services cache.
See: https://github.com/resin-io/etcher/pull/1594
Signed-off-by: Juan Cruz Viotti<EMAIL_ADDRESS>

likely to happen when there are many concurrent PRs

... or when builds on Travis or Appveyor from entirely unrelated projects also happen to be using pkg in their CI tests ;-)
Will this rate-limiting ever cause problems for us now that we're switching to GH Releases for Etcher?

... or when builds on Travis or Appveyor from entirely unrelated projects also happen to be using pkg in their CI tests ;-)

Oh, right, I didn't think about that.

Will this rate-limiting ever cause problems for us now that we're switching to GH Releases for Etcher?

Nope, pkg is using the GitHub API, which has rate limiting, but that shouldn't be a problem if you're downloading the assets directly.

that shouldn't be a problem if you're downloading the assets directly.

I guess I was referring more to https://github.com/resin-io/etcher/pull/1555/files#diff-9cf255022386c90c5a7e721284b1901cR63 but I see that you already handle the case of the ratelimit being reached, by pretending there are no versions available. All good then ;)
(BTW I'm still in the middle of reviewing #1555 )


User-reported unhelpful error message

Program: https://code.world/#P2sJqwpXpi3sqi_KJUNnHLA
Message:
program.hs:1:1-21: error:
    Parse error: An equation was expected here.
    Are you missing the equal sign?

Not a serious attempt.


[#4910] Add example for Style/Attr

Adds an example to the Style::Attr cop.
Related to Issue #4910

Before submitting the PR make sure the following are checked:

[x] Wrote good commit messages.
[x] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Used the same coding conventions as the rest of the project.
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[ ] Added tests.
[ ] Added an entry to the Changelog if the new code introduces user-observable changes. See changelog entry format.
[x] All tests(rake spec) are passing.
[x] The new code doesn't generate RuboCop offenses that are checked by rake internal_investigation.
[x] The PR relates to only one subject with a clear title
and description in grammatically correct, complete sentences.
[x] Updated cop documentation with rake generate_cops_documentation (required only when you've added a new cop or changed the configuration/documentation of an existing cop).

The build is failing (likely due to long line)

One job was failed, but it has turned success by rebuilding.

Thanks!


Add support for cftime types

As outlined in this xarray issue (https://github.com/pydata/xarray/issues/2164) we currently do not have support for the new cftime types they introduced. It might be as simple as adding them to the holoviews.core.util.datetime_types at the HoloViews level but probably also requires some work at the bokeh level.

If you have questions about this new type, @spencerkclark is probably the person to ask.


TEntity.Copy

All entities need to have their data copied over properly.

Restructuring the copy system has taken care of this issue.


Add build from docker

adds a simple docker-compose file and Dockerfile to build the simulator from source and spin up the service as a container

Thanks a lot for the contribution!


feat: Enable sharding of ResourceGroup objects

This commit enables sharding of ResourceGroup objects to scale the
number of GKNN resources tracked within an inventory. Prior to sharding,
the number of objects tracked is limited to the size of the
ResourceGroup object and is bottlenecked by etcd size limits. This
modification allows us to distribute GKNNs to multiple 'paginated'
ResourceGroups.

/hold
Per offline discussion, the cli-utils ClusterClient needs refactoring to push more of the inventory lifecycle management into the provider/storage layer.


Pureinsights adds OpenSearch to its Discovery Platform - Blog Post

Describe the blog post your would like to write
We are pleased to announce that OpenSearch will be the default search engine of choice for the Pureinsights Discovery Platform.
What is the title of the blog post?
Partner Highlight: Pureinsights adds OpenSearch to its Discovery Platform
Who are the authors?
Phil Lewis
What is the proposed posting date?
04/15/22

Closed by #774 & #775


Prefer a 'manage.py' that exists higher up in the directory hierarchy

If you had multiple files named manage.py (for example if you have other django projects as submodules), the old collectstatic could be trying to run one of those files instead of the main one.
This change sorts manage.pys by their depth in the directory hierarchy, so that the shallowest one is chosen.

this looks like a great change, thanks!


Introduce elementTargetClass option (alternative to :target)

What problem is this solving
While it supports scrolling to a hash:
export const router = createRouter({
    history: createWebHashHistory(), // createWebHistory
    routes,
    scrollBehavior(to, from, savedPosition) {
        if (to.hash) {
            return { el: to.hash };
        }
    }
});

Setting the hash with History API do not affect on styling the element with  :target selector.
Proposed solution
Add a new createRouters option similar to

https://router.vuejs.org/api/interfaces/RouterOptions.html#linkActiveClass
https://router.vuejs.org/api/interfaces/RouterOptions.html#linkExactActiveClass

For example:
export const router = createRouter({
    /* ... */
    elementTargetClass: "router-target-element"
});

Describe alternatives you've considered
No response

And what does this option do?

Adds the class ("router-target-element" from the example above) to the element with the id the same as the URL's hash.
So, it can be used as an alternative to :target CSS selector which does not work with vue-router.
:target, .router-target-element {
  font-weight: bold;
}

For example, the route /main#1 will add the router-target-element class to the element with id 1.

I see, so it's specific to the web hash history and what you mentioned on #2230. It can be solved by creating that custom history you proposed, which seems more appropriate than introducing a new option that only applies to a specific history mode.

it's specific to the web hash history

No, this applicable to both createWebHistory and createWebHashHistory.
With createWebHistory mode the :target CSS selector does not work too.

Thanks for pointing out #2076 , I forgot about it being a spec limitation. You should follow https://github.com/w3c/csswg-drafts/issues/6942 for a proper implementation of this.
You can implement the feature in many ways. The most reusable one would be a custom Router Link by checking the current route and the this custom link resolved route's hash


Changing UITraitCollection causes display glitches

Hi! Great library :)
Not sure if this is iPad specific, but when the UITraitCollection is changed (e.g. display is rotated, OR if you adjust the size of the app in SplitView to name a couple of ways), it throws off the UICollectionView and requires you to scroll down and then back up to have it reload those rows.

Any advice would be appreciated! 😄

🤨 I wil look into this, later today.

@roberthein did you get a chance to make any progress on this? Were you able to replicate it?

I did not yet, but I will have time this weekend to get into this.

@roberthein Sorry to bother; just wanted to see if had been able to look into this?

@roberthein just checking in to see if you were able to diagnose the issue

I guess we can only assume this framework isn't being supported anymore.


upgrade asap dep to 2.0.0

1.0.0 doesn't browserify well

Out of curiosity, what about 1.0.0 doesn't browserify well?
On Thu, Mar 26, 2015 at 12:55 PM Mark Vayngrib<EMAIL_ADDRESS>wrote:

1.0.0 doesn't browserify well
You can view, comment on, or merge this pull request online at:
https://github.com/npm/dezalgo/pull/1
Commit Summary

upgrade asap dep to 2.0.0

File Changes

M package.json https://github.com/npm/dezalgo/pull/1/files#diff-0
(2)

Patch Links:

https://github.com/npm/dezalgo/pull/1.patch
https://github.com/npm/dezalgo/pull/1.diff

—
Reply to this email directly or view it on GitHub
https://github.com/npm/dezalgo/pull/1.

its exception handling thinks it's in node.js (see the isNodeJS var) and
rethrows synchronously, breaking its flush loop. This means that after an
exception is thrown, unless it is caught in a domain, it will never
recover. In my code, this meant no promise was ever resolved again
On Wed, Mar 25, 2015 at 9:02 PM, Feross Aboukhadijeh <
<EMAIL_ADDRESS>wrote:

Out of curiosity, what about 1.0.0 doesn't browserify well?
On Thu, Mar 26, 2015 at 12:55 PM Mark Vayngrib<EMAIL_ADDRESS>wrote:

1.0.0 doesn't browserify well
You can view, comment on, or merge this pull request online at:
https://github.com/npm/dezalgo/pull/1
Commit Summary

upgrade asap dep to 2.0.0

File Changes

M package.json https://github.com/npm/dezalgo/pull/1/files#diff-0
(2)

Patch Links:

https://github.com/npm/dezalgo/pull/1.patch
https://github.com/npm/dezalgo/pull/1.diff

—
Reply to this email directly or view it on GitHub
https://github.com/npm/dezalgo/pull/1.

—
Reply to this email directly or view it on GitHub
https://github.com/npm/dezalgo/pull/1#issuecomment-86271648.

I actually saw this happen once and couldn't figure out why. Thanks for
explaining.
+1 to this PR!
On Thu, Mar 26, 2015 at 2:53 PM Mark Vayngrib<EMAIL_ADDRESS>wrote:

its exception handling thinks it's in node.js (see the isNodeJS var) and
rethrows synchronously, breaking its flush loop. This means that after an
exception is thrown, unless it is caught in a domain, it will never
recover. In my code, this meant no promise was ever resolved again
On Wed, Mar 25, 2015 at 9:02 PM, Feross Aboukhadijeh <
<EMAIL_ADDRESS>wrote:

Out of curiosity, what about 1.0.0 doesn't browserify well?
On Thu, Mar 26, 2015 at 12:55 PM Mark Vayngrib<EMAIL_ADDRESS>wrote:

1.0.0 doesn't browserify well
You can view, comment on, or merge this pull request online at:
https://github.com/npm/dezalgo/pull/1
Commit Summary

upgrade asap dep to 2.0.0

File Changes

M package.json <https://github.com/npm/dezalgo/pull/1/files#diff-0

(2)
Patch Links:

https://github.com/npm/dezalgo/pull/1.patch
https://github.com/npm/dezalgo/pull/1.diff

—
Reply to this email directly or view it on GitHub
https://github.com/npm/dezalgo/pull/1.

—
Reply to this email directly or view it on GitHub
https://github.com/npm/dezalgo/pull/1#issuecomment-86271648.

—
Reply to this email directly or view it on GitHub
https://github.com/npm/dezalgo/pull/1#issuecomment-86291534.

ha, yea, I emerged from this one with my head well-scratched
On Wed, Mar 25, 2015 at 11:05 PM, Feross Aboukhadijeh <
<EMAIL_ADDRESS>wrote:

I actually saw this happen once and couldn't figure out why. Thanks for
explaining.
+1 to this PR!
On Thu, Mar 26, 2015 at 2:53 PM Mark Vayngrib<EMAIL_ADDRESS>wrote:

its exception handling thinks it's in node.js (see the isNodeJS var) and
rethrows synchronously, breaking its flush loop. This means that after an
exception is thrown, unless it is caught in a domain, it will never
recover. In my code, this meant no promise was ever resolved again
On Wed, Mar 25, 2015 at 9:02 PM, Feross Aboukhadijeh <
<EMAIL_ADDRESS>wrote:

Out of curiosity, what about 1.0.0 doesn't browserify well?
On Thu, Mar 26, 2015 at 12:55 PM Mark Vayngrib <
<EMAIL_ADDRESS>wrote:

1.0.0 doesn't browserify well
You can view, comment on, or merge this pull request online at:
https://github.com/npm/dezalgo/pull/1
Commit Summary

upgrade asap dep to 2.0.0

File Changes

M package.json <
https://github.com/npm/dezalgo/pull/1/files#diff-0

(2)
Patch Links:

https://github.com/npm/dezalgo/pull/1.patch
https://github.com/npm/dezalgo/pull/1.diff

—
Reply to this email directly or view it on GitHub
https://github.com/npm/dezalgo/pull/1.

—
Reply to this email directly or view it on GitHub
https://github.com/npm/dezalgo/pull/1#issuecomment-86271648.

—
Reply to this email directly or view it on GitHub
https://github.com/npm/dezalgo/pull/1#issuecomment-86291534.

—
Reply to this email directly or view it on GitHub
https://github.com/npm/dezalgo/pull/1#issuecomment-86316947.

Sorry it took us a minute, but this has been rebased and landed as<PHONE_NUMBER>bd69c2f7714f3752962f2f537c484c, as well as published as<EMAIL_ADDRESS>Thanks for putting this together, and best of luck with getting dezalgo to browserify properly!

awesome, i'm off to dezalgo something


Lazier JRuby instantiation

JRuby is now capsulated in org.embulk.jruby.ScriptingContainerDelegate and org.embulk.jruby.JRubyScriptingModule, but its instantiation is still triggered in the startup by Bootstrap#initialize() from EmbulkEmbed.
Make the Guice Bootstrap lazy is the right way, but before that, we'd have lazier JRuby instantiation by ScriptingContainerDelegate.
Cc: @muga

Done in v0.9.3 at #962.


blocklist / allowlist for tags

Hello.
Would it be possible to implement a tag blocklist / allowlist system ?
Maybe this is already planned for a future version?
Thanks.

Yeah, I can add a tag blacklist feature, should be pretty simple.