Certain shows with multiple seasons download wrong season

DLing Spy x Fam S2 with allanime results in files from S1.
server is set to Yt
Disabling automatic selection and manually choosing the correct season did not resolve. This can be verified by the first episode title being "Operation Strix" instead of the expected, "Follow Mama and Papa"
Any suggestions?

Well this is because by default normalize_titles is set to true which tries and guesses the anime title you want by finding the one with the closest match to one retrieved using the anilist api. Then after it's done guessing it replaces the episode title with the one provided by the anilist api. I chose to implement this since there are multiple providers and wanted a consistent naming of downloads. However, you can turn off this feature by checking the config section on how to do so or tldr set normalize_titles to false either in your config file or as a cmdline option.

I actually did search for the exact title, and also reattempted with the auto select disabled and using the title taken directly from the search results.
Ex.
fastanime download -t "Spy x Family Season 2"
``
What seems to be happening is that it downloads the correct season (Season 2), but then changes the episode titles to the wrong season (Season 1). I will keep normalize_titles as false for now, but it seems like there's an issue with getting episode titles from Anilist's API.

Should I mark this as closed and open a new issue for the anilist episode title mislabling?

As a sidenote, I do in fact have the completions installed, they help a lot with the commands.

As I have initially said it guesses so theres a chance it may get it wrong though I have rarely encountered such. Unless the provider title is entirely different from those provided by anilist api. The process of getting the title is search for the anime title you passed in the cmdline, then if enabled search for the matched provider title using the anilist api then select the best match by comparing provider title and anilist anime results titles. So obviously in the process of matching, in case there's a big difference in the provider title for the anime and that of anilist, normalisation may wrongly label an episode. For example in allanime one piece is named as 1p.If you would like to help, since there's no way I can check for difference in titles across all anime titles between provider and anilist, either edit the data file as described in the docs or open an issue containing provider title and expected title. And if you have the completions there is no need to type out the whole title like you have done. For example start typing Spy then tabAnd it will show you possibilities of the anime title you want, uses the anilist api by the way. Sent from my Samsung Galaxy smartphone.
-------- Original message --------From: Melvin Shajee @.> Date: 29/09/2024  22:06  (GMT+03:00) To: Benex254/FastAnime @.> Cc: BeneX254 @.>, Comment @.> Subject: Re: [Benex254/FastAnime] Certain shows with multiple seasons download wrong season (Issue #6)
I actually did search for the exact title, and also reattempted with the auto select disabled and using the title taken directly from the search results.
Ex.
fastanime download -t "Spy x Family Season 2"
What seems to be happening is that it downloads the correct season (Season 2), but then changes the episode titles to the wrong season (Season 1). I will keep normalize_titles as false for now, but it seems like there's an issue with getting episode titles from Anilist's API.
Should I mark this as closed and open a new issue for the anilist episode title mislabling?
As a sidenote, I do in fact have the completions installed, they help a lot with the commands.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.>
[
{
@.": "http://schema.org",
@.": "EmailMessage",
"potentialAction": {
@.": "ViewAction",
"target": "https://github.com/Benex254/FastAnime/issues/6#issuecomment-2381525688",
"url": "https://github.com/Benex254/FastAnime/issues/6#issuecomment-2381525688",
"name": "View Issue"
},
"description": "View this Issue on GitHub",
"publisher": {
@.***": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]

I have just confirmed with anilist api directly and found it is indeed the one to blame.
{
  "data": {
    "Page": {
      "media": [
        {
          "title": {
            "english": "SPY x FAMILY",
            "romaji": "SPY×FAMILY"
          },
          "streamingEpisodes": [
            {
              "title": "Episode 1 - OPERATION STRIX"
            },
            {
              "title": "Episode 2 - SECURE A WIFE"
            },
            {
              "title": "Episode 3 - PREPARE FOR THE INTERVIEW"
            },
            {
              "title": "Episode 4 - THE PRESTIGIOUS SCHOOL'S INTERVIEW"
            },
            {
              "title": "Episode 5 - WILL THEY PASS OR FAIL?"
            },
            {
              "title": "Episode 6 - THE FRIENDSHIP SCHEME"
            },
            {
              "title": "Episode 7 - THE TARGET'S SECOND SON"
            },
            {
              "title": "Episode 8 - THE COUNTER-SECRET POLICE COVER OPERATION"
            },
            {
              "title": "Episode 9 - SHOW OFF HOW IN LOVE YOU ARE"
            },
            {
              "title": "Episode 10 - THE GREAT DODGEBALL PLAN"
            },
            {
              "title": "Episode 11 - STELLA"
            },
            {
              "title": "Episode 12 - PENGUIN PARK"
            },
            {
              "title": "Episode 13 - PROJECT APPLE"
            },
            {
              "title": "Episode 14 - DISARM THE TIME BOMB"
            },
            {
              "title": "Episode 15 - A NEW FAMILY MEMBER"
            },
            {
              "title": "Episode 16 - YOR'S KITCHEN / THE INFORMANT'S GREAT ROMANCE PLAN"
            },
            {
              "title": "Episode 17 - CARRY OUT THE GRIFFIN PLAN / FULLMETAL LADY / OMELET RICE♥"
            },
            {
              "title": "Episode 18 - UNCLE THE PRIVATE TUTOR / DAYBREAK"
            },
            {
              "title": "Episode 19 - A REVENGE PLOT AGAINST DESMOND / MAMA BECOMES THE WIND"
            },
            {
              "title": "Episode 20 - INVESTIGATE THE GENERAL HOSPITAL / DECIPHER THE PERPLEXING CODE"
            },
            {
              "title": "Episode 21 - NIGHTFALL / FIRST FIT OF JEALOUSY"
            },
            {
              "title": "Episode 22 - THE UNDERGROUND TENNIS TOURNAMENT: THE CAMPBELLDON"
            },
            {
              "title": "Episode 23 - THE UNWAVERING PATH"
            },
            {
              "title": "Episode 24 - THE ROLE OF A MOTHER AND WIFE / SHOPPING WITH FRIENDS"
            },
            {
              "title": "Episode 25 - FIRST CONTACT"
            }
          ]
        },
        {
          "title": {
            "english": "SPY x FAMILY",
            "romaji": "SPY×FAMILY"
          },
          "streamingEpisodes": []
        },
        {
          "title": {
            "english": "Spy x Family: Family Portrait",
            "romaji": "SPYxFAMILY: Kazoku no Shouzou"
          },
          "streamingEpisodes": []
        },
        {
          "title": {
            "english": "SPY x FAMILY Season 2",
            "romaji": "SPY×FAMILY Season 2"
          },
          "streamingEpisodes": [
            {
              "title": "Episode 1 - OPERATION STRIX"
            },
            {
              "title": "Episode 2 - SECURE A WIFE"
            },
            {
              "title": "Episode 3 - PREPARE FOR THE INTERVIEW"
            },
            {
              "title": "Episode 4 - THE PRESTIGIOUS SCHOOL'S INTERVIEW"
            },
            {
              "title": "Episode 5 - WILL THEY PASS OR FAIL?"
            },
            {
              "title": "Episode 6 - THE FRIENDSHIP SCHEME"
            },
            {
              "title": "Episode 7 - THE TARGET'S SECOND SON"
            },
            {
              "title": "Episode 8 - THE COUNTER-SECRET POLICE COVER OPERATION"
            },
            {
              "title": "Episode 9 - SHOW OFF HOW IN LOVE YOU ARE"
            },
            {
              "title": "Episode 10 - THE GREAT DODGEBALL PLAN"
            },
            {
              "title": "Episode 11 - STELLA"
            },
            {
              "title": "Episode 12 - PENGUIN PARK"
            },
            {
              "title": "Episode 13 - PROJECT APPLE"
            },
            {
              "title": "Episode 14 - DISARM THE TIME BOMB"
            },
            {
              "title": "Episode 15 - A NEW FAMILY MEMBER"
            },
            {
              "title": "Episode 16 - YOR'S KITCHEN / THE INFORMANT'S GREAT ROMANCE PLAN"
            },
            {
              "title": "Episode 17 - CARRY OUT THE GRIFFIN PLAN / FULLMETAL LADY / OMELET RICE♥"
            },
            {
              "title": "Episode 18 - UNCLE THE PRIVATE TUTOR / DAYBREAK"
            },
            {
              "title": "Episode 19 - A REVENGE PLOT AGAINST DESMOND / MAMA BECOMES THE WIND"
            },
            {
              "title": "Episode 20 - INVESTIGATE THE GENERAL HOSPITAL / DECIPHER THE PERPLEXING CODE"
            },
            {
              "title": "Episode 21 - NIGHTFALL / FIRST FIT OF JEALOUSY"
            },
            {
              "title": "Episode 22 - THE UNDERGROUND TENNIS TOURNAMENT: THE CAMPBELLDON"
            },
            {
              "title": "Episode 23 - THE UNWAVERING PATH"
            },
            {
              "title": "Episode 24 - THE ROLE OF A MOTHER AND WIFE / SHOPPING WITH FRIENDS"
            },
            {
              "title": "Episode 25 - FIRST CONTACT"
            }
          ]
        },
        {
          "title": {
            "english": "SPY x FAMILY Cour 2",
            "romaji": "SPY×FAMILY Part 2"
          },
          "streamingEpisodes": []
        },
        {
          "title": {
            "english": "SPY x FAMILY CODE: White",
            "romaji": "SPY×FAMILY CODE: White"
          },
          "streamingEpisodes": []
        },
        {
          "title": {
            "english": "Four Lives Remain: Tatsuya Endo Before Spy x Family",
            "romaji": "Shihou Yuugi: Endou Tatsuya Tanpenshuu"
          },
          "streamingEpisodes": []
        },
        {
          "title": {
            "english": "Street Fighter 6 VS SPY×FAMILY CODE: White",
            "romaji": "Street Fighter 6 × SPY×FAMILY CODE: White"
          },
          "streamingEpisodes": []
        }
      ]
    }
  }
}

I can't do anything about this one. So am going to close it as completed unless you have anything to add?

Nope, sounds good. Thank you for your time.


Added 3 buttons to NavBar

Description
Please include a summary of the change and which issue is fixed. Also include relevant motivation and context.

Fixes #(issue number)

Type of change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation update
[ ] Tests update

Checklist

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] My changes generate no new warnings
[ ] New and existing unit tests pass locally with my changes
[ ] I have maintained a clean commit history by using the necessary Git commands
[ ] I have checked that my code does not cause any merge conflicts

Screenshots (if applicable)
Add screenshots to help explain the changes (if necessary).

@praneethasingh, @Prakhar29Sharma, kindly review the PR

https://github.com/Scribbie-Notes/notes-app/issues/18 is fixed

kindly add the screenshots @bhargava-raju

kindly add the screenshots @bhargava-raju

Kindly place all the three buttons on right side .


Update gtk-3.mustache

Add missing colors that are assigned in FlatColor gtk-3.2 css file.

Also changed README.md to fix importing issue with gtk-3 and gtk-3.2 themes.

Hey, nice catch on the readme.
About the color defines, i think we don't need them.
The colors from 0 to 15 are only actually used on these definitions:
selected_bg_color
bg_color mix
tooltip_bg_color
base_color
fg_color
text_color
text_color_disabled
selected_fg_color
tooltip_fg_color

Which are already covered in the template.

About the color defines, i think we don't need them.

You're right, I took a quick look at the theme css file and couldn't really find the colors used somewhere but I guessed they may have had some use.
I did find that we haven't specified a color for text_color_disabled yet. Dunno if it's useful or not though.

Oh right, forgot about that one haha. I think it didn't cause any visible issues, but should be nice to have. Feel free to add it in your fork, if you want. Or else i can merge this as is and add it myself

Thanks for the fixes and input ❤

I added it as base03 as text_disabled_color since the base16 spec says it's for comments, guess that'll be more than enough? I didn't find any problems without defining it myself so far either.

Thanks for the fixes and input heart

Thank you for your wonderful project heart !
It took me a whole day to get the hang of, but it's really straightforward and pretty damn fast once you do.
I've migrated most of my configs from pywal already, and I'll look forward to helping this project grow in any way I can!

Looking great!
Thank you for giving it a try and helping out, glad something i built could be useful 😍


Ability to run .NET code as part of pre or post build task

Describe the solution you'd like
As I understand it at present, pre & post build scripts need to be Bash or Powershell (iOS & Android, UWP respectively). It would be great if we could also run .NET Core .dlls or maybe even .NET .exes during this process.
Describe alternatives you've considered
I can do this at present with Azure DevOps with the build pipelines. It would be great to do it directly from App Center.

@knightmeister Which task in Azure DevOps do you use?

@DennisPan I'm in the process of setting it up, but it's right there in the tasks list at the top:

@knightmeister I assume that's using the .NET Core CLI? Have you tried running dotnet in pre $ post build scripts?


Maintaining PWM output during sleep/hibernate modes

Hi,
First of all, thanks for this great library!
I have a project (it will use either Teensy 3.2 or LC, still TBD) where I need to output PWM for a about a second, and then possibly update the PWM value, wait another second, and so forth. I want to put the MCU into a sleep mode in order to save power during the wait period. Is this possible?
This is the code I tried, however it does not seem to work.
Code:
/*`
	AnalogWrite with snooze test
	01/01/2017
 */

#include <Snooze.h>
SnoozeTimer timer;
SnoozeBlock config(timer);

void setup() {
  pinMode(3, OUTPUT);
  pinMode(LED_BUILTIN, OUTPUT);
  timer.setTimer(1000);
}

void loop() {
	analogWrite(3, 32);
	Snooze.hibernate(config);
	analogWrite(3, 0);
	blink();
	analogWrite(3, 64);
	Snooze.hibernate(config);
	analogWrite(3, 0);
	blink();
	analogWrite(3, 128);
	Snooze.hibernate(config);
	analogWrite(3, 0);
	blink();
	analogWrite(3, 256);
	Snooze.hibernate(config);
	analogWrite(3, 0);
	blink();
}

void blink() {
	for (int i = 0; i < 2; i++) {
		digitalWrite(LED_BUILTIN, HIGH);
		delay(200);
		digitalWrite(LED_BUILTIN, LOW);
		delay(200);
	}
}

This code is supposed to sweep the PWM output of pin 3 after a wait period of a second. It also blinks the onboard LED two times between transitions.
When I run this, I don't see the PWM rate updating. What I see instead is that pin 3 will be stuck to either high or low during the sleep. It seems like that pin gets stuck at whatever the PWM output was just as the MCU entered the sleep mode.
Any insights and tips are appreciated. Thank you and a happy new year!

I'm going to close this issue.


Conversations.replies, plus reimplement the pager of conversations.history

Related: https://github.com/jpvillaisaza/slack-web/issues/82
Important commits are:

Implement conversations.replies

(WIP)(NOT WORKING) Implement conversations.replies and add a command … · jpvillaisaza/slack-web@be6e397
Fix: Don't add to query parameters if Nothing · jpvillaisaza/slack-web@6d1404c

Rewrite the function to get all paginated responses from conversation… · jpvillaisaza/slack-web@c153f51
Rewrite the function to get all replies in a thread · jpvillaisaza/slack-web@ac42197
Test pagination of conversations.replies · jpvillaisaza/slack-web@4339ef6

Refactor the tests · jpvillaisaza/slack-web@2482a79

Note about the unverified commits: I recently updated the email address of the key CEE2152B8AA08691, but I shouldn't have done that. It seems that only one email address is attached to a signing key. So I must add a new subkey with
Anyway both<EMAIL_ADDRESS>and<EMAIL_ADDRESS>are my address (See https://github.com/igrep).

Hey @igrep! Thank you for your work on the library. I invited you as collaborator of the repository so that you can merge pull requests going forward (and open them without using a fork if you prefer). I can also add you as a Hackage maintainer so you can upload new versions of the library (if this sounds good, can you give me your Hackage username?).
I'm not currently using the library, so I might be slow to review or might not keep up with all the changes. Feel free to request a review from me, but also feel free to merge your changes if I don't get back to you soon.

I can also add you as a Hackage maintainer so you can upload new versions of the library (if this sounds good, can you give me your Hackage username?).

Thank you! The user name of my Hackage account is same as GitHub: http://hackage.haskell.org/user/igrep

@igrep Great! I added you as maintainer.

After merging this pull request, I'll use the development version for https://github.com/haskell-jp/slack-log to find some points to improve. Then, I want to deprecate (or delete) the old APIs which is going to be shut down by https://api.slack.com/changelog/2020-01-deprecating-antecedents-to-the-conversations-api, before releasing the new version.


Drill memory should be configurable

Drill memory should be configurable in group_vars/all
https://mapr.com/docs/60/Drill/step_1_configure_drill.html?hl=drill

I'm interested in you not in the hurry to try doing that

Done on devmapr61 branch


Revise glossary entry for Service

Split out from https://github.com/kubernetes/website/pull/30817
View that PR to see these changes in context.

improve glossary entry for Service [preview]

Preview 2: https://deploy-preview-38054--kubernetes-io-main-staging.netlify.app/docs/concepts/services-networking/service/

How's this?

/lgtm

/approve


Updating SLDS.resource to version 1.0.0

@njjc @jlantz why isn't this pull request getting marked as a build pending or passing (or failing)?

@davidhabib looks like it was in process of building when the dev flow happened, and it hat to wait until that one was done to rebuild.


Unexpected input using Alt modifier in Kitty terminal.

Steps to reproduce
My goal is to use meta/alt key mappings in Vim. Lowercase letter mappings (e.g <M-a>) work just fine when using Kitty, but uppercase mappings (eg <M-A>) do not. I do not encounter this issue in other terminals that I have tried: macOS Terminal.app and WezTerm. In each of these three terminals, I am using the appropriate configuration to treat Alt as Meta rather than the macOS default alternate characters; macos_option_as_alt on Kitty, Use Option as Meta key in Terminal.app settings, and send_composed_key_when_left_alt_is_pressed in WezTerm.
While trying to troubleshoot why my mappings were not working, I noticed that Vim seems to interpret input from Kitty differently than other terminals, at least when it comes to the Alt modifier.
First in compatible mode:

Open Kitty with the minimal configuration kitty -c NONE -o macos_option_as_alt=both
Open Vim with vim -u NONE -C
In insert mode, enter the sequence Ctrl-v Alt-b Ctrl-v Alt-B
Escape back to normal mode.
Verify that the buffer contains ^[b^[B.

Now repeat the above in incompatible mode and notice the final difference in the buffer content:

Open Kitty with the minimal configuration kitty -c NONE -o macos_option_as_alt=both
Open Vim with vim -u NONE -N
In insert mode, enter the sequence Ctrl-v Alt-b Ctrl-v Alt-B
Escape back to normal mode.
Verify that the buffer contains ââ.

In both WezTerm and Terminal.app, the buffer content is ^[b^[B in both cases. The ââ in Kitty is odd. When I run sed -n l in Kitty and type Alt-b Alt-B I get the expected output ^[b^[B.
For an example of the mappings I am trying to achieve, here is a minimal vimrc:
set nocompatible
set ttimeout
set ttimeoutlen=100

map <Esc>b <M-b>
map <Esc>B <M-B>

nnoremap <M-b> <Cmd>bnext<CR>
nnoremap <M-B> <Cmd>bprevious<CR>

With that minimal config saved as ~/reproduce.vim and running Vim as vim --clean -u ~/reproduce.vim, the Alt-b and Alt-B maps work just fine in macOS Terminal.app and WezTerm. In Kitty, though, only the Alt-b map works and Alt-B does nothing (that I can see).
Expected behaviour

I expect the sequence Ctrl-v Alt-b Ctrl-v Alt-B in insert mode in Kitty to produce ^[b^[B and not ââ.
I expect the two mappings <M-b> and <M-B> as defined in the minimal vim configuration above to work in Kitty as well as Terminal.app and WezTerm.

Version of Vim
9.0.1250
Environment
OS: macOS Ventura 13.1
Terminals: Kitty 0.26.5, Terminal.app 2.13, WezTerm 20221119-145034-49b9839f
$TERM: xterm-kitty, xterm-256color, wezterm
Shell: zsh 5.8.1 (x86_64-apple-darwin22.0)
Logs and stack traces
I am not sure how to get relevant logs for this issue, but I would be happy to provide some if given instructions.

I can reproduce getting different results depending on whether "-C" or "-N" was used.
The character you get with "-N" seems correct: 'b' with Alt applied results in â (which is decimal 226, same as 98 + 128, where 98 is 'b' and 18 is added for Alt.
I assume that for "Alt-B" you actually press both Alt and Shift, right?
I haven't found yet why using "-C" works differently.  I haven't looked at the mapping stuff yet.

Thanks for the reply. You are correct that for Alt-B I am pressing Alt+Shift+b. I have a limited understanding of how terminals handle keyboard input, but should Alt+Shift+b also produce â? I would expect a different character depending on the presence of Shift.
It's unclear to me if I am setting up the mappings correctly, so I am open to suggestions. I couldn't get Vim to recognize <M- mappings in any terminal without statements like map \eb <M-b> or map ^[b <M-b>, which I based on the output of Ctrl-v.

Thanks for the reply. You are correct that for Alt-B I am pressing
Alt+Shift+b. I have a limited understanding of how terminals handle
keyboard input, but should Alt+Shift+b also produce â? I would expect a
different character depending on the presence of Shift.

Yes, adding Shift should give a different character.  The problem might
be that Vim expects the terminal to apply Shift to the character, but
Kitty isn't doing that.  For letters it's easy to handle, but otherwise
it depends on the keyboard layout, which Vim has no knowledge about.

It's unclear to me if I am setting up the mappings correctly, so I am
open to suggestions. I couldn't get Vim to recognize <M- mappings in
any terminal without statements like map \eb <M-b> or map ^[b <M-b>,
which I based on the output of Ctrl-v.

Some terminals have a possibility to have the Alt key prefix an Escape
character.  Vim doesn't handle that, because it is ambiguous.  Make sure
your terminal isn't configured to use Alt like that.
--
UPS - Unknown Package Status
/// Bram Moolenaar -- @.*** -- http://www.Moolenaar.net   \
///                                                                      \
\\        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

I noticed this pitfall a long time ago.  It also affects a terminal in which modifyOtherKeys is enabled, as well as the GUI.
MRE:
$ vim -Nu NONE -g +'nnoremap <unique> <M-G> <Scriptcmd>echo "M-G"<CR>' \
                  +'nnoremap <unique> <M-S-G> <Scriptcmd>echo "M-S-G"<CR>'

Gives this error:
E227: mapping already exists for Ç

Never mind, I can reproduce even in a terminal where modifyOtherKeys is disabled.  A patch must have changed this behavior.  In any case, I don't know how to map anything to <M-[A-Z]> in kitty.

Neither of these work:
$ vim -Nu NONE +'nnoremap <M-B> <Cmd>echomsg "M-B"<CR>'
$ vim -Nu NONE +'nnoremap <M-S-b> <Cmd>echomsg "M-B"<CR>'
$ vim -Nu NONE +'nnoremap <M-S-B> <Cmd>echomsg "M-B"<CR>'

Pressing meta + shift + b has no effect in kitty (but they do in xterm).

According to :help --log, here is what Vim receives in kitty when meta + shift + b are pressed:
raw key input: "^[[98;132u"

And in xterm:
raw key input: "^[[27;4;66~"

Also, in xterm, I wonder why Vim conflates <M-B> with <M-S-B>:
$ vim -Nu NONE +'nnoremap <M-B> <Cmd>echomsg "M-B"<CR>'
# pressing "meta + shift + b" prints "M-B"

But not <C-B> with <C-S-B>:
$ vim -Nu NONE +'nnoremap <C-B> <Cmd>echomsg "C-B"<CR>'
# pressing "ctrl + shift + b" prints nothing

And since Vim makes a distinction between <C-B> and <C-S-B>
$ vim -Nu NONE +'nnoremap <C-B> <Cmd>echomsg "C-B"<CR>' \
               +'nnoremap <C-S-B> <Cmd>echomsg "C-S-B"<CR>'
# pressing "ctrl + b" prints "C-B"
# pressing "ctrl + shift + b" prints "C-S-B"

Then why does it give an error when we pass the <unique> argument to :map:
$ vim -Nu NONE +'nnoremap <unique> <C-B> <Cmd>echomsg "C-B"<CR>' \
               +'nnoremap <unique> <C-S-B> <Cmd>echomsg "C-S-B"<CR>'

E227: Mapping already exists for ^B

According to :help --log, here is what Vim receives in kitty when meta + shift + b are pressed:
raw key input: "^[[98;132u"

And in xterm:
raw key input: "^[[27;4;66~"

Yeah, it appears Kitty doesn't apply the shift modifier to the
character.  It's easy enough to do on the Vim side for letters, but with
other keys we would have to guess what Shift does to a character.
The modifier value suggests you actually have a Meta key.  I have been
wondering if Vim should recognize this modifier and handle it like Alt.
Otherwise you can't really do anything with it.
--
From "know your smileys":
:----}  You lie like Pinocchio
/// Bram Moolenaar -- @.*** -- http://www.Moolenaar.net   \
///                                                                      \
\\        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

Also, in xterm, I wonder why Vim conflates <M-B> with <M-S-B>:
$ vim -Nu NONE +'nnoremap <M-B> <Cmd>echomsg "M-B"<CR>'
# pressing "meta + shift + b" prints "M-B"

But not <C-B> with <C-S-B>:
$ vim -Nu NONE +'nnoremap <C-B> <Cmd>echomsg "C-B"<CR>'
# pressing "ctrl + shift + b" prints nothing

And since Vim makes a distinction between <C-B> and <C-S-B>
$ vim -Nu NONE +'nnoremap <C-B> <Cmd>echomsg "C-B"<CR>' \
               +'nnoremap <C-S-B> <Cmd>echomsg "C-S-B"<CR>'
# pressing "ctrl + b" prints "C-B"
# pressing "ctrl + shift + b" prints "C-S-B"

Then why does it give an error when we pass the <unique> argument to :map:
$ vim -Nu NONE +'nnoremap <unique> <C-B> <Cmd>echomsg "C-B"<CR>' \
               +'nnoremap <unique> <C-S-B> <Cmd>echomsg "C-S-B"<CR>'

E227: Mapping already exists for ^B

Guessing (I haven't tried debugging this): with mappings like this, Vim
adds both a "simplified" mapping and a "precise" mapping.  The first is
used for terminals that do not pass the modifiers, only the resulting
character.  The second is used when the modifyOtherKeys or kitty key
protocol is supported.  In the first case you can't tell some key
combinations apart.
As soon as Vim knows the "precise" mappings are to be used, the
"simplified" ones are no longer used.  But you add these mappings before
Vim knows this.  So should the meaning of  be adjusted assuming
a key protocol will be available?  I'm not sure (which usually means
it's probably best to leave it as it is).
--
From "know your smileys":
y:-)	Bad toupee
/// Bram Moolenaar -- @.*** -- http://www.Moolenaar.net   \
///                                                                      \
\\        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

According to :help --log, here is what Vim receives in kitty when meta + shift + b are pressed:
raw key input: "^[[98;132u"

@lacygoill Thank you for pointing out the --log option. It seems like a helpful tool for debugging my issue. Were you using the macos_option_as_alt Kitty setting when you captured that log input? With macos_option_as_alt=both and vim -Nu NONE --log vim.txt, I actually get the raw key inputs [98;3u and [98;4u for Alt+b and Alt+Shift+b, which seem to match the schema described in the Kitty keyboard protocol:
Alt+b -> 98;3u -- 98 for b and 3 (1 + 0b10) for the alt modifier
Alt+Shift+b -> 98;4u -- 98 for b and 4 ( 1 + 0b10 + 0b1) for the shift and alt modifiers
I can confirm Vim reports using the Kitty keyboard protocol when executing as vim -Nu NONE:
Kitty keyboard protocol: On
v  <BS>          "-d
v  <D-x>         "*d
v  <D-c>         "*y
v  <D-v>         "-d"*P
n  <D-v>         "*P
Press ENTER or type command to continue

Here's the relevant part of my log file, showing me pressing i to go into insert mode and then Alt+b followed by Alt+Shift+b:
  1.707207 : raw key input: "i"
  1.707278 : SafeState: reset: key typed
  1.707393 : SafeState: Start triggering
  1.707427 : raw terminal output: "-- INSERT --"
  1.707442 : looking for messages on channels
  1.707454 : SafeState: back to waiting, triggering SafeStateAgain
  3.096433 : raw key input: ""
  3.096513 : SafeState: reset: key typed
  3.100908 : SafeState: Start triggering
  3.100938 : setting timeout timer to 2 sec 0 nsec
  3.101062 : raw terminal output: "√¢                                                                                "
  3.101077 : looking for messages on channels
  3.101087 : SafeState: back to waiting, triggering SafeStateAgain
  5.209017 : raw key input: ""
  5.209109 : SafeState: reset: ins_typebuf()
  5.209163 : SafeState: Start triggering
  5.209191 : setting timeout timer to 2 sec 0 nsec
  5.209327 : raw terminal output: "√¢"
  5.209345 : looking for messages on channels
  5.209372 : SafeState: back to waiting, triggering SafeStateAgain

It seems like Vim is not interpreting [98;3u and [98;4u correctly? Once again, I appreciate the help. I have already learned quite a bit from the replies.

Yeah, it appears Kitty doesn't apply the shift modifier to the
character.  It's easy enough to do on the Vim side for letters, but with
other keys we would have to guess what Shift does to a character.

Supporting letters would cover most needs.  The only M-S- chord for which I map something in Vim uses a letter (<M-S-G>).

The modifier value suggests you actually have a Meta key.

I have a very common and cheap keyboard, and am on Ubuntu 20.04.

I have been wondering if Vim should recognize this modifier and handle it like Alt.
Otherwise you can't really do anything with it.

If it helps supporting more chords out of the box, then yes definitely.

Were you using the macos_option_as_alt Kitty setting when you captured that log input?

No, I'm using linux not macos, so I don't set this option.

Yeah, it appears Kitty doesn't apply the shift modifier to the
character.  It's easy enough to do on the Vim side for letters, but with
other keys we would have to guess what Shift does to a character.

Supporting letters would cover most needs.  The only M-S- chord for
which I map something in Vim uses a letter
(<M-S-G>).

The modifier value suggests you actually have a Meta key.

I have a very common and cheap keyboard, and am on Ubuntu 20.04.

It doesn't depend on the price :-).  No matter if the keyboard actually
has a key labelled Meta, the configuration can change keys to mean Meta.
Perhaps the Windows key can be used as Meta key.

I have been wondering if Vim should recognize this modifier and handle it like Alt.
Otherwise you can't really do anything with it.

If it helps supporting more chords out of the box, then yes definitely.

Currently Vim considers the "M" modifier the same as "A".  If we
consider Meta similar to the Command key on Mac, then we could use the
"D" modifier.  Might be confusing though.  The code actually supports
the "T" modifier for Meta, but I can't find it documented in the help.
It seems it's only implemented for GTK, Motif and xterm.
--
From "know your smileys":
;-0	Can't find shift key
,-9	Kann Umschalttaste nicht finden
/// Bram Moolenaar -- @.*** -- http://www.Moolenaar.net   \
///                                                                      \
\\        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

Well, please don't use "D" for Meta, because it's already used for Command on Mac.  We don't want to blur Command and Meta together.  The whole point of the kitty protocol is to disambiguate.

Hi all, I am going to close this issue in favor of https://github.com/vim/vim/issues/11936, which more succinctly describes the issue I am encountering. I've used information learned from the replies here to, hopefully, describe the problem more accurately. I have realized that with the Kitty Keyboard Protocol, I have no need for lines like map <Esc>b <M-b> to get Alt mappings to work.

Well, please don't use "D" for Meta, because it's already used for
Command on Mac.  We don't want to blur Command and Meta together.  The
whole point of the kitty protocol is to disambiguate.

It turns out the "T" key was already implemented to be used for Meta.
We can use that one.  It's not mentioned in the help and I doubt anyone
is using it, but might as well use it now.
For the Kitty keyboard protocol the modifiers "super" and "hyper" are
also defined, even though I have never seen them used.  I think they
should also be handled like "meta".  I don't really want to add
modifiers that only work with one key protocol.
--
From "know your smileys":
...---...   SOS
/// Bram Moolenaar -- @.*** -- http://www.Moolenaar.net   \
///                                                                      \
\\        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

The character to use for the Meta key is "T".  Try these:

None of these work in kitty.  But M does work since the patch 9.0.1276.  As far as I'm concerned, the issue is now fixed, thank you very much.

Would it be OK to assume the US layout?  Then at least it will work for some people.

I don't know.  I guess someone with a different layout could still install their mappings, but they would have to know what is the correspoding key in a US layout.  I think keyd lets the user discover that key:
$ sudo keyd --monitor

For example, on my AZERTY keyboard, the keycap in the upper-left corner (below ESC and the function keys) has a "two superscript" marking on it.  But according to keyd(1), in a QWERTY layout, that key actually produces a backtick.  So if I wanted to map something to the chord Meta/Alt + Shift + ², in Vim I would need to write a backtick:
nnoremap <M-S-`> <Cmd>echomsg 'so some stuff'<CR>
              ^
              ✔

Not a superscript two:
nnoremap <M-S-²> <Cmd>echomsg 'so some stuff'<CR>
              ^
              ✘

We would need to document this pitfall, and give some context.

I noticed this pitfall a long time ago.  It also affects a terminal in which modifyOtherKeys is enabled, as well as the GUI.
MRE:
$ vim -Nu NONE -g +'nnoremap <unique> <M-G> <Scriptcmd>echo "M-G"<CR>' \
                  +'nnoremap <unique> <M-S-G> <Scriptcmd>echo "M-S-G"<CR>'

Gives this error:
E227: mapping already exists for Ç

What happens here is not very logical:  differs from .
The first one has an upper case "G", which then get Meta (Alt) applied,
thus the 8th bit is set.  That result in Ç.   does the same,
since the Shift modifier doesn't change "G".
It does work if  is changed to .  Then the simplified form,
with the 8th bit set, is ç.
Since this is illogical I thought of perhap changing  to work like
, but that would probably cause problems for existing mappings.  I
think we need to keep it like it was.
--
From "know your smileys":
:-{}	Too much lipstick
/// Bram Moolenaar -- @.*** -- http://www.Moolenaar.net   \
///                                                                      \
\\        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

For the Kitty keyboard protocol the modifiers "super" and "hyper" are also defined, even though I have never seen them used.  I think they should also be handled like "meta".  I don't really want to add modifiers that only work with one key protocol.

"Super" is the Command key when using linux with an Apple keyboard.
The whole point of the kitty protocol, for me, is to finally enable using the Command key as a modifier inside non-GUI vim.  Some key protocol has to be the first.

I figured out that the difference in 'compatible' mode is from the 'esckeys' option, which makes sense.
I'll make a patch to apply the shift key to ASCII letters, then most of this works as expected.  I still think Kitty should have applied the shift key, since it requires knowing the keyboard layout to do this properly and Vim doesn't have this information.


[ZEPPELIN-1534] Does not load dependency library when creating new interpreter.

What is this PR for?
This PR fixes dependency library loading bug when creating new interpreter.
What type of PR is it?
Bug Fix
What is the Jira issue?
https://issues.apache.org/jira/browse/ZEPPELIN-1534
How should this be tested?

Create new JDBC interpreter refer to http://zeppelin.apache.org/docs/0.7.0-SNAPSHOT/interpreter/jdbc.html#mysql.
Create new paragraph for testing new JDBC interpreter.
Run paragraph.

Questions:

Does the licenses files need update? no
Is there breaking changes for older versions? no
Does this needs documentation? no

Tested and LGTM


Kiota deserializers for Python are not tolerant of properties with an explicit "null" value

If the response from a service contains a property -- in particular a property with an object schema -- with the value null, the Kiota deserializer logic with throw an exception.  Here's an example:
Exception has occurred: AttributeError       (note: full exception trace is shown but execution is paused at: _run_module_as_main)
*
'NoneType' object has no attribute 'items'
  File "/opt/homebrew/lib/python3.10/site-packages/kiota_serialization_json/json_parse_node.py", line 272, in _assign_field_values
    for key, val in object_dict.items():
  File "/opt/homebrew/lib/python3.10/site-packages/kiota_serialization_json/json_parse_node.py", line 221, in get_object_value
    self._assign_field_values(result)
  File "/Users/mikekistler/Projects/mikekistler/kiota/client/models/input_test_artifacts.py", line 99, in <lambda>
    "config_url": lambda n : setattr(self, 'config_url', n.get_object_value(file_url.FileUrl)),
  File "/opt/homebrew/lib/python3.10/site-packages/kiota_serialization_json/json_parse_node.py", line 276, in _assign_field_values
    deserializer(JsonParseNode(val))
  File "/opt/homebrew/lib/python3.10/site-packages/kiota_serialization_json/json_parse_node.py", line 221, in get_object_value
    self._assign_field_values(result)
  File "/Users/mikekistler/Projects/mikekistler/kiota/client/models/test_model.py", line 177, in <lambda>
    "input_artifacts": lambda n : setattr(self, 'input_artifacts', n.get_object_value(input_test_artifacts.InputTestArtifacts)),
  File "/opt/homebrew/lib/python3.10/site-packages/kiota_serialization_json/json_parse_node.py", line 276, in _assign_field_values
    deserializer(JsonParseNode(val))
...

I know that null is technically not a valid value for an object property -- or any other type for that matter -- but it is common for Azure services to use null to signify that an optional property is not set.
I think there should be a way to configure the Kiota deserializers to treat properties with null values as if they were not present.

Hi @mikekistler,
Thanks for reporting this.
I'm trying to understand better the limitations here, whether it's specific to python or it's a kiota design limitation.
Can you share the model class that contains the property? As well as the payload you'd have expected for that model please?
Thanks!

Thanks for sharing those additional elements.
Slight remark here, from a pure OpenAPI perspective and looking at the payload, I believe the description is incorrect, "nullable" should be set to true in the description.
This aspect however doesn't impact kiota which treats all properties as nullable (because they might not be selected, etc...).
I believe we should treat this as a bug specific to python where JSON null should be handled the same way as no value and it shouldn't fail.
Transferring to the right repo.


Update dependencies

Summary by CodeRabbit

Chores

Updated dependency versions for improved performance and maintenance.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>5
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build<PHONE_NUMBER>2:
0.0%

Covered Lines:
19

Relevant Lines:
19

💛  - Coveralls


Fix accidentally stop and sluggish response

This tool is awesome❤
After months of usage, I have noticed a few issues.

The tool may accidentally stop when my laptop is unplugged from the power supply.
The tool may accidentally stop when the system has been up for days.
When the processor load is heavy, it can be sluggish in response.

I looked into it by myself, finding that those problems would only happen when running as administrator + run at startup, so this is likely caused by a misconfigured scheduler task. Further digging into it, I found that there was something wrong with the current scheduler task configuration.

And the task started by the task scheduler seems to run at a lower priority, which can be easily preempted by normal tasks.

All of these issues are caused by the default value in the TaskScheduler library, what we all need is to add a few lines of code to explicitly configure those settings, and everything would work fine.
Aside from my issues, this may also fix #34 #43 .

Thank you very much for your research through these issues!
I'll merge this right now, thank's again!


Can't display changed icon in VS2019

Versions:
VS : 2019 Community
TSVN : 4.8.52
In VS2019 can't display any changed(red icon) or no change(green icon) status in file, is it a bug or my setting problem?

tldr; Not (yet) implemented
Please read the wiki: https://github.com/sboulema/TSVN/wiki/Source-Control-Integration


hold off on blue/green cname swap

I'm working on setting up a deployment pipeline and I would like to hold off on the final cname swap so I can run more tests in a separate pipeline step before doing the switch.  Is there any built-in way to do this now?  Anyone doing anything similar?

@ap-dji if that's the case, you don't need eb_deployer, use tool or sdk provided by AWS  is enough.

@xli Actually it looks like the existing blue-only strategy is what I was looking for, but I'll just have to use the cli or sdk, as you suggested, to do the swap at a later time.


code examples

Hi
I'm looking for code examples especially to read all layers from a Tiled map.
Maybe you can make an 'examples' folder with code to do the most common things?
Is it also possible with this library to read the type of each Tile?
In my game I try to find out on which kind of tile (grass or road ..) the player is standing.

Hey
When you talk about layers, do you mean tile layers or object layers? Tiled treats them both as layers but they are fundamentally very different. So I am gonna assume you mean tile layers. You can access all layers using the TiledMap.Layers property. This is an array of type TiledLayer. And the TiledLayer class contains a field called type. So you can use Linq to fetch all layers whose type equals that of a tile layer like this:
var map = new TiledMap("path-to-your-map.tmx");
var tileLayers = map.Layers.Where(x => x.type == "tilelayer");

With kind regards,
TheBoneJarmer

Hello
As a beginner I cna't understand this library without any docs or complete examples.
Can you make a Tiled map, read it and show all information by using your library (both type of layers)?
Then put the code in the "examples" folder?
You say MonoGame has no docs, but your library is the same considering docs or examples :-)

I gave you an example of how you can fetch all tilelayers. So to fetch all object layers just do the same but with objectgroup as type value. Then loop through the result and use either the Layer.data field in case of tile layers or the objects field in case of object layers.
Really it is not that difficult and you can easily figure out the rest if you toy around a bit. I have over 50 users who did it and so can you. So don't be lazy.
I do think your idea of an examples folder is good though, don't take me wrong. But you should wonder if it will help you. You will only get a simplified version of how to load a map but that won't apply to your case since you use MonoGame. How to use the imported data to render a map is entirely up to you to figure out. So in the end you will still be stuck with questions since even my oneliner above would be a sufficient example to load a map.
What you want to know is how to use the data you imported and for that I cannot show examples as that is dependant on your game engine. The only advice I can give there is to let your IDE guide you. TiledCS is just a raw parser in the end.

No, you don't understand my question...
I ask nothing about monogame or any other library. I specificly ask about TiledCS and how to read all possible things from a Tiled map.
I ask a code example of TiledCS ONLY that reads an example map yout provide which has everything inside TiledCS can read  (the 2 types of layers, etc etc).
Even with your explanation I don't find how to do it. I'm a complete beginner using your library.
So if you add the full code example once, all users (including me) will know immediately how it works.
I can keep asking questions here, because that's probalby going to happen without such a code example.
thanks in advance!

What about my question about the Tile type? How to do this?
So you can see, a full code example with an example map is the best for me.
There is a BIG difference between your knowledge as a library developer and mine, as a library user...

Ah ok, yea I assumed you wanted to know how to get stuff done in MonoGame since your nickame as well as your previous issues. I think I understand what you are asking. But I do not think an example will do either way. You need something visual that you can link to your code. Otherwise there is no point since an example will just demonstrate a made-up case in which some could use TiledCS. But you like to know how to access layers, use its data and how the data is represented. With other words, the functional part of TiledCS. I assumed you meant the practical.
Truth is, most users simply open up their tmx file and use that as a guide. Because if something in the tmx file is located in the node Map/Layer/Data it is also located in TiledCS in TiledMap.Layers.Data. Its more of a comparison than anything else. What you need is a full-blown documentation that uses screenshots and code examples. I cannot promise such a thing will be done short-term as it will take some time. But your request is valid for that matter. And you are right, for me it is all straightforward of course. You are just like the first one to ask this and well, as you can see nobody else asked functional questions before and they do figured it out so you cannot blame me for thinking you should be able too.

As a beginner to Tiled, its file format and structure and your TiledCS, I can't figure it out myself.
But a full code example with a map you made to demonstrate the data TiledCS can read, will still help me.
Why you don't want to give code examples is a mystery for me (I asked it 2 times now).
(screenshots etc would be not required at first, I'm happy with a code example that shows a complete example map you made being read)

Why you don't want to give code examples is a mystery for me (I asked it 2 times now).
Okay look, it is not about not willing. It is about me trying to figure the heck out what it is you want to accomplish. And on top of that it sounds like you are mixing some stuff up, making your whole request annoyingly confusing. I am only trying to help you so please put some effort into giving me the details I need instead of being this impatient. I lose time with this discussion too and I am not even getting paid for it. And in the end you are the one stuck with a problem, not me.

screenshots etc would be not required at first, I'm happy with a code example that shows a complete example map you made being read

And this is where I think you are mixing stuff up. The map has already been read. All the map data is right in the instance of the TiledMap class. So it is not about reading here but about how to use that data. Is that correct?

My question (for the last time): you write a library and give NO docs or examples.
I kindly ask you to write some docs (what methods are there, how to use them etc) or a FULL code example that shows how to use your library on an example map.

I give an example because I don't know how else to explain it to you.
Here is the monogame-aseprite library: https://github.com/manbeardgames/monogame-aseprite
Here is a full code example how to use it (each method has comments what's it doing and also variables have comments):
https://github.com/manbeardgames/monogame-aseprite-demo/blob/stable/monogame-3.8-demo/MonoGame.Aseprite.Demo/Game1.cs
If you could make such a code example with comments that read an example map you made and that demonstrates the features of your library and how to use it, that would be fantastic.

Ok, now that is exactly what I needed to hear. And thanks for the examples, that did cleared up a thing or 2. Here is what I am gonna do:

Generate a code documentation (practical)
Use the GitHub wiki or something similar for an extended documentation (functional)
Provide an example project where I will be using a game framework to show results although it wont be MonoGame btw

I think that would give you all the info you need. But it is gonna take some time. And as a full-time software engineer with a family, I do not got that many. So like I said, it wont be for the short term. For the time being, although maybe not as practical, you could let your IDE guide you or take and perhaps have a look at other people's work. There are many who use TiledCS and most of them managed to use it so it should give you some insight.

Great!
Please use any feature you have in TiledCS in the example project (just 1 usage of each feature somewhere). You then can add things when more features are implemented (or slightly changed, some method has changed or parameters, ...)


How to use this project with IoC ?

Hello,
this project is very promising, congrats ✨
I'm wondering how to use it in a project that follows the Inversion of Control principle (through dependency injection).
Instead of this structure :
export const getPingIpcSlice = createIpcSlice({
  main: {
    async getPing(_, data: 'ping') {
      return `from renderer: ${data} on main process`
    },
  },
})

I have something like :
export class MyController {
  constructor(private myService: MyService) {}

  async getPing(_, data: 'ping') {
    const res = await this.myService.doSomething(data)
    return `from renderer: ${res} on main process`
  }
}

But with this I don't see how I can import these methods into a shared file that uses combineIpcs.
What do you think ?

If I understand correctly, handlers in the shared folder can be "dummy" handlers, to ensure typings are correct on both end, and I can then implement real logic using ipcMain.handle.
If I'm correct, what would you recommend for handlers that return complex data ? returning a dummy object like so ?
import { createInterprocess } from 'interprocess'

export const { ipcMain, ipcRenderer, exposeApiToGlobalWindow } = createInterprocess({
  main: {
    // method will be really handled by main
    async setMaximize(_, data: { maximize: boolean }) {
      return { isMaximized: true }
    }
  },
  renderer: {}
})


Fix for harvesting owner utilities

PR Overview

After I added harvesting of owner utilities a bug arose from harvesting owner utilities as "operator utilities" for the plant and generator entities and annual tables.
Previously _core_eia860__ownership had utility_id_eia referring to operator utility. This utility ID would get harvested for generators and plants.
Now _core_eia860__ownership has utility_id_eia referring to owner utility and operator_utility_id_eia referring to the operator utility. The issue was that the owner utilities shouldn't be harvested for the generator and plant tables, where utility_id_eia refers to the operator.
The quickest, least janky fix I could come up with for this is to skip the harvesting of the ownership table altogether. Ideally, we'd use map_cols_dict (I added this in the PPE PR) to grab operator utilities from the ownership table to add to the generator and plant tables, but this required dropping the owner utility columns from the ownership table. Ultimately, this seemed less foolproof and more janky in the short term than just skipping the ownership table.
Ultimately, I think we might want to rethink this harvesting process a little. It's already sort of weird that we have to harvest plants before utilities, so that we can subsequently drop some columns from the plants tables and harvest the utility columns that share names with the dropped plants columns (see here). I'd actually like to do this for the current situation, but in reverse, where we harvest utilities first, drop owner columns, then harvest plants. But both can't happen in the current setup.
PR Checklist

[ ] Merge the most recent version of the branch you are merging into (probably dev).
[ ] All CI checks are passing. Run tests locally to debug failures
[ ] Make sure you've included good docstrings.
[ ] For major data coverage & analysis changes, run data validation tests
[ ] Include unit tests for new functions and classes.
[ ] Defensive data quality/sanity checks in analyses & data processing functions.
[ ] Update the release notes and reference reference the PR and related issues.
[ ] Do your own explanatory review of the PR to help the reviewer understand what's going on and identify issues preemptively.

this is probably oos for this pr but now that every single table gets run through enforce_schema, it might be worthwhile to think about not dropping the columns in the harvesting process at all (the dropping was done originally in the way way pre-historic past long before we (which is to say i) knew what we were doing).
I thiiiink if we added some suffixes when columns with similar data reference different entities (like zip_code_plant and zip_code_utility) plus didn't drop any columns, the ordering of the harvesting process wouldn't matter.

the owner utilities shouldn't be harvested for the generator and plant tables, where utility_id_eia refers to the operator.

What does it mean for the owner utilities to be harvested for the generator and plant tables?
Why is there a need to differentiate between the owner & operator utility IDs in any context outside of the ownership table (where there are two utility ID columns, referring to utilities that play different roles with respect to the generator in that record). Shouldn't all the utility IDs end up in the utility table, regardless of whether they were observed as owners or operators?
I thought we had already stopped dropping columns as they were harvested -- we call enforce_schema() at the end of harvest_entity_tables() and each of the harvesting assets gets its own copy of the inputs, so we don't have to worry about whether they are altered in the process -- there's no impact on any of the other harvesting processes. Are columns being dropped in some other part of the harvesting process?

grab operator utilities from the ownership table to add to the generator and plant tables

In what sense are these utilities being added to the plant & generator tables?  Shouldn't they only appear in those tables if they're actually listed as the operator of the plant/generator?
If we skip the ownership table entirely, we'll miss collecting any owner-only utility IDs, as well as any operator utility IDs that only show up in this table (though hopefully there are zero of these because they've already been found in the plant or generator tables).
Would it be straightforward to just drop the operator_utility_id_eia at the beginning and make sure we harvest the owner utility ID, since that's the information we expect to be novel in this table?
Also, without capturing the owner utility IDs, we're going to go back to having FK constraint violations, and need to disable a bunch of FK relationships again.

In denorm_by_plant() (and gen, and boiler, etc) we're currently silently dropping data with dropna() if there's an NA in one of the ID columns -- this is how we ended up losing data all over the place e.g. in FRC table.    We could either swap them in map_cols_dict or just rename owner_utility_id_eia to utility_id_eia in the original column maps for the spreadsheets, and make operator_utility_id_eia that has a funny name and doesn't get harvested or show up anywhere.
Alternatively, the most correct solution -- that would harvest both sets of utility IDs and use the existing infrastructure -- would be to run two copies of the ownership table through the harvesting process as a special case -- it could be added to the special case we already have for UTILITIES.  Where we harvest the reported attributes in association with the ownership ID, and then remove all attributes and only include the ID columns when harvesting an additional copy based on the operator IDs. In this case it would still make sense to rename the original columns in the mapping spreadsheets.

Alternatively, the most correct solution -- that would harvest both sets of utility IDs and use the existing infrastructure -- would be to run two copies of the ownership table through the harvesting process as a special case -- it could be added to the special case we already have for UTILITIES. Where we harvest the reported attributes in association with the ownership ID, and then remove all attributes and only include the ID columns when harvesting an additional copy based on the operator IDs. In this case it would still make sense to rename the original columns in the mapping spreadsheets.

Running two copies of the ownership table through the harvesting process is what map_cols_dict is supposed to do.
The issue comes when you're harvesting the plant (or generator) entity and use the plant_id_eia, utility_id_eia (owner utility) relationship from the ownership table, which adds a bunch of inconsistency and subsequently leads to null values that are dropped in that dropna in denorm_plants_eia.

Another idea: leave the _core_eia860__ownership table with columns names as is in the raw data (utility_id_eia) is the operator utility, owner_utility_id_eia is the owner utility. Then harvest as usual, using map_cols_dict to rename the owner utility for the utility entity (generator and plant will be harvested as they previously were). In the normalized ownership and denormalized ownership table, rename the operator and owner columns.

Ahhhh, okay okay, that makes sense where the NA values were coming from then.

@zaneselvans I think this is close to working if the foreign key rules and alembic stuff can be resolved. I tried to leave some comments about what I was thinking and any potential messiness.

Still need to debug a key error and update row counts.

Working and ready for review!

@cmgosnell I agree we should spin the dropna() off but we should make create an issue and PR for that right now so we don't forget about it and run into this again...

I created an issue about the dropna calls (#2919 ) and am going to merge this!


feat:  Refactor cmake

Proposed changes
Refactored cmake to make the project easier to include in end-user applications.  Updated PlatformIO as needed.  Attempted to follow best practices for cmake and C++.
Types of changes

[ ] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[X] Refactoring (improve a current implementation without adding a new feature or fixing a bug)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[X] Build (changes that affect the build system)
[ ] Docs (documentation only changes)
[ ] Test (adding missing tests or fixing existing tests)
[ ] Other... Please describe:

Checklist

[X] I have read the CONTRIBUTING documentation
[X] Lint and unit tests pass locally with my changes
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have added necessary documentation (if appropriate)

Further comments
This change will support the creation of a "HelloArk" getting started project and allow cpp-client to be cmake "add_subdirectory" friendly to allow anyone to include it in their project.

build failures are due to test failures dealing with timestamp.
This is corrected in #22.

macOS builds are not running (and failing the check) due to some sort of CircleCI admin issue.  Not a problem with the PR.

Can confirm this passes tests on macOS.
CI issue is also discussed here: Cpp-Crypto #27.


add RFC4191 support

Resolves issue #102.
Implement RFC4191 support for Route Information options in Router Advertisements.  This option allows a router to provide routes for a specific prefix instead of only providing default routes.
My use case is that I have a ULA network with a VPN router and no IPv6 internet access.  Using this router as the default route does not work well because the host then thinks it can reach the Internet.  By instead advertising a route just for the ULA prefix hosts will immediately know they cannot reach the Internet through this router.
I've tested this PR in a VM in this exact configuration and it seems to work quite well.  I changed the radvd config on the fly to remove and add the route and it behaved as expected.

Thanks for the prompt review, I appreciate it!

Thanks for your contribution!


Modify url of the package EnKF.jl

Hello,
I have modified the url of the package EnKF.jl

Closes #4121.


How get tick data again

In my code first i get current ltp of subscribed stock then i place buy order when my strategy applied, then i need tick data again for check current ltp for placing sell order. but when i call on_ticks(ws, ticks) function am getting below error. so kindly help me how get current ltp from outside of on_tick function.
on_ticks(ws, ticks) builtins.NameError: name 'ws' is not defined

on_ticks is a callback: you don't call it.
Please check some examples here - https://github.com/zerodhatech/pykiteconnect/tree/master/examples.  These should help you to setup live streaming of market ticks.

Sorry sir i am new for python so i cant understand callbacks if any example code please show me. i want tickdata after execution of buy order how i get. thanks in advance

tar_order_detail = kite.order_history(order_id=tar_order_id)[-1]     if tar_order_detail['status'] == "OPEN":          tsht.range((2, 7)).value = 'Target order still Pending'         print(curr_ltp) # Here i want current LTP         if curr_ltp <= sl_price:
tar_order_detail = kite.order_history(order_id=tar_order_id)[-1]
cancel_order_id = kite.cancel_order(variety=tar_order_detail['variety'],
order_id=tar_order_detail['order_id'],
parent_order_id=tar_order_detail['parent_order_id'])
print('Target order cancelled Successfully: ', cancel_order_id)
tsht.range((2, 7)).value = 'Target order cancelled Successfully: ' + str(cancel_order_id)
sl_order_id = kite.place_order(variety=kite.VARIETY_REGULAR,
price=sl_price,
exchange=kite.EXCHANGE_NSE,
tradingsymbol=stock,
transaction_type=kite.TRANSACTION_TYPE_SELL,
quantity=qty,
product=kite.PRODUCT_MIS,
order_type=kite.ORDER_TYPE_LIMIT)
print('Stoploss order placed Successfully: ', sl_order_id)`

threaded_ticker.py is simple example on setting up tickers.  on_ticks will continuously provide ticks for the subscribed tokens.
Once you've initialized the web socket connection  in the threaded mode, you can continuously receive market ticks.  This is where you would implement your strategy.

Thank you for your timely help sir. now  i its working.


Support for Nvidia Ampere cards

Just an FYI, I was playing around with this repo all morning (awesome work!) and was wondering why it was so slow.  It turns out that it was using CPU and not CUDA/GPU.  (It would be nice if you spammed a warning for others in case they are not as stubborn as me)  I am using a newer Ampere card that needs CUDA 11, so I had to solve the issue as shown below.  I hope this might help others.  Note that this is similar to another closed issue by somebody else, however I had to make further changes such as adding cudatoolkit=11.1 to mine.
name: pytorch-nst
channels:
  - defaults
  - pytorch
  - conda-forge
dependencies:
  - cudatoolkit=11.1
  - python=3.7.6
  - pip=20.0.2
  - matplotlib=3.1.3
  - torchvision
  - torchaudio
  - pip:
    - numpy==1.18.1
    - opencv-python==<IP_ADDRESS>
    - conda-forge::pytorch

Managed to get it to work by running this line in anaconda
pip install torch===1.7.1+cu110 torchvision===0.8.2+cu110 torchaudio===0.7.2 -f https://download.pytorch.org/whl/torch_stable.html


set row length to standard browser window

Problem to solve
As Squeak Developer, I want PoppyPrint to not print lines longer than the width of the standard browser window so that I can  see the entire code.
Further details
relates to #36
image
-The width of a String s using the Font f can be computed by:
f widthOfString: s

Proposal

[ ]

Testing

[ ]

Acceptance Criteria

[ ]  When Squeak is opened up and the Browser Window is opened in standard size. Given the standard browser window, when Poppyprint is formatting, then the code is formatted for the standard window size
[ ]
[ ]

How to get the pixel width of a String.
Example:
TextStyle default defaultFont widthOfString: 'Hallo' 70


Suggestion: Include Rich PHP support in Vim via Eclim

With Eclim, we could provide rich PHP code editing support inside the vagrant box, for developing SMW and/or RDFIO code.

Well, according to this blog post it seems one can get pretty far with just ctags though.


improve text width calculation

Fixes #12101
now considers new lines to match rendering

Would appreciate feedback on the PR if possible

Would really be good to have a fix for this problem as it is a major limitation for our application

The solution in this pull request is not ideal, because it modifies the measureTextWidth() function to handle multi-line text, instead of changing the text-along-line rendering code to handle multi-line texts. This is a performance problem, because other renderer code is written in a way to use measureTextWidth() when single line text is to be measured, and measureTextWidths() for multi line text.

@ahocevar thank you for the additional feedback

and measureText() for more complex measurements.

Did you mean measureTextWidths() here?
In that case, would only modifying measureAndCacheTextWidth() to have
    const lines = text.split('\n');
    const width = measureTextWidths(font, lines, []);

instead of
    const width = measureTextWidth(font, text);

work for you? This is the method used by the rendering code.
Modifying the rendering code to do the line splitting when calculating the text width (as done in measureTextWidths()) would probably reduce performance as the line splitting would have to be done each time before hitting the cache.
I'll update the PR if this seems better

There is no measureTextWidths() function any more, the code that your pull request changed is much different now after the introduction of rich text labels with #13410.
I still think that a better solution to this problem would be to replace "\n" with " " in texts with line placement. The use case you're describing could be solved using one text style per line, and work with offsets. That would also work (to some extent) with bent lines.

There is no measureTextWidths() function any more, the code that your pull request changed is much different now after the introduction of rich text labels with #13410.

Thank you, I've checked the new code and updated the PR for it.
Change is now in measureAndCacheTextWidth. For single line strings the only additional work is checking the string for instances of "\n" and this is cached so don't think there are performance implications and it fixes the width calculation to match the rendering.

I still think that a better solution to this problem would be to replace "\n" with " " in texts with line placement. The use case you're describing could be solved using one text style per line, and work with offsets. That would also work (to some extent) with bent lines.

IMHO, this would add a fair degree of complexity (and probably worse performance?) to someone with the use case (multi-line text along straight lines - think graphs or schematics)
Might be better, as you say, for someone trying to use labels with multi-line text on bent lines (with angles below the threshold)

I do see the straight lines use case you mention (graphs or schematics). To avoid surprises for the user, maybe we could find a way to combine your approach with the "replace \n with  " one: when maxAngle is set to 0, use multi-line rendering, and single-line rendering otherwise.
@luiscamachopt Do you think you could extend your pull request to handle things that way?

I do see the straight lines use case you mention (graphs or schematics). To avoid surprises for the user, maybe we could find a way to combine your approach with the "replace \n with  " one: when maxAngle is set to 0, use multi-line rendering, and single-line rendering otherwise.
@luiscamachopt Do you think you could extend your pull request to handle things that way?

@ahocevar I experimented with it and believe I found a good solution that doesn't even require setting maxAngle to 0 for the straight lines use case.
It now renders in single-line when the code determines that it needs to render across segments but leaves as multi-line if it all fits in one segment.

Thanks @luiscamachopt for this elegant solution!


bash: cd: plurality: No such file or directory

I am trying to execute a code, and I get the following bash error: cd: plurality: No such file or directory, I don't know how to fix it.

Aslo try hitting Tab twice to see options

I renamed the file, deleted it and recreated it, and nothing works, now none of my previous files work.

 I'm not sure who to report this to.
https://github.com/microsoft/vscode-cpptools/issues/11565

We closed this issue because it is a question about using VS Code rather than an issue or feature request. Please search for help on StackOverflow, where the community has already answered thousands of similar questions. You may find their guide on asking a new question helpful if your question has not already been asked. See also our issue reporting guidelines.
Happy Coding!


Scenario Description Page

page for scenario description
description is expanded into text area
description is Markdown, is rendered in page
teams must put in their team key to look scenario

For now, scenario page does not require entering team ID


sending bad !view command stopped future commands

bad command !view SBS hung main program, no more events processed.

Should be fixed. This is also something that's kinda temporary, going to set up a better command system with permission checks etc at some point.


have set https_proxy http_proxy but still meet a except "Error communicating with OpenAI"

I have set https_proxy http_proxy but still meet a except "Error communicating with OpenAI" . I find It can work when using openai.Completion.create. So why it cause exception when using await openai.ChatCompletion.acreate ? thanks
script:
jjxx@SH-jjxx-1 MetaGPT % /Users/jjxx/wwwxx/software/miniconda3/envs/py3.10/bin/python startup.py "Write a cli snake game"
logs:
2023-07-15 17:37:57.233 | INFO     | metagpt.config:init:43 - Config loading done.
2023-07-15 17:37:57.233 | INFO     | metagpt.config:init:49 - Set OPENAI_API_BASE in case of network issues
2023-07-15 17:37:58.835 | INFO     | metagpt.software_company:invest:39 - Investment: $3.0.
2023-07-15 17:37:58.836 | INFO     | metagpt.roles.role:_act:153 - Alice(Product Manager): ready to WritePRD
2023-07-15 17:37:58.836 | WARNING  | metagpt.actions.search_and_summarize:run:114 - Configure SERPAPI_API_KEY to unlock full feature
Traceback (most recent call last):
File "/Users/jjxx/wwwxx/software/miniconda3/envs/py3.10/lib/python3.10/site-packages/aiohttp/connector.py", line 980, in _wrap_create_connection
return await self._loop.create_connection(*args, **kwargs)  # type: ignore[return-value]  # noqa
File "/Users/jjxx/wwwxx/software/miniconda3/envs/py3.10/lib/python3.10/asyncio/base_events.py", line 1080, in create_connection
transport, protocol = await self._create_connection_transport(
File "/Users/jjxx/wwwxx/software/miniconda3/envs/py3.10/lib/python3.10/asyncio/base_events.py", line 1110, in _create_connection_transport
await waiter
File "/Users/jjxx/wwwxx/software/miniconda3/envs/py3.10/lib/python3.10/asyncio/selector_events.py", line 856, in _read_ready__data_received
data = self._sock.recv(self.max_size)
ConnectionResetError: [Errno 54] Connection reset by peer
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/Users/jjxx/wwwxx/software/miniconda3/envs/py3.10/lib/python3.10/site-packages/openai/api_requestor.py", line 668, in arequest_raw
result = await session.request(**request_kwargs)
File "/Users/jjxx/wwwxx/software/miniconda3/envs/py3.10/lib/python3.10/site-packages/aiohttp/client.py", line 536, in _request
conn = await self._connector.connect(
File "/Users/jjxx/wwwxx/software/miniconda3/envs/py3.10/lib/python3.10/site-packages/aiohttp/connector.py", line 540, in connect
proto = await self._create_connection(req, traces, timeout)
File "/Users/jjxx/wwwxx/software/miniconda3/envs/py3.10/lib/python3.10/site-packages/aiohttp/connector.py", line 901, in _create_connection
_, proto = await self._create_direct_connection(req, traces, timeout)
File "/Users/jjxx/wwwxx/software/miniconda3/envs/py3.10/lib/python3.10/site-packages/aiohttp/connector.py", line 1206, in _create_direct_connection
raise last_exc
File "/Users/jjxx/wwwxx/software/miniconda3/envs/py3.10/lib/python3.10/site-packages/aiohttp/connector.py", line 1175, in _create_direct_connection
transp, proto = await self._wrap_create_connection(
File "/Users/jjxx/wwwxx/software/miniconda3/envs/py3.10/lib/python3.10/site-packages/aiohttp/connector.py", line 988, in _wrap_create_connection
raise client_error(req.connection_key, exc) from exc
aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host api.openai.com:443 ssl:default [Connection reset by peer]
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/Users/jjxx/wwwxx/workspace/mltasks/llmapp-ws/MetaGPT/startup.py", line 29, in
fire.Fire(main)
File "/Users/jjxx/wwwxx/software/miniconda3/envs/py3.10/lib/python3.10/site-packages/fire/core.py", line 141, in Fire
component_trace = _Fire(component, args, parsed_flag_args, context, name)
File "/Users/jjxx/wwwxx/software/miniconda3/envs/py3.10/lib/python3.10/site-packages/fire/core.py", line 475, in _Fire
component, remaining_args = _CallAndUpdateTrace(
File "/Users/jjxx/wwwxx/software/miniconda3/envs/py3.10/lib/python3.10/site-packages/fire/core.py", line 691, in _CallAndUpdateTrace
component = fn(*varargs, **kwargs)
File "/Users/jjxx/wwwxx/workspace/mltasks/llmapp-ws/MetaGPT/startup.py", line 25, in main
asyncio.run(startup(idea, investment, n_round))
File "/Users/jjxx/wwwxx/software/miniconda3/envs/py3.10/lib/python3.10/asyncio/runners.py", line 44, in run
return loop.run_until_complete(main)
File "/Users/jjxx/wwwxx/software/miniconda3/envs/py3.10/lib/python3.10/asyncio/base_events.py", line 641, in run_until_complete
return future.result()
File "/Users/jjxx/wwwxx/workspace/mltasks/llmapp-ws/MetaGPT/startup.py", line 15, in startup
await company.run(n_round=n_round)
File "/Users/jjxx/wwwxx/workspace/mltasks/llmapp-ws/MetaGPT/metagpt/software_company.py", line 60, in run
await self.environment.run()
File "/Users/jjxx/wwwxx/workspace/mltasks/llmapp-ws/MetaGPT/metagpt/environment.py", line 58, in run
await asyncio.gather(*futures)
File "/Users/jjxx/wwwxx/workspace/mltasks/llmapp-ws/MetaGPT/metagpt/roles/role.py", line 223, in run
rsp = await self._react()
File "/Users/jjxx/wwwxx/workspace/mltasks/llmapp-ws/MetaGPT/metagpt/roles/role.py", line 194, in _react
return await self._act()
File "/Users/jjxx/wwwxx/workspace/mltasks/llmapp-ws/MetaGPT/metagpt/roles/role.py", line 154, in _act
response = await self._rc.todo.run(self._rc.important_memory)
File "/Users/jjxx/wwwxx/workspace/mltasks/llmapp-ws/MetaGPT/metagpt/actions/write_prd.py", line 76, in run
prd = await self._aask(prompt)
File "/Users/jjxx/wwwxx/workspace/mltasks/llmapp-ws/MetaGPT/metagpt/actions/action.py", line 41, in _aask
return await self.llm.aask(prompt, system_msgs)
File "/Users/jjxx/wwwxx/workspace/mltasks/llmapp-ws/MetaGPT/metagpt/provider/base_gpt_api.py", line 44, in aask
rsp = await self.acompletion_text(message, stream=True)
File "/Users/jjxx/wwwxx/workspace/mltasks/llmapp-ws/MetaGPT/metagpt/provider/openai_api.py", line 27, in wrapper
return await f(*args, **kwargs)
File "/Users/jjxx/wwwxx/workspace/mltasks/llmapp-ws/MetaGPT/metagpt/provider/openai_api.py", line 213, in acompletion_text
return await self._achat_completion_stream(messages)
File "/Users/jjxx/wwwxx/workspace/mltasks/llmapp-ws/MetaGPT/metagpt/provider/openai_api.py", line 146, in _achat_completion_stream
response = await openai.ChatCompletion.acreate(
File "/Users/jjxx/wwwxx/software/miniconda3/envs/py3.10/lib/python3.10/site-packages/openai/api_resources/chat_completion.py", line 45, in acreate
return await super().acreate(*args, **kwargs)
File "/Users/jjxx/wwwxx/software/miniconda3/envs/py3.10/lib/python3.10/site-packages/openai/api_resources/abstract/engine_api_resource.py", line 217, in acreate
response, _, api_key = await requestor.arequest(
File "/Users/jjxx/wwwxx/software/miniconda3/envs/py3.10/lib/python3.10/site-packages/openai/api_requestor.py", line 372, in arequest
result = await self.arequest_raw(
File "/Users/jjxx/wwwxx/software/miniconda3/envs/py3.10/lib/python3.10/site-packages/openai/api_requestor.py", line 685, in arequest_raw
raise error.APIConnectionError("Error communicating with OpenAI") from e
openai.error.APIConnectionError: Error communicating with OpenAI

Check this https://github.com/beidongjiedeguang/openai-forward and set proper FORWARD


Dreamcast games parsing issue

After downloading the Dreamcast platform and adding some games in a directory on the SD card some games are ignored or merged with other games when parsing the folder with default settings, maybe this affects other systems as well, i haven't checked yet.
System: retroid pocket 2+
Folder layout:
Game1/game1.gdi
Game1/track01.bin
Game1/track02.raw
Game1/track03.bin
Game2/game2.gdi
Game2/track01.bin
Game2/track02.raw
Game2/track03.bin
Game3/game3.gdi
Game3/track01.bin
Game3/track02.raw
Game3/track03.bin
Only Game1 and 2 appears for instance and if i isolate Game3 in its own folder it's correctly parsed.
I tried renaming them as simple as possible (no space, special chars etc...) but doesn't change the outcome.

This issue has been posted before so I'm closing this one. Read my explanation here on why this happens and how to avoid it. TLDR, they are not uniquely named which causes the gdi files to have the same file hash.
Hope this helps

Thanks, checked if it wasn't there before but missed it somehow sorry about that, i'll have a look a the workaround.


Update Invitation

@U-MAC @504115681 Thank you for accepting the invitation to update this repository. Currently, there are few repositories that organize information related to multi-robot systems, so we appreciate you joining us in updating this repository. Please feel free to add your information at the bottom.

@hwan0806


question 94

I don't see an answer for "institutional support"
I don't think these answers really make sense for this question overall.

Can you tell me which question it is with the code? I cannot find it

"Which of the following sources are used to pay for your effort as an RSE?"
The answers start with
"I volunteer my time"
which seems an usual answer for an RSE...

Need translation for the new added question

What about the other part of the issue - that these answers most don't make sense?

maybe it doesn't matter - lots of answers just won't ever be selected.

Added German translation as good as possible. In German it is something like "Institutional support, e.g. by resources of universities or research institutes" otherwise it's not clear what is meant by institutional support. Hope that the examples fit. https://github.com/softwaresaved/international-survey/commit/b58041ac5a025c162a7229d09ea4da1594b33f54


Only String argument types is working when sending transaction through through the wallet

This issue was originally opened here by @m4nuC on August 20, 2021: https://github.com/onflow/wallet-api/issues/15

When sending a transaction it seems that only the string type is currently working.
ie.: this will work

{
  "code":"transaction(greeting: String) { execute { log(greeting.concat(\", World!\")) }}",
  "arguments":[{"type":"String","value":"Hello"}]
}

But this won't

{
  "code":"transaction(greeting: UInt64) { execute { log(greeting.concat(\", World!\")) }}",
  "arguments":[{"type":"UInt64","value":"Hello"}]
}

Error is:
Error while processing job: failed to decode value: invalid JSON Cadence structure

The provided example has the value "Hello" and UInt64 type, which is invalid - hence the error message "invalid JSON Cadence structure".
Here is an example of using an UInt64 argument (just log the value):
{
  "code":"transaction(greeting: UInt64) { execute { log(greeting) }}",
  "arguments":[{"type":"UInt64","value":"1"}]
}

@m4nuC, can you confirm if it works for you?

This has been resolved in #196


2.9.30今天出现  Failed to resolve: com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.30

Failed to resolve: com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.30
Open File
Show in Project Structure dialog

看一下的vpn代理


Renames and updates EvaluationDataToAppInsights example

Why this PR?
We want to clean up examples
Visible changes

Renames EvaluationDataToAppInsights to VariantAndTelemetryDemo
Removes custom TargetingContextAccessor and instead uses the default accessor

Updates auth to populate HttpContext.User instead of simple cookie reading

We also have an example called VariantServiceDemo which uses custom targeting context accessor and cookie reading. Shall we also update it in this PR?We also have an example called VariantServiceDemo which uses custom targeting context accessor and cookie reading. Shall we also update it in this PR?

I considered it- but figured we also want an example showing how to declare and use a custom targeting accessor, so I didn't make changes.


Provide a "Getting Started" Godot project

It would be nice for this project to provide some "Getting Started" Godot project. So I guess at a minimum a project.godot file, a scene and a script demonstrating using one of the provided example element? Something similar to this maybe?
I reckon that Exemple.h is from the godot-cpp tutorial (which is nice because it covers many constructs), and so that it does not serve a specific purpose. I understand also that GDextensionTemplate is "power user" oriented, so that you may expect users to start modifying and integrating it right away in their own project.
But still it would be useful to be able to make sure that compilation went properly by being able to open a provided Godot project. Also starting from a complete, working project is easier even if it's a template destined to be modified and built on.

As an example it was frustrating to finally get compilation working after iterating with you, and to have nothing to "open" in Godot as a result :smiley:

I had considered this initially, but decided that it fell more on the "example" side than the "template" side. I didn't really want to include "extra stuff" in this project that would just have to be removed, but also didn't want to create an entire new repo for an example.
I can see value in providing a test project even after this template project has been "instantiated" though (the "testing" side). Still working through the development workflows as things change in Godot and godot-cpp.
I'll revisit this to see what might work.
Thanks again for the input! Much appreciated.

I didn't really want to include "extra stuff" in this project that would just have to be removed, but also didn't want to create an entire new repo for an example.

Totally understandable. I'm thinking another nice-to-have would be including Godot itself in the VS solution. I was imagining the following workflow, once you have everything locally built (godot, godot-cpp and your extension), you would:

Run Godot inside the Visual Studio solution with the debugger attached;
Load your game project that uses your own gdextension;
Develop your game and be able to debug your gdextension from within Visual Studio.

This way you would be able to develop/debug your game alongside your extension. And even poke inside godot itself if needed.
Maybe adding  Godot as a submodule inside GDExtensionTemplate/extern and some CMake wizardry would do it. But I also noticed that Godot CMake files may not play nice, it could require maintaining your own fork of it. Not sure how much you'd be fine with that.
Is this the kind of workflow you're envisioning or would you suggest something different?
Anyway, really nice repo. Keep it up!

Thanks @gcardozo123!
I use Qt Creator to do what you're describing. I have a workspace with multiple projects open like this:

I can edit godot code or my extension code and run godot with the right switches to launch my test project - with or without the debugger.

(I tried using VS Code for this and other C++ projects and it's just... not very good for it. I don't have Visual Studio itself, so I don't know how that might work there. I think you can have a workspace with multiple solutions like I do with Qt Creator?)
I don't think including godot itself as a submodule is a good idea. That would add a lot of extra download/overhead for something that's not technically an extension dependency. This is essentially why GDExtension itself exists. I think the model you outlined is the right one, but that your workspace should be set up as above.
Right now the main issue with the workflow is that we can't "hot reload" our extensions which means relaunching godot between changes to our extensions. This is a huge time sink.

Is this the kind of workflow you're envisioning or would you suggest something different?

That's the workflow I currently use, but I was really talking about simply including & generating a test project with the extension repo.
In the build process it would copy the template test project to a configurable location, and copy all the extension stuff to the right place. I could probably add another cmake target to run it too if I add a configurable path to godot itself.
This would remove the extra step of creating your own test project from scratch and figuring out how to run it.

I think you can have a workspace with multiple solutions like I do with Qt Creator?

That's right, I can probably compile Godot and add as project (.vcxproj) to the Visual Studio solution.

Right now the main issue with the workflow is that we can't "hot reload" our extensions which means relaunching godot between changes to our extensions. This is a huge time sink.

Oh, I didn't think about this before, sounds really bad. I wonder how Unreal works around this, as you can script your game in C++ there.

See my MR https://github.com/asmaloney/GDExtensionTemplate/pull/61 this makes it super easy to getting started. The only thing yet missing is setting the build output into the Godot project `"C:\Code\Godot\build_MyGodotProject\GDExtensionTemplate\GDExtensionTemplate.gdextension".


Http get fails in Firefox but works in Chrome etc.

I have a get that looks like this:
return this.http.get(urlevent)
.then(response => {
this.events = response.content;
})
response.content returns this in Firefox:
2016 Inaugural1
Which then results in this error:
Stack trace:
Error: Value for 'events' is non-repeatable
itemsChanged@webpack:pensive://./~/aurelia-templating-resources/dist/commonjs/repeat.js?:141:1
In Chrome, IE etc. response.content returns an array of objects which can be used in the repeat.for without an issue. ${event.Description}
I changed to use the fetch client like this:
return this.http.fetch(urlevent)
.then(response => response.json())
.then(data => {
this.events = data;
})
and did not receive any error in Firefox so it appears to only be an issue with http-client.

Is it possible to get some response to issues posted here?
I don't want to change all my requests to use the fetch client but if nothing is going to be done to resolve the issue in Firefox then I would at least like to have confirmation.

This library isn't our priority right now because Fetch is the way forward and is critical for the future of web development. We are happy to fix issues on this library, but it's more likely to happen if the community digs in and submits a pull request to us.

Thanks for the response, that is exactly what I needed to know. With Fetch being the way forward I will make the change now to existing code and use it in the future.

Closing this since there was no PR or any further reports of issues like this.

This issue still exists.
I am trying to connect to an XML (not JSON) API, and I need to parse the response into an object, thus:
new HttpClient()
  .configure(config => { config.withResponseType('xml') })
  .get(myurl)
  .then(response => { this.items = this.parseXML(response.content); });

where the parseXML function returns an array. But I get

ERROR [app-router] Error: Value for 'items' is non-repeatable

both with http_client and with fetch_client. In the end this means for me that Aurelia in its current state is incapable of anything but JSON, which is quite an issue.
Tried with FF and Chrome.


Connect Failed

Hi,
I'm trying to run the sample scene but I'm getting an error (below).
Any ideas?
Thanks
Paulo
RpcException: Status(StatusCode=Unavailable, Detail="Connect Failed") System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () (at <d7ac571ca2d04b2f981d0d886fa067cf>:0) System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) (at <d7ac571ca2d04b2f981d0d886fa067cf>:0) System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) (at <d7ac571ca2d04b2f981d0d886fa067cf>:0) System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) (at <d7ac571ca2d04b2f981d0d886fa067cf>:0) System.Runtime.CompilerServices.TaskAwaiter1[TResult].GetResult () (at :0)
Grpc.Core.Internal.AsyncCall2[TRequest,TResponse].UnaryCall (TRequest msg) (at T:/src/github/grpc/src/csharp/Grpc.Core/Internal/AsyncCall.cs:141) Grpc.Core.Calls.BlockingUnaryCall[TRequest,TResponse] (Grpc.Core.CallInvocationDetails2[TRequest,TResponse] call, TRequest req) (at T:/src/github/grpc/src/csharp/Grpc.Core/Calls.cs:45)
Grpc.Core.DefaultCallInvoker.BlockingUnaryCall[TRequest,TResponse] (Grpc.Core.Method2[TRequest,TResponse] method, System.String host, Grpc.Core.CallOptions options, TRequest request) (at T:/src/github/grpc/src/csharp/Grpc.Core/DefaultCallInvoker.cs:47) Grpc.Core.Interceptors.InterceptingCallInvoker.<BlockingUnaryCall>b__3_0[TRequest,TResponse] (TRequest req, Grpc.Core.Interceptors.ClientInterceptorContext2[TRequest,TResponse] ctx) (at T:/src/github/grpc/src/csharp/Grpc.Core/Interceptors/InterceptingCallInvoker.cs:51)
Grpc.Core.ClientBase+ClientBaseConfiguration+ClientBaseConfigurationInterceptor.BlockingUnaryCall[TRequest,TResponse] (TRequest request, Grpc.Core.Interceptors.ClientInterceptorContext2[TRequest,TResponse] context, Grpc.Core.Interceptors.Interceptor+BlockingUnaryCallContinuation2[TRequest,TResponse] continuation) (at T:/src/github/grpc/src/csharp/Grpc.Core/ClientBase.cs:174)
Grpc.Core.Interceptors.InterceptingCallInvoker.BlockingUnaryCall[TRequest,TResponse] (Grpc.Core.Method2[TRequest,TResponse] method, System.String host, Grpc.Core.CallOptions options, TRequest request) (at T:/src/github/grpc/src/csharp/Grpc.Core/Interceptors/InterceptingCallInvoker.cs:48) Helloworld.Greeter+GreeterClient.SayHello (Helloworld.HelloRequest request, Grpc.Core.CallOptions options) (at Assets/Scripts/HelloworldGrpc.cs:109) Helloworld.Greeter+GreeterClient.SayHello (Helloworld.HelloRequest request, Grpc.Core.Metadata headers, System.Nullable1[T] deadline, System.Threading.CancellationToken cancellationToken) (at Assets/Scripts/HelloworldGrpc.cs:99)
Example.Send () (at Assets/Scripts/Example.cs:16)
UnityEngine.Events.InvokableCall.Invoke () (at C:/buildslave/unity/build/Runtime/Export/UnityEvent.cs:166)
UnityEngine.Events.UnityEvent.Invoke () (at C:/buildslave/unity/build/Runtime/Export/UnityEvent_0.cs:58)
UnityEngine.UI.Button.Press () (at C:/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/UI/Core/Button.cs:66)
UnityEngine.UI.Button.OnPointerClick (UnityEngine.EventSystems.PointerEventData eventData) (at C:/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/UI/Core/Button.cs:108)
UnityEngine.EventSystems.ExecuteEvents.Execute (UnityEngine.EventSystems.IPointerClickHandler handler, UnityEngine.EventSystems.BaseEventData eventData) (at C:/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/EventSystem/ExecuteEvents.cs:50)
UnityEngine.EventSystems.ExecuteEvents.Execute[T] (UnityEngine.GameObject target, UnityEngine.EventSystems.BaseEventData eventData, UnityEngine.EventSystems.ExecuteEvents+EventFunction1[T1] functor) (at C:/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/EventSystem/ExecuteEvents.cs:261) UnityEngine.EventSystems.EventSystem:Update()

Do you have a gRPC server running?

Nope. I thought it was creating it's own and connecting as a client after. Sorry, my bad.

No worries :)


No results

Initiative
Provide better guidance and possible alternate searches to users who get no results
Objective
Increase findability across our collections and stories
Key results

Increase the number of relevance tests

Increase conversion for broad searches

Increase conversion for no results

Link to feature: https://wellcomecollection.productboard.com/feature-board/planning/features/4910547

Closing as no longer valid.


Link broken

Under prerequisites, the link for "How to change the location where WSUS stores updates locally" is broken.

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

ID: 054797d3-c4d8-2c2e-9940-e8763f6f3881
Version Independent ID: 9751d801-35de-ebd8-29ea-57e459f845dc
Content: Enable third party updates - Configuration Manager
Content Source: sccm/sum/deploy-use/third-party-software-updates.md
Product: configuration-manager
Technology: configmgr-sum
GitHub Login: @aczechowski
Microsoft Alias: aaroncz

Thanks @ITOpsReborn for the feedback. With the retirement of TechNet blogs there are probably a number of these sorts of links. So we need to scrub our entire library and then find or generate suitable replacements.

This link is working ok now, closing issue


Mvn Site Plugin is missing in pom.xml of lib_groovy Template

Describe the bug
The lib_groovy Template includes the gmavenplus-plugin for automatic groovydoc generation in the  section of its pom.xml.
This plugin is dependent on the inclusion of the maven site plugin as a   in the pom.xml.
Since this plugin is missing the report generation fails during the github action here.
To Reproduce
1.) Checkout the development branch of data-model-lib
2.) Use the command mvn site in the root directory
3.) Watch the World (or at least the build) break
Expected behavior
After inclusion of the maven site plugin the github action should run without issues and the groovydocs should be generated as expected.

Check if the steps outlined in this issue were addressed


Merge in Pattern Expression stuff

Codecov Report

Merging #30 into master will decrease coverage by 1.01%.
The diff coverage is 82.87%.

@@            Coverage Diff             @@
##           master      #30      +/-   ##
==========================================
- Coverage      91%   89.98%   -1.02%
==========================================
  Files          41       45       +4
  Lines        2557     2917     +360
==========================================
+ Hits         2327     2625     +298
- Misses        230      292      +62

Impacted Files
Coverage Δ

stix2/test/test_observed_data.py
100% <100%> (ø)
:arrow_up:

stix2/__init__.py
87.23% <100%> (+0.87%)
:arrow_up:

stix2/observables.py
100% <100%> (ø)
:arrow_up:

stix2/test/test_pattern_expressions.py
100% <100%> (ø)

stix2/constants.py
58.33% <58.33%> (ø)

stix2/pattern_expressions.py
82.75% <82.75%> (ø)

stix2/object_path.py
94.59% <94.59%> (ø)

... and 1 more

Continue to review full report at Codecov.

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

In addition to my comments above, I'd like to see how we can make this API be more "friendly" and feel less like a Java-esque Kingdom of Nouns. Having the classes is OK for verbose, explicit construction of patterns, but having more Pythonic APIs. I can try to come up with some examples for what I mean by that.

Closing in favor of #35.