Json output of several commands includes unexpected log entries

Summary of Bug

When using the --json flag to get json output, additional log lines being displayed to stdout in addition to the expected result.
hermes --json create client --host-chain cosmoshub-0 --reference-chain cosmoshub-1
{"timestamp":"2023-02-16T14:24:21.514413Z","level":"INFO","fields":{"message":"using default configuration from '/home/hermes/.hermes/config.toml'"},"threadId":"ThreadId(1)"}
{"timestamp":"2023-02-16T14:24:21.530391Z","level":"INFO","fields":{"message":"running Hermes v1.2.0+061f14f"},"threadId":"ThreadId(1)"}
{"result":{"CreateClient":{"client_id":"07-tendermint-0","client_type":"Tendermint","consensus_height":{"revision_height":9,"revision_number":1}}},"status":"success"}

When working on integrating hermes in to interchaintest, I used the json output to be more easily able to programatically interact with the hermes cli. However the json output does not produce a single json object, it outputs multiple distinct json objects which are not directly parsable without some additional pre-processing of the stdout. E.g.
func extractJsonResult(stdout []byte) []byte {
	stdoutLines := strings.Split(string(stdout), "\n")
	var jsonOutput string
	for _, line := range stdoutLines {
		if strings.Contains(line, "result") {
			jsonOutput = line
			break
		}
	}
	return []byte(jsonOutput)
}

which is a bit of a hack.
My expectation would be that just the final line is displayed to stdout
{"result":{"CreateClient":{"client_id":"07-tendermint-0","client_type":"Tendermint","consensus_height":{"revision_height":9,"revision_number":1}}},"status":"success"}

and the other ones would get appended to a log file.
This parsing needing to be done with outputs for several commands including querying channels, creating connections and creating clients.
Note: I did not encounter this issue in hermes v1.0.0
Version

v1.2.0+061f14f ( using docker container: docker.io/informalsystems/hermes:v1.2.0 )
Steps to Reproduce

Attempt to create a client, e.g. hermes --json create client --host-chain cosmoshub-0 --reference-chain cosmoshub-1
Acceptance Criteria

raw stdout when using --json command is directly unmarshallable into an equivalent data structure.

For Admin Use

[ ] Not duplicate issue
[ ] Appropriate labels applied
[ ] Appropriate milestone (priority) applied
[ ] Appropriate contributors tagged
[ ] Contributor assigned/self-assigned

Thanks for reporting this! It is indeed a regression, since Hermes is supposed to send log messages to stderr and only the final result line to stdout.

Hermes use to output log messages to stderr and the final result line to stdout (and still does for the human-readable textual output) but we decided to change this for the JSON output in order to make it easier to ingest the full output of start command into other systems.
I agree that for commands other than start, it would make more sense to only output the result line to stdout. Unfortunately, that would also make start and other commands inconsistent with each other, which is not great either.
In the meantime, you can either do exactly as you've shown above (which is a totally fine solution imho) or you can just process the last line of the output.
I will think more on this.

Hi @romac, I understand your concerns about commands inconsistent, maybe I can provide two other suggestions that you might prefer.

display a json list  [{log1Object}, {log2Object}, {resultObject}] this would make the stdout directly marshal-able into a json list. The caller can simply discard all that they don't care of  and use myStruct.Results[len(myStruct.Results)-1] in my opinion this is not ideal but preferable to parsing stdout manually to find the json.
display a single json object where logs is an entry

{
    "logs": [{}, {}, {}],
    "result": {}
}

Similar to option one we can discard logs if they are not desired and we would have easy access to the result. Of these options I prefer the second and I think would result in a consistent API let me know what you think!

Unfortunately, we cannot really implement either solution with how our logging infrastructure is setup, as we do not emit all the output at once but rather each log line may be emitted at a different time during the execution of the command and the last result line is emitted when the command completes.
I will think about reverting to outputting log lines on stderr and the result line of stdout, but I can't promise we will end up doing that given that Hermes is not the only software which outputs JSON line-by-line, and it is straightforward to only process the very last line emitted.


Loosening of minitar dependency

Puppet has moved to using minitar ~> 0.9, but pdk and bolt still have minitar as ~> 0.6. That's a problem as users can't use them all in module testing.
Loosening constraint to accept any version before 1.0

Closing this as for the same as: https://github.com/puppetlabs/pdk/pull/787


Filtering for API endpoints

Currently there are no filters for the Packit Service API. Is this something that is useful to anyone? I encountered this while looking at the dashboard and saw that some paginated tables have sorting on the columns but it is in-place and doesn't reach the API at all

we should really implement sorting (and filtering) in the API so that we can efficiently use it in the dashboard, well pointed @SpyTec
https://github.com/packit/dashboard/issues/210

We should spend some time defining this more precisely and provide a set of specific tasks so we can pick this card more easily.


Staff of travelling and warded blocks from thaumcraft

The staff of travelling lets pass through warded blocks / glass from thaumcraft. when you use the shift + right click effect.

There is a blacklist in the config. If the block is not reporting as unbreakable you can teleport through it. Add it to the blacklist to force it to be disallowed.


Add flag to disable SSL passthrough

Also sets the default to false.
fixes #1017

This change is

Coverage decreased (-0.03%) to 44.382% when pulling daa9fea41affbb4aeae111e86c1d0e708c5e96b0 on aledbf:disable-ssl-passthrough into a0e4661e644ad91dd9f57622236f2a71a3463650 on kubernetes:master.


[labs/virtualizer] Directive and element update differently

Description
How can we re-render the virtualize directive when leveraging non-item data in renderItem?
Steps to Reproduce

Go to the demo link
Click "update selected" button
See that selected changes in the second list, but not in the first.

Live Reproduction Link
Demo
Expected Results
selected should change in both lists.
cc: @Westbrook

Thanks for the catch, @najikahalsema.
@usergenic, to make the virtualize directive match the (correct) behavior of the <lit-virtualizer> element, I believe we just need to replace return noChange; with return this.render(); in the directive's update method:
https://github.com/lit/lit/blob/bf13dae231d26f350c117271a45e047ee151fc20/packages/labs/virtualizer/src/virtualize.ts#L95-L108

@graynorton I'll update and include it in first round of functional tests this week.

If this return is the only change here, would it be possible for us to submit this update so we can get a release with this fix soon-ish?

If this return is the only change here, would it be possible for us to submit this update so we can get a release with this fix soon-ish?

I have been trying to get testing working so I could include but have had some difficulties which delayed that fix.  I'm back at work on Thursday, will try to get fix in with or without the tests.

@najikahalsema @Westbrook I really wanted to figure out how to be able to prove this was not working by writing a regression test first, but I'm unable to repro in terms of my test assertions.
If you see anything obvious why my test passes even though the actual in-browser experience shows failure, let me know.  I'm going to sign off now because it is late but I will probably pick up again on Sunday.
https://github.com/lit/lit/pull/3133/files#diff-ef8342c7715ff44941917fad1c544b56e4d39bbd4cd665fb379b293b681cc14b
Will probably cut a release Monday with the suggested fix-- but as I am out tomorrow I don't want to publish without being on-hand to manage potential fallout.  (publishing/tagging from the new location in lit monorepo and all that).

Yay!  I fixed the test fixture to demonstrate the noChange behavior and have updated the code in #3133 to return this.render().  Will get this through and release next.  Thanks for your patience :)


Spark join tests and fixes (1:many etc cases)

Refer to this link for build results (access rights to CI server needed):
/job/datavec_PR/39/


StreamBuilder get called infinitely!

I have a stream builder that waits for fetchStartEndDate method. the problem is that connectionState  is always waiting and never finishes!
 @override
  void initState() {
    _activeChallengeBE = ActiveChallengeBE(widget._notificationModel);
    super.initState();
  }

@override
 Widget build(BuildContext context) {
   return Scaffold(
     backgroundColor: Color.fromRGBO(9, 53, 95, 1),
     resizeToAvoidBottomPadding: false,
     body: Center(
             child: StreamBuilder(
             stream: _activeChallengeBE.fetchStartEndDate(),
             builder:
                 (BuildContext ctx, AsyncSnapshot<DocumentSnapshot> snapshot) {
            var connectionState = snapshot.connectionState;
               if(connectionState == ConnectionState.active){
                 print('active get called');
                 return Container();
               }
               if(connectionState == ConnectionState.done){
                 print('done get called');
                 return Container();
               }
               if(connectionState == ConnectionState.none){
                 print('none get called');
                 return Container();
               }
               if(connectionState == ConnectionState.waiting){
                 print('waiting get called');
                 return Container();
               }
             },
           )),
   );
 }

 Stream<DocumentSnapshot> fetchStartEndDate() {
    return _firestore
        .collection('user_commitments')
        .document(_notificationModel.userId)
        .collection("commitments")
        .document(_notificationModel.commitmentId)
        .snapshots();
  }

You are recreating the stream in the build method. This will cause everything to get updated, possibly 60 times a second. Instead, create the stream in a State lifecycle method like initState or didUpdateWidget and cache it so it does not change


Create stale.yml

As per TAC call today creating this GH action that will mark issues and PRs as stalled if they have no comments after some period of time

CC: @brian-jarvis-aws @n1ckl0sk0rtge @planetf1 @ryjones @KennyPaul for any feedback and approval to merge


Aliasing on downsampling

Hello,
i have a influx 1.0 on a debian 8.5 64bit and a database with a standard sine signal. If i downsample the data with (for example) a mean value i got an aliasing problem; this mean, when i plot, the curve is distorced. This is only an idea, but for signa visualization an antialiasing filter (like an aggregation function) can be useful. (Or maybe there is already something i don't know?).
Thanks in advance.

Not sure I follow what the issue is. Can you include the queries you're running.

Is not an issue, is more a feature request. Take a sine and push it in influx with a low frequency (or a big amplitude): for example take 1 sample per second and an aplitude of 60 seconds. If you display the curve with its sampling you obtain a normal sine, now push this signal for 1 hour. Resample the curve with a query like:
select mean(value) from sine group by time(1m)
The signal is no more a sine, you have a distortion of the original signal (you have aliasing). Sometime is interesting to apply some filter on the signal to attenuate this distortion (anti-aliasing). In IoT historical analysis (of analog signal) this can be a problem.
I ask if there is a solution or something in the future.
Hope this explain my question.
Thanks.

Can someone tell me at least if is a bad idea?
Thanks

Doesn't sound like a bad idea to me. Can you open a formal feature request?

If you would like to log a feature request, please open a new issue using our feature request template. Thanks!


remove quickstart, roadmap, tutorial links

Signed-off-by: Meg McRoberts<EMAIL_ADDRESS>Replaces https://github.com/keptn/keptn.github.io/pull/1543 which has some bizarre xref test failures.
Supplements https://github.com/keptn/keptn.github.io/pull/1547 , which deprecates some older releases.

The tests are flaky. I manually tested the links on the preview and they work.


Music

Here's a recording of the main background theme on my Roland SC-55 in case you don't want to use Android's native MIDI playback: Google Drive

It might be a more faithful reproduction to record it with the windows media player built in Midi player instead of the Roland since I would make a guess that the vast majority of users listened with that Midi profile

It might be a more faithful reproduction to record it with the windows media player built in Midi player instead of the Roland since I would make a guess that the vast majority of users listened with that Midi profile

Well the MIDI bank that Windows comes with by default is essentially a bit-crushed version of the SC-55's soundbank, so it's probably a better quality experience to have recorded it with the Roland synth instead.

I don't know how much you've looked into it but the issue I saw was that SDL Mixer couldn't find a playback device for midi, I tried forcing Timidity but that didn't work, so I figure it's something to do with how SDL Mixer is being built

Another point to consider is the songs from the original version of maxis.  actually there are 3 songs.  I know that in the xp version it doesn't have that.  But it's a good idea.  A good thing is to have the option to use classic sound and one with better soundfonts.

Will keep this here who knows this may be useful.
From: Fluidsynth with built in soundfont (i guess?)
https://dl.uploadgram.me/63abe53f6f320h.ogg?raw

I'ma leave this here, who knows this may be useful
With: Fluidsynth default soundfont (I guess, or is it?)
http://web.archive.org/web/20221228065155if_/https://0x0.st/o5FO.ogg

Hi everybody!
I'm a completely noob when it comes to Android Developing and stuff, anyway, today I've tried some basic things but I can't get them totally done.
To get the music in the game, I've already tried converting the PINBALL.MID file to .WAV; Renaming the PINBALL.MID word in every document that has it (I don't remember which file missed to declare the Pinball.wav new file but also added the line); Modifying the WAVEMIX.INF file to set "Remix" and "GoodWavePos" as enabled in every scenario;  But still with no music. (everything done in APK Editor Studio for Windows).
Diggin' up, I've even messed up trying to add the Kotlin SoundPool to the project but then I realized that works over Java LOL.
So, my suggestion is the next one:
What if we try the following and most basic thing? (supposing that has not been tried yet).

Into the app/res/raw folder, put the music file but converted to .mp3 for more compatibility and to not make the apk bigger.

Into the app/Java/com.fexed.spacecadetpinball/MainActivity.java file, add the following line codes after the "@Override" part:
 MediaPlayer Pinball= MediaPlayer.create(MainActivity.this,R.raw.Pinball);
 Pinball.start();

(refer to attachments for better understanding).
If you ask, I've already tried to do it in Android Studio but, unfortunately, I can't build the APK to test it. I get some errors regarding the CMakeLists.txt file and the Google-Services.json file that is missing, I can't figure out how to make it; Also, tried using the "gradlew.bat" file but got another error regarding my JDK Version and well, I can't imagine how to solve it.
Anyway, if somebody could try out the thing I've listed above, I think it would be interesting to see if something happens.
Greetings to all of you and thanx for reading if someone does it :)

(Maybe, the files shown in this image, shall be re-declared as well to "Pinball.mp3" instead of PINBALL.MID, just in case).

Pinball.mp3 file
p.s. I know the song sounds like with Reverb, remember, it's a direct conversion, anyway, I haven't tested how it sounds in cellphones.

Thanks @lokustus ! I will try this suggestion asap!

Thanks @lokustus ! I will try this suggestion asap!

Thanx to you for givin' it a try :)
So glad to help, bro! @fexed


Dynamically changing options does not work

Checks

[X] Not a duplicate.
[X] Not a question, feature request, or anything other than a bug report directly related to Vue Splide. Use Discussions for these topics: https://github.com/Splidejs/splide/discussions

Version
0.5.18
Description
I am trying to change splide's width dynamically to make the carousel fullscreen when the user clicks on it. So I set :
:options="carouselFullscreen ? bigCarouselOptions : smallCarouselOptions"

The options are indeed different (I can see them changing in vue dev tools) but they do not take effect. I think it is due to the fact that a style attribute is set and stays at the first value, but if I change this as well dynamically, the slides of the carousel are a bit offset when changing the width.
Reproduction Link
No response
Steps to Reproduce
 <Splide
      :class="
        carouselFullscreen
          ? 'splide small-carousel is-initialized splide--slide splide--ltr splide--draggable is-active'
          : 'splide small-carousel is-initialized splide--slide splide--ltr splide--draggable is-active'
      "
      :style="carouselFullscreen ? 'max-width: 100vw;' : 'max-width: 95vw;'"
      @click="carouselFullscreen = !carouselFullscreen"
      :options="carouselFullscreen ? bigCarouselOptions : smallCarouselOptions"
    >
      <SplideSlide
        v-for="picture in pictures"
        :key="picture.id"
        v-show="!arePicturesLoading"
      >
        <img
          :class="carouselFullscreen ? 'fullscreen-picture' : 'small-picture'"
          :onload="pictureLoaded"
          :src="picture.name"
        />
      </SplideSlide>
    </Splide>

smallCarouselOptions: {
        gap: "1rem",
        arrows: false,
        width: "95vw",
      },
bigCarouselOptions: {
        gap: "1rem",
        arrows: false,
        width: "100vw",
      },

A workaround I found was to create 2 splide components and hide one or another with v-if. The problem with it is that the current displayed slide comes back to the first one when fullscreen is enabled/disabled and that it is not optimal
Expected Behaviour
The correct width is applied to the splide component

Seems to be resolved.
https://github.com/Splidejs/splide/issues/683


Lecture 1 - AI Gen

Use Generative AI to create a description and an image for this lecture.

I'll work on this - creating a fork now :)

I'm working on this one


System capacity property of PV Plant is DC nameplate and not AC power rating

PV plant property 'system_capacity_kw' report DC nameplate and not AC power rating.  To be consistent with the other technologies within HOPP, we should make this property report AC power rating.  This could lead to issues with combining capacities of hybrids that include a PV sub-system.

While investigating an issue with Hybrid capacity payments, I noticed that PySAM single owner calculates capacity payments using "system_capacity" and not "cp_system_nameplate."  This can result in very high capacity payments when the hybrid system is grid limited but has individual technologies' capacities that sum to greater than the interconnect limit. When the PySAM single owner financial model is executed, the "cp_system_nameplate" parameter is overwritten by the "system_capacity" value (with a conversion between kW and MW).


Lack of consideration for jmp_buf ABI

The current shadow stack spec suggests saving the shadow stack pointer to the jmp_buf in setjmp so that longjmp can unwind it back to where it was. However, jmp_buf is an exposed type that is part of the ABI, and so extending it with such state would be an ABI break. There would be no way to incrementally and conditionally adopt it like on other architectures. Unless there is another way to implement setjmp/longjmp without changing anything about jmp_buf I cannot sign off on the extension with my ABI hat on.

Could the jmp_buf be not adopted as done on other architectures:
https://github.com/lattera/glibc/blob/master/sysdeps/x86_64/setjmp.S#L73

That only worked on x86 in glibc because there was existing padding that could be repurposed https://github.com/bminor/glibc/commit/d6cc1829aa31b6fb060f24dffd28aa6705cdd33a

Could the same technique of using space from the 1024 entry array in __sigset_t __saved_mask be used? I think _NSIG is still only 64 as of 6.5.

In glibc? Maybe. But not every setjmp implementation is glibc. FreeBSD’s does happen to have space, but for different reasons:

On x86, space for sigset_t is allocated in units of long, but the struct is in units of int, so on amd64 (but not i386) it allocates double the space needed for it, giving 2 spare longs
On riscv, there’s an absurd amount of padding due to a misunderstanding that predates my involvement
But just because glibc and FreeBSD both happen to have wasted space in their jmp_bufs today does not mean that other libcs have such luxury. For example, musl appears to have no unused space when on lp64d.

I tried to read other libc implementations.
Please see if I got any of this wrong.

musl, seems similar to glibc in the jmp_buf (unsigned long __ss[128/sizeof(long)]);
bionic, seems to define a 32 entry jmp_buf, and presently to  use 30 entries. Maybe 2 entries are available.

If shadow stack is in use, the unmodifed longjmp function would have caused an exception (ra mismatch with SS's ra), and it doesn't seem to make much sense to consider ABI compatibility? Because they're incompatible whether they are the same size or not?
It is possible to calculate the number of pops that need with the unwind, but this seems to lead to greater costs and easy to attack. Plus, unlikely to have that in an embedded environment where size matters.

When shadow stack is in use, the longjmp cannot be an unmodified function. But it is also a point to note that an unmodified longjmp would also not have instructions like sspopchk to check ra mismatch with return address obtained from shadow stack - but that is besides the point.  As shown above for the cases of linux glibc, bsd libc, bionic libc, and musl libc we may not need to grow the size of the jump buffer.

Agree. For the major implementations I think we may be able to get by without needing to grow the jmp_buf (phew!).

bionic, seems to define a 32 entry jmp_buf, and presently to  use 30 entries. Maybe 2 entries are available.

(since Android's riscv64 ABI isn't final yet, i doubled the size in https://android-review.googlesource.com/c/platform/bionic/+/2719577 just to give us more room to maneuver in future if necessary.)


Yarn run build stuck at 93%

Hello!
I'm trying to run a yarn run build on the viewer and it always continues until 93% and then gets stuck. It even hangs my system. My system has an 8GB RAM, so I'm guessing that shouldn't be an issue either.

yarn run dev works just fine.
Can anyone help me out in figuring what the issue might be?

The minifier can take 10+ minutes.  I'm almost positive it's an issue caused by pulling in the cornerstone-wado-image-loader codecs.
You can set a QUICK_BUILD=true environment flag to bypass minification. We do that on our CI to  decrease build times.

Okay, thanks Danny,
would this successfully build the entire project for static web pages to not have any issues?

would this successfully build the entire project for static web pages to not have any issues?

Yes, but the code would not be minified.

I'm going to close this, as I think the heart of the issue has been solved. FWIW, more than happy to hear guidance around improving build times or review PRs that help make it happen.

The minifier can take 10+ minutes.  I'm almost positive it's an issue caused by pulling in the cornerstone-wado-image-loader codecs.

Interestingly it took multiple hours on my 32GB,SSD,24 Core machine. Was quite confusing. Quick makes it ok, but I would love to see a simple esbuild setup without minification or even bundling (just using es6 modules) for very quick iterations


Clarification on how to use flash decoding, is it available when calling flash_attn_func?

Based on prior issues it seems we can use flash decoding by calling flash_attn_with_kvcache. But wondering, is it also available if we just call flash_attn_func?
@tridao

There's a heuristic to pick the number of splits to choose whichever is faster.
https://github.com/Dao-AILab/flash-attention/blob/320fb59487658f033f56711efd3d61b7c7a6f8f3/csrc/flash_attn/flash_api.cpp#L452
num_splits > 1 means flash-decoding is running.

Thank you! Since num_splits is passed as 0 to set_params_splitkv for flash_attn_func, it looks like it will use a heuristic. Stating that a bit more clearly in the README will probably help. Will look to open a PR for it when I can. Thank you!


VCardRawWriter: Discard invalid groups.

Something (possibly Busy Contacts) added the following properties to an
iCloud vcard, which iCloud happily accepts, and EZ-VCard actually
parses:
COM \NWWW.COLPATRIA.COM <HTTP://www.colpatria.com>\n
COM\NWWW.COLPATRIA.COM <HTTP://www.colpatria.com>\n\n\n\n

Since it would be kind of awkward for us to manually go through and
validate groups, instead just silently discard groups which aren't
valid. This is kind of unfortunate, but I wasn't sure how better to
avoid this completely failing.
@blendmaster @skazhy Open for suggestions

So ezvcard will read these groups in, but refuse to write them back out? I put in https://github.com/fullcontact/ez-vcard/commit/a6e1f87a5951844d1d8551fec8080bb6042dfae2 already, maybe it just needs extending to the write-side.

I put in a6e1f87 already, maybe it just needs extending to the write-side.

I think it needs extension to groups handling; I'll do that then.

Oh, upstream has dealt with this too https://github.com/mangstadt/ez-vcard/wiki/Changelog

Relaxed the logic that checks property names for validity before writing them to an output stream. Before, it would throw an exception if a property name contained any characters not allowed by the specifications. Now, it only throws an exception if the property name contains a character that breaks the syntax (such as newline sequences and colon characters). Spec-compliant character checks have been moved to the validation framework (see VCard.validate()).

Now, it only throws an exception if the property name contains a character that breaks the syntax (such as newline sequences and colon characters)

This example has a newline character.

Actually, if the writer doesn't violate the standard and escape newlines in group names, we probably need to stick with throwing them away rather than trying to write them back out. I feel like we're not losing much since clearly something's gone horribly wrong by that point anyway.

They also pulled in #1 and #2, which I actually think covers everything I patched in this repo. You could try vanilla upstream.

This example has a newline character.

Really? can you paste the vcard somewhere (this is a public repo)?

can you paste the vcard somewhere

The relevant portion is in the description. (The vcard parser does turn that \N into a newline, which is what it ends up screaming about during reserialisation.)

Wow, icloud really does accept that wholesale. I suppose we could match their behavior and not unescape the newlines in group names, but I guess I'd be fine with blindly dropping them as well.
the spec only seems to mention \n,\N in one place:

The method for specifying CRLF character sequences in text
type values has been changed. The CRLF character sequence in
a text type value is specified with the backslash character
sequence "\n" or "\N".

https://www.ietf.org/rfc/rfc2426.txt but it does seem like icloud is in the wrong here.

@blendmaster Revised to do this the same way as invalid properties.

lgtm.

Actually, this won't really work as-is because it doesn't re-escape the groups when writing. It would probably be a better solution to not interpret the escapes on read instead.

Closing in favour of https://github.com/fullcontact/ez-vcard/pull/4


go flutter initalize failed with  Failed to lookup symbol 'bitsdojo_window_api':

Following is backtrace:
hover: Using engine from cache
hover: Cleaning the build directory
hover: ⚠ The go-flutter project tries to stay compatible with the beta channel of Flutter.
hover: ⚠     It's advised to use the beta channel: `flutter channel beta`
hover: Bundling flutter app

💪 Building with sound null safety 💪

hover: Compiling 'go-flutter' and plugins
hover: Successfully compiled executable binary for linux
hover: Build finished, starting app...
hover: Running magpie_desktop_app in debug_unopt mode
go-flutter: calculated pixelRatio limited to a minimum of 1.0. metrics: {"dpi":108.37333333333333,"monitorWidthMm":600,"monitorWidthSc":2560,"mscpi":108.37333333333333,"pixelRatio":0.6773333333333333,"ppsc":1,"windowWidthPx":800,"windowWidthSc":800}
flutter: Observatory listening on http://<IP_ADDRESS>:50300/
hover: Connecting hover to 'magpie_desktop_app' for hot reload
flutter: Null check operator used on a null value
flutter: Null check operator used on a null value
go-flutter: no handler found for channel flutter/system_tray
go-flutter: no method handler registered for method 'selectSingleEntryHistory' on channel 'flutter/navigation'
go-flutter: no method handler registered for method 'routeInformationUpdated' on channel 'flutter/navigation'
[ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: Invalid argument(s): Failed to lookup symbol 'bitsdojo_window_api': /home/zw963/Magpie/magpie-desktop-app/go/build/outputs/linux-debug_unopt/magpie_desktop_app: undefined symbol: bitsdojo_window_api
#0      DynamicLibrary.lookup (dart:ffi-patch/ffi_dynamic_library_patch.dart:34:70)
#1      bitsdojoWindowAPI (package:bitsdojo_window_linux/src/native_api.dart:118:6)
#2      bitsdojoWindowAPI (package:bitsdojo_window_linux/src/native_api.dart)
#3      _theAPI (package:bitsdojo_window_linux/src/native_api.dart:121:33)
#4      _theAPI (package:bitsdojo_window_linux/src/native_api.dart)
#5      getAppWindowHandle (package:bitsdojo_window_linux/src/native_api.dart:12:5)
#6      getAppWindowHandle (package:bitsdojo_window_linux/src/native_api.dart)
#7      new GtkAppWindow._ (package:bitsdojo_window_linux/src/app_window.dart:16:27)
#8      GtkAppWindow._instance (package:bitsdojo_window_linux/src/app_window.dart:20:54)
#9      GtkAppWindow._instance (package:bitsdojo_window_linux/src/app_window.dart)
#10     new GtkAppWindow (package:bitsdojo_window_linux/src/app_window.dart:23:12)
#11     BitsdojoWindowLinux.appWindow (package:bitsdojo_window_linux/src/bitsdojo_window_linux_real.dart:23:12)
#12     appWindow (package:bitsdojo_window/src/app_window.dart:42:20)
#13     app.<anonymous closure> (package:magpie_desktop_app/app.dart:38:17)
#14     BitsdojoWindowLinux.doWhenWindowReady.<anonymous closure> (package:bitsdojo_window_linux/src/bitsdojo_window_linux_real.dart:16:15)
#15     _rootRunUnary (dart:async/zone.dart:1436:47)
#16     _CustomZone.runUnary (dart:async/zone.dart:1335:19)
<asynchronous suspension>

The problem is clearly related to the bitsdojo_window_linux package and I won't work on go-flutter.

[ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: Invalid argument(s): Failed to lookup symbol 'bitsdojo_window_api': /home/zw963/Magpie/magpie-desktop-app/go/build/outputs/linux-debug_unopt/magpie_desktop_app: undefined symbol: bitsdojo_window_api
#0      DynamicLibrary.lookup (dart:ffi-patch/ffi_dynamic_library_patch.dart:34:70)

This problem is about FFI loading. I don't know how it is handled.


[link] Bad project link at top of page.

Same problem as #1 .

Can be fixed by redirecting link to cached version of page (as in previous issue). Must be done by someone with that permission.

Done. Thanks for pointing it out. closes #3


NO means NO - stop prompting to make pylance the default language server

Expected behaviour

I know that microsoft has a history of disrepcting user choices, and agressively pushing microsoft defaults into users even when users said "no", but this is getting extremely annoying on my text editor.
Once a user confirms that it does not want to make Pylance the default language server, you should never prompt it again.
Not even if pylance is updated.
Not even if I open a new folder.
Not even if I open a new file.
Once I said "no, thanks" it's pretty clear that I don't want to make pylance the default language server.
Actual behaviour
Randomly, when user opens a new folder, or python file, or updates the extension, Pylance will annoy the user prompting to make it the default language server.

This prompt will appear if Pylance is installed but not set as the language server. If you aren't intending on using it, can you uninstall the extension? Or are you looking to only use it for some workspaces and not others?

@jakebailey I installed it because intellicode and python for vscode will spam me to death with notifications If I don't.
Even if I intended to only enable it for "some" workspaces, the prompt would still be wrong because it would change the global language server, not only the settings for the local workspace.

@jakebailey I also have "python.languageServer": "Jedi" on my settings, which makes it pretty clear that I don't want the closed source pylance enabled.
If you're not trying to make it annoying like other microsoft programs that ignore user default preferences, then why not respect the prompt?

We'll switch our prompt to ensure that clicking "no" never shows it again.
If I'm understanding this correctly, the reason for installing Pylance is just to make the IntelliCode extension not pop up as well; their prompt unfortunately does not have a "no" setting, but we can go see about getting that added as that's a better solution to this than installing an extension you don't plan to use.

@jakebailey Yes, it would be helpful to fix it in intellicode as well! Thanks!

I haven't tried yet, but I'm interested in being able to use it for some workspaces and not others.
Is this possible? How is it configured?

You can set python.languageServer within your folder/workspaces's settings.json, and it will be applied for that editor session.

This issue has been fixed in version 2020.11.1, which we've just released. You can find the changelog here: https://github.com/microsoft/pylance-release/blob/master/CHANGELOG.md#2020111-11-november-2020


pythonPackages.magic-wormhole: patch the call to 'locale'

Motivation for this change
As it says in the comment, this ensures we can build magic-wormhole on Linux, where we already have a locale binary.
Things done

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

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

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

cc @asymmetric (maintainer)
cc @risicle (removed the previous comment)

We should first merge https://github.com/NixOS/nixpkgs/pull/35175

We should first merge #35175

Yep, fine with me!  I've worked around this now with a patch on my personal nixpkgs fork, so no immediate urgency 👍

@andrew-d Can you please rebase on master?

@dotlambda - Done!

@FRidh Wouldn't it be enough to add glibc to propagatedBuildInputs in this case?

propagatedBuildInputs should typically be avoided
in python the wrappers currently consider the propagatedBuildInputs and add their /bin to PATH. While this works, and is currently the solution, we should eventually get rid of it.

Okay, then this looks like the best solution.

@GrahamcOfBorg build python2.pkgs.magic-wormhole python3.pkgs.magic-wormhole

Success on x86_64-linux (full log)
Partial log (click to expand)
wormhole.test.test_cli.PregeneratedCode.test_slow_text
wormhole.test.test_cli.PregeneratedCode.test_text
wormhole.test.test_cli.PregeneratedCode.test_text_subprocess
wormhole.test.test_cli.PregeneratedCode.test_text_tor
-------------------------------------------------------------------------------
Ran 355 tests in 17.447s

PASSED (skips=20, successes=335)
/nix/store/541hpvpmq9rjrlivy2i02kmw9njfk2ss-python2.7-magic-wormhole-0.10.5
/nix/store/ksg1w1qf3b21ggjlhlankh6aixqd4vn8-python3.6-magic-wormhole-0.10.5

Success on aarch64-linux (full log)
Partial log (click to expand)
wormhole.test.test_cli.PregeneratedCode.test_slow_text
wormhole.test.test_cli.PregeneratedCode.test_text
wormhole.test.test_cli.PregeneratedCode.test_text_subprocess
wormhole.test.test_cli.PregeneratedCode.test_text_tor
-------------------------------------------------------------------------------
Ran 355 tests in 36.169s

PASSED (skips=20, successes=335)
/nix/store/sg3ymwyvzbd0b0cw60y9zc7h28s70xjp-python2.7-magic-wormhole-0.10.5
/nix/store/l8kdhy4l7vrvik5k5fmnw0zni1jvapbv-python3.6-magic-wormhole-0.10.5

@dotlambda - Thank you very much!


Back button does not animate correctly on iOS with swipe to go back

Short description of the problem:
The back button on iOS swipe to go back does not animate correctly when compared to a native iOS app. Here is a video showing the issue. As can be seen in that video, the back button does not animate with the page as it should.
What behavior are you expecting?
Back button animates with the page, as on a native iOS app.
Steps to reproduce:

swipe to go back on a native iOS app.

Which Ionic Version? 2.x

Closing this after some discussion with manu offline.


Update to support latest Centrifugo and Centrifuge library

Hi, any plan in supporting this in the near future?

Hello, I dont think this can happen in near future, but maybe one day :) at least now I see someone interested in having Python Websocket client. Could you describe your use case btw? Since Centrifugo is mostly useful for user facing apps, and Python usually used for backend.

Hello again, ok! Thanks for the quick reply.
The use case is non UI/web/JS frontends, e.g. a chat bot client that receives push notifications.
I've also managed to make this work in my POC by manually selecting the answer to messages based on the content, the protocol page in the website was really helpful.
Thank you for the Centrifugo project, it's quite cool!

Hello again, ok! Thanks for the quick reply.
The use case is non UI/web/JS frontends, e.g. a chat bot client that receives push notifications.
I've also managed to make this work in my POC by manually selecting the answer to messages based on the content, the protocol page in the website was really helpful.
Thank you for the Centrifugo project, it's quite cool!

Same use case, and the demand is strong.

Hi there!
I hope this message finds you well. I have been using Centrifuge-python in my AI robot project, which is primarily developed using Python. I wanted to reach out and inquire about the current progress of the development plans for Centrifuge-python.
As I work on building an AI-powered robot, it is crucial for me to have a native SDK connection to the server. Currently, I am using a gateway written in Golang for message routing, but I am eager to switch to Centrifuge-python if it meets my requirements.
Could you please provide some insights into the development plans for Centrifuge-python? I am particularly interested in knowing if there are any upcoming updates or a roadmap for the project. It would be great to have an idea of when the new version will be available.
Thank you for your time and attention. I appreciate your efforts in developing Centrifuge-python and look forward to your response.

@koch3092 hello, I'd like to bring this SDK to live at some point. But do not have time for this - concentrating on things which are more prioritized. I can not provide any estimation when this SDK will be updated to work with recent server versions.
Hopefully someone will take care by sending PR - not a simple work though.

Hii! I'm specifically looking for a Py SDK to effectively manage my chat app. Any help getting this working would be greatly appreciated 💕🧸

@juniperrrrr hello, I recently had some time to start working on this, but then again switched to different tasks. I'll try to at least prepare some baseline for the SDK which supports latest protocol soon, but can't provide ETAs

It's good to see this library is being updated. Looking forward.
Thanks for the effort.

Countdown to get ready ! Well done and Good Job !

Moving forward! BTW - will appreciate help with integration tests like we have in centrifuge-js.  I.e. over starting a real Centrifugo in container:
https://github.com/centrifugal/centrifuge-js/blob/0af6fd3717ff409bdb408d86ded500d2d2bad48a/.github/workflows/ci.yml#L21

Released beta version, check it out - https://github.com/centrifugal/centrifuge-python/releases/tag/0.3.0b1 (do not use in production!)

Already 0.3.0b3 - looks like all the features are implemented at this point. Couple of iterations and good to go.

Just released 0.3.0. Please guys check it out – it should feel very similar to all other SDKs in the ecosystem. Closing the issue - almost 4 years... omg. Making async client protocol SDKs is hard, the hardest part of the project I'd say.


Feat interactive

This PR adds a build-interactive subcommand that prompts users for opts (csv_path, source_dir, etc.) instead of passing them as arguments

Cool.
Eh... by the way, did you mix some changes in #2 here?


Freebsd support

FreeBSD is one of the few (only?) BSDs that implement evdev and uinput. It may be possible to port keyd to it with minimal (no?) changes. If anyone has success compiling and running it please post here. I might this give this a go later.

It looks like this might be a limitation of FreeBSDs uinput implementation after all.
From https://reviews.freebsd.org/D6998

Hi,
uinput is intended for loopback of events via user-space only. It should not be used from kernel drivers and have no exposed API/KPI except one struct cdevsw provides

Incidentally it looks like FreeBSD already ships with a similar program called kbdmux, though it doesn't have he same feature set as keyd. Studying the source might provide more insight.
None of this applies to user space, so X and wayland should still work (though I haven't confirmed this).

Closing this pending feedback/interest from FreeBSD users.


Add mouseenter and mouseleave

Hey,
for my experiment project I needed to add hover effect.
Right now I've implemented mouseenter and mouseleave which are working as expected (even on child elements).
I have few performance tweaks I need to add for this PR to be ready, but I just wanted to know if anyone else is interested.

Related: #84 #12


Introducing an RFC for isomorphic IDs

This pull request introduces the first draft of an RFC to address the ability for React to support isomorphic IDs; a feature which is highly desirable for building WCAG 2.0 compliant web sites and applications.
For more information about the motivation behind this pull request, please see the following issue:
https://github.com/facebook/react/issues/5867

Very nice, this is something very much needed, but can this be achieved by a single call to `React.createId()?
class Checkbox extends React.Component {
  id = React.createId();

  render () {
    return [
      <input id={this.id} />,
      ,
    ];
  }
}

@streamich I don't see React.createId() anywhere in the documentation or source code. Is this something that already exists? If so, it's hiding very well. :)
If this is a reference to generateUniqueId() in my RFC, then I should have been more clear that that was just a placeholder to a generic UID-generating function. I wasn't proposing that as an actual function name. I'll push an update that makes that more clear.
Generating the UID isn't the hard part. It's getting the UID that the server used into the client's render context.

@n8mellis Sorry, I did not write it up well, what I was asking if the two methods reserveUniqueIdentifier() and reservedIdentifier() could be simplified to one method and if it could be done in constructor, to avoid calling reservedIdentifier() on every re-render.

@streamich Ah. That makes much more sense. :) My thinking was that this ID be treated differently than passing in an ID prop and thus the different approach.
I split it into two so that all the heavy lifting happens in the constructor.  The reservedIdentifier method is just a property getter so it's no more expensive than any property access.  I made it a function rather than a straight property accessor to make sure that the private property is obscured and that there is little risk in it accidentally being overwritten or changed in unexpected ways.
That however is a personal preference and would be open to arguments in favor of something different.

This is highly desirable! I dropped automatic id generation for aria-labelledby attributes in a component recently because creating the IDs based on Math.random() on a per render basis of course caused React to show a warning that the client HTML does not match the server HTML.
I couldn't figure out an easy solution to deterministically generate unique IDs without spending too much effort on this. Would be super nice to have a small helper function built-in.
I remember the good ol' data-reactid attribute from 0.14 which were unique within each mounted component. Maybe they could be revitalized for that, maybe optionally prefixed with either a custom string to increase the chance of being really unique.
Spontaneous idea:
class MyComp extends Component {
  id = this.dataReactId('optionalPrefix');
  render() {
    return (

...

    }
  }
}

Result:

...

Could definitely use something like this.
For now I use a context with a genId() on it. The default context generates random IDs, but if you wrap the whole app in a Provider then it increments each time it's called.
import React, { createContext } from "react";

// most things that we auto-id aren't server rendered, and are rendered into
// portals anyway, so we can get away with random ids in a default context. If
// people need to server render with auto-ids, they can wrap their app in an
// IdProvider
let genId = () =>
  Math.random()
    .toString(32)
    .subsr(2, 8);

let IdContext = createContext(genId);

// Apps can wrap their app in this to get the same IDs on the server and the
// client
class Provider extends React.Component {
  id = 0;

  genId = () => {
    return ++this.id;
  };

  render() {
    return (
      <IdContext.Provider value={this.genId}>
        {this.props.children}
      </IdContext.Provider>
    );
  }
}

let { Consumer } = IdContext;

export { Provider, Consumer };

What does building this into React achieves compared to @ryanflorence's solution?

I think that React itself should unopinionated about generating and handling id.  It should be a community standard to generate and handle id.  The feature to generate unique id might be abused, as people would like to use it to fix unique keys error in a component list.

@ryanflorence if the component render order differs between server and client, won't this fail to match up? I think that's a possible situation with async mode on?

@ryanflorence: @probablyup is right that auto-incrementers break when rendering is async or for some reason happens in different order on server and client.

It would be really useful to have something like this:
import { useId } from "react";

function Component() {
  const id = useId();
  return
;
}

This feature is not possible. You just can't use just use generateUniqueId in async or concurrent environments. And SSR.
In short - you should be able to generate the same "set" of IDs regardless of component/chunk load order. That order could be different - data for components arrive unpredictable, chunks got loaded unpredictable, async in a client, and usually sync on a server.
Solution:

Store counter in a context.
Read-on-mount and increment-on-read. That would provide a unique ID for a component during its lifetime. It will generate ids like 1, 2, 3, 4.
Nest counter for any async children. It will generate ids like 1.1, 1.2, 1.3.
As a result - every component would get stable id, regardless of its nature.

<UIDReset> // sets `counter` to 0
     <UIDFork> // `forks` counter
       <AsyncLoadedComponent> // will render something in a second
          <UIDConsumer>
            { uid => {uid} is unique } // will render 1.1
          </UIDConsumer>
      </UIDFork>
    </AsyncLoadedComponent>
     <UIDFork> // `forks` counter.
         <UIDConsumer>
           { uid => {uid} is unique } // would render 2.1
     </UIDFork>
 </UIDReset>

So, even if the render order of AsyncLoadedComponent is not known - Id is "stable". These "forks" are the missing parts.
Meanwhile it still could be "amost" as this RFC proposes
const Form = () => {
  const uid = useUID(); // this is hook
  return (
    <>
     Email:
     <input id={uid} name="email" />
    </>
  )
}

It's not a pseudo code, but https://github.com/thearnica/react-uid, I am using it for a while to pair labels and input on frontend, or generate consistent Ids between server and client.

I'd love this feature. Generating unique ID really leaves a lot to be desired from developer experience point of view right now.
My use case:
I'm working on a simple library with UI component. Its CSS is dependent on props. And the CSS uses media queries which means I can't use inline styles. So I generate random ID inside the component, add class names based on this random name and add inline


feat: Add support for extra sshd_config parameters via 'Include' file

Hi,
This PR adds support for extra sshd_config parameters via the Include parameter. This PR replaces https://github.com/go-gitea/gitea/pull/19803, as the mitigations mentioned on the PR can be added case-by-case using this include file.

Codecov Report

Merging #19842 (f79b340) into main (e0273ba) will decrease coverage by 0.01%.
The diff coverage is n/a.

:exclamation: Current head f79b340 differs from pull request most recent head d269140. Consider uploading reports for the commit d269140 to get more accurate results

@@            Coverage Diff             @@
##             main   #19842      +/-   ##
==========================================
- Coverage   47.28%   47.26%   -0.02%
==========================================
  Files         957      957
  Lines      133362   133362
==========================================
- Hits        63059    63034      -25
- Misses      62630    62662      +32
+ Partials     7673     7666       -7

Impacted Files
Coverage Δ

modules/queue/queue_bytefifo.go
47.29% <0.00%> (-5.78%)
:arrow_down:

modules/queue/queue_disk.go
60.00% <0.00%> (-3.34%)
:arrow_down:

modules/queue/workerpool.go
51.55% <0.00%> (-3.11%)
:arrow_down:

services/pull/pull.go
40.80% <0.00%> (+0.46%)
:arrow_up:

modules/queue/queue_channel.go
78.70% <0.00%> (+1.85%)
:arrow_up:

Continue to review full report at Codecov.

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


Add initializers aggregator to Diamond Factory, like Multicall3

We need a way to initialize a diamond when adding multiple facets, which potentially contain their own initializers.
We could it similarly to Multicall3 but with delegatecall, but it should be permitted only to diamonds during the deployment process. As delegating to unknown addresses can induce unforeseen consequences.
Check implementation for simple calls here https://github.com/mds1/multicall

closed by #10


porting wingtip toys complaining about FriendlyUrls at HostingEnvironmentStartupFilter

Invoking PreApplicationStartMethodAttribute Microsoft.AspNet.FriendlyUrls.PreApplicationStartCode.Start in Microsoft.AspNet.FriendlyUrls, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=31bf3856ad364e35

fail: Microsoft.Extensions.DependencyInjection.PreApplicationStartMethodExtensions.PreApplicationStartMethodStartupFilter[0]
Failed to run PreApplicationStartMethodAttribute Microsoft.AspNet.FriendlyUrls.PreApplicationStartCode.Start in Microsoft.AspNet.FriendlyUrls, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
---> System.MissingMethodException: Method not found: 'Void System.Web.HttpApplication.RegisterModule(System.Type)'.
at Microsoft.AspNet.FriendlyUrls.PreApplicationStartCode.Start()
at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)
--- End of inner exception stack trace ---
at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)
at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
at Microsoft.Extensions.DependencyInjection.PreApplicationStartMethodExtensions.PreApplicationStartMethodStartupFilter.InvokeStartMethod(PreApplicationStartMethodAttribute startMethod)

This is due to the pre application start failing if it fails to run and the friendly URLs are expecting to be able to register a module but the API doens't exist: HttpApplication.RegisterModule(System.Type)


Patient monthly income

I rule and have completed some work on Case Manager that's ready for review!
(brief, plain english overview of your changes here)
This pull request makes the following changes:

(your change here)
(another change here)
(etc)

(If there are changes to the views, please include a screenshot so we know what to look for!)
It relates to the following issue #s:

Fixes #X
Bumps #Y

Hello Colin,
Please take a look at my changes, and let me know if I need to make any changes.

This pull request makes the following changes:
(your change here)
I made changes to income_options in patients_helper.rb to show extended list of income options.
(another change here)
I also changed options_for_select for income_options  in _patient_information.html.erb to select the 2nd value to be stored in mongoDB.
It relates to the following issue #s:
https://github.com/colinxfleming/dcaf_case_management/issues/657
Fixes # 657
I hope I did this correct.  Thank you.

hey @souphan , received with thanks! I'll review this over the weekend but you should consider it good to go for the time being. Thanks much!


Frontpage checkboxes disappeared

Check boxes on front page have disappeared -- I notice that the logout button got changed, perhaps that is related

That is my mistake. I thought I had gotten rid of all font-awesome references. I will fix this now. Should only take a few minutes.

Font awesome restored. Merged into dev. You will have to pull and run grunt css.


Fix bug in SVG path command T #1443

The control point (px, py) is already updated in the else branch above (L271). It is then updated once again which causes bug #1443.
This commit removes these duplicated lines which fixes the bug.

What?

Why?

How?

Testing?

New Dependencies?

Screenshots

Suggested Reading?

Anything Else?

Checklist

[ ] I read CONTRIBUTING.md.
[ ] I read MAINTAINERSHIP.md#pull-requests.
[ ] I added/updated unit tests for my changes.
[ ] I added/updated integration tests for my changes.
[ ] I ran the integration tests.
[ ] I tested my changes in Node, Deno, and the browser.
[ ] I viewed documents produced with my changes in Adobe Acrobat, Foxit Reader, Firefox, and Chrome.
[ ] I added/updated doc comments for any new/modified public APIs.
[ ] My changes work for both new and existing PDF files.
[ ] I ran the linter on my changes.

Would you mind checking if this bug seems necessary in @cantoo/pdf-lib ? Waiting for Hopding to have the time to keep up with the contributions here, we made our fork that we try to maintain there.

@Sharcoux Here you go: https://github.com/cantoo-scribe/pdf-lib/pull/30

Does this have chance to be fixed?


Font in root of the options does not get applied.

Expected behavior
When specifieng font options in the root of the options object it should get applied to all the text which does not get overriden explicetly.
Current behavior
It does nothing. While according to the current typings it should make it the default base font:
https://github.com/chartjs/Chart.js/blob/cf780a5db52e991c8c29577557c28277e35e040e/types/index.esm.d.ts#L1466-L1470
Reproducible sample
https://jsfiddle.net/2L1pdtsz/
Optional extra steps/info to reproduce
No response
Possible solution
No response
Context
Found this while working on #10364
chart.js version
3.7.1
Browser name and version
No response
Link to your project
No response

I'm having some trouble looking at this issue and could use some guidance. From what I read in the docs, to change the default font for a chart you'd have to modify the defaults object directly:
Chart.defaults.font.size = 16;

But to support specifying the default font in the root of options would you have to modify the defaults object inside the Chart constructor?
Apologies if what I'm saying is confusing, it's my first time contributing to open source.

Yes, like you said with underneath code you can modify the defaults. But this code modifies the default fontSize for all the charts. So if you have multiple charts in your application all of them now have a font size of 50 for all the elements in the chart that do not specify a different font size.
Chart.defaults.font.size = 50

Using below syntax should apply a fontSize of 50 to all the elements in only that specific chart. So if I have multiple charts all the other charts still have the default font size:
new Chart('canvasId', {
  data,
  options: {
    font: {
      size: 50
    }
  }
})

Thank you for the clarification LeeLenaleee!
I looked a little deeper into the plugins that use the font, and I noticed they use the toFont helper function to generate the font:
https://github.com/chartjs/Chart.js/blob/061686895997921508a24e205e0482a7747404d3/src/plugins/plugin.legend.js#L128
https://github.com/chartjs/Chart.js/blob/061686895997921508a24e205e0482a7747404d3/src/plugins/plugin.title.js#L92
Taking a deeper look at the toFont function lead me to this:
https://github.com/chartjs/Chart.js/blob/061686895997921508a24e205e0482a7747404d3/src/helpers/helpers.options.js#L107-L133
The font is either the specified font option provided specifically by the plugin calling it or it defaults to fallback. For all the toFont calls however, there is no fallback provided and the fallback becomes the defaults object font. To resolve this issue, should the toFont function in all the plugins be supplied with a proper fallback (options.font)?

Thank you for the guidance, I'll make a pull request to change all the toFont() calls to include options.font as a proper fallback.

Another option is adding additionalOptionScopes: [''] to the plugins, but that affects all of the plugin options.

@kurkle That solution looks a lot easier to implement.

but that affects all of the plugin options.

If I'm understanding correctly, it'd only be an issue if a Chart relied on the defaults and accidently overrode them using the root option scope. In my opinion though, this should be the ideal behaviour for any chart options. I think it should be fine to implement. What do you think?

Hello!
I am a little late to the party maybe, but I am suffering from the same / similar problem, using version 3.9.1.
The same default value Chart.defaults.font should, according to the documentation also be applied to the font in Points Label Options, but when I for ex. set:
Chart.defaults.font.size = '16'; and then don't define any value for pointsLabels.font.size, the default should be applied to the font size, which is not case by now.
The toFont function is also being used in the caller function, but for the reason that the last commit in helpers.options.js was in 2021, this issue has not been resolved yet I guess, is it?


[Fix] Support ActionExperimenter sub classes to be deserialized from bytes

Fixes #87

Augmented InstructionAction.from_of_instruction to support deserializing ActionExperimenter from FlowStats entries.

NApps who register ActionExperimenter experimenter classes are supposed to also register the deserialization accordingly.
I'll post the local tests on https://github.com/kytos-ng/flow_stats/issues/43

LGTM

Thanks for reviewing, Italo


Changed source of vm name to allow for hosts without public ip addresses

Without this, the user-data script for Winodws hosts without an public IP address fails. This still works for Windows hosts with a public ip address.

@btomasini , can you please highlight in which scenario your windows host didn't have public IP address?

Fixed in https://github.com/chef/knife-ec2/pull/478


guake: 3.6.3 -> 3.9.0

Fixes CVE-2021-23556
#166650
Description of changes

Changelog
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[x] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 195210 run on x86_64-linux 1

2 packages blacklisted:

nixos-install-tools
tests.nixos-functions.nixos-test

1 package built:

guake

Testing this on KDE the app starts, but doesn't seem to register the hotkey. Manually running guake-toggle works.
Errors on startup:
Loading Gnome schema from: /nix/store/2hc7y4l5h3nk0hy23x7mzi5cblnwz5wz-guake-3.9.0/share/gsettings-schemas/guake-3.9.0/glib-2.0/schemas/
Schema from old guake version detected, regenerating schema
(...)
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.ServiceUnknown: The name is not activatable
Compiling schema: /nix/store/2hc7y4l5h3nk0hy23x7mzi5cblnwz5wz-guake-3.9.0/share/gsettings-schemas/guake-3.9.0/glib-2.0/schemas/
(...)
Failed to create file “/nix/store/2hc7y4l5h3nk0hy23x7mzi5cblnwz5wz-guake-3.9.0/share/gsettings-schemas/guake-3.9.0/glib-2.0/schemas/gschemas.compiled.OVBAU1”: Permission denied
(...)
Traceback (most recent call last):
  File "/nix/store/2hc7y4l5h3nk0hy23x7mzi5cblnwz5wz-guake-3.9.0/lib/python3.10/site-packages/guake/guake_app.py", line 125, in __init__
    try_to_compile_glib_schemas()
  File "/nix/store/2hc7y4l5h3nk0hy23x7mzi5cblnwz5wz-guake-3.9.0/lib/python3.10/site-packages/guake/paths.py", line 96, in try_to_compile_glib_schemas
    subprocess.check_call(["glib-compile-schemas", "--strict", SCHEMA_DIR])
  File "/nix/store/9srs642k875z3qdk8glapjycncf2pa51-python3-3.10.7/lib/python3.10/subprocess.py", line 369, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['glib-compile-schemas', '--strict', '/nix/store/2hc7y4l5h3nk0hy23x7mzi5cblnwz5wz-guake-3.9.0/share/gsettings-schemas/guake-3.9.0/glib-2.0/schemas/']' returned non-zero exit status 1.
Loading Gnome schema from: /nix/store/2hc7y4l5h3nk0hy23x7mzi5cblnwz5wz-guake-3.9.0/share/gsettings-schemas/guake-3.9.0/glib-2.0/schemas/

Seems like something we should be running as part of the build, right?

We do.
That looks like a bug in Guake – on first launch the schema-version setting will be an empty string:
https://github.com/Guake/guake/blob/50c19446b5e6ffde10f0d4f849259d723054b9bd/guake/data/org.guake.gschema.xml#L10
but Guake expects it to match the Guake version, or it will attempt to recompile the schema:
https://github.com/Guake/guake/blob/50c19446b5e6ffde10f0d4f849259d723054b9bd/guake/guake_app.py#L121
They should probably modify the default value in the gschemas.xml at build time and then compare the default value at runtime.

If I understand it correctly, the schema will be loaded anyway after the failure. Could someone confirm the hotkey issue is just on my side and not a general problem to solve?

The hotkey works for me on xwayland apps (which is as good as this was gonna get on wayland).

The toggle hotkey is working for me in KDE/X11 with no problems.

Thank you.


Only the first test file runs when using Karma & Webpack

Branch where this can be observed/reproduced: https://github.com/suyukuoacn/cactus/tree/key_converter
Karma config: https://github.com/suyukuoacn/cactus/blob/key_converter/karma.conf.js
Reproduction steps:

clone the branch linked
cd to project root
npm install
npm run test:browser
Observe that only the first test file's assertions get executed even though all the other files were loaded as well (which you can verify by setting the karma log level to debug)

Additional finding: If I create a single file that imports all the other test cases and then configure karma to run just that one, then everything works as expected (all tests are executed).
This leads me to believe that the issue lies with the separate webpack bundles not working together as they should. Not sure if this is a karma-webpack issue at this point or a karma-tap issue or something with tape itself.

This does seem like a karma thing - certainly if you have multiple files, node 'test/**' won't work but tape 'test/**' will.
Can you confirm whether all the test files actually get included in the karma bundle?

Can you confirm whether all the test files actually get included in the karma bundle?

@ljharb Yes, they are, when I attach a debugger I can see that in fact all the tests are running, but what happens is that because there is a separate bundle for each test file that was matched by the glob pattern (that's how karma-webpack does it apparently) the first bundle that gets loaded executes it's test cases (one test file) and then sends the notification to karma that the tests have completed, but it only mentions the test cases that were included in the first bundle (so I see 2 out of 2 succeeded instead of 44 out of 44 for example).

ah, interesting. i think the issue is that either they all need to share the same tape instance, or they all need to be in the same bundle. Presumably karma-webpack can be configured to address that?

ah, interesting. i think the issue is that either they all need to share the same tape instance, or they all need to be in the same bundle. Presumably karma-webpack can be configured to address that?

Looking into that as we speak, not yet sure if karma-webpack will allow me to specify my own entry points because their documentation says that the entry points are constructed directly from the karma config's own files array/globs/etc, but that's something to do with karma-webpack either way.
In the meantime, I've been getting more and more confident that this isn't an issue with tape itself so thank you for the illuminating conversation it helped me think through the issue and with that said, I'll close this now. :-)


Change how we do packaging

Currently, PRs are expected to grunt build themselves. This leads to a merge conflict problem when there are multiple PRs open. We should instead be handling build artifacts on release.
The workflow here would be that when it makes sense, a maintainer will release the package, either as a development release or as a prod package. The maintainer will run grunt build, check those artifacts into the repository, the commit will be tagged, and a release to go out to PyPI.
We can't remove storing artifacts as a number of folks pin their theme dependency here. We can remove the requirement that PRs run grunt build, but perhaps find another mechanism for keeping our version on conflict, such as using .gitattributes to use ours on merge.

Removing the need for PRs to run grunt build is a good idea to reduce merge conflicts. We could add instructions in a PR template
If building and committing the assets to the repo is needed for people who use master instead of a package from Pypi, this can be a periodic task for maintainers or automated using a bot and/or git webhooks.

I think a release time process by maintainers makes the most sense. We can think about automating this later perhaps.
We're hoping to shorten the release cycle and make more minor releases with the theme. With that, we can just release more often, generate build assets on release, and perhaps just disregard the use case of running the theme from master -- running from master would effectively just be the same as running from the latest release.

I like this idea.

When I reread the comment from @agjohnson, it sounds to me like he's proposing adding the built files to .gitignore and removing them from the repo (git rm). Then these would need to be built right before a release is made. Correct me if I'm wrong. As he mentions this would mean that users couldn't just use the theme from "master". They would have to use a packaged version.
What @jessetan is proposing sounds more like having an automated way to keep the built artifacts up to date. This would still allow users to use the theme from master but at the cost of some complexity.
If nobody has a strong opinion, I prefer the first approach but not too strongly.

@davidfischer that's correct. A requirement for the first approach would be to do releases more often. This is also has my preference BTW.

@agjohnson any update on simplifying or speeding up the release process? Supporting a theme install from master has some drawbacks (e.g. #712)

For the record, I'm 👍 on removing built artifacts from the repo and only supporting using released versions (not an install from git master). I don't think releasing frequently is a big burden.

I am also :+1: on just git ignore on the whole sphinx_rtd_theme/static/ path and making building assets strictly a release process. I'd like to support a single installation path, so :+1: on that too.
Unfortunately, anyone that hit #712 (myself included) would have broken docs pretty quickly. Our docs do currently state you can git install/submodule install, and I did remove these instructions in a PR, but we were communicating a blessed installation path to users by having this in our docs. So, these users aren't wrong for installing like this.
For now, the webpack work is actually going to revert the font path change (I didn't know this was an issue, and it's odd that we take a stance on fonts, but not our other assets) and all assets will be checked in for the time being. It sounds like we need more of a plan around breaking this workflow first?
Could we detect that the user is running a non-released version (compare a non-release package version? test for a file in the repo and not in release? something else in setup.py?). We'll start by throwig a deprecation warning in sphinx and let this simmer for a couple releases perhaps?

Also, regarding release schedule: would it help to develop a policy around releases? The policy we have internally boils down to something like:

We ship often on alpha/beta tagged releases -- these won't be picked up by pip automatically, users can select into them still though
We do not ship proper releases unexpectedly -- team is notified before release
No proper releases while the team is not available -- weekends, holidays, etc
Critical releases can go out as needed, mostly disregarding these rules -- critical being defined as security issues, strong breaking behavior on RTD, etc

Would the theme core team be :+1: on something similar? Having some explicit rules around the process helps set expectations and allows for autonomy. Getting more people releasing will reduce release pressure and with the rules above, I'm not worries about shipping breaking changes.

Our docs do currently state you can git install/submodule install, and I did remove these instructions in a PR, but we were communicating a blessed installation path to users by having this in our docs.

I see that now in #778. It was in the docs but the README said something different. We should remove that and only support a module install (eg. with pip).

would it help to develop a policy around releases?

I don't think it would hurt but I don't think this is what's holding back releasing more often.

Could we detect that the user is running a non-released version (compare a non-release package version? test for a file in the repo and not in release? something else in setup.py?)

The most common pattern I've seen for this is to have the version in master be something like $VERSION-dev and the -dev gets dropped when it is released.

I'm in favor of removing support for installing from git (and not having compiled assets in the repo), with more frequent -dev releases built from master.
We could have a transition period where we do build assets into the repo and log a deprecation warning to the console if the current version ends with -dev. After this period, we remove the built assets from the repo and change the JS warning to inform users that this is a dev version of the theme.

Sounds like a good plan. Webpack will be changing the fonts back to included in repository theme path for now. We can follow these PRs up with a PR for deprecation warnings in docs and on build. When we're ready, built assets will be removed from the repository.

I don't think it would hurt but I don't think this is what's holding back releasing more often.

Having releases blocked by RTD core is probably the biggest piece keeping the theme from releasing often. My point was to have a policy doc to set expectations around theme releases for theme maintainers, not necessarily core RTD team, and allow the theme maintainers to release.

I will join this discussion. I have strong opinion to keep the artefacts out of git and on .gitignore as that avoids the problems described above. Installing from git is also possible using pip install -e path_to_git_repo_and_branch which packages and installs from git repo (any branch). So this should be next advertised method.

We're effectively discussing not supporting installation outside of PyPI with this change. Something like pip install -e wouldn't get around the missing build artifacts, and so wouldn't be a prescribed installation method anymore.
If we don't include build artifacts, you will need to install all of the packages development dependencies and build the theme if you want to use it from a git repository or submodule. You can pip install -e after building the theme, but we'd probably view this as out of scope for what the core team supports.

Why would it not get around? pip install -e runs setup.py (with my understanding) and then installs the package. So if we put everything (building, obtaining artifacts, etc) in setup.py, then we should be able to build the theme and install it with pip install -e directly from repository.
I do agree above case brings added dependencies (lets face it, not many people install this way), but if we really want, we can also just push development releases to pypi from for example master.

Why would it not get around? pip install -e runs setup.py (with my understanding) and then installs the package. So if we put everything (building, obtaining artifacts, etc) in setup.py, then we should be able to build the theme and install it with pip install -e directly from repository.

Many of these dependencies will be non-Python dependencies. This issue discusses using webpack to compile static assets. I haven't thought about it deeply, but I don't think that setup.py should be making subprocesses to install node packages and run webpack.

I don't think that setup.py should be making subprocesses to install node packages and run webpack.

Shows how up-to-date I am. That is currently in setup.py.

Can you guys take a decision which way we go, so that someone can jump on the task and get us back to releasing pace?

@Letme we will not be supporting installation from the repository. We do not want to support users using our master branch, which is not even alpha release quality. We will be releasing to PyPI as development releases more often once some of our structural changes are ironed out.


fixes for swift 3 xCode beta 6 update

Would be great, if that could be merged soon...

Should some/most of the classes be open instead of public? Right now with everything as just public there's no flexibility at all. I have a separate fork that opens up the transforms, specifically, but I don't know what other people's use cases are like.

Thanks for the contribution 👍


feat(bpdm-gate): updated upload partner process to only process site and address partners

Description

In this pull request, we have modified the partner upload process in the bpdm-gate service to only create or update site and address business partner.
Additionally, the legal entity BPN value will now be derived from the tenant's BPNL value.
why
700
Pre-review checks
Please ensure to do as many of the following checks as possible, before asking for committer review:

[X] DEPENDENCIES are up-to-date. Dash license tool. Committers can open IP issues for restricted libs.
[X] Copyright and license header are present on all affected files

Looks good except one doubt:
I think this algorithm needs to make sure that there definitely exists a BPNL to which the user can add records. This means to me that if no tenantBpnl exists it should return an error instead of trying to create records of an unknown legal entity.
What do you think?
@SujitMBRDI

@nicoprow Yes, I agree to your suggestion here.
Even i think the existence of tenantBpnl must be first validation check for this algorithm before go into other field mapping process. If tenantBpnl is missing then ideally we should not perform upload partner upload process.


msfp_sequence

msfp_sequence in the backend is actually msfp_order

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

ID: f8965fd6-1dab-fbb8-50bd-93c7b9f5a821
Version Independent ID: bc4c9fe8-b5b8-7e02-7734-20fc583fe98c
Content: msfp_question Entity Reference - Microsoft Forms Pro
Content Source: fp-docs/developer/reference/entities/msfp_question.md
Service: forms-pro
GitHub Login: @susikka
Microsoft Alias: susikka

@elementalfire23 Thanks for creating this issue. Will investigate this and get back.

This issue was in Forms Pro. The entities are updated in Customer Voice. https://docs.microsoft.com/en-us/dynamics365/customer-voice/developer/entity-reference
Closing this task.


New Logo

Why a new logo?
The current logo for QLC+ has been an iconic feature of QLC+ since 2013.
Why should it be changed now? For a long time, the only way to access QLC+ has been on a desktop environment or through a web browser. The new versions of QLC+ may soon be interacted with on mobile devices including phones, tablets or even in VR. QLC+ will always run on desktop but it's no longer bound by this platform.
QLC+ should be able to help you wherever and whenever you need it, which is why a modern identity is required to reflect this.
The new logo should be flat, simple and still keep the "Lightbulb" motif which has been a key aspect of the current design. The design should work on desktop, web and mobile devices.
Previous designs
Q Light Controller

https://sourceforge.net/projects/qlc/
hjunnila
Q Light Controller+ (2013-Present)

Big thanks to

Testing has revealed the need to change the scaling factor in the "About" page for V4.
I would suggest keeping the new PNG size as it looks perfect in the top toolbar.

What? No!
Toolbar icons are scaled, about icon is not.
Please stick to the original size (96px)

What? No! Toolbar icons are scaled, about icon is not. Please stick to the original size (96px)

Fixed.

Done!


[BC API 2.0 | item] Adjusted create item api documentation

property inventory and lastModifiedDateTime are not valid during insert.
there is also a bug with the itemCategoryCode it seems. i leave it in here for now and addressed the problem in the BusinessCentralApps repo issue/402
feel free to change this pr

Was able to get a callstack by reproducing this error in a page/action:
trigger OnAction()
begin
    Item.Init();
    Item.Validate("No.", Format(Random(99999)));
    Item.Validate(Description, 'My Item');
    // Item.Validate("Item Category Id", '626c8bcd-d83d-ee11-be71-6045bde9cbf2'); // works if this line is not commented out
    Item.Validate("Item Category Code", 'DESK');
    if Item.Insert(true) then
        Message('Item ' + Item."No." + ' created.');
end;

... results in ...
If requesting support, please provide the following details to help troubleshooting:

There is no Item within the filter.

Filters: No.: 13885

Internal session ID:
8c766417-940d-4c78-9913-f3b71b1d10de

Application Insights session ID:
582c91f0-1b5f-4f45-bd78-1d02338de612

Client activity id:
b573f994-c2ea-b3b3-dbd1-278ed38c2246

Time stamp on error:
2023-08-18T20:18:44.0250239Z

AL call stack:
"Item Attribute Value Mapping"(Table 7505).OnInsert(Trigger) line 9 - Base Application by Microsoft
"Item Attribute Management"(CodeUnit 7500).InsertItemAttributeValueMapping line 11 - Base Application by Microsoft
"Item Attribute Management"(CodeUnit 7500).InheritAttributesFromItemCategory line 21 - Base Application by Microsoft
Item(Table 27)."Item Category Code - OnValidate"(Trigger) line 5 - Base Application by Microsoft
MyPage(Page 50102)."ActionName - OnAction"(Trigger) line 6 - custom by otter


unable to build esp-matter Light example from cleanly cloned repos (CON-1017)

Describe the bug
Compile error while trying to build the example.
To me the error looks like a C++ compiler is being used instead of a C compiler when encountering the header file where the error appears. Namespace is a reserved keyword in C++.
Environment

ESP-Matter Commit Id: 886aa35 (latest on main branch as of 7 Feb 2024)
ESP-IDF Commit Id: 5454d37d49 (latest on master branch as of 7 feb 2024)
SoC (eg: ESP32 or ESP32-C3): ESP32-C6
Device Logs (Please attach the log file):
idf_py_stdout_output_1030498.txt
Host Machine OS: xubuntu 22.04LTS
Commissioner app and versions if present:
Commissioner's logs if present:

Any additional details
Because I kept running into this error, I decided to do a clean install, and followed all the instructions on the webpages of esp-idf and esp-matter when cloning the repositories and sourcing the export.sh scripts.
Since I managed to get it working in a previous commit, I will try to  find where exactly the error got introduced.

with esp-idf checked out at v5.3-dev and esp-matter at latest main branch commit, it builds fine

using git bisect, I find the following commit is the first where the example doesn't build anymore:
commit 92d20f6708ccfe43098e66cab023ba9de2e2bb02 (HEAD, refs/bisect/bad)
Author: SumeetSingh19<EMAIL_ADDRESS>Date:   Thu Jan 25 18:25:40 2024 +0530
feat(nimble): client presentation and aggregate format descriptor support

diff --git a/components/bt/host/nimble/nimble b/components/bt/host/nimble/nimble
index e6c502f259..0273e0e83a 160000
--- a/components/bt/host/nimble/nimble
+++ b/components/bt/host/nimble/nimble
@@ -1 +1 @@
-Subproject commit e6c502f259812a6d09064fb684e3b56195c80341
+Subproject commit 0273e0e83a05559809c317e41fa4fd88a244620e

@MarleenDev As per the documentation, the ESP-IDF version supported is v5.1.2.
On a related note, this issue is fixed internally in ESP-IDF and the fix will be pushed to Github soon.


Portals close to each other will spawn and replace each other

This is using the sample portals from this repo.
After placing the portals in a square and entering through each, they will override each other. Is this intended behavior?
Also, occasionally one of the portals blocks will turn black, and causes a crash when entering.

crash-2022-12-20_16.21.50-server.txt

Is this issuing obsidian as a portal frame?
That isn't really supposed to be supported, does this still occur with a different frame block?

This also seems to occur with a stone frame.


_XWAYLAND_RANDR_EMU_MONITOR_RECTS support

Depends on https://github.com/swaywm/wlroots/issues/633
_XWAYLAND_RANDR_EMU_MONITOR_RECTS allows Xwayland's emulated modesets to work correctly.
See https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1198

Is that the correct gnome merge request? This one seems more fitting:
https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/739

Err, indeed. Thanks.

Maybe it helps, for comparison implementation in KWinFT.


reviewdog does not report on PRs created by dependabot

When a dependency update is created by dependabot, reviewdog isn't updating the status checks on the PR. It started some days ago. Looks like that reviewdog can't find the results. Any clues about why this is happening only on PRs created by dependabot? The same action works with PRs created by other users. The action is being run with the command: reviewdog -reporter=github-check -tee
Here are the logs:
2021-04-13T11:06:59.6732273Z reviewdog/reviewdog info checking GitHub for latest tag
2021-04-13T11:06:59.9287018Z reviewdog/reviewdog info found version: 0.11.0 for v0.11.0/Linux/x86_64
2021-04-13T11:07:01.6295862Z reviewdog/reviewdog info installed /home/runner/bin/reviewdog
2021-04-13T11:07:01.6305933Z 2021/04/13 08:07:00 reviewdog: [start]	runner=rubocop
2021-04-13T11:07:18.4773708Z Inspecting 752 files
2021-04-13T11:07:18.4778227Z ................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
2021-04-13T11:07:18.4779010Z
2021-04-13T11:07:18.4779703Z 752 files inspected, no offenses detected
2021-04-13T11:07:18.4818125Z 2021/04/13 08:07:18 reviewdog: [finish]	runner=rubocop
2021-04-13T11:07:18.4819782Z 2021/04/13 08:07:18 reviewdog: [start]	runner=reek
2021-04-13T11:07:26.3534269Z 0 total warnings
2021-04-13T11:07:26.3592955Z 2021/04/13 08:07:26 reviewdog: [finish]	runner=reek
2021-04-13T11:07:26.3594030Z 2021/04/13 08:07:26 reviewdog: [start]	runner=brakeman
2021-04-13T11:07:32.1399931Z 2021/04/13 08:07:32 reviewdog: [finish]	runner=brakeman
2021-04-13T11:07:32.1400328Z
2021-04-13T11:07:32.1400708Z
2021-04-13T11:07:32.1401018Z
2021-04-13T11:07:32.1407695Z 2021/04/13 08:07:32 reviewdog: [start]	runner=standardjs
2021-04-13T11:07:32.2975377Z yarn run v1.22.10
2021-04-13T11:07:32.3322430Z $ standard app
2021-04-13T11:07:33.9095355Z Done in 1.62s.
2021-04-13T11:07:33.9173333Z 2021/04/13 08:07:33 reviewdog: [finish]	runner=standardjs
2021-04-13T11:07:34.1708792Z reviewdog: Reporting results for "brakeman"
2021-04-13T11:07:34.1710642Z reviewdog: No results found for "brakeman". 0 results found outside diff.
2021-04-13T11:07:34.1711793Z reviewdog: Reporting results for "reek"
2021-04-13T11:07:34.1712545Z reviewdog: No results found for "reek". 0 results found outside diff.
2021-04-13T11:07:34.1713233Z reviewdog: Reporting results for "rubocop"
2021-04-13T11:07:34.1714002Z reviewdog: No results found for "rubocop". 0 results found outside diff.
2021-04-13T11:07:34.1714697Z reviewdog: Reporting results for "standardjs"
2021-04-13T11:07:34.1715654Z reviewdog: No results found for "standardjs". 0 results found outside diff.

It is due to security updates of dependabot.
https://github.blog/changelog/2021-02-19-github-actions-workflows-triggered-by-dependabot-prs-will-run-with-read-only-permissions/

Starting March 1st, 2021 workflow runs that are triggered by Dependabot from push, pull_request, pull_request_review, or pull_request_review_comment events will be treated as if they were opened from a repository fork. This means they will receive a read-only GITHUB_TOKEN and will not have access to any secrets available in the repository. This will cause any workflows that attempt to write to the repository to fail.

updating the status checks requires write permission, but review receives a read-only GITHUB_TOKEN in these PRs.
reviewdog should fall back to -reporter=github-pr-check, but currently it doesn't.

It is due to security updates of dependabot.
https://github.blog/changelog/2021-02-19-github-actions-workflows-triggered-by-dependabot-prs-will-run-with-read-only-permissions/

Starting March 1st, 2021 workflow runs that are triggered by Dependabot from push, pull_request, pull_request_review, or pull_request_review_comment events will be treated as if they were opened from a repository fork. This means they will receive a read-only GITHUB_TOKEN and will not have access to any secrets available in the repository. This will cause any workflows that attempt to write to the repository to fail.

updating the status checks requires write permission, but reviewdog receives a read-only GITHUB_TOKEN in these PRs.
reviewdog should fall back to -reporter=github-pr-check, but currently it doesn't.

Thank you @shogo82148 we changed on: push to on: pull_request and it solved the issue for us:
on:
  pull_request:
  push:
    branches:
      - master

The only problem now is that the actions aren't run if we don't create a PR, but it is OK in our workflow.

I fixed creating a new workflow than run for pull_request_target
on:
  pull_request_target:
  push:
    branches-ignore:
      - dependabot/**

jobs:
  lint:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: haya14busa/action-cond@v1
        id: reporter
        with:
          cond: ${{ github.event_name == 'push' }}
          if_true: 'github-check'
          if_false: 'github-pr-review'
      - uses: reviewdog/action-eslint@v1
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
          eslint_flags: --ext .js,.ts,.tsx .
          reporter: ${{ steps.reporter.outputs.value }}


How handle clippy results

Since pull request #60 we integrated clippy checking to the nightly build to avoid such things like fixed in pull request #59. Unfortunately clippy currently only works for nightly build and since this is allowed to fail in our CI we won't get the infos. Nevertheless the warnings and errors are very meaningful. So we have the option to no longer allow nightly builds to fail or we have to extract the clippy results in another way, Any ideas or suggestions? ;)

I would simply deny failing on nightly.
The thing is that clippy does not support another output than text and the error messages in rust are changing very fast.

Alright, since these shitty windows builds are fixed hopefully (^^!) just let's do this. When really failing on nightly builds and it's not caused by clippy we can allow failing again since the issue is solved ;)

As discussed in gitter talk on 2017/06/01 -> closed


[FEATURE_REQUEST] Base path option

Is your feature request related to a problem? If so, please describe.
No response
Describe the solution you'd like
BasePath or similar option for when behind a reverse proxy.
I can run it fine by directly accessing the IP address, eg: <IP_ADDRESS>:4000, but if this is placed behind a reverse proxy with a subpath Dashy doesn't load at all.
The reason is due to absolute pathing when loading assets.
Lets say Dashy is hosted at mydomain.com/dashy, all requests will go to mydomain.com/. For example when requesting the manifest.json file, I can see it tries to request from mydomain.com/manifest.json instead of mydomain.com/dashy/manifest.json.
Adding in a BasePath or relative pathing config option, will allow for letting Dashy know that it should be requesting from a subdirectory.
I quickly checked the Config docs, but couldn't see anything relevant: https://github.com/Lissy93/dashy/blob/master/docs/configuring.md
I would imagine this would fall under the appConfig section.
Reopened since #923 was automatically closed.
Priority
Medium (Would be very useful)
Is this something you would be keen to implement
Yes!

    dashy/configuring.md at master · Lissy93/dashy   🚀 A self-hostable personal dashboard built for you. Includes status-checking, widgets, themes, icon packs, a UI editor and tons more! - dashy/configuring.md at master · Lissy93/dashy

There is the environment option BASE_URL, but for me, it does not work as expected.
I tried (as explained in multiple tickets around here and somewhat in https://github.com/Lissy93/dashy/blob/master/docs/management.md#passing-in-environmental-variables) the following.

set BASE_URL=dashy/ in my docker-compose.yml,
set appConfig.routingMode: hash in conf.yml, and
use apache reverse proxy with a) ProxyPass /dashy/ http://<IP_ADDRESS>:4000/ or b) ProxyPass /dashy/ http://<IP_ADDRESS>:4000/dashy/

For a) I can connect to dashy, but fail to load any assets because the initial response wants to load js and css from / and hence does not get proxied.
For b) (which would be the expected config) I receive Cannot GET /dashy from the node server.
So, I would very much welcome an implementation of that feature :)

Same behavior here. Using docker compose with BASE_URL=/dashy. Browser returns error: "Cannot GET /dashy".
Seems that BASE_URL env var is broken.

Still an issue

Still an issue

Why is the liss-bot even turned on for feature requests? @Lissy93 so we don't have to come in every 2 weeks to have the label removed, lol.

Still an issue

Has this issue been fixed yet?
Tried setting BASE_PATH=dashy/ in docker but it didn't change any of the requests Dashy makes. It still requests http://server/js/ instead of http://vault/dashy/js/.

Still an issue :<

Still an issue

I would find this very helpful too.

Hello, is there any workaround for this issue yet ?

same issue.

There is an example in the documentation here that tells you to use BASE_URL=/dashy.
However, this does not work. When I load the latest version (3.1.1), I get this error in my browser console:
https://example.com/conf.yml 404 (Not Found)
It should be pointing to https://example.com/dashy/conf.yml since this is where the assets should be. In fact, if I navigate to https://example.com/dashy/conf.yml, I can actually see my config! This seems like it should be a straightforward issue to fix, and I would consider it high priority since there is an example in your documentation.
I also see the same behavior for the favicon.ico and loading-screen.css (not behind /dashy). Otherwise the page seems to load just fine.


Bug Report: Can't start an instance #133

Describe the bug
I created a new instance on the dashboard, but when I start it, it suddenly shuts down after few seconds.
Using version 1.25 of hummingbot works fine
Traceback (most recent call last):
  File "/home/hummingbot/./bin/hummingbot_quickstart.py", line 15, in <module>
    from bin.hummingbot import UIStartListener, detect_available_port
  File "/home/hummingbot/bin/hummingbot.py", line 19, in <module>
    from hummingbot.client.hummingbot_application import HummingbotApplication
  File "/home/hummingbot/hummingbot/client/hummingbot_application.py", line 9, in <module>
    from hummingbot.client.command import __all__ as commands
  File "/home/hummingbot/hummingbot/client/command/__init__.py", line 2, in <module>
    from .config_command import ConfigCommand
  File "/home/hummingbot/hummingbot/client/command/config_command.py", line 8, in <module>
    from hummingbot.client.command.gateway_command import GatewayCommand
  File "/home/hummingbot/hummingbot/client/command/gateway_command.py", line 22, in <module>
    from hummingbot.client.ui.completer import load_completer
  File "/home/hummingbot/hummingbot/client/ui/completer.py", line 29, in <module>
    from hummingbot.strategy.strategy_v2_base import StrategyV2ConfigBase
  File "/home/hummingbot/hummingbot/strategy/strategy_v2_base.py", line 16, in <module>
    from hummingbot.connector.markets_recorder import MarketsRecorder
  File "/home/hummingbot/hummingbot/connector/markets_recorder.py", line 49, in <module>
    from hummingbot.smart_components.controllers.controller_base import ControllerConfigBase
ModuleNotFoundError: No module named 'hummingbot.smart_components.controllers.controller_base'

I tried on MacOS and WSL2.
Steps to reproduce
1.Fresh install of the dashboard
2.Create an instance
3.Try to start the instance
Release version
1.27
Type of installation
Source
Attach required files
No response

https://github.com/hummingbot/dashboard/issues/133