update and double check content in footer links matches 4.0

Make sure content in the following footer links either remain the same as 4.0 or should be removed. I'm assuming we don't need a new route for each footer link, because otherwise, the UI design team would have to first come up with the Figma designs and will push pre-release date even further.
If you want to make sure, I would double check with Gabriela.
For context, this is info Gabriela provided today.
A. Cookie Policy - should remain the same as 4.0
B. Cookie Settings - remove it from Figma 6.0 for now
C. Privacy Policy - should remain the same as 4.0
D. Do Not Sell My Personal Information - should remain the same as 4.0
Here is link to 4.0.
More info can be found at the bottom of the google docs page: https://docs.google.com/document/d/1isZiE1mJKFrgvvVvrW5qFeaQ5LkImQ2QB671ezzeFrs/edit?hl=en

This is linked to #25. Completing this should issue should also address #25.


Location template tag and missing city binary

When only the country binary is included in the project the geoip().city throws an exception. In the code I see that there is a fallback to display the country name only when city is missing, so I wondering if this could be extended to also take into account a missing binary.

Can you give an easy example how this problem can be replicated? Are you getting an exception somewhere? If so, under what conditions?

Of the two files mentioned in GeoIP2 GeoLite2-Country.mmdb and GeoLite2-City.mmdb I can only use the Country file. When the city file is missing geoip().city(value) throws an exception.
As a side note, shouldn't location['country_name'] be 'country_name' in location

I've resolved this issue in 1dc445c5996dc172d6b2f260accd5492a73c39fd and released it with 1.5.2. Please let me know if this fixes the issue for you.


arch: arm: cortex-m: support custom interrupt controllers

This change adds support for the CONFIG_ARM_CUSTOM_INTERRUPT_CONTROLLER option on Cortex-M platforms. While all Cortex-M platforms have a NVIC controller, some custom SoCs may have additional IRQ controllers or require custom handling. This change allows those SoCs to modify this behavior without having to place platform specific logic inside applications or drivers.

Just pinging to see if there is anything I need to do to move this PR forward.

Code looks fine, but can you check the CI failures?

Just pinging to see if there is anything I need to do to move this PR forward.

I think everyone has just been busy with the release and focused on things that could be merged during the feature freeze. With the release out we can merge new features in again.

Code looks fine, but can you check the CI failures?

Yeah, I'm not sure what's going on, the same tests pass locally and the failure seems unrelated. Will try a rebase.

Need to fix the CI failures

Need to fix the CI failures

These failure seem to be happening on main branch without my changes. I don't think this PR is related.


feat(loaderapi): create initial loader api

Nice work @TheLarkInn!!

Oh what the crawling assets about?

I think it has to do with an invalid link. Unfortunately it shows no information to narrow it down at all...

@bebraw do you know what these errors might pertain to? @SpaceK33z and I both had passing builds locally for lint:links

No idea. You would have to ask the hyperlink guys to get a better idea of the error. It could be something Node version related etc.

No worries, Im going to revert the change I just made as it looked like that gave more verbose error.

@SpaceK33z @bebraw looks like it was the /api/plugins link. Fixed!!!!!! Going to merge!

Fixes #21


Azure Resource Manager Creation is stuck in kubernetes cluster environment

Query/Question
Azure resource manager creation or configuration is stuck in a springboot java application running inside a kubernetes cluster. The azure resource manager authenticate method is done using ClientSecretCredential and azure profile. There are no logs or exceptions thrown, what could be the reasons for the azure resource manager to not work in a kubernetes environment  and what are the steps that needs to taken to move forward and make azure resource manager work
Why is this not a Bug or a feature Request?
The reason this is not a bug/feature request is because, the azure resource manager creation works fine for java application in kubernetes environment and for the same springboot application in VM environment
Setup (please complete the following information if applicable):

Java Version : 8
Library/Libraries: com.azure.resourcemanager: azure-resourcemanager: 2.1.0, com.azure:azure-core:1.45.1, com.azure:azure-identity:1.3.3, com.microsoft.azure:azure:1.3.0, com.azure:azure-core-http-netty:1.13.11, com.azure: azure-storage-blob:12.13.0, com.azure: azure-data-tables: 12.3.9

Information Checklist
Kindly make sure that you have added all the following information above and checkoff the required fields otherwise we will treat the issuer as an incomplete report

[x] Query Added
[x] Setup information Added

@sound13
It may help if you can align the version of dependencies, the azure-resourcemanager and com.azure:azure-identity is ancient.
You may want to use azure-resourcemanager 2.37.0 with azure-core etc,. from BOM https://github.com/Azure/azure-sdk-for-java/tree/main/sdk/boms/azure-sdk-bom


Footer is absent at K8s home page of older site versions

This is a bug report
Problem:
(At older version sites for example - 1.27, 1.26, 1.25 etc), footer is absent at K8s home page.
One link to verify this issue
Additional information:
Changes to older site versions may neither be needed not be encouraged, but if older site versions aren't displaying something that was present on site at that time, then changes to older site pages might be considered 🤔.

/area web-development

/sig docs

/assign

/priority backlog

/triage accepted

/assign

can you please assign this issue to me
/assign

Hi @aakashdeshamne Are you still working on this issue


Pypi need update to marathon 0.8.13

Since lib is up to  0.8.13， pypi 's latest version is 0.8.12, so plz update it.

updated


Not returning a token from B2C

Library

[ ]<EMAIL_ADDRESS>or<EMAIL_ADDRESS>[ ]<EMAIL_ADDRESS>[ ]<EMAIL_ADDRESS>[x ]<EMAIL_ADDRESS>[ ]<EMAIL_ADDRESS>[ ]<EMAIL_ADDRESS>[ ]<EMAIL_ADDRESS>[ ]<EMAIL_ADDRESS>
Framework

[ ] Angular
[ x] React
[ ] Other

Description
I was happy to see a msal-react example specifically for B2C in this pull request as this has been something that I have been trying to get to work. I pulled down the sample project and plugged in my own client id, authority, and scope. The sign in process is triggered with my specified policy, but it seems that the token is never returned.
Error Message
I get a 400 error at:
https://mytenant.b2clogin.com/mytenant.onmicrosoft.com/mypolicy/oauth2/v2.0/token
I assume the library appends the "oauth2/v2.0/token" as I am not specifying this as shown in the example.
MSAL Configuration
export const msalConfig = {
    auth: {
        clientId: "my client id",
        authority: "https:/<tenant>.b2clogin.com/<tenant>.onmicrosoft.com/<policy>",
        knownAuthorities: ["<tenant>.b2clogin.com"],
        redirectUri: "http://localhost:3001",
        postLogoutRedirectUri: "http://localhost:3001"
    }
};

Policy: Standard sign up sign in
Reproduction steps
Run the B2C sample with your own B2C tenant information (I did not change application code from the pull request linked above).
Expected behavior
Receive a token from B2C.
Identity Provider

[ ] Azure AD
[x ] Azure B2C Basic Policy
[ ] Azure B2C Custom Policy
[ ] ADFS
[ ] Other

Browsers/Environment

[ x] Chrome
[ ] Firefox
[ ] Edge
[ ] Safari
[ ] IE
[ ] Other (Please add browser name here)

Regression

[ ] Did this behavior work before?
Version:

Security

[ ] Is this issue security related?

Source

[ ] Internal (Microsoft)
[ ] Customer request

@leskodan Do you have any more info about the 400 error? Is it a CORS related issue? If it is related to CORS, make sure your redirect URI in the portal is of type SPA.

Thanks @pkanher617, that did the trick! Heads up for anyone else experiencing a similar issue, this isn't abundantly clear on the URI configuration page. I was able to configure accordingly by following this link.


--build-from-source ignored for dependencies

[x] are reporting a bug others will be able to reproduce and not asking a question. If you're not sure or want to ask a question do so on our Discourse: https://discourse.brew.sh
[x] ran a brew command and reproduced the problem with multiple formulae? If it's a problem with a single, official formula (not cask) please file this issue at Homebrew/homebrew-core: https://github.com/Homebrew/homebrew-core/issues/new/choose. If it's a brew cask problem please file this issue at https://github.com/Homebrew/homebrew-cask/issues/new/choose. If it's a tap (e.g. Homebrew/homebrew-php) problem please file this issue at the tap.
[x] ran brew update and can still reproduce the problem?
[x] ran brew doctor, fixed all issues and can still reproduce the problem?
[x] ran brew config and brew doctor and included their output with your issue?

What you were trying to do (and why)
I tried installing easy-tag and all its dependencies from source, using --build-from-source.
What happened (include command output)
Some dependencies were installed from source, some were bottled. I only realized once it started downloading the rust bottle.

Command output

brew -v install --build-from-source easy-tag

What you expected to happen
I expected everything being built from source.
Step-by-step reproduction instructions (by running brew commands)
Run the above brew command.

I just noticed that apparently, this is documented behavior now. I think this was different before:
    -s, --build-from-source          Compile formula from source even if a
                                     bottle is provided. Dependencies will still
                                     be installed from bottles if they are
                                     available.

So I guess this should be changed to a feature request to allow to build everything from source?
There also used to be an environment variable for this that seems to have disappeared, but I cannot find any rationale why it was removed.

So I guess this should be changed to a feature request to allow to build everything from source?

We intentionally do not support this. It provides no benefit to you, wastes electricity (thus destroying the planet) and increases Homebrew's support burden.

This is not true: It requires trusting your build infrastructure. You do not do reproducible builds, so this is not possible. On top of that, you had issues with security in the past: https://brew.sh/2018/08/05/security-incident-disclosure/
On top of that, there’s corporations that by policy disallow using binaries that have not been vetted, but allow building from source. So there’s a real need for this feature. I can understand why you don’t want it by default, but it should at least be an expert setting.

I can understand why you don’t want it by default, but it should at least be an expert setting.

No. Homebrew is not a from-source package manager. If you need one: I suggest you find one that meets your needs instead.

On top of that, you had issues with security in the past: https://brew.sh/2018/08/05/security-incident-disclosure/

Literally every sizeable project has had security issues at some point in the past although not every one may disclose it responsible as we and the security researcher have done.


docs: remove leftover TODO and warning from #1003.

Do you want to fix the matches doc in this PR?

Do you want to fix the matches doc in this PR?

Yes, gimme a moment

There goes.


Add a weapon speed timer overlay to the special attack orb

Since every weapon speed is different, it can be difficult to get 100% perfect flicks unless you use an external interval program that's tuned to your weapon's speed. Even then, it's difficult because it can get off-beat.
Would this be possible to implement?

I'm going to assume you mean adding a weapon speed to help when using your special attack when PvPing.
If so, I think this feature would be too overpowered. PvPing should take skill, same with timing your special attacks, not getting an advantage over players not using the client, especially as no other client has this feature as far as I know.

No, I mean an overlay that will tell you when the weapon will hit next.
This isn't going to change PvP, since players engaged in combat with one another don't really have much to gain by flicking. They're busy with other things like eating, equipping, casting spells, trash talking, etc. This is 100% about saving prayer as flicking is intended, but actually knowing when the weapon will hit next so you don't miss the flick. The game has an issue where there's a delay sometimes and it makes it more difficult the higher your ping is.

Oh I see, my mistake, I thought you meant a timer to help you spec right on time, I didn't know you meant it for prayer purposes

Yes, exclusively for prayer.
For more context, the "xp drop" already aids in this perfectly -- but only for one single type of weapon. I think it's the whip hits exactly when the last pixel of the HP xp icon leaves the top of the screen.
I think it would be cool if this existed for every weapon. Specifically, slow ones that hit long after the xp drop leaves the screen.

You can now get this info from hovering the weapon from item stats plugin


Facebook webhook auth not responding with hub.challenge

I created a real basic server (using the facebook example code. I just omitted some of the .hears) and I cannot get the webhook to register. When I try to verify, I get this error...

The URL couldn't be validated. Response does not match challenge, expected value = '1537258', received='OK'

var Botkit = require('botkit');
var os = require('os');

var controller = Botkit.facebookbot({
	debug: true,
	access_token: process.env.page_token,
	verify_token: process.env.verify_token
});

var bot = controller.spawn({
});

controller.setupWebserver(process.env.PORT || 3000, function(err, webserver) {
	controller.createWebhookEndpoints(webserver, bot, function() {
		console.log('This was a success!! Online!');
	});
});

Any ideas what the problem is?

Turns out my verify token was slightly incorrect.


how do you run in a typescript app?

im new to react but my react app is created in typescript. when i follow your tutorial , i get
Failed to compile.

......SomeFile.tsx
Type error: Property '_env_' does not exist on type 'Window'.  TS2339

    12 |         }
    13 |
  > 14 |         return window._env_.REACT_APP_BACKEND_API_BASE_URL + '/rest';
       |                       ^
    15 |     }
    16 |
    17 |     protected withResponseCheck(promise: Promise<any>, returnJson: boolean): Promise<any> {

i confirmed my env-config.js generated inside public  has window.__env__ being set
window._env_ = {
  REACT_APP_BACKEND_API_BASE_URL: "http://localhost:5000"
}

in TypeScript 3.4.5 and above...
Create a file called window.d.ts under src with the following code
interface Window {
    _env_ : any
}

Already asked here: https://github.com/kunokdev/cra-runtime-environment-variables/issues/3
Also instead of using any I  highly recommend to create configuration interface.
As TypeScript is now a standard way to write JS, I will add link to this in README.md and blog.


feat: support basic update command

These changes add support for doing a basic update sql command
Fixes #1351

I have addressed the comments from #1465

create table t1 as select * from generate_series(1, 15, 2);
create table
delete from t1 where generate_series > 7;
deleted 4 rows
update t1 set generate_series = 3 where generate_series > 6;
updated 1 rows


Refactor EnvCommand and introduce WhichProblem

This is a PR intended to get implementation feedback. I want to replace EnvCommand with something more modular. To do that I introduced commons::cmd which is essentially a bag of related functions that compose well with each other.
Before re-writing the entire codebase I chose to rewrite only one command invocation inside of bundle_install_layer.rs to get a feel for the impacts.
Building on top of that work, I want to see what it looks like to annotate failed commands by default with which_problem.
I'm looking for feedback on:

naming
patterns
differing philosophies/assumptions
any other nitpicks or problems
who would win in a legal fight: she hulk or birdman attorney at law?

Here's another experiment https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=decd260cddc65598c2a1f8ad5d6ea422

Closing to preserve commits as they're referenced from other places, moving work over to another branch


Fix links to protocol source

@dstjacques thanks. I merged by hand since the document already evolved.


add hdi_list kwarg to plot_posterior_predictive

Description
Adds an optional kwarg to the plot_posterior_predictive function. Allows user to provide a list of hdi levels, e.g. [0.94]. Default is the same as before, [0.94, 0.5].
Related Issue

[ ] Closes #1041

Checklist

[X] Checked that the pre-commit linting/style checks pass
[ ] Included tests that prove the fix is effective or that the new feature works
[X] Added necessary documentation (docstrings and/or example notebooks)
[ ] If you are a pro: each commit corresponds to a relevant logical change

Modules affected

[X] MMM
[ ] CLV

Type of change

[X] New feature / enhancement
[ ] Bug fix
[ ] Documentation
[ ] Maintenance
[ ] Other (please specify):

📚 Documentation preview 📚: https://pymc-marketing--1096.org.readthedocs.build/en/1096/

There is one notebook that needs to be updated
 mmm.plot_posterior_predictive(add_hdi=False, add_mean=False, add_gradient=True);   # <-- Here

Should probably do the equivalent changes for sample_prior_predictive and plot_errors? What do you think @juanitorduz / @wd60622 ?

Yeah, that is a good idea. Feel free to do here or in a separate PR.

"Pull Request Labeler" not passing. No idea what that is.

"Pull Request Labeler" not passing. No idea what that is.

Yeah, this is a new thing we are working on (not a blocker, once is green we can merge)

@wd60622 the labeling is 🟢 🚀 !

I'll let you merge this when you are happy with everything @juanitorduz


Access denied

In 1.7 - latest release, there is a problem related to Access permissions
In 1.6 release such problem doesn't exists
Steps to reproduce:

run MouseJiggler
enable all tickets and minimise to system try
Lock PC (Windows Key + L)
Unlock PC (Enter your pass)
Such windows will appear:

************** Exception Text **************
System.ComponentModel.Win32Exception (0x80004005): Access is denied
   at ArkaneSystems.MouseJiggle.Jiggler.Jiggle(Int32 dx, Int32 dy)
   at ArkaneSystems.MouseJiggle.MainForm.jiggleTimer_Tick(Object sender, EventArgs e)
   at System.Windows.Forms.Timer.OnTick(EventArgs e)
   at System.Windows.Forms.Timer.TimerNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

Running executable as admin with all proveleges doesnt help.

Thanks for the report. I'll take a look at it when I get back to the office.

Version 1.7.5
This also happens at random when running c# unit tests using selenium 3.13.0 on chrome 67 64 bit on win 2012.
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.
************** Exception Text **************
System.ComponentModel.Win32Exception (0x80004005): Access is denied
at ArkaneSystems.MouseJiggle.Jiggler.Jiggle(Int32 dx, Int32 dy)
at ArkaneSystems.MouseJiggle.MainForm.jiggleTimer_Tick(Object sender, EventArgs e)
at System.Windows.Forms.Timer.OnTick(EventArgs e)
at System.Windows.Forms.Timer.TimerNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** Loaded Assemblies **************
mscorlib
Assembly Version: <IP_ADDRESS>
Win32 Version: 4.7.2650.0 built by: NET471REL1LAST_B
CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
MouseJiggle
Assembly Version: <IP_ADDRESS>
Win32 Version: 1.7.5
CodeBase: file:///E:/Software/MouseJiggle/MouseJiggle.exe
System.Windows.Forms
Assembly Version: <IP_ADDRESS>
Win32 Version: 4.7.2114.0 built by: NET47REL1LAST
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_<IP_ADDRESS>__b77a5c561934e089/System.Windows.Forms.dll
System
Assembly Version: <IP_ADDRESS>
Win32 Version: 4.7.2634.0 built by: NET471REL1LAST_C
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_<IP_ADDRESS>__b77a5c561934e089/System.dll
System.Drawing
Assembly Version: <IP_ADDRESS>
Win32 Version: 4.6.1099.0 built by: NETFXREL4STAGE
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_<IP_ADDRESS>__b03f5f7f11d50a3a/System.Drawing.dll
System.Configuration
Assembly Version: <IP_ADDRESS>
Win32 Version: 4.6.1087.0 built by: NETFXREL4STAGE
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_<IP_ADDRESS>__b03f5f7f11d50a3a/System.Configuration.dll
System.Core
Assembly Version: <IP_ADDRESS>
Win32 Version: 4.7.2634.0 built by: NET471REL1LAST_C
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_<IP_ADDRESS>__b77a5c561934e089/System.Core.dll
System.Xml
Assembly Version: <IP_ADDRESS>
Win32 Version: 4.7.2612.0 built by: NET471REL1LAST_B
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_<IP_ADDRESS>__b77a5c561934e089/System.Xml.dll
************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.
For example:

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.

I created a feature branch and added -n / --noexception to defeat the creation of the exception on a Send failure. Tested with lock/unlock and it keeps jiggling. Tested on overnight test automation run, no exception triggered and it keeps jiggling. I suspect intermittent Send failures can be ignored in the main. We only want to defeat Group Policy that sets the console power timeout to 15 minutes. This has been effective in keeping the console on all night. This allows our test failure screenshots to work and not appear as all black, it also allow the vanilla chrome 67 widget based authentication pop up to be populated with autoitx.

Thanks muchly. I'll incorporate this in 1.8 (probably without the switch; can't see the harm in having this always enabled), which I hope to have out in a couple of days.

Any chance this is still coming?


gstreamer app windows build - TOO HUGE - over 500 mb

After following these instructions and try to build an app - my build is over 500 mb!!
Is there a way to reduce the size of my app?
this is the spec that i am using btw:
# -*- mode: python -*-

from kivy.deps import sdl2, glew, gstreamer

block_cipher = None

a = Analysis(['D:\\WORK\\PYTHON\\webmTest\\webmPlayerApp.py'],
             pathex=['D:\\WORK\\PYTHON\\WinPython-64bit-<IP_ADDRESS>Zero\\python-3.6.3.amd64'],
             binaries=[],
             datas=[],
             hiddenimports=[],
             hookspath=[],
             runtime_hooks=[],
             excludes=[],
             win_no_prefer_redirects=False,
             win_private_assemblies=False,
             cipher=block_cipher)
pyz = PYZ(a.pure, a.zipped_data,
             cipher=block_cipher)
exe = EXE(pyz,
          a.scripts,
          exclude_binaries=True,
          name='webmPlayerApp',
          debug=False,
          strip=False,
          upx=True,
          console=True )

coll = COLLECT(exe,Tree('D:\\WORK\\PYTHON\\webmTest\\'),
               a.binaries,
               a.zipfiles,
               a.datas,
               *[Tree(p) for p in (sdl2.dep_bins + glew.dep_bins + gstreamer.dep_bins)],
               strip=False,
               upx=True,
               name='webmPlayerApp')

Versions

Python: 3.6.3
OS: win10
Kivy: master
Kivy installation method: pip

Question 2- how can I get it into a single executable?

Nothing I tried seems to have worked :(

Did you try this ?
python -m pip install docutils pygments pypiwin32 kivy.deps.sdl2 kivy.deps.glew python -m pip install kivy.deps.gstreamer

@Mileem
I followed the instructions here:
https://kivy.org/docs/installation/installation-windows.html
So yeah
Btw I tried with both python
python-3.6.3.amd64 from https://github.com/winpython/winpython
and the latest official python-3.6.4
from http://python.org/
Both give me the same problem
Which version of python works best with kivy?
Also if you like to, here is my minimal webm player kivy app source:
webmPlayerApp.py
from kivy.app import App

from kivy.uix.scatter import Scatter
from kivy.uix.label import Label
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.textinput import TextInput
from kivy.uix.boxlayout import BoxLayout

from kivy.uix.video import Video

from kivy.core.window import Window

import sys

class webmPlayerApp(App):
	def build(self):
		Window.bind(on_dropfile=ScatterTextWidget()._on_file_drop)
		return ScatterTextWidget()

	def on_start(self,**kwargs):
		print("I AM ALIVE")
		# ScatterTextWidget.OpenVideoFile(ScatterTextWidget,sys.argv[1])

	def on_stop(self):
		print("Webm player was killed")

class ScatterTextWidget(BoxLayout):

	def getCmdArguments(self):
		if len(sys.argv) > 1:
			return sys.argv[1]
		else:
			return("")

	def _on_file_drop(self, window, file_path):
		self.OpenVideoFile(file_path)

	def OpenVideoFile(self,file_path):
		print("OPENING FILE! "+str(file_path))
		openFilePath = str(file_path)[2:-1].replace("\\\\","\\")
		kivyGui = App.get_running_app().root.ids
		kivyGui.filePathLabel.text = openFilePath

		print("try:",openFilePath)
		print("prev:",kivyGui.videoPlayerFrame.source)
		# kivyGui.videoPlayerFrame.state = "stop"
		kivyGui.videoPlayerFrame.unload()
		kivyGui.videoPlayerFrame.state = "stop"
		kivyGui.videoPlayerFrame.source = openFilePath
		kivyGui.videoPlayerFrame.state = "play"
		pass

### track the running video
	def on_position_change(instance,self, videoPositionMs):
		print(str(videoPositionMs))
		# if videoPositionMs > 0.0001 :
		#     kivyGui = App.get_running_app().root.ids
		#     kivyGui.videoPlayerFrame.state = "pause"
		return

	def on_duration_change(instance,self, value):
		# kivyGui = App.get_running_app().root.ids
		return
		print('The duration of the video is', value)

	def on_new_video_loaded(instance,self, value):
		kivyGui = App.get_running_app().root.ids
		print("Video Loaded:\n"+str(value))
		print("Length:"+str(kivyGui.videoPlayerFrame.duration))
		self.playTimes = 0

	def on_video_reached_end(instance,self, value):
		if value == False:return
		self.playTimes += 1
		print("REACHED END:\n"+str(value)+" looped:" +str(self.playTimes))
		## loop the video - problem - it plays more than once
		kivyGui = App.get_running_app().root.ids
		kivyGui.videoPlayerFrame.state = "play"

### this initiates an instance of the app:
if __name__ =="__main__":
	webmPlayerApp().run()

webmPlayer.kv
<ScatterTextWidget>:
    orientation : 'vertical'
    Label:
        id: filePathLabel
        size_hint_y: None
        height:200
        ## whats on the right side of : is python
        text: 'Drag and drop your file here'
        text_size:self.width,None
        height: self.texture_size[1]
    Video:
        id:videoPlayerFrame
        source: root.getCmdArguments()
        on_source:root.on_new_video_loaded(root,self.source)
        state: "play"
        size: self.width, self.height
        on_position:root.on_position_change(root,self.position)
        on_duration:root.on_duration_change(root,self.duration)
        on_loaded:root.on_new_video_loaded(root,self.source)
        on_eos:root.on_video_reached_end(root,self.eos)
        position:0

btw this line's path:
File "kivy\lib\gstplayer\_gstplayer.pyx", line 233, in kivy.lib.gstplayer._gstplayer.GstPlayer.load (kivy\lib/gstplayer\_gstplayer.c:3151)
kivy\lib/gstplayer_gstplayer.c
Has a mixture of \ and /
Is it possible that the path formatting is causing the issue?

Ok I figured it out - should have followed these instructions more carefully:
https://kivy.org/docs/guide/packaging-windows.html
But now I have another issue with the build.  You should print-out: a.binaries, a.zipfiles, a.datas and see which files you can remove.
Also, I think that you don't need to collect entire project files Tree('D:\\WORK\\PYTHON\\webmTest\\'), but only non-python files.

Hi @pythonic64
How do I tell the spec file to print out a.binaries, a.zipfiles, a.datas ?
Also is it possible to change this line:
*[Tree(p) for p in (sdl2.dep_bins + glew.dep_bins + gstreamer.dep_bins)],
To something that pulls only parts of gstreamer required to play a webm file?
I want to slim down gstreamer as well if possible

I deleted these files and am still able to start the app and play a webm clip- with some warnings in terminal:
DELETED.txt
This gets the app down to 70mb - which is still too high to get to android app store and there may be possible bugs in the future.
Perhaps kivy is not the best choice for a small video player. It's still bigger than many other video players on desktop even.
Any ideas on

How do we get it down to under 50 mb at least
How do we do it in a cleaner way than deleting files
Get more control over which modules gstreamer on kivy pulls- most of the bulk is gstreamer modules that I do not need, but deleting them is not a good fix. I want a cleaner compilation

You can print-out a.binaries, a.zipfiles, a.datas by using pprint or print functions because spec acts like python file.
from pprint import pprint
pprint(a.binaries)
# Other prints here

To customize distribution see this link. You need to use get_deps_minimal function.
You can also exclude pygments, docutils and other libraries or modules by adding them in excludes list of Analysis function.

This gets the app down to 76mb - which is still too high to get to android app store

I don't think gstreamer is intended for use on Android - there is no p4a recipe for it. You can customize the build if you create a recipe of course.. but I don't know how much you can save or how well gstreamer will work on mobile devices..
If all you need is the playback, you could try ffpyplayer? I think it is smaller for pyinstaller platforms, but no idea how easy/hard it is to package. There are recipes for android, but it failed to build for me recently (it seems ffmpeg recipe needs some work)

@pythonic64  in
**get_deps_minimal(video=None, audio=None)))
I need to include video and audio, but not all the codecs and dev tools that come with gstreamer (400+ mb of data)- I want to only include whats needed to play a webm file. Is that possible? If so, what is the keyword?
@bionoid You are correct - ffpyplayer fails to initialize on windows too btw

@pythonic64 here are the printout results:
https://gist.github.com/blurymind/c1b88c686d0cd99a3beb7160390b35f7
Any suggestions as to which ones to add to the exclude list?


This version is slower then older one I rescanned and still only 2 peers connection. Do you have a snapshot?

This issue tracker is only for technical issues related to Dogecoin Core.
For general questions about Dogecoin please use one of the various communities, e.g. Reddit, IRC, Discord, etc.
Describe the issue
Can you reliably reproduce the issue?
If so, please list the steps to reproduce below:

Expected behaviour
Tell us what should happen
Actual behaviour
Tell us what happens instead
Screenshots.
If the issue is related to the GUI, screenshots can be added to this issue via drag & drop.
What version of Dogecoin Core are you using?
List the version number/commit ID, and if it is an official binary, self compiled or a distribution package such as PPA.
Machine specs:

OS:
CPU:
RAM:
Disk size:
Disk Type (HD/SDD):

Any extra information that might be useful in the debugging process.
This is normally the contents of a debug.log or config.log file. Raw text or a link to a pastebin type site are preferred.

This version is slower then older one I rescanned and still only 2 peers connection. Do you have a snapshot? windows core wallet

https://github.com/greenbigfrog/dogecoin-bootstrap


TimeAmount.hours(.max) and probably others crash because of overflow

This may even be classified as a low severity security issue because someone may accept an hours number from a user and then do TimeAmount.hours(userProvidedValue). Not a good idea but you never know what users do.
Expected behavior
It should cap the amount to the maximum representable amount.
Actual behavior
My program crashes
Steps to reproduce
TimeAmount.hours(.max)
SwiftNIO version/commit hash
2.58.0
System & version information
macOS

This issue was affecting all TimeAmount functions besides nanoseconds, as it was the only function that didn't do any arithmetical operations on the input amount. The other functions, on the contrary, converted the input amount to nanoseconds, and this led to overflowing in case the input amount was .max.
In order to avoid this TimeAmount(.max) is returned, in case the amount in nanoseconds overflows.
Here's an example from the PR:
@inlinable
public static func hours(_ amount: Int64) -> TimeAmount {
    let nanoseconds = amount &* (1000 * 1000 * 1000 * 60 * 60)
    return nanoseconds >= 0 ? TimeAmount(nanoseconds) : TimeAmount(.max)
}

This issue was affecting all TimeAmount functions besides nanoseconds, as it was the only function that didn't do any arithmetical operations on the input amount. The other functions, on the other hand, converted the input amount to nanoseconds, and this led to overflowing in case the input amount was .max. In order to avoid this TimeAmount(.max) is returned, in case the amount in nanoseconds overflows.
Here's an example from the PR:
@inlinable
public static func hours(_ amount: Int64) -> TimeAmount {
    let nanoseconds = amount &* (1000 * 1000 * 1000 * 60 * 60)
    return nanoseconds >= 0 ? TimeAmount(nanoseconds) : TimeAmount(.max)
}

Thanks for checking! Instead of using &* and a >= we should use multiplyingReportingOverflow which just tells us if it overflowed.


1.0 - Remove theme creation from theme and into its own function

As we get closer to launching Stitches v1, we're doing one last pass at the API to ensure they're consistent, concise and that they won't change any time soon.
After some discussion and feedback from our users, we've decided to:

Create a dedicated createTheme function

Fixed in V1. Please refer to migration guide and changelog


bug: Validator not removed after redelegations

Bug description

If a user redelegates everything from validator A to validator B Validator A will continue to exist in account details

Steps to reproduce

Validator should not be in delegations if amount is 0. I will update the frontend to also hide any validators that's 0
Expected behavior

Checked and this is not a bug inside BDJuno. The chain node returns the following answer and BDJuno stores them accordingly:
{
  "delegation_responses": [
    {
      "delegation": {
        "delegator_address": "emoney1952nru9aj2z8cpgew29z7e0q634d7288qyzq7l",
        "validator_address": "emoneyvaloper1zxxd24h25phc744tjgtatafh05vtw6rve4xmwe",
        "shares": "0.754709466067545576"
      },
      "balance": {
        "denom": "ungm",
        "amount": "0"
      }
    },
    {
      "delegation": {
        "delegator_address": "emoney1952nru9aj2z8cpgew29z7e0q634d7288qyzq7l",
        "validator_address": "emoneyvaloper1yfydycc36gm9eftl5krcj5lfjy3w2kzlaqer98",
        "shares": "0.001230708159860757"
      },
      "balance": {
        "denom": "ungm",
        "amount": "0"
      }
    },
    {
      "delegation": {
        "delegator_address": "emoney1952nru9aj2z8cpgew29z7e0q634d7288qyzq7l",
        "validator_address": "emoneyvaloper1wke3ev9ja6rxsngld75r3vppcpet94xx5hu9af",
        "shares": "1969292750.000000000000000000"
      },
      "balance": {
        "denom": "ungm",
        "amount": "1969292750"
      }
    },
    {
      "delegation": {
        "delegator_address": "emoney1952nru9aj2z8cpgew29z7e0q634d7288qyzq7l",
        "validator_address": "emoneyvaloper17e8y0np4gtdhn7mv2uut3v2a06d99f4gajvrrt",
        "shares": "0.820613871096172588"
      },
      "balance": {
        "denom": "ungm",
        "amount": "0"
      }
    }
  ],
  "pagination": {
    "next_key": null,
    "total": "0"
  }
}


get doesn't support bearer token

get method only supports basic authorization and not bearer tokens -> will not work with newer apis that are not in the library such as conversation api

This is true. Get is only exposed for historical reasons - it's considered a private method.
Please use _jwt_signed_get to make calls to the Conversations API, but bear in mind that is also a private method (and marked as such!)


upgrade scala to 2.13.1

😞 https://github.com/typelevel/kind-projector/issues/15

depends on typelevel/kind-projector#119

😢 https://github.com/scoverage/sbt-scoverage/issues/295

Codecov Report

Merging #148 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #148   +/-   ##
=======================================
  Coverage   61.13%   61.13%
=======================================
  Files          36       36
  Lines        1194     1194
  Branches        7        8    +1
=======================================
  Hits          730      730
  Misses        464      464

Impacted Files
Coverage Δ

...s2/src/main/scala/laserdisc/fs2/RedisChannel.scala
73.68% <0%> (-5.27%)
:arrow_down:

core/src/main/scala/laserdisc/protocol/KeyP.scala
92.68% <0%> (+1.21%)
:arrow_up:

Continue to review full report at Codecov.

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

Looks like this is finally ready to be merged


KAFKA-5373 : Revert breaking change to console consumer

This patch reverts b63e41ea78a58bdea78be33f90bfcb61ce5988d3 since it broke the console consumer -- the consumer prints the addresses of the messages
instead of the contents with that patch.

cc @vahidhashemian @guozhangwang

Sorry about the bug that PR introduced. I'll revisit it to find out the problem.

Merging to trunk and 0.11.0.

@vahidhashemian The problem lies in
val convertedBytes = deserializer.map(_.deserialize(null, nonNullBytes).toString.
        getBytes(StandardCharsets.UTF_8)).getOrElse(nonNullBytes)

Note that we call toString if a deserializer is specified and hence used to deserialize the bytes to objects; before this patch if nothing is specified the deserializer == None and hence this code path would not be called, with this patch it is called and toString prints the byte array's address.
I think the root cause is that console consumer is actually assuming the underlying bytes are String typed, and hence when no deserializers are specified it just "happen" to print it as Strings. More formally we should use StringDeserializer instead of ByteArrayDeserializer as the default deserializer, and then inside DefaultMessageFormatter the key / value deserializers would not need to be an Option[Deserializer] anymore as we will always set it, and we can also reduce the above code path as
val convertedBytes = deserializer.deserialize(null, nonNullBytes).toString.getBytes(StandardCharsets.UTF_8)


API Proposal for GOBL operations

Related: https://gist.github.com/cavalle/f3ba5141ef5ee9754e80ef0deb99513a

@samlown Thanks for the feedback and the follow-up call we did about it. I created an RFC in the wiki to summarise the analysis, design and agreements on this topic. Closing this PR in favour of that document.


ci(release): fix publishing krew plugin; add '.exe' extension to Windows binary

Overview
Fix publishing krew plugin in release CI
There's an error that stops it from getting the right tag, which is, a needs: retag is needed so that it can get the value from ${{ needs.retag.outputs.NEW_TAG }}:

However, fixing that won't work still: https://github.com/HollowMan6/kubescape/actions/runs/4392160217/jobs/7691893332
As you can't override the GITHUB_REF variable due to GitHub Actions' limit, quoting from the GitHub Actions' documentation: "If you attempt to override the value of one of these default variables, the assignment is ignored."
So I moved the Publish Krew plugin into a separate CI, which is triggered by exactly matching the tag created by the release CI. Also as events triggered by the GITHUB_TOKEN will not create a new workflow run, I changed the release token into the secrets.GH_PERSONAL_ACCESS_TOKEN.
Test in my fork:
https://github.com/HollowMan6/kubescape/actions/runs/4392626675 results in PR: https://github.com/kubernetes-sigs/krew-index/pull/3000
Then I fixed the if:  check so that it won't get triggered in a fork.
add '.exe' extension to Windows binary
Add '.exe' extension to Windows binaries, as Windows executables usually have .exe extension.

Just revert adding the '.exe' to the release binary, as that naming convention was introduced long time ago and it looks like it would break a lot of things if we introduce this change: https://github.com/search?q=kubescape-windows-latest&type=code
However, I would still recommend adding the '.exe' to the binary inside the tarball, as so far that is only used for Krew and there's still chance for it to get corrected. https://github.com/search?q=kubescape-windows-latest.tar.gz&type=code

@dwertent fine for me


Capture nested  tags with HTML2Canvas

I'm wondering - using Html2Canvas if I capture a containing
 then is there a way to also include a nested <canvas> tag within said div?
I have my capture working but there is essentially a gap where the nested canvas sits on-screen.
Example code:

my title

Some other content here

   <canvas id="existing-canvas" height="270" style="height:270px;"></canvas>

Some more content

I can capture my-container and it's contents but the captured image has a blank space where the nested canvas element is.

Ignore me - this is a timing issue on my part. The nested canvas element in question is saved but i'm doing so before its contents have been rendered to the DOM.

Ignore me - this is a timing issue on my part. The nested canvas element in question is saved but i'm doing so before its contents have been rendered to the DOM.

hi,I have same question. The nested canvas have been rendered but it's black.


Improve formatting for very long threads

I maintain an extremely long Twitter thread (https://twitter.com/steren/status/1586136999836078081)
tweetback renders threads like email threads, where each response adds one indentation.
As a consequence, this long thread looks like this: http://twitter.steren.fr/1586136999836078081/

Whoops, not great indeed! 😅
I guess we should stop indentation after some depth level, maybe 10?
Or maybe remove all indentation, finding a better visual hint for threads?

A CSS addition to limit indentation at a depth of 10 would be relatively straightforward (if ugly):
.tweets .tweets-replies > * > * > * > * > * > * > * > * > * > * {
    border-left: 0;
    padding-left: 0;
    margin-left: 0;
}

Trying it out on @steren's site however looks a little odd, having a visual hint of threads that is meaningless for > 10. Perhaps a different or additional visual hint would be useful in that case.

I was just about to file a separate bug for this; here's another thread for a testcase: https://cooljeanius.github.io/my_tweetback_archive/1539389054780952576/
Posts start looking very narrow by the time you've scrolled to the bottom of it:

I guess we should stop indentation after some depth level, maybe 10?
Or maybe remove all indentation, finding a better visual hint for threads?

Either of these would be fine, my preference would be just whichever's easier to implement

Maybe @zachleat can help?


Howto add/copy a set into another profile?

If its possible, please explain it to me, I cant seem to find it;
If its not possible, might be a great suggestion/addition!

Save a set separately (with "all sets and settings" unchecked).
Load the profile you want to copy into.
Create a blank set.
Load the set you just saved.


Training with my own datasets

i need to train the net  with 31 keypoints datasets， do I need to modify sigma in train.py?

Hi! You can leave it as is. It controls radius of a keypoint peak in a heatmap.

Hope, it is helped.


Steampipe 0.15 Dashboards no longer working

Describe the bug
Installed steampipe a few days ago and everything worked, but then upgraded to 0.15 and suddenly the dashboards stopped working. CLI works fine.
Steampipe version (steampipe -v)
v0.15.0

Hey @rkiller, sorry for the glitch. Questions:

Which dashboard (and which version of it)?

Only that one or others too?

Sorry @judell ... I'm new to this :)
dashboard aws v0.66.0
All the dashboards in this mod are not working for me. I've reinstalled etc etc but they're not working.

True for other mods as well?
Anything to see if you run STEAMPIPE_LOG_LEVEL=trace steampipe dashboard and then check ~/.steampipe/logs?

I only have the AWS mod installed. Not sure what to look for in the logs, but nothing seems to stand out...

Just installed steampipe-mod-aws-perimeter and having the same issue

OK. Let's see if @MichaelBurgess can suss out what's happening from your JS console errors. Meanwhile would you mind trying a mod based on a different plugin, e.g. https://hub.steampipe.io/mods/turbot/net_insights?

Thanks @judell ... installing net mod has the same issue(s).

I assume you've tried the universal solution to everything?

:)))))))) Yes... this problem already occurred yesterday.
I believe you’ve got the old UI assets in the browser still. I believe your browser is caching  the index.html and isn’t pulling them in.
Please can you try a hard refresh (can’t tell from the screenshot why browser you’re using, but in Chrome if you open the dev tools and then press and hold the refresh button

Sorry, hit the close button by mistake on my phone then!

Of course that was it and so simple. Thanks so much @MichaelBurgess !

Another variant of "turn it off and on again" !


EffectCallback in a zero duration animation is called twice.

See the demo.
Clicking the "Run with JS" button in the result panel should reveal the problem.
From https://lists.w3.org/Archives/Public/public-fx/2015JanMar/0040.html

Unless I understand, this isn't an error.
(1) effect callbacks call once per changed tf value
(2) non-filling animations have a tf value of 1
So the expected behavior of that code is that the callback is called once, right at the beginning of the sequence, with a tf of null.
I think you want something like this instead:
var d1 = document.getElementById("d1");
var d2 = document.getElementById("d2");
var anim = new AnimationSequence([
new Animation(d1, [
{transform: 'translateX(0)'},
{transform: 'translateX(100px)'},
], 2000),
new Animation(null, function (tf) {
if (tf == 1)
d1.classList.add("moved");
}, {fill: 'forwards'}),
new Animation(d2, [
{transform: 'translateX(0)'},
{transform: 'translateX(100px)'},
], 2000)
]);
document.timeline.play(anim);

Oh, thank you. Looks like I didn't understand time fraction very well, should reread spec again.
Also I thought since I modified the DOM directly in the EffectCallback, and it's going to stick, so forwards fill mode is unnecessary. Didn't know web-animations is able to reverse it.


x/tools/gopls: format on save breaks imports when reordered

What did you do?
In https://github.com/hortbot/hortbot/blob/master/internal/cli/flags/ircflags/ircargs.go, swap around some import lines and save.
My Go-related configs:
    "go.lintOnSave": "workspace",
    "go.lintTool": "golangci-lint",
    "go.formatTool": "goimports",
    "go.useLanguageServer": true,
    "go.alternateTools": {
        "go-langserver": "gopls"
    },
    "go.buildOnSave": "off",
    "go.vetOnSave": "off",
    "[go]": {
        "editor.snippetSuggestions": "none",
        "editor.formatOnSave": true,
        "editor.codeActionsOnSave": {
            "source.organizeImports": true
        },
        "editor.codeActionsOnSaveTimeout": 3000
    },
    "gopls": {
        "completeUnimported": true,
        "watchFileChanges": true,
        "deepCompletion": true,
        "go-diff": true,
        "local": "github.com/hortbot/hortbot"
    },

Though I'd normally configure local in the project's settings, since it doesn't make much sense globally.
What did you expect to see?
The imports are reordered back to the way they were (or re-sorted by the local feature).
What did you see instead?
The imports get formatted very wrong. Imports get deleted, duplicated, and sometimes turn out syntatically correct with misplaced quotes. I tried to do a screencap.
https://streamable.com/ffxjz
I also verified this without go-diff enabled to see if it was the diff algorithm, but there was no difference.
Also, the local option is applied at an unknown time. I want things to behave exactly as they do with VS Code + goimports, i.e. "hit save, imports are reordered and fixed", but can't seem to get that to work.
 Can you share your gopls logs from when this happens (https://github.com/golang/tools/blob/master/gopls/doc/troubleshooting.md#capturing-logs)?

gopls imports makes no change to my file after I reorder my imports (-d flag shows no output).
Logs here: https://gist.github.com/zikaeroh/7eb4a0a7d7d21d929185315bd8cdcb45
Here is a screenshot of the bad quoting (since I couldn't get it in the screen recording):

Thanks! I'll take a look at the logs. Can you also share the output of running gopls imports with gopls -rpc.trace -v imports?

Interestingly enough, the only time textDocument/codeAction returns a value in your log is this:
[Trace - 20:38:56.202 PM] Received response 'textDocument/codeAction - (10)' in 1445ms.
Result: [{"title":"Organize Imports","kind":"source.organizeImports","edit":{"changes":{"file:///home/jake/zikaeroh/hortbot/hortbot/internal/cli/flags/ircflags/ircargs.go":[{"range":{"start":{"line":10,"character":3},"end":{"line":11,"character":3}},"newText":""},{"range":{"start":{"line":12,"character":53},"end":{"line":12,"character":53}},"newText":"\"\n\t\"github.com/hortbot/hortbot/internal/pkg/ctxlog"}]}}}]

All it's doing here is deleting a line and adding the "github.com/hortbot/hortbot/internal/pkg/ctxlog" important, which doesn't sound like it should cause the results you're seeing. Is it possible that both gopls and some other save hook are applying edits to your file?

Output:
2019/11/05 20:51:19 Info:2019/11/05 20:51:19 Build info
----------
golang.org/x/tools/gopls master
<EMAIL_ADDRESS>h1:4tnHOn2ZDC1EOp6PyPlUfrxeuw1IzXmJ6Hh359rRlSI=
<EMAIL_ADDRESS>h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=
<EMAIL_ADDRESS>h1:Kpca3qRNrduNnOQeazBd0ysaKrUJiIuISHxogkT9RPQ=
<EMAIL_ADDRESS>h1:8gQV6CLnAEikrhgkHFbMAEhagSSnXWGV915qUMm9mrU=
<EMAIL_ADDRESS>h1:RzzIfXstYPS78k0QViPGpDcTlV+QuYrbxVmsxDHdxTs=
<EMAIL_ADDRESS>h1:9zdDQZ7Thm29KFXgAX/+yaf3eVbP7djjWp/dXAppNCc=
<EMAIL_ADDRESS>h1:3JgtbtFHMiCmsznwGVTUWbgGov+pVqnlf1dEJTNAXeM=

Go info
-------
go version go1.13.4 linux/amd64

GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/jake/.cache/go-build"
GOENV="/home/jake/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/jake/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/lib/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/lib/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/home/jake/zikaeroh/hortbot/hortbot/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build496587565=/tmp/go-build -gno-record-gcc-switches"
2019/11/05 20:51:20 Info:2019/11/05 20:51:20 go/packages.Load
	packages = 1
2019/11/05 20:51:20 Info:2019/11/05 20:51:20 go/packages.Load
	package = github.com/hortbot/hortbot/internal/cli/flags/ircflags
	files = [/home/jake/zikaeroh/hortbot/hortbot/internal/cli/flags/ircflags/ircargs.go]
// Package ircflags processes IRC-related flags.
package ircflags

import (
	"context"
	"database/sql"
	"time"

	"github.com/hortbot/hortbot/internal/birc"
	"github.com/hortbot/hortbot/internal/db/modelsx"
	"github.com/hortbot/hortbot/internal/db/redis"
	"go.uber.org/zap"
	"github.com/hortbot/hortbot/internal/pkg/apis/twitch"
	"github.com/hortbot/hortbot/internal/pkg/ctxlog"
	"github.com/hortbot/hortbot/internal/pkg/twitchx"
)

type IRC struct {
	Nick         string        `long:"irc-nick" env:"HB_IRC_NICK" description:"IRC nick" required:"true"`
	Pass         string        `long:"irc-pass" env:"HB_IRC_PASS" description:"IRC pass" required:"true"`
	PingInterval time.Duration `long:"irc-ping-interval" env:"HB_IRC_PING_INTERVAL" description:"How often to ping the IRC server"`
	PingDeadline time.Duration `long:"irc-ping-deadline" env:"HB_IRC_PING_DEADLINE" description:"How long to wait for a PONG before disconnecting"`
	Token        bool          `long:"irc-token" env:"HB_IRC_TOKEN" description:"Use a token from the database if available"`

	RateLimitSlow   int           `long:"irc-rate-limit-slow" env:"HB_IRC_RATE_LIMIT_RATE" description:"Message allowed per rate limit period (slow)"`
	RateLimitFast   int           `long:"irc-rate-limit-fast" env:"HB_IRC_RATE_LIMIT_RATE" description:"Message allowed per rate limit period (fast)"`
	RateLimitPeriod time.Duration `long:"irc-rate-limit-period" env:"HB_IRC_RATE_LIMIT_PERIOD" description:"Rate limit period"`
}

var DefaultIRC = IRC{
	PingInterval:    5 * time.Minute,
	PingDeadline:    5 * time.Second,
	RateLimitSlow:   15,
	RateLimitFast:   80,
	RateLimitPeriod: 30 * time.Second,
}

func (args *IRC) Pool(ctx context.Context, db *sql.DB, tw twitch.API) *birc.Pool {
	logger := ctxlog.FromContext(ctx)

	channels, err := modelsx.ListActiveChannels(ctx, db, args.Nick)
	if err != nil {
		logger.Fatal("error listing initial channels", zap.Error(err))
	}

	nick := args.Nick
	pass := args.Pass

	if args.Token {
		token, err := twitchx.FindBotToken(ctx, db, tw, nick)
		if err != nil {
			logger.Fatal("error querying for bot token", zap.Error(err))
		}
		if token != nil {
			logger.Debug("using token from database")
			pass = "oauth:" + token.AccessToken
		}
	}

	pc := birc.PoolConfig{
		Config: birc.Config{
			UserConfig: birc.UserConfig{
				Nick: nick,
				Pass: pass,
			},
			InitialChannels: channels,
			Caps:            []string{birc.TwitchCapCommands, birc.TwitchCapTags},
			PingInterval:    args.PingInterval,
			PingDeadline:    args.PingDeadline,
		},
	}

	return birc.NewPool(pc)
}

func (args *IRC) SendMessageAllowed(ctx context.Context, rdb *redis.DB, origin, target string) (bool, error) {
	return rdb.SendMessageAllowed(ctx, origin, target, args.RateLimitSlow, args.RateLimitFast, args.RateLimitPeriod)
}

I am not aware of any other save hook unless the VS Code extension is still trying to run an external tool even though I have not disabled gopls's formatting. For fun, I replaced my goimports binary with a script that just echo'd a string to try and get it to break or replace the buffer, but the behavior I gave in my original post persists.

Thanks for trying that out. I guess we can rule that out then. To confirm with the gopls imports command - this is the original file? Can you see what happens when you remove some imports? If you run it a couple times, does it give you consistent results?

The above tests were done simply with the reorderings. If I simply remove an import, I do see it trying to add it back. With gopls imports -d:
$ gopls imports -d ircargs.go
--- /home/jake/zikaeroh/hortbot/hortbot/internal/cli/flags/ircflags/ircargs.go.orig
+++ /home/jake/zikaeroh/hortbot/hortbot/internal/cli/flags/ircflags/ircargs.go
@@ -10,7 +10,8 @@
 	"github.com/hortbot/hortbot/internal/db/modelsx"
 	"github.com/hortbot/hortbot/internal/db/redis"
 	"github.com/hortbot/hortbot/internal/pkg/apis/twitch"
-	"github.com/hortbot/hortbot/internal/pkg/twitchx"
+	"github.com/hortbot/hortbot/internal/pkg/ctxlog"
+	"github.com/hortbot/hortbot/internal/pkg/twitchx"
 	"go.uber.org/zap"
 )

Can you try using the imports from gopls without the local setting? I would be curious to see if you experience the same behavior without it. Also, if you are able to share a log from when the imports behave strangely that would be helpful, even if it's very long - it's just hard to investigate since your previous log didn't seem to have any incorrect behavior in it.

Hopefully this is what you're looking for: https://gist.github.com/zikaeroh/3300ac58971886fd3f217f9338da2c56
local is unset. The behavior still has issues. I made a number of changes, ordering, removed imports, swapped lines, undid, etc. Experienced bad import replacements, quotes getting misplaced, as well as the imports even appearing outside of the import block.

Just to try and eliminate the Go extension as the source of the problem, I configured it to run the formatting tool with a bad flag (-THISISBAD). The bad changes still happen, which tell me at least that the Go extension isn't running an external tool (since it'd otherwise give me an error, or at least do nothing). I have nothing else installed that could do any formatting.

Yes, that log was helpful - thank you! One thing I noticed about it is that there were a number of textDocument/codeAction responses that seem to be duplicated. If you look at the responses here, you will see the 3 code action responses that are all the same. I wonder if these diffs are all being applied simultaneously and then colliding. I would expect that this could be fixed via https://github.com/golang/go/issues/35243.

Is there any plan to not try and use both format and code actions separately in order to manage imports, instead just doing everything as goimports does as a single action?
With how formatting and import management have been combined via goimports/goreturns in editors for a good while, I would really like that behavior to continue, rather than trying to do both individually (and then have to deal with figuring out which edits match which version, and bugs like this).

No, the current plan is actually to separate goimports from gofmt as much as possible (see https://github.com/golang/go/issues/30843). This way, the source.organizeImports code action will actually do just that, and gofmt will only format a file. Similarly, we would be happy to add the functionality of goreturns, but only as a quickfix, not a format action.
In general, it is much more correct for us to match edits to a specific version of a file - that's really the issue here. If your editor is slow or something gets out of sync with the client and the server - you will immediately get strange behavior if edits are not associated with a specific version of the file.

Absolutely, the versions matter and that should be fixed. My only thought was that it seemed like splitting things is complicating a scenario that a lot of people have been using for a while, even if doing a bunch of stuff on format is different than most every other LSP enabled language (mainly because doing something like "find me the right new imports to make this file sane" is such a cheap operation in Go, like so many other things).

Historically they were combined only because a save hook was the only way to trigger them, and the fact that they are combined is the source of considerable problems.
For instance, goreturns needed to include the functionality of goimports which needed to include the functionality of gofmt, just because people wanted all three, but then people also wanted gofmt -s which was not part of goimports so they end up running multiple save hooks anyway, all of which are redoing the same behaviors for the parts that the authors decided all their users needed, and now there is gofumpt...
By carefully teasing the functionality apart we can allow users to pick and choose, and authors of a new piece of functionality will no longer need to include a random collection of other save hooks they think are important.
Also much of this functionality does not (and should not) need you to save the file to trigger.

That's fair and reasonable, and I understand and agree with it from that point of view. I was going to stick this on #30843, but I can put my thoughts here too.
I'm just thinking towards the day where gopls is "released" and something like VS Code switches from it being an experiment to the main experience. The default behavior for VS Code users at the moment is "run goreturns, or goimports if in module mode". Formatting on save does everything those tools did. If you enable gopls, the format on save behavior now does a different thing, and you find out from the gopls docs that you have to enable language-scoped settings like codeActionsOnSave to get the old behavior back. That might be jarring. New users who start with gopls may not even know that this feature exists (as in the past where people "discovered" goimports until it was just the default in many editors).
At the end of the day, if I can hit save and things are formatted and reorganized as they would be if I ran goimports (with the bugs fixed 😉), then I'll be happy. More fixes and options showing up I can work with would be nice, too. I just don't want to end up regressing something I've been happy with for many years. 😄

Yes, the intention is that the default configuration will be what we believe to be the best normal user experience, which will include those kinds of things. The configuration options will still be there for power users, but the defaults will be sane.

At the risk of extending this longer (when my bug isn't related, per se), how do you plan on setting the sane defaults when it's the client's job to apply things like fixes?

Each client needs to decide what the sensible defaults are, we have opinions, and to some extent we hope that clients will respect them so that the unconfigured experience will be reasonably common across all clients, but some things will be different because the model the clients work in is different, and that is okay.
We will probably have the most influence over the VSCode behavior because we directly contribute to that plugin, and that will probably be our exemplar for what we think the user experience should be.

Since #35243 was fixed, I went and retried formatting/import sorting again as above, but the same behavior persists.
https://gist.github.com/zikaeroh/618e23c7292123e62a65dbcb71d2c107
I can see in the log that the code actions now include version numbers, but maybe there's something else that's needed (or #35243 alone wasn't the entire story).

Taking a look at the logs, it seems like the version numbers are wrong (also, https://github.com/golang/go/issues/35584). I'll investigate that further.

This is a bit of a brain dump from my analysis of the logs here. If you're able to attach a screencast of what you're seeing while a log is being written that would be super helpful for analysis as well.

All of the codeActions that suggest modifications to the file:
[Trace - 15:31:17.423 PM] Received response 'textDocument/codeAction - (6)' in 430ms.
Result: [{"title":"Organize Imports","kind":"source.organizeImports","edit":{"documentChanges":[{"textDocument":{"version":2,"uri":"file:///home/jake/zikaeroh/hortbot/hortbot/internal/cli/subcommands/bot/bot.go"},"edits":[{"range":{"start":{"line":16,"character":5},"end":{"line":17,"character":5}},"newText":""},{"range":{"start":{"line":17,"character":24},"end":{"line":17,"character":24}},"newText":"\"\n\t\"go.uber.org/zap"}]}]}}]

[Trace - 15:31:17.426 PM] Received response 'textDocument/codeAction - (7)' in 211ms.
Result: [{"title":"Organize Imports","kind":"source.organizeImports","edit":{"documentChanges":[{"textDocument":{"version":2,"uri":"file:///home/jake/zikaeroh/hortbot/hortbot/internal/cli/subcommands/bot/bot.go"},"edits":[{"range":{"start":{"line":16,"character":5},"end":{"line":17,"character":5}},"newText":""},{"range":{"start":{"line":17,"character":24},"end":{"line":17,"character":24}},"newText":"\"\n\t\"go.uber.org/zap"}]}]}}]

[Trace - 15:31:21.965 PM] Received response 'textDocument/codeAction - (10)' in 3570ms.
Result: [{"title":"Organize Imports","kind":"source.organizeImports","edit":{"documentChanges":[{"textDocument":{"version":10,"uri":"file:///home/jake/zikaeroh/hortbot/hortbot/internal/cli/subcommands/bot/bot.go"},"edits":[{"range":{"start":{"line":9,"character":3},"end":{"line":10,"character":3}},"newText":""},{"range":{"start":{"line":15,"character":48},"end":{"line":15,"character":48}},"newText":"\"\n\t\"github.com/hortbot/hortbot/internal/pkg/errgroupx"}]}]}}]

[Trace - 15:31:28.846 PM] Received response 'textDocument/codeAction - (16)' in 581ms.
Result: [{"title":"Organize Imports","kind":"source.organizeImports","edit":{"documentChanges":[{"textDocument":{"version":12,"uri":"file:///home/jake/zikaeroh/hortbot/hortbot/internal/cli/subcommands/bot/bot.go"},"edits":[{"range":{"start":{"line":10,"character":3},"end":{"line":11,"character":3}},"newText":""},{"range":{"start":{"line":17,"character":24},"end":{"line":17,"character":24}},"newText":"\"\n\t\"go.uber.org/zap"}]}]}}]

If we believe that VS Code is actually respecting the versions specified in the responses, we would see these as textDocument/didChange events for versions 3, 11, and 13.
The only time I see this happen is for the textDocument/didChange for version 11:
[Trace - 15:31:21.965 PM] Received response 'textDocument/codeAction - (10)' in 3570ms.
Result: [{"title":"Organize Imports","kind":"source.organizeImports","edit":{"documentChanges":[{"textDocument":{"version":10,"uri":"file:///home/jake/zikaeroh/hortbot/hortbot/internal/cli/subcommands/bot/bot.go"},"edits":[{"range":{"start":{"line":9,"character":3},"end":{"line":10,"character":3}},"newText":""},{"range":{"start":{"line":15,"character":48},"end":{"line":15,"character":48}},"newText":"\"\n\t\"github.com/hortbot/hortbot/internal/pkg/errgroupx"}]}]}}]

...

[Trace - 15:31:26.657 PM] Sending notification 'textDocument/didChange'.
Params: {"textDocument":{"uri":"file:///home/jake/zikaeroh/hortbot/hortbot/internal/cli/subcommands/bot/bot.go","version":11},"contentChanges":[{"range":{"start":{"line":16,"character":24},"end":{"line":17,"character":17}},"rangeLength":19,"text":""},{"range":{"start":{"line":16,"character":5},"end":{"line":16,"character":5}},"rangeLength":0,"text":"hub.com/hortbot/hortbot/internal/pkg/errgroupx\"\n\t\"go."}]}

The behavior here looks reasonable to me, though I might be mistaken.

On line 836, there is this textDocument/didChange event. It looks like an import being added, but there is no textDocument/codeAction response with this import being added.
[Trace - 15:31:27.556 PM] Sending notification 'textDocument/didChange'.
Params: {"textDocument":{"uri":"file:///home/jake/zikaeroh/hortbot/hortbot/internal/cli/subcommands/bot/bot.go","version":19},"contentChanges":[{"range":{"start":{"line":16,"character":18},"end":{"line":17,"character":25}},"rangeLength":26,"text":""},{"range":{"start":{"line":16,"character":0},"end":{"line":16,"character":0}},"rangeLength":0,"text":"\t\"go.opencensus.io/trace\"\n"}]}

Later on, we see the last codeAction that returns a response:
[Trace - 15:31:28.265 PM] Sending request 'textDocument/codeAction - (16)'.
Params: {"textDocument":{"uri":"file:///home/jake/zikaeroh/hortbot/hortbot/internal/cli/subcommands/bot/bot.go"},"range":{"start":{"line":0,"character":0},"end":{"line":89,"character":0}},"context":{"diagnostics":[]}}

[Trace - 15:31:28.846 PM] Received response 'textDocument/codeAction - (16)' in 581ms.
Result: [{"title":"Organize Imports","kind":"source.organizeImports","edit":{"documentChanges":[{"textDocument":{"version":12,"uri":"file:///home/jake/zikaeroh/hortbot/hortbot/internal/cli/subcommands/bot/bot.go"},"edits":[{"range":{"start":{"line":10,"character":3},"end":{"line":11,"character":3}},"newText":""},{"range":{"start":{"line":17,"character":24},"end":{"line":17,"character":24}},"newText":"\"\n\t\"go.uber.org/zap"}]}]}}]

[Trace - 15:31:28.854 PM] Sending notification 'textDocument/didChange'.
Params: {"textDocument":{"uri":"file:///home/jake/zikaeroh/hortbot/hortbot/internal/cli/subcommands/bot/bot.go","version":20},"contentChanges":[{"range":{"start":{"line":17,"character":18},"end":{"line":17,"character":18}},"rangeLength":0,"text":"\"\n\t\"go.uber.org/zap"},{"range":{"start":{"line":10,"character":3},"end":{"line":11,"character":3}},"rangeLength":58,"text":""}]}

It looks like this codeAction gets applied, even though the versions of the files are mismatched.

The final textDocument/didChange event looks like:
[Trace - 15:31:31.219 PM] Sending notification 'textDocument/didChange'.
Params: {"textDocument":{"uri":"file:///home/jake/zikaeroh/hortbot/hortbot/internal/cli/subcommands/bot/bot.go","version":21},"contentChanges":[{"range":{"start":{"line":16,"character":18},"end":{"line":17,"character":17}},"rangeLength":19,"text":""},{"range":{"start":{"line":10,"character":3},"end":{"line":10,"character":3}},"rangeLength":0,"text":"ithub.com/hortbot/hortbot/internal/cli/flags/nsqflags\"\n\t\"g"}]}

This also looks like an import modification, but without any corresponding codeAction.

Sorry that this long comment isn't particularly helpful - just wanted to write out the things I noticed before I forgot. Maybe I will make a CL with some additional log statements that you can use to get some more information. In the meantime I will focus on resolving #35584 so that we can be certain the versions are not incorrect.

Here is a fresh log and screencast:

https://gist.github.com/zikaeroh/4c7df49e6f99778d63e21d7d2173ae9e
https://streamable.com/lsgpc

All actions I performed were either line swaps, undos, or file saves. I captured my VS Code tabs so you can see when I saved. I'd do a recording with key presses, but I'm a bit limited to what I can do from wayland/sway.

I recently ran into this myself on my Mac. Looking at the logs, it seems like VS Code is still applying code actions even if the versions of the files no longer match up. There is still a larger issue of gopls sending codeActions for older versions of the file.

I looked at the logs from https://golang.org/issue/35388#issuecomment-554172456. I'm going to focus on the moment between :19 and :20 where "go.ang.org/x/sync/sema" appears in the file.
That string appears in the log at 17:45:45.250, so we know that whatever happened probably happened in the few seconds before that. The most likely-looking code actions are:
[Trace - 17:45:43.943 PM] Sending request 'textDocument/codeAction - (38)'.
Params: {"textDocument":{"uri":"file:///home/jake/zikaeroh/hortbot/hortbot/internal/cli/subcommands/bot/bot.go"},"range":{"start":{"line":18,"character":18},"end":{"line":18,"character":18}},"context":{"diagnostics":[]}}
--
[Trace - 17:45:44.051 PM] Sending request 'textDocument/codeAction - (40)'.
Params: {"textDocument":{"uri":"file:///home/jake/zikaeroh/hortbot/hortbot/internal/cli/subcommands/bot/bot.go"},"range":{"start":{"line":0,"character":0},"end":{"line":89,"character":0}},"context":{"diagnostics":[]}}
--
[Trace - 17:45:44.487 PM] Received response 'textDocument/codeAction - (38)' in 544ms.
Result: [{"title":"Organize Imports","kind":"source.organizeImports","edit":{"documentChanges":[{"textDocument":{"version":14,"uri":"file:///home/jake/zikaeroh/hortbot/hortbot/internal/cli/subcommands/bot/bot.go"},"edits":[{"range":{"start":{"line":16,"character":5},"end":{"line":17,"character":5}},"newText":""},{"range":{"start":{"line":17,"character":24},"end":{"line":17,"character":24}},"newText":"\"\n\t\"go.uber.org/zap"}]}]}}]
--
[Trace - 17:45:44.490 PM] Received response 'textDocument/codeAction - (40)' in 439ms.
Result: [{"title":"Organize Imports","kind":"source.organizeImports","edit":{"documentChanges":[{"textDocument":{"version":14,"uri":"file:///home/jake/zikaeroh/hortbot/hortbot/internal/cli/subcommands/bot/bot.go"},"edits":[{"range":{"start":{"line":16,"character":5},"end":{"line":17,"character":5}},"newText":""},{"range":{"start":{"line":17,"character":24},"end":{"line":17,"character":24}},"newText":"\"\n\t\"go.uber.org/zap"}]}]}}]

Note that VS Code sent us two codeAction requests, one for a single character (38) and one for the whole file (40). We respond to both requests with fixes for the whole file. I think it's vaguely plausible that applying those edits twice would produce the file we see at :21.
I'm not sure what the bug is here. Maybe we should only return actions in the requested range? Or we shouldn't be sending code actions more than once for the same version? Or the client shouldn't be requesting them?
For the record, I also see the same pattern for the following pairs of requests: 10 and 12, 22 and 23, 64 and 63 (out of order responses), 71 and 73, 85 and 86. I haven't worked through any of the others but I think it's pretty plausible that this is the only thing going on.

I'm not sure what the bug is here. Maybe we should only return actions in the requested range? Or we shouldn't be sending code actions more than once for the same version? Or the client shouldn't be requesting them?

Some observations from our experience with govim:

it's not a error to request code actions for the same version of a file. The user may choose to simply do nothing with the results for example
@leitzler will be able to confirm, but it's also possible to request code actions for a specific range or the entire file, and we do that in govim
the actions that are returned are almost certainly not composable. Unlike Formatting which returns []TextEdit, the results from different CodeAction requests are not, to my understanding, in any way related. Hence applying one CodeAction would, following the subsequent DidChange notification, require us to re-request CodeAction's.

Based on our experience in https://github.com/golang/go/issues/35114, gopls is sending CodeAction and Formatting responses for previous versions of a file; we enforce this in govim and hence have started seeing https://github.com/golang/go/issues/35114#issuecomment-553839858. Our findings are detailed more thoroughly in https://github.com/golang/go/issues/35114#issuecomment-552230773.
We've also seen situations where diagnostics (as a result of analyses) are referring to the incorrect version: https://github.com/golang/go/issues/35584.
To my mind the first thing to ensure here is that gopls is using the correct snapshot of file contents for all methods, and that methods only refer to file existence, contents etc from the snapshot. Because otherwise it's impossible to build assumptions on what VSCode/other editors may or may not be doing.

@leitzler will be able to confirm, but it's also possible to request code actions for a specific range or the entire file, and we do that in govim

Yes, it wasn’t set how gopls should behave when I added this to govim (as in: it didn’t matter what it range it got). Currently govim sends the current cursor position as range, as well as all diagnostics that covers that position.
I haven’t used VSCode, could it be that it sends the entire file to be able to show the user an icon next to the lines that have suggested fixes?

@myitcv True, the code actions in question are against stale versions of the file. But even if they were applied to the wrong version, no single insertion can produce the behavior in the video, because they all start with whitespace. I think they have to be getting composed incorrectly somehow, but looking again I don't see how.

@zikaeroh: hey, this is a bit of a guess, but can you try setting
    "[go]": {
        "editor.formatOnSave": false,
    }

in your settings? I have evidence that formatting and organize imports fight each other, at least in VS Code.

For what it's worth, I went and tried to set this to get you an answer, and for some reason I can't reproduce this behavior anymore.
New logs and screencast:

https://gist.github.com/zikaeroh/78088755a8ba518e5c575811175ec1a9
https://streamable.com/mjgrf

The way sorting + formatting works is a bit subpar (edits applied pretty far apart in time), but I don't see the sort of corruption I had seen previously.
I have no idea what could have changed. I read every commit to x/tools and can't recall seeing anything that would have changed this... vscode-go hasn't updated, so the LS client would be the same, and the most recent VS Code minor release changelog shows nothing interesting. I even deleted goimports and replaced it to a script which just echos "OOPS" to ensure my editor isn't falling back to it. No clue. Maybe the LSP logs will provide better info.
Version:
golang.org/x/tools/gopls master
<EMAIL_ADDRESS>h1:bOnT1l4AnBGc7VW7rP2vS3EeKl9XNi/OCpXk65jpxdI=

I'll keep testing to see.

FWIW, I've spent a bunch of time trying to reproduce this, and while I did find a number of glitches, none of them were this one.

I spent a little time doing a bisect (backwards, trying to find the CL that fixed it), and it appears that (CL 208265)[https://golang.org/cl/208265] was the one that fixed the issue for me. Makes sense, as the CL was fixing diagnostics on snapshot clones and mentions the impact on code actions.
I'm not a big fan of the relative speed of save/format/organize compared to plain goimports, but I'm pretty sure this is fixed and I can close this.
Thanks for looking into this. One fewer race to figure out. :smile:

Thanks for following up! I'm surprised to hear that gopls is slower than goimports, particularly because gopls has extra caching that goimports does not. I filed https://github.com/golang/go/issues/36034 to follow up. Would you mind attaching some logs to that issue so we can investigate?


Can I use this to integrate GitHub code submissions?

Hello. I began this semester using GitHub to submit code homework in both my CST 1201 and 2301 courses. However, I am struggling on how to best integrate this process with Bb. In my CST 1201 class, I had students fill in a wiki with their GitHub usernames and issue pull requests when their project was complete. In this case, I used the pull requests as a todo list to grade. In my CST 2301 class, I had students also do pull requests but with no wiki; they submitted their GitHub usernames on Bb as part of an assignment submission.
I've experienced issues with both processes. In 1201, I don't get the control that I normally get with Bb (closing assignments, etc.). In 2301, students often forgot to issue a pull request or submit on Bb. Can I use this service in any way to fix this process?

I've not tried it, but theoretically, you could use AttemptVO and submit student comments with a link to the github repository:
public void setStudentComments(java.lang.String studentComments)
Parameters:
studentComments - student comments
See Also:
GradebookWSConstants.STUDENT_COMMENTS_TEXT_TYPE


Update chapters 3–11 for PureScript 0.11

I read the contributing doc, and created this PR anyway with various fixes I'd found while reading the book — more updates for #76. Some of them were already recently updated in the 0.11.3 branch. Maybe, an updated version will be released sooner.

added _ <-  where the compiler compained about ignoring the return value in do blocks;
updated ! => Effect and * => Type;
updated code examples where I encountered errors;
fixed small typos;
chapter 10 — there are big updates necessary due to changes IsForeign => Decode; I've updated the code according to how I figured out to do it now, primarily from https://github.com/purescript/purescript-foreign/commit/116a663bc54e906c34f1a625d1f36863c06945f0

updated chapter 11;

I appreciate this, but please see CONTRIBUTORS.md - I don't accept PRs on this repository. The book is in the process of being updated already.


Expand tests

Address the misses reported in codecov.

We covered all but 2 misses in PR #43, do we want to close this or continue for 100% coverage?

Now that I see what's left, It should be simple to get to 100%!

All tests are covered as of PR #46


Fix #494 Group catalog re-generation and formatting mojos under a sin…

…gle profile

ok to test

d20e251 fixes a typo

ok to test

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/camel-quarkus-pr/454/Failed Tests: 1camel-quarkus-pr/org.apache.camel.quarkus:camel-quarkus-integration-test-kafka: 1org.apache.camel.quarkus.component.kafka.it.CamelKafkaTest.testKafkaBridge

Do we need to re-run the tests because of the Kafka timeout?

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/camel-quarkus-pr/455/


Wrong title in empty-state

@sreilly The empty-state on the Favorite Stories page says "No Recents", can you please confirm for all empty states that we're using the correct title and description?

@sreilly Also, for the empty-state on the "Recent Stories" page we're showing a heart-icon rather than the clock-icon (it's correct on the "Recent Searches" page). In addition, the line-height for descriptions doesn't seem to be consistent. Switch between the Recents pages and you'll notice it immediately

@sreilly In the changelog you mentioned this was fixed. However, I'm unable to confirm this as the "Clear Recents" option crashes the app

@thm Yes, that should be another bug ticket... I'll try and knock that one out tomorrow!

On 25 Sep 2015, at 20:54, Thom<EMAIL_ADDRESS>wrote:
@sreilly In the changelog you mentioned this was fixed. However, I'm unable to confirm this as the "Clear Recents" option crashes the app
—
Reply to this email directly or view it on GitHub.

@thm the clear-recents bug is now fixed in the current hockey build.  Can you try it out and see if we can close this one?


Arduino ide module

Hello, i begginer in this.
You can write module for arduino ide, for easy use?
I see binary file size is not big.

I don't really work with Arduinos at all.  You would likely be best creating a ticket in the arduino repository and linking this issue here and trying to get help there.  I'm really sorry, but I'm just not tooled to do work with Arduino :(.

I would recommend taking some time to learn how to get the code to compile in C....there are several tutorials on installing C in Windows, Linux, and OSX.  Its not that hard if you are also familiar with the "behind the scenes compile" for Arduino.  Once you get a compile working its just a matter of reviewing the code.  Unless you plan on making major changes there is not much you will want to change beyond the user and web code.

I mean, I know how to go get a sketch and make it compile, but the inner practices on how things ought go together and how the interfaces are ideally set up, etc... it's very domain-specific knowledge that there are others who have.


Reloading Plugins: command.add() crashes script

Hello, I really like this project so far and I am developing / editing plugins for lite. The only pain point is that I have to re-launch lite after every change to test the plugin. Using Core: Reload Module does not help, because many plugins contain either command.add() (or possibly other similar functions) which causes the script to crash, which does not get loaded AND in turn causes it to not show up in the Reload Module menu.
Is there a way to handle this gracefully? Logging these events are useful even if they are intentional, but I don't believe they should crash the entire script.
Awaiting response, thank you in advance!

I wasn't planning to change this behaviour; the reload module command was initially added for when I was writing the colour themes and is useful for quickly changing colour themes or reloading basic configuration, it wasn't really intended for reloading plugins (though can be useful for loading a plugin for the first time without restarting).
To avoid the error in your specific scenario, you can first unset the command in command.map, (eg. command.map["doc:save"] = nil) and then use command.add(). Typically I've found having a second instance of the editor which I'm restarting as I work on a plugin is an acceptable enough workflow, especially given the focus on having lite be able to close and open quickly.

Okay, I understand. Thank you for the tip! I use a tiling WM on a small 1366x768 screen, so it's a bit difficult for me to view windows side-by-side or to switch to another workspace, not to mention leaving a terminal window open for lite to use the correct working dir.
That is a personal problem though, - at least the implications of reload module are clear to me now - once again thank you for your response!


Angular: remove build.*.yaml files

@chalin – I don't think we need any special config now...right?

Right.


Better Example Categories (WIP)

Add gulp tasks to generate redirect mappings
Add redirects for old sample URLs
Category descriptions support markdown syntax.
use index.json to configure category order instead of the directory
prefix.

Fixes #238.

@sebastianbenz ping

discarding this as it's no longer relevant


Plugin an usb with music kickoff(unmount)the remaining music of default sdcard until unmounting usb stick

This is happening on latest vs.

I think maby on booting the sistem mounts the sda twice.maby


Upgrade to Kafka <IP_ADDRESS> and Elasticsearch 1.5.0

It is working.

The Rivers are marked as deprecated in ES1.5:
https://www.elastic.co/blog/deprecating_rivers

Hi @hstraub,
Thanks for your contribution.
I upgraded the river to use latest Kafka <IP_ADDRESS> and Elasticsearch 1.6.0 version. Please check on master branch, and I will close this pull request.
Cheers,
Mariam


User

CMAKE_CXX_FLAGS are not meant to be modified by the build system. If the build wishes to force certain flags, it should use the add_compile_options and add_compile_definitions (or preferably the target variants). This cleans up the handling in the shared configuration.

CC: @etcwilde

@swift-ci please test

Changing -Wno-nested-anon-types to -Wnested-anon-types is causing tons of warnings. I guess it was not intentional?

https://github.com/apple/swift/pull/70793


Using File Storage insted of NFS

Hello, I wonder if it is possible to replace the NFS cluster with resources from File Storage. This could potentially simplify the architecture. The File Storage is a highly available solution and Linux can mount CIFS resources. I am assuming this would be transparent that SAP (e.g., sapgenpse) and the copy of binaries to local filesystem has no problem. However, one has to consider the workload on the global directory (e.g., background job logs) and if there is a performance impact. The cost of a NFS cluster is usually a concern for new deployments.

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

ID: 5d2a9d09-f0f0-f02a-dfc6-f9562c0d66ec
Version Independent ID: f7c0b99d-daae-5616-ab57-ff256d65bc2a
Content: Azure Virtual Machines high availability for SAP NetWeaver on SUSE Linux Enterprise Server for SAP applications
Content Source: articles/virtual-machines/workloads/sap/high-availability-guide-suse.md
Service: virtual-machines-windows
GitHub Login: @MSSedusch
Microsoft Alias: sedusch

Thanks for the feedback! We are currently investigating and will update you shortly.

we do have a guide that describes how to use Azure NetApp Files instead of a self hosted NFS server. Is that what you were looking for? https://docs.microsoft.com/en-us/azure/virtual-machines/workloads/sap/high-availability-guide-suse-netapp-files

Thanks @MSSedusch
@NoeHoyos Did that help? Please let us know.

Thank you. This helps a lot.
-Noe Hoyos
On Wed, May 15, 2019 at 7:50 PM Sebastian Max Dusch <
<EMAIL_ADDRESS>wrote:

we do have a guide that describes how to use Azure NetApp Files instead of
a self hosted NFS server. Is that what you were looking for?
https://docs.microsoft.com/en-us/azure/virtual-machines/workloads/sap/high-availability-guide-suse-netapp-files
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/MicrosoftDocs/azure-docs/issues/31305?email_source=notifications&email_token=AJMY5IUUMPIZHSTILNRIXYLPVSOUVA5CNFSM4HNFXXZ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODVQIJRI#issuecomment-492864709,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AJMY5IXAXSAFSKNLT7EUQWTPVSOUVANCNFSM4HNFXXZQ
.

@NoeHoyos Thanks for the update. We will now close this issue. If there are further questions regarding this matter, please tag me in a comment. I will reopen it and we will gladly continue the discussion.