Does only use Azure Notification Hubs to send a trigger to the client to open a new conversation with the bot for Directline channel?

I ref #1414 .
Does any tutorials or code samples?
Thanks.

@rainmakerho please check out https://github.com/MicrosoftDX/botFramework-proactiveMessages

@rainmakerho Are you using .NET or Node SDK?

@EricDahlvang I  use Microsoft.Bot.Connector.DirectLine to manipulate bot's conversation in other webapi controller.
I don't know how let DirectLine to get the message ,when i call "await Conversation.ResumeAsync(state.ConversationReference, message);" .
Thank for your help.

@rainmakerho Please post the code you are using.  I don't think I understand the question.  Please try to rephrase or reword what you are asking.
By "manipulate bot's conversation in other webapi controller" are you asking how to send a proactive message through the direct line from within a different controller?  (I believe the samples mentioned above work with any channel.)

@EricDahlvang The code is at BotAuth.
the project have 2 controllers(LineMessagesController.cs, MessagesController.cs).
LineMessagesController will use DirectLineClient post message to MessagesController, when i post message to LineMessagesController.
Login.aspx.cs will call Conversation.ResumeAsync method after Authentication.
I don't know how to get the Resume Message with DirectLineClient.
Thank for your help.


undefined method 'get_ldap_entry' for Devise::LdapAdapter:Module (v0.5.0)

I am running devise_ldap_authenticatable 0.5.0 here and get the error message undefined method 'get_ldap_entry' for Devise::LdapAdapter:Module when trying to use admin? in this code stub:
class User < ActiveRecord::Base
  devise :ldap_authenticatable, :rememberable, :trackable
  attr_accessible :email, :password, :password_confirmation, :remember_me, :cn
  def prename
    Devise::LdapAdapter.get_ldap_param(self.cn,"givenName")
  end
  def admin?
    groups = Devise::LdapAdapter.get_ldap_entry(self.cn)["memberOf"]
    groups.include?("CN=some,OU=where,OU=at,DC=my,DC=ac,DC=tivedir,DC=ectory")
  end

Background: I am using admin? to identify admin users for cancan's ability.rb and basically trying to work around issue 36

Ok, never mind: I realized that I am running an old version of devise_ldap_authenticatable. After updating (to 0.6.0) the error vanished.


Fix cases where you may end up with orphaned docker containers on Mesos.

When an offer is presented to start a task that just finished
When the plugin kills a task and then launches another one because it was in the request queue

Thank you for a pull request! Please check this document for how the Jenkins project handles pull requests


Proposal: After 040wip release we should do development directly on master branch.

Typically in a git repository the master branch is where active development occurs for cutting a new release. This is outlined in the Github flow process. In addition, once a version is cut there's a few things that should happen,

The version is tagged using a semantic version complaint tag like v1.0.0. See proposal, https://github.com/GoogleCloudPlatform/open-match/issues/110.
A release branch is created for v1.0.x releases. Example, release-v1.0.0.

Challenges for the old pattern:

It's surprising behavior to go get -u github.com/GoogleCloudPlatform/open-match and not really know what version you're working with.
go get will only read from master. This means consumers of Open Match will be pinned to a very old version of Open Match.
Other tools make assumptions on repository layout that we currently break away from, like godoc.org, goreportcard.com,

not branches. It has support to read from semver tags against master branch now.
How do we get there?

Merge in (forcefully or not) 040wip changes into master.
Tag the commit with v0.4.0
Create a branch called release-v0.4.0
New pull requests will always be accepted into master. If a change is required into a patch release then 2 PRs are necessary, master and the release branch for the hotfix.

With this change we'll be modeling the development pattern that Kubernetes does.

Lets discuss this - and the next steps. Going down this route would mean creating a release branch for 0.4.0 - along with merging 040wip into master.

👍


Add version that supports all versions of Minecraft

Hi, I'm creating a texture that uses this one and it works, but I use it from 1.20.4 onwards and this project works in one way for 1.20.4 and in another way for 1.20.6, couldn't they be merged?

Yesn't
They can’t be merged but you can always have "overlays", that’s a thing to tell a resource pack (or data pack) to load different files depending on the minecraft version.
Should be quite easy to set up after you’ve read up on the wiki about it.

What wiki?

https://minecraft.wiki/w/Pack.mcmeta

I may add this to NoShadow itself, once I get back to working on it
If you’ve done it and want to open a pull request I’ll merge it

So, I would like to have the rendertype_text_intensity.vsh file working with 1.20.4 and from 1.20.5 onwards, what should I do?

=1.20.5

§a§lʙᴇᴛᴛᴇʀ ѕᴜʀᴠɪᴠᴀʟ§f.zip
<=1.20.4
§a§lʙᴇᴛᴛᴇʀ ѕᴜʀᴠɪᴠᴀʟ§f.zip

Hey?

As I already said, you can do that using overlays, I also linked the wiki page where they are detailed, with that information you can also look for tutorials online.
With "I may add this […] once I get back to working on [NoShadow]" I indirectly said, that I am currently not working on NoShadow, so I will not implement it for you. If you can’t do it yourself, commission someone who knows how to do it or wait for me to implement it, but that will happen at some point in the future if at all.
Also, chill a little, don’t expect people to answer instantly, especially not if you’ve messaged them multiple times through multiple platforms, that is just rude and makes people less willing to help you, maybe something to keep in mind for future interactions.

.


How to enable RMI

What is the best way to go about enabling the RMI interface on the deployed application?  I have tried adding mxe.rmi.host and mxe.rmi.registry to the 'Maximo Configuration Parameters' section of maximo/startinstall.sh, but that doesn't seem to work.
Also, which dockerfile would I EXPOSE these ports in?

If you want to edit maxim.properties, add a line to add them after the line 114 as follows:
L.113
/opt/IBM/SMP/ConfigTool/scripts/reconfigurePae.sh -action updateApplication
-updatedb -deploymaximoear -enableSkin tivoli13 -enableEnhancedNavigation
echo "mxe.rmi.port=2099"
Update and deploy maximo.properties
/opt/IBM/SMP/ConfigTool/scripts/reconfigurePae.sh -action updateApplication
-updatedb -deploymaximoear -enableSkin tivoli13 -enableEnhancedNavigation
For exposing its port, edit "ports" section of maxapps in docker-compose.yml.

I was forgetting about the ports section in docker-compose.yml.  Thanks that part worked great!
Adding the line for mxe.rmi.port doesn't seem to be working.  When I go to System Properties it still shows the default value of 0.  Shouldn't these values be set before the ear is deployed?

@johnposten OK, try the following command instead of echo.
/applications/maximo/properties/maximo.properties
/opt/IBM/SMP/ConfigTool/scripts/reconfigurePae.sh -action updateApplication \
-updatedb -deploymaximoear -enableSkin tivoli13 -enableEnhancedNavigation

sed -i "s/mxe.rmi.port=.*/mxe.rmi.port=2099/"  /opt/IBM/SMP/maximo/applications/maximo/properties/maximo.properties

# Update and deploy maximo.properties
/opt/IBM/SMP/ConfigTool/scripts/reconfigurePae.sh -action updateApplication \
-updatedb -deploymaximoear -enableSkin tivoli13 -enableEnhancedNavigation

That did seem to work.  Thank you for the help.


Fixed building on Windows

Building on Windows suffers from some problems:

Of the support libraries, only Zlib supports being built as shared libraries. Doing so would require __declspec(dllimport) & __declspec(dllexport) macros. Minizip has made some effort, but has several bugs that prevent it from working. Uriparser & Expat have made no effort in this regard.
Similarly, libkml has never had support for being built as a shared library. Again, this requires __declspec() scaffolding.
strptime.c does not compile on Windows.

Fortunately, the first two can be solved by simply forcing static library generation for Windows. The latter is solved with an #ifdef. I'll admit, I haven't tested the code for strptime.c, mainly because I don't know even know how to trigger that code. But I followed the MSDN documentation so I'm hopeful. At any rate, at least it compiles!

Hmmm. I'm wondering if the compile error indicates there should be a more interesting #ifdef around that block.
Can someone else verify if this block compiles on Windows with the 7.1 Windows SDK? It doesn't with the Windows 10.14393 SDK.

did you tried with cmake 3.3?
there is an option called windows_export_all_symbols
https://cmake.org/cmake/help/v3.4/prop_tgt/WINDOWS_EXPORT_ALL_SYMBOLS.html
This will allow to build shared libs.


[JS] Implement Trusted Types

Fixes #6692
Trusted when arbitrary HTML assignments into .innerHTML
code examples
const ttPolicy = window.trustedTypes?.createPolicy('adaptivecards-ui-testapp', {
    createHTML: value => value,
});

const trustedHtml = ttPolicy?.createHTML(inputsAsJson) ?? inputsAsJson;
retrievedInputsDiv.innerHTML = trustedHtml as string;

TT docs: https://developer.mozilla.org/en-US/docs/Web/API/Trusted_Types_API
A Guide to TT: https://web.dev/trusted-types/
TT w3c spec: https://w3c.github.io/webappsec-trusted-types/dist/spec/
Microsoft Reviewers: Open in CodeFlow

changes look good -- how did you test?

I did manual testing, and the designer looks good.
ideally, I should follow https://web.dev/trusted-types/#identify-trusted-types-violations, but I don't have time to do it right now

changes look good -- how did you test?

I did manual testing, and the designer looks good. ideally, I should follow https://web.dev/trusted-types/#identify-trusted-types-violations, but I don't have time to do it right now

Add this line to head of html and use the https link
    <meta http-equiv="Content-Security-Policy" content="require-trusted-types-for 'script';" />

Here is the error without the fix.


Double clicking the window title should enter fullscreen

Describe the bug
In macOS, double click a window title will usually maximize the window.
When you click the window title with Aerospace running, it flickers the screen:

macOS resizes the window to span the whole area of the display
Aerospace resizes it back to it's original size

I would expect to see the window enter fullscreen, than could then be toggled off via command or by double clicking the window again.
As a workaround, I configured my BetterTouchTool to execute the relevant aerospace command when the window title is double clicked. It still flickers, but it does the expected behavior.
Related issues you could find
Please make sure to search for duplicates.
If you couldn't find the duplicates, linking related issues is helpful anyway.

Fyi, you can disable the native double click behavior by going System Settings → Desktop & Dock → Double-click on a window's title bar to → Do nothing.

@Etheryte Thank you for sharing, that works really well with my Better Touch Tool
But my point is that, just like dragging the border of a window will resize the size of the panes in Aerospace, it would also make sense that double clicking a window to maximize it would make sense gorAerospace enter a "Fullscreen" state

It is not possible to make it work the way you describe it


Missing documentation on PAM setup

Hello,
I have encountered the following problem. I set all the presets in the groovy file to point to my iRODS server using PAM authentication. The iRODS server however refuses the connection due to:
ERROR: sslAccept: error calling SSL_accept. SSL error: error:14094416:SSL
routines:SSL3_READ_BYTES:sslv3 alert certificate unknown

How do I point the cloud browser to the correct certificate?
Thanks,
Bernhard

It's likely that you are using a self-signed SSL certificate.  The issue
is that the public key is not in your keystore.
The JVM on which you are running Tomcat or another web server needs that
SSL key imported, which is done using the keytool command. There is a
good reference here:
http://alvinalexander.com/java/java-using-keytool-import-certificate-keystore
That should resolve your issue.
Cheers
MC
On 11/12/2015 09:27 AM, burnce wrote:

Hello,
I have encountered the following problem. I set all the presets in the
groovy file to point to my iRODS server using PAM authentication. The
iRODS server however refuses the connection due to:
|ERROR: sslAccept: error calling SSL_accept. SSL error:
error:14094416:SSL routines:SSL3_READ_BYTES:sslv3 alert certificate
unknown |
How do I point the cloud browser to the correct certificate?
Thanks,
Bernhard
—
Reply to this email directly or view it on GitHub
https://github.com/DICE-UNC/irods-cloud-browser/issues/126.

Hello Mike,
Thanks for the prompt reply Mike,
Adding the CA certificate which signed the iRODS server certificate ti the tomcat-server jvm's keystore worked.
Cheers,
Bernhard

OK great.  Yes, the SSL stuff is a pain, especially with self signed
certs.  For the cyberduck folks, we've added the ability to bypass
checks through a property, as well as inject a custom trust manager, so
I'm going to merge that jargon code into the web interface in this next
mx release.
We've had more SSL headaches than anything!
Cheers
MC
On 11/12/2015 10:16 AM, burnce wrote:

Hello Mike,
Thanks for the prompt reply Mike,
Adding the CA certificate which signed the iRODS server certificate ti
the tomcat-server jvm's keystore worked.
Cheers,
Bernhard
—
Reply to this email directly or view it on GitHub
https://github.com/DICE-UNC/irods-cloud-browser/issues/126#issuecomment-156135038.


[Bug] Runtime time error on editor click "Uncaught Error: g.getOccurrencesAtPosition is not a function"

Reproducible in vscode.dev or in VS Code Desktop?

[X] Not reproducible in vscode.dev or VS Code Desktop

Reproducible in the monaco editor playground?

[X] Not reproducible in the monaco editor playground

Monaco Editor Playground Link
No response
Monaco Editor Playground Code
No response
Reproduction Steps
Click on the editor to change text
Actual (Problematic) Behavior
We have a Javascript editor and sometimes when we click on it we get an error
errors.ts:26 Uncaught Error: g.getOccurrencesAtPosition is not a function

TypeError: g.getOccurrencesAtPosition is not a function
    at L.provideDocumentHighlights (tsMode.js:16:165)
    at errors.ts:26:12

I'm not sure it's relevant but we also have another editor set for JSON that doesn't thrown an error.
This is the code for the editor throwing the error
<MonacoEditor
    defaultLanguage='javascript'
    height='500px'
    value={javaScriptCode}
    options={{ formatOnPaste: true, formatOnType: true, autoIndent: 'advanced' }}
    onMount={handleJSMonacoEditorMounted}
/>

Expected Behavior
No errors
Additional Context
No response

Please provide a monaco edietor playground link to reproduce your problem. Thanks!


Show running instances/jobs as a separate section of cards on the executions tab

The expansion panel mechanism to show current instances can make it tricky to see what is running. We are considering moving these to a separate section that shows these as another collection of cards.

[ ] Remove expansion panel from ApplicationCard component
[ ] Create a section header above the application cards called Executions
[ ] Create a new section called Running Executions
[ ] Display running instances/jobs as cards in this new section

Decided on showing running instances on the tasks page instead


in WebView2 where is BuildLocalStreamUri and NavigateToLocalStreamUri methods

In WebView  version 1 for UWP, you could navigation to a local stream and use a custom IUriToStreamResolver to direct the browser to load related assets from local files/resources.
I don't see these types of interfaces in WebView2. Is there an alternate suggestion for how to accomplish these scenarios?

@anawishnoff FYI

#1967 mentions some possibilities here. Using SetVirtualHostNameToFolderMapping() can help with app local files, and the the CoreWebView2.WebResourceRequested event can theoretically help with using streams.

I hope that @codendone's suggestion helped you implement what you needed. If there's still an issue, let me know and I can reopen this item. Thanks!

@codendone @krschau
Our app  (uwp) was zip all of content to save storage in device. We need to manual unzip resource in local device.
In webview1, we used IUriToStreamResolver to detect and unzip content if needs.
But on webview2, I cannot find any alternative method to do it.
I tried to use SetVirtualHostNameToFolderMapping and used WebResourceRequested event. but rightnow, it didnot work.

I have a similar situation of @camvm93 I asked a question with a min repro here
https://github.com/microsoft/microsoft-ui-xaml/discussions/7962
if we can make this work I think I'll be to make also the stream from a zip file works


Missing from extension marketplace

I noticed this is no longer available in the extension marketplace. Assuming this project is no longer maintained?

That is unfortunately correct.

Very sad. Guess I'll be single forever 😢


Uncaught TypeError: Cannot set property 'localAddress' of undefined

New file
Set file type to PHP
Beautify (without php_beautifier)

Atom Version: 0.177.0
System: Mac OS X 10.10.2
Thrown From: Atom Core
Stack Trace
Uncaught TypeError: Cannot set property 'localAddress' of undefined
At net.js:840

TypeError: Cannot set property 'localAddress' of undefined
  at connect (net.js:840:23)
  at net.js:943:9
  at GetAddrInfoReqWrap.asyncCallback [as callback] (dns.js:83:16)
  at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:101:10)

Commands
     -0:19.3 editor:newline (atom-text-editor.editor.is-focused)
     -0:18.9 core:paste (atom-text-editor.editor.is-focused)
     -0:18.4 command-palette:toggle (atom-text-editor.editor.is-focused)
     -0:16.6 editor:consolidate-selections (atom-text-editor.editor.mini)
     -0:16.6 core:cancel (atom-text-editor.editor.mini)
     -0:15.2 grammar-selector:show (atom-text-editor.editor.is-focused)
     -0:13.2 core:confirm (atom-text-editor.editor.mini)
     -0:12.3 command-palette:toggle (a.inline-block)
     -0:11.3 core:confirm (atom-text-editor.editor.mini)
     -0:11.3 beautify:beautify-editor (a.inline-block)
     -0:09.2 command-palette:toggle (atom-text-editor.editor.is-focused)
     -0:08.2 core:confirm (atom-text-editor.editor.mini)
     -0:08.2 beautify:beautify-editor (atom-text-editor.editor.is-focused)
     -0:02.9 core:select-all (atom-text-editor.editor.is-focused)
     -0:02.5 snippets:previous-tab-stop (atom-text-editor.editor.is-focused)
     -0:02.5 editor:outdent-selected-rows (atom-text-editor.editor.is-focused)

Config
{
  "core": {
    "disabledPackages": [
      "metrics",
      "background-tips"
    ],
    "themes": [
      "solarized-dark-ui",
      "solarized-dark-syntax"
    ]
  },
  "editor": {
    "fontFamily": "Menlo",
    "fontSize": 12,
    "showIndentGuide": true,
    "tabLength": 4,
    "invisibles": {}
  }
}

Installed Packages
# User
atom-beautify, v0.21.2
color-picker, v1.4.4
emmet, v2.3.3
file-icons, v1.4.8
hex, v0.5.0
language-blade, v0.7.0
language-html5-subtlegradient, v0.1.0
language-jade, v0.3.0
linter, v0.11.1
linter-js-yaml, v0.1.3
linter-jshint, v0.1.0
linter-lua, v0.1.3
linter-php, v0.0.11
linter-pylint, v0.2.0
linter-ruby, v0.1.4
linter-scss-lint, v0.0.11
linter-tidy, v0.0.1
minimap, v4.0.2
project-manager, v1.15.5
solarized-dark-ui, v0.3.0

# Dev
No dev packages

Screenshot

Could you please try to reproduce this in safe mode (atom --safe)?

Looks like it happened after a select all, then un indent, post beautify.
     -0:08.2 beautify:beautify-editor (atom-text-editor.editor.is-focused)
     -0:02.9 core:select-all (atom-text-editor.editor.is-focused)
     -0:02.5 snippets:previous-tab-stop (atom-text-editor.editor.is-focused)
     -0:02.5 editor:outdent-selected-rows (atom-text-editor.editor.is-focused)

Beautify (without php_beautifier)

Can you elaborate on the without php_beautifier bit? Is it looking for some binary and it cant find it?

Unable to reproduce in safe mode, will not load the package providing the Beautify method. Please excuse if I'm missing something as I'm quite new to Atom.
I don't have php_beautifier installed so Atom would fail to find a binary, see https://github.com/Glavin001/atom-beautify/issues/112.
Whether this is the cause of the problem or unrelated, the error handler isn't super helpful in either case.

Safe mode disables all of the non-core packages and themes (basically it disables anything you're installed).

Would that mean this is not an issue with Atom Core, but one of the 3rd party packages relating to Beautify?

Looks like this will be resolved as per https://github.com/iojs/io.js/issues/510


signURL 不能处理object key中包含/路径分隔符

如果object key中包含路径分隔符/，signURL会将/转换为%252F，导致返回的url无法使用。

可否给个例子? 这是常见问题

      	ur, err := url.Parse(rawURL)
	if err != nil {
		return err
	}
	epath, err := url.PathUnescape(ur.Path)
	if err != nil {
		return err
	}

	return bucket.SignURL(strings.TrimLeft(epath, "/"), oss.HTTPGet, 100)

这个问题是不考虑修复吗？目前还是会这样，SignUrl 得到的结果，把文件路径中的 / 都变成 %2F 了。用 url.PathUnescape 并不合适，它会把 url 最后的 Signature 末尾的 %3D 转换成 =。

I agree with the above comment (at least what Google translated it to).  Why is url.QueryEscape being called in buildURL at all?  This isnt' a query string, this is a path component.  This is just wrong.  You might want to do Go's equivalent of Javascripts encodeURI but that explicitly leaves / alone.
My fix for this is to first Sign the URL and then run url.PathUnescape on the URL, e.g.,
	// Ask Aliyun library to sign the URL
	aliurl, err := bucket.SignURL(file, "GET", 60*60)
	if err != nil {
		// notest
		return "", err
	}
        // Parse the resulting URL
	ur, err := url.Parse(aliurl)
	if err != nil {
		return "", err
	}
	// This bit fixes an unnecessary (and incorrect, IMHO) encoding performed by the
	// Aliyun Go SDK.
	epath, err := url.PathUnescape(ur.Path)
	if err != nil {
		return "", err
	}
        // Plug the correct path back into the URL
	ur.Path = epath
	ur.RawPath = epath
	return ur.String(), nil

But this shouldn't be necessary and it probably doesn't work for some problematic URLs (which I fortunately don't seem to have).


Prevent duplicate selections in multiple mode

In the "multiple" examples it's currently possible to select the same option repeatedly. Ideally there'd be a simple way to drop selected items from the options list. Apologies if this already exists and I've just missed it!

The kitchen sink has an example of disabling picked options (you could also filter them out from the available options if you prefer).
  const disable = (value) => selectedValues().includes(value);

Let me know if that helps!

That'll work for my case, much appreciated!
For ease of use I'd still suggest that this behaviour be a setting if possible.


How to make character

   Is there any tools for convinient?      can export char_cfg.yaml   mask.png  joint_overlay  texture.png

Try following the steps here in the readme:
https://github.com/facebookresearch/AnimatedDrawings#animating-your-own-drawing

thanks a lot


Adding 200 repsonse for Resubscribe API

Choose a PR Template
Switch to "Preview" on this description then select one of the choices below.
Click here to open a PR for a Data Plane API.
Click here to open a PR for a Control Plane (ARM) API.

\azp run


Use a version of QuickJS that supports MSVC

Would it be possible to use this build of QuickJS that compiles on MSVC?
https://github.com/c-smile/quickjspp

The quickjs we are using is forked and modified for better godot
Integration and a simple debugger support is added to it. So it would be no
that easy to replace it.
Ben Nolan<EMAIL_ADDRESS>周四05:27写道：

Would it be possible to use this build of QuickJS that compiles on MSVC?
https://github.com/c-smile/quickjspp
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/GodotExplorer/ECMAScript/issues/90, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABVEKTEO6BCZG7JZLC7IU2TTAVVLNANCNFSM4YFI5X7Q
.


feat(942): create govtool metadata submission service

List of changes

add govtool metadata service

Checklist

related issue
[x] My changes generate no new warnings
[x] My code follows the style guidelines of this project
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the changelog
[x] I have added tests that prove my fix is effective or that my feature works

Based on this comment the package name is to be started with govtool-*


WHOIS errors may lead to wrong domain being queried in secondary TLDs

Describe the bug
The following line strips a subdomain if an error/not found message is returned in the whois response
https://github.com/DannyCork/python-whois/blob/5e05a4aa82c1ae19b1029e6bbb4fdbc9a21a1974/whois/__init__.py#L83
In case of secondary TLDs, this may lead to returning the WHOIS response of the secondary TLD itself instead of an actual domain/not found. For example, time-out errors could easily trigger this bug.
Code should not strip last subdomain when an secondary TLD is used.

has been fixed in latest pull request:
    # do we have a result and does it have a domain name
    if pd and pd["domain_name"][0]:
        return Domain(
            pd,
            verbose=verbose,
        )

    if len(d) > (len(tldLevel) + 1):
        d = d[1:]  # strip one element from the front and try again
        if verbose:
            print(f"try again with {d}, {len(d)}, {len(tldLevel)+1}", file=sys.stderr)
        continue

    # no result or no domain but we can not reduce any further so we have None
    return None


Initial height too big

Using the following code:
<TextareaAutosize
    className='myclass'
     placeholder='Add to the discussion'
     value={discussion}
     minRows={2}
     onChange={changeDiscussion}
/>
.myclass {
  width: 100%;
  min-height: 5rem;
  overflow: hidden;
  padding: .4rem 1.1rem;
  font-size: 1.4rem;
  color: #000;
  line-height: 1.5;
  border: .1rem solid #d9d9d9;
  border-radius: .4rem;
  white-space: pre-wrap;
}

The initial height is being set to 448.989px, when it should be closer to 52px. If I type something into the textarea the height jumps back to the correct height. Or, if I set the default value to any value, the default height will be correct.
I'm not sure if this is a specific issue with my code or an error in the component.
Fix:
If I change the outer container display to flex and then in myclass replace width:100% with flex: 0 0 100%, the textarea displays correctly.

That's somewhat funny, as for me the iitial height is too small xD
.input {
    border: 1px solid #A8B7C7;
    border-radius: 2px;
    background-color: #FFFFFF;
    padding: 6px 14px;
    width: 100%;
}

Looks like issue with using external font. Setting font-size and line-height helped

It's actually probably due to the fact that you are using a Google Font and the initial font on which the plugin calculates the height is the fallback font (before that your Google Font is loaded) which has a different height from your Google Font.

Good library.
However, I also ran into this issue when using Google Fonts.
Ended up using this autosize library instead, which you need to call after every render.
Works well for me so far
https://github.com/jackmoore/autosize
https://stackoverflow.com/questions/39401504/javascript-react-dynamic-height-textarea-stop-at-a-max


Add SWEET from JPL

http://sweet.jpl.nasa.gov
I'm not sure how to do add this one, because its broken up into several owl files:
http://sweet.jpl.nasa.gov/2.3/reprDataFormat.owl
http://sweet.jpl.nasa.gov/2.3/repr.owl
http://sweet.jpl.nasa.gov/2.3/reprMathSolution.owl
http://sweet.jpl.nasa.gov/2.3/reprMath.owl
http://sweet.jpl.nasa.gov/2.3/relaMath.owl
(and many more)

Probably want to render them into a single local file, and build from that.

That looks like a substantial ontology. We'll need to begin considering size limitations, or this gem will become a multi-megabyte download.

Maybe this one should go in it's own gem.
The real issue isn't so much the gem size, but the fact that Vocabulary.each faults them all in. Still, some mechanism which would allow vocabularies to be defined, and then loaded when required could improve this, perhaps by using micro-gems for larger vocabularies.

Load time and memory requirements do matter more, but gem size will be a particular concern to, say, Heroku users--as well as anybody who needs to deploy often, re-downloading from RubyGems.org.
Perhaps the solution is indeed to have large vocabularies (DBpedia, SWEET) be their own gems, so that these vocabularies don't adversely affect the 80% (or 99%, even) use cases.


Issues with "invalid_grant" when refreshing a token

Hi there,
I recognize this might not be the best place for this question, but I'm struggling to find answers elsewhere. We have a number of integrations against Google's APIs and every once in a while, we'll get large groups of invalid_grant errors when attempting to refresh a token. I can't seem to figure out why this is other than ask the user to reauthorize, but for thousands of people at a time, this doesn't seem ideal and feels like something else is wrong.
Any idea why we see large groups of these errors?
Here is our code:
      def auth_client
        Signet::OAuth2::Client.new(
          token_credential_uri: 'https://accounts.google.com/o/oauth2/token',
          audience:             'https://accounts.google.com/o/oauth2/token',
          scope:                SCOPE,
          access_token:         connection.token,
          refresh_token:        connection.refresh_token,
          person:               connection.email,
          client_id:            ENV["GMAIL_CLIENT_ID"],
          client_secret:        ENV["GMAIL_CLIENT_SECRET"],
        )
      end

      def refresh_token
        new_token = auth_client.fetch_access_token!
        connection.update!(
          token:            new_token["access_token"],
          token_expiration: new_token["expires_in"].seconds.from_now
        )
      rescue ::Signet::AuthorizationError => e
        if e.message =~ /token has been revoked/i
          raise Providers::Gmail::Activity::TokenRevoked.new(e.message)
        elsif e.message =~ /token has been expired or revoked/i
          raise Providers::Gmail::Activity::TokenRevoked.new(e.message)
        else
          raise e
        end
      end

:+1: I have the same problem on refreshing, is it possible to use google-auth-library-ruby gem ? I tried this method for assigning access token, but it doesn't works, works only with Signet gem.

This is mostly like due to password resets. OAuth grants with the gmail scopes are revoked when a user changes their password.
See https://support.google.com/a/answer/6328616
In general, users can revoke grants at any time. You should be able to handle that case gracefully and alert the user that they need to reauthorize if they wish to continue using the functionality provided.

Hi - I just ran into this during development and I know for a fact that the user's password has not changed as it was my own account.
> creds.expired?
 => true

> creds.refresh!
Signet::AuthorizationError: Authorization failed.  Server message:
{
 "error": "invalid_grant",
 "error_description": "Token has been expired or revoked."
}

One important detail is that this (google) account was authorized twice with separate OAuth2 client secrets, with separate token stores - but with the same project_id.
Looking on the google account page for third party apps, I only saw a single entry despite having two authorizations with separate client secrets.   Both authorization_token worked, but when they expired only the most recent refresh_token worked.
I suspect that Google only stores a single refresh_token per project_id.  The problem I am unable to solve is how do I determine which google account a user has selected?  We could work around this case if we had a token store that knew which google account a token was associated with, and shared that between our application instances, but I can't seem to determine this from the OAuth2 flow?

I never got to the bottom of it. I suspect there was some event that invalidated those users' tokens due to some server-side stuff.

@brandonhilkert thanks for letting me know.
The issue for me was around the fact that we had 3 environments - dev, staging, and production - and one project in the Google console. I created credentials for each env under 1 project. When I integrated on one environment, it would then trigger the invalid_grant error on the other environments. I ended up creating 3 different projects in the google console, one for each environment, and it's been working properly now.


Theme landing page

Here's a start to the design of the home page. Some elements would change when the event is closer. For example, the navigation would have session schedule, sponsors, training, etc. Also, in place of the star for sponsors would probably be tickets or something.

Realized that pic of Dries is about 7 years old. I'll stick a new one in.

Looks great!
On Feb 23, 2015 8:09 AM, "Jon Raedeke"<EMAIL_ADDRESS>wrote:

Realized that pic of Dries is about 7 years old. I'll stick a new one in.
—
Reply to this email directly or view it on GitHub
https://github.com/Drupal4Gov/Drupal-GovCon-2015/issues/21#issuecomment-75538016
.

News header should probably be below sign up form. With it above sign up
form it implies, to me, that you are signing up for news. That's sort of
true, but I doubt we will email every news node to the participants email
list, right?
On Feb 23, 2015 8:49 AM, "Tim Wood"<EMAIL_ADDRESS>wrote:

Looks great!
On Feb 23, 2015 8:09 AM, "Jon Raedeke"<EMAIL_ADDRESS>wrote:

Realized that pic of Dries is about 7 years old. I'll stick a new one in.
—
Reply to this email directly or view it on GitHub
https://github.com/Drupal4Gov/Drupal-GovCon-2015/issues/21#issuecomment-75538016
.

good point

Made some edits to the mockup:

Add diamond sponsors at top
Callout previous name of event
Big ol' ticket button

Looks great. Where will the session submission button go? Or should we fit
that in some other way?
On Mar 14, 2015 10:26 PM, "Jon Raedeke"<EMAIL_ADDRESS>wrote:

Made some edits to the mockup:

Add diamond sponsors at top
Callout previous name of event
Big ol' ticket button

[image: screen shot 2015-03-14 at 10 24 04 pm]
https://cloud.githubusercontent.com/assets/2054715/6654415/23ad1a16-ca99-11e4-843e-1d4671fce0c4.png
—
Reply to this email directly or view it on GitHub
https://github.com/Drupal4Gov/Drupal-GovCon-2015/issues/21#issuecomment-80802180
.

Let's replace "Program" with "Submit a Session" until the sessions are picked.

@jonraedeke Good idea, only problem is that node/add/session is not allowed by anonymous so it will not display for anon, meaning nor will the sub-items.
If we make it user/login?destination=node/add/session it doesn't show for logged in users!
If we make it user?destination=node/add/session it shows for both anon and authenticated but doesn't redirect to the right page for a logged in user.  :-(

We could have two menu items, one that works for anonymous and one for authenticated, but then we'll either have to repeat the menu sub-items under each or disable/move the sub-items.

This is kind of dumb, but how about a basic page with instruction about logging in and submitting a session, what to expect etc.
Logged in users would have button on the page to "Submit your awesome session"
Anon users get "Log in to submit a session"

I'm going to add a page as you suggest.

Page created. Some base content added. @jonraedeke Please add image or whatever where I left you a place holder. https://capitalcampstg.prod.acquia-sites.com/drupal-govcon-2015/submit-session

LOOKING GOOD!!!

This thread is a little scattered, so I'll open smaller tasks when new elements are added to the homepage, like twitter feed, session icons etc.


Paused jobs from replay using WMCore agent 1.5.2 with error SetupCMSSWPset due issue in edm_pset_tweak.py

Impact of the bug
Tier0 agent using 1.5.2 fails workflows
Describe the bug
While testing WMCore agent 1.5.2, with the CMSSW CMSSW_11_3_4  and 12_0_0, the replay shows paused jobs with an error within SetupCMSSWPset.py when trying to execute  edm_pset_tweak.py
How to reproduce it
Replay using T0 release 3.0.0 based on 1.5.2 agent.
Expected behavior
No errors from edm_pset_tweak.py
Additional context and error message
Please take into account that Tier0 was able to deploy the replay using the 1.5.2 agent including the following PR #10801

More details on the error after reproducing it interactively:
$ edm_pset_tweak.py --input_pkl PSet.pkl --output_pkl PSet_output.pkl --json PSetTweak.json --allow_failed_tweaks
We got here
Traceback (most recent call last):
  File "edm_pset_tweak.py", line 160, in <module>
    main()
  File "edm_pset_tweak.py", line 147, in main
    err_val = apply_tweak(process, tweak[0], tweak[1],args.skip_if_set, args.create_untracked_psets )
  File "edm_pset_tweak.py", line 82, in apply_tweak
    setattr(param,key_split[-1],value)
  File "/cvmfs/cms.cern.ch/slc7_amd64_gcc900/cms/cmssw/CMSSW_11_3_4/python/FWCore/ParameterSet/Mixins.py", line 276, in __setattr__
    self.__addParameter(name, value)
  File "/cvmfs/cms.cern.ch/slc7_amd64_gcc900/cms/cmssw/CMSSW_11_3_4/python/FWCore/ParameterSet/Mixins.py", line 244, in __addParameter
    self.__raiseBadSetAttr(name)
  File "/cvmfs/cms.cern.ch/slc7_amd64_gcc900/cms/cmssw/CMSSW_11_3_4/python/FWCore/ParameterSet/Mixins.py", line 299, in __raiseBadSetAttr
    raise TypeError(name+" does not already exist, so it can only be set to a CMS python configuration type")
TypeError: fileName does not already exist, so it can only be set to a CMS python configuration type

$ echo $?
1

So, the problem is --allow_failed_tweaks isn't ignoring tweaks that fail, which we do want to happen sometimes like here (in this case, we want to ignore setting up process.sqLite.xxx variables in the PSet.

This was fixed with the external commit below from David L.:
https://github.com/cms-sw/cmssw-wm-tools/commit/aa1626fb2d2fdbde6b3259e4b44828220883a809
and was verified to work by @germanfgv


Add series editor(s)

We would like to add information about the editor(s) of a series.
There are two options:

we reuse the existing contribution + affiliation schema, adding the series_id to contribution and constraining the types (e.g. can only add EDITOR as the type if there is a series_id, there can only be either a work_id or a series_id but not both)
we recreate the structure, adding a series_editor object with similar fields to contribution, and a series_editor_affiliation with similar fields to affiliation

I guess it'd help clarifying what type of contributions we expect a series may have, e.g. at OBP some series distinguish between "General Editor" and "Associate Editor", though this could potentially be recreated with the "main" flag

I verge to option 1, since it's easy and I think we only need active editors (series have not run long enough to have "historical" editors). Historical editors may be an edge case?

I would say series only have editors.


Add ratelimit

It's necessary to add rate limiting on login and register endpoints

How needed is this tho? What benefit would that have?

the benefit would obviously be that ratelimiting protects against bruteforce.
i used express-rate-limit before and it works really well

Oh I'm sure it does, but since this is a public endpoint.
It just sounded more like he wants to ratelimit it with something that isnt 3/5s or something. Thats why I got curious as to how it's important.
3/5s is a standard thing where I come from on public endpoints atleast.

i would say its better to ratelimit single users after they had x amount of requests in 1 minute for the next couple minutes

I guess this decision more or less depends on the userbase you aim for.
I totally agree that bruteforcing and abuse is one of the things you have to deal with as a public service, but on the other hand how important is it as a file-hoster. If someone decides to register with 3 accounts, they are totally free to do that, but theres no real benefit to it since we dont limit peoples upload "amount" per account.

nonono you understand rate-limiting wrong it just limits the user (mostly by IP or cookie) of registering more than  of users in . they are still allowed to have as many accounts as they want but they cant create them using a script in 1 second

You might get that picture from how I described it, sorry.
I totally understand ratelimiting, it's just that I don't see the point in limiting them more than 3/5s or 1/5s.
Lets say the use a script to do that, even with a limit of 1/5s it would still take them a while to get a lot of accounts for... no purpose?

yea i missunderstood you 😿 theres no point of having 1337x accounts yes but people will do it just to annoy you :^) i would say its the best to add that feature and making it configurable in the config

I agree with you on this 👍

yeah people will try spamming the panel to ramp up CPU, this happened on the old panel before for cuntflaps

The register limit would prevent people from running a script creating infinite accounts, which is just a performance issue. The login endpoint on the other hand, is important. For the time being as there are no admin roles the only admin is the root account, which already knowing the username makes it easy to set up a script to try and brute force your way in.

Implemented


fix queue 'supports_' methods with empty flags

The methods prefixed with supports_ in vulkano::device::physical::QueueFamily should use the contains method with queue_flags. This makes sure that if the tested flags are are empty, they are supported. This fixes a panic when for example: timestamping PipelineStage::TopOfPipe, PipelineStage::BottomOfPipe or PipelineStage::AllCommands where no flags are required for them to be supported.

Thanks again for the fix!


E2Ev2: Ensure consistent cwd()

Ensures that both running Playwright directly or via a VSCode extension paths are resolved correctly.
Normally Playwright ensures that process.cwd() is relative to the Playwright config file. However when running through the VSCode extension that doesn't seem to hold.
Test Plan
Only affects unused e2ev2 tests, no tests needed

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

#5003
#4992  👈
#4993
main

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

Join @RXminuS and the rest of your teammates on  Graphite


Exporting Godot with SQLite

Good day.
I have a issue exporting a project that uses the SQLite module.
It seems that the exported project can't execute the query, while in the editor doesn't have a problem.
I have already compiled the export templates and changed with the normal ones.
I really hope to find a solution to this problem since this module is really useful.
Here's a copy of the project:
https://drive.google.com/open?id=0B_6QcRLG_4kvT1p1RVJxeW03NkE

Ok, my bad.
Apparently, files that can be written have to be saved outside the resource folder, like the "user://"...


route:ferry and route:share_taxi

Hello.
I discovered https://routes.tracestrack.com while preparing this week's edition of WeeklyOSM. After using this index, I have an idea.
I already maintained yet-another-OSM-routes-index (https://altilunium.github.io/bisangkot/), focusing on public transportation in Indonesia. The problem is, I have to manually query the Overpass server to update this index.
Since OpenStreetMap Routes Index's route database is synced everyday (as stated on its homepage), I thought I could use this index to update Bisangkot's data more easily.

How to contribute? There are many ways to contribute to the projects. Creating markdown pages. Make more route lists.

How can I make route list for route:ferry and route:share_taxi ?

Hi, ferry and share_taxi routes are not supported at the moment. But I can export those too. I'll try to add support for those in next few days.

I've exported the data and updated the pages. Now you can see shared_taxi in https://routes.tracestrack.com/id/bus/all/ and ferry routes in https://routes.tracestrack.com/id/ferry/all/. You can also use the relevant json database directly!

Thank you very much


⚠ Bofrost.at has degraded performance

In af3291a, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1403 ms

Resolved: Bofrost.at performance has improved in 0d2688b after 11 minutes.


Lower limit on warehouse auto-suspend setting

The warehouse auto-suspend setting can actually be an arbitrary integer (you can test this with alter warehouse reporting set auto_suspend = <x>). The current check for 60 seconds imposes an arbitrary restriction on the provider that's not present in the service.
Negative values are just interpreted as "never". Based on the intent of the provider surface it looks like the "never" case should be handled by removing the auto-suspend setting, so a 1-second minimum seemed reasonable.

/ok-to-test sha=ae6466f

Thank you!


fix: update @rivet-gg/api

#1  👈
master

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

Join @NathanFlurry and the rest of your teammates on  Graphite


react-scripts-build => 'navigator is not defined'

Attempting to build & deploy to gh-pages, but it's failing at 'react-scripts-build', throwing 'Module build failed: ReferenceError: navigator is not defined'. It appears to be coming from App.css, but I can't find what 'navigator' is referring to in the first place.  Do you know what 'navigator' refers to and what could be causing this?
Here's the commit of the project at this point: https://github.com/ztotta/Portfolio/commit/e7ec3e6abc19bb9f6761aa755287b4db0d8aa195
And here's the log:
react-scripts build

Creating an optimized production build...
Failed to compile.

**Module build failed: ReferenceError: navigator is not defined**
    at Object.module.exports.e.__esModule.default (/Users/mac/programming-projects/Portfolio/node_modules/css-loader/index.js?importLoaders=1!/Users/mac/programming-projects/Portfolio/node_modules/postcss-loader/index.js!/Users/mac/programming-projects/Portfolio/src/App.css:35005:25079)
    at t (/Users/mac/programming-projects/Portfolio/node_modules/css-loader/index.js?importLoaders=1!/Users/mac/programming-projects/Portfolio/node_modules/postcss-loader/index.js!/Users/mac/programming-projects/Portfolio/src/App.css:35004:122)
    at Object.<anonymous> (/Users/mac/programming-projects/Portfolio/node_modules/css-loader/index.js?importLoaders=1!/Users/mac/programming-projects/Portfolio/node_modules/postcss-loader/index.js!/Users/mac/programming-projects/Portfolio/src/App.css:35005:29200)
    at t (/Users/mac/programming-projects/Portfolio/node_modules/css-loader/index.js?importLoaders=1!/Users/mac/programming-projects/Portfolio/node_modules/postcss-loader/index.js!/Users/mac/programming-projects/Portfolio/src/App.css:35004:122)
    at Object.<anonymous> (/Users/mac/programming-projects/Portfolio/node_modules/css-loader/index.js?importLoaders=1!/Users/mac/programming-projects/Portfolio/node_modules/postcss-loader/index.js!/Users/mac/programming-projects/Portfolio/src/App.css:35004:513)
    at t (/Users/mac/programming-projects/Portfolio/node_modules/css-loader/index.js?importLoaders=1!/Users/mac/programming-projects/Portfolio/node_modules/postcss-loader/index.js!/Users/mac/programming-projects/Portfolio/src/App.css:35004:122)
    at /Users/mac/programming-projects/Portfolio/node_modules/css-loader/index.js?importLoaders=1!/Users/mac/programming-projects/Portfolio/node_modules/postcss-loader/index.js!/Users/mac/programming-projects/Portfolio/src/App.css:35004:210
    at Object.<anonymous> (/Users/mac/programming-projects/Portfolio/node_modules/css-loader/index.js?importLoaders=1!/Users/mac/programming-projects/Portfolio/node_modules/postcss-loader/index.js!/Users/mac/programming-projects/Portfolio/src/App.css:35004:215)
    at __webpack_require__ (/Users/mac/programming-projects/Portfolio/node_modules/css-loader/index.js?importLoaders=1!/Users/mac/programming-projects/Portfolio/node_modules/postcss-loader/index.js!/Users/mac/programming-projects/Portfolio/src/App.css:21:30)
    at Object.<anonymous> (/Users/mac/programming-projects/Portfolio/node_modules/css-loader/index.js?importLoaders=1!/Users/mac/programming-projects/Portfolio/node_modules/postcss-loader/index.js!/Users/mac/programming-projects/Portfolio/src/App.css:35014:19)
    at __webpack_require__ (/Users/mac/programming-projects/Portfolio/node_modules/css-loader/index.js?importLoaders=1!/Users/mac/programming-projects/Portfolio/node_modules/postcss-loader/index.js!/Users/mac/programming-projects/Portfolio/src/App.css:21:30)
    at Object.<anonymous> (/Users/mac/programming-projects/Portfolio/node_modules/css-loader/index.js?importLoaders=1!/Users/mac/programming-projects/Portfolio/node_modules/postcss-loader/index.js!/Users/mac/programming-projects/Portfolio/src/App.css:37709:32)
    at __webpack_require__ (/Users/mac/programming-projects/Portfolio/node_modules/css-loader/index.js?importLoaders=1!/Users/mac/programming-projects/Portfolio/node_modules/postcss-loader/index.js!/Users/mac/programming-projects/Portfolio/src/App.css:21:30)
    at Object.module.exports.Object.defineProperty.value (/Users/mac/programming-projects/Portfolio/node_modules/css-loader/index.js?importLoaders=1!/Users/mac/programming-projects/Portfolio/node_modules/postcss-loader/index.js!/Users/mac/programming-projects/Portfolio/src/App.css:37077:23)
    at __webpack_require__ (/Users/mac/programming-projects/Portfolio/node_modules/css-loader/index.js?importLoaders=1!/Users/mac/programming-projects/Portfolio/node_modules/postcss-loader/index.js!/Users/mac/programming-projects/Portfolio/src/App.css:21:30)
    at Object.module.exports.Object.defineProperty.value (/Users/mac/programming-projects/Portfolio/node_modules/css-loader/index.js?importLoaders=1!/Users/mac/programming-projects/Portfolio/node_modules/postcss-loader/index.js!/Users/mac/programming-projects/Portfolio/src/App.css:37834:13)

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>build: `react-scripts build`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>build script 'react-scripts build'.```

Remove the line https://github.com/ztotta/Portfolio/blob/e7ec3e6abc19bb9f6761aa755287b4db0d8aa195/src/App.css#L162 (App.css:162)
There is an empty URL which is trying to be resolved. I agree though, the error is quite cryptic.

Thank you!!!

Wow, that error is super confusing.
Let's reopen until we file a bug in style-loader (or whatever is generating this).

Tagging as up for grabs. The follow up item here is to create a minimal reproducing case with just Webpack (no CRA) and file a bug in the appropriate project (it's likely either style-loader or css-loader).

Ok finally found out what the problem is. Webpack is trying to load '' from ./src/App.css, and and resolves it to ./src/index.js. Webpack, for some reason, then proceeds to execute all the code found in this file and its dependencies which finally crashes due to being in strict mode when trying to load react-responsive-sidebar and navigator is not defined (https://github.com/gregchamberlain/react-responsive-sidebar/blob/master/src/Sidebar.js#L93). It's quite weird that Webpack actually executes the code inside the files. You can also see console.log output from the client code itself while the bundle is being built!
If you change ./src/index.js to this:
import './App.css';
console.log('========= Oopsie! !========');
require('react-responsive-sidebar');

This obscure behaviour for importing '' has been since fixed here https://github.com/webpack/webpack/issues/2006.

So what is the next step here? Is this supposed to be fixed in Webpack? Should we file another issue?

Thought this issue was fixed for Webpack ^2.1.0 but apparently this is only fixed for specific require calls. css-loader and extract-text-webpack-plugin both seem to have related issues. Filed issues here:
https://github.com/webpack/webpack/issues/4541
https://github.com/webpack-contrib/css-loader/issues/462
https://github.com/webpack-contrib/extract-text-webpack-plugin/issues/465
This is a repo that reproduces these issues:
https://github.com/darrenscerri/webpack-extract-text-plugin-empty-require-error

Cool, I'll close our issue then. Thanks for following up.


Move EventSource and associated types to WinRT.Runtime

This PR completes moving everything into WinRT.Runtime, and dropping all shared code. This also enabled some additional optimizations for EventSource<T>, like dropping the proxy delegates to subscribe/unsubscribe. We can just call the methods.

Somehow the changes in the last day regressed a .NET core 3 test:
Failed UnitTest.TestCSharp.TestEventSourceCaching [28 ms]
Error Message:
Assert.False() Failure
Expected: False
Actual:   True
Stack Trace:
at UnitTest.TestCSharp.TestEventSourceCaching() in D:\a_work\1\s\src\Tests\UnitTest\TestComponentCSharp_Tests.cs:line 2902

Just out of curiosity, how come we're still testing .NET Core 3, since it's been EOL for years now? 😅

Just out of curiosity, how come we're still testing .NET Core 3, since it's been EOL for years now? 😅

Thats how we were testing our .NET standard projection.  Might eventually update that test to .NET framework.  Tried to do that last time during pipeline migration but ran into some other issues that need to be looked into.

That makes sense. Pushed a change to just change the namespace for the event source implementation types, trying to break things down to better investigate this. Will wait for the CI to finish running and then look into doing the other changes separately.

Failure looks to be here, seems like event maybe never got removed?  https://github.com/microsoft/CsWinRT/blob/458d48d6738c930e7eb18170cfb58fcbf38868d9/src/Tests/UnitTest/TestComponentCSharp_Tests.cs#L2843

Target type is not a projected type: ABI.WinRT.Interop.IWeakReferenceSource
WinRT.Runtime.dll!WinRT.TypeExtensions.GetHelperType(System.Type type) Line 131	C#
WinRT.Runtime.dll!ABI.WinRT.Interop.EventSourceCache.Create(WinRT.IObjectReference obj, int index, System.WeakReference<object> state) Line 77	C#
WinRT.Runtime.dll!ABI.WinRT.Interop.EventSource<System.EventHandler<int>>.Subscribe(System.EventHandler<int> handler) Line 103	C#
Test.dll!TestComponentCSharp.Class.StaticIntPropertyChanged.add(System.EventHandler<int> value) Line 315	C#
UnitTest.dll!UnitTest.TestCSharp.TestEventSourceCaching() Line 2806	C#

So at this line, it probably needs to be the projected type.
https://github.com/microsoft/CsWinRT/blob/462f56bbc4fa6615840438263c8fcb7bd920b5d4/src/WinRT.Runtime/Interop/EventSourceCache.cs#L75

Ooh I accidentally picked that one over WinRT.Interop.IWeakReferenceSource when changing the namespace 😅
Good catch, thank you!! Will make a new commit changing the namespace again and making sure to keep that as is.


Added the linter for R in the Clean Code Linters Collection.

jimhester/lintr
Thank you for contributing! Please confirm this pull request meets the following requirements:

[x] I followed the contributing guidelines: https://github.com/github/explore/blob/master/CONTRIBUTING.md
[x] I have no affiliation with the project I am suggesting (as a maintainer, creator, contractor, or employee).

Which change are you proposing?

[x] Suggesting edits to an existing topic or collection
[ ] Curating a new topic or collection

Editing an existing topic or collection
I'm suggesting these edits to an existing topic or collection:

[ ] Image (and my file is *.png, square, dimensions 288x288)
[x] Content (and my changes are in index.md)

This change should be made, because R only has one linter, and it was missing from the list.

Curating a new topic or collection

[ ] I've formatted my changes as a new folder directory, named for the topic or collection as it appears in the URL on GitHub (e.g. https://github.com/topics/[NAME] or https://github.com/collections/[NAME])
[ ] My folder contains a *.png image (if applicable) and index.md
[ ] All required fields in my index.md conform to the Style Guide and API docs: https://github.com/github/explore/tree/master/docs

Please replace this line with an explanation of why you think this topic or collection should be curated.

Please note: we will close your PR without comment if you do not check the boxes above and provide ALL requested information.

Thanks so much for your contribution!  You rock, @grabear!

No problem!  I'll help with some of the other collections if I can!  Cheers! @MikeMcQuaid


ci: PLT-439: Make Adala dockerfile better than ever

Commit https://github.com/HumanSignal/infra/commit/bd49eb381e5c69ce67223ca7f091af973f22b063 is created.

Commit https://github.com/HumanSignal/infra/commit/328a03e9fd636f26074cb6cbb8d53d8e52623d01 is created.


Pitch Control Simulink

Hello, I'm using the SFunction block to integrate OpenFAST and Simulink. I have a question:
Should the pitch angle command I send to the SFunction be the same as the ServoDyn Output (BlPitchCX)?
I mean, I'm sending, for example, 18.00 deg in t1 and 18.01 in t2 to the SFunction block. But the servodyn output is: 18.00 in t1, 18.03 in t2, 18.00 in t3, then 18.01 in t4. It is pretty weird. I have some hypotheses. I need to know first if this behavior is not correct in order to get a solution. Should the pitch angle command I send to the SFunction and the ServoDyn Output (BlPitchCX) at each t have the same value?

Dear @vicemora,
A similar question was asked and answered on our forum: https://forums.nrel.gov/t/s-function-input-output-signal-mismatch/1502.
Best regards,

Ok, thank you. I have reviewed it, and now I have another doubt:

I'm sending as a pitch command the same pitch angle for 1 second, then I send another pitch angle, and so on.
The actual pitch angle of the turbine is as follows:

Ok, this overshoot happens because of what is stated in the answer in the forum.
My WT model has a max pitch rate of 7 deg/s. I'm sending the pitch command, taking this into account. But is it expected that the WT blade pitch angle will change too fast? I mean:
If the setpoint of the pitch angle command is zero, then I send the command of 7 degrees. Is it expected that the WT's blade pitch angle will be set to 7° in the next time step? There is no transient emulating the physical pitch actuation.

Dear @vicemora,
I'm not sure I fully understand your question.  I'll just clarify that:

OpenFAST does not currently have any internal pitch actuator dynamics, so, the commanded pitch instantaneously become the actual pitch angle.  If you want to consider pitch actuator dynamics, this should be coded within your user-specified pitch controller.
When commanding pitch from Simulink, because of the internal extrapolation of the pitch command mentioned on the forum, we recommend that the pitch command from Simulink be a smooth function rather than pitch steps.
I would not expect a pitch controller to change the pitch at the maximum pitch rate for every pitch angle change.

Best regards,


update doc for Default Seo component to explain title template

Fixes https://github.com/Shopify/hydrogen/issues/1097

@benjaminsehl @mcvinci Updated with examples of how to overwrite title template


[Bug]: # Set these variables to None and you will be prompted to enter your username and password below. asf = ASF(asf_username, asf_password) # Optimized scene downloading from ASF - only the required subswaths and polarizations. # Subswaths are already encoded in burst identifiers and are only needed for scenes. #print(asf.download(DATADIR, SCENES, SUBSWATH)) print(asf.download(DATADIR, BURSTS))

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:
Screenshots
If applicable, add screenshots to help explain your problem.
System and software version:

OS: [e.g. iOS]
PyGMTSAR version:

Processing Log
If applicable, attach a log file from notebook cell or terminal output or relevant error messages
[Please note you can use the ChatGPT4-based InSAR AI Assistant for guidance or troubleshooting. Visit https://insar.dev/ai for more information.]

I found an error in downloading data in ASF, do you have a solution?
error
NameError                                 Traceback (most recent call last)
 in <cell line: 2>()
1 # Set these variables to None and you will be prompted to enter your username and password below.
----> 2 asf = ASF(asf_username, asf_password)
3 # Optimized scene downloading from ASF - only the required subswaths and polarizations.
4 # Subswaths are already encoded in burst identifiers and are only needed for scenes.
5 #print(asf.download(DATADIR, SCENES, SUBSWATH))
NameError: name 'ASF' is not defined
I have searched for some solutions myself but have not found the right answer for this error.

The ASF module needs to be imported first, as demonstrated in the example notebooks available at InSAR.dev.


make the auto_toc_tree max depth configurable

Seems easy enough to not hard code it, and make it available in the config as auto_toc.maxdepth

You can implement this like other configurations here https://github.com/rtfd/recommonmark/blob/master/recommonmark/transform.py#L17


Fix missing session of grid app

Add a getter for the session context of the notebook gridstack view.

cc @nthiery ipylab should work will this fix. I will release a new version with other improvements.

Nice!!!


Automated release process

Short description
As a developer, I want to push a tag and a draft release gets created into GitHub.
Acceptance criteria

[ ] there is a GitHub action that runs the tests, builds the artifacts, collects the changelogs, and creates a release with it.

What about Docs?  Is this handled via another ticket or should it be addressed here?

Better another task because it involves adding completely different gh action in the docs repo.
But in this task one of the steps could be pulling the docs repo, and pushing a tag to the it. For now nothing will happen. But we'll have the integration point ready.


Take hours/days to write signals into edf file using highlevel.write_edf?

`#load .mat file
mat = mat73.loadmat('XXX.mat')
signals = mat['data'] #signals
#signals = signals[~np.isnan(signals)] #drop nans(we don't want to lose information)
signals[np.isnan(signals)] = -99999 #make nans as super big value(so that artifact removal code will mark it as artifact)
channel_names = mat['channels'] #channels
Fs = mat['Fs'] #array
signal_headers = highlevel.make_signal_headers(channel_names, sample_rate=Fs, physical_max = 100000, physical_min = -100000)
header = highlevel.make_header(patientname='patient_of_xxx')
write signals into edf file(this step takes long......)
highlevel.write_edf('XXX.edf', signals, signal_headers, header)`
Hi,
I am using pyedflib to convert .mat file .edf. It takes hours to generate a 10,000kb edf file and days to generate a 100,000kb file.
Is that normal? Is there anything that I can do to accelerate this process?
Thanks for any help!

No, this is not normal. However, without the source data I cannot replicate this. Can you upload the matfile to wetransfer?
Some things for debugging:

can you let me know the array dimensions of signals?
can you create an array with signals=np.random.randn(x,x,x) with the same shape and see if the problem persists?
Whats the resulting file size?

No, this is not normal. However, without the source data I cannot replicate this. Can you upload the matfile to wetransfer?
Some things for debugging:

can you let me know the array dimensions of signals?
can you create an array with signals=np.random.randn(x,x,x) with the same shape and see if the problem persists?
Whats the resulting file size?

https://drive.google.com/file/d/1-rQqO8UUUOVajWSnsTxr9MZuxhgnj-JA/view?usp=sharing
This is a sample .mat file. Sorry if it's a little bit large. (taking about 5 mins to download)
I believe the converted EEG file will be larger than 1,000,000kb.
We set the Nans to -99999 because most artifact removal code will mark a super large value as an artifact, kind of necessary for future study.
Can you please try my code and see if there is any bug making it slow?(My code will take days to process this sample file)
Thank you!

On preliminary runs, it seems that the writing time does not increase linearly with the data, which is strange, it indeed painfully slow. I have successfully written large files (24h) before and it was not that slow - I need to investigate this, very strange.

OMG. Thank you so much for doing this! It works well after changing signals to C order.

happy to help and also to learn something new myself :))


Neg num of ques

Fixes #112
Describe the changes you've made
I have added an if condition in the getValues() function in main.js file. This if condition checks if the amount of questions is not between 1 and 56, then it displays the said error.
To display the error in the app itself (to avoid using alerts), 2 more functions are made namely showError and clearError. These functions help display the error and clear it when error is fixed, i.e. correct number of questions is entered.

Type of change
What sort of change have you made:

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Code style update (formatting, local variables)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
I entered several possible error cases in the number of questions column and each time the error message was displayed. The test starts if the number of questions entered is between 1 and 56.
Checklist:

[x] My code follows the guidelines of this project.
[x] I have performed a self-review of my own code.
[x] I have commented my code, particularly wherever it was hard to understand.

Screenshots (Images)

Before the changes
After the Changes

Kindly review this PR. Thank you

Kindly review this PR. Thank you

Kindly review this PR. Thank you

Great job @nishita2104!
One more improvement we can do, please make it more visible by putting a very light background, and making the text red. You can share suggestions too for this :)

sure!

This is what it looks like after modification:

I have already committed this change, if any further modification is required please let me know.


Add configuration for authing to MQTT.

I wanted to be able to authenticate to my MQTT server at home.
Defaults to no creds, so it still connects to test.mosquitto.org out of the box. And it auths to my mosquitto instance at home.
I'm mildly concerned about the clientid - aren't these supposed to be unique?

I'm mildly concerned about the clientid - aren't these supposed to be unique?

nvm, I just found where it's being replaced with a unique one. :)

Thanks for that.


oneshot: 1.4.1 -> 1.5.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/raphaelreyna/oneshot/releases.
meta.description for oneshot is: "A first-come-first-serve single-fire HTTP server"
meta.homepage for oneshot is: "https://github.com/raphaelreyna/oneshot"
meta.changelog for oneshot is: ""
Updates performed

Golang update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS

The tests defined in passthru.tests, if any, passed

/nix/store/mmpgwf8d0h8rk52x1qvy57cwxnz91c6m-oneshot-1.5.0/bin/oneshot passed the binary check.

1 of 1 passed binary check by having a zero exit code.

0 of 1 passed binary check by having the new version present in output.

found 1.5.0 with grep in /nix/store/mmpgwf8d0h8rk52x1qvy57cwxnz91c6m-oneshot-1.5.0

found 1.5.0 in filename of file in /nix/store/mmpgwf8d0h8rk52x1qvy57cwxnz91c6m-oneshot-1.5.0

directory tree listing: https://gist.github.com/e5816315c2bfd943062379b0e925b7e5

du listing: https://gist.github.com/69e11c76ce69f593f60c128550e858ab

Rebuild report (if merged into master) (click to expand)

4 total rebuild path(s)

1 package rebuild(s)

1 x86_64-linux rebuild(s)
1 i686-linux rebuild(s)
1 x86_64-darwin rebuild(s)
1 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
oneshot

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/mmpgwf8d0h8rk52x1qvy57cwxnz91c6m-oneshot-1.5.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A oneshot https://github.com/r-ryantm/nixpkgs/archive/49226e1ae56881f72df4756226a605634f3d1d40.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/mmpgwf8d0h8rk52x1qvy57cwxnz91c6m-oneshot-1.5.0
ls -la /nix/store/mmpgwf8d0h8rk52x1qvy57cwxnz91c6m-oneshot-1.5.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

oneshot

Maintainer pings
cc @edibopp @kalbasit for testing.

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

1 package built:

oneshot


Better error message when using incorrect provider name

There is an issue(#174) describing the problem and I ran into this when reviewing a pull request. As it was driving me mad I decided to fix it!
I added some tests for the GetFactory method and sorted the list of factories by name so that the provider parameter 'sqlserver' will always match the same factory.
I added a more informative exception to Task Executor if the provider name is invalid. And also fixed all the tests for TaskExecutor that were being ignored. I had to change the Initialize method to virtual to be able to test TaskExecutor properly using Subclass and Override.
And I added the exception's stacktrace to the error message of the MSBuild runner.
Any objections to any of this?

https://github.com/schambers/fluentmigrator/pull/195/files?w=1 to see it without the whitespace changes. Messed up the whitespace in the TaskExecutor test class.

I like the changes you have done, daniel.
Except the throwing an argumentexception if a factory could not be found, argumentexceptions have a link to trapping error in code in my brain
if i expect a method parameter to be not null i will throw a new argumentnullexception, it forms a bridge with a bug in the code, because the caller does not provide the necessary arguments for the method to run correcly, why not throw a specific exception ?
regards
Tom

I throw an argumentexception as it is the provider argument that is incorrect. E.g. if the user enters sqlErrorServer as a provider then no factory will be found. But it doesn't really matter for me though I think argumentnullexception is less clear in this case. Is it worth making a custom exception?
I have one more small change to add to this. Just going to test it a bit more first.

Daniel,
I think my point didn't got clear, i'll try to make it more clear
So in the commit you handled the argumentexception differently from the default exception catch, why should you have no stack trace when the code catches an argumentexception ? (As this is most likely a bug in code)
If you would for instance create following exception
public class DbFactoryNotFoundException : ApplicationException {}
You could just change the catch to
catch(ApplicationException e)
{
}

@tommarien Thanks for the clearer explanation but I understood you the first time! You're right, I created a custom exception and use that instead of an argumentexception. I added it to the msbuild and nant runners but left the console runner alone for the moment. Are you still planning a pull request for adding the announcer to the console runner?

Yes was working on it but is still have many issues with the connectionstringmanager like i stated in issue 197


Recompile Mix Standalone Runtime When Changes have been made.

Hello, I am loving Livebook ❤ in particular the feature that lets me run the livebook(s) in the context of a Mix project, but would it be possible to recompile the Mix project if a change has been made in it and I re-run a livebook cell?
Currently I think I have to disconnect / reconnect to pick up the changes.

You may be able to call IEx.Helpers.recompile() or use the r helper to reload a single module but we don't want to support recompilation directly because there are tons of gotchas that would suddenly become Livebook responsibility.
Maybe one trick is to have a IEx.Helpers.recompile() at the top. Then every time you execute it, everything below is stale, which is kinda you expect here. :)

That's great thanks works like a charm!


error

Is there an existing issue for this?

[X] I have searched the existing issues
[X] I have read the guide to filing a bug

Steps to reproduce
C:\Users\Eclou>flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel stable, 3.16.0, on Microsoft Windows [版本 10.0.22621.2715], locale zh-CN)
[√] Windows Version (Installed version of Windows is version 10 or higher)
[!] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    X Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/windows#android-setup for more details.
[√] Chrome - develop for the web
[X] Visual Studio - develop Windows apps
    X Visual Studio not installed; this is necessary to develop Windows apps.
      Download at https://visualstudio.microsoft.com/downloads/.
      Please install the "Desktop development with C++" workload, including all of its default components
[√] Android Studio (version 2022.1)
[√] Android Studio (version 2021.1)
[√] Connected device (4 available)
[!]  Doctor found issues in 3 categories.

C:\Users\Eclou>flutter doctor --android-licenses
����: �������� com.android.sdklib.tool.sdkmanager.SdkManagerCli ʱ���� LinkageError
        java.lang.UnsupportedClassVersionError: com/android/sdklib/tool/sdkmanager/SdkManagerCli has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 55.0
Android sdkmanager tool was found, but failed to run
(C:\Users\Eclou\AppData\Local\Android\sdk\cmdline-tools\latest\bin\sdkmanager.bat): "exited code 1".
Try re-installing or updating your Android SDK,
visit https://flutter.dev/docs/get-started/install/windows#android-setup for detailed instructions.

C:\Users\Eclou>java -version
openjdk version "17.0.9" 2023-10-17 LTS
OpenJDK Runtime Environment Corretto-<IP_ADDRESS>.1 (build 17.0.9+8-LTS)
OpenJDK 64-Bit Server VM Corretto-<IP_ADDRESS>.1 (build 17.0.9+8-LTS, mixed mode, sharing)

Thanks for filing this
Can you try out the suggested solutions here: https://stackoverflow.com/questions/76882205/error-linkageerror-occurred-while-loading-main-class-com-android-sdklib-tool-sd
to see if it works in your case

感谢您提交此文件， 您可以在这里尝试建议的解决方案：https://stackoverflow.com/questions/76882205/error-linkageerror-occurred-while-loading-main-class-com-android-sdklib-tool-sd 看看如果它适合你的情况

the result is success ， thankyou


Add Electric Power  University

Add Electric Power  University

@devtdq1701 Regrettably, this request has signs of fraud. I have to close it without merging. If you are a student of this school, please apply with official document ("OFFICIAL DOCUMENT" tab at https://www.jetbrains.com/shop/eform/students).


Support tabs, HTML windows/tabs/sheets, fixes title missing from windows opened by extensions

Support tabs, HTML windows/tabs/sheets, fixes title missing from windows opened by extensions
Summary
Support tabs, HTML windows/tabs/sheets, fixes title missing from windows opened by extensions
Changes Made

Support tabs
Add support HTML windows/tabs/sheets
fixes title missing from windows opened by extensions

TODO
WebView could use a baseURL. see: https://github.com/AuroraEditor/AuroraEditor/issues/642
Motivation
We want to support extensions.
Testing
No tests are provided, since we do not utilise UI Tests.
Screenshots/GIFs
Open a new tab

Open a new window

Open a sheet

Checklist
Please ensure all of the following are completed before submitting the PR:

[x] Code has been tested and verified.
[x] Documentation has been updated to reflect the changes.
[x] All tests pass successfully.
[x] Code follows the project's coding guidelines and style.
[x] The branch is up-to-date with the latest changes from the main branch.
[x] Reviewed by at least one other contributor.

Related Issues
This PR addresses the following issue(s): None.
Additional Notes
Open a new tab
AuroraEditor.respond(
    "openTab",
    {
        "title": "JS Extension Title",
        "view": "Hello world <3"
    }
);

Open a new window
AuroraEditor.respond(
    "openWindow",
    {
        "title": "JS Extension Title",
        "view": "Hello world <3"
    }
);

Open a sheet
AuroraEditor.respond(
    "openSheet",
    {
        "title": "JS Extension Title",
        "view": "Hello world <3"
    }
);

Thanks for submitting a pull request!
We will review it as soon as possible.

Hey @0xWDG,
Thanks for your contribution.
Your PR has been merged!
Your name will appear on https://auroraeditor.com/#contributors in a few moments, if you have contributed to the editor.
Thanks again for your contribution!
Kind Regards,
Aurora Editor Team.


Issue 117 translations

https://react.i18next.com/latest/trans-component

[x] Screen: More
[x] Screen: Pokedex
[x] Screen: Pokedex > Search by name
[x] Screen: Pokedex > Search by type
[x] Screen: Pokedex > Help
[x] Screen: Defense
[x] Screen: Defense > Type picker
[x] Screen: Offense
[x] Screen: Offense > Type picker
[x] Screen: Offense > Edit
[x] Component: DexCoverage
[x] Navigation
[x] Matchup component (Deals ____ to)
[x] Fill in as much translated text as possible

@minamorl Let me know if you're interested in trying the deploy preview!
https://deploy-preview-134--pkmn-help.netlify.app/
You can switch to 日本語 and some text is now translated.

@wavebeem tested on my phone and its working well!


Cool Banner Test

This one?

yeah

Maybe switch It to say the KSP 2 mod loader so it doesn't get confusing


VKeyboard: on_key_up e on_key_down

If you touch in a button from Keybord, the event on_key_up is work, but on_key_down just work in a little be keys.
class VkeyboardApp(App):

    def key_down(self, *largs):
        print("key_down")

    def key_up(self, *largs):
        print("key_up")
        # print(keycode)

    def build(self):

        self.vk = VKeyboard(layout='qwerty')

        self.vk.bind(on_key_down=self.key_down)
        self.vk.bind(on_key_up=self.key_up)

        return self.vk

VkeyboardApp().run()

Not sure but doesn't seems like a bug, seems more like lack of documentation, not sure why but(from what I understood in the code) if the window is SDL2 then it will emit a on_textinput event.
Maybe you could try self.vk.bind(on_textinput=self.key_down) or something.
Also it wont dispatch the object, b_keycode, internal and b_modifiers like it happens on on_key_down, but it will dispatch only the object and the internal(a string with the key).
Btw I love ur tutorials :)


Prevent a help channel from going dormant if a user is typing in it

The bot can detect when someone is in the middle of typing a message and prevent the channel from going dormant if it was otherwise about to become dormant. This may prevent situations in which a user was trying to answer a question but the channel goes dormant and their WIP message is lost.
The bot could extend the dormant timer by a few minutes (rather than a full 30). Of course, should a message get sent, that would extend it by the normal 30 minutes. The extension of a few minutes would just be to address situations in which someone types but never ends up sending anything and the few minutes should still give someone enough time to finish typing. If that isn't enough time, then if it sees someone is still typing, it will extend it once more.
What are people's thoughts on this suggestion?
Original suggestion:

Timo | rigged Coinflip: I really like the new system of help channels. But there is 1 thing I REALLY HATE.
I now 2 times had the situation where I was writing an answer to an unanswered question. While I was writing, the channel turned dormant, deleting all the text I had already written, but not sent.
Suggestion: Instead of turning dormant instantly, warn users that it will turn dormant soon. Maybe react to the message to keep it open
gdude: It might be nice if it was able to react to the "x is typing"
gdude: add a couple extra minutes if it times out while someone is typing

I like the suggestion, I'm less clear on what the proper way to implement this is. We can't "simply" check for an ongoing typing event when the timer runs out, as typing events time-out rather quickly and people tend to pause when typing longer replies; it would be rather easy to miss the typing event.
We could use an on_typing event listener and keep track of the most recent typing event for that channel happened. The event includes a timestamp by default (when), so it should not be that difficult to do that.
It is yet another thing that could benefit from persistent caching, though. Maybe it's time to look into redis, as @lemonsaurus suggested.

whenever on_typing is triggered, if there's less than 5 minutes left, we set the timeout to 5 minutes. that should keep it from timing out if someone is working on a long message.

That sounds like a reasonable implementation to me. What do you think @SebastiaanZ? We can remove the planning label if there's going to be a consensus that 1. this should be a feature and 2. there's a reasonable way to implement it.

this should be a feature
there's a reasonable way to implement it.

I like the feature, but I'm less sure about the implementation.

whenever on_typing is triggered, if there's less than 5 minutes left, we set the timeout to 5 minutes. that should keep it from timing out if someone is working on a long message.

If a Task is currently pending because it's awaiting an asyncio.sleep, is there an easy way to introspect the time that's left? I think we'll have to investigate that. Ideally, it's a really cheap operation, as "in use" help channels get a lot of typing events.
Another option would be to keep track of whenever the last typing operation for a channel was received in a simple dict (future: Redis cached dict). When the original timer runs out, we optionally set a new time-out based on that last timeout. Rinse and repeat for multiple extensions.

Switching to a scheduler instead of asyncio.sleep calls would be the smartest here IMO, you could simply reschedule the deletion task of 5 minutes if someone is typing, plus you can know if there's less than 5 minutes less.

I think that would mean a lot of rescheduling if people start having a conversation in those last five minutes. Each typing event would reschedule the task for just a few seconds. If you keep track of typing event times, you reschedule a maximum of once per five minutes and keeping track of a time int is minimal work.

Well, we could do so if someone types during the last 4 minutes, it schedules back to 6 minutes or so. Re-sleeping, when the timer runs out, sounds a bit messy IMO, but I guess that works :grin:.

I don't see why we'd need the added complexity and added work.
Our on_typing could be as simple as
@Cog.listener()
async def typing(self, channel, user, when):
    if in_category(channel.id, Category.in_use):
        self._last_typing_event[channel.id] = when

The comparison in the time-out deletion task would be trivial with datetime.datetime.now() and datetime.timedelta, and the channel move_to_dormant only needs to delete a key from that dict (even we even care; with a max of 50 mappings, we could also not bother).

I like @SebastiaanZ's suggested implementation. Let's do that.

!dormant or !close should also be declined in this case.
Maybe just add a check to dormant command.
Also when this command is cancelled it should mention the user who owns that help channel
in case he types !close and alt tab instantly without noticing the message that his !close request was declined
Mention will show a ping sign on the app icon grabbing the attention that something didn't went right.

Is this still blocked by pydis not receiving typing events?

@MarkKoz Do we still want this now that the help system has been migrated to posts and there are no '' race conditions '' between users.
If not, we can close it as completed


Upgrade to Symfony 7

User story
As a developer, I want to upgrade to Symfony 7, so that I can make use of the latest features.
Description of the task
The Symfony backend should be updated from version 6.3 to 7.0. See https://symfony.com/7.
Specifications

Upgrade to Symfony 7
Upgrade to PHP 8.3

Acceptance criteria

[ ] Symfony 7 is in use
[ ] Upgrade to PHP 8.3

Out of scope

Functionality x
Improvement y

Additional context
/

Currently stuck as the following dependencies are not yet compatible with Symfony 7:

fusonic/api-documentation-bundle
fusonic/ddd-extensions
fusonic/http-kernel-bundle
nelmio/api-doc-bundle

Update:

fusonic/* dependencies have been updated to support Symfony 7
nelmio/api-doc-bundle still does not support Symfony 7, though


Refactor code comment format base on genpackagedocs feature

Hi Son,
I wanted to link the pdf documentation now for the release mail.
Unfortunately the most important parts chapter 1 introduction and 2 description are still missing.
Please provide this with this pullrequest, too.
Thank you,
Thomas

Hello Thomas,
 I have just updated the Introduction.rst and Description.rst files. The new RobotFramework_Testsuites.pdf file look like below after I built and generated:

RobotFramework_Testsuites.pdf
Could you please help me review this new document?
Thank you,
Son

Hello Holger,
 Thank you for your comments, I will go through and update the documentation according to your review :)

Thank you,
Son

Hello Holger,
 I have just updated the document according to your review and generated new Testuistes_Management documentation.
 Please help review a new document which is attached in this comment

RobotFramework_Testsuites.pdf
Thank you
Son

Hello Son,
there are some smaller typos left. See sticky notes.
RobotFramework_Testsuites_reviewed_2_QT.pdf

Hi Son,
please don't be frustrated :-) Goal is to have a nice documentation for our OSS users.
Holger reviews very carefully. Please consider also his text samples and take care that you don't overlook findings.
Thank you,
Thomas


fix box_generator bug

When max_iou > self.iou_threshold, it should be continue other than break.

When image is fliped:

box1_l = self.input_size - box1_r
box1_r = self.input_size - box1_l

box1_r will be wrong since box1_l  has been changed in first line, and the following codes will be fine.
temp = box1_l.copy()
box1_l = self.input_size - box1_r
box1_r = self.input_size - temp

This original line seems to be correct. Right after you find the first patch whose overlapping region is larger than the predefined threshold, you can break the loop immediately. The loop will be continued anyway for 50 trials. (If you were able to sample a patch that has small enough overlapping areas with all the other patches, you would have escaped the loop at L157 and gone for the next patch.)
That is obviously a bug that we missed during refactoring the code. The original code, which seems to be neater, was:

if transform1[4]:
   box1_l, box1_r = input_size - box1_r, input_size - box1_l

Oh, got it, I missed the loop for box in spatial_boxes1[-i:]
Very nice code ~


run prettier on project and in future on verify

:heavy_check_mark: Checklist

[ ] Added tests for new functionality and regression tests for bug fixes
[ ] Added changeset (run yarn changeset in the root)
[ ] Screenshots of before and after attached (for UI changes)
[ ] Added or updated documentation (if applicable)

this never worked, Im going to close this.


ReusableJsonGenerator causes NPE on the second call for invalid calls.

Hello everyone,
We have the oauth2authserver endpoints under:
https://localhost:8843/auth/
If we call this endpoint on browser with GET call without any parameters, we land into DefaultEndpointProcessor and get
{"error":"invalid_request"}
as expected.
However on a second call with the same invalid request causes a NPE (stack trace enabled by ):
java.lang.NullPointerException
	at java.base/java.lang.System.arraycopy(Native Method)
	at com.fasterxml.jackson.core.json.UTF8JsonGenerator._writeBytes(UTF8JsonGenerator.java:1304)
	at com.fasterxml.jackson.core.json.UTF8JsonGenerator._verifyValueWrite(UTF8JsonGenerator.java:1181)
	at com.fasterxml.jackson.core.json.UTF8JsonGenerator.writeStartObject(UTF8JsonGenerator.java:380)
	at com.predic8.membrane.core.interceptor.oauth2.OAuth2Util.createParameterizedJsonErrorResponse(OAuth2Util.java:55)
	at com.predic8.membrane.core.interceptor.oauth2.processors.DefaultEndpointProcessor.process(DefaultEndpointProcessor.java:34)
	at com.predic8.membrane.core.interceptor.oauth2.processors.OAuth2Processors.runProcessors(OAuth2Processors.java:35)
	at com.predic8.membrane.core.interceptor.oauth2.OAuth2AuthorizationServerInterceptor.handleRequest(OAuth2AuthorizationServerInterceptor.java:138)
	at com.predic8.membrane.core.interceptor.InterceptorFlowController.invokeRequestHandlers(InterceptorFlowController.java:111)
	at com.predic8.membrane.core.interceptor.UserFeatureInterceptor.handleRequest(UserFeatureInterceptor.java:44)
	at com.predic8.membrane.core.interceptor.InterceptorFlowController.invokeRequestHandlers(InterceptorFlowController.java:111)
	at com.predic8.membrane.core.interceptor.InterceptorFlowController.invokeHandlers(InterceptorFlowController.java:76)
	at com.predic8.membrane.core.transport.http.AbstractHttpHandler.invokeHandlers(AbstractHttpHandler.java:61)
	at com.predic8.membrane.core.transport.http.HttpServerHandler.process(HttpServerHandler.java:227)
	at com.predic8.membrane.core.transport.http.HttpServerHandler.run(HttpServerHandler.java:128)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.lang.Thread.run(Thread.java:840)

Reason behind this is UTF8JsonGenerator uses a "_outputBuffer" array internally.
This array is initialized in the Constructor.
https://github.com/FasterXML/jackson-core/blob/jackson-core-2.17.2/src/main/java/com/fasterxml/jackson/core/json/UTF8JsonGenerator.java#L131
or
https://github.com/FasterXML/jackson-core/blob/jackson-core-2.17.2/src/main/java/com/fasterxml/jackson/core/json/UTF8JsonGenerator.java#L164
This array is set to null by UTF8JsonGenerator ._releaseBuffers method after execution of the request.
https://github.com/FasterXML/jackson-core/blob/jackson-core-2.17.2/src/main/java/com/fasterxml/jackson/core/json/UTF8JsonGenerator.java#L1277
on the next call for writeStartObject we get a NPE since the internal buffer is not re-initialized.

I created a Unit Test to reproduce the issue (generation of json2 causes NPE).
I made a quick fix by re-creating the JsonGenerator on resetAndGet call.
If you can find a more fine granular solution without re-creating the JsonGenerator then you can get a better performance for JSON generation.

This is a minor issue and does not really prevent daily execution but it would be nice to fix the NPE which prevents misunderstanding during development.
@predic8
Do you plan to make a new release?

@predic8 I just approved and merged your PR. Thx again.
The fix will be included in the upcoming 5.8.0. that we have planned for December.
There will be a bugfix 5.5.5 in the next couple of days but only with a fix for different bug.


Make clicking any part of "upgrade the tags" header resulting in display of proposed edit

Currently only clicking small "i" part is doing this.
It would make it a bit more accessible, I think without any loss. It would be also tiny step toward better mobile support.

I agree we should make the tag diff more discoverable, but I think let's keep discussion in #6408.


[bug] grammar.parseString sometimes parse error

I found a really strange question, i use graphite-beacon to alert when something is wrong.
But, graphite-beacon sometimes return "No Data " error.
through review the code, and add log to detail this question, i found it is "grammar parse bug"
in graphite/render/evaluator.py: evaluateTarget funcion

grammar.parseString(target)

this code sometime parse error
I already change code as follows:
def evaluateTarget(requestContext, target):
    log.rendering("----------------------- Target: %s" % (target,))
    tokens = grammar.parseString(target)
    log.rendering("----------------------- Tokens: %s" % (tokens,))
    result = evaluateTokens(requestContext, tokens)

    if type(result) is TimeSeries:
      return [result] #we have to return a list of TimeSeries objects

    else:
      return result

when graphite-beacon return No Data, the log will show as follows:
------- Target: alias(asPercent(windows.system.memory.available,windows.system.memory.total), 'XXX')
------- Tokens: [[u'alias']]

you will see  Tokens lose in parse results：
----- Tokens: [[u'alias']]
this normally will be show as follows:
----- Tokens:[[[u'alias', [[[u'asPercent', [[u'windows.system.memory.available']],[[u'windows.system.memory.total']]]]], [u"'SACA'"]]]]
dditional remarks：

graphite beacon use tornado async http client, when alerts config only one,  it run normally. when i configure more than one alert, it normally get no data about every 30 minutes.

when graphite beacon get no data, graphite-web grammar.parseString call will fail

@deniszh

Hello @pengyusong,
Thanks for reporting! I remember this or a similar bug. What's your version of graphite and pyparsing?

Yep, we had similar issues in https://github.com/graphite-project/graphite-web/issues/1806 and it was fixed in https://github.com/graphite-project/graphite-web/pull/1810

yes, i put one lock in evaluateTarget func, around "grammar.parseString(target)", it seems work, but i think simply add a lock may be influence performance, so have some better solutions?
versions:

graphite  v1.0.1
pyparsing  v2.2.0

Could you please check how pyparsing 2.1 and/or pyparsing 1.5.x working?

pyparsing not throw a exception, just lose some data, i found this:

You can use pyparsing from any thread, and you can create multiple parsers each running in a separate thread, but you cannot concurrently use one parser from two different threads. Some users work around this by instantiating a separate parser per thread using pickle to quickly construct the parser at thread start time.

OK, i will try it.

@deniszh  i write a script to test it, this script use graphite's grammar file. but i run it with two thread, no lock. whatever version is, the result still parse fail: lose some parse data. show as follows:
version: 1.5.7
thread2 -- [[u'alias']]
thread1 -- [[[u'alias', [[[u'asPercent', [[u'windows.system.memory.available']], [[u'windows.system.memory.total']]]]], [u"'XXX'"]]]]

but when i use lock it run normally.
script code as follows:
# -*- coding: utf8 -*-
from grammar import grammar

import time
import threading

lock = threading.Lock()

class MyThread(threading.Thread):
    def __init__(self, name):
        threading.Thread.__init__(self)
        self.name = name

    def run(self):
        self.parse()

    def parse(self):
        i = 1
        targets = [
            u"alias(asPercent(windows.system.memory.available, windows.SACA_SERVER_2.system.memory.total), "
            u"'XXX')"
        ]

        while i <= 1000:
            i += 1

            tmp_results = [grammar.parseString(target) for target in targets]

            count = 0
            for result in tmp_results:
                print self.name, '--', result
                # print str(result).find("SERVER")
                # try:
                #     if str(result).find("SERVER") == -1:
                #         print result
                # except:
                #     import traceback
                #     traceback.print_exc()
                count += 1

            time.sleep(10)

if __name__ == "__main__":
    import threading

    thread1 = MyThread('thread1')
    thread2 = MyThread('thread2')
    thread3 = MyThread('thread3')

    threads = []

    thread1.start()
    thread2.start()

    threads.append(thread1)
    threads.append(thread2)

    for t in threads:
        t.join()
    print "Exiting Main Thread"

Obviously, in multi-thread env, pyparsing work not very well

@deniszh i try the version 2.1.0, this problem still exist. I cannot  install version 1.5.7, so, sorry.

OK, thanks! Then we should fix that, indeed.
Setting lock around is not an option, right?
Asking for committers opinion here. /cc @iksaif @DanCech @graphite-project/committers

Thank you very much!
I just test lock around will be useful, but i doubt performance of this method or else bugs.

@pengyusong : could you please share your locking code? as PR or simple gist? That could be useful.

I just create an thread lock in the top of "graphite/render/evaluator.py":
then use as follows:
....
import threading     <-------
mutex = threading.lock()    <-------
...

def evaluateTarget(requestContext, target):
    mutex.lock()    <-------
    tokens = grammar.parseString(target)
    mutex.release()    <-------
    result = evaluateTokens(requestContext, tokens)

    if type(result) is TimeSeries:
      return [result] #we have to return a list of TimeSeries objects

    else:
      return result

def

I think that is safe and won't really affect performances. Maybe add a comment before the lock to explain why this is needed

Yeah, that seems like the least-invasive way to sideskirt any thread-safety issues in pyparsing.


Fix bold character entities and slashes

LGTM
We'll find out when we get the next MT build report.