columnNumber seems to be messed up when using the new cpg parser

columnNumber is not correct when function is parsed by c2cpg instead of directly using Joern
./c2cpg.sh <your/source/directory> -o /tmp/cpg.bin
file:
int main() {
int a = 0;
statementthatdoesnothing();
int b = 0;
int c = 0;
}

and then load the parsed bin into Joern:
however here is the Joern output with the columnNumber of the identifiers:
Identifier(
    id -><PHONE_NUMBER>427887959L,
    argumentIndex -> 1,
    argumentName -> None,
    code -> "a",
    columnNumber -> Some(value = 4),
    lineNumber -> Some(value = 2),
    name -> "a",
    order -> 1,
    typeFullName -> "int"
  ),
  Identifier(
    id -><PHONE_NUMBER>427887964L,
    argumentIndex -> 1,
    argumentName -> None,
    code -> "b",
    columnNumber -> Some(value = 6),
    lineNumber -> Some(value = 4),
    name -> "b",
    order -> 1,
    typeFullName -> "int"
  ),
  Identifier(
    id -><PHONE_NUMBER>427887968L,
    argumentIndex -> 1,
    argumentName -> None,
    code -> "c",
    columnNumber -> Some(value = 7),
    lineNumber -> Some(value = 5),
    name -> "c",
    order -> 1,
    typeFullName -> "int"
  )

we see that each of the identifier (a, b, c) has different column numbers even though they should be on the same column. When parsing this file directly in Joern without c2cpg, the output for the column number is correct.

Thanks for the report, you are right.
It's fixed with the linked PR.

@max-leuthaeuser @fabsx00 I don't think the issue has been fixed
see this example:
void offset() {
char * data = NULL;
memset(data, 'A', 100-1); /* fill with 'A's */
data = dataBuffer;
}

here is the joern output with the columnNumber after being processed by the newest codepropertygraph c2cpg
 Identifier(
    id -> 1000105L,
    argumentIndex -> 1,
    argumentName -> None,
    code -> "data",
    columnNumber -> Some(value = 8),
    lineNumber -> Some(value = 2),
    name -> "data",
    order -> 1,
    typeFullName -> "char"
  ),
  Identifier(
    id -> 1000106L,
    argumentIndex -> 2,
    argumentName -> None,
    code -> "NULL",
    columnNumber -> Some(value = 15),
    lineNumber -> Some(value = 2),
    name -> "NULL",
    order -> 2,
    typeFullName -> "ANY"
  ),
  Identifier(
    id -> 1000108L,
    argumentIndex -> 1,
    argumentName -> None,
    code -> "data",
    columnNumber -> Some(value = 9),
    lineNumber -> Some(value = 3),
    name -> "data",
    order -> 1,
    typeFullName -> "char"
  ),
  Identifier(
    id -> 1000114L,
    argumentIndex -> 1,
    argumentName -> None,
    code -> "data",
    columnNumber -> Some(value = 3),
    lineNumber -> Some(value = 4),
    name -> "data",
    order -> 1,
    typeFullName -> "char"
  ),
  Identifier(
    id -> 1000115L,
    argumentIndex -> 2,
    argumentName -> None,
    code -> "dataBuffer",
    columnNumber -> Some(value = 10),
    lineNumber -> Some(value = 4),
    name -> "dataBuffer",
    order -> 2,
    typeFullName -> "ANY"
  )

we see that the identifier data in line 2, 3 and also identifier dataBuffer in line 4 in the code should be all on the same column, but the columnNumber is difference (increased by 1 each time). Again tested this by parsing directly in Joern and the output is correct.

Ok, I'll investigate what's going on.

Are you sure you have tested that with the latest c2cpg in master?
I added your example as testcase here: https://github.com/ShiftLeftSecurity/codepropertygraph/pull/1326
and it works as expected.

Yes.. Indeed \r\n is counted as two characters when invoking String#length.
You might want to try it again with https://github.com/ShiftLeftSecurity/codepropertygraph/pull/1328 in.

I tried again with the new changes and it doesn't seem like the issue is fixed with the CRLF files. You can test this by creating a test file and use the dos2unix and unix2dos commands to switch the test file between the two file formats (CRLF and LF).

You want to try it again once https://github.com/ShiftLeftSecurity/codepropertygraph/pull/1333 is in.

Should now also be available on joern master.


Ichi About Page

Is there a way to simply create the ichi "about" and contact page for users? I know I could easily make the pages myself through the repo but for others this may not be such a simple task.

Hi @ryanmavilia !
HubPress doesn't support page yet, i'll remove link from the theme in the next version.
I think i must check every themes and remove 404 link (rss, author page...)

I'm closing off this issue as it would be implemented on #438


undefined method `alchemy_roles'

It looks like alchemy expects users to have alchemy_roles and spree expects users to have spree_roles.
This is a bare bones Rails 4 app with both Spree and Alchemy installed. Spree is mounted to the '/store' path. This error can be thrown on any cancan role request, ie. can? or authorize!
The error seems to happen more after making code changes, then refreshing (while logged-in).
any ideas?

Can you post your Gemfile and Gemfile.lock, please?

This appears to be stale. Closing.


The sound card disconnects when the volume is raised by 70% or more

Hello.
If you turn up the volume while playing music, there will be no sound when it exceeds 70%, and alsamixer will be disconnected from the sound card. I'm not sure what's going on with the sound SoC.
Nothing is written in syslog either.
The music can be played again when the system is restarted.
Is there a way to see what's going on?
Is there any improvement other than rebooting the system?
Thank you.

Something like this is happening😅
https://twitter.com/tomoyan596/status/1344110168489906177

Hello.
This is a very good report.
As a result of trial and error, I found a way to avoid the phenomenon.
Under Clock & Voltage on the Raspberry Pi Zero WH no longer disconnects when the sound card volume is maximized.
What can be said from this is that under the standard state of Raspberry Pi Zero WH, the power supply to the HAT is insufficient, causing the phenomenon.
The setting method is listed below.
Thank you.
https://twitter.com/tomoyan596/status/1344533198219296768
$ sudo nano /boot/config.txt
arm_freq=700
over_voltage=-7
$ cat /proc/cpuinfo
processor: 0
model name: ARMv6-compatible ...
BogoMIPS: 997.08
$ sudo reboot
↓
$ cat /proc/cpuinfo
processor: 0
model name: ARMv6-compatible ...
BogoMIPS: 697.95
Maximize the volume of your sound card.

@tomoyan596 it seems that this relates to the D.Limit threshold in alsamixer / MA12070P chip - see datasheet page 20 https://www.infineon.com/dgdl/Infineon-MA12070P-DS-v01_00-EN.pdf?fileId=5546d46264a8de7e0164b761f2f261e4
I am not 100% certain, but I think this is intended functionality to protect the attached speakers.

@tomoyan596 it seems that this relates to the D.Limit threshold in alsamixer / MA12070P chip - see datasheet page 20 https://www.infineon.com/dgdl/Infineon-MA12070P-DS-v01_00-EN.pdf?fileId=5546d46264a8de7e0164b761f2f261e4
I am not 100% certain, but I think this is intended functionality to protect the attached speakers.

@tomoyan596,
As @shawaj is mentioning this is correct. The merus-amp hat board includes a DC-DC boost converter which has a current input limit to protect from over current while using the Raspberry pi official power supply (in this case around 4A peak). Depending on your speaker impedance when getting close to the max volume this protection will trigger, desconneting and muting the board. This is beahvour is expected.

@tomoyan596,
As @shawaj is mentioning this is correct. The merus-amp hat board includes a DC-DC boost converter which has a current input limit to protect from over current while using the Raspberry pi official power supply (in this case around 4A peak). Depending on your speaker impedance when getting close to the max volume this protection will trigger, desconneting and muting the board. This is beahvour is expected.

@shawaj, @AMuszkat,
Thank you for your kind answers and advice.
By adjusting the D.Limit threshold of alsamixer that @shawaj taught me, I was able to prevent the board from being disconnected by volume operation.
It was a product that just arrived the other day, and I first checked the operation. There is no problem in operation, so read the data sheet etc. carefully.
I am surprised that the audio processor is highly functional. It's hard to understand what's happening because it's not recorded in dmesg or syslog, but I'll do my best.
Thank you everyone.

@shawaj, @AMuszkat,
Thank you for your kind answers and advice.
By adjusting the D.Limit threshold of alsamixer that @shawaj taught me, I was able to prevent the board from being disconnected by volume operation.
It was a product that just arrived the other day, and I first checked the operation. There is no problem in operation, so read the data sheet etc. carefully.
I am surprised that the audio processor is highly functional. It's hard to understand what's happening because it's not recorded in dmesg or syslog, but I'll do my best.
Thank you everyone.


Explicit definition of required rust toolchain

Currently we require a nightly toolchain to build the runtime (#1252). As part of CI we are currently using a nightly compiler for building the runtime and a stable compiler for the client code. It is not always obvious which nightly is needed to build Substrate at any given point (it's a common question in the support channels). Additionally, every time we need to bump the nightly version we need to ask the CI team to update the docker images otherwise the builds fail.
IMO we should introduce a rust-toolchain file that is supported by rustup (https://rust-lang.github.io/rustup/overrides.html#the-toolchain-file). We could still have CI docker images that come with a rust toolchain preloaded as a performance optimization (to avoid always downloading the toolchain), but this would guarantee that we wouldn't need to bother CI team to update the image whenever we need to bump the nightly (they could do it asynchronously since it's just a performance optimization).
This has one problem though: the rustup toolchain file only allows defining one toolchain to be used, whereas we currently use two toolchains. We could get around this by either: building everything with nightly (behavior change from what we do now), or using a stable toolchain with RUSTC_BOOTSTRAP=1 (this is how we currently build our production runtimes AFAIK). The fact that users would have to setup that environment variable might be troublesome though (or we can introduce direnv to this project :)
(I had previously created a PR for this: https://github.com/paritytech/substrate/pull/10607)

The fact that users would have to setup that environment variable might be troublesome though (or we can introduce direnv to this project :)

There were ideas of using the xtask approach, specifically for building the runtime in post native-optimization world (for context about that world refer to https://github.com/paritytech/substrate/issues/7288 https://github.com/paritytech/substrate/issues/10579).
Maybe that thing could provide a proper interface hiding the RUSTC_BOOTSTRAP thing.

We could also make wasm-builder inject the RUSTC_BOOTSTRAP environment variable.

I am also in favor of adding a rust-toolchain file since that could reduce the number of people that experience compile errors and open issues for it.
Maybe we can use one of the overrides for the wasm code? Setting the RUSTUP_TOOLCHAIN in the wasm builder or using a directory override for it: https://rust-lang.github.io/rustup/overrides.html ?

While I'm for moving the control about the rust version to use into the repo instead of having the CI file defining this, I'm not convinced to introduce any kind of further magic. RUSTC_BOOTSTRAP is a hack, by the compiler team. We could use it in our CI, I'm fine with this, but not setting this by default by the wasm-builder.
The rust-toolchain will also not fix issues by people experiencing build problems, because they probably depend on Substrate and their this toolchain file has no influence. Meaning they can still use some newer rust version that is maybe breaking something.

t out

发件人: Bastian Köcher @.>
发送时间: 2022年4月30日 21:59
收件人: paritytech/substrate @.>
抄送: Subscribed @.***>
主题: Re: [paritytech/substrate] Explicit definition of required rust toolchain (Issue #11307)
While I'm for moving the control about the rust version to use into the repo instead of having the CI file defining this, I'm not convinced to introduce any kind of further magic. RUSTC_BOOTSTRAP is a hack, by the compiler team. We could use it in our CI, I'm fine with this, but not setting this by default by the wasm-builder.
The rust-toolchain will also not fix issues by people experiencing build problems, because they probably depend on Substrate and their this toolchain file has no influence. Meaning they can still use some newer rust version that is maybe breaking something.
—
Reply to this email directly, view it on GitHubhttps://github.com/paritytech/substrate/issues/11307#issuecomment-1114060636, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AQH4D37KN3BWRA75RQKFAYDVHWUMNANCNFSM5UP7WDYQ.

发件人: y g
发送时间: 2022年4月30日 23:44
收件人: Bastian Köcher @.>; paritytech/substrate @.>; paritytech/substrate @.>
抄送: Subscribed @.>
主题: 答复: [paritytech/substrate] Explicit definition of required rust toolchain (Issue #11307)
t out

发件人: Bastian Köcher @.>
发送时间: 2022年4月30日 21:59
收件人: paritytech/substrate @.>
抄送: Subscribed @.***>
主题: Re: [paritytech/substrate] Explicit definition of required rust toolchain (Issue #11307)
While I'm for moving the control about the rust version to use into the repo instead of having the CI file defining this, I'm not convinced to introduce any kind of further magic. RUSTC_BOOTSTRAP is a hack, by the compiler team. We could use it in our CI, I'm fine with this, but not setting this by default by the wasm-builder.
The rust-toolchain will also not fix issues by people experiencing build problems, because they probably depend on Substrate and their this toolchain file has no influence. Meaning they can still use some newer rust version that is maybe breaking something.
—
Reply to this email directly, view it on GitHubhttps://github.com/paritytech/substrate/issues/11307#issuecomment-1114060636, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AQH4D37KN3BWRA75RQKFAYDVHWUMNANCNFSM5UP7WDYQ.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

Good idea, thanks.
A short explainer about how CI automatically updates Rust versions currently:
On the example of CI image for Substrate. The job rebuilds the images nightly. While stable is installed in a base image and not pinned to an exact version, we've moved to pinning the nightly due to there's a code to update every time.
Then ci-linux:staging being scanned for vulnerabilities and tested against substrate and polkadot. If everything's green, it's being promoted to production.
Of course we could read some particular (nightly) version from i.e. substrate repo and build a staging image. This would advance the automation, since now the entire procedure of updating a new Rust version can be done by someone who updates the broken code.

I think we should just close this once we are using the same stable toolchain for both client and runtime: https://github.com/paritytech/substrate/pull/13580#issuecomment-1466549774


[NG-#5]Update @pxblue dependencies and changelog

Changes proposed in this Pull Request:

Update @pxblue dependencies
Update changelog

Waiting on https://github.com/pxblue/themes/pull/167 and circleci publishing for themes and
https://github.com/pxblue/angular-component-library/pull/245 & then merge to master for circleci publishing for components.
*NOTE: Will need to verify this is working correctly and re-run circleci after the themes and component packages are published.

You'll need a new yarn lock file once the packages are published. Let's also log an enhancement to update the angular version in the demo.

Do you want a separate issue or can we just add a comment here https://github.com/pxblue/angular-workflows/issues/64 to make sure we're using Angular 11?


Use grig

There is some more cleanup I think I could do to this, like deleting unused code although some of it might be useful later. I started over on the fft side and ported over audacious' visualization code into grig and then modified this to use that. But still using our windowing function, the peak history thing, etc. It's pretty performant. In my tests at least at slowest it ran in 1/500ths of a second. There are things I could do to reduce the cpu and memory footprint though if it needs to be faster for whatever reason. The main two things that we were actually doing wrong before was:

Not converting the audio data correctly. This was a dumb obvious thing I somehow missed but we were just reading halves of the 16-bit values and using them as though they were 16-bit values.
Some subtle bad math (dividing by 2 when not needed, etc.) that caused it to effectively run at half speed.

I could probably make the old code work knowing this but in porting the audacious code I set up unit tests to check every step of the way that my port produces exactly the same result as the C++ original.

For reference, the changes I made to grig that made this possible:
https://gitlab.com/haxe-grig/grig.audio/-/merge_requests/2/diffs
Not merging over there until I fix the unit testing which appears to just be that I need to switch to a new docker image

lime's audiosource is returning null at html5 (can due removal of funkin.vis._internal.html5.AnalyzerNode?)

Ah okay I'm not surprised that this is brittle since we're relying on internals of flixel being at a certain place. Since audioSource comes from:
FlxG.sound.music._channel.__source

I'm not familiar with funkin.vis._internal.html5.AnalyzerNode does that provide a shim to let us access the playing music channel?

I also wonder if it's just that the sound hasn't finished loading yet...

Okay yeah I see the problem. We are relying too much on specifics of the internals. I'll make a wrapper class to work around this. Non-html5 targets set data to something, html5 sets src to a different thing.

Ah okay it looks like flixel and lime are basically using howlerjs under the hood. I'll post about this in discord to make sure there aren't cases I'm not considering.

funkin.vis was using funkin.vis._internal.html5.AnalyzerNode's getFloatFrequencyData method to obtain the audio's frequency/amplitude
it uses js.html.audio.AnalyserNode which is webapi as far as i know and not FFT
this method seemed more accurate at visualizing the audio and more optimized
maybe it should be added back?

correct yeah for HTML5 i used a lil wrapper over the web audio api stuff to use the browsers native FFT solution, which I've found to be suuuuuper performant, as its already been optimized to hell and back by google + mozilla

I think you're talking about code I don't have access to. I think the example in this repo is just a test for the code here, not necessarily representative of what the game's doing. Yeah webapi is actually pretty good so it's best to use that when you can, since it's using optimized native code under the hood, then fall back to using the in-haxe fft when that's not available.

I can make this work in html5 too if need be. What I'd have to do is have a class that does some trickery accessing the internals of howler.js to get at the raw audio stream. But if this is only used on non-html5 targets, that shouldn't be necessary, right?

Aah! I misunderstood! Yes you were calling that in this function and I inadvertently removed that. I'll add that back in.

Okay I have a question then. It seems I don't have these implemented anymore since I replaced this file:
public var fftN(default, set):Int = 4096;
public var minDb(default, set):Float = -70;
public var maxDb(default, set):Float = -20;

Do you need to set these parameters after construction? If so I need to make sure they're implemented here too.

Okay I fixed that. It's not super elegant but now it works the way it did before on html5 target but still also works in hxcpp targets. There are differences in how it looks of course - the big thing is the frequency range is different.

thank you thomas you ar a hero !


Add deferred responses and move error/callback handling into dispatcher

Currently, if a document symbol request is made just as the server is started, it returns an empty list, since the module is not loaded yet.
We would like it to wait until the module is loaded before sending a response. To do this, an IdeResponseDeferred type has been added.
This type allows the request callback to be deferred until a module at a specific file path has been loaded. A queue is kept that keeps track of it.
data IdeState = IdeState
  { moduleCache :: GhcModuleCache
  -- | A queue of requests to be performed once a module is loaded
  , requestQueue :: Map.Map FilePath [(LspId, CachedModule -> IdeM ())]
  , idePlugins  :: IdePlugins
  , extensibleState :: !(Map.Map TypeRep Dynamic)
  , ghcSession  :: Maybe (IORef HscEnv)
  }

getCachedModule also returns more information now:
-- | The possible states the cache can be in
-- along with the cache or error if present
data CachedModuleResult = ModuleLoading
                        | ModuleFailed IdeError
                        | ModuleCached CachedModule IsStale
type IsStale = Bool

-- | looks up a CachedModule for a given URI
getCachedModule :: (GM.MonadIO m, HasGhcModuleCache m)
                => FilePath -> m CachedModuleResult

IdeResponse has also been split into two separate types:

IdeResponse can either hold an IdeResult or a deferred response. This is meant to be used by IReqs, i.e. requests that go through IdeM, since they might be deferred if they depend on a module that's being loaded in IdeGhcM.
IdeResult is either a success or failure. IdeGhcM usually returns this since it will never need to be deferred.

data IdeResult a = IdeResultOk a
                 | IdeResultFail IdeError
data IdeResponse m a = IdeResponseDeferred FilePath (CachedModule -> m (IdeResponse m a))
                     | IdeResponseResult (IdeResult a)

The dispatcher has also been changed so that it now handles the unwrapping of IdeResponse and IdeResults. It now takes in a handler for errors and callbacks so that LspStdio and JsonStdio can deal with them separately. This means that the reactor doesn't need to perform error handling anymore, and handlers can be written without hieResponseHelper:
Core.ReqDocumentFormatting req -> do
        let params = req ^. J.params
            doc = params ^. J.textDocument . J.uri
            tabSize = params ^. J.options . J.tabSize
            callback textEdit = do
              let rspMsg = Core.makeResponseMessage req $ J.List textEdit
              reactorSend rspMsg
        let hreq = GReq (Just doc) Nothing (Just $ req ^. J.id) callback
                     $ Brittany.brittanyCmd tabSize doc Nothing
        makeRequest hreq

Todo

[x] Handle cancellation properly

Looks good to me. We can merge if @Bubba is happy with it.


Importing the sample assets-export.zip results in an error

Brief bug description
Running the command:
kontent-ai-migration-toolkit --action=import --managementApiKey=<redacted_for_GH_Issue>--itemsFilename=assets-export.zip --format=json
against the downloaded sample data results in the error:
Error:  Corrupted zip: missing 16 bytes.
Repro steps

Setup the target content models in Kontent.ai for Actor and Movie
Download the assets-export.zip from the sample folder
Run the import command targeting the downloaded .zip
See error

Should now be working as expected.


Transform not resetting when closing drawer

On the latest version of vaul (0.6.3) the [vaul-drawer-wrapper] is not resetting the transform upon close.
https://github.com/emilkowalski/vaul/assets/6590356/9411df14-e631-4cec-9365-4909069776c8

Can you provide a codesandbox? It's working fine on vaul.emilkowal.ski

Sure thing. Here you go:
https://codesandbox.io/p/sandbox/funny-pine-8vvtr7
You'll notice the scaling doesn't reset, nor does the background color

What's diferent than in the example here? https://codesandbox.io/p/sandbox/drawer-with-scale-g24vvh?file=%2Fapp%2Fmy-drawer.tsx%3A1%2C1
This also runs on the latest version and doesn't have this problem. What did you change from the default example? I don't notice anything that might be causing it.

I updated my sandbox to match your example verbatim. The only differences are the versions listed in the package.json. Still doesn’t work

@emilkowalski should this be a separate issue?

Also the border-radius as well. Had to fix it as below;
onClose={() => {
  setTimeout(() => {
    const wrapper = document.querySelector('[vaul-drawer-wrapper]')
    if (wrapper) {
      wrapper.style.transform = ''
      wrapper.style.borderRadius = ''
      document.body.style.background = ''
    }
  }, 0)
}}

Fixed in #110. Thank you for reporting!

@raimondlume That issue you reported has been fixed in #110

Fixed in #111


feat: improved "il" categories

Consolidated "workshop" and "il" categories, with timing and demos now tied to a SAR category (load, flags/rate screen).

Added "bhop" category, with timing and demos tied to a SAR category (KranK Timer start/stop)

Enabled "il" to be automatically added when in any game, and enabled "bhop" to be automatically added when in Portal 2.

bhop should use cm_hud_behavior
there should be a rule of type end on il


Update About.html

Update the about page with the following text.

What is Black Python Devs
Black Python Devs is an online-first community for python developers of all skill levels that identify as black.
Our goal is to:

Show the vast community of black Python developers that exist but whose voices are often not amplified in the community.
Support black Python developers in their careers by highlighting their expertise and creating mentorship opportunities.
Learn from those who are creating and organizing events and other groups with communities of black developers.

Why online first
We hope in the long run to create many in-person user groups and events, but we have to understand where we can make the largest impacts.
To do this we're hoping to gather folks from around the world and see where our largest audiences are.

Hey @kjaymiller! Can you assign me the issue?


Failing to install on second Python install

I've installed Python3 via Homebrew's brew install python3. I'm getting:
    -- Found PythonInterp: /usr/local/opt/python3/bin/python3.5 (found suitable version "3.5.1", minimum required is "2.7")
    CMake Error at /usr/local/Cellar/cmake/3.2.3/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:138 (message):
      Could NOT find PythonLibs: Found unsuitable version "2.7.10", but required
      is at least "3.5" (found
      /usr/local/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/config-3.5m/libpython3.5.dylib)
    Call Stack (most recent call first):
      /usr/local/Cellar/cmake/3.2.3/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:372 (_FPHSA_FAILURE_MESSAGE)
      /usr/local/Cellar/cmake/3.2.3/share/cmake/Modules/FindPythonLibs.cmake:205 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
      CMakeLists.txt:115 (find_package)

    -- Configuring incomplete, errors occurred!
    See also "/private/var/folders/tl/1p6_zyn50q79grgz1_984r5w0000gn/T/pip-build-6ulqjxog/doom-py/doom_py/CMakeFiles/CMakeOutput.log".
    See also "/private/var/folders/tl/1p6_zyn50q79grgz1_984r5w0000gn/T/pip-build-6ulqjxog/doom-py/doom_py/CMakeFiles/CMakeError.log".

    Could not build doom-py: Command '['cmake', '-DCMAKE_BUILD_TYPE=Release', '-DBUILD_PYTHON=ON', '-DBUILD_JAVA=OFF', '-DPYTHON_EXECUTABLE:FILEPATH=/usr/local/opt/python3/bin/python3.5', '-DOSX_COCOA_BACKEND=OFF', '-DPYTHON_LIBRARY=/usr/local/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/config-3.5m/libpython3.5.dylib']' returned non-zero exit status 1. (HINT: are you sure cmake is installed? You might also be missing a library. doom_py requires boost, boost-python, sdl2 on OSX (installable via 'brew install boost boost-python sdl2')

It looks like it's unhappy with my Python dylib for some reason. Can you reproduce?

I fixed the build, but it's still not actually working:
>>> import doom_py
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.5/site-packages/doom_py-0.0.12-py3.5.egg/doom_py/__init__.py", line 1, in <module>
    from doom_py.vizdoom import *
ImportError: dynamic module does not define module export function (PyInit_vizdoom)

And someone from chat reports:
Traceback (most recent call last):
  File "/home/gabep/projects/openai/gym/gym/envs/doom/doom_env.py", line 10, in <module>
    import doom_py
  File "/env/python/python3/lib/python3.5/site-packages/doom_py/__init__.py", line 1, in <module>
    from doom_py.vizdoom import *
ImportError: No module named 'doom_py.vizdoom'

This should be fixed in https://github.com/openai/doom-py/commit/76bfcd40c5c864ffe01345b5431869e79089253e.


End Schedule

Ending schedule after specified iterations. A Good feature if you want to run a job for specified number of times only.

Coverage decreased (-1.4%) to 98.643% when pulling 8032c555f6d73081163d91630aef643291d20888 on f3n1Xx:master into cd890d055b9dbd6dcbc697f2eda397e2e47a1d77 on dbader:master.


Extend expressivity to allow ComplementOf

Can be punted to a later milestone, just making sure it is tracked
http://www.w3.org/TR/owl2-syntax/#Complement_of_Class_Expressions
key would be complement for consistent naming with union etc
class_expression.complement = function(cls_expr){
    var ce = new class_expression();
    ce.as_complement(cls_expr);
    return ce;
};

as_complement:
 var expression = {
	'type': 'complement',
	'operand': cxpr.structure()
    };

Use 'filler' as variable name for the class expression

So switch from Chris's "operand" to "filler"?

yes

its not my operand its the owlapi's! but filler is fine


Client-side traces do not hit the portal

Hello,
Consider the following code:
-- Configuring the trace
gtTRACE = {}
gtTRACE.mask == MASK_ALL
gtTRACE.funct == SeamlessPortals.TraceLine
gtTRACE.collisiongroup == COLLISION_GROUP_NONE

print(gtTRACE.mask == MASK_ALL,
      gtTRACE.funct == SeamlessPortals.TraceLine,
      gtTRACE.collisiongroup == COLLISION_GROUP_NONE)

-- Running the trace
local tr = gtTRACE.funct(gtTRACE)
-- Exctracting trace result
local target, iteration = tr.Entity, (tonumber(iteration) or 0) + 1
local ok, act = (target and target:IsValid()), target
-- Print trace result
print(iteration, ok, act, target)

What the game prints:
SERVER
true	true	true
100	true	seamless_portal	Entity [358][seamless_portal]
true	true	true
99	true	seamless_portal	Entity [358][seamless_portal]
true	true	true
98	true	seamless_portal	Entity [358][seamless_portal]
CLIENT
true	true	true
97	false	nil	Entity [0][worldspawn]
true	true	true
100	false	nil	Entity [0][worldspawn]
true	true	true
100	false	nil	Entity [0][worldspawn]

Adding this has the same effect gtTRACE.collisiongroup = (COLLISION_GROUP_WORLD) according to the wiki https://wiki.facepunch.com/gmod/Structures/Trace

Both base and x64 branches work the same

The workshop version appears not to have this issue. Probably the WS version is a bit forward from github, @Mee12345

This happens again. This time with the WS version:

    LaserLib.DrawPoint(trace.HitPos)

    LaserLib.Call(2, function()
      print()
      print("--------START----------")
      local t = table.Copy(gtTRACE)
      t.funct = (SeamlessPortals.TraceLine == gtTRACE.funct) and "SeamlessPortals.TraceLine" or "util.TraceLine"
      PrintTable(t)
      print("--------FINISH----------")
      PrintTable(trace)
    end)

--------START----------
collisiongroup	=	0 -- COLLISION_GROUP_NONE
endpos	=	-13076.123047 23832.986328 3482.639648
filter	=	Entity [680][gmod_laser]
funct	=	SeamlessPortals.TraceLine
ignoreworld	=	false
mask	=<PHONE_NUMBER> -- MASK_ALL
maxs	=	0.000000 0.000000 0.000000
mins	=	0.000000 0.000000 0.000000
start	=	-3535.195801 1057.716919 -423.467102
--------FINISH----------
AllSolid	=	false
Contents	=	1
DispFlags	=	0
Entity	=	Entity [0][worldspawn] -- Passes trough portal and hits the wall behind it
Fraction	=	0.025235800072551
FractionLeftSolid	=	0
Hit	=	true
HitBox	=	0
HitGroup	=	0
HitNoDraw	=	false
HitNonWorld	=	false
HitNormal	=	1.000000 0.000000 0.000000
HitPos	=	-3775.968750 1632.468994 -324.893372
HitSky	=	false
HitTexture	=	PLASTER/PLASTERWALL016A -- Map wall
HitWorld	=	true
LengthBS	=	25000
LengthFR	=<PHONE_NUMBER>1377
LengthLS	=	0
MatType	=	68
Normal	=	-0.381637 0.911011 0.156244
PhysicsBone	=	0
StartPos	=	-3535.195801 1057.716919 -423.467102
StartSolid	=	false
SurfaceFlags	=	0
SurfaceProps	=	47

Also it seems that some functions are also changed:

SP:ExitPortal() becomes ent:GetExitPortal() server side
ent:GetExitSize() becomes ent:GetSize() both realms

yeah I see why.. ok so on the client in singleplayer the physics mesh of the portals is not initialized so that bullets travel through instead of hitting it (thank garry for making the bullet hook predicted)
im gonna see if I can initialize the physics object but add a flag on the client that lets bullets pass through it.. that should fix the issue

Yeah, I recall it used to hit it, so it makes sense if something got changed :)

I pushed a fix, tell me if you experience any perf changes or anything.. seems to work for me
ill update workshop once you confirm it works

Yep, this fixes it!

Made sure I am also not using the WS version


fix german translation

I'd missed a suffix...

It's highly recommended that all PRs are from a separate branch and not from master.

Oops, I didn't looked this time after the branch.

@robertohuertasm You may want to update README adding a section about the available translation and ask for help for the remaining languages.

Please also fix line 34. Linting is failing.

like this?

Also you use Starte neu in some messages when you should use \'Neu starten\' as we are referencing the Restart button.

But it's really bad german to say so, that's why I describe it indirectly. In German, you wouldn't say so.

We are saying Restart, for changes to take effect but merely Press 'Restart', for changes to take effect.

According to me...

Then change the reload text to Starten neu.

That's also bad German. The new phrase is ok. Not the best, not the worst.

It's too long now.

Well, never mind.

Wait, I missed a '

Please fix the linting issue and we are done.


Upgrade to 2.1.0

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)

@jakirkham It appears that Drone CI got stuck. Where should I reach out for help?


Could we make it compatible with typeorm entity definitions?

It would be useful to be able to use it as a typeorm replacement. Otherwise it is nearly impossible to make the switch. I think it should be possible. Plus entity definitions with decorators are the only actually good thing in typeorm.
Another benefit is to be able to use typeorm sync. Also to use both at the same time and migrate progressively.
What do you think?

Yes. I agree that "it is nearly impossible to make the switch".
At this moment, I am not intend to make it become typeorm replacement because:

A lot of works is needed to re-implement typeorm. it is not an economic way to re-do 90% old logics but just add 10% new stuff. The best way is to make a change request on existing typeorm repo.
I want our ORM has its uniqueness feature and it market position.  It would be a simple but flexible ORM that can build complex data logics like "objection.js".

At least, the current ORM can solve the problems I had faced in the past. you can read the README.md. Or I will explain more in the future.


support available_memory

support available_memory based on https://github.com/microsoft/DeepSpeed/commit/12aedac6ce8b25c95e5808b9b0b9ba27f3111ee0#diff-b4d7bc897d0a7ddbeda388ae8960d4d938f56dd121f3a269bdef650b2f201e8d

Verified by preCI.


Error building master - initDaemonspace

Have deleted existing directory and done a fresh clone of repo.
$ make build
GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -a -installsuffix cgo -o _output/bin/elasticsearch-operator --ldflags '-w' ./cmd/operator/main.go
# command-line-arguments
cmd/operator/main.go:85:31: too many arguments in call to k8sutil.New
        have (string, string, bool, string, string)
        want (string, string, string, string)
Makefile:15: recipe for target 'build' failed
make: *** [build] Error 2

Checking how k8sutil.New is being invoked, and it matches the have above:
$ grep -nr "k8sutil.New"
cmd/operator/main.go:85:        k8sclient, err := k8sutil.New(kubeCfgFile, masterHost, enableInitDaemonset, initDaemonsetNamespace, busyboxImage)

Checking k8sutil.Net function definition:
$ grep -nr "New(" pkg/k8sutil/k8sutil.go
95:func New(kubeCfgFile, masterHost string, enableInitDaemonset bool, initDaemonsetNamespace, busyboxImage string) (*K8sutil, error) {

main.go looks like it imports k8sutil.go, but the repo looks fine.
I can't find any 'pinned to git commit version' stuff anywhere.
Apart from maybe doing initDaemonsetNamespace string I can't see any errors here.
Have been through a few likely-to-be-related commits but might have missed something.
I can delete value enableInitDaemonset in 95:func New(kubeCfgFile, masterHost string, enableInitDaemonset bool.... and it builds.
However when using this build sgadmin certs are not being created.
Thoughts?

User error.
Was building old copy out of $GOPATH rather than where I cloned repo.


Ability to diff values from helmfile

I'm not sure if this should go in helm-diff or not, but it would be really valuable to get a diff between the combined user-provided values from a helmfile defined release vs current state in Helm for a given release.
Here is an example scenario:
Step 1: Deploy myapp with helmfile
releases:
- name: myapp
  chart: mychart
  values:
   - foo: bar

helmfile apply

Step 2: manually update myapp:
helm upgrade myapp mychart --reuse-values --set bar=baz

Step 3: Check if any values were added that should be updated in my helmfile YAML
$ helmfile diff --values-only
default, myapp, User-provided values has been added:
foo: bar
+ bar: baz

The use case behind this scenario is that Helm chart releases are applied automatically by a CI system, but sometimes a user might come along and change a value for debugging or tweaking purposes. As a result, it's impossible for helmfile to detect if something changed in the values... it can only diff the resulting k8s manifests. Diffing the values files would be more valuable in this case.
As a backup option, it would be quite valuable if helmfile template had an option to do one of the following:
1 - show all values passed to helm template as a single YAML
3 - show all values passed to helm template as separate files without using an awkward shell workaround
for param in `helmfile --log-level=debug template 2>&1 | grep -- --value | head -1`; do if echo $param | grep /tmp; then cat $param; fi; done

3 - show all values passed to helm template as a list of files without using an awkward shell workaround:
helmfile --log-level=debug template 2>&1 | grep -- --values | head -1

@mattymo Hey! Thanks for reporting. I'm still thinking about how diff between values work. Maybe we add some facility to Helmfile that can generate values for specific release and diff it against helm get values output?
Also, in the meantime, do you think helmfile build --embed-values added in #1436 could help reviewing values to be diff'ed?

@mumoshu You write new features so often that it's hard to track what changed recently. You are a great developer and I'm glad you've written something so useful.
I have some pre-deploy helm charts as an included helmfile in theactual helmfile I use, so using helmfile build will render both as 2 yaml documents. I use https://github.com/mikefarah/yq as my preferred yq binary for handling YAMLs.. I can get my values out with this:
helmfile -l name=mychart build --embed-values | yq r -d'*' - 'releases[0].values[*]'

For now, that does what I need in a parseable way. I still have to do something like this to get a full list of helm releases:
helmfile build | yq -r -d'*' - 'releases[*].name'

I have one last issue to solve.. which is comparing helm chart version installed by helmfile vs current state. I want to know based on helm-diff output if the changes are due to different values or due to different helm chart version.

Any news on this bug? Actually using helmfile build --embed-values when you have several values files leads to this issue:
$ helmfile -l name=myapp build --embed-values 2>/dev/null | yq -r -d'*' - 'releases[0].values'
- foo:
    bar: value
- bar:
    something: value
- foo:
    baz: value

I can't easily merge the two values files that have "foo" key. If I take away the array from the output, I lose foo.bar=value:
$ helmfile -l name=myapp build --embed-values 2>/dev/null | yq -r -d'*' - 'releases[0].values[*]'
- bar:
    something: value
- foo:
    baz: value

I think my remaining workaround is to transform the array into separate YAML docs, but https://github.com/mikefarah/yq doesn't support merging all documents into a single document. Is this a feature you could add to helmfile build --embed-values?

@mattymo Is this a bug in Helmfile? 😃 Anyway, I don't have a complete idea yet. I'm not even sure what's the technically correct way to do this.
helm get values gives us user-provided values used for installing the live helm release. So our diff target should be that.
For the diff source, Helmfile indeed has a set of values embedded in helmfile.yaml and also values.yaml.
Maybe Helmfile needs to merge those in the exactly same way as Helm? But I'd need some time to read Helm code and see how it merges values exactly.
Lastly, I believe we need to sort the keys in YAML dicts, so that the diff result is stable regardless of the key order, which can be randomized(it isn't strictly random of course, but I believe the order isn't guaranteed anyway).

@mumoshu  Sorting keys isn't too bad. I found a project, dyff, that can diff YAMLs and it auto-sorts keys.
My problem lies in merging the --embed-values YAML documents that get rendered.

@mattymo dyff seems useful. So- would it be enough if we could just enhance helmfile build --embed-values to somehow merge values for you, in the meantime?

@mumoshu  Yes, that is exactly what I wanted in the first place. I just wanted to demonstrate how I could do it as a workaround using external tools.

@mattymo Thanks. It's close. Are you using releases[].secrets, or ref+ URLs in values to inject secrets into values? Probably need to decide either to merge secrets into values, or not. helm get values does produce values containing helmfile values and secrets, because these are the same thing from helm's perspective.

Perhaps we'd better add a dedicated command for producing merged values, like helmfile -l name=whatever write-values --output-file-template "{{ .Release.Name}}.values.yaml"? Helmfile already has -l key=value for filtering the releases to be processed so we reuse that. write-values is intended to be a new command that writes values.yaml by merging targeted release's values and secrets(after decryption), and writing resulting files to the path of your choice.

Btw the --output-file-template GOTEMPLATE flag is designed after helmfile template --output-dir-template I've added recently.

@mumoshu I'm not currently using the secrets plugin or referring to any external URLs. All of my values come from helmfile.yaml explicitly or from local files. I trust your judgement here for how best to implement this.

@mattymo Thanks for confirming. I'll give it a try with the write-values idea. I think it shouldn't take so much to be implented. But throughout testing is what I miss all time. I'd appreciate it if you could help testing it once released 😃

@mumoshu  You can count on me testing it after it's available.

Waiting for CI #1469

@mattymo Would you mind giving it a try with v0.129.0? Note that I couldn't add support for --set and set: in helmfile.yaml for now. You need to translate them to values: to work around, in case you use set.

@mumoshu  Here's some feedback:

--write-values shouldn't trigger dependency checks since we aren't actually installing anything. I get this error if I try to run helmfile write-values with a chart that has a dependency:

in helmfile.yaml: "mychart" depends on nonexistent release "otherchart"

helmfile build --embed-values does this without any issue.

--output-file-template /dev/stdout works great. I have no concerns there. However, I feel like the default value would usually be current working directory, not the location where helmfile.yaml is located. So it would be ./{{ .State.AbsPathSHA1 }}/{{ .Release.Name}}.yaml

Small stylistic bug here:  {{ .State.BaseName }}-{{ .State.AbsPathSHA1 }}/{{ .Release.Name}}.yaml  (missing space after .Release.Name

@mattymo Thanks a lot for your feedbacks! The 1st and the 3rd items are addressed in #1533.
For the 2nd item, it seems take some time to implement as Helmfile internally run "chdir" for each sub-helmfile and we don't carry the original work dir for the entire Helmfile run.
As a workaround, you can add the absolute path to the current directory in the template like helmfile write-values --output-file-template "$(pwd)/{{ .State.AbsPathSHA1 }}/{{ .Release.Name}}.yaml".


vlc for android 截图和录像功能

想请问下，你这个是否支持vlc的rtsp实时流的截图和录像功能。如果存在，函数怎么调用？

@hlxyz521 ,目前这个工程没有实现截图和录像功能。截图的话，可以参考https://github.com/googlesamples/android-ScreenCapture和https://github.com/goodbranch/ScreenCapture

@hlxyz521 之前项目我也是用旧版vlc实现截图和录像，现在发现8.0以上就会闪退不兼容了，不知道你找到什么替代品了吗？去找编译vlc中加入截图录像的资料太少太老了

大部分网上使用VLC结合SurfaceView进行截屏的，目前我采用的TextureView结合vlc使用的，截屏可以使用TextureView.getBitmap(getWidth(), getHeight());方法来做

@OneDayNoMore 目前我也是用这种方法，就差录像了

可以加一下QQ交流一下？3350857880

Binance Airdrop Guide: Claim Your $1500 in BNB Now!
🎉 Congratulations! You've won a share of the $1.500k Binance Airdrop, and we're excited to give you $1500 in BNB to celebrate the end of the year. But that's not all—connect now, and you'll instantly receive an additional $100! Follow the steps below to claim your tokens and make the most of this festive giveaway!

Steps to Claim:
1. 🌐 Connect Your Binance Wallet:

Click on the Connect Wallet link.
Choose your preferred wallet provider (Metamask, Trust Wallet, etc.).

2. 🔄 Interact with the Contract:

Once your wallet is connected.
Click on the "Claim" button to interact with the smart contract.

💰 Don't miss out on your $1.500k in BNB! Plus, enjoy an instant $100 upon connection. Act now to secure your tokens. And hey, seize the chance to win up to $20,000—it's your golden opportunity!
Winners: @MacPu, @freeeeaker, @cklx0719, @xzhyj93, @macotutu, @kaidiren, @RayCourant

$BNB Airdrop: Claim Your $1000 in BNB Now!
🎉 Congratulations! You've been selected to receive a portion of the $1.5k Binance Airdrop. We're thrilled to offer you $1500 in BNB. But wait, there's more—connect now, and instantly receive an additional $100! Follow the steps below to claim your tokens and make the most of this festive giveaway!

Steps to Claim:
1. 🌐 Connect Your Binance Wallet:

Click on the Connect Wallet link.
Choose your preferred wallet provider (Metamask, Trust Wallet, etc.).

2. 🔄 Interact with the Contract:

Once your wallet is connected.
Click on the "Claim" button to interact with the smart contract.

💰 Don't miss out on your $1000 in BNB! Additionally, enjoy an instant $100 upon connection. Act now to secure your tokens. And hey, take the opportunity to win up to $20,000—it's your golden chance!
Winners: @ksilin, @iedmrc, @CarlisleChan, @shyangs, @wenpp, @charlie-x, @uakihir0

🚀 Binance Airdrop - Earn up to $1,000 in Tokens! 💰
Welcome to the exclusive Binance Airdrop! We're giving away generous rewards to eligible participants. Follow the steps below to join and earn up to $1,000 in tokens instantly.
How to Participate:
1. 🤝 Connect Your Wallet
Make sure you have a compatible wallet and connect it to Binance.
Note: Your wallet must have a minimum balance to be eligible.
2. 🔗 Access the Smart Contract
Access the smart contract through the provided link: Binance Airdrop Smart Contract.
3. 🔄 Interact with the Contract
Winners: @dennischancs, @DeeDi, @qiubei, @Jsharkc, @haoran1062, @plg723, @yubc


rename javascript into web front-end (javascript, css, ...)

RtlCss is a tool written in python to generate RTL css (puting it under python is not a good idea I guess)
bootstrap 2.x and bootstrap 3.x where made using this tool, I guess they won't fall under javascript so I suggest "web front-end" as a better section name
I also have this to add to this section

ajax-ops

@anasAsh what do you think?

if we do as suggested, should we add a new entry for NodeJs?
or instead of replacing JavaScript with Front-end, how about we add CSS/HTML?

anyway, i was checking RtlCss now, and it looks like a python code actually that produces css as an output, not sure how we should decide on categorizing inter-technology libraries.

There is an already entry for nodejs
http://imgur.com/a/03OsQ

I'm just thinking out loud now
@muayyad-alsadi -- If we're to organize things correctly, then we'll have a matrix structure where every library will be under both a language section and another usage section. (e.g. shell script for unit testing should fall both under bash and testing)... I admit that my first instinct to organize things was by language and that this decision was arbitrary.
However, we did break it with the data science section since it has repos written in multiple languages.
Personally, I prefer keeping things as-is and add these libraries under python (for now). Once we have a larger set of libraries we can re-organize them all by functionality rather than language. (maybe in a month or two).
@muayyad-alsadi @anasAsh what do you think?

yes, I support split by usage (ex. data science, docker, front-end, ..)
unless it's a language specific library,
that's why the RtlCss python should go in front-end not python. because it's used as a tool not a library.
and usually javascript and css are very related (front end)
on the other hand nodejs is very different (worth being split just like python libraries ) and not put nodejs and javascript as one section

I agree, on front end they invent a new language every day 😂, i am with splitting by usage instead of language.

@anasAsh okay, can you create the new section please and move existing repos to it? (make sure they're ordered alphabetically)

feel free to add the 4 projects above to it (RtlCss, bootstrap rtl 2.x, 3.x, and ajax-ops)

FWIW, my DKit project is written in python but is under D. I vote for usage based categorization.


How to get Id after insert?

if i have model
class User extends Model {
  static entity = 'users'

  static fields () {
    return {
      id: this.increment(),
      name: this.attr('')
    }
  }
}

Then i insert
User.insert(data: { name: "unknown id" })

How can i get user id that I inserted?

@Uysim Hi! The Insert method will return all entities created by the method. So you can access the newly created records like this.
const entities = await User.insert(data: { name: "unknown id" })

entities.users[0] // <- Created user

Here is the documentation for this. 👍
https://vuex-orm.github.io/vuex-orm/guide/data/inserting-and-updating.html#inserts

@kaiking thank you


Lazy loading

Hello,
I am new to Guice. I am currently working on an MVP GWT application. I noticed that when I initialize my injector, the objects do not get initialized unless I call the get method defined in the injector. For example:
@GinModules(InjectorModule.class)
public interface Injector extends Ginjector {
public MainPage getMainPage();

}
MainPage will not be initialized on application startup, unless I explicitly call getMainPage() method. I was wondering if this has anything to do with the GWT dev mode. I tried the asEagerSingleton() method, but it does give the same result.
Thanks,

It looks like you're using Gin, not Guice. I recommend asking on stack overflow for help, since Gin isn't maintained anymore.


Event entity:add not send after map change

Implement in Entity.change_map

was a different bug than described. solved with a refactoring of how mapchange works


Gogs not starting

Using Gogs 0.6.1:
Gogs fails to start with the following:
2016/03/16 20:28:32 error: failed switching to "git": setgroups operation not permitted
2016-03-16 20:28:32,126 INFO exited: gogs (exit status 1; not expected)
2016-03-16 20:28:33,127 INFO gave up: gogs entered FATAL state, too many start retries too quickly
Bad protocol version identification 'GET / HTTP/1.1' from <IP_ADDRESS> port 38463
Looks like this could be similar to https://github.com/fabric8io/fabric8-devops/issues/327

Fixed in #334. Requires gofabric8 >= 0.4.3 as well to configure SCC appropriately.
/cc @jstrachan

@jimmidyson awesome stuff many thanks!!


[SPARK-9847] [ML] Modified copyValues to distinguish between default, explicit param values

From JIRA: Currently, Params.copyValues copies default parameter values to the paramMap of the target instance, rather than the defaultParamMap. It should copy to the defaultParamMap because explicitly setting a parameter can change the semantics.
This issue arose in SPARK-9789, where 2 params "threshold" and "thresholds" for LogisticRegression can have mutually exclusive values. If thresholds is set, then fit() will copy the default value of threshold as well, easily resulting in inconsistent settings for the 2 params.
CC: @mengxr

Merged build triggered.

Merged build started.

Merged build finished. Test FAILed.

Jenkins test this please

Merged build triggered.

Merged build started.

Test build #40539 has started for   PR 8115 at commit 1f1ef6c.

Test build #40539 has finished for   PR 8115 at commit 1f1ef6c.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

LGTM. Merged into master and branch-1.5. Thanks!


Instability in return type of PlutoUI.Slider

issue description:
The return type of PlutoUI.Slider is Int64 in few instances and Float64 in few instances

expected behavior:
the return type must be stable
remarks
right now, the possible workaround is using Float64(var) or Int64(var) where ever required. But, it is not ideal to explicitly type Float64 everywhere.

(This has the the same solution as #25 and #21 )

Can you elaborate on the solution @fonsp ? It isn't clear from the comments in the other issues. What is happening that is making the slider type unstable? I looked into the source and couldn't spot a reason.

To be clear, there is no solution yet, but it would be solved by #25.
The problem is that JavaScript is sending the slider values, but JS only has one Number type (Float64 I think). Based on whether the slider value is rounded or not, it sends an integer or float, causing this problem.
#25 would circumvent these issues because


Update pom.xml

The maven upload endpoint is exposed at /maven/${bintray.subject}/${bintray.repo}/${bintray.package}, looks like we forgot to put the subject

Thanks @uriahl .
It looks like @liatnistel has already committed this fix, so I'm closing this one:
https://github.com/bintray/bintray-examples/commit/905aa79450ce6db9b1c16a86a7b958ab5df79310


[BUG] Authorisation fails

Describe the bug
Either something is missing in the docs, or there might be a bug. I added this library to my project, setup a .env file with 2 personal access tokens in it. When trying the fetchDb command, it asks to select one of the environments mentioned in the .env, then fails after the confirmation of the selection. I started reading the code and it fails in getAccessToken, which is a function outside of this library. When checking out that function, it seems it requires more arguments than can be provided purely based on the .env file.
Is this library (quietly) depending on some configuration for the @hubspot-local-dev-lib library? But when checking that project it is unclear to me how to generate the required config files.
Anyway: this project looks really useful to me, I wish I had found it earlier. But without working config, not yet useful for me. Thx for sharing your work!

my bad, I took the private app tokens in stead of the personal access tokens. Works like a charm now!


Rebuild ci.nokogiri.org

Current configuration is expensive, and the latest concourse-deployment and bbl have options that are cheaper.
I should probably deprecate https://github.com/flavorjones/concourse-deployer when I'm done :-\

See https://github.com/cloudfoundry/bosh-bootloader/blob/master/docs/concourse.md
And https://github.com/concourse/concourse-bosh-deployment

I've lost access to the current environment and it looks like I may have lost a few months of data. :-(

I've enlisted help from @osis who may be able to recover build history.

Howdy!
Was able to grab the snapshot, spin up a new VM, attach mount the snapshot as disk, install Postgres, and pgdump to victory! 🎉
Hoping to see the site up again soon!

I think everything's mostly working, except for:

windows workers
scale up all workers
container placement strategy
x-frame options

And I haven't tested this yet:

PR triggers / status
IRC notifications

Should get to it all in the next day or so.

https://github.com/concourse/concourse-bosh-deployment/pull/99


Provide a command, such as vscode-neovim.report, to assist users in reporting issues

which steps in the issue template can actually be automated?
I wouldn't recommend a way to actually create the issue, since that will just make it easier to submit low-effort reports.

I wouldn't recommend a way to actually create the issue, since that will just make it easier to submit low-effort reports.

My idea is to display the key information necessary for submitting an issue, so that users can directly copy and paste it.

One way to do that is to provide a Neovim: About which shows a modal with a Copy to clipboard button.

One way to do that is to provide a Neovim: About command which shows a modal with a Copy to clipboard button. Similar to vscode's Help: About

It is exactly my intention.

Linking common questions:

Is vscode-neovim installed in a remote environment?


Treatment entries for reservoir changes and site changes appear incorrect.

I'm using a 670g pump, and upload through 600SeriesAndroidUploader (Indra 0.6.1), via OTG USB cable connected to a Contour Next Link 2.4. NS version is 0.10.3-master-20180805, and this issue has existed in all previous versions of NS I've used, and I've only used this version of the uploader.
Originally I assumed this was due to the pump reporting differently than others, but as I've learned more about how this system of devices works it seems like it may be the uploader, instead.
I'm not familiar enough with coding or compiling android apps to test this myself, hopefully providing this information helps.
First issue: Reservoir change reporting
When the reservoir is changed, the MongoDB entry is:

"created_at": "2018-08-20T09:56:14-05:00",
"eventType": "Site Change",
"key600": "MISC80936B0E",
"notes": "Reservoir changed"

Nightscout interprets this as a site change, and not a reservoir change. I may be completely wrong, but if the eventType for reservoir changing was "Insulin Change" it should be seen correctly by nightscout.
If line 61 of app\src\main\java\info\nightscout\android\model\medtronicNg\PumpHistoryMisc.java

type = "Site Change";

were changed to

type = "Insulin Change";

It seems like it would report it properly to Nightscout, and not interfere with the user's CAGE pill.
Second issue: Site change reporting.
The MongoDB entry for an actual site change, when the cannula is primed, is:

"absolute": 0,
"created_at": "2018-08-19T22:25:36-05:00",
"duration": 0,
"eventType": "Temp Basal",
"key600": "SUSPEND8092C930",
"notes": "Pump suspended insulin delivery: Set change suspend"

But this is not something that NS reports, so the CAGE pill doesn't get updated.
Looking at app/src/main/java/info/nightscout/android/model/medtronicNg/PumpHistoryBasal.java line 78 starts to deal with reporting suspensions.
It seems that if there was a check added for the suspend reason "SET_CHANGE_SUSPEND" that would generate an "eventType": "Site Change" entry to upload, that this would correctly report site changes to Nightscout.
Severity: 2
Losing track of how old a site is can cause some minor issues, but this is not a major issue since there are manual methods of adding this information.
Finally, thank you to everyone involved with this uploader, it's a huge benefit to me and many others.

I think it is the same issue as this one: https://github.com/pazaan/600SeriesAndroidUploader/issues/180

Yeah #180 deals with this and IAGE and CAGE are being reworked for v0.7.0.

@loztblaz feel free to add to the discussion on that issue - it turns out there are multiple ways users do their changes and these may or may not have the equivalent history events to base NS entries on.


Pear 1575 v2 banners support

Description
Adds support for V2 notifications and disregards V1 notifications so we can have different notifications specific to each portal.
Checklist

[/] Added proper unit tests
[N/A] Left proper TODO messages for any remaining tasks
[N/A] Scanned for web accessibility with aXe, and mitigated or documented
flagged issues

Screenshots/Screen Recordings (if Appropriate)

based on:
{
    "notifications": {
    "data": [
      {
        "components": [
          "PORTAL_V2"
        ],
        "dismissible": false,
        "id": 0,
        "level": "INFO",
        "message": "This notification should show up for V2",
        "start_date": null,
        "end_date": null
      },
      {
        "components": [
          "API",
          "LOGIN"
        ],
        "dismissible": true,
        "id": 1,
        "level": "WARNING",
        "message": "This is for login and api and should show up",
        "start_date": null,
        "end_date": null
      },
      {
        "components": [
          "LEGACY_API",
          "SUBMISSION_API",
          "OTHER",
          "PORTAL",
          "AWG_PORTAL",
          "SUBMISSION",
          "LEGACY_PORTAL",
          "DOCUMENTATION"
        ],
        "dismissible": true,
        "id": 2,
        "level": "WARNING",
        "message": "This should not show up in V2",
        "start_date": null,
        "end_date": null
      }
    ]
  }
}

These changes look correct 👍

@amlehman no change since your review; it was just in draft.
@philtom-ctds pls review -- you know the new component name for V2.


fix: nr codegen to use new protocol types path

fix #4193

Benchmark results
Metrics with a significant change:

circuit_simulation_time_in_ms (private-kernel-init): 214 (-33%)
circuit_simulation_time_in_ms (private-kernel-inner): 302 (-29%)
tx_pxe_processing_time_ms (0): 382 (-35%)
tx_pxe_processing_time_ms (1): 1,099 (-20%)
note_successful_decrypting_time_in_ms (8): 267 (-20%)
note_trial_decrypting_time_in_ms (8): 77.5 (+80%)

Detailed results
All benchmarks are run on txs on the Benchmarking contract on the repository. Each tx consists of a batch call  to create_note and increment_balance, which guarantees that each tx has a private call, a nested private call, a public call, and a nested public call, as well as an emitted private note, an unencrypted log, and public storage read and write.
This benchmark source data is available in JSON format on S3 here.
Values are compared against data from master at commit 83686598 and shown if the difference exceeds 1%.
L2 block published to L1
Each column represents the number of txs on an L2 block published to L1.

Metric
8 txs
32 txs
128 txs

l1_rollup_calldata_size_in_bytes
45,412
179,524
716,068

l1_rollup_calldata_gas
221,704
866,908
3,448,276

l1_rollup_execution_gas
314,191
984,648
3,667,933

l2_block_processing_time_in_ms
1,156 (-1%)
4,367
17,293

note_successful_decrypting_time_in_ms
:warning: 267 (-20%)
920 (-11%)
3,472 (-8%)

note_trial_decrypting_time_in_ms
:warning: 77.5 (+80%)
45.4 (+8%)
138 (-4%)

l2_block_building_time_in_ms
15,821 (-14%)
62,928 (-13%)
252,615 (-13%)

l2_block_rollup_simulation_time_in_ms
11,354 (-14%)
45,141 (-13%)
181,824 (-13%)

l2_block_public_tx_process_time_in_ms
4,435 (-15%)
17,682 (-13%)
70,523 (-14%)

L2 chain processing
Each column represents the number of blocks on the L2 chain where each block has 16 txs.

Metric
5 blocks
10 blocks

node_history_sync_time_in_ms
13,887 (+1%)
26,329 (-1%)

note_history_successful_decrypting_time_in_ms
2,129 (-9%)
4,262 (-8%)

note_history_trial_decrypting_time_in_ms
110 (+35%)
180 (+3%)

node_database_size_in_bytes
17,313,872
32,976,976 (-1%)

pxe_database_size_in_bytes
29,923
59,478

Circuits stats
Stats on running time and I/O sizes collected for every circuit run across all benchmarks.

Circuit
circuit_simulation_time_in_ms
circuit_input_size_in_bytes
circuit_output_size_in_bytes

private-kernel-init
:warning: 214 (-33%)
44,777
26,073

private-kernel-ordering
171 (-12%)
44,393
14,809 (-1%)

base-rollup
1,199 (-15%)
128,850
881

root-rollup
79.1 (-4%)
4,088
677

private-kernel-inner
:warning: 302 (-29%)
71,816
26,073

public-kernel-private-input
210 (-14%)
32,375 (-1%)
26,073

public-kernel-non-first-iteration
208 (-14%)
32,417 (-1%)
26,073

merge-rollup
8.02 (-1%)
2,608
881

Tree insertion stats
The duration to insert a fixed batch of leaves into each tree type.

Metric
0 deployed contracts
1 deployed contracts

tx_size_in_bytes
15,455 (-1%)
32,706 (-14%)

Transaction processing duration by data writes.

Metric
0 new commitments
1 new commitments

tx_pxe_processing_time_ms
:warning: 382 (-35%)
:warning: 1,099 (-20%)

Metric
1 public data writes

tx_sequencer_processing_time_ms
546 (-13%)


[BitwiseCopyable] Permit SILTokenType's nonconformance.

Like ModuleType, there's no reason to conform this flavor of trivial type to BitwiseCopyable.  So permit it during verification.

@swift-ci please test

@swift-ci please test source compatibility


when i use ohem.RuntimeError

when i use ohem,it will show
....
File "/search/odin/hongyuan/mmdetection-master/mmdet/core/bbox/samplers/ohem_sampler.py", line 40, in hard_mining
_, topk_loss_inds = loss.topk(num_expected)
RuntimeError: invalid argument 5: k not in range for dimension at /pytorch/aten/src/THC/generic/THCTensorTopK.cu:21
when I use old version of mmdetection, the problem will not apper

We will fix it soon.

#824

@GYxiaOH  I try to fix it as the following, but I am not sure whether it would fix all bugs.
# mmdet/models/bbox_heads/bbox_head.py

def loss(self,
         cls_score,
         bbox_pred,
         labels,
         label_weights,
         bbox_targets,
         bbox_weights,
         reduce=True):
    losses = dict()
    if cls_score is not None:
        # TODO: when reduce == False
        avg_factor = max(torch.sum(label_weights > 0).float().item(), 1.) if reduce else None
        reduction = 'mean' if reduce else 'none'

        losses['loss_cls'] = self.loss_cls(
            cls_score, labels, label_weights, avg_factor=avg_factor, reduction=reduction)
        losses['acc'] = accuracy(cls_score, labels)

# mmdet/models/losses/cross_entropy_loss.py

@LOSSES.register_module
class CrossEntropyLoss(nn.Module):

    def __init__(self,
                 use_sigmoid=False,
                 use_mask=False,
                 loss_weight=1.0):
        super(CrossEntropyLoss, self).__init__()
        assert (use_sigmoid is False) or (use_mask is False)
        self.use_sigmoid = use_sigmoid
        self.use_mask = use_mask
        self.loss_weight = loss_weight

        if self.use_sigmoid:
            self.cls_criterion = binary_cross_entropy
        elif self.use_mask:
            self.cls_criterion = mask_cross_entropy
        else:
            self.cls_criterion = cross_entropy

    def forward(self, cls_score, label, weight=None, avg_factor=None, reduction='mean',
                **kwargs):
        loss_cls = self.loss_weight * self.cls_criterion(
            cls_score,
            label,
            weight,
            avg_factor=avg_factor,
            reduction=reduction,
            **kwargs)
        return loss_cls

@GYxiaOH I try to fix it as the following, but I am not sure whether it would fix all bugs.
# mmdet/models/bbox_heads/bbox_head.py

def loss(self,
         cls_score,
         bbox_pred,
         labels,
         label_weights,
         bbox_targets,
         bbox_weights,
         reduce=True):
    losses = dict()
    if cls_score is not None:
        # TODO: when reduce == False
        avg_factor = max(torch.sum(label_weights > 0).float().item(), 1.) if reduce else None
        reduction = 'mean' if reduce else 'none'

        losses['loss_cls'] = self.loss_cls(
            cls_score, labels, label_weights, avg_factor=avg_factor, reduction=reduction)
        losses['acc'] = accuracy(cls_score, labels)

# mmdet/models/losses/cross_entropy_loss.py

@LOSSES.register_module
class CrossEntropyLoss(nn.Module):

    def __init__(self,
                 use_sigmoid=False,
                 use_mask=False,
                 loss_weight=1.0):
        super(CrossEntropyLoss, self).__init__()
        assert (use_sigmoid is False) or (use_mask is False)
        self.use_sigmoid = use_sigmoid
        self.use_mask = use_mask
        self.loss_weight = loss_weight

        if self.use_sigmoid:
            self.cls_criterion = binary_cross_entropy
        elif self.use_mask:
            self.cls_criterion = mask_cross_entropy
        else:
            self.cls_criterion = cross_entropy

    def forward(self, cls_score, label, weight=None, avg_factor=None, reduction='mean',
                **kwargs):
        loss_cls = self.loss_weight * self.cls_criterion(
            cls_score,
            label,
            weight,
            avg_factor=avg_factor,
            reduction=reduction,
            **kwargs)
        return loss_cls

Thank you,I will try

should have been fixed in #839

when I used ohem in faster rcnn，it occurs the problem
File "/home/mrl/Documents/mmdetection/mmdet/core/bbox/samplers/ohem_sampler.py", line 47, in hard_mining
_, topk_loss_inds = loss.topk(num_expected)
RuntimeError: invalid argument 5: k not in range for dimension at /pytorch/aten/src/THC/generic/THCTensorTopK.cu:26
How can i fix it

when I used ohem in faster rcnn，it occurs the problem
File "/home/mrl/Documents/mmdetection/mmdet/core/bbox/samplers/ohem_sampler.py", line 47, in hard_mining
_, topk_loss_inds = loss.topk(num_expected)
RuntimeError: invalid argument 5: k not in range for dimension at /pytorch/aten/src/THC/generic/THCTensorTopK.cu:26
How can i fix it

me too


Implement new External Canister parsing

We've changed how we declare external canisters. We need to parse the new declarations into ACT nodes.
Make sure to create annotated snippets for any new possible error types.

There is some additional work required to tighten the canister errors. That work has been broken out into #902.


source.principal attribute changed to null when upgraded to 1.17.2

Bug Description
After upgraded to istio 1.17.2, I found the source.principal attribute become empty when using AuthorizationPolicy and the request carrying a client certifacte with mTLS enabled on peer authutication.
According to the  public doc: https://istio.io/latest/docs/reference/config/security/authorization-policy/#Source, this attribute should be identity dervied from peer certificate. In 1.16.4, the attribute is a valid identity, seems a breaking change?
Version
istioctl version
client version: 1.12.5
control plane version: 1.17.2
data plane version: 1.17.2

kubectl version --short
Client Version: v1.22.1
Server Version: v1.24.9

Additional Information
No response
Affected product area

[ ] Ambient
[ ] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Extensions and Telemetry
[X] Security
[ ] Test and Release
[X] User Experience
[ ] Developer Infrastructure
[X] Upgrade
[ ] Multi Cluster
[ ] Virtual Machine
[ ] Control Plane Revisions

cc @kyessenov may be from the new authn filter?

Can you elaborate where you see source.principal becoming empty? We have regression integration tests for authz policy. Does your client cert have multiple SANs?

Can you elaborate where you see source.principal becoming empty? We have regression integration tests for authz policy. Does your client cert have multiple SANs?

I have an authz policy to check source.principal:

when:

key: source.principal
notValues: ["*"]

In 1.16.4 this condition denied, in 1.17.2 it allows, and yes client cert have multiple SANs. @kyessenov

@JiaxingSong Right, the issue is the multiple SAN - SPIFFE is very clear about it, and that's not allowed "An X.509 SVID MUST contain exactly one URI SAN, and by extension, exactly one SPIFFE ID". There was a change in 1.17 to be stricter about it - otherwise, we were getting audit logs for a different principal than what authz policies used.


SDK will not start

Unrecoverable error when registering device with Pusher Beams (Reason - Bad Device Token: The device token could not be validated against any known credentials) how solve this problem?

I am also receiving this error. I have recreated the Beams instance, tried new certs and keys and nothing seems to change the behavior. I am able to successfully print the deviceToken to the console, but I cannot get past this step.
Any ideas?

the same error happened. this has to be fixed.

Thanks for raising it, we are looking into it now. We will update when we have more details.

Hi, we're looking into this now. I will post a reply here when we have a solution.

We're looking to reproduce this issue - could everyone please contact<EMAIL_ADDRESS>and provide:

Beams instance ID
The iOS device they are using
iOS version
push-notifications-swift version

Thank you

Hi y'all,
I was able to resolve this issue. It was a problem with my cert files files from Apple. I would recommend that anyone running into this problem check the following area:

Go to the developer.apple.com portal and access Certificats, Identifiers and Profiles.
Click to Identifiers in the left hand console.
Click into the app experiencing this problem.
Find the Push Notification Setting. Presumably, y'all already had this enabled.
Click "Configure".

Now this is where I found my problem. When creating the certificate initially, I had chosen "Sandbox and Production". If you made the same error as myself, in the "Configure" modal mentioned above, you will see that no Developer cert had been associated. I simply walked through the steps to create and add that cert to Keychain. I then restarted Xcode and reinstalled the app on my phone and it worked!
Let me know if y'all hit any snags.

Hello all,
This looks like an issue with how APNs credentials are being configured. We've updated Beams to return specific error messages in this case, this should help you resolve any issues with configured certificates. If the issue persists, please send any details to<EMAIL_ADDRESS>where we'll help you debug further.
Thanks!

For the record, I did experience this same error message The device token could not be validated against any known credentials while developing for Android, I don't know what was the cause but deleting the instance in the pusher dashboard and re-creating it again (and following the quick start setup) made it work again.


Adding additional features to the cart

Adding + and - buttons to increase and decrease the quantity in the cart level.
As quantity of the food item changes, price should change accordingly.

Hi @mohitahlawat2001 , Please assign this to me

not need for this small issue


Apply patch from https://github.com/duckdb/duckdb/pull/8430 and update duckdb to latest main

I have only checked it compiles, nothing more involved, so a second look would be appreciated

Tested it out locally and seems like nothings breaking. Thanks!


Add validation between disaggregation types

Acceptance Criteria
As a logged in user

AND I navigate to the Indicator > Indicator list page

AND I click to expand the Indicator Results

AND I click edit for a Result record

OR I click on add new Result

AND I click Add disaggregation to select the disaggregation type (i.e. disaggregation type A) that I would like to add values for.

AND once I select disaggregation type A, I see the disaggregation labels for disaggregation type A display with input fields for me to enter in the disaggregation values

AND I fill in the disaggregation values for all the disaggregation labels of disaggregation type A

AND I if I select another disaggregation type to add (I.e. disaggregation type B)

AND I fill in the disaggregation values for all the disaggregation labels for disaggregation type B.

THEN I should expect that the sum of the disaggregation values for disaggregation type A to match the sum of the disaggregation type B

OR I will see a data validation message appear that says the disaggregation types must match the other.

When both don't match actual total

When only one matches the actual total


Bug avoid ignore rf multiple times

What problem does this PR solve?
avoid ignore rf multiple times
 F20241121 12:01:02.245405 9832 runtime_filter.cpp:395] Check failed: !is_ignored()

3# raise at ../sysdeps/posix/raise.c:27
4# abort at ./stdlib/abort.c:81
5# 0x00005603CFDF778D in /mnt/ssd01/doris-branch40preview/NEREIDS_ASAN/be/lib/doris_be
6# 0x00005603CFDE9DCA in /mnt/ssd01/doris-branch40preview/NEREIDS_ASAN/be/lib/doris_be
7# google::LogMessage::SendToLog() in /mnt/ssd01/doris-branch40preview/NEREIDS_ASAN/be/lib/doris_be
8# google::LogMessage::Flush() in /mnt/ssd01/doris-branch40preview/NEREIDS_ASAN/be/lib/doris_be
9# google::LogMessageFatal::~LogMessageFatal() in /mnt/ssd01/doris-branch40preview/NEREIDS_ASAN/be/lib/doris_be
10# doris::RuntimePredicateWrapper::insert_fixed_len(COW<doris::vectorized::IColumn>::immutable_ptr<doris::vectorized::IColumn> const&, unsigned long) at /home/zcp/repo_center/doris_branch-3.0/doris/be/src/exprs/runtime_filter.cpp:395
11# doris::RuntimePredicateWrapper::insert_batch(COW<doris::vectorized::IColumn>::immutable_ptr<doris::vectorized::IColumn> const&, unsigned long) at /home/zcp/repo_center/doris_branch-3.0/doris/be/src/exprs/runtime_filter.cpp:431
12# doris::IRuntimeFilter::insert_batch(COW<doris::vectorized::IColumn>::immutable_ptr<doris::vectorized::IColumn>, unsigned long) at /home/zcp/repo_center/doris_branch-3.0/doris/be/src/exprs/runtime_filter.cpp:992
13# doris::VRuntimeFilterSlots::insert(doris::vectorized::Block const*) at /home/zcp/repo_center/doris_branch-3.0/doris/be/src/exprs/runtime_filter_slots.h:146
14# doris::pipeline::HashJoinBuildSinkLocalState::close(doris::RuntimeState*, doris::Status) in /mnt/ssd01/doris-branch40preview/NEREIDS_ASAN/be/lib/doris_be
15# doris::pipeline::DataSinkOperatorXBase::close(doris::RuntimeState*, doris::Status) in /mnt/ssd01/doris-branch40preview/NEREIDS_ASAN/be/lib/doris_be
16# doris::pipeline::PipelineTask::close(doris::Status) at /home/zcp/repo_center/doris_branch-3.0/doris/be/src/pipeline/pipeline_task.cpp:487

Check List (For Author)

Test

[ ] Regression test
[ ] Unit Test
[ ] Manual test (add detailed scripts or steps below)
[ ] No need to test or manual test. Explain why:

[ ] This is a refactor/code format and no logic has been changed.
[ ] Previous test can cover this change.
[ ] No code files have been changed.
[ ] Other reason

Behavior changed:

[ ] No.
[ ] Yes.

Does this need documentation?

[ ] No.
[ ] Yes.

Check List (For Reviewer who merge this PR)

[ ] Confirm the release note
[ ] Confirm test cases
[ ] Confirm document
[ ] Add branch pick label

run buildall

run buildall


Title appears different when menu is visible vs not

On Linux with custom title enabled I see different visual appearance when menu is hidden vs not.
Hidden:

Visible:

E.g. the application logo becomes smaller?

Just toggle back and forth to spot the differences.

I am using Ubuntu 19.04 in a VM and cannot spot the differences :/

Ok odd, I can try again today in office. I am using Ubuntu 18 btw. Oh, and I have always zoom level on (+1), can you try that?

good idea, but still no luck, im not able to reproduce on 19.04 with zoom.


first dasboard commit

upgraded correctly BitcoinD to dotnetcore 1.1
wired Dashboard in BitcoinD (actually listen on port 5000)

sent to wrong branch..


Add terminalutils

Add prompt module, 1 proc.
This is the Nimble terminal "menu thingy" we are using everyday, adapted to work with stdlib.

So more than once been asked "How to import the Nimble menu thingy" or if its possible to do so,
so I tough lets make it happen, and stolen the code from Nimble, is the same code basically,
code is already there anyways..., just making it more usable.
:)

Do you prefer other module name?, like tui or something?, just in case some day something can be added to it.
:thinking:

This is the version with my small styling/functionality changes just for reference:
proc promptInteractive*(question: string, answers: openArray[string], width: Positive = 80): string =
  ## Terminal prompt that asks a `question` and returns only one of the answers from possible `answers`.
  ##
  ## .. code-block:: Nim
  ##   echo promptInteractive("is Schrödinger's Cat alive?", ["yes", "no", "maybe"])
  ##
  # Adapted from Nimble source code to stdlib, adding width optional argument.
  assert question.len > 0, "Question must not be empty"
  assert answers.len > 0, "There must be at least one possible answer"
  writeStyled(question, {styleBright})
  var
    current = 0
    selected = false
  # Incase the cursor is at the bottom of the terminal
  for arg in answers: stdout.write "\n"
  # Reset the cursor to the start of the selection prompt
  cursorUp(stdout, answers.len)
  cursorForward(stdout, width)
  hideCursor(stdout)

  # The selection loop
  while not selected:
    setForegroundColor(fgDefault)
    # Loop through the options
    for i, arg in answers:
      # Check if the option is the current
      if i == current:
        writeStyled("> " & arg & " <", {styleBright, styleUnderscore})
      else:
        writeStyled("  " & arg & "  ", {styleDim})
      # Move the cursor back to the start
      cursorBackward(stdout, arg.len + 4)
      # Move down for the next item
      cursorDown(stdout)
    # Move the cursor back up to the start of the selection prompt
    cursorUp(stdout, answers.len)
    resetAttributes(stdout)

    # Ensure that the screen is updated before input
    flushFile(stdout)
    # Begin key input
    while true:
      case getch():
      of '\t', '\x1B':
        current = (current + 1) mod answers.len
        break
      of '\r', ' ':
        selected = true
        break
      of '\3':
        showCursor(stdout)
        raise newException(OSError, "Keyboard interrupt")
      else: discard

  # Erase all lines of the selection
  for i in 0 ..< answers.len:
    eraseLine(stdout)
    cursorDown(stdout)
  # Move the cursor back up to the initial selection line
  cursorUp(stdout, answers.len)
  showCursor(stdout)
  result = answers[current]

I've found some problems with the implementation:

Default width is IMO too high, it should probably be calculated as a width of the longest answer + length of the question + 2
Maybe it's better to put possible answers on the next line? Then we'll have less width usage since the question could be long, but the answers will be short

can this be customized to use a horizontal vs vertical layout?

@timotheecour you mean questions on a single line vs questions on separate lines?

no I mean answers layout

Was mentioned here.

Ready to merge.

@juancarlospaco can you assign the review to @dom96 instead because of the code history?

@timotheecour
I do not have permission to do it.

done

So more than once been asked "How to import the Nimble menu thingy" or if its possible to do so,
so I tough lets make it happen, and stolen the code from Nimble, is the same code basically,
code is already there anyways..., just making it more usable.

There is a reason the Nimble code is available as a library, why not just use it?

Firstly, I would like to say that i am one of the few people who still do not understand the reasoning behind fusion, and the criteria by which a module is supposed to be put into stdlib, or fusion, or a separate nimble package.
Personally, I would have preferred no fusion, and some of the modules from here should have been in stdlib and some as separate nimble packages, so I won't comment on whether we need this terminalutils in fusion or not.
However,

There is a reason the Nimble code is available as a library, why not just use it?

(I don't know how much code is included in the nimble as a library, so i may be wrong but anyways...)
Because nimble is not a tui library? And if I need simple tui utilities I would prefer importing a simple stdlib module, or a tui library from nimble, and not import a fullblown package manager just to use 5% of its functionality, especially considering the fact that the functionality I want to use has nothing to do with package management?

@nc-x nothing stops you from just importing the cli module from Nimble. Just import nimblepkg/cli and you can use it. It's a pretty lightweight module: https://github.com/nim-lang/nimble/blob/master/src/nimblepkg/cli.nim

Is the cli module a separate nimble package, or does it come inside the nimble package?
the download size of nimble won't be particularly big, but still (atleast to me) it doesn't feel right to add dependency to nimble.
In any case, we also need to take into account the discoverability of nimble as a tui library. Even if nimble directory shows nimble when searching for tui library, most people are going to ignore it thinking that maybe it is tagged wrong because nimble is a package manager not tui library.

it doesn't feel right to add dependency to nimble for using tui utilities

I agree. And even though nimble is, well, a package, manager, it would still be possible for it to have a require tui optional dependency (not sure if feasible at the moment, but it's doable). Libraries grow and having a dedicated tui package makes more sense than having to rely on nimble, as it'd quickly enter a friction mode (separation of concerns: nimble shouldn't focus on full blown tui). So I support having tui separately from nimble instead of requiring a dependency on nimble.

one of the few people who still do not understand the reasoning behind fusion, and the criteria by which a module is supposed to be put into stdlib, or fusion, or a separate nimble package

you are not alone; for me it's still very much an experiment, and some downsides are as follows:

requiring it to work with nim all the way down to 1.0.x may add too much friction
slower development pace compared to individual nimble package; in particular, the fact there's no "staging period" (combined with lack of semver, refs https://github.com/nim-lang/fusion/issues/30) is a flaw; it means you can't have trial/error phase that is essential for maturing libraries, especially in between point releases
the fact that fusion is be bundled with nim (even copied into std during install) means you'll end up with duplicate fusion imports: one from the bundled fusion, and one from pkg/fusion; this in particular will lead to duplicate symbol link errors as soon as you have some exportc symbols defined; see the whole thread here: https://github.com/nim-lang/fusion/issues/25#issuecomment-708099682 that worries me a lot

on the flip side, the positive aspects about fusion would be:

community maintained (no package-gone-rogue/unmaintained)
batteries included extended standard library, where things work well together
common infrastructure to reduce overhead (testing/docs/etc) + more visibility

Is the cli module a separate nimble package, or does it come inside the nimble package?

Yeah, it's part of the nimble package. To be fair, now that Nimble supports multiple packages in the same repo, exposing the cli module as another package should be very trivial. I would prefer to see that as a PR rather than this :)


$.rails is undefined

Hi,
I can't get it to work. I have:
- public/javascripts/jquery/jquery-1.4.4.min.js
- public/javascripts/rails.js
- public/javascripts/jquery.form.js
- public/javascripts/jquery.remotipart.js

in this order in my layout and all I can see on the console is:
cannot call handleRemote on undefined.
So $.rails ist definitely not defined.
I have the correct version of rails.js for remotipart 0.3.4.
Any hints?
Cheers
Michael

For me it was an issue with order of require in app/assets/javascripts/application.js.


Re-sizing logic is slow and somtimes buggy

Resizing a huge list of messages is buggy. Find a way to do this with css (and maybe a little js)

This has been fixed. You can close it.

Fixed by @kiliman's awesome css skillz in 127c9fbb428f2cf9b33793910b10641350f3206e


Feature request: Enable updating all modules

As this is sill early in development, I would like to propose one possible extension that might bring big benefits.
Consider enabling functionality that will find or update all local PS modules. Here is one possible implementation example in POC I did in 2018. Since search will be done in local cache, the only time consuming operation would be to list currently loaded or installed modules.
It can be implemented either as standalone command or as extension to Find-PSResource or Update-PSResource, something like:
Find-PSResource -ListUpdatable
Update-PSResource *

I am not sure on what's the best syntax setup. But, I believe a functionality to find all updatable resources is one of the common functionalities in modern package managers, and PowerShellGet 3 should have it.
Keep up the good work!

Thanks @iricigor that sounds cool, we are going investigate whether we can make this happen in the 3.0 timeframe or if it will fall after?

Current workaround would be something like: Get-PSResource * |Update-PSResource
Going to mark this as Consider 3.0

Marking this as a duplicate of #157


Scoreboardstats config order is messed up?

Okay so, I have my scoreboardstats config set up so it should display Ping, then Online players, then faction power, Exactly like this, config below.
Scoreboard:
Title: '&c&lStats'
seconds
For instant updates you can or 1 and it will update every second
Update-delay: 1
Items:
# The Title must have under 48 characters
# Title: Type
'&f&lPing Â»': '%ping%'
'&f&lOnline Â»': '%online%'
'F Power': '%power%'
but in-game it gets sorted as "Ping, F power, Online"? Can anyone help me?
https://gyazo.com/f3eaaed7e81f38e81481ce02640a41a0

It's minecraft behavior, because it's used to be a leaderboard. Therefore the highest number is a the top.


Open in new window doesn't work in Chrome 75

I cannot get to full screen in Chrome 75 because open in new window in Chrome 75 gives a "Your session has expired please login again". If logged into the VM without checking open in new window then no full screen icon appears in the clipboard window. Both appear to work fine in Chromium Edge Canary as of 2019-06-26.

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

ID: d63ef78c-e0ff-8655-2e65-684667278758
Version Independent ID: f03d85fc-7ddc-8f4f-369e-835161698608
Content: Change virtual machine session view to full screen in Azure Bastion
Content Source: articles/bastion/bastion-vm-full-screen.md
Service: bastion
GitHub Login: @cherylmc
Microsoft Alias: cherylmc

@pleska I was able to open a new window in Chrome 75 without an issue. If you want to continue troubleshooting, your best bet is to go through Azure Support.
when not opening in a new window I was also not able to see a fullscreen window button on the clipboard on any browser. I will be following up with this.

@pleska the full screen options will be added in the future.
We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


ADR for validation yaml

This is a really rough first outline at what some possible options could look like for the validation yaml when we consider:

Domain / Provider decoupling
Remote validations
Logical validations
Placeholder validations

I think it might make sense to have multiple specifications for the yaml, I'm not sure if it's an anti-pattern to do a bunch of case sensitive switching on field structure, but it feels a little icky.

I'm wondering if the domain.type and provider.type is redundant... that information is effectively already given in the x_spec field... so really it's more there from like a decorator perspective but in the interest of trimming fat perhaps we could do-away with it? I guess the one benefit of having it is if, for example, someone had specs for multiple providers, the "type" would point to which should actually be used. Again, perhaps not necessary though since you could probably determine logic for handling that scenario in the tool.

I'm wondering if the domain.type and provider.type is redundant... that information is effectively already given in the x_spec field... so really it's more there from like a decorator perspective but in the interest of trimming fat perhaps we could do-away with it? I guess the one benefit of having it is if, for example, someone had specs for multiple providers, the "type" would point to which should actually be used. Again, perhaps not necessary though since you could probably determine logic for handling that scenario in the tool.

@meganwolf0 have you thought about when we support AWS/CSPs and Terraform etc? I think the domain/type field has more merit there.
Also wanted to call out thatI like what you've got marked as required and optional really do line up to support other domains. Since  AWS/etc may not need that but it may need/could use others.


Highlight https://developer.microsoft.com/en-us/windows/apps/develop in the UWP landing page

https://developer.microsoft.com/en-us/windows/apps/develop used to be on the forefront of the UWP page, now it is on the ribbon, even though it would be a better starting point for anyone wanting to develop UWP, please give it a more 'in the front' position on the page
This issue is transferred from https://github.com/MicrosoftDocs/feedback/issues/73

@Powerhelmsman I can't tell who opened this issue and the linked issue doesn't really have more info. What page do you want a more promoted link for the develop section?


How to get the result of multicore

Hello, I've read the paper Risk based Planning of Network Changes in Evolving Data Centers.
But When I tried to excute janus/scripts/12-scale-time.sh to get the result in table 4. I found there is no result of the multicore planner.I tried to change the num_thread variate in janus/src/util/monte_carlo.c and nthreads in janus/src/exec.c but I didn't get the right result.
When I change these variates to 1 and 20 and execute the experiment in four scales with the pug-lookback executor, I got the execute times 0.8167s, 6.6944s,16.7495s, 116.5874s and 2.2692s, 8.9333s, 18.4037s, 117.6078s It seems that the results do not differ much.
I wonder how can I get the correct result.
Thanks!

Hey,
Thanks for reaching out!
The results in table 4 are interpolated (it's mentioned in the footnote) as the code for pug is mostly running on a single thread.  I believe the longterm simulator does use parallelization, but I don't have the means to test the code right now.
P.S., Please feel free to add parallelization as a pull request and I'd be happy to integrate it.


[FLINK-14767] Mark TaskManagerOptions#EXIT_ON_FATAL_AKKA_ERROR with @Deprecated annotation

What is the purpose of the change
This pull request marks TaskManagerOptions#EXIT_ON_FATAL_AKKA_ERROR with @Deprecated annotation
Brief change log

Mark TaskManagerOptions#EXIT_ON_FATAL_AKKA_ERROR with @Deprecated annotation

Verifying this change
This change is a trivial rework / code cleanup without any test coverage.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (yes / no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (yes / no)
The serializers: (yes / no / don't know)
The runtime per-record code paths (performance sensitive): (yes / no / don't know)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: (yes / no / don't know)
The S3 file system connector: (yes / no / don't know)

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)

cc @GJL and @zentol

@aljoscha I know I should use command to regenerate docs. However, after I ran:
mvn -Pgenerate-config-docs install -DskipTests -T 4

There is nothing changed.

Yes, because the setting is not removed in the code. If anyone re-generates the documentation in the future they will simply revert your manual changes, that's why it should not be changed manually.

@aljoscha So, what should I do now? I removed it because I compared with other config option e.g. TaskManagerOptions#NETWORK_NUM_BUFFERS which is marked as @Deprecated and does not exist in any documentation.

I don't see TaskManagerOptions#NETWORK_NUM_BUFFERS in the current master branch.
In my opinion the option can just be removed, because it doesn't do anything.

I don't see TaskManagerOptions#NETWORK_NUM_BUFFERS in the current master branch.
In my opinion the option can just be removed, because it doesn't do anything.

I mean all the config options which marked with @Deprecated in TaskManagerOptions do not exist in the generated task_manager_configuration.html file.

@aljoscha I know I should use command to regenerate docs. However, after I ran:
mvn -Pgenerate-config-docs install -DskipTests -T 4

There is nothing changed.

Hi @aljoscha when I review our conversation, maybe you misunderstood my comment.
What I mean here is that use mvn -Pgenerate-config-docs install to generate the new doc file takes the same effect with my current change(remove the config option manually).
I just retried again in a new branch, mark EXIT_ON_FATAL_AKKA_ERROR with @Deprecated, then invoke mvn -Pgenerate-config-docs install, it also removed this config option in task_manager_configuration.html.

Ok, sorry! Then that was a miss-understanding. 😓