cmd/gofmt: unexpected comment indentation

$ go version
go version devel +fb54abe9ce Wed Sep 20 03:54:16 2017 +0000 darwin/amd64

type Value struct {
	Count           int64   // number of data points aggregated
	Min             float64 // minimum value in the distribution
	Max             float64 // max value in the distribution
	Mean            float64
	SumOfSquaredDev float64   // the sum of the squared deviation from the mean
	CountPerBucket  []int64   // number of occurrences per bucket
	Bounds          []float64 // histogram distribution of the values
}

Although I was expecting it to be:
type Value struct {
	Count           int64     // number of data points aggregated
	Min             float64   // minimum value in the distribution
	Max             float64   // max value in the distribution
	Mean            float64
	SumOfSquaredDev float64   // the sum of the squared deviation from the mean
	CountPerBucket  []int64   // number of occurrences per bucket
	Bounds          []float64 // histogram distribution of the values
}

/cc @griesemer

The alignment is broken if there is a line without a comment, I believe. Are you suggesting that the design should be different? Have you thought of a change to the rule in particular?

I am suggesting that the alignment shouldn't be broken unless there is a new line.

I see this as working as intended. Each set of end-of-line comments will be aligned as a unit. A missing comment initiates a new unit.

What @robpike said.

To clarify: gofmt handled comments like this from day one and it is by design: A "column" of things (comments in this case) ends whenever the thing in question is missing on a new line. There are other mechanisms that end a column (e.g. indentation of a block), but if you want the comment column to continue, you need to add an (empty) comment where there's none in this case.
I can see that aligning all comments in this case looks nicer.


CASMINST-4560 - Do not allow upgrader to run on CSM 1.2 or later SLS files

Summary and Scope
Previously if a BICAN, CMN or CHN networks existed in the SLS file to be upgraded by sls_updater_csm_1.2.py, the upgrade process would provide an informational warning but continue onward, often failing in a later step.  These networks are new artifacts in CSM 1.2.  The upgrader exists explicitly in the 1.0 to 1.2 upgrade section of the docs and 1.2-to-1.2 upgrades were not expected given location.  This change explicitly exits the upgrader if BICAN, CMN or CHN network are found in the provided SLS file.
Issues and Related PRs

Resolves CASMINST-4560

Testing

Ran against 0.9 and 1.0 SLS files and proved that existing behavior (ie. SLS upgrade) continued as desired.
Ran against several 1.2 SLS files and proved that existence of BICAN, CMN or CHN networks exited the upgrader with an informative error.

Tested on:

Local
Local development environment
Virtual Shasta

Pull Request Checklist

[x] Version number(s) incremented, if applicable
[x] Copyrights updated
[x] License file intact
[x] Target branch correct
[x] CHANGELOG.md updated
[x] Testing is appropriate and complete, if applicable
[x] HPC Product Announcement prepared, if applicable

Will also need a main branch PR for this once Jeanne's concern has been addressed


time: time.Parse does not work properly

Please answer these questions before submitting your issue. Thanks!
What version of Go are you using (go version)?
go1.8.3 darwin/amd64
What operating system and processor architecture are you using (go env)?
GOARCH="amd64"
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
What did you do?
This issue come up when I need to parse a datetime string that is generated by a pseudo random datetime generator that uses Unix() function. The generated datetime takes various date and time pairs between 2010 and 2017. Here's the problem, this version of the code works on both my computers and the playground,
package main

import (
    "fmt"
    "time"
)

func main() {
    a := time.Date(2016, 1, 0, 0, 0, 0, 0, time.UTC).Unix()
    kk := time.Unix(a, 0)
    t, err := time.Parse("2006-01-02 15:04:05.999999999 -0700 MST", kk.String())
    if err != nil {
        panic(err)
    }
    fmt.Println(t)
}

But the version below works on playground and panics on my computers. I believe that the problem is that my computers' timezone is setted for GMT+3.
package main

import (
    "fmt"
    "time"
)

func main() {
    a := time.Date(2018, 1, 0, 0, 0, 0, 0, time.UTC).Unix()
    kk := time.Unix(a, 0)
    t, err := time.Parse("2006-01-02 15:04:05.999999999 -0700 MST", kk.String())
    if err != nil {
        panic(err)
    }
    fmt.Println(t)
}

What did you expect to see?
I was expecting to have a time.Time object that is parsed from output of Stringer method.
What did you see instead?
panic: parsing time "2017-12-31 03:00:00 +0300 +03" as "2006-01-02 15:04:05.999999999 -0700 MST": cannot parse "+03" as "MST"

Time.String does not have a defined format. Use Format if you want specific output.
Related: #20876
I'm going to close this because #20876 will probably involve more docs in this area.

If you are in Europe/Instanbul, there was an abbreviation change in 2016
$ zdump -v /usr/share/zoneinfo/Europe/Istanbul | grep 2016

Europe/Istanbul  Tue Sep  6 20:59:59 2016 UT = Tue Sep  6 23:59:59 2016 EEST isdst=1 gmtoff=10800
Europe/Istanbul  Tue Sep  6 21:00:00 2016 UT = Wed Sep  7 00:00:00 2016 +03 isdst=0 gmtoff=10800

Don't assume the timezone abbreviation will be printed as EET:

Turkey switched from EET/EEST (+02/+03) to permanent +03,
effective 2016-09-07.  (Thanks to Burak AYDIN.)  Use "+03" rather
than an invented abbreviation for the new time.

@ALTree I'm well aware of that. I believe Go should have a work around to have things working despite this issue, at least Go should count (+02/+03) as EET/EEST.


feat(other): setup authentik

🍰 Pullrequest
see README.md
Issues

relates #144

Todo

[X] None

Better solution found


Bug in Remote Routine that uses a skill

Amazon recently added an option to call skills from within routines. I have a routine that does a bunch of smart home stuff and then activates a skill. When calling this routine ("Alexa, routine name"), this works fine. When calling this routine from node red using the Remote Routine node, all the routine actions are performed except for the skill launch which doesn't start.

Hmm i just created a routine in the app that turns some lights on and off and then opens the "dog bark" skill. I was able to use "Execute Routine" in node red and it did bark.
Does that simple example work for you?
Do you have an example where it does not work?
Make sure that you select a valid Echo device in the node.

Here's what I discovered: if you create a routine in the app which does not contain a skill, then set everything up in node-red, deploy, then go and add the skill, it doesn't work. If you Redeploy, it then works. So it seems that the deploy stage reloads all the instructions from the routine, it's not something that can be updated in the routine and it'll just work. Good to know...

Oh yeah that's somewhat unintuitive. When the account initialises it loads all the routine instructions. It's not like an id that gets sent for execution but the previously loaded routine instructions.


Debug_InterruptIsolate crashed on vm-linux-debug-x64-be

FAILED: none-vm debug_x64 vm/cc/Debug_InterruptIsolate
Expected: Pass
Actual: Crash
CommandOutput[run_vm_unittest]:

stdout:
Running test: Debug_InterruptIsolate
Done: Debug_InterruptIsolate

stderr:
Waiting for isolate to be created
Waiting for isolate to be interrupted
Waiting for isolate to be shut down
Complete
../../runtime/vm/malloc_hooks.cc: 270: error: expected: MallocHooksState::initialized()

Command[run_vm_unittest]: DART_CONFIGURATION=DebugX64 out/DebugX64/run_vm_tests --ignore-unrecognized-flags Debug_InterruptIsolate
Took 0:00:00.135797

Short reproduction command (experimental):
    python tools/test.py -t120 vm/cc/Debug_InterruptIsolate

Crash dump is available at
https://storage.cloud.google.com/dart-temp-crash-archive/d7400804-4d2e-4ba7-90d2-793f1518b47a/debug_x64_run_vm_tests.tar.gz
https://storage.cloud.google.com/dart-temp-crash-archive/d7400804-4d2e-4ba7-90d2-793f1518b47a/core.26866.tar.gz

Why was this closed? I think it's a different crash. It crashes on
../../runtime/vm/malloc_hooks.cc: 270: error: expected: MallocHooksState::initialized()

Submitted https://codereview.chromium.org/2671133002/ to fix the flaky test.

@a-siva thanks!
there is another (or multiple other) MallocHooks related shutdown race: see #28638. Will that one be fixed too by this CL or is it a different race?

That one looks different, I will take a look.
On Mon, Feb 6, 2017 at 11:31 PM, Vyacheslav Egorov<EMAIL_ADDRESS>
wrote:

@a-siva https://github.com/a-siva thanks!
there is another (or multiple other) MallocHooks related shutdown race:
see #28638 https://github.com/dart-lang/sdk/issues/28638. Will that one
be fixed too by this CL or is it a different race?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/dart-lang/sdk/issues/28606#issuecomment-277922178,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AIO7zdj-U5j-oso8GZGe1kSoRsU5HV1Cks5raB3FgaJpZM4L1FVn
.


Icon for R files overlap filename.

Seems the icon for R is a little too large.  It is overlapping the text on my machine.
In the search:

In the explorer window:

VSCode Version: 1.28.0-insider
OS Version: Windows 10

Steps to Reproduce:

Create R file
Open in VSCode and look at icon

Does this issue occur when all extensions are disabled?: Yes/No
Yes

I should be able to fix this.

Duplicate of https://github.com/Microsoft/vscode/issues/57595


Fine tune

Description
Trajectory fine-tuning code till the the LLM response along with prompt and feeds

Related Issues

Solution and Design

Test Plan

Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Docs update

Checklist

[x] My pull request is atomic and focuses on a single change.
[ ] I have read the contributing guide and my code conforms to the guidelines.
[ ] I have documented my changes clearly and comprehensively.
[ ] I have added the required tests.

there is some error in this PR


Add support for storing Date

This PR aims adds a convenience initialiser for AppStorageKey that stores a Date

Hi @rcasula, thanks for the PR, but for right now we are going to hold off on convenience APIs like this. Currently we are just mimicking the current API of UserDefaults, which does not allow directly storing a date.


Realtime transcripts test new

Added a script that sends transcripts based on timestamps in real time
It sends the transcript in real time and gets the responses to the api calls

I am opening a PR into Alex's branch because it had the most updated testing code

I'm going to merge this into #34 because the only thing new is a test file and we can avoid debugging merge conflicts


Crash on Recycler view expand animation

Apparently, this is common to both libraries.
https://issuetracker.google.com/issues/37129527

@Sottti Hey. Are you sure its still crashing with the latest Transitions-Everywhere? I fixed a similar issue in version 1.7.3. its related to any visibility transition like Fade.
Also I am trying to reproduce it, but in my local build Plaid always stuck on the progress bar instead of comments like its unable to load them

the fix is https://github.com/andkulikov/Transitions-Everywhere/commit/0d977dd7dddee12bdb02f78b1d4c10d649190b26

Ok, I managed to make Plaid works. And I see that its crashing on com.andkulikov:transitionseverywhere:1.7.2
but not on the latest
com.andkulikov:transitionseverywhere:1.7.6
So please check next time before creating a bug is it really reproducible.
I will also add a comment into the google issue, to help to fix it support library as well


How to Apply effects to all child images?

Describe what help do you need
I have following structure:
GameObjects - Image background
GameObjects - Image icon
GameObjects - Image - icon2
How can I apply Effect to all images including child ones?  (Similar like canvasGroup can control Alfa for all child objects)

Add UIEffectReplica component to the children and set the parent element as the target.
https://github.com/mob-sakai/UIEffect?tab=readme-ov-file#component-uieffectreplica


Accordion Block Content Source

Affected Version of Concrete CMS
9.x
Description
On the accordion block when editing content clicking the Source button displays the source but you cannot edit it
How to reproduce
Try editing source in the editor
Possible Solution
No response
Additional Context
No response

This has already been fixed in develop and will be released in 9.1.0.


Fix: allow assigning files in the /data/ folder to pipeline steps

Description
Previously, only the project files can be assigned to pipeline steps. To encourage reusing generic scripts across projects, this PR allows user assign files in the /data folder to pipeline steps.
This PR also fixes the following bugs:

When user uses the dropdown of the file picker to specify the file for pipeline steps, the value is the path should be relative to the pipeline file, instead of the project root.
When user moves .orchest files from Project files to /data, it should not throw errors and the corresponding pipeline should be removed (i.e. disappear from the sessions panel).
When user moves .orchest files from /data to Project files, the .orchest files should be recognized and added as pipelines (i.e. visible in the sessions panel).

@fruttasecca  Tag you here because there are some minor BE code changes.
Checklist

[x] The PR branch is set up to merge into dev instead of master.

I wouldn't have bet on the fact that interactive runs and job runs would "just work" with steps coming from /data, is it just working? :thinking:

I wouldn't have bet on the fact that interactive runs and job runs would "just work" with steps coming from /data, is it just working? 🤔

I did a "hello world" testing by creating a py file with print("something"), and it just works. Not sure about complex cases though.


Improve value/state flow for TextInput and UnitInput

This update improves how state (value from props) is handled, transformed, and derived for controlled components, such as TextInput, UnitInput, Select, Slider, and SearchInput.
This was originally brought to light by @jorgefilipecosta in https://github.com/ItsJonQ/g2/issues/203.
After ideas were shared within the Gutenberg integration PR, @saramarcondes and I took a closer look.
We started refactoring out zustand, which revealed some sync. issues with props/state.
We were successful in some refactors (such as SelectDropdown), but unsuccessful in others (such as ColorPicker).
The culmination of this journey (from zustand sync to recent refactors) has highlighted a good path forward for how we can reliably handle controlled components in a simple and stable fashion.

useControlledValue()
We needed an elegant and seamless way to handle value/state sync and defaultValue fallbacks for our controlled components. The solution I came up was this:
/**
 * Simplified and improved implementation of useControlledState.
 *
 * @param {object} props
 * @param {string|number} [props.defaultValue]
 * @param {string|number} [props.value]
 * @param {() => void} [props.onChange]
 */
export function useControlledValue({
	defaultValue,
	onChange,
	value: valueProp,
}) {
	const hasValue = !isNil(valueProp);
	const initialValue = hasValue ? valueProp : defaultValue;

	const [state, setState] = React.useState(initialValue);

	const value = hasValue ? valueProp : state;
	const setValue = hasValue && !isNil(onChange) ? onChange : setState;

	return [value, setValue];
}

It's the successor to useControlledState.
It's pretty simple! If value is defined, use that. Otherwise, fallback to state.
(Same for onChange).

usePropRef()
Another improvement is the addition of usePropRef. This simulates the "selector" benefits that zustand provided for callback functions. By creating a ref for a collection of props, this collection can be passed into useCallback based functions without breaking dependency equality.
For TextInput, this ensures that increment and decrement doesn't change per render cycle. This is useful as actions (and others) are used throughout the component.
/**
 * Creates a reference for a prop. This is useful for preserving dependency
 * memoization for hooks like useCallback.
 *
 * @example
 * ```js
 * // Referencing a simple prop, used in a useCallback function.
 * const valueRef = usePropRef(value)
 *
 * const increment = React.useCallback(() => {
 *   const value = valueRef.current
 *   onChange(value + 1)
 * }, [onChange, valueRef])
 * ```
 *
 * ---
 *
 * Multiple props can be passed in using in `object`.
 *
 * @example
 * ```js
 * const propRefs = usePropRef({ value, step })
 *
 * const increment = React.useCallback(() => {
 *   const { value, step } = propRefs.current
 *   onChange(value + step)
 * }, [onChange, propRefs])
 * ```
 */
export function usePropRef(prop) {
	const propRef = useRef(prop);

	useEffect(() => {
		propRef.current = prop;
	}, [prop]);

	return propRef;
}

From that, I refactored the previous zustand setup actions, selectors, etc... to callback functions and derived values (suggested by @jorgefilipecosta ).
From my tests, it looks like it worked!

Demo
The easiest place to test would be here:
https://g2-git-try-refactor-text-input-prop-state-handling.itsjonq.vercel.app/iframe.html?id=components-unitinput--default&viewMode=story

Examples
I've created a couple of CodeSandbox examples for the 2 new hooks
useControlledValue
https://codesandbox.io/s/use-controlled-value-kdpcg?file=/src/App.js
usePropRef
https://codesandbox.io/s/use-prop-ref-examples-4eowp

The big ones, that being TextInput and UnitInput, look like they're working as expected.

From my tests, I suspect the infinite looping issue is being caused by incompatible render cycles between controlled components.
🙏

Good work sorting out a generic solution for this.

Good work sorting out a generic solution for this.


Feed algorithm

This seems to just be an unchanged branched of mine that's been renamed?

Basically, I am an advanced learner of Javascript and Visual Studio 2019, but I am absolutely new to GitHub, so if some one could just mentor me on how to make this process a better one, I would be obliged. I know enough about XML, HTML and Javascript, apart from my expertise as a programmer of Visual Basic for Applications in MSOffice365 - just how best I can use my knowledge is important to me, so PLEASE DO HELP !!


🐛 [firebase_crashlytics] CocoaPods could not find compatible versions for FirebaseCore and nanopb

Bug report
Describe the bug
After following https://firebase.flutter.dev/docs/migration I get the error when building for iOS. I have tried the answers in https://github.com/FirebaseExtended/flutterfire/issues/3479 but it didn't help.
Analyzing dependencies
firebase_analytics: Using Firebase SDK version '6.26.0' defined in 'firebase_core'
firebase_auth: Using Firebase SDK version '6.26.0' defined in 'firebase_core'
firebase_core: Using Firebase SDK version '6.26.0' defined in 'firebase_core'
firebase_crashlytics: Using Firebase SDK version '6.26.0' defined in 'firebase_core'
firebase_messaging: Using Firebase SDK version '6.26.0' defined in 'firebase_core'
[!] CocoaPods could not find compatible versions for pod "FirebaseCore":
  In Podfile:
    firebase_crashlytics (from `.symlinks/plugins/firebase_crashlytics/ios`) was resolved to 0.2.0-dev.5, which depends on
      Firebase/Crashlytics (~> 6.26.0) was resolved to 6.26.0, which depends on
        FirebaseCrashlytics (~> 4.1.1) was resolved to 4.1.1, which depends on
          FirebaseCore (~> 6.6)

    firebase_messaging (from `.symlinks/plugins/firebase_messaging/ios`) was resolved to 7.0.0, which depends on
      Firebase/CoreOnly (~> 6.26.0) was resolved to 6.26.0, which depends on
        FirebaseCore (= 6.7.2)

CocoaPods could not find compatible versions for pod "nanopb":
  In Podfile:
    firebase_crashlytics (from `.symlinks/plugins/firebase_crashlytics/ios`) was resolved to 0.2.0-dev.5, which depends on
      Firebase/Crashlytics (~> 6.26.0) was resolved to 6.26.0, which depends on
        FirebaseCrashlytics (~> 4.1.1) was resolved to 4.1.1, which depends on
          nanopb (~> 1.30905.0)

    gRPC-Core (= 1.21.0) was resolved to 1.21.0, which depends on
      gRPC-Core/Implementation (= 1.21.0) was resolved to 1.21.0, which depends on
        nanopb (~> 0.3)

Steps to reproduce
Steps to reproduce the behavior:
1.User the following plugin versions in pubspec.yaml
  firebase_core: 0.5.0
  firebase_auth: 0.18.0+1
  firebase_analytics: 6.0.0
  firebase_crashlytics: 0.2.0-dev.5
  firebase_messaging: 7.0.0

Follow https://firebase.flutter.dev/docs/migration
Try to build for iOS

Expected behavior
Build passes correctly

Flutter doctor
Run flutter doctor and paste the output below:
Click To Expand
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 1.20.2, on Mac OS X 10.15.6 19G73, locale en-AU)

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
[✓] Xcode - develop for iOS and macOS (Xcode 11.7)
[✓] Android Studio (version 3.6)
[✓] VS Code (version 1.48.2)
[✓] Connected device (1 available)

Flutter dependencies
Run flutter pub deps -- --style=compact and paste the output below:
Click To Expand
Dart SDK 2.9.1
Flutter SDK 1.20.2
app_flutter 2.1.3

dependencies:
- apple_sign_in 0.1.0 [flutter]
- auto_size_text 2.1.0 [flutter]
- carousel_slider 1.3.1 [flutter]
- charts_flutter 0.9.0 [charts_common collection flutter intl logging meta]
- connectivity 0.4.6 [flutter meta]
- convert 2.1.1 [charcode typed_data]
- cupertino_icons 1.0.0
- devicelocale 0.2.1 [flutter]
- dio 3.0.9 [http_parser path]
- equatable 1.2.0 [collection meta]
- filesize 1.0.4
- fimber 0.3.2
- firebase_analytics 6.0.0 [meta flutter firebase_core firebase_analytics_web firebase_analytics_platform_interface]
- firebase_auth 0.18.0+1 [meta firebase_core firebase_core_platform_interface firebase_auth_platform_interface firebase_auth_web flutter]
- firebase_core 0.5.0 [firebase_core_platform_interface flutter quiver meta firebase_core_web]
- firebase_crashlytics 0.2.0-dev.5 [flutter stack_trace firebase_core firebase_core_platform_interface firebase_crashlytics_platform_interface]
- firebase_messaging 7.0.0 [meta platform flutter firebase_core]
- flare_flutter 1.5.15 [flutter flare_dart]
- flutter 0.0.0 [characters collection meta typed_data vector_math sky_engine]
- flutter_bloc 4.0.0 [flutter bloc provider]
- flutter_blue 0.7.2 [flutter convert protobuf rxdart]
- flutter_email_sender 3.0.1 [flutter]
- flutter_facebook_login 3.0.0 [flutter collection]
- flutter_form_builder 3.13.4 [flutter flutter_typeahead intl flutter_chips_input datetime_picker_formfield flutter_colorpicker signature validators date_range_picker flutter_touch_spin image_picker image_picker_for_web rating_bar country_pickers phone_number]
- flutter_local_notifications 1.4.4+4 [flutter platform flutter_local_notifications_platform_interface]
- flutter_native_timezone 1.0.4 [flutter]
- flutter_secure_storage 3.3.1+1 [meta flutter]
- flutter_spinkit 3.1.0 [flutter]
- flutter_svg 0.18.1 [path_drawing xml vector_math meta flutter]
- font_awesome_flutter 8.5.0 [flutter]
- geolocator 5.1.4+1 [flutter meta google_api_availability location_permissions vector_math]
- get_ip 0.4.0 [flutter]
- global_configuration 1.4.0 [flutter http]
- google_sign_in 4.1.4 [google_sign_in_platform_interface flutter meta google_sign_in_web]
- meta 1.1.8
- package_info 0.4.0+6 [flutter]
- path_provider 1.6.10 [flutter path_provider_platform_interface path_provider_macos path_provider_linux]
- percent_indicator 2.1.3 [flutter]
- photo_view 0.9.2 [flutter]
- rflutter_alert 1.0.3 [flutter]
- rxdart 0.24.1
- shared_preferences 0.5.6+3 [meta flutter shared_preferences_platform_interface shared_preferences_macos shared_preferences_web]
- socket_io_client 0.9.4 [logging socket_io_common]
- strings 0.1.2 [unicode]
- swipedetector 1.2.0 [flutter]
- url_launcher 5.4.1 [flutter url_launcher_platform_interface url_launcher_web url_launcher_macos]
- uuid 2.0.4 [crypto convert]
- wakelock 0.1.4+1 [flutter]

dev dependencies:
- bloc_test 5.1.0 [bloc mockito test meta]
- flutter_test 0.0.0 [flutter test_api path fake_async clock stack_trace vector_math async boolean_selector characters charcode collection matcher meta source_span stream_channel string_scanner term_glyph typed_data]
- mockito 4.1.1 [collection matcher meta test_api]

transitive dependencies:
- _fe_analyzer_shared 7.0.0 [meta]
- analyzer 0.39.17 [_fe_analyzer_shared args charcode cli_util collection convert crypto glob html meta package_config path pub_semver source_span watcher yaml]
- archive 2.0.13 [crypto args path]
- args 1.6.0
- asn1lib 0.6.5
- async 2.4.2 [collection]
- basic_utils 2.6.0 [http logging json_annotation pointycastle asn1lib convert crypto intl]
- bloc 4.0.0 [meta]
- boolean_selector 2.0.0 [source_span string_scanner]
- characters 1.0.0
- charcode 1.1.3
- charts_common 0.9.0 [collection intl logging meta vector_math]
- cli_util 0.2.0 [path]
- clock 1.0.1 [meta]
- collection 1.14.13
- country_pickers 1.3.0 [flutter]
- coverage 0.13.6 [args logging package_config path source_maps stack_trace vm_service]
- crypto 2.1.4 [collection convert typed_data]
- csslib 0.16.1 [source_span]
- date_range_picker 1.0.6 [flutter]
- datetime_picker_formfield 1.0.0 [flutter intl]
- fake_async 1.1.0 [clock collection]
- file 5.1.0 [intl meta path]
- firebase 7.3.0 [http http_parser js]
- firebase_analytics_platform_interface 1.0.3 [flutter meta]
- firebase_analytics_web 0.1.1 [flutter flutter_web_plugins firebase firebase_analytics_platform_interface meta]
- firebase_auth_platform_interface 2.0.1 [flutter meta firebase_core plugin_platform_interface]
- firebase_auth_web 0.3.0+1 [flutter flutter_web_plugins firebase meta http_parser intl firebase_core firebase_auth_platform_interface js]
- firebase_core_platform_interface 2.0.0 [flutter meta plugin_platform_interface quiver]
- firebase_core_web 0.2.0 [firebase firebase_core_platform_interface flutter flutter_web_plugins meta js]
- firebase_crashlytics_platform_interface 1.0.0-dev.2 [flutter meta collection firebase_core plugin_platform_interface]
- fixnum 0.10.9
- flare_dart 2.0.0
- flutter_chips_input 1.9.3 [flutter]
- flutter_colorpicker 0.3.4 [flutter]
- flutter_keyboard_visibility 3.2.2 [flutter]
- flutter_local_notifications_platform_interface 1.0.1 [flutter plugin_platform_interface]
- flutter_plugin_android_lifecycle 1.0.8 [flutter]
- flutter_touch_spin 1.0.1 [flutter intl]
- flutter_typeahead 1.8.8 [flutter flutter_keyboard_visibility]
- flutter_web_plugins 0.0.0 [flutter characters collection meta typed_data vector_math]
- glob 1.1.7 [async collection path string_scanner]
- google_api_availability 2.0.1 [flutter]
- google_sign_in_platform_interface 1.1.0 [flutter meta quiver]
- google_sign_in_web 0.8.4 [google_sign_in_platform_interface flutter flutter_web_plugins meta js]
- html 0.14.0+3 [csslib source_span]
- http 0.12.1 [http_parser path pedantic]
- http_multi_server 2.1.0 [async]
- http_parser 3.1.3 [charcode collection source_span string_scanner typed_data]
- image 2.1.14 [archive xml]
- image_picker 0.6.7+7 [flutter flutter_plugin_android_lifecycle image_picker_platform_interface]
- image_picker_for_web 0.1.0+1 [image_picker_platform_interface flutter flutter_web_plugins meta js]
- image_picker_platform_interface 1.1.0 [flutter meta http plugin_platform_interface]
- intl 0.16.1 [path]
- io 0.3.3 [charcode meta path string_scanner]
- js 0.6.1+1
- json_annotation 3.0.1
- lists 0.1.6
- location_permissions 2.0.3 [flutter meta]
- logging 0.11.3+2
- matcher 0.12.8 [stack_trace]
- mime 0.9.6+3
- nested 0.0.4 [flutter]
- node_preamble 1.4.8
- package_config 1.9.3 [path charcode]
- package_resolver 1.0.10 [collection http package_config path]
- path 1.7.0
- path_drawing 0.4.1+1 [vector_math meta path_parsing flutter]
- path_parsing 0.1.4 [vector_math meta]
- path_provider_linux 0.0.1+1 [path xdg_directories path_provider_platform_interface flutter]
- path_provider_macos 0.0.4+3 [flutter]
- path_provider_platform_interface 1.0.2 [flutter meta platform plugin_platform_interface]
- pedantic 1.8.0+1
- petitparser 3.0.4 [meta]
- phone_number 0.6.2+4 [flutter]
- platform 2.2.1
- plugin_platform_interface 1.0.2 [meta]
- pointycastle 1.0.2
- pool 1.4.0 [async stack_trace]
- process 3.0.13 [file intl meta path platform]
- protobuf 1.0.1 [fixnum]
- provider 4.1.3 [flutter nested collection]
- pub_semver 1.4.2 [collection]
- quiver 2.1.3 [matcher meta]
- random_string 2.1.0
- rating_bar 0.2.0 [flutter]
- shared_preferences_macos 0.0.1+6 [shared_preferences_platform_interface flutter]
- shared_preferences_platform_interface 1.0.3 [meta flutter]
- shared_preferences_web 0.1.2+4 [shared_preferences_platform_interface flutter flutter_web_plugins meta]
- shelf 0.7.5 [async collection http_parser path stack_trace stream_channel]
- shelf_packages_handler 1.0.4 [async path shelf shelf_static package_resolver]
- shelf_static 0.2.8 [convert http_parser mime path shelf]
- shelf_web_socket 0.2.3 [shelf web_socket_channel stream_channel]
- signature 3.2.0 [flutter image]
- sky_engine 0.0.99
- socket_io_common 0.9.0+5 [logging]
- source_map_stack_trace 2.0.0 [path stack_trace source_maps]
- source_maps 0.10.8 [source_span]
- source_span 1.7.0 [charcode collection meta path term_glyph]
- stack_trace 1.9.5 [path]
- stream_channel 2.0.0 [async]
- string_scanner 1.0.5 [charcode meta source_span]
- term_glyph 1.1.0
- test 1.15.2 [analyzer async boolean_selector coverage http http_multi_server io js node_preamble package_config path pedantic pool shelf shelf_packages_handler shelf_static shelf_web_socket source_span stack_trace stream_channel typed_data web_socket_channel webkit_inspection_protocol yaml test_api test_core]
- test_api 0.2.17 [async boolean_selector collection meta path source_span stack_trace stream_channel string_scanner term_glyph matcher]
- test_core 0.3.10 [analyzer async args boolean_selector collection coverage glob io meta package_config path pedantic pool source_map_stack_trace source_maps source_span stack_trace stream_channel vm_service yaml matcher test_api]
- typed_data 1.2.0 [collection]
- unicode 0.2.4 [lists]
- url_launcher_macos 0.0.1+2 [flutter]
- url_launcher_platform_interface 1.0.5 [flutter meta plugin_platform_interface]
- url_launcher_web 0.1.1 [url_launcher_platform_interface flutter flutter_web_plugins meta]
- validators 2.0.1 [vin_decoder]
- vector_math 2.0.8
- vin_decoder 0.1.2 [meta basic_utils http random_string]
- vm_service 2.3.1 [meta]
- watcher 0.9.7+12 [async path pedantic]
- web_socket_channel 1.0.15 [async crypto stream_channel]
- webkit_inspection_protocol 0.7.3 [logging]
- xdg_directories 0.1.0 [path process flutter]
- xml 4.2.0 [collection convert meta petitparser]
- yaml 2.2.0 [charcode collection string_scanner source_span]

Hi @astonyao,
Can you try either of below:

pod install --repo-update.
pod update GoogleDataTransport

And see if it works for you ?

Hi @astonyao,
Can you try either of below:

pod install --repo-update.
pod update GoogleDataTransport

And see if it works for you ?

Hi @darshankawar ,
I tried the above-mentioned methods and they are all throwing the same errors.

I solved this issue by following @gokulkrizh's answer here:
https://github.com/FirebaseExtended/flutterfire/issues/3352#issuecomment-680854071


feat: add serde support for ImString

Good catch — did not realize I hadn't gotten serde support in!
Happy to merge this as-is, although: I think the Data type needs serde support as well, and I would maybe add a test using serde_test just to ensure that it serializes the right way :)


Fossam dockeromnibus

images from these dockerfiles are over 4.5 Gb per image.

All of these so far appear to be working great! Looking forward to the cent6 and debian7 ones! You're awesome!

That is impressive. Are these tested? Because @cedwards mentioned this to me on the drive home. I think I know what I going to do this weekend.

They are tested, but there are known issues that I think @fossam has resolved but not pushed yet. On the list:

pulling the hubble config from the Dockerfile directory if present
adding symlinks to /usr/bin for hubble binary


update go to v1.13

Signed-off-by: Karuppiah Natarajan<EMAIL_ADDRESS>
What this PR does / why we need it:
Fixes #6380
Special notes for your reviewer:
If applicable:

[ ] this PR contains documentation
[ ] this PR contains unit tests
[ ] this PR has been tested for backwards compatibility

Yay! Thanks @mattfarina ! 🎉 😁


Hard-to-diagnose "Cannot find global type 'Symbol'." error

TypeScript Version:  nightly (2.6.0-dev.20170930)
Code
interface A {
    m(x: string): void;
}

declare class B {
    m(x: string | symbol): void;
}

declare class C extends B implements A {}

Compile with --lib es5 --target es6.
Expected behavior:
A useful error message, containing a location of the error, and a suggestion of how to fix it.
Alternately, no error, since this code is correct.
Actual behavior:
error TS2318: Cannot find global type 'Symbol'.

It looks like this will be hard to fix because the error happens in type comparison; but this error was very difficult to track down so it would be nice to get an error location.

I believe this is the stacktrace for the issue:
resolveNameHelper (checker.ts:1161)
resolveName (checker.ts:890)
getGlobalSymbol (checker.ts:7100)
getGlobalTypeSymbol (checker.ts:7095)
getGlobalType (checker.ts:7106)
getGlobalESSymbolType (checker.ts:7123)
getApparentType (checker.ts:6085)
getPropertiesOfType (checker.ts:5922)
isRelatedTo (checker.ts:8968)
eachTypeRelatedToType (checker.ts:9192)
isRelatedTo (checker.ts:8998)
compareSignaturesRelated (checker.ts:8589)
signatureRelatedTo (checker.ts:9720)
signaturesRelatedTo (checker.ts:9689)
structuredTypeRelatedTo (checker.ts:9460)
recursiveTypeRelatedTo (checker.ts:9300)
isRelatedTo (checker.ts:9025)
propertiesRelatedTo (checker.ts:9559)
structuredTypeRelatedTo (checker.ts:9458)
recursiveTypeRelatedTo (checker.ts:9300)
isRelatedTo (checker.ts:9025)
checkTypeRelatedTo (checker.ts:8853)
checkTypeAssignableTo (checker.ts:8502)
checkClassLikeDeclaration (checker.ts:21693)
checkClassDeclaration (checker.ts:21610)
checkSourceElement (checker.ts:22750)
forEach (core.ts:186)
checkSourceFileWorker (checker.ts:22841)
checkSourceFile (checker.ts:22815)
forEach (core.ts:186)
getDiagnosticsWorker (checker.ts:22917)
getDiagnostics (checker.ts:22880)
getEmitResolver (checker.ts:534)
emitWorker (program.ts:1162)
(anonymous) (program.ts:1115)
runWithCancellationToken (program.ts:1238)
emit (program.ts:1115)
compileFiles (harness.ts:1197)
(anonymous) (compilerRunner.ts:116)

I've just started looking at the TypeScript internals so I'm not yet sure how/why that whole path is taken, but I thought I should post the trace as a start (to help anyone else more experienced).

It appears as if type checking does not involve location Nodes and hence I think it would be a lot of work to get an appropriate location into the error message.
That then only leaves the possibility of silencing the error.
If you take a look at /src/compiler/checker.ts:6085:
function getApparentType(type: Type): Type {
    const t = type.flags & TypeFlags.TypeVariable ? getBaseConstraintOfType(type) || emptyObjectType : type;
    return t.flags & TypeFlags.Intersection ? getApparentTypeOfIntersectionType(<IntersectionType>t) :
        t.flags & TypeFlags.StringLike ? globalStringType :
        t.flags & TypeFlags.NumberLike ? globalNumberType :
        t.flags & TypeFlags.BooleanLike ? globalBooleanType :
        t.flags & TypeFlags.ESSymbol ? getGlobalESSymbolType(/*reportErrors*/ languageVersion >= ScriptTarget.ES2015) : // <-- Line 6085
        t.flags & TypeFlags.NonPrimitive ? emptyObjectType :
        t;
}

...you can see that the check occurs when the target language is >= ES2015.
The only other usage of the getGlobalESSymbolType function is at /src/compiler/checker.ts:8901:
function tryElaborateErrorsForPrimitivesAndObjects(source: Type, target: Type) {
    const sourceType = typeToString(source);
    const targetType = typeToString(target);

    if ((globalStringType === source && stringType === target) ||
        (globalNumberType === source && numberType === target) ||
        (globalBooleanType === source && booleanType === target) ||
        (getGlobalESSymbolType(/*reportErrors*/ false) === source && esSymbolType === target)) { // <-- Line 8901
        reportError(Diagnostics._0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible, targetType, sourceType);
    }
}

...and you can see that the argument for the reportErrors param is hard-coded (to be false).
So I think if we hard-code a false value for the call in the getApparentType function, it should fix this issue.
Doing so would result in all usages of the getGlobalESSymbolType function to use the same hard-coded value (i.e. false) for the reportErrors param. So I'm not sure if we also want to remove that param altogether.

@sandersn Could you take a look at this? This is deep in the bowels of isRelatedTo.

I thought the suggestion here is to just say something like Cannot find global type 'Symbol'. consider adding '--lib es2015' to your compilation.. and if so, the change would be limited to getGlobalESSymbolType and getGlobalType to have an elaboration passed in to add the note about the lib.

@rbuckton pointed out that the lib-references feature that he's working on will allow node and other packages to cleanly avoid this error by referencing --lib es6 even when tsconfig specifies --lib es5. In the meantime, though, we decided it's best to stop issuing this error entirely since it's so hard to debug when libraries (like node) are the ones causing the error.

Currently going through issues with the "Good first issue"-label, it seems this one is outdated?
The code given in the initial description compiles fine with --lib es5 --target es6, there is no error anymore?


Fix break when using NOCAPTCHA

No recaptcha_challenge_field needed when using NOCAPTCHA. Currently it will break if recaptcha_challenge_field is passed None.

We no longer support the NOCAPTCHA option.


Failing validation doesn't fail the export script or the workflow step

When the export.sh script runs node ./node_modules/@microsoft/azure-data-factory-utilities/lib/index validate $(pwd) $dataFactoryId on line 16, if the validation fails, the bash script does not fail - despite node throwing errors.
Because the script doesn't fail, the script continues on to the export step line 26. This command will inevitably also error out as the code isn't valid.
Because there is no error handling in the bash script, the step in the parent workflow that calls this action doesn't know that there were errors, and it shows in the GitHub workflow to have completed successfully.
This can be fixed by simply adding set -e explanation here at the top of the export.sh script. This will cause the bash script to exit at the first non-zero exit code reported by any command in the script, and will accurately report back to the parent workflow that the action has failed. If there are commands in the script that should continue on error, additional configuration would be needed to allow that when using set -e.
Alternatively, command conditionals could be wrapped around the validate and export commands to explicitly exit the script with a non-zero exit code.

@edstancu In the short term, I've simply recreated this action in my own org and added set -e as the second line of the export.sh script (after #!/bin/bash). Unfortunately, it's my company's private org so I can't share it.
You could also use the Azure/data-factory-validate-action as it does have error handling of a sort: link here. In most cases, I wouldn't recommend using $? like they have in that action to ensure a previous command was successful, since a parent function could return a zero exit code even if something inside it returned a non-zero exit code. I can't test every scenario to find out if that might be the case here, so at the moment we just have to hope that the node module has correct error handling.
It's worth pointing out that if they fix the error handling here, the validate action is redundant and a waste of build minutes if you're also running this export action since the export action runs the validate function first.


Fix build with gpsd-3.23.1

there were 3 API breaking changes in 3.23.1 point release without bumping GPSD_API_MAJOR_VERSION:
Change STATUS_NO_FIX to STATUS_UNK to avoid confusion with fix mode.
Change STATUS_FIX to STATUS_GPS to avoid confusion with fix mode.
Change STATUS_DGPS_FIX to STATUS_DGPS to avoid confusion with fix mode.
https://gitlab.com/gpsd/gpsd/-/commit/d4a4d8d3606fd50f10bcd20096a8a0cdb8b2d427
https://gitlab.com/gpsd/gpsd/-/commit/af3b7dc0d1fc8b912ea2ef3df4a74498ccade85a
https://gitlab.com/gpsd/gpsd/-/commit/7d7b889f5ca9ec0bdef5fcea3da0e320eb8ceb97

Signed-off-by: Martin Jansa<EMAIL_ADDRESS>

Please check Gary E. Miller's reply in: https://gitlab.com/gpsd/gpsd/-/commit/7d7b889f5ca9ec0bdef5fcea3da0e320eb8ceb97#note_692804976

The code this patches was already broken, and is still broken.
status is being used to determine is there is a valid fix.  That was never true, and remains invalid.


[Feature] Extend useEcosystem hook and update Layout and Ecosystem components

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#3604  👈
#3603
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @jnsdls and the rest of your teammates on  Graphite

this is blocked on ecosystem wallet API accepting Authorization header as auth (instead of only cookie)


Copied blocks crash bitcoind

I am moving to mainnet, but bitcoind always crashes on start up while trying to verify the blocks and chainstate copied from my other machine:
2018-07-11 21:06:03 Bitcoin Core version v0.16.1 (release build)
2018-07-11 21:06:03 InitParameterInteraction: parameter interaction: -whitelistforcerelay=1 -> setting -whitelistrelay=1
2018-07-11 21:06:03 Assuming ancestors of block<PHONE_NUMBER>000000005214481d2d96f898e3d5416e43359c145944a909d242e0 have valid signatures.
...
2018-07-11 21:06:03 init message: Loading block index...
2018-07-11 21:06:03 Opening LevelDB in /home/bitcoin/.bitcoin/blocks/index
2018-07-11 21:06:04 Opened LevelDB successfully
2018-07-11 21:06:04 Using obfuscation key for /home/bitcoin/.bitcoin/blocks/index:<PHONE_NUMBER>000000

If I remove the blocks and chainstate folder, bitcoind starts up without issue and starts downloading new blocks.
Any ideas?

Hej @nipponese, not sure why this happens. Deleting the folders just makes the Pi download the whole blockchain again, that can take weeks...
Just to make sure, on mainnet you

downloaded the mainnet blockchain (~200 GB) on a regular computer using Bitcoin Core with the option txindex=1 in the bitcoin.conf and it is fully synced
copied the whole Bitcoin data directory to your RaspiBolt using SCP
stopped all services, adjusted the configuration, started the services
bitcoind is starting but then it crashes

Not sure if this could be a memory issue. What Raspberry Pi do you have? How is your external hard disk formatted? Is swap enabled?
Can you post the output of the following commands, please?
uname -a
sudo df
sudo lsblk -o UUID,NAME,FSTYPE,SIZE,LABEL,MODEL
cat /proc/swaps
grep -v '^#' /etc/dphys-swapfile | grep -v '^$'

I think my config is ok. My swap file is 2gb.
I am loading mainnet blocks and chainstate from my Mac.  txindex=1 is set.
The only difference between my process your manual is I used rsync to copy the files over instead of scp.
admin@machinename:~ $ cat /proc/device-tree/model
Raspberry Pi 3 Model B Rev 1.2

admin@machinename:~ $ uname -a
Linux machinename 4.14.34-v7+ #1110 SMP Mon Apr 16 15:18:51 BST 2018 armv7l GNU/Linux

admin@machinename:~ $ sudo df
Filesystem      1K-blocks      Used  Available Use% Mounted on
/dev/root        30612732  27559784    1776812  94% /
devtmpfs           470116         0     470116   0% /dev
tmpfs              474724         0     474724   0% /dev/shm
tmpfs              474724     18228     456496   4% /run
tmpfs                5120         4       5116   1% /run/lock
tmpfs              474724         0     474724   0% /sys/fs/cgroup
/dev/mmcblk0p1      43436     22138      21298  51% /boot
/dev/sda1<PHONE_NUMBER> 253142912<PHONE_NUMBER>   7% /mnt/hdd
tmpfs               94944         0      94944   0% /run/user/1000
admin@machinename:~ $
admin@machinename:~ $ sudo lsblk -o UUID,NAME,FSTYPE,SIZE,LABEL,MODEL
UUID                                 NAME        FSTYPE  SIZE LABEL  MODEL
                                     sda                 3.7T        My Passp
0dcafb17-4de0-468b-9174-7e5e02bb6ad2 └─sda1      ext4    3.7T
                                     mmcblk0            29.7G
A365-6756                            ├─mmcblk0p1 vfat   43.1M boot
90a83158-560d-48ee-9de9-40c51d93c287 └─mmcblk0p2 ext4   29.7G rootfs

admin@machinename:~ $ cat /proc/swaps
Filename        Type    Size  Used  Priority
/mnt/hdd/swapfile                  file    2097148 29184 -2

admin@machinename:~ $ grep -v '^#' /etc/dphys-swapfile | grep -v '^$'
CONF_SWAPFILE=/mnt/hdd/swapfile
CONF_SWAPSIZE=2048
admin@machinename:~ $

Not really sure what could cause this. If it's working on your Mac, it should also work on the Pi, its the exact same codebase.
Did you check permissions & ownership? The whole external hdd should be owned by "bitcoin", maybe that's an issue due to rsync?

Yeah, it seems likely that using rsync was the culprit. After copying the files over using SFTP via Transmit, bitcoind read the index indexes without issue.


Refs #31710 -- Fixed multiple file upload documentation.

Trac ticket number
ticket-3110
Branch description
Small tweak to fb4c55d9ec4bb812a7fb91fa20510d91645e411b. The documented widget didn’t wrap the file in a list in the case when the form’s files attribute is not a MultiValueDict, which is typically used in testing. This would break the sample view code, which does for f in files.
I checked this by copying the sample code into an example project.
Before:
In [1]: from django.core.files.uploadedfile import SimpleUploadedFile

In [2]: from example.forms import FileFieldForm

In [3]: form = FileFieldForm({}, {"file_field": SimpleUploadedFile("bunny.jpeg", b"bunny")})

In [4]: form.is_valid()
Out[4]: True

In [5]: form.cleaned_data
Out[5]: {'file_field': <SimpleUploadedFile: bunny.jpeg (text/plain)>}

After:
In [1]: from django.core.files.uploadedfile import SimpleUploadedFile

In [2]: from example.forms import FileFieldForm

In [3]: form = FileFieldForm({}, {"file_field": SimpleUploadedFile("bunny.jpeg", b"bunny")})

In [4]: form.is_valid()
Out[4]: True

In [5]: form.cleaned_data
Out[5]: {'file_field': [<SimpleUploadedFile: bunny.jpeg (text/plain)>]}

Checklist

[x] This PR targets the main branch.
[x] The commit message is written in past tense, mentions the ticket number, and ends with a period.
[x] I have checked the "Has patch" ticket flag in the Trac system.
[x] I have added or updated relevant tests.
[x] I have added or updated relevant docs, including release notes if applicable.
[x] For UI changes, I have attached screenshots in both light and dark modes.

Sorry for the post-retirement ping @felixxm 🏖


MERGE statements aren't detected by IsCrudCommand

Summary of the issue
MERGE statements currently rely on the INSERT/UPDATE being on a newline which isn't always the case
https://github.com/borisdj/EFCore.BulkExtensions doesn't add newlines before it's INSERT/UPDATE statements in bulk actions meaning the two libraries don't play nicely.  Currently manually clearing the cache when we use one of these commands.

EF 7x supports bulk operations. Have you tried it?

Thanks!


⚠ Quirk Club Argentina (Payment Gateway) has degraded performance

In b3f25e2, Quirk Club Argentina (Payment Gateway) (https://us-central1-quirkclub-dev.cloudfunctions.net/api/check/payment-gateway-ml) experienced degraded performance:

HTTP code: 200
Response time: 9797 ms

Resolved: Quirk Club Argentina (Payment Gateway) performance has improved in 3518298.


scipy.misc.derivative is deprecated

scipy v1.10.0 (released Jan 3, 2023) has deprecated scipy.misc.derivative, a function used by pvlib.ivtools.sdm.pvsyst_temperature_coeff.  The deprecation notice mentions some alternatives (although I'm not confident a new dependency is warranted in our case):

pvlib/ivtools/sdm.py:1347: DeprecationWarning: scipy.misc.derivative is deprecated in SciPy v1.10.0; and will be completely removed in SciPy v1.12.0. You may consider using findiff: https://github.com/maroba/findiff or numdifftools: https://github.com/pbrod/numdifftools

Noticed in this CI run: https://github.com/pvlib/pvlib-python/actions/runs/3992734328/jobs/6848836375#step:9:130

I noticed that too, in other work. scipy is not going to provide any numeric differentiation tools. If we keep the pvsyst_temperature_coeff function (I vote yes), and are considering a new dependency, I vote against either autograd or its successor, JAX; they are awkward since they wrap numpy. My preference would be to code our own calculation using a finite difference formula.

Maybe check statsmodels I seem to recall that it has a simple derivative function, but I can't find it quickly now so maybe I was mistaken?

+1 for explicit finite difference calculation


investigate jmespath

Look at adding jmespath filtering for the k8s admin list/get operation as a mechanism to make it easier to use.  Library at https://github.com/jmespath/go-jmespath.  On the C# side, ensure that we escape the querystring appropriately.

https://github.com/Azure/ARO-RP/pull/532


onFileUploadSuccess called multiple times

Describe the bug
First I got multiple mentions from users that files had been uploaded multiple times (one to about 6 times, varying). But I couldn't provoke it myself.
Today I happened to see it while developing: onFileUploadSuccess was called two times while uploading a single file.  Both times returning the same info.uuid. Unfortunately I forgot to make a screenshot.
So I had to implement catching duplicates, see infoUuidsProcessed in the code below.
Sorry I can't build a reproducable example. So feel free to close this issue. I simply wanted to document it.
Expected behavior
onFileUploadSuccess should only occur once per file uploaded.
Code / screenshots
This is my component:
import {
  useCallback,
  useState,
  useRef,
  useContext,
  memo,
  useMemo,
  Suspense,
} from 'react'
import { observer } from 'mobx-react-lite'
import { useApolloClient, useQuery, gql } from '@apollo/client'
import styled from '@emotion/styled'
import upperFirst from 'lodash/upperFirst'
import Button from '@mui/material/Button'
import IconButton from '@mui/material/IconButton'
import SimpleBar from 'simplebar-react'
import {
  FaPlus,
  FaMinus,
  FaEye,
  FaEyeSlash,
  FaChevronLeft,
  FaChevronRight,
} from 'react-icons/fa6'
import { useNavigate, useLocation, Outlet, useParams } from 'react-router-dom'

import './index.css'

import { ErrorBoundary } from '../ErrorBoundary.jsx'
import { Error } from '../Error'
import { Spinner } from '../Spinner'
import { MenuBar } from '../MenuBar/index.jsx'

import {
  apFile as apFileFragment,
  idealbiotopFile as idealbiotopFileFragment,
  popFile as popFileFragment,
  tpopFile as tpopFileFragment,
  tpopkontrFile as tpopkontrFileFragment,
  tpopmassnFile as tpopmassnFileFragment,
} from '../fragments'
import { Uploader } from '../Uploader/index.jsx'
import { UploaderContext } from '../../../UploaderContext.js'
import { File } from './Files/File.jsx'
import { isImageFile } from './isImageFile.js'
import { StoreContext } from '../../../storeContext.js'
import { icon } from 'leaflet'

const Container = styled.div`
  flex-grow: 1;
  display: flex;
  flex-direction: column;
`
const OutletContainer = styled.div`
  flex-grow: 1;
`

const fragmentObject = {
  ap: apFileFragment,
  idealbiotop: idealbiotopFileFragment,
  pop: popFileFragment,
  tpop: tpopFileFragment,
  tpopkontr: tpopkontrFileFragment,
  tpopmassn: tpopmassnFileFragment,
}

export const FilesRouter = memo(
  observer(({ parentId = '99999999-9999-9999-9999-999999999999', parent }) => {
    const store = useContext(StoreContext)
    const { fileId } = useParams()
    const navigate = useNavigate()
    const { pathname } = useLocation()
    const isPreview = pathname.endsWith('Vorschau')
    const client = useApolloClient()
    const uploaderCtx = useContext(UploaderContext)
    const api = uploaderCtx?.current?.getAPI?.()
    const infoUuidsProcessed = useRef([])

    const containerRef = useRef(null)

    const queryName = `all${upperFirst(parent)}Files`
    const parentIdName = `${parent}Id`
    const fields = `${upperFirst(parent)}FileFields`
    const fragment = fragmentObject[parent]

    const query = gql`
        query FileQuery($parentId: UUID!) {
          ${queryName}(
            orderBy: NAME_ASC
            filter: { ${parentIdName}: { equalTo: $parentId } }
          ) {
            nodes {
              ...${fields}
            }
          }
        }
        ${fragment}
      `

    const { data, error, loading, refetch } = useQuery(query, {
      variables: { parentId },
    })

    const files = data?.[`all${upperFirst(parent)}Files`].nodes ?? []

    const onCommonUploadSuccess = useCallback(
      async (info) => {
        // reset infiUuidsProcessed
        infoUuidsProcessed.current = []
        // close the uploader or it will be open when navigating to the list
        api?.doneFlow?.()
        // clear the uploader or it will show the last uploaded file when opened next time
        api?.removeAllFiles?.()
        // somehow this needs to be delayed or sometimes not all files will be uploaded
        setTimeout(() => refetch(), 500)
      },
      [client, fields, fragment, parent, parentId, refetch],
    )

    // ISSUE: sometimes this is called multiple times with the same info.uuid
    const onFileUploadSuccess = useCallback(
      async (info) => {
        if (info) {
          if (infoUuidsProcessed.current.includes(info.uuid)) return
          infoUuidsProcessed.current.push(info.uuid)
          let responce
          try {
            responce = await client.mutate({
              mutation: gql`
              mutation insertFile {
                create${upperFirst(parent)}File(
                  input: {
                    ${parent}File: {
                      fileId: "${info.uuid}",
                      fileMimeType: "${info.mimeType}",
                      ${parent}Id: "${parentId}",
                      name: "${info.name}"
                    }
                  }
                ) {
                  ${parent}File {
                    ...${fields}
                  }
                }
              }
              ${fragment}
            `,
            })
          } catch (error) {
            console.log(error)
            store.enqueNotification({
              message: error.message,
              options: {
                variant: 'error',
              },
            })
          }
          console.log('FilesRouter.onFileUploadSuccess', { info, responce })
        }
      },
      [client, fields, fragment, parent, parentId, refetch],
    )

    const onFileUploadFailed = useCallback((error) => {
      console.error('Upload failed:', error)
      store.enqueNotification({
        message: error?.message ?? 'Upload fehlgeschlagen',
        options: {
          variant: 'error',
        },
      })
      // close the uploader or it will be open when navigating to the list
      api?.doneFlow?.()
      // clear the uploader or it will show the last uploaded file when opened next time
      api?.removeAllFiles?.()
      // somehow this needs to be delayed or sometimes not all files will be uploaded
      setTimeout(() => refetch(), 500)
    }, [])

    const firstFileId = files?.[0]?.fileId

    const onClickPreview = useCallback(
      () => navigate(`${firstFileId}/Vorschau`),
      [firstFileId],
    )
    const onClickClosePreview = useCallback(() => {
      // relative navigation using ../.. does not work here
      const fileIdBeginsAt = pathname.indexOf(fileId)
      const newPathname = pathname.slice(0, fileIdBeginsAt)
      navigate(newPathname)
    }, [pathname, fileId])

    const menus = useMemo(
      () => [
        <IconButton
          key="vorschau_oeffnen"
          title="Vorschau öffnen"
          onClick={onClickPreview}
        >
          <FaEye />
        </IconButton>,
        <IconButton
          key="dateien_hochladen"
          title="Dateien hochladen"
          onClick={api?.initFlow}
        >
          <FaPlus />
        </IconButton>,
      ],
      [onClickPreview],
    )
    const previewMenus = useMemo(
      () => [
        <IconButton
          key="vorschau_schliessen"
          title="Vorschau schliessen"
          onClick={onClickClosePreview}
        >
          <FaEyeSlash />
        </IconButton>,
        <IconButton
          key="dateien_hochladen"
          title="Dateien hochladen"
          onClick={api?.initFlow}
        >
          <FaPlus />
        </IconButton>,
        <IconButton
          key="loeschen"
          title="löschen"
          onClick={() => {
            console.log('TODO: delete. How to know which file?')
          }}
        >
          <FaMinus />
        </IconButton>,
        <IconButton
          key="vorige_datei"
          title="vorige Datei"
          onClick={() => {
            console.log('TODO: navigate. How to know which file?')
          }}
        >
          <FaChevronLeft />
        </IconButton>,
        <IconButton
          key="naechste_datei"
          title="nächste Datei"
          onClick={() => {
            console.log('TODO: navigate. How to know which file?')
          }}
        >
          <FaChevronRight />
        </IconButton>,
      ],
      [onClickClosePreview],
    )

    if (loading) return <Spinner />

    if (error) return <Error error={error} />

    return (
      <ErrorBoundary>
        <Container ref={containerRef}>
          <Uploader
            onFileUploadSuccess={onFileUploadSuccess}
            onFileUploadFailed={onFileUploadFailed}
            onCommonUploadSuccess={onCommonUploadSuccess}
          />
          <MenuBar>{isPreview ? previewMenus : menus}</MenuBar>
          <OutletContainer>
            <Suspense fallback={<Spinner />}>
              <Outlet
                context={{ files, parent, parentId, refetch, containerRef }}
              />
            </Suspense>
          </OutletContainer>
        </Container>
      </ErrorBoundary>
    )
  }),
)

Environment

Library version: "@uploadcare/react-uploader": "1.1.0"
Language/framework version: react 18.3.1
OS version: windows 11 up to date

I have the same problem but with fileValidators, it is called multiple times, when you upload a file locally, it goes through the function 4 times.

and when I upload another file the second one, it happens 6 times.


fix(controller): Fix nested maps. Fixes #3653

Checklist:

[x] Either (a) I've created an enhancement proposal and discussed it with the community, (b) this is a bug fix, or (c) this is a chore.
[x] The title of the PR is (a) conventional, (b) states what changed, and (c) suffixes the related issues number. E.g. "fix(controller): Updates such and such. Fixes #1234".
[x] I've signed the CLA.
[x] I have written unit and/or e2e tests for my change. PRs without these are unlikely to be merged.
[x] My builds are green. Try syncing with master if they are not.
[x] My organization is added to USERS.md.

Fixes #3653

Back-ported to v2.10

Fixed and available in v2.10.0-rc5.


Arrangement and execution of the meeting (issue #184 related)

The goal is to arrange and execute a meeting covering basics of dynpy’s dynamical systems usage,

Issue can be closed


Text drawing code crashes an app

I recently updated devkitARM and ctrulib to the latest versions, but now whenever TWLoader tries to draw text, the application crashes to HOME Menu.

I get some isues though, using sftd_get_text_width gets me a crash

I'm having the same issues as well.

Same here, and I've noticed this only occurs when trying to draw text after drawing a sf2d_texture.

I had this issue before, fixed it by reinstalling DevkitPro & all libraries


More efficient

The changes in utils.py can make the code up to 6 times faster on a GPU, due to vectorization

@nikolasmorshuis This implementation is not exactly correct in all aspects with respect to the things proposed in the paper. The author of the work has made a fork here (https://github.com/DianeBouchacourt/multi-level-vae) and added the correct implementation. You should actually create a pull request there after going through the correct code.

Ok, thanks for letting me know. It seems like some of the changes that the author made are similar to what I have suggested here, she also replaced some of the for-loops, that iterate over all elements in the batch, with for-loops, that only iterate over the unique labels of the batch.
So my pull-request is not necessary after all.


Fix up hg support in jest-changed-files.

@facebook-github-bot shipit

Thanks for importing. If you are an FB employee go to Phabricator to review.

I should explain why this change was necessary:
HGPLAIN=1 hg status works on www and works in open source mercurial. However, it doesn't work on Facebook laptops because they require the rest of the env variables to be available, otherwise the test will throw and this feature won't work. I changed it so HGPLAIN is added to all env variables that are available.
I also added an error handler, which should be common sense but I think we didn't have one there because the code would never be called if hg (or git) was not available based on the previous call. Anyway, error handlers are good for you. Use them!


refactor(transformer): move functionalty of common transforms into stores

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#6243  👈
#6242
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @overlookmotel and the rest of your teammates on  Graphite


cmake: increase minimal required version to 3.15.7

Move to minimum required cmake version 3.15.7.
This is already a requirement for certain external
projects that integrate with Zephyr.
Signed-off-by: Ioannis Glaropoulos<EMAIL_ADDRESS>

@tejlmand please take a look into this draft PR

Not sure this is the right place, but I think it would be valuable to have a wider discussion on how to handle CMake minimum version (maybe process WG ?).
3.15 is not required because Zephyr repo uses 3.15 or newer features, but because a Zephyr module does.
But not all Zephyr users may use this module, and for sure not those using another arch than arm, but because of TF-M, they will be required to update their CMake.
Later Zephyr module X requires 3.18, are we then jumping whole Zephyr again ?
It's nice to know that everything, including modules will build if you have the CMake version required by Zephyr, but it is also nice for users if their distro installed CMake version is capable of building and testing native posix Zephyr samples out of the box.
And then the principle discussion whether Zephyr should bump version each time some module decides to bump their version.

Not sure this is the right place, but I think it would be valuable to have a wider discussion on how to handle CMake minimum version (maybe process WG ?).

This is not a process WG topic IMO, this probably fits better in your toolchain WG :)

Ubuntu 20.04 (current LTS) has CMake 3.16.3, so this would be OK there.
Debian stable only has 3.13.4, though, so Debian users would need to move beyond stable for this to work.
Centos 8 (the latest) only has CMake 3.11, so it doesn't matter as those users are already behind. I assume the same is true for the latest RHEL, but I don't know for sure.
Bleeding edge distros like Fedora and Arch should be fine, of course.

So at least this wouldn't break Ubuntu...


Update about-keyboard-input.md

Add example code how to handle "Keystroke Message Flags"

@DJm00n : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Fix/git icon

#214
This PR removes GitHub btn and replace it with SVG scaling on hover by 5%

apologies for semicolon at the end of lines, I will force-stop it next time


'request is missing a required parameter' on Allow or Deny after successful log in

Error:
{"error":"invalid_request","error_description":"The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed. Check the \"client_id\" parameter."}

Route.php
Route::post('oauth/authorize', [
    'before' => 'csrf|check-authorization-params|auth',
    'as' => 'post_auth_authorize_path',
    'users' => 'OAuthController@authorize'
]);

Error occurs on before filter 'check-authorization-params'.
Grant Type:
'grant_types' => [
        'authorization_code' => [
            'class' => '\League\OAuth2\Server\Grant\AuthCodeGrant',
            'access_token_ttl' => 3600,
            'auth_token_ttl' => 60
        ]
    ],

Possibly related to #225 ?
Version updated as of today:
"laravel/framework": "4.2.*"
lucadegasperi/oauth2-server-laravel": "3.*"

I'm not sure what the post params are supposed to be, but they are quite different compared with the original get params sent to the allow/deny form. The call to Route::get('oauth/authorize' includes client_id, redirect_uri, response_type, scope and state.
The call to Route::post('oauth/authorize' contains no hidden values except the CSRF token, and the action URL includes redirect_uri, state and response_type.
Does this sound right? Not really sure where to go from here, if this is a bug or if I'm doing something really wrong. Any advice?
Edited to add the curl request that gives the error:
curl -X POST -d "client_id=myClientID&state=5945d5735c05y783b0851c125tgb9ae824e8dda267f73rrr&response_type=code&redirect_uri=http%3A%2F%2Fclient.domain.com%2Fusers%2Fauth%2Fcallback" https://authserver.domain.com/oauth/authorize

responds with:
{"error":"invalid_request","error_description":"The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed. Check the \"client_id\" parameter."}

hey @outofcontrol what was your solution to this? I'm getting the same error

Do it how lucadegasperi  describes. My mistake was not building the form correctly.

Where does he describe this? lol sorry, I seem to be missing something.

No worries. He points it out up there ^
> all the parameters for the POST request should be inside the form payload not in the query string.
> Build hidden inputs, that's the way to do it.

This is my form
            {!! Form::open(array('class'=>'form-horizontal form-signin', 'url'=> URL::route('post oauth authorize'))) !!}
            {!! Form::hidden('redirect_uri', $params['redirect_uri']) !!}
            {!! Form::hidden('response_type', $params['response_type']) !!}
            {!! Form::hidden('state', $params['state']) !!}
            {!! Form::submit('Approve', array('name'=>'approve', 'class'=>'btn bg-blue btn-primary')) !!}
            {!! Form::submit('Deny',    array('name'=>'deny', 'class'=>'btn bg-red')) !!}
            {!! Form::close() !!}

Which turns into

this is my route
Route::post('oauth/authorize', ['before' => 'csrf|check-authorization-params|auth', function() {
$params['user_id'] = Auth::user()->id;

$redirectUri = '';

// if the user has allowed the client to access its data, redirect back to the client with an auth code
if (Input::get('approve') !== null) {
	$redirectUri = Authorizer::issueAuthCode('user', $params['user_id'], $params);
}

// if the user has denied the client to access its data, redirect back to the client with an error message
if (Input::get('deny') !== null) {
	$redirectUri = Authorizer::authCodeRequestDeniedRedirectUri();
}

return Redirect::to($redirectUri);

}]);

I noticed my state parameter is null, is that right? Because i noticed yours isnt @outofcontrol


Fixes deprecation warning when using Gradle 6. Resolves #171

I think @Nested is the correct annotation but my experience with writing gradle plugins is limited so feel free to correct me.

I have merged in the latest changes.

Thank you!


[vcpkg] Make configure meson sane and work for all targets.

test build gobject-introspection
not find CMake

Found pkg-config: E:/tools/vcpkg/downloads/tools/msys2/msys64/usr/bin/pkg-config.exe (0.29.2)
Did not find CMake 'cmake'
Found CMake: NO
Run-time dependency glib-2.0 found: NO (tried pkgconfig and cmake)
Looking for a fallback subproject for the dependency glib-2.0

add
    vcpkg_find_acquire_program(CMAKE)
    get_filename_component(CMAKE_EXE_PATH ${CMAKE} DIRECTORY)
    vcpkg_add_to_path("${CMAKE_EXE_PATH}")

add vcpkg_find_acquire_program.cmake
  elseif(VAR MATCHES "CMAKE")
    set(PROGNAME cmake)
    set(PATHS "${PROGRAM_FILES_PLATFORM_BITNESS}/CMake/bin" "${PROGRAM_FILES_32_BIT}/CMake/bin" "${DOWNLOADS}/tools/CMake/bin")

:((
glib-2.0 found: NO (tried pkgconfig and cmake)
Found pkg-config: E:/tools/vcpkg/downloads/tools/msys2/msys64/usr/bin/pkg-config.exe (0.29.2)
Found CMake: C:/Program Files/CMake/bin\cmake.EXE (3.16.4)
Run-time dependency Found pkg-config: E:/tools/vcpkg/downloads/tools/msys2/msys64/usr/bin/pkg-config.exe (0.29.2)
Found CMake: C:/Program Files/CMake/bin\cmake.EXE (3.16.4)
Run-time dependency glib-2.0 found: NO (tried pkgconfig and cmake)
Looking for a fallback subproject for the dependency glib-2.0

meson.build:134:0: ERROR: Automatic wrap-based subproject downloading is disabled
Looking for a fallback subproject for the dependency glib-2.0

meson.build:134:0: ERROR: Automatic wrap-based subproject downloading is disabled

meson-log.txt

test add glib-2.0.pc to debug vcpkg\installed\x64-windows\debug\lib\pkgconfig
prefix=../..
exec_prefix=${prefix}
libdir=${prefix}/lib
bindir=${prefix}/bin
datarootdir=${prefix}/share
datadir=${datarootdir}
toolsdir=${prefix}/bin
includedir=${prefix}/../include

glib_genmarshal=${bindir}/glib-genmarshal
gobject_query=${bindir}/gobject-query
glib_mkenums=${bindir}/glib-mkenums

Name: GLib
Description: C Utility Library
Version: 2.60.4
Libs: -lintl -L${libdir} -lglib-2.0
Libs.private: -lws2_32 -lwinmm
Cflags: -I${includedir}/glib-2.0 -I${libdir}/glib-2.0/include

not work msys pkg-config msys2/msys64/usr/bin/pkg-config.exe
path e:/
set PKG_CONFIG_PATH=E:/tools/vcpkg/installed/x64-windows/debug/lib/pkgconfig
E:/tools/vcpkg/downloads/tools/msys2/msys64/usr/bin/pkg-config.exe --define-variable=prefix=E:/tools/vcpkg/installed/x64-windows/debug --modversion glib-2.0

Package glib-2.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `glib-2.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'glib-2.0' found

work path /e/...
set PKG_CONFIG_PATH=/e/tools/vcpkg/installed/x64-windows/debug/lib/pkgconfig
E:/tools/vcpkg/downloads/tools/msys2/msys64/usr/bin/pkg-config.exe --define-variable=prefix=/e/tools/vcpkg/installed/x64-windows/debug --modversion glib-2.0

2.60.4

work windows https://github.com/pkgconf/pkgconf
vcpkg_download_distfile(ARCHIVE
    URLS "https://github.com/pkgconf/pkgconf/archive/pkgconf-1.6.3.tar.gz"
    FILENAME "pkgconf-1.6.3.tar.gz"
    SHA512 e5550b68939d6936afa957b0a0fb4bcb36731ad6b617199a720ce9d3f0e8a93c12df18a8192b3e7dff43dbb4c9a9ba7973e97c849d1f84653a4fb40ce20c6eb2
)

vcpkg_extract_source_archive_ex(
    OUT_SOURCE_PATH SOURCE_PATH
    ARCHIVE ${ARCHIVE}
)

vcpkg_configure_meson(
    SOURCE_PATH ${SOURCE_PATH}
    OPTIONS
      --backend=ninja
	  -Dtests=false
)

vcpkg_install_meson()

set PKG_CONFIG_PATH=E:/tools/vcpkg/installed/x64-windows/debug/lib/pkgconfig
pkgconf.exe --define-variable=prefix=E:/tools/vcpkg/installed/x64-windows/debug --modversion glib-2.0

2.60.4

Maybe need to try to switch to the mingw pkg-config paket then or do the path conversion manually. For some reason it worked for me without that.

there may be problems on my side, in variables, but I couldn't track the error

we need to test it, and we need user reviews

I think the problem is that i pass a Cmake path here and in the x window PR do a conversion to native path. The cmake path might screw up the automatic path conversion

if comment, then something turns out
#        if(NOT PKGCONFIG MATCHES "--define-variable=prefix")
#            set(ENV{PKG_CONFIG} "${PKGCONFIG} --define-variable=prefix=${CURRENT_INSTALLED_DIR}")
#        endif()

If you comment that out you use the automatic prefix from pkgconfig on windows. This does not work if prefix is removed from *.pc file has mentioned in the vcpkg_fixup_pkgconfig PR.
can you post the gobject-introspection port folder for testing?

can you post the gobject-introspection port folder for testing?
I took the first packet of gnome, which is not in vcpkg

vcpkg_download_distfile(ARCHIVE
    URLS "https://gitlab.gnome.org/GNOME/gobject-introspection/-/archive/1.64.0/gobject-introspection-1.64.0.zip"
    FILENAME "gobject-introspection-1.64.0.zip"
    SHA512 b84398a73e594a8b846dbd2a863feddff2007fba3c7fd073dd4a961b10ca30d5d23a26ddcaaf227f83cf49f65b9eb20fee806e22348610dfc14916bb74269dfd
)

vcpkg_extract_source_archive_ex(
    OUT_SOURCE_PATH SOURCE_PATH
    ARCHIVE ${ARCHIVE}
)

vcpkg_find_acquire_program(FLEX)
vcpkg_find_acquire_program(BISON)
vcpkg_find_acquire_program(DOXYGEN)
vcpkg_find_acquire_program(PYTHON3)

get_filename_component(PYTHON3_DIR "${PYTHON3}" DIRECTORY)
get_filename_component(FLEX_DIR "${FLEX}" DIRECTORY)
get_filename_component(BISON_DIR "${BISON}" DIRECTORY)
get_filename_component(DOXYGEN_DIR "${DOXYGEN}" DIRECTORY)

set(ENV{PATH} ";$ENV{PATH};${FLEX_DIR};${BISON_DIR};${DOXYGEN_DIR};${PYTHON3_DIR}")

vcpkg_configure_meson(
	SOURCE_PATH ${SOURCE_PATH}
    OPTIONS
		--backend=ninja
		-Dcairo_libname=cairo-gobject.dll
		-Dgtk_doc=false
		-Ddoctool=disabled
		-Dpython=${PYTHON3}
)
vcpkg_install_meson()
vcpkg_copy_pdbs()
file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/gobject-introspection RENAME copyright)

@Voskrese: Could you try out the latest commit? There seems to be some hidden path conversions going on because meson tells me glib has been found but if I try to copy the command meson uses int a shell it tells me it cannot find it.

I'll try the changes later.
there is another option from MESON

add -Dpkg_config_path
    list(APPEND _vcm_OPTIONS_DEBUG
	    --prefix ${CURRENT_PACKAGES_DIR}/debug
	    --includedir ../include
	    -Dpkg_config_path=${CURRENT_INSTALLED_DIR}/debug/lib/pkgconfig,${CURRENT_INSTALLED_DIR}/debug/share/pkgconfig
    list(APPEND _vcm_OPTIONS_RELEASE
	    --prefix  ${CURRENT_PACKAGES_DIR}
	    -Dpkg_config_path=${CURRENT_INSTALLED_DIR}/lib/pkgconfig,${CURRENT_INSTALLED_DIR}/share/pkgconfig
	  )

module CMake\share\cmake-3.15\Modules\FindPkgConfig.cmake
add     include(FindPkgConfig) ?
    find_program(PKGCONFIG pkg-config REQUIRED)
    include(FindPkgConfig)
    else()
        debug_message(STATUS "PKG_CONFIG found in ENV! Using $ENV{PKG_CONFIG}")
        set(PKGCONFIG $ENV{PKG_CONFIG})
    endif()

@Neumann-A  patch ?
fix the PKG_CONFIG_PATH transformed into a cmake path with incorrect msys pathes
https://github.com/videolan/vlc/blob/75cd97f6b1659e0dea16f18ef073f34bafe67911/extras/tools/cmake-msys-FindPkg.patch#L7

hmm... work MSYS PKGCONFIG
add macros
macro(CONVERT_CYGWIN_PATH _path)
  if (WIN32)
    if( NOT DEFINED CYGPATH_EXECUTABLE OR NOT EXISTS ${CYGPATH_EXECUTABLE} )
	  find_program(CYGPATH_EXECUTABLE NAMES cygpath)
	endif()
	  message(STATUS "convert input")
	  message(${${_path}})
	  string (REGEX REPLACE "\\?space\\?" " " ${_path} ${${_path}})
	  message(STATUS "replace spaces")
	  message(${${_path}})
      EXECUTE_PROCESS(COMMAND ${CYGPATH_EXECUTABLE} -up "${${_path}}"
        OUTPUT_VARIABLE ${_path})
      string (STRIP ${${_path}} ${_path})
	  string(REGEX REPLACE "\\\\" "/" ${_path} ${${_path}})
	  message(STATUS "convert output")
	  message(${${_path}})
  endif (WIN32)
endmacro(CONVERT_CYGWIN_PATH)

    # configure release
    if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
        message(STATUS "Configuring ${TARGET_TRIPLET}-rel")
        file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel)
        #setting up PKGCONFIG
        if(NOT PKGCONFIG MATCHES "--define-variable=prefix")
            file(TO_CMAKE_PATH ${CURRENT_INSTALLED_DIR} PKGCONFIG_PREFIX)
	    CONVERT_CYGWIN_PATH(PKGCONFIG_PREFIX) ### <<-- add convert
            set(ENV{PKG_CONFIG} "${PKGCONFIG} --define-variable=prefix=${PKGCONFIG_PREFIX}")
        endif()

        message("Converted \"${CURRENT_INSTALLED_DIR}\" to \"${PKGCONFIG_PREFIX}\".")

        file(TO_CMAKE_PATH "${CURRENT_INSTALLED_DIR}/lib/pkgconfig" PKGCONFIG_INSTALLED_DIR)
	CONVERT_CYGWIN_PATH(PKGCONFIG_INSTALLED_DIR) ### <<-- add convert
        if(ENV{PKG_CONFIG_PATH})
            set(BACKUP_ENV_PKG_CONFIG_PATH_RELEASE $ENV{PKG_CONFIG_PATH})
			set(ENV{PKG_CONFIG_PATH} "${PKGCONFIG_INSTALLED_DIR}${VCPKG_HOST_PATH_SEPARATOR}$ENV{PKG_CONFIG_PATH}")
        else()
            set(ENV{PKG_CONFIG_PATH} "${PKGCONFIG_INSTALLED_DIR}")
        endif()

-- Acquiring MSYS Packages...
-- Acquiring MSYS Packages... OK
-- Found PkgConfig: E:/tools/vcpkg/downloads/tools/msys2/msys64/usr/bin/pkg-config.exe (found version "0.29.2")
-- Configuring x64-windows-rel
-- convert input
E:/tools/vcpkg/installed/x64-windows
-- replace spaces
E:/tools/vcpkg/installed/x64-windows
-- convert output
/e/tools/vcpkg/installed/x64-windows
Converted "E:/tools/vcpkg/installed/x64-windows" to "/e/tools/vcpkg/installed/x64-windows".
-- convert input
E:/tools/vcpkg/installed/x64-windows/lib/pkgconfig
-- replace spaces
E:/tools/vcpkg/installed/x64-windows/lib/pkgconfig
-- convert output
/e/tools/vcpkg/installed/x64-windows/lib/pkgconfig
-- Configuring x64-windows-rel

or no CYGWIN
function(CONVERT_CYGWIN_PATH PATH RESULT)
    file(TO_CMAKE_PATH ${PATH} CP)   	# changes \ to / on windows
    string(REGEX REPLACE "^([a-zA-Z]):/" "/\\1/" CP2 ${CP})   	# c:/ -> /c/
    set(${RESULT} "${CP2}" PARENT_SCOPE)   	# or set(${RESULT} "/cygdrive${CP2}" PARENT_SCOPE) ### /c/ -> /cygdrive/c/
endfunction()

file(TO_CMAKE_PATH ${CURRENT_INSTALLED_DIR} PKGCONFIG_PREFIX)
CONVERT_CYGWIN_PATH(${CURRENT_INSTALLED_DIR} PKGCONFIG_PREFIX)
and
file(TO_CMAKE_PATH "${CURRENT_INSTALLED_DIR}/lib/pkgconfig" PKGCONFIG_INSTALLED_DIR)
CONVERT_CYGWIN_PATH("${CURRENT_INSTALLED_DIR}/lib/pkgconfig" PKGCONFIG_INSTALLED_DIR)

add -Dpkg_config_path ///not work msys pkg-config

Probably needs the same handling as the compiler args as the paths must be passed as ['path1', 'path2'] etc

include(FindPkgConfig)

Is overkill for our usage. Pulls in too many unnecessary macros. We just need the EXECUTABLE_PATH and that is it.

hmm... work MSYS PKGCONFIG

did you also try out a clean checkout of f7d3858 ? For me this worked and I would like to not add in any strange kind of path conversions because it just complicates the code. If it does not work we could try to switch to mingw-w64-pkg-config instead.

did you also try out a clean checkout of f7d3858 ?
no, it doesn't work, the paths are not acceptable as E:/ or E:\ (C:/ or C:\)
only works with /E/

I tested on one laptop, maybe as I wrote above, the other will work
we need user reviews

@Voskrese
Strange, on my clean laptop I get the following output
meson-log.txt
Run-time dependency glib-2.0 found: YES 2.60.4
Pkgfile:
glib-2.0.pc.txt
Command Line Output:
C:\vcpkg_make>set BAK_PATH=%PATH%
C:\vcpkg_make>set PATH=%BAK_PATH%;C:\vcpkg_make\downloads\tools\msys2\msys64\usr\bin
C:\vcpkg_make>set PKG_CONFIG_PATH=C:\vcpkg_make\installed\x86-windows\debug\lib\pkgconfig
C:\vcpkg_make>C:/vcpkg_make/downloads/tools/msys2/msys64/usr/bin/pkg-config.exe --define-variable=prefix=C:\vcpkg_make\installed\x86-windows\debug --modversion glib-2.0
2.60.4

I tried many ways and revised the variables
all the same
in general, I do not know what the reason is, if everything works, then you need to combine/merge

@Voskrese: What shell are you running the commands in? Maybe that is creating the issue?

@Neumann-A
cleaned the variables
everything works with TO_NATIVE_PATH

@dan-shaw
merge, we need to move on, a lot of new ports and updates on MESON from GNOME

/azp run

${VCPKG_HOST_PATH_SEPARATOR} not work windows host msys, windows ; , msys :
work
    if(CMAKE_HOST_WIN32)
        set(_SEP ";")
    else()
        set(_SEP ":")
    endif()

/azp run

@Neumann-A
it is better to wait with this, the scripts do not correctly interpret the paths to the libraries, and this causes a lot of errors
only windows
"-D cmake_prefix_path =['${.....}','${ CURRENT_INSTALLED_DIR}/share ']")

/azp run

Since we are adding support for Linux, could we recommend the user to use apt-get and pip to install meson (or what is officially supported) in vcpkg_acquire_program? Meanwhile, we will add meson for Linux to the CI.

@dan-shaw
      elseif(DEFINED APT_PACKAGE_NAME AND CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux")
        set(EXAMPLE ":\n    sudo apt-get install ${APT_PACKAGE_NAME}")
      endif()

So Linux user will get a message if meson is not installed

The osg-qt regression is not related to this PR.

/azp run

/azp run

Needs to wait to resolve the osg-qt regression in #10637.

/azp run

@Neumann-A thanks for the PR!


The given key was not present in the dictionary.

Hello i have Issiue with using

Thanks for your feedback, this issue had been resolved previously (#4) but I hadn't pushed the changes into a new version. All the latest fixes have been published here: https://github.com/FlorianLeChat/Steam-Collection-Download-Size-Calculator/releases/tag/v1.1.5 👍

Thanks


.optional().default() should infer type as optional

Background
This issue is making a case that when an object is defined with optional, but default values - the underlying type should still be optional. When default is not chained to optional, the type should be required. The use case is for usage of schemas as input as well as an interface.
Example
const captureOptionsSchema = z.object({
  url: z.string().url(),
  settings: z.object({
    width: z.number().min(320).optional().default(1280),
    height: z.number().min(320).optional().default(720),
  }).optional().default({}),
})

type CaptureOptions = z.infer<typeof captureOptionsSchema>;

/**
  type = {
    url: string;
    settings: {
      width: number;
      height: number;
    }
  }
*/

While technically the type above is correct for explaining what the input params look like, in something like the following, you'll need to define a second type:
function capture(options: CaptureOptions /* <-- this needs to be a different type */) {
  const params = captureOptionsSchema.parse(options);
  // ...
}

CaptureOptions in this case is not the correct type, Since there are defaults on width & height and settings sets defaults, passing these options should not be required. The catch is that params needs to have those props as required for correct typing.
IMHO I think a optional().default() chain should set the property's type as optional and it should be the dev's responsibility to use e.g. params.settings!.width! in the usage, instead of having to define another interface or type for the input options with Omits and Picks and Partials etc.
I hope this makes sense. I have checked through the docs and issues first in hopes of not duplicating or missing something, but if I am - please close this, but if possible advise me on a best practice here. 😄 Thanks!

z.infer<> does give you the output type, not the input type. For the input you want to use z.input<typeof yourSchema>.

@DASPRiD Thanks so much, I must have missed this in the docs. Exactly what I wanted. Closing 🎉


feat: add support for signed integers

Description
This PR adds support for signed integers
Related issue
Fixes #2120
Tests

[x] Yes
[ ] No, because they aren't needed
[ ] No, because I need help

Added to documentation?

[ ] README.md
[ ] Dojo Book
[x] No documentation needed

Checklist

[x] I've formatted my code (scripts/prettier.sh, scripts/rust_fmt.sh, scripts/cairo_fmt.sh)
[x] I've linted my code (scripts/clippy.sh, scripts/docs.sh)
[ ] I've commented my code
[ ] I've requested a review after addressing the comments

@glihm I've opened a new PR here just as we discussed.

Looking great so far, thank you for the new PR!
So now, to continue on this path, you have the following things to check:

Torii has some tests with a types-test cairo project. You must add some signed integers here to check how Torii indexes it. https://github.com/dojoengine/dojo/blob/7f5514d2a5be8d5aa127772e56f55fc336b389b5/crates/torii/types-test/src/models.cairo#L6
After that, we also need sozo to be able to parse a signed integer, which should be now easy with the new Felt type.

Great progress!

Got it!

In good way!
Also, to easily test something I strongly recommend:

Adding a function to the spawn-and-move example to deal with integers, + a new model / modify an existing model with an integer.
Use the execute actions <FUNC_NAME> to set some values.
Use sozo model get <MODEL_NAME> [<KEYS>] to actually inspect the world's storage during debug phase.

@glihm I'm a little lost on what to do here. Could you please explain a bit more?

We're actually blocked by https://github.com/starknet-io/types-rs/pull/74. Seems like in the version we have, the high end of the field is not converted to negative, but u128 instead.

I was giving you some other way to end-to-end test a signed integer in a real contract to verify the workflow works correctly.
Feel free to inc inside Dojo discord I can show you in a call what I meant.
But basically, deploying a dojo project and running Torii by hand gives you a good understand on how this value is actually processed, from the command line to the indexing.

Ok I'll give it a try. I'll let you know if I have questions

@glihm, I was able to spin up a fresh Katana instance to test the feature I added. However, when I execute commands with Sozo, like:
sozo execute 0x2a570e12405096e725508ba1f4ade127edd42e0fcb5890b8f12f76ef043623 spawn
the operation doesn't perform as expected. From my understanding, isn't the spawn command supposed to update the Moves model? You can see from the screenshot below that the models aren't being updated.
#[generate_trait] impl InternalImpl of InternalUtils {     fn set_default_position(         self: @ContractState, player: ContractAddress, world: IWorldDispatcher     ) {         // The world is always accessible fromselfinside adojo::contract`.
// let world = self.world();
    set!(
        world,
        (
            Moves { player, remaining: 99, last_direction: Direction::None },
            Position { player, vec: Vec2 { x: 10, y: 10 } },
        )
    );
}

}
`
Could you help me identify what might be going wrong?

@EjembiEmmanuel so:

First, use the contract's name instead of the hardcoded address -> sozo execute actions spawn.
Then, when you get the model, you have to pass a key. The key in the case of Moves and Position is the player contract address, which is the address of the player that uses spawn and move function.  Use this value, and you should be good to see the changes.

Yea, that's exactly what I did.

@EjembiEmmanuel so:

First, use the contract's name instead of the hardcoded address -> sozo execute actions spawn.
Then, when you get the model, you have to pass a key. The key in the case of Moves and Position is the player contract address, which is the address of the player that uses spawn and move function.  Use this value, and you should be good to see the changes.

@glihm I was able to get it to work thank you!

We're actually blocked by starknet-io/types-rs#74. Seems like in the version we have, the high end of the field is not converted to negative, but u128 instead.

We would have to wait for this to continue right?

@glihm I modified PlayerItem model by adding a field for signed integers and assigned values ot

@glihm I modified the PlayerItem model to include a field for signed integers. While setting and getting positive signed integers works fine, I encounter an error when I try to get a negative signed integer after setting it.

Nice, yes exactly this is the reason why we depend on the fix of the Felt type. Because currently only positive ones are supported. :)

Arg.. the issue seems a bit stalled for now. We can do a workaround @EjembiEmmanuel. We can take the modification they are doing in their PR, only the file we are interested in, and we use a function instead of deriving try_into/into. Like this we can move forward, and we will remove this code once the upstream repo is fixed.
Patching will not be that good I guess because we already patch the starknet-core-types library.

Arg.. the issue seems a bit stalled for now. We can do a workaround @EjembiEmmanuel. We can take the modification they are doing in their PR, only the file we are interested in, and we use a function instead of deriving try_into/into. Like this we can move forward, and we will remove this code once the upstream repo is fixed.
Patching will not be that good I guess because we already patch the starknet-core-types library.

Sounds good.

@glihm I implemented and tested primitive conversion from Felt for signed integers and it worked perfectly fine. But when I set a field in a model to a negative integer like I did here:
fn set_player_config(ref world: IWorldDispatcher, name: ByteArray) {
          let player = get_caller_address();

          let items = array![
              PlayerItem { item_id: 1, quantity: 100, score: 10 },
              PlayerItem { item_id: 2, quantity: 50, score: -32 }
          ];

          let config = PlayerConfig { player, name, items, favorite_item: Option::Some(1), };

          set!(world, (config));
}

and query it using:
sozo model get PlayerConfig 0x6162896d1d7ab204c7ccac6dd5f8e9e7c25ecd5ae4fcb4ad32e57786bb46e03 --world 0x104dd156d76aeab45146a10869637f161ca6cf9f804704f8bbb12ae5b1b5cfb

The result is returned in Felt instead of its actual type like this:

Please can you explain how I can use model get for the conversion?

So, Torii has the same issue:

The idea here:

You just format the value. Formatting will give the raw value. For signed values, what you want here is to actually use the conversion you've just ported. 👍
I've just pushed the fix + some formatting to include this into the next alpha.

Please can you explain how I can use model get for the conversion?

So, Torii has the same issue:
The idea here:  You just format the value. Formatting will give the raw value. For signed values, what you want here is to actually use the conversion you've just ported. 👍
I've just pushed the fix + some formatting to include this into the next alpha.

Ahh I see, looking good!

@EjembiEmmanuel congrats for this work here and your contribution! 🚀

@glihm thank you for the opportunity to contribute to this project. I just picked up Rust and I must say I learnt about working on this issue. Looking forward to more collaborations!


Laravel rootNeedsPermission function executes first

I am using laravel 5.
I have added RootNeedsPermission in my root. At the same time I am using middleware auth function to login if the user is logged in. But RootNeedsPermission runs first before the middleware auth function. So I cannot track correctly if the user is logged in. When I login using admin permission it shows as I dont have permission.

Same issue here.
entrust should use middleware for route permission checking, instead of deprecated router->when method.


Create Blog “new-blog”

Automatically generated by Netlify CMS

👷 Deploy Preview for symphonious-toffee-f79c99 processing.

Name
Link

🔨 Latest commit
df8c884a10b0157395eb58d9f96fdb0b82c03057

🔍 Latest deploy log
https://app.netlify.com/sites/symphonious-toffee-f79c99/deploys/6578239808a32e000802e17d


Support @around callbacks

These should work similar to @before and @after. They need to get passed a delegate that calls the actual method.
Use cases:

catch exceptions and turn them into appropriate HTTP error codes
locking
temporarily change task-local state (e.g. timezone, i18n default language) and reset it using scope(exit) or finally

Where would we put such attributes ? Could you give a (theoric) code example ?

interface ExampleAPI {
    @around!validateUTF8
    Bson test(string id, int x);
}

Ret validateUTF8(Ret, Args...)(
    HTTPServerRequest req, HTTPServerResponse res,
    scope Ret delegate(Args) yield, Args args
) {
    foreach(arg; args) {
        static if(is(typeof(arg) == string)) {
            enforceBadRequest(arg.isValidUTF8);
        }
    }
    try {
        return yield(args);
    } catch(UTFException) {
        throw new HTTPStatusException(400); // Bad Request
    }
}

That's how I imagine it at least. The callback has access to all the decoded parameters, just as the test() would receive them, and can adjust them as it sees fit. It can also manipulate whatever test() returns, in this case a Bson object.
It makes even more sense if it can be attached to several/all methods at once, to keep it DRY.

UTF-8 validation should be integral part of the core system. Any more specific validation should be done using proper validation types like the one in vibe.web.validation.
Locking could theoretically be achieved using   a synchronized class, but IMO those are generally broken by design, so even if I'm not sure if this would be the best approach, I'd still consider this a semi-valid use case (semi because it can be achieved using other means, too, each with their own pros and cons).

temporarily change task-local state (e.g. timezone, i18n default language) and reset it using scope(exit) or finally

Why would you do that? Is it common enough that a local solution within the interface function is not sufficient? To me personally it smells like more explicit code would not be a bad idea for such things, because due to all the hidden behavior it might easily be very confusing for someone reviewing such a code for the first time.

Agree about UTF8, but the more specific validations need to be handled in a very flexible manner. It simply isn't sufficient just to return an HTTP status code. As an example, I might want to add specific HTTP headers with information about what exactly didn't validate and why, that can be evaluated by the client.
Locking isn't restricted to mutexes; there's also file locks, MySQL table locks, and various others.
As for task-local state, I guess that's a question of philosophy. I agree that it can abused easily. But some things probably lend themselves more to it than others. Timezone and language are good examples IMO. They need to be set according to the preferences of a logged-in users, or maybe based on IP location guessing. And they will affect i18n string lookup in Diet templates, which means you would need to pass around a context object anyway. Thinking more about that though, @before should be sufficient for that, as long as a new request start a new (properly initialized) task the state doesn't need to be reset.

@schuetzm : I've always been an opponent of @before / @after, at least on REST interfaces.
The problem with them is that it puts a server-only problem to the interface, and that breaks everything. Try to create a function that authenticate an user through MySQL for example, and use @before with it.  It is a serious design problem for me, and no attribute should be put on the interface if it's not part of the REST interface.
In your case, it seems your issues are server-side only, so those attributes should be put on the implementation. But I'll need a little more time to think about it :)

Agree about UTF8, but the more specific validations need to be handled in a very flexible manner. It simply isn't sufficient just to return an HTTP status code. As an example, I might want to add specific HTTP headers with information about what exactly didn't validate and why, that can be evaluated by the client.

vibe.web.web interface methods have access to the name and error messages for fields failing validation through the @errorPage hander (as well as access to an exception that was thrown). We should have something similar for REST, too. How the error is reported to the client can then be customized easily.

Locking isn't restricted to mutexes; there's also file locks, MySQL table locks, and various others.

Right, synchronized classes were not part of my argument anyway, because I think that they are broken. Maybe I'm missing the proper use case, but most of the time I'd favor a RAII based solution (possibly in conjunction with @before instead of @around, and possibly with a monitor style locking mechanism to enforce locked access) or a local solution in the code (since you often only want parts of the code to be performed in locked state).
But as said, I don't consider this use case invalid or anything like that.

As for task-local state, I guess that's a question of philosophy. I agree that it can abused easily. But some things probably lend themselves more to it than others. Timezone and language are good examples IMO. They need to be set according to the preferences of a logged-in users, or maybe based on IP location guessing. And they will affect i18n string lookup in Diet templates, which means you would need to pass around a context object anyway. Thinking more about that though, @before should be sufficient for that, as long as a new request start a new (properly initialized) task the state doesn't need to be reset.

Exactly, that was my main open question, why resetting the initial value would be needed. Since you'd usually always set the TZ/language setting for each request, even when no new task gets started for a request, it should still work with only @before, right?

@Geod24 I agree, @before/@after can be great tools, but higher level annotations that give meaning to both client and server should be the way to go in most cases.
BTW, a useful thing might be to have something like @after, but for client requests. That way it would at least be possible to manually put both, server and client, behavior into the interface using annotations. Would be great if it were possible to combine multiple UDAs into one, though.

@s-ludwig : See http://forum.rejectedsoftware.com/groups/rejectedsoftware.vibed/thread/24595/#post-24606