Question: Schema extension + composition

Hey Beaker(er?)s,
I'm curious what the current recommendation is for creating schema extensions that would be compatible with existing Fritter clients. More specifically, I'd like to add an optional type field + metadata to some Freets while keeping all other fields intact, such that existing clients render some placeholder text (i.e. "To view this message, use viewer X," ala SSB) if they lack the ability to display/handle the complete message.
It looks like right now message validation is manual, and doesn't actually use any of the JSON schemas in schemas/, which means that schema duplication is really only be an aesthetic problem, since validators can be easily composed. That right?
I know you've given this tons of thought (w.r.t. app intents and JSON-LZ), and I know that additional WebDB work is tabled until the hyperdb API lands -- in the meantime, what's ideal? Also, any known examples that currently do this?
Thanks!

Heyo @andrewosh.
Yeah I think you have two choices here. You can:

Intentionally break the existing schema validation (ie no text field). This would cause other clients to ignore the new post-types, but allow you to still weave them into the feeds of compliant clients.
Treat the existing schema like an envelope. In this case, you would put the "To view this message..." bit in the text field, and then add attributes containing your new data. This would cause other clients to render the new post-types as posts, containing whatever text you have in the text field.

That's basically up to you. I'd suggest you only go with 2 if you're sure it won't look spammy.
RE the json-schemas, yeah I was using those and then I noticed the json-schema library I was using added a ton of kBs to the bundle so I ditched it.

K great -- I didn't know that validation errors would cause clients to ignore the data instead of explicitly erroring. That sounds like the best approach for my use-case!


Codeunit 7000 Sales Price Calc. Mgt.: set functions as GLOBAL

Codeunit 7000 - Function CalcBestUnitPrice - set as GLOBAL
Codeunit 7000 - Function CalcBestLineDisc- set as GLOBAL
Thank you!

Hi Team, I need same in NAV 2018 NA CU3 . Please let me know how to get it.


Kext compatibility with 10.15.6 using 5.5.0 OSX

Keybase GUI Version: 5.5.0-20200526170801+139bb348af

can't you right-click -> Open it?

There is nothing set to open by default, I can Show Contents to see the individual kexts and Code Signing info


Support for VisionOS (xrOS)

Although there was recently this commit to fix compilation for xrOS, as of yesterday on Xcode 15.0-beta3 with SwiftUIX v0.1.5, I'm getting a number of ... is unavailable in visionOS errors. Perhaps some #if !os(visionOS) checks might still be needed?

@pgorrindo thanks for raising the issue - this should be fixed on 0.1.6.

thanks @vmanot for the quick turnaround! unfortunately, I'm still seeing these buildtime issues with 0.1.6. Both on Xcode 15-b3, and I just checked beta 4 for good measure.

@pgorrindo that's odd - I'm able to build on Xcode 15b3. Let me re-check this today.

@pgorrindo could you try cloning the repo fresh and building for the Vision Pro simulator? It seems to be building fine for me.

@pgorrindo could you try cloning the repo fresh and building for the Vision Pro simulator? It seems to be building fine for me.

@vmanot thanks for your persistence! I've tried everything I can think of, in various permutations, on both Xcode 15-b3 and -b4:

cleaned the build and DerivedData folders
removed org.swift.swiftpm in ~/Library/Caches
removed SwiftUIX as a dependency and then re-added
File > Packages > Reset Package Caches
tried a variant of this xcode cleaning shell script

But no luck -- I still get the same SwiftUIX buildtime errors.
Of note, I'm using the Firebase SDK in my Xcode project, which to support VisionOS under the current version, requires running Xcode with an env variable (FIREBASE_SOURCE_FIRESTORE) -- but I don't think (?) this would have an effect on SwiftUIX, no?

@pgorrindo I don't think that should have an effect. Could you just try building SwiftUIX alone (just the SwiftUIX SPM package, cloned from GitHub, outside your workspace/project) and confirm whether you're still encountering the errors? And if so could you post another screenshot - I'd like to see if the errors are the same.

@vmanot ok, gotcha. Well when I build SwiftUIX stand-alone for VisionOS, I don't get those buildtime errors and SwiftUIX compiles successfully. So then it must be something specific to my Xcode project?

@pgorrindo yeah I think it's something specific to your setup. I'd recommend manually going over the files changed in the latest commit + comparing them with the version of SwiftUIX that you have in your Xcode project to confirm whether it's outdated.


gemspec: Drop defunct property rubyforge_project

The RubyGems gemspec property rubyforge_project has been removed without a replacement. This PR removes that property.
Background

RubyForge was closed down in 2013.
rubygems/rubygems#2436 deprecated the rubyforge_project property.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Fix microseconds in GraphQL rate limit and new option to use or not library's rate limit

Hi, fix microseconds issue in GraphQL ratelimiting.php and a new option to use or not the library's rate limit method.
The library's method is basic and it is easy to be throttled.
If you implement your own method, the library will also wait up to 1 second, so may be you will wait twice, so it is better that you could deactivated the library's rate limit method.
use this option: $option->setUseRateLimit(false);

One comment noted, if good, let me know, I'll merge it in and see about fixing the tests :)

I've updated master to fix times to microseconds, and to optionally have the rate limiter, let me know if that works for you.

It is suppossed to be solved in 10.0.2


How to get App Catalog Site URL from a SPFx Web Part

From @matthong on July 31, 2018 19:56
From a SPFx Web Part, is there a way to get the tenant's app catalog site URL programmatically?
Category

[x] Question
[ ] Bug
[] Enhancement

Expected or Desired Behavior
Need a way to find the App Catalog site of the tenant programmatically from a Web Part.
Observed Behavior
Steps to Reproduce
Submission Guidelines
Thanks for your contribution! Sharing is caring.
Copied from original issue: SharePoint/sp-dev-fx-webparts#584

See following blog post from @waldekmastykarz  for the details.

Get the tenant app catalog URL using the REST API by @waldekmastykarz

Thank you Andi and Vesa. The REST API works.


feat!: Added SequenceEffect

Description
Added SequenceEffect, which performs a series of other effects.
The biggest challenge in implementing this feature came from the need to run the sequence in reverse, due to the alternate flag. This required that every effect and every controller supported running "back in time", which is not as simple as it sounds.
The following breaking changes were introduced:

The Effect class no longer supports .reverse() method and .isReversed flag.
This flag was added only 2 weeks ago (#1134), with the idea that it will be necessary for the SequenceEffect. However, as it turned out, this flag is not as helpful as I thought it would be. In fact, given the user's ability to change it any point, it makes the implementation very error-prone.
To be clear, the ability for each effect to run in reverse remains -- only now it can no longer be triggered by the user manually. Instead, SequenceEffect triggers that ability itself at the alternation point. If there is demand in the future to manually force any effect to run backwards, we could restore this flag, but this would require thorough testing to make it work correctly.

Infinite effects now return duration = double.infinity instead of null, which seems more appropriate.

Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] My PR includes unit or integration tests for all changed/updated/fixed behaviors and are passing (See Contributor Guide).
[x] My PR does not decrease the code coverage, or I have a very special case and explained on the PR description why this PR decreases the coverage.
[x] I updated/added relevant documentation (doc comments with ///) and updated/added examples in doc/examples.
[x] I have formatted my code with flutter format and the flutter analyze does not report any problems.
[x] I read and followed the Flame Style Guide.
[x] I removed the Draft status, by clicking on the Ready for review button in this PR.
[x] I am willing to follow-up on review comments in a timely manner.

Breaking Change

[x] Yes, this is a breaking change.

It would be could with some tests that has alternating effects within an alternating SequenceEffect.

The last test in sequence_effect_test.dart has an alternating SequenceEffect, and within it another alternating repeating SequenceEffect, and one other non-alternating repeating SequenceEffect.

The last test in sequence_effect_test.dart has an alternating SequenceEffect, and within it another alternating repeating SequenceEffect, and one other non-alternating repeating SequenceEffect.

Right, but none of the "leaves" are alternating? I'm sure it works from just having that test, that's why I approved, but it would be a little bit different with just having another type of alternating effect inside the SequenceEffect?

I don't understand - which structure do you have in mind?

I don't understand - which structure do you have in mind?

Like a simpler test with a SequenceComponent just having an alternating MoveEffect for example (or whichever other effect really).

Like a simpler test with a SequenceComponent just having an alternating MoveEffect for example (or whichever other effect really).

Ok, i added another test like that.


query->result() returns empty

$query->result() is returning array{0}
while $query->result_array() is returning correct result .
driver odbc database informix

Sorry about that ... if we override the result_array() method with one that doesn't depend on num_rows(), it should be fine. Here's it is: https://github.com/EllisLab/CodeIgniter/commit/cc5af53346397846f2035dc2bf6a2c2f9b0cd4ab
I've tested it, but will leave this one open until you confirm.

i did several test.. $query->result() still return empty array ..

... _data_seek() sucks, here's another one: https://github.com/EllisLab/CodeIgniter/commit/9c68c3173c84041b1ee77929e540a4a4382edeee

nice.. everything works fine now.. result() , result_array(), and num_rows() is returning the correct value.

OK, closing this one then. :)

I met the same error with whyb.
$query->num_rows() return 19605 but $query->result_array() does not return anything. There are no errors found. 19605 is not very large data, is it right?
Please help.

@tthanhlong , my database driver is odbc, ms sql server, But I met the problem two year ago.
I not sure the new version was resolved it?

Memory limit caused this problem.
Default is 128M, but we can set memory_limit = 1024M or higher and you should be good.
ini_set('memory_limit', "1024M");
We also set unlimited by:
ini_set('memory_limit', "-1");
but it isn't be encouraged due to memory leak somewhere and out of control.
I changed to appropriate number and it seems to be fix.
Regards!


Upgrade black (code formatter) to the latest version

Summary
This pull request upgrades the version of black, the code formatter we use, from `black==19.10b0" to  "black==20.8b1".
(Describe the goal of this PR. Mention any related issue numbers)
Category (place an x in each of the [ ])

[x] slack_sdk.web.WebClient (sync/async) (Web API client)
[x] slack_sdk.webhook.WebhookClient (sync/async) (Incoming Webhook, response_url sender)
[x] slack_sdk.models (UI component builders)
[x] slack_sdk.oauth (OAuth Flow Utilities)
[x] slack_sdk.socket_mode (Socket Mode client)
[x] slack_sdk.rtm.RTMClient (RTM client)
[x] slack_sdk.signature (Request Signature Verifier)
[ ] /docs-src (Documents, have you run ./docs.sh?)
[ ] /docs-src-v2 (Documents, have you run ./docs-v2.sh?)
[ ] /tutorial (PythOnBoardingBot tutorial)
[x] tests/integration_tests (Automated tests for this library)

Requirements (place an x in each [ ])

[x] I've read and understood the Contributing Guidelines and have done my best effort to follow them.
[x] I've read and agree to the Code of Conduct.
[x] I've run python setup.py validate after making the changes.

I'd like to merge this PR tomorrow in my timezone (+09:00). If you have any concerns on this, please let me know by then. Of course, giving an approval is greatly appreciated.

I'd like to merge this PR tomorrow in my timezone (+09:00). If you have any concerns on this, please let me know by then. Of course, giving an approval is greatly appreciated.


Add custom attribute to UILabel

I may be missing something obvious, but I'm unable to add custom attributes to a UILabel that would allow it to break into multiple lines. Normally after making the label I'd just call the following (Swift):
textLabel.lineBreakMode = NSLineBreakMode.ByWordWrapping
textLabel.numberOfLines = 0

I assume that I'd be doing this in the style function, but am unsure what the "magic words" are for custom attributes that don't have their own convenience methods.
def layout
  add UILabel, :custom_label
end

def custom_label_style
  text "Some really long string that I want to break into a couple lines"
  # line_break_mode NSLineBreakModeByWordWrapping
  # number_of_lines 0
end

The code you have looks right to me - no need for convenience methods here.  Is there an error or something?  What's the expected vs observed behavior?

Yeah, I'm getting the following error:
Terminating app due to uncaught exception 'NameError', reason: 'home_layout.rb:13:in `really_long_label_style': uninitialized constant HomeLayout::NSLineBreakModeByWordWrapping (NameError)

class HomeLayout < MK::Layout

  def layout
    root :main do
      add UILabel, :really_long_label
    end
  end

  def really_long_label_style
    text "A really long string that needs to be broken into a couple lines"
    line_break_mode NSLineBreakModeByWordWrapping
    number_of_lines 0
    frame [['25%', '25%'], ['25%', '50%']]
  end

  def main_style
    background_color "#1E2129".uicolor
  end

end

I also tried with just ByWordWrapping, which resulted in a similar NameError

Ah, I was following a bad SO post, should be:
def label_has_word_wrapping
  line_break_mode NSLineBreakByWordWrapping
  number_of_lines 0
end

Classic :smile: HTH!


Fix YAML parsing errors

Some strings in the YAML part of the markdown files are invalid, because of the usage of single quotes, which should be replaced by double quotes.
For instance, single quotes were used inside single quotes. Moreover, double quotes allow the \_ to be "parsed".

Thanks for the fixes!


Add iNaturalist dataset

🚀 Feature
A feature request to discuss about about adding iNaturalist dataset wrapper of ImageFolder (maybe, even without downloading tools).
Motivation
We can see in the research code custom dataset implementation which can be also in torchvision. For example, here:
https://github.com/facebookresearch/deit/blob/ab5715372db8c6cad5740714b2216d55aeae052e/datasets.py#L13
Being also aware of our not-yet-defined procedure on which datasets to add, feel free to close the FR if we can not move forward.
cc @pmeier

It seems to be cited 159 times. Given that this is not a general purpose classification dataset, I think it is reasonable popular. @vfdev-5 do you have insights if this is still used in contemporary publications or i seven picking up in popularity?

It seems to be cited 159 times. Given that this is not a general purpose classification dataset, I think it is reasonable popular. @vfdev-5 do you have insights if this is still used in contemporary publications or i seven picking up in popularity?

According to scholar, there are already 9 papers citing the dataset in 2021. Code cited above is for Deit (12/2020) paper.
Looks like a popular dataset. Let's see other opinions here before going further.

According to scholar, there are already 9 papers citing the dataset in 2021. Code cited above is for Deit (12/2020) paper.
Looks like a popular dataset. Let's see other opinions here before going further.

Just to be clear: I'm in favor of adding this.

Just to be clear: I'm in favor of adding this.

There is a mistake in the documentation.
The module is spelled lowercase (torchvision.datasets.inaturalist). There is no torchvision.datasets.INaturalist.

@arch-user-france1 There is no mistake in the documentation since it doesn't describe the module, but rather the class:
https://github.com/pytorch/vision/blob/120e7af6466190b754cf3026c685a5d31561da90/torchvision/datasets/inaturalist.py#L31
Seeing the AttributeError's above, I guess something is wrong with your environment. Please open a new issue following the steps in the form so we can have a look.

@arch-user-france1 There is no mistake in the documentation since it doesn't describe the module, but rather the class:
https://github.com/pytorch/vision/blob/120e7af6466190b754cf3026c685a5d31561da90/torchvision/datasets/inaturalist.py#L31
Seeing the AttributeError's above, I guess something is wrong with your environment. Please open a new issue following the steps in the form so we can have a look.

Ah, forget it. I had set up a buggy environment. Fixed it... Weird, though.

There is a memory leak in the dataset or DataLoader - is it supposed to use more than 30GB of RAM? It does not free any memory, so a dataset of a this size would be unusable. Nobody has 200GB RAM...
I have not spotted any issue in my code, and I have seen a stackoverflow question describing the same problem.

Hi Do anyone know how to access the supercategory label in 2021 version. In tensorflow it has supercategory label but not seen in pytorch.


Social Links

Hey,
could there be a way of setting the social links in a script block like this
<script>
var xyz = 'http://facebook.com/user';
</script>

Another thought would be to set additional info like the title and the service in an js object
<script>
var xyz = {
   service: fb,
   link:'http://face...',
   title: '',
   fa_icon: ''
};
</script>

Hi @jjwedemyer, thanks for the suggestion and it was definitely I've been thinking about implementing. I will add this to the roadmap and try to get this feature out as soon as I can. Stay tuned...


How to create a self-referencing related field when generating structs from DB?

Your Question
Given the setup below, I'm trying to generate a model from a database where one field (CreatedByOrg) is self referencing. How can I refer to the "Self" model in this case?
func main() {
	// Initialize the generator with configuration
	g := gen.NewGenerator(gen.Config{
		OutPath:           "../dal/query", // output directory, default value is ./query
		ModelPkgPath:      "../dal/model",
		Mode:              gen.WithDefaultQuery | gen.WithQueryInterface,
		FieldNullable:     true, // generate pointer when field is nullable
		FieldCoverable:    true, // generate pointer when field has default value
		FieldWithIndexTag: true, // generate with gorm index tag
		FieldWithTypeTag:  true, // generate with gorm column type tag
	})

	// Use the above `*gorm.DB` instance to initialize the generator,
	// which is required to generate structs from db when using `GenerateModel/GenerateModelAs`
	db.Initialize()
	g.UseDB(db.DB)

	Organization := g.GenerateModelAs("organizations_organization", "Organization",
		gen.FieldRelate(field.HasOne, "CreatedByOrg", <SELF?>, &field.RelateConfig{
			GORMTag: "foreignKey:UUID",
		}),
	)

	g.ApplyBasic(Organization)

	// Execute the generator
	g.Execute()
}

The document you expected this should be explained

Expected answer
What should I replace <SELF?> by in the code above?

The question also generalizes to how can we have two models referencing each other?
Let's say Organization has a foreign key field to User, and then User has a foreign key field to Organization.
How can we set some "Dynamic" reference instead of a variable? By variable I mean User in the following example:
       User := g.GenerateModelAs("user_profiles_user", "User")
       Organization := g.GenerateModelAs("organizations_organization", "Organization",
		gen.FieldRelate(field.HasOne, "Creator", User, &field.RelateConfig{
			GORMTag: "foreignKey:UUID",
		}),
	)

Can we somehow provide a table name instead of a generated model reference?

Or even better, have the foreign keys be detected automatically and get GORM tags, cause they're not in my case, I have to configure them all manually.

The solution I came up with so far is the following:

Create a dummy model without any related fields first, OrganizationRef
Use that model as a related field on the redefinition of the organization model, while specifying type to be pointer.

This also solves the other cases mentioned above.
Don't know if this will have any effects on querying or other features, I'm still only setting up my project.
	OrganizationRef := g.GenerateModelAs("organizations_organization", "Organization")

        Organization := g.GenerateModelAs("organizations_organization", "Organization",
		gen.FieldRelate(field.HasOne, "CreatedByOrg", OrganizationRef, &field.RelateConfig{
			RelatePointer: true,
			GORMTag:       "foreignKey:UUID",
		}),
	)


[WIP] New CLI configuration mechanism

Summary:
This pull requests brings a new way of configuring the CLI and drops never properly standardised and documented "rnpm" configuration.
This is done in order to support new "auto-linking" feature and consolidate the configuration into a single place, that is easy to customise by developers.
Highlights
Given the scope of this PR, it's hard to write down every tiny detail. I've tried to leave as many comments as possible throughout the code to make it easier for you to navigate and understand some of the code patterns.
Please see the highlighted changes below:

We now use cosmiconfig to load user preferences. We do that by taking "react-native" out of "package.json" and reading "react-native.config.js". We still read "rnpm" for legacy purposes and print appropriate deprecation messages along the instructions on what to do in order to upgrade. Jest validation library makes this kind of things super easy.

We validate the provided configuration by user using Jest validation library. This gives instant feedback whether the configuration is correct or not.

We now read configuration in a single place (happens in main CLI file) and pass it down to commands. Previously, we used to call findPlugins multiple times w/o cache, causing expensive globs to be performed.

Project configuration is lazy. We won't glob node_modules and/or look for native files unless you explicitly read for that package configuration.

Better support for out-of-tree-platforms - no need to define "haste" yourself, we are able to infer it from other properties. The files are also better organised now, causing less of maintenance pain with "linkConfig"

We consider our automatically generated configuration a set of defaults. Users can override settings for the project and each of the dependencies. Useful, especially with auto-linking feature to disable certain packages from it or when you don't want to link particular platform automatically. This has been historically really hard to implement

Global flags (e.g. "reactNativePath") can now be defined in configuration, instead of passing every time around. This fixes issues with "packager.sh" script (starting automatically Metro when running from Xcode) when run from RNTester.xcodeproj

To do
I need to write tests for newly created files. Fortunately, many of them are just copy-paste from existing files. For example, findDependencies is a subset of findPlugins. The reason I have created so many new files was to completely not interfere with "link" in this PR and avoid deleting any of the files.
I'll work on that in next two days. Meanwhile, please give it a look and let me know your feedback.
Next steps
Once this PR is merged, we can concurrently start working/merging other "auto-linking" PRs. In the meantime, I'll submit a PR to move regular "link" (soon to be considered a legacy) to use the new configuration format as well.
The new configuration has been designed in the way to still include previous configuration keys to support "link" and other community packages.
For now, we print handy deprecation messages to help migrate the community from "rnpm" to "react-native" configuration.
When "link" gets deprecated/removed forever in favour of "auto-linking", we should revisit the configuration and eventually, remove extraneous keys out of it. With "auto-linking", we don't need majority of it.
Test Plan:
Run react-native config to output the configuration.

I noticed that we only get configuration for direct dependencies of a user’s package.json manifest, but that means transitive dependencies with native modules wouldn’t get picked up and linked. So I think you should consider all installed packages instead.

Hello, are you sure that generation of java code using js script is required? Do tools from java/android world like dagger2 can make codegeneration in build time?
cocoapods plugin might help for ios

@punksta the purpose of this config change is to allow us to build from the native environments without any codegen from JS; we have a Ruby script for pods/ios and a Gradle plugin for Android to auto-detect native modules - these are still being polished so are not visible yet here.

WIP on the CocoaPods integration https://github.com/react-native-community/react-native-cli/pull/256

Working on polishing the Android side of this; will have a PR up as well by the end of tomorrow.

@alloy, unfortunately, this is potentially a security issue. With auto linking, users are less aware of what gets linked and crawling through the entire node_modules would be potentially dangerous and easy to include an unwanted / malicious code.
I commented about that on Discord, so let's follow up there.

Submitted a draft PR for the template changes: https://github.com/facebook/react-native/pull/24099 I can iterate/change as required - just gives some visibility of the changes required to the template.

@grabbou I disagree. Any dependency is a security risk, so if you already opt-in to that then I don’t think we should generate projects that are essentially broken.
Like, one of the 20 file watchers in my node_modules dir could easily inject malicious code, hijack data from my machine, etc.

If this feature gets some opt-out way, or some kind of "opt-in only" mechanism (or even to choose one), the risks should be mitigated. Maybe let's not just look from a security perspective (as @alloy mentioned that adding dependencies itself is a risk), but have it looked at via some usability- and debugging-perspective.
When having any automatic step, that does some "magic", makes it some kind of debugging hell to find out why some dependency is included.
The current way of including things explicitly, makes me as a dev able to choose what I want to have inside my native app. Especially when having some kind of nasty transitive-dependency hack I have to apply (like changing some version), how can this be done when things are getting applied without me doing the plumbing?
(sorry if this disrupts anything or is the wrong place to add my 2 cents)

@FibreFoX all feedback is welcome - so thank you :)
Auto-linking on both platforms support opting-out (just don't include the ruby script in your Podfile or the Gradle script in your build.gradle); opt-in by default on new apps generated through react-native init - existing apps would have to manually opt-in.

@Salakar So this is some all-or-nothing thing, means as developer I can opt-in to this by adding that line inside Podfile and app/build.gradle, right?
Just as some additional idea: could you add some "show me what I would add"-command, in case I'm coming from "auto-linking" and want to (or have to) add the modules manually (in cases where I need to override some dependency as described above)? In addition to being able to "switch", it would make debugging much easier, especially for native-module developers which want to check if their module gets included.

CC: @alloy @orta @Salakar please look at the configuration format and let me know whether you have all you need for the auto linking. I know it's more than you actually need, but we need to keep it compatible with current implementation of "link".

Note: Flow is not passing in tests due to changes to ctx object that now require the fixtures to be a bit bigger. Going to work on the tests today.
In the meantime, please feel free to give me a first round of reviewing, to get an idea whether this is a good direction or not.

@grabbou there's recursiveBlacklist option for such cases

Do not review yet. I will update this PR in few hours and then, it's ready.

does the current discovery approach require all native dependencies to be installed as direct dependencies in package.json? if not, what should be done when a lib that depends on another lib with native dependencies?
a very common issue i see in the community is that people will end up with two versions of the same native dependency - sometimes a lib depends on one and they install a semver-incompatible version separately, or multiple libs depend on the same lib with different semver ranges. this leads to confusing errors when the js pkgs are run separately and only one native dep is linked, eg: "Tried to register two views with the same name RNSVGPath". it seems like there is an opportunity at the point of linking to let people know that they have multiple versions of the same native package. we do this in react-native-unimodules: https://github.com/unimodules/react-native-unimodules/blob/4b2257ee489c716d07642ad3b726eac70fdf97db/cocoapods.rb#L69-L78

also moving over from #256:

it's still not clear to me why it is better to attempt to detect whether a project has ios/android dependencies rather than have the project say it explicitly though. also, i don't think it's exactly zero configuration, it's just that the configuration is implicit in some file structure that the cli detects.

it's still not clear to me why it is better to attempt to detect whether a project has ios/android dependencies rather than have the project say it explicitly though

We want the linking to be as close to "npm install" experience as possible without extra steps. We have found a separate configuration file to be unneccessary in most of the use cases. "package.json" is already explicit list of project dependencies.
This mechanism is designed in the way to infer some configuration by default and let user overwrite it, just like with "unimodules.json". We deep merge user-provided configuration with inferred one.
For example, the "react-native.config.js" contains "dependencies" map that contains all native dependencies detected by the CLI. You can overwrite any of them in case you want to change the defaults or add an additional dependency in case there's a project we haven't discovered properly.
Our decision process might be based on some nuances we have discussed in person in London, please reach out to me on Discord and I'll be happy to discuss our current process and how we can improve it.

does the current discovery approach require all native dependencies to be installed as direct dependencies in package.json?

Not really. The "default" mechanism just checks direct dependencies and dev dependencies - this is how "link" works right now. You can define custom packages yourself in "react-native.config.js" when needed (see above) or just define it a dependency.
We can change it to glob all "node_modules", but this would be a breaking change. There were discussions to do it and we can do it in a subsequent PR.

if not, what should be done when a lib that depends on another lib with native dependencies?

Right now, I believe one would have to set it as a "peerDependency" and install for the project.

@grabbou - let's chat more in krakow next week :)

Thats actually brilliant idea!
On Wed, 27 Mar 2019 at 20:09, Brent Vatne<EMAIL_ADDRESS>wrote:

@grabbou https://github.com/grabbou - let's chat more in krakow next
week :)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/react-native-community/react-native-cli/pull/254#issuecomment-477307907,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACWcxn1D6oRlUfdbSP0XY6AldzzwWQlDks5va8HWgaJpZM4b_XLm
.

Yup. @thymikee, do we have a place for the docs right now? I am kinda bad at them, so just thinking where to start.

@grabbou https://github.com/react-native-community/react-native-cli/tree/master/packages/cli#commands

Cool! Let's add docs in next PR when I integrate this into a link command and it becomes useful.


State store should be able to unmarshal the old version of ConsensusParams protobuf from the DB

V1 introduces FeatureParams and deprecates ABCIParams, as fields of ConsensusParams.
As part of the change, ABCIParams.vote_extensions_enabled_height was replaced by FeatureParams.vote_extensions_enabled_height
This issue is open to ensure that networks upgrading from v0.38 to v1 and which have set an enabling height before the migration, do the right thing and move the value from one field to the other.

Through manual testing I have verified the following sequence of steps, which is problematic.

Start a chain at version v0.38.0 and set ABCIParams.vote_extensions_enabled_height to X
On height Y < X, upgrade to v1.

During the restart, the value of ABCIParams.vote_extensions_enabled_height is ignored and FeatureParams.vote_extensions_enabled_height is set to 0

Once height X is reached and other nodes enable VE, the test node rejects the VE, as locally it is disabled.
If all nodes upgrade at once, the value of X is lost to all nodes and if this upgrade happens after X, VE are disabled, which is not allowed by the spec.

DoD

Code to migrate the value from ABCIParams to FeatureParams is provided
The run described above is no longer, VE enabling happens as expected at height X, irrespective of when the upgrade happens, and VE enabling is not reverted.

Closed by #2462


Incorrectly typed aioboto.dynamodb.BatchWriter

Describe the bug
aioboto3.dynamodb.BatchWriter might be incorrectly typed.
To Reproduce
Steps to reproduce the behavior:

Use fully correct and working aioboto3 code suggested by aioboto3 docs:
import aioboto3

session = aioboto3.Session()
async with session.resource("dynamodb") as resource:
    table = await resource.Table("SomeTable")
    async with table.batch_writer() as batch:
        await batch.delete_item(Key={"id": "123"})
        await batch.delete_item(Key={"id": "456"})

Run mypy.

Get an error.

Actual output
  test.py:6: error: "Coroutine[Any, Any, Any]" has no attribute "__aenter__"  [attr-defined]
  test.py:6: error: "Coroutine[Any, Any, Any]" has no attribute "__aexit__"  [attr-defined]

Expected output
No errors.
Additional context

Linux OS
Python 3.11.4
types-aiobotocore-dynamodb==2.5.2 (generated using mypy-boto3-builder==7.14.5).

Thank you for the report!
I added a fix for this. Now Table is inherited from aioboto3.dynamodb.table.CustomTableResource, which is annotated in types-aioboto3 package. I will release a fix today.

Fixed in mypy_boto3_builder 7.14.8. Please test and let me know if it works as it should.
I released a new version of types-aiobotocore-dynamodb 2.5.0.post2 with the hotfix.

This particular error is fixed.
But there seems to be some new issues:
Module "types_aiobotocore_dynamodb.type_defs" has no attribute "UpdateItemOutputTableTypeDef"; maybe "UpdateItemOutputOutputTypeDef"?  [attr-defined]
The error is caused by this import:
from types_aiobotocore_dynamodb.type_defs import UpdateItemOutputTableTypeDef

That was not the case in 2.5.0.post1 or 2.5.2. There was no error importing UpdateItemOutputTableTypeDef.

Yes, this is due to the new naming introduced in 7.14.7. All output shapes now have OutputTypeDef postfix to differentiate them from input shapes. The issue was that some shapes are used both as input (not all keys are required) and as output (all keys are present). To avoid a name clash, I added OutputTypeDef postfix, even if the underlying shape itself has Output in the shape name.
Please update your code, the correct name is UpdateItemOutputOutputTypeDef now.

It does seem to work correctly with the new naming in 2.5.0.post2. Thanks for fixing it.
Should we expect the fixed to be released in 2.5.3 any time soon?

@YaraslauZhylko yes, I am going to update 2.5.3 as well. No rename required, I am working on a new update that will be compatible with pre-7.14.7 TypeDef name generation.

@YaraslauZhylko just released types-aiobotocore-dynamodb 2.5.0.post3. Please test it and let me know if it works as it should.

2.5.0.post3 and 2.5.2.post1 work without renaming. :+1:

Will there by any other updates today (like 2.5.3) or should I stay with 2.5.2.post1 for now?

@YaraslauZhylko aiobotocore 2.5.3 has not been released yet. types-aiobotocore version is always the same as the corresponding aiobotocore version, plus post releases in case of urgent fixes.
So, 2.5.2.post1 is the latest, not more updates for today.


Update tdr-graphql-client to 0.0.168 in scala-steward-dependencies

About this PR
📦 Updates uk.gov.nationalarchives:tdr-graphql-client from 0.0.167 to 0.0.168
📜 GitHub Release Notes - Version Diff
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "uk.gov.nationalarchives", artifactId = "tdr-graphql-client" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "uk.gov.nationalarchives", artifactId = "tdr-graphql-client" }
}]

labels: library-update, early-semver-major, semver-spec-patch, commit-count:1

Superseded by #4012.


Fix --verifytypes

Not sure how to test this, but this looks right.

Linking python/typeshed#7495

Oops, sorry, I didn't see this PR; freaked when I saw the ping and rushed to fix.
I can't really accept PRs to this repo anyway; I have to move it to the Microsoft org to get CLA stuff set up (which is on my schedule).

Regarding tests, I'm working on it; actions aren't the easiest thing to test, unfortunately.

No worries, and thanks for the quick fix!
Yeah, I'm not sure how you test a GitHub action.


update circe up to 0.5.2

Current coverage is 84.05% (diff: 100%)

Merging #11 into master will increase coverage by 0.50%

@@             master        #11   diff @@
==========================================
  Files            20         20
  Lines           395        395
  Methods         394        393     -1
  Messages          0          0
  Branches          1          2     +1
==========================================
+ Hits            330        332     +2
+ Misses           65         63     -2
  Partials          0          0

Powered by Codecov. Last update 2e86676...54d3944


Include CustomRuns in failed integration test YAML dump

Changes
We missed this when we started supporting CustomRuns. oops!
/kind misc
Submitter Checklist
As the author of this PR, please check off the items in this checklist:

[ ] Has Docs included if any changes are user facing
[ ] Has Tests included if any functionality added or changed
[x] Follows the commit message standard
[x] Meets the Tekton contributor standards (including
functionality, content, code)
[x] Has a kind label. You can add one by adding a comment on this PR that contains /kind <type>. Valid types are bug, cleanup, design, documentation, feature, flake, misc, question, tep
[x] Release notes block below has been updated with any user facing changes (API changes, bug fixes, changes requiring upgrade notices or deprecation warnings)
[ ] Release notes contains the string "action required" if the change requires additional action from users switching to the new release

Release Notes
NONE

Thank you @abayer !
/lgtm


How to use with Ionic RC.0?

In Ionic RC.0 the provideCloud(CLOUD_SETTINGS) cannot be added to the providers so the initialization of Push fails.

@NoNameProvided I am currently in the process of cutting a release for the client as we speak. I will update this issue when the release is made!

@NoNameProvided Please try updating the Cloud Client. The new configuration docs are here: http://docs.ionic.io/setup.html#configuration (switch to Ionic 2 docs if you have to).
Let me know if you have any issues!

Thanks!

Hmm it seems, it doesn't works for me. Adding the CloudModule.forRoot(CLOUD_SETTINGS) line will cause still the same ngc error:
ngc error: Error: Error encountered resolving symbol values statically. Function calls are not supported. Consider replacing the function or lambda with a reference to an exported function, resolving symbol AppModule in...

Otherwise my app works well. So if I add this line, ngc dies, if I remove it everything goes smoothly.
Note: I am upgrading an app, not creating one from scratch.

@NoNameProvided looking

Okay, looks like more is needed to prep the cloud client for ngc. Despite my best efforts, I'm still getting that same error. I may need to look at this tomorrow, instead.

@NoNameProvided Please update and try again!

Thanks, it works now!


Bug: Re-sending value due to missing confirmation.

Schedy keeps saying that it is resending the value, due a missing confirmation and then gives up after 10 times. The problem is it DID get a confirmation, but obviously not the one that it is expecting - because of decimal places.
2020-07-10 15:30:03.200023 INFO schedy_heating: <-- [R:House] Value set to 19.299999999999997��.  [scheduled]
2020-07-10 15:30:03.240235 INFO schedy_heating: --> [R:House] [A:climate.house] Received value of 19.3��.
2020-07-10 15:30:33.009205 WARNING schedy_heating: !!! [R:House] [A:climate.house] Re-sending value due to missing confirmation.
2020-07-10 15:31:03.011664 WARNING schedy_heating: !!! [R:House] [A:climate.house] Re-sending value due to missing confirmation.
2020-07-10 15:31:33.017980 WARNING schedy_heating: !!! [R:House] [A:climate.house] Re-sending value due to missing confirmation.
2020-07-10 15:32:03.011147 WARNING schedy_heating: !!! [R:House] [A:climate.house] Re-sending value due to missing confirmation.
2020-07-10 15:32:33.010566 WARNING schedy_heating: !!! [R:House] [A:climate.house] Re-sending value due to missing confirmation.
2020-07-10 15:33:03.010735 WARNING schedy_heating: !!! [R:House] [A:climate.house] Re-sending value due to missing confirmation.
2020-07-10 15:33:33.010468 WARNING schedy_heating: !!! [R:House] [A:climate.house] Re-sending value due to missing confirmation.
2020-07-10 15:34:03.013450 WARNING schedy_heating: !!! [R:House] [A:climate.house] Re-sending value due to missing confirmation.
2020-07-10 15:34:33.009228 WARNING schedy_heating: !!! [R:House] [A:climate.house] Re-sending value due to missing confirmation.
2020-07-10 15:35:03.010387 WARNING schedy_heating: !!! [R:House] [A:climate.house] Re-sending value due to missing confirmation.
2020-07-10 15:35:33.010505 WARNING schedy_heating: !!! [R:House] [A:climate.house] Gave up sending value after 10 retries.

It behaves the same way with for example: 19.6000000007 (it will receive the confirmation of 19.6, but schedy must be expecting 19.6000000007 back). I did experiment with trying to add a postprocessor so that the final figure being sent to homeassistant was rounded to one decimal place using the round_to_step helper function, but I never managed to get it work, I kept getting an error compiling the expression messages.
For what it is worth, I am not doing any calculations that are complex enough to require multiple decimal places, the input temperature only has one decimal place, and all my calculations only add or subtract with one decimal place.

Here is an example where it's not because the value has been rounded, it's purely because it's only receiving a temperature with 1 decimal place from the generic climate entity, but it sent a value with many more decimal places - and so it doesn't match.
2020-07-11 06:30:00.226393 INFO schedy_heating: --> Attribute 'state' of 'input_boolean.heating_night_mode' changed from 'on' to 'off', reevaluating <Room R:House>.
2020-07-11 06:30:01.265389 INFO schedy_heating: <-- [R:House] Value set to 19.400000000000002��.  [scheduled]
2020-07-11 06:30:01.382450 INFO schedy_heating: --> [R:House] [A:climate.house] Received value of 19.4��.
2020-07-11 06:30:01.414720 INFO schedy_heating: --> Attribute 'state' of 'sensor.cc_outside_temperature' changed from '8.6' to '8.3', reevaluating <Room R:House>.
2020-07-11 06:30:01.443420 INFO schedy_heating: --> Attribute 'state' of 'sensor.cc_30_min_gust' changed from '8.06' to '4.61', reevaluating <Room R:House>.
2020-07-11 06:30:31.010806 WARNING schedy_heating: !!! [R:House] [A:climate.house] Re-sending value due to missing confirmation.
2020-07-11 06:31:01.013356 WARNING schedy_heating: !!! [R:House] [A:climate.house] Re-sending value due to missing confirmation.
2020-07-11 06:31:31.022854 WARNING schedy_heating: !!! [R:House] [A:climate.house] Re-sending value due to missing confirmation.
2020-07-11 06:32:01.014103 WARNING schedy_heating: !!! [R:House] [A:climate.house] Re-sending value due to missing confirmation.
2020-07-11 06:32:31.011214 WARNING schedy_heating: !!! [R:House] [A:climate.house] Re-sending value due to missing confirmation.
2020-07-11 06:33:01.010965 WARNING schedy_heating: !!! [R:House] [A:climate.house] Re-sending value due to missing confirmation.
2020-07-11 06:33:31.012993 WARNING schedy_heating: !!! [R:House] [A:climate.house] Re-sending value due to missing confirmation.
2020-07-11 06:34:01.013292 WARNING schedy_heating: !!! [R:House] [A:climate.house] Re-sending value due to missing confirmation.
2020-07-11 06:34:31.009931 WARNING schedy_heating: !!! [R:House] [A:climate.house] Re-sending value due to missing confirmation.
2020-07-11 06:35:01.010698 WARNING schedy_heating: !!! [R:House] [A:climate.house] Re-sending value due to missing confirmation.
2020-07-11 06:35:31.009731 WARNING schedy_heating: !!! [R:House] [A:climate.house] Gave up sending value after 10 retries.

And so you can see the actual calculations being performed - here is the relevant rules for the thermostat calculation:
    house:
      actors:
        climate.house:
      rescheduling_delay: 120
      watched_entities:
        - "input_boolean.heating_night_mode"
        - "input_boolean.home_state_home"
        - "sensor.cc_outside_temperature"
        - "sensor.cc_30_min_gust"
        - "sensor.cc_rain_rate"
      friendly_name: House
      schedule:
        - v: 18.5
          rules:
            - x: "Add(-0.2) if is_on('input_boolean.heating_night_mode') else Next()"
            - x: "Add(-0.3) if is_off('input_boolean.home_state_home') else Next()"
            - x: "Add(+0.1) if float(state('sensor.cc_30_min_gust')) > 35 else Next()"
            - x: "Add(+0.1) if (float(state('sensor.cc_outside_temperature')) < 15.1 and float(state('sensor.cc_rain_rate')) > 0) else Next()"
            - x: "Add(+0.1) if float(state('sensor.cc_outside_temperature')) < -9.9 else Next()"
            - x: "Add(+0.1) if float(state('sensor.cc_outside_temperature')) < -4.9 else Next()"
            - x: "Add(+0.1) if float(state('sensor.cc_outside_temperature')) < 0.1 else Next()"
            - x: "Add(+0.1) if float(state('sensor.cc_outside_temperature')) < 5.1 else Next()"
            - x: "Add(+0.1) if float(state('sensor.cc_outside_temperature')) < 10.1 else Next()"
            - x: "Add(+0.1) if float(state('sensor.cc_outside_temperature')) < 14.1 else Next()"
            - x: "Add(-0.1) if float(state('sensor.cc_outside_temperature')) > 30.1 else Next()"
            - x: "Add(-0.1) if float(state('sensor.cc_outside_temperature')) > 24.9 else Next()"
            - x: "Add(-0.1) if float(state('sensor.cc_outside_temperature')) > 20.9 else Next()"
            - x: "Add(-0.1) if float(state('sensor.cc_outside_temperature')) > 16.5 else Next()"
            - { v: 19.2, start: "00:00", end: "02:00" }
            - { v: 19.2, start: "02:00", end: "04:00" }
            - { v: 19.2, start: "04:00", end: "06:00" }
            - { v: 19.2, start: "06:30", end: "08:00" }
            - { v: 19.4, start: "08:00", end: "10:00" }
            - { v: 19.4, start: "10:00", end: "12:00" }
            - { v: 19.4, start: "12:00", end: "14:00" }
            - { v: 19.4, start: "14:00", end: "16:00" }
            - { v: 19.4, start: "16:00", end: "18:00" }
            - { v: 19.4, start: "18:00", end: "20:00" }
            - { v: 19.4, start: "20:00", end: "22:00" }
            - { v: 19.4, start: "22:00", end: "00:00" }

Hi,
These imprecise results basically occur due to the way floating point numbers are stored in computers.
A simple postprocessor should do the trick. Add it after all the Add() rules:
- x: "Postprocess(lambda result: round(result, 1) if isinstance(result, float) else result)"

The isinstance() check is necessary because you may want to return OFF from your schedule and OFF doesn't support rounding, so this postprocessor only rounds floats and just returns anything else as is.
Please tell me if it worked.
Best regards
Robert

BTW, the round_to_step() function is not appropriate in this case, actually it's an old artifact I've got to remove anytime soon. The built-in round() Python function does what you want.

Hi,
These imprecise results basically occur due to the way floating point numbers are stored in computers.
A simple postprocessor should do the trick. Add it after all the Add() rules:
- x: "Postprocess(lambda result: round(result, 1) if isinstance(result, float) else result)"

The isinstance() check is necessary because you may want to return OFF from your schedule and OFF doesn't support rounding, so this postprocessor only rounds floats and just returns anything else as is.
Please tell me if it worked.
Best regards
Robert

Fantastic, I don't know what I was doing wrong when it threw error messages, I was following the documentation. It isn't throwing any errors adding the postprocessor, so I will keep a watch on the logs and make sure it is only sending values with 1 decimal place. I can't be 100% certain, but it seemed like after it given up trying to send the value, if you manually changed the temperature (eg via Google), the 120 minute rescheduling delay was not respected and schedy changed the temperature again 15 minutes later (the next time a watched entity changed).

BTW, the round_to_step() function is not appropriate in this case, actually it's an old artifact I've got to remove anytime soon. The built-in round() Python function does what you want.

One of these days, I will get round to starting one of the 10 Python courses I have in my Udemy account.....

I can't be 100% certain, but it seemed like after it given up trying to send the value, if you manually changed the temperature (eg via Google), the 120 minute rescheduling delay was not respected and schedy changed the temperature again 15 minutes later (the next time a watched entity changed).

This is expected. Schedy can't know whether the manual temperature adjustment really was a manual adjustment or just another state update from the thermostat. I'll see if I can do something about it, but that's a different issue.
I'm closing this for now. Feel free to comment if the rounding didn't work as expected.

Hi, sorry to bother you again. Sadly it doesn't appear to be working - I'm reposting just the rules - to check I have added the postprocessor to the correct place:
rules:
            - x: "Add(-0.2) if is_on('input_boolean.heating_night_mode') else Next()"
            - x: "Add(-0.3) if is_off('input_boolean.home_state_home') else Next()"
            - x: "Add(+0.1) if float(state('sensor.cc_30_min_gust')) > 35 else Next()"
            - x: "Add(+0.1) if (float(state('sensor.cc_outside_temperature')) < 15.1 and float(state('sensor.cc_rain_rate')) > 0) else Next()"
            - x: "Add(+0.1) if float(state('sensor.cc_outside_temperature')) < -9.9 else Next()"
            - x: "Add(+0.1) if float(state('sensor.cc_outside_temperature')) < -4.9 else Next()"
            - x: "Add(+0.1) if float(state('sensor.cc_outside_temperature')) < 0.1 else Next()"
            - x: "Add(+0.1) if float(state('sensor.cc_outside_temperature')) < 5.1 else Next()"
            - x: "Add(+0.1) if float(state('sensor.cc_outside_temperature')) < 10.1 else Next()"
            - x: "Add(+0.1) if float(state('sensor.cc_outside_temperature')) < 14.1 else Next()"
            - x: "Add(-0.1) if float(state('sensor.cc_outside_temperature')) > 30.1 else Next()"
            - x: "Add(-0.1) if float(state('sensor.cc_outside_temperature')) > 24.9 else Next()"
            - x: "Add(-0.1) if float(state('sensor.cc_outside_temperature')) > 20.9 else Next()"
            - x: "Add(-0.1) if float(state('sensor.cc_outside_temperature')) > 16.5 else Next()"
            - x: "Postprocess(lambda result: round(result, 1) if isinstance(result, float) else result)"

But as you can see the postprocessor doesn't appear to be rounding -
2020-07-12 10:45:03.139626 INFO schedy_heating: <-- [R:House] Value set to 19.299999999999997��.  [scheduled]
2020-07-12 10:45:03.173816 INFO schedy_heating: --> [R:House] [A:climate.house] Received value of 19.3��.
2020-07-12 10:45:33.012160 WARNING schedy_heating: !!! [R:House] [A:climate.house] Re-sending value due to missing confirmation.
2020-07-12 10:46:03.012756 WARNING schedy_heating: !!! [R:House] [A:climate.house] Re-sending value due to missing confirmation.
2020-07-12 10:46:33.012854 WARNING schedy_heating: !!! [R:House] [A:climate.house] Re-sending value due to missing confirmation.

Could you please set debug: true and post the log of a schedule evaluation that leads to a not rounded value? It's these indented lines that show what rules are evaluated to what result I'm interested in, + the lines afterwards that tell the value is sent to the thermostat.

My mistake, the postprocessor should look like this:
- x: "Postprocess(lambda result: round(result.value, 1) if isinstance(result.value, float) else result)"

By the time the postprocessor gets called, the result already is a Temp object, so it has to round the temperature's value instead of the Temp object itself.
I'll add rounding capabilities to Temp directly so that this will be more straightforward in the future.

2020-07-12 11:27:42.051262 INFO schedy_heating: --- [R:House] Applying postprocessors.
2020-07-12 11:27:42.055720 INFO schedy_heating: --- [R:House] + Add(-0.1��)
2020-07-12 11:27:42.059786 INFO schedy_heating: --- [R:House] = 19.299999999999997��
2020-07-12 11:27:42.063833 INFO schedy_heating: --- [R:House] + <hass_apps.schedy.expression.types.Postprocess object at 0x7ff59c108040>
2020-07-12 11:27:42.067813 INFO schedy_heating: --- [R:House] = 19.3
2020-07-12 11:27:42.071936 INFO schedy_heating: --- [R:House] Final result: 19.3��, markers: set()
2020-07-12 11:27:42.075897 INFO schedy_heating: --- [R:House] Setting value to 19.3��.  [scheduled]
2020-07-12 11:27:42.080626 INFO schedy_heating: --- [R:House] [A:climate.house] Not sending value 19.3�� redundantly.

Thank you this appears to be working now.

Great. Would you mind installing the latest development version from the master branch?
Just use this URL instead of "hass-apps" in your requirements.txt file or the AppDaemon add-on config, depending on the method you used for installing.
https://github.com/efficiosoft/hass-apps/archive/master.zip

Then, this simplified postprocessor should do the trick:
- x: "Postprocess(lambda result: round(result, 1))"

Confirmed working using the much shorter Postprocess line.
2020-07-12 11:58:14.534722 INFO schedy_heating: --- [R:House]         ������ => 19.4
2020-07-12 11:58:14.537983 INFO schedy_heating: --- [R:House] Applying postprocessors.
2020-07-12 11:58:14.541359 INFO schedy_heating: --- [R:House] + Add(-0.1��)
2020-07-12 11:58:14.544766 INFO schedy_heating: --- [R:House] = 19.299999999999997��
2020-07-12 11:58:14.548137 INFO schedy_heating: --- [R:House] + Postprocess(<function <lambda> at 0x7fcb2e713ee0>)
2020-07-12 11:58:14.551472 INFO schedy_heating: --- [R:House] = 19.3��
2020-07-12 11:58:14.554869 INFO schedy_heating: --- [R:House] Final result: 19.3��, markers: set()
2020-07-12 11:58:14.558081 INFO schedy_heating: --- [R:House] Result didn't change, not setting it again.

Ok, then this will be included in the next release.
Thanks for sorting it out with me.


Add Footer section

Additional context
add a footer. footer text "HackerBoi | Developed by HackerBoi Community @ 2022"

plx assign me, i will do

plx assign me, i will do

good luck


xfce4-13.xfce4-panel: fix path to tzdata

Motivation for this change
This should be part of https://github.com/NixOS/nixpkgs/pull/43522
I did the fix for XFCE 4.12 (https://github.com/NixOS/nixpkgs/pull/43522/files#diff-d5900334ef3a7a897a90b8a3a9eac90c) but forgot for XFCE 4.13
Things done

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

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Fits CONTRIBUTING.md.

Success on x86_64-linux (full log)
Attempted: xfce4-13.xfce4-panel
Partial log (click to expand)
/nix/store/m3q7n31b981pmihy890v9yl2y6vf3080-xfce4-panel-4.13.3/bin/xfce4-popup-windowmenu: interpreter directive changed from "/bin/sh" to "/nix/store/dkh7l9a4sx7zqh8riqbj3z21sz25p8xy-bash-4.4-p23/bin/sh"
/nix/store/m3q7n31b981pmihy890v9yl2y6vf3080-xfce4-panel-4.13.3/bin/xfce4-popup-applicationsmenu: interpreter directive changed from "/bin/sh" to "/nix/store/dkh7l9a4sx7zqh8riqbj3z21sz25p8xy-bash-4.4-p23/bin/sh"
/nix/store/m3q7n31b981pmihy890v9yl2y6vf3080-xfce4-panel-4.13.3/bin/xfce4-popup-directorymenu: interpreter directive changed from "/bin/sh" to "/nix/store/dkh7l9a4sx7zqh8riqbj3z21sz25p8xy-bash-4.4-p23/bin/sh"
checking for references to /build in /nix/store/m3q7n31b981pmihy890v9yl2y6vf3080-xfce4-panel-4.13.3...
shrinking RPATHs of ELF executables and libraries in /nix/store/ixmb5kr33zn97bkfw1hp05inzdizipwy-xfce4-panel-4.13.3-dev
strip is /nix/store/1hi76hr87bd1y1q1qjk0lv8nmcjip1c8-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/ixmb5kr33zn97bkfw1hp05inzdizipwy-xfce4-panel-4.13.3-dev/lib
patching script interpreter paths in /nix/store/ixmb5kr33zn97bkfw1hp05inzdizipwy-xfce4-panel-4.13.3-dev
checking for references to /build in /nix/store/ixmb5kr33zn97bkfw1hp05inzdizipwy-xfce4-panel-4.13.3-dev...
/nix/store/m3q7n31b981pmihy890v9yl2y6vf3080-xfce4-panel-4.13.3

Success on aarch64-linux (full log)
Attempted: xfce4-13.xfce4-panel
Partial log (click to expand)
/nix/store/4973ikfqfjd9abwcq6ra2dg7aq4z3wdn-xfce4-panel-4.13.3/bin/xfce4-popup-windowmenu: interpreter directive changed from "/bin/sh" to "/nix/store/6vqgi9d49smsbr2qxra52yhipg0yxf9f-bash-4.4-p23/bin/sh"
/nix/store/4973ikfqfjd9abwcq6ra2dg7aq4z3wdn-xfce4-panel-4.13.3/bin/xfce4-popup-directorymenu: interpreter directive changed from "/bin/sh" to "/nix/store/6vqgi9d49smsbr2qxra52yhipg0yxf9f-bash-4.4-p23/bin/sh"
/nix/store/4973ikfqfjd9abwcq6ra2dg7aq4z3wdn-xfce4-panel-4.13.3/bin/xfce4-popup-applicationsmenu: interpreter directive changed from "/bin/sh" to "/nix/store/6vqgi9d49smsbr2qxra52yhipg0yxf9f-bash-4.4-p23/bin/sh"
checking for references to /build in /nix/store/4973ikfqfjd9abwcq6ra2dg7aq4z3wdn-xfce4-panel-4.13.3...
shrinking RPATHs of ELF executables and libraries in /nix/store/c9l69lgjgbn96nknqxbd6n17288xdwms-xfce4-panel-4.13.3-dev
strip is /nix/store/zrs21zqcchgyabjf4xfimncdq16njizc-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/c9l69lgjgbn96nknqxbd6n17288xdwms-xfce4-panel-4.13.3-dev/lib
patching script interpreter paths in /nix/store/c9l69lgjgbn96nknqxbd6n17288xdwms-xfce4-panel-4.13.3-dev
checking for references to /build in /nix/store/c9l69lgjgbn96nknqxbd6n17288xdwms-xfce4-panel-4.13.3-dev...
/nix/store/4973ikfqfjd9abwcq6ra2dg7aq4z3wdn-xfce4-panel-4.13.3


Relative path in the scss file

Hello
This is my config
var svgConfig = {
	log: 'debug',
	mode : {
		css : {
			dest : '.',
			sprite : svgFolder + '/sprite.svg',
			render : {
				css :false,
				scss : {
					dest :  scssFolder + '/helpers/_sprite.scss'
				},
			},
			prefix: '.icon--%s',
			bust: false
		},
		symbol: {
			example: true,
			dest: svgFolder + '/symbol'
		}
	}
};

gulp.task('sprite', function() {
	return gulp.src(svgFolder + '/sources/*.{svg,SVG}')
	.pipe(svgSprite(svgConfig))
	.pipe(gulp.dest('.'));
});

sprite.svg is saved inside /svg/ and any svg we add are added into /svg/sources/ and the generated scss is placed into /scss/helpers/ everything as expected except the path the scss is specifying in the %svg-common rule which is:
%svg-common { 	background: url("svg/sprite.svg") no-repeat; }
Instead should be url('../svg/sprite.svg') because the generated css file is into /css/
Can't figure out how to fix this.
Any help is much appreciated.

No answers?

@danielhq I'm sorry but I'm extremely overloaded these days and simply don't find any time to dig into this at the moment. :( One question though: Have you read the doc section about output destinations and pre-processors?

Yes I did read the docs, but its not very clear or im missing something sorry.
Ill try something again soon, I'm overloaded as well :( so Ill let you know!
Thanks.

need help too

same here. relative path isn't generated in
%svg-common {
background: url("images/svg_sprite-d02ec200.svg") no-repeat;
}
must be
%svg-common {
background: url("../images/svg_sprite-d02ec200.svg") no-repeat;
}
no answers for year?

@Gl-awog The relative path used for the sprite is nothing but a matter of correct configuration and it's working for thousands of users. I'm sorry but I'm not able to deep-dive into particular projects (even if you had provided any configuration details) and figure out the proper configuration for your individual setup. Please get familiar with the output destination logic to control the relative path in the stylesheet.

the creation of svg sprite and sass stylesheet works fine, they are generated in different folders, i don't have problems with that. I have a problem with the name of a path which points where a svg-sprite will be created, this path url is copied to css/sass stylesheet just like it is. There's a need for an extra feature - to be able to write any path-string to svg sprite in a stylesheet while the svg sprite is generated in another folder.
gulp.task('svg_sprite_generation', function(){
	return gulp.src('app/images/svg/*.svg')
	.pipe(svgSprite({
		mode: {
		  css: {
			dest : '.',
                        sprite : 'images/svg_sprite.svg',
			render: {
			    scss : {
                                  dest : 'styles/sass/partials/svg_sprite.scss',
                            }
			}
		    }
		}
	}))
	.pipe(gulp.dest('app'));
 }); });

in app/styles/sass/partials/svg_sprite.scss I have
%svg-common {
	background: url("images/svg_sprite-d02ec200.svg") no-repeat;
}

the sprite is generated in app/images/svg_sprite.svg,
and scss in app_/styles/sass/partials/svg_sprite.scss_.
But when I compile scss to dist/css and copy the sprite to dist/images, this link won't work.
i want to be able to change that url string, just adding an extra string pathincss
mode: {
		  css: {
			dest : '.',
                       pathincss:"../anything/images",
                        sprite : 'images/svg_sprite.svg',
			render: {
			    scss : {
                                  dest : 'styles/sass/partials/svg_sprite.scss',
                            }
			}
		    }
		}

woud give
%svg-common {
	background: url("../anything/images/svg_sprite-d02ec200.svg") no-repeat;
}

In general, I understand your troubles because all the paths are definitely not an easy thing to wrap ones head around, I know. However, I consider adding yet another configuration option (to the already overwhelming amount of options) as not reasonable either, especially because things should already work when used correctly.

But when I compile scss to dist/css and copy the sprite to dist/images, this link won't work.

I suppose this to be the problematic part. Let me scrutinize your config.

You decide to use /whatever/path/to/app to be the main output destination for all the whole Gulp run. (When using Gulp, this is actually the last thing you decide by using gulp.dest('app')).
With dest you could have specified a subdirectory as the base for all the svg-sprite action, but you didn't use that one so it defaults to '.'.
Additionally, with mode.css.dest = '.', you specify that the base path for all CSS related resources should also be the app directory itself (it could also be somewhere below that directory ...).
With mode.css.sprite = 'images/svg_sprite.svg' you specify the target sprite's location relative to the CSS base directory (stated in the docs) — as the sprite will be used from within the final CSS resources, so any other way of expressing its location would be useless (besides an absolute path of course).
With mode.css.render.scss.dest you specify where your intermediate SCSS resource should be created. This one is relative to your main output destination (see 1). Furthermore, it's completely up to you to ensure that the final compiled CSS ends up at the location that you specified as CSS base directory (see 3).

So, given your configuration I'd expect this to happen:
app
|-- images
|   `-- svg_sprite.svg
|-- styles
|   `-- sass
|       `-- partials
|           `-- svg_sprite.scss
`-- svg_sprite.css

Of course, svg_sprite.css would / should only be created by your SASS compile chain and not by svg-sprite itself. The relative path to the sprite inside the CSS file should be "images/svg_sprite.svg" — which would be correct as far as I understand. Please correct me if that is not the case. If it is, however, I don't see any need for another option to explicitly specify the sprite path.


SQL SCOPES breaks auth when its length > 256

Issue summary
The following issue occurs with Postgresql adapter
If we set the access scopes to let's say
SHOPIFY_API_SCOPES=unauthenticated_read_product_listings,unauthenticated_write_checkouts,unauthenticated_write_customers,unauthenticated_read_customer_tags,unauthenticated_read_content,unauthenticated_read_product_tags,read_orders,read_products,read_script_tags,write_script_tags,read_legal_policies

^ Character length - 280
Expected behavior
It should create the session & return
Actual behavior
Following error is thrown
[Nest] 33685  - 19/08/2022, 14:58:00     LOG [HTTP] GET /shopify/auth?hmac=c9e9d53150477b29af025d5e9ba74cef1ad59c42f36f6b5f0f39887647f4b93d&host=c3B1ci1zYW1wbGUtc3RvcmUubXlzaG9waWZ5LmNvbS9hZG1pbg&shop=spur-sample-store.myshopify.com&timestamp=1660901280 302 1092 - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36 ::ffff:<IP_ADDRESS>
[Nest] 33685  - 19/08/2022, 14:58:11   ERROR [ExceptionsHandler] value too long for type character varying(255)
error: value too long for type character varying(255)
    at Parser.parseErrorMessage (/Users/rohanrajpal/Documents/spurchat/code/spur/node_modules/.pnpm/pg-protocol@1.5.0/node_modules/pg-protocol/src/parser.ts:369:69)
    at Parser.handlePacket (/Users/rohanrajpal/Documents/spurchat/code/spur/node_modules/.pnpm/pg-protocol@1.5.0/node_modules/pg-protocol/src/parser.ts:188:21)
    at Parser.parse (/Users/rohanrajpal/Documents/spurchat/code/spur/node_modules/.pnpm/pg-protocol@1.5.0/node_modules/pg-protocol/src/parser.ts:103:30)
    at Socket.<anonymous> (/Users/rohanrajpal/Documents/spurchat/code/spur/node_modules/.pnpm/pg-protocol@1.5.0/node_modules/pg-protocol/src/index.ts:7:48)
    at Socket.emit (node:events:527:28)
    at addChunk (node:internal/streams/readable:315:12)
    at readableAddChunk (node:internal/streams/readable:289:9)
    at Socket.Readable.push (node:internal/streams/readable:228:10)
    at TCP.onStreamRead (node:internal/stream_base_commons:190:23)

Steps to reproduce the problem

Take the Shopify Starter Node App
Set scopes to more than 256 characters (example above)
Use PostgreSQLSessionStorage
Try to do OAuth

Proposed solution
We can simply increase the limit to the maximum length the SHOPIFY_API_SCOPES field can go to. One thing to note is that this does not happen with SQLite storage, I'm surprised why is that the case.

Checklist

[x] I have described this issue in a way that is actionable (if possible)

Happy to help!


Bug fixes in EN and CN + new missing units in English

Fixing Chinese and English dimension tests that checked for incorrect results;
Removed redundancy in English unit configuration for different dimensions;
Added many missing dimension units in English;
Code standard.

@tellarin,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot


Fix breakage on Windows caused by use of unavailable pwd module

Binwalk has been broken on Windows since the commit 0d6bf607c979b51b46f3d13c9e56267ba54688bb due to import of pwd module that is not available on Windows. I have added checks whether pwd module is available or not with os.name variable. pwd module is available if os.name is "posix" (on Linux, FreeBSD, and so on). On Windows, os.name is "nt". This pull request fixes the issues #547 and #562.
The following tests used the latest code of the commit fa0c0bd59b8588814756942fe4cb5452e76c1dcd
Before fix:
PS C:\Users\nobut\Desktop> py -3
Python 3.9.8 (tags/v3.9.8:bb3fdcf, Nov  5 2021, 20:48:33) [MSC v.1929 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import binwalk
>>> for module in binwalk.scan("test.png", signature=True, quiet=True, string=False):
...     for result in module.results:
...         print("Offset: 0x%x\t%s" % (result.offset, result.description))
...
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\nobut\AppData\Local\Programs\Python\Python39\lib\site-packages\binwalk-2.3.3-py3.9.egg\binwalk\__init__.py", line 10, in scan
    objs = m.execute()
  File "C:\Users\nobut\AppData\Local\Programs\Python\Python39\lib\site-packages\binwalk-2.3.3-py3.9.egg\binwalk\core\module.py", line 782, in execute
    for module in self.list():
  File "C:\Users\nobut\AppData\Local\Programs\Python\Python39\lib\site-packages\binwalk-2.3.3-py3.9.egg\binwalk\core\module.py", line 699, in list
    import binwalk.modules
  File "C:\Users\nobut\AppData\Local\Programs\Python\Python39\lib\site-packages\binwalk-2.3.3-py3.9.egg\binwalk\modules\__init__.py", line 16, in <module>
    from binwalk.modules.extractor import Extractor
  File "C:\Users\nobut\AppData\Local\Programs\Python\Python39\lib\site-packages\binwalk-2.3.3-py3.9.egg\binwalk\modules\extractor.py", line 7, in <module>
    import pwd
ModuleNotFoundError: No module named 'pwd'
>>>

After fix:
PS C:\Users\nobut\Desktop> py -3
Python 3.9.8 (tags/v3.9.8:bb3fdcf, Nov  5 2021, 20:48:33) [MSC v.1929 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import binwalk
>>> for module in binwalk.scan("test.png", signature=True, quiet=True, string=False):
...     for result in module.results:
...         print("Offset: 0x%x\t%s" % (result.offset, result.description))
...
Offset: 0x0     PNG image, 471 x 1062, 8-bit/color RGBA, non-interlaced
Offset: 0x5b    Zlib compressed data, compressed
>>>

Thank you for your review! I have committed as you  suggested.

Hi, when will this pull request be merged?

Hi, when will this pull request be merged?

I cannot wait just use yours repo.
Working fine on windows 11
thx bro

I'm not sure what difference it makes compared to current fix, but I was able to use this pwd alternative on Windows:
https://pypi.org/project/pwdpp/
pwdpp does require fix for install_requires in setup.py to allow installation.
Then install pwdpp via pip, import pwdpp instead of pwd in binwalk extractor.py, and works.
I have zero python experience, but willing to help.
Here's the modified setup.py:
https://gist.github.com/mightymos/04856d71e631a82d60e98c69a6938c8f

I have the same question now :
binwalk v2.3.3  on 11 Sep 2021
Windows 11
Python 3.9.10 (tags/v3.9. , Jan 17 2022, 15:14:21) [MSC v.1929 64 bit (AMD64)] on win32

I'm not sure what difference it makes compared to current fix, but I was able to use this pwd alternative on Windows: https://pypi.org/project/pwdpp/
pwdpp does require fix for install_requires in setup.py to allow installation. Then install pwdpp via setup.py (apparently support for pip install would be preferred...), import pwdpp instead of pwd in binwalk extractor.py, and works.
I have zero python experience, but willing to help. Here's the modified setup.py: https://gist.github.com/mightymos/04856d71e631a82d60e98c69a6938c8f

Hi, I have been working for 2 days now trying to get Binwalk to work in Windows 10, and I keep getting the “no module named pwd” error. I was going to try your fix, but I have no idea how to edit the setup.py to get past the install_requires error. I have only been working with Python for a couple days, and am very unfamiliar with how to edit or use raw code from GitHub. Any help you can provide on updating or creating a new setup.py file for pwdpp would be great. Thank you

I'm not sure what difference it makes compared to current fix, but I was able to use this pwd alternative on Windows: https://pypi.org/project/pwdpp/
pwdpp does require fix for install_requires in setup.py to allow installation. Then install pwdpp via setup.py (apparently support for pip install would be preferred...), import pwdpp instead of pwd in binwalk extractor.py, and works.
I have zero python experience, but willing to help. Here's the modified setup.py: https://gist.github.com/mightymos/04856d71e631a82d60e98c69a6938c8f

Hi, I have been working for 2 days now trying to get Binwalk to work in Windows 10, and I keep getting the “no module named pwd” error. I was going to try your fix, but I have no idea how to edit the setup.py to get past the install_requires error. I have only been working with Python for a couple days, and am very unfamiliar with how to edit or use raw code from GitHub. Any help you can provide on updating or creating a new setup.py file for pwdpp would be great. Thank you

These instructions will get binwalk to run which gives some information about image signatures.
However extraction is not working because pwdpp does not provide everything that pwd did.
I guess this is the difference between users/permission between linux and windows.
Anyway, so you will need a utility to manually extract archives (e.g., 7-zip).
I'm using MSYS2 with Python 3.10.7 installed.
There is a learning curve to using MSYS2 also...
In MSYS2 terminal install pactoys so full architecture (x86, x86_64, etc.) is not required to be specified at each use of package manager for installing packages:
pacman -S pactoys
Then:
pacboy -S python python-psutils python-binwalk
Choose Download files from:
https://pypi.org/project/pwdpp/
The file as of 10/1/2022 is named pwdpp-1.0.6.tar.gz
Then extract pwdpp archive and replace setup.py with modified file I posted on gist.
(Click Raw on github and save that file.)
(NOTE: I have no idea how to submit pull request on PyPi for this module...instead of posting random gists...)
Then, install pwdpp with:
python setup.py install
(NOTE: you can get path to extractor.py by running binwalk and it should fail at this point)
Then modify extractor.py installed from binwalk in your file systems to replace:
import pwd
with:
import pwdpp
Finally running binwalk from MSYS2 terminal should work.
However again extractor options will not work.
I tested binwalk on this firmware for an ethernet/wifi camera:
https://amcrest-firmwares.s3.amazonaws.com/Curent+firmware/38+seires/IP8M-VT2879EW-AI/Amcrest_IPC-HX3XXX-Dalton_Eng_NP_Stream3_AMCREST_V2.800.00AC001.0.R.220715.bin
I think you also want to install:
pacboy -S binutils
For the [strings] utility.
Some examples here for analyzing firmwares:
https://embeddedbits.org/reverse-engineering-router-firmware-with-binwalk/

Another one that would be great to be merged. This affects us Windows users, making binwalk unable to be used after install.
Looks like there hasn't been a release in over a year though, perhaps the developers have abandoned the tool?

Hi, there is a fork of this repository (https://github.com/OSPG/binwalk) that is actively maintained.
This pull request have already merged at there (https://github.com/OSPG/binwalk/commit/93463c678da8d5db892cc5432d67c1454728975e).


Unable to authenticate after updating to 1.6.1: "Could not get the list of tenants"

Storage Explorer Version: 1.6.1
Platform/OS: Windows 10
Architecture: x64
Regression From: 1.5.0 worked for me this morning (I skipped 1.6.0 because of the Cosmos DB issue)
Bug description
I cannot access my resources as Storage Explorer can't retrieve the info from Azure, despite a successful login. (I get the expected error if I deliberately enter an invalid password.)
Steps to Reproduce

Update to 1.6.1
Get prompted to re-authenticate
Enter valid credentials
Get the following message: "Unable to reauthenticate: Could not get the list of tenants"

Expected Experience
I've not needed to re-enter my credentials since first installing storage explorer, so I didn't really expect to need to this time.
Once I'd re-entered my credentials, I expected to be able to access my resources as I had been able to prior to the update.
Actual Experience
I get the aforementioned message and the prompt to reauthenticate persists in the "manage accounts" pane.
Additional Context
I am still able to access my resources in the Azure portal.

GitHub to the rescue

My system clock was wrong! D'oh! Correcting this allowed me to successfully reauthenticate.


AuthRouteGuard not working when restart application

Hi ,
When I restart to application initial page loading and authRouteGuard not working and redirect to auth page.
appRouter() => nyRoutes((router) {
      router.route(AccountPage.path, (context) => AccountPage(),
          authPage: true);
      router.group(
          () => {
                "route_guards": [AuthRouteGuard()],
                "prefix": "/dashboards"
              }, (router) {
        router.route(HomePage.path, (context) => HomePage(),
            initialRoute: true);
        router.route(CashAndBankBalanceReportPage.path,
            (context) => CashAndBankBalanceReportPage());
      });
    });

Hi @tayfunuyar,
Route guards are used to protect routes only when navigating to new routes.
In short, they won't be invoked on the initial load, only when navigating to those pages in the app.
Using routeTo(...) or Text("Next Page").onTapRoute will invoke the route guards to be triggered.
Hope that helps.


Column spacing in tables?

Additional Details
I find myself unable to dictate the spacing of my columns in tables. As I'm going to eventually turn my docs into PDFs and JPGs, this is a formatting nightmare. My specific issue is that a dash, as in "14-15" will put a line break after the dash if the adjacent cell has to use a line break. Maybe that sounds weird. I don't know how to explain it properly I suppose, so here's an example link.
Share Link :  http://homebrewery.naturalcrit.com/edit/BJl9at-Bqe

You could try adding some   spaces to the header to make the column
wider.
On Wed, Mar 1, 2017, 10:08 PM Dustfinger1<EMAIL_ADDRESS>wrote:

Additional Details
I find myself unable to dictate the spacing of my columns in tables. As
I'm going to eventually turn my docs into PDFs and JPGs, this is a
formatting nightmare. My specific issue is that a dash, as in "14-15" will
put a line break after the dash if the adjacent cell has to use a line
break. Maybe that sounds weird. I don't know how to explain it properly I
suppose, so here's an example link.
Share Link : http://homebrewery.naturalcrit.com/edit/BJl9at-Bqe
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/stolksdorf/homebrewery/issues/352, or mute the thread
https://github.com/notifications/unsubscribe-auth/AFmzBlZq5E2dm3ZpGSB6o6yj8fsSmGA-ks5rhjKkgaJpZM4MQfiM
.

@calculuschild suggestion is correct. This is by design to keep the Markdown syntax simpler. You could also modify the spacing with some advanced css selectors.

Neat, thanks all!


i have trouble with Result_plots.py

#weight = cp.load(open('filters.pkl'))
What's the filters.pkl?

Have you done with training part with theano?


[Report next steps audit] Next step in report header changes after returning online

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: <IP_ADDRESS>
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail: N/A
Issue reported by: Applause - Internal Team
Issue found when executing PR https://github.com/Expensify/App/pull/44940
Action Performed:
precondition: create a control workspace, set "Manually approve all expenses" over to $10 and set advanced approval in OD:
boss owner (admin) submits to mini owner
mini owner (admin) submits boss owner
manager (employee) submits to mini owner forwards to mini owner over limit forwards (limit 100) to boss owner
employee 1 (employee) submits to manager
employee 2(employee) submits to manager

Log in as an employee 1
Disable the internet connection
Submit an expense below $100
Return online and observe the next step in report header
Log in as an manager
Approve the report
Log in as mini owner
Disable the internet connection
Approve the report
Return online

Expected Result:
The same next step in report header displayed offline and online: for step 4 it is "Waiting for Manager approve expense(s)", and for step 10 it is "No further action required!"
Actual Result:
When user returns online, the next step in report header changes from "Waiting for Manager approve expense(s)" to "Waiting for employee 1 submit their expense (s)" for step 4 and from "Waiting for Boss owner pay expense(s) to "No further action required!" for step 4
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence

https://github.com/user-attachments/assets/4d1388b2-36ff-44ed-9386-80d6579c6b35
View all open jobs on GitHub

@trjExpensify  FYI I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors

We think that this bug might be related to #wave-control

Put on the radar of @dylanexpensify @dangrous and co here as it's in dev, checking if these are internal or not: https://expensify.slack.com/archives/C06ML6X0W9L/p1723559615613289?thread_ts=1723491174.174309&cid=C06ML6X0W9L

Okay I just tried replicating this - I'm not getting the same notes - for the step 4 one, I get waiting for expenses to automatically submit later today which I think is correct, so I don't think there's an issue there?
For step 10, I'm getting "no further action required" from the backend so that should be updated.

Huh this is much more complicated than I thought on the backend. I've made a draft PR but struggling with some pieces, I will come back to it later.
It sounds like from Slack that this is okay to punt a little, since we're not holding on it for the end of the project (seems like a bug that existed before).

Progress is being made! The trick here is that I think the existing tests were incorrect. I've pushed a fix to the linked PR, and I think we should be moving shortly, assuming @mountiny agrees with the changes I've made (which honestly I'm not confident on)

PR is on staging Melv.

oh actually i lied - it looks like there was a front end piece that we might need (I wrote NOTE: The optimistic action in the App will say the workspace owner not the mini owner. That will be fixed. This is for the response that comes from the server.) in the PR. So I can look into that shortly, unfortunately there's another bug that's preventing easy testing, but a fix for that is up.
This will get done soon though!

Who is the reimburser that we want to show here? Any admin should be able to reimburse (is that correct?) so would we show Alice, Bob, or Clarissa?

Who's been set as the reimburser on the workspace in the settings?

You need to be on Direct reimbursement and add a VBBA to reveal that field.

Do we still have a reimburser set despite not having direct reimbursement configured? I'm not familiar with that in the code, but any of the admins can manually mark the report as reimbursed, it's not waiting on an assigned reimburser in that sense.

okay let me see what happens if an employee is submitting to another employee (not admin). I think the backend will still default to an admin, not necessarily the owner, but it sounds like that's correct here - and so we need to update the front end to match as well.
Will have to figure out how it picks between admins if there is more than one, so we can replicate that too...

@dangrous When you set a reimburser and then you change the reimbursement choice, the reimburserEmail is not not cleared i believe. Its how it worked in oldDot so maybe its colliding with the updated next steps logic

I think the trick with this particular bug is that no reimburser is set at all? What's the default value for the field if it's never touched?

Looking at the report next steps doc where a bunch of these were consolidated, I bet it was one of these for indirect reimbursement:

Got it, so basically we want both the front end and the back end to pick an admin - and it doesn't really matter what admin. However, right now they're picking different ones.
Probably the easiest solution would be to have the backend also use the policy owner, since that's always going to be the same. Is the owner always an admin? I think so... How does that sound? If good, I can adjust the fallback on the backend, and then we should (finally) be done with this!

Yep, the owner is always an admin.
Why are we randomly picking a named admin instead of just something generic when there's no designated reimburser? Like we had before highlighted in the screenshot? 🤔

oh, like say "an admin" in the message? I think we were trying to always name the people who needed to take the action - that's the pattern in the updated nextSteps (cc @dylanexpensify). I think it's safe here to always pick the workspace owner, who will be valid in all cases. I'll see if I can make that backend change

I think we were trying to always name the people who needed to take the action

I get that, but in this case it could be any admin. Consider this..

A company uses Expensify. They reimburse expenses with Payroll, so outside of Expensify.
The CFO pays for the subscription to Expensify on their corporate card, so they're workspace and billing owner.
Cathy, the finance manager, is responsible for the day-to-day managing of expenses and processing reimbursements.
All expense reports on this this workspace will now say "waiting for CFO to pay!" which is incorrect, and a total guess on our part.

So I think in the case of indirect reimbursement, we don't guess and refer to the collective with "an admin".

That makes sense to me! Do we need confirmation from anyone else who worked on the project, or should I go ahead with that?

Let's see. @dylanexpensify has been pinged, I think @JmillsExpensify helped as well. Any thoughts, guys?
With the report next steps project we killed the generic "Waiting for an admin to pay" message, so as a result, it's a bit of a crab shoot who we name when no reimburser is set (i.e with indirect reimbursement).
I'm suggesting here we bring that generic one back for that case.

What are the next steps here, @dangrous?

Chiming in I agree with bringing back the generic "an admin" phrase for indirect. cc @mountiny to confirm if this works ok with the migration?

So I have https://github.com/Expensify/Web-Expensify/pull/43483/files up for the backend - and https://github.com/Expensify/App/pull/49424 for the front end. If there is a reimburser explicitly set for the policy, it will use their info, if not it will just say "an admin".

How's this looking in review?

BE is done, App should be hopefully done today! Waiting on reviewer testing

App PR is merged! Not yet deployed, but soon

on staging...

No PR introduced this bug, just logic / edge cases. I don't think we need a new regression test, so can probably close out? (I don't think we need any payment for anyone either.)


context menu item clicked when right click on right half of activity bar icons

Issue Type: Bug

install a lot of extensions with activity bar icon
right click on some of the icon(on lower half of the screen) and on the right part of the icon(clicking on the left half would be fine)
context menu shows, but the item under cursor is selected immediately after context menu show.
There's no bug on Windows version. Only happens to Ubuntu version (Kubuntu 20.04). Might be an electron issue.

VS Code version: Code 1.52.1 (ea3859d4ba2f3e577a159bc91e3074c5d85c0523, 2020-12-16T16:32:10.090Z)
OS version: Linux x64 5.4.0-59-generic
Fetching remote diagnostics for 'ssh-remote+r2-data_oper' timed out.
Fetching remote diagnostics for 'ssh-remote+r2-data_oper' timed out.
Fetching remote diagnostics for 'ssh-remote+d1-data_oper' timed out.

Could it be related to https://bugreports.qt.io/browse/QTBUG-57849?

Could it be related to https://bugreports.qt.io/browse/QTBUG-57849?

this is a common issue with the native electron menus on linux. we can revisit the location we ask the item to open to avoid this as much as possible but I think cannot really choose ideal behavior because if the activity bar is on the right, the menu will always try to draw under the cursor in the proposed case

this is a common issue with the native electron menus on linux. we can revisit the location we ask the item to open to avoid this as much as possible but I think cannot really choose ideal behavior because if the activity bar is on the right, the menu will always try to draw under the cursor in the proposed case

Any updates for this?

i have the same issue in:
Version: 1.56.0
Commit: cfa2e218100323074ac1948c885448fdf4de2a7f
Date: 2021-05-04T21:58:14.757Z (1 wk ago)
Electron: 12.0.4
Chrome: 89.0.4389.114
Node.js: 14.16.0
V8: <IP_ADDRESS>-electron.0
OS: Linux x64 4.10.0-38-generic
waiting for fix.

Same issue in
Version: 1.61.0
Commit: ee8c7def80afc00dd6e593ef12f37756d8f504ea
Date: 2021-10-07T18:11:02.929Z
Electron: 13.5.1
Chrome: 91.0.4472.164
Node.js: 14.16.0
V8: 9.1.269.39-electron.0
OS: Linux x64 5.11.0-37-generic snap

Facing same issue on manjaro gnome with arch package for vscode

Still facing the same issue on wsl, but vscode is working inside ubuntu 20.04.
Distributor ID:	Ubuntu
Description:	Ubuntu 20.04.4 LTS
Release:	20.04
Codename:	focal

I gave up and bought a MacBook.

I have been facing this issue on an Arch Linux system. Can be quite annoying.
$ code --version
1.64.2
f80445acd5a3dadef24aa209168452a3d97cc326
x64

My workaround is to drag the cursor away from the context menu, after the right-click and before the context menu appears.

same issue
code --version
1.76.2
ee2b180d582a7f601fa6ecfdad8d9fd269ab1884
x64
march 23/2023

Still relevant on Ubuntu 22.04
$ code --version
1.80.1
74f6148eb9ea00507ec113ec51c489d6ffb4b771
x64

Curious if people could try if they can still reproduce this using our latest insider. You can give our preview releases a try from: https://code.visualstudio.com/insiders/
And if it still reproduces, configure "window.experimental.nativeContextMenuLocation": true in settings and check again.
Thanks 🙏

Are people still seeing this?


terragrunt run-all destroy does not ask for confirmation per module

While implementing terragrunt run-all command I noticed that it asks single confirmation for destroy and then executes terraform destroy unconditionally (and eventually in parallel) in every sub directory, but I haven't specified --terragrunt-non-interactive explicitly. Is there a way to change this behavior? This is useful primarily for testing, so I'd like to have it as option.

This is not something we can really do given that run-all by definition runs modules in parallel. This causes problems with interactivity as the terminal UI is naturally serial and humans are single threaded.


[bug] Compile error on stable PyTorch

Repro:
tune run full_finetune_single_device --config llama2/7B_full_low_memory \
optimizer=torch.optim.AdamW optimizer.fused=True optimizer_in_bwd=False \
compile=True metric_logger=torchtune.training.metric_logging.WandBLogger \
log_peak_memory_stats=True batch_size=16 log_every_n_steps=10 epochs=1 seed=2024

results in error
  File "/home/ebs/.conda/envs/repro-compile-error/lib/python3.11/site-packages/torch/_subclasses/fake_tensor.py", line 1822, in validate
    raise AssertionError(
torch._dynamo.exc.BackendCompilerFailed: backend='inductor' raised:
AssertionError: Please convert all Tensors to FakeTensors first or instantiate FakeTensorMode with 'allow_non_fake_inputs'. Found in aten.clone.default(tensor([...], size=(16,), dtype=torch.uint8), memory_format=torch.contiguous_format)

Full stack trace

cc @gau-nernst @felipemello1

@yf225 have you seen this error before? It doesnt happen with torch nightlies or in the CI when we use backend="aot_eager"
we are compiling it per layer here: https://github.com/pytorch/torchtune/blob/82c232d0679ddef3fc419cdc18af758b98b4da05/recipes/full_finetune_single_device.py#L364

Wonder is it on a specific PyTorch version?
I tried to repro it on latest TorchTune main and PyTorch main, but couldn't repro this error 🤔

this is pytorch 2.4. Sorry i didnt make it clear @yf225

Hmm wonder would it be okay to require running on PyTorch nightly? I might need to look into this, but my worry is that if there is a fix we won't be able to retroactively add it into PyTorch 2.4 release 😞

Perhaps we can investigate if the old ways of doing compile (compile whole model model.compile() and compile loss step torch.compile(_loss_step)) work for pytorch 2.4? For compile loss step, I think last time I also only tested it with torch nightly...
Not supporting latest stable pytorch seems like a big deal. At least from my experience, apart from using stable versions for use cases requiring stability, stable versions are required to do reproducible experiments, since specific nightly versions will disappear.

Yeah we can definitely just version gate if the new ways we're compiling break things on 2.4. A bit of a UX hit but I agree that we do want to always at least support the latest stable version. Also we missed this because the compile backend for our tests is aot_eager (ref). Big thanks to @gau-nernst for catching both of these issues; I am (slowly) chipping away at debugging the CI coverage one on #1508


Excluded translations and vendor directories from bundle serving to r…

…emove warnings and errors
Signed-off-by: tushar5526<EMAIL_ADDRESS>Pull Request Template
Description
Excluded docs/nl and vendor directories.
Fixes #179
Type of change
Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?
Tested locally on Ubuntu 20.04
...
Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] Any dependent changes have been merged and published in downstream modules
[x] I have checked my code and corrected any misspellings
[x] I have tagged the reviewers in a comment below incase my pull request is ready for a review
[x] I have signed the commit message to agree to Developer Certificate of Origin (DCO) (to certify that you wrote or otherwise have the right to submit your contribution to the project.) by adding "--signoff" to my git commit command.

@joewxboy it is ready for review.


update dependencies

This blocks updating uuid in DungeonPaper app

Make sure this is compatible with Dungeon Paper, because I remember bumping up versions here and encountering invalid dependencies, see this commit here where I reverted it https://github.com/DungeonPaper/dungeon_world_data/commit/b3d0e00631f600a343711a9692cd4408e5c57b1e


Fix container parse from cgroup file

The previous code assumed a cgroup content like:
0::/docker/<hex stuff>/kubelet.slice/kubelet-kubepods.slice/kubelet-kubepods-besteffort.slice/kubelet-kubepods-besteffort-pod<uuid>.slice/cri-containerd-<containerID>.scope

But we found that for the sidecar deployment case, the cgroup content might be like:
0::/../cri-containerd-<containerID>.scope

This PR also removes the fixtures folder to avoid polluting the codebase with too many fixture files.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (cc0c6b6) 77.17% compared to head (b3d7221) 41.86%.

Additional details and impacted files
@@             Coverage Diff             @@
##             main     #468       +/-   ##
===========================================
- Coverage   77.17%   41.86%   -35.32%
===========================================
  Files          65       63        -2
  Lines        5162     5030      -132
===========================================
- Hits         3984     2106     -1878
- Misses        958     2789     +1831
+ Partials      220      135       -85

Flag
Coverage Δ

integration-test
?

unittests
41.86% <ø> (+0.05%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.