text:
Interaction Rework

Pull Request Etiquette

[x] I have checked the PRs for upcoming features/bug fixes.
[x] I have read the contributing guidelines.

Changes

[x] Internal code
[x] Library interface (affecting end-user code)
[ ] Documentation
[ ] Other: _____

Closes Issue: NaN
Description
This is still very much a work in progress. However, it is already finished enough to test in your own projects. We still need to consider some naming and especially how we want to proceed with CommandData.
Bill of materials:

[x] Auto-Complete (for slash commands)
[x] Context Menus (Message & User)
[ ] Attachment Options (unreleased)
[ ] Modal Interactions (unreleased)

Interaction Hierarchy

Discussion
We are actively discussing development of this rework in our Discord Server in the Interaction Rework Thread
Migration Details
Interaction Rework
In JDA 5, we need to rework our interactions in order to properly support the new interactions such as Context Menus and Auto-Complete.
Added

Auto-Complete interactions are now supported via CommandAutoCompleteInteractionEvent and OptionData#setAutoComplete
Context Menus are now supported via ContextInteraction with MessageContextInteractionEvent and UserContextInteractionEvent
Command#getType has been added together with the Command.Type enum
CommandData.fromCommand(Command) has been added, which can be used to convert an instance of Command to CommandData

Changed

Since context menus are also application commands, we had to change how CommandData works. Previously, you created these through the constructor with new CommandData(name, desc). This pattern does not work anymore because context menus introduced command types that don't have descriptions. These types are now handled by factory methods instead. New slash commands are now created with Commands.slash(name, desc) and context commands can be created with Commands.context(type, name).

The update code looks like this:
jda.updateCommands()
   .addCommands(Commands.slash("ban", "Ban a user").addOption("user", "The user to ban", true))
   .addCommands(Commands.user("ban")) // context menu item
   .queue();

SelectionMenu has been renamed to SelectMenu, this rename includes event names as well. SelectionMenuEvent -> SelectMenuInteractionEvent
The old Component interface is now changed to ActionComponent which includes Button and SelectMenu
The old ComponentLayout interface is now changed to LayoutComponent
We now introduced a new Component interface as an abstraction of ActionComonent and LayoutComponent
Interaction no longer has reply, deferReply, and getHook. These have all been moved to dedicated interfaces: IReplyCallback and IDeferrableCallback which are implemented by ComponentInteraction (Buttons/SelectMenus) and CommandInteraction (Slash/User/Message commands)
Auto-Complete interactions do not support replies with messages, you can only reply with a list of Command.Choice (Name/Value pairs). This is implemented via IAutoCompleteCallback.
MessageType.APPLICATION_COMMAND has been renamed to SLASH_COMMAND because we now also have MessageType.CONTEXT_COMMAND
InteractionType.SLASH_COMMAND has been renamed to COMMAND and we added InteractionType.COMMAND_AUTOCOMPLETE

All interaction commands have been renamed to a more consistent and clear pattern:

SlashCommandEvent -> SlashCommandInteractionEvent
ButtonClickEvent -> ButtonInteractionEvent
SelectionMenuEvent -> SelectMenuInteractionEvent

Removed

All ApplicationCommand* events have been removed, discord does not support these events anymore

TODO:

[ ] Rename the callback actions to be more fitting
[ ] Reconsider hierarchy for CommandData
[ ] Documentation
[ ] Checks

I've introduced a new class which hosts factory methods to create the various command types with static asserted types:
CommandListUpdateAction commands = jda.updateCommands();

// Add slash command
commands.addCommands(
    Commands.slash("ban", "Ban a user from this server. Requires permission to ban users.")
        .addOptions(new OptionData(USER, "user", "The user to ban") // USER type allows to include members of the server or other users by id
            .setRequired(true)) // This command requires a parameter
        .addOptions(new OptionData(INTEGER, "del_days", "Delete messages from the past days.")) // This is optional
);

// Add user command
commands.addCommands(
    Commands.user("Ban user") // cannot call addOptions
);

All the interaction callback rest actions now follow the naming pattern: <Type>CallbackAction

ReplyCallbackAction
MessageEditCallbackAction
AutoCompleteCallbackAction

I have also updated the class documentation for IReplyCallback and IMessageEditCallback to explain how they function in more detail, especially their behavior with @original.

Should we rename component types?

Component -> ActionComponent
ComponentLayout -> LayoutComponent

Should this PR also add a CommandPayload#getOptionValue(name, fallback)? (See Card)

Should this PR also add a CommandPayload#getOptionValue(name, fallback)? (See Card)

I'd love that

It'd be something like my OptionHelper? That would be incredibly helpful 😄

Should we rename component types?

Component -> ActionComponent
ComponentLayout -> LayoutComponent

See also: Card

I actually like what we already have. Are layout systems like ActionRow considered "components"?

Renaming them would allow us to do methods like addComponents(component...) which can accept either a layout component or action components. That could be nice for something like selection menus, which can only appear once per action row. And yes, action row is considered a component in the API.
We could make an abstracted Component interface for the shared functionality (which is just type so far).

I will also remove ApplicationCommand events because they are not supported for bots anymore: https://github.com/discord/discord-api-docs/issues/3690#issuecomment-902915187

We could probably make CommandCreateAction extend SlashCommandData to save us some docs duplication. Thoughts?

We could probably make CommandCreateAction extend SlashCommandData to save us some docs duplication. Thoughts?

Interaction#isAcknowledged() is not working as expected on SlashCommandInteractionEvent.
Using v5.0.0-alpha.3
import net.dv8tion.jda.api.JDABuilder
import net.dv8tion.jda.api.events.GenericEvent
import net.dv8tion.jda.api.events.interaction.SlashCommandEvent
import net.dv8tion.jda.api.hooks.EventListener

fun onSlashCommandInteraction(event: SlashCommandEvent) {
    println("Received ${event::class.java.simpleName}")

    printAck(event)

    event.deferReply().queue()

    // Should be acknowledged at this point
    printAck(event)

    if (event.isAcknowledged) event.hook.sendMessage("Post ack").queue()
    else event.reply("Not ack").queue()
}

fun printAck(event: SlashCommandEvent) {
    println("IsAck?: ${event.isAcknowledged}")
}

fun main() {
    val jda = JDABuilder.createLight(System.getenv("DISCORD_TOKEN"))
        .addEventListeners(object : EventListener {
            override fun onEvent(event: GenericEvent) {
                when (event) {
                    is SlashCommandEvent -> onSlashCommandInteraction(event)
                }
            }
        })
        .build()

    Runtime.getRuntime().addShutdownHook(Thread {
        jda.shutdown()
    })
}

Output

Using com.github.DV8FromtheWorld:JDA:dff736bd7a  (dff736bd7a):
The same code, just only changed SlashCommandEvent for SlashCommandInteractionEvent.
import net.dv8tion.jda.api.JDABuilder
import net.dv8tion.jda.api.events.GenericEvent
import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent
import net.dv8tion.jda.api.hooks.EventListener

fun onSlashCommandInteraction(event: SlashCommandInteractionEvent) {
    println("Received ${event::class.java.simpleName}")

    printAck(event)

    event.deferReply().queue()

    // Should be acknowledged at this point
    printAck(event)

    if (event.isAcknowledged) event.hook.sendMessage("Post ack").queue()
    else event.reply("Not ack").queue()
}

fun printAck(event: SlashCommandInteractionEvent) {
    println("IsAck?: ${event.isAcknowledged}")
}

fun main() {
    val jda = JDABuilder.createLight(System.getenv("DISCORD_TOKEN"))
        .addEventListeners(object : EventListener {
            override fun onEvent(event: GenericEvent) {
                when (event) {
                    is SlashCommandInteractionEvent -> onSlashCommandInteraction(event)
                }
            }
        })
        .build()

    Runtime.getRuntime().addShutdownHook(Thread {
        jda.shutdown()
    })
}

Output:

Interaction#isAcknowledged() is not working as expected on SlashCommandInteractionEvent.
Using v5.0.0-alpha.3
import net.dv8tion.jda.api.JDABuilder
import net.dv8tion.jda.api.events.GenericEvent
import net.dv8tion.jda.api.events.interaction.SlashCommandEvent
import net.dv8tion.jda.api.hooks.EventListener

fun onSlashCommandInteraction(event: SlashCommandEvent) {
    println("Received ${event::class.java.simpleName}")

    printAck(event)

    event.deferReply().queue()

    // Should be acknowledged at this point
    printAck(event)

    if (event.isAcknowledged) event.hook.sendMessage("Post ack").queue()
    else event.reply("Not ack").queue()
}

fun printAck(event: SlashCommandEvent) {
    println("IsAck?: ${event.isAcknowledged}")
}

fun main() {
    val jda = JDABuilder.createLight(System.getenv("DISCORD_TOKEN"))
        .addEventListeners(object : EventListener {
            override fun onEvent(event: GenericEvent) {
                when (event) {
                    is SlashCommandEvent -> onSlashCommandInteraction(event)
                }
            }
        })
        .build()

    Runtime.getRuntime().addShutdownHook(Thread {
        jda.shutdown()
    })
}

Output

Using com.github.DV8FromtheWorld:JDA:dff736bd7a  (dff736bd7a):
The same code, just only changed SlashCommandEvent for SlashCommandInteractionEvent.
import net.dv8tion.jda.api.JDABuilder
import net.dv8tion.jda.api.events.GenericEvent
import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent
import net.dv8tion.jda.api.hooks.EventListener

fun onSlashCommandInteraction(event: SlashCommandInteractionEvent) {
    println("Received ${event::class.java.simpleName}")

    printAck(event)

    event.deferReply().queue()

    // Should be acknowledged at this point
    printAck(event)

    if (event.isAcknowledged) event.hook.sendMessage("Post ack").queue()
    else event.reply("Not ack").queue()
}

fun printAck(event: SlashCommandInteractionEvent) {
    println("IsAck?: ${event.isAcknowledged}")
}

fun main() {
    val jda = JDABuilder.createLight(System.getenv("DISCORD_TOKEN"))
        .addEventListeners(object : EventListener {
            override fun onEvent(event: GenericEvent) {
                when (event) {
                    is SlashCommandInteractionEvent -> onSlashCommandInteraction(event)
                }
            }
        })
        .build()

    Runtime.getRuntime().addShutdownHook(Thread {
        jda.shutdown()
    })
}

Output:

Interaction#isAcknowledged() is not working as expected on SlashCommandInteractionEvent.

This should be fixed now.

Interaction#isAcknowledged() is not working as expected on SlashCommandInteractionEvent.

This should be fixed now.

I've added ActionRow.partitionOf(components) which can be used to quickly generate a list of valid action rows for arbitrary amounts of components:
val buttons = List<ActionComponent>(21) { primary("$it", "$it") }
val selects = List<ActionComponent>(5) { SelectMenu.create("$it").build() }
val merged = buttons + selects
println(ActionRow.partitionOf(merged.shuffled()).joinToString("\n"))

ActionRow([B:4(4), B:3(3), B:1(1), B:9(9), B:11(11)])
ActionRow([B:12(12), B:15(15)])
ActionRow([SelectMenu:3(null)])
ActionRow([SelectMenu:0(null)])
ActionRow([B:6(6), B:14(14), B:5(5)])
ActionRow([SelectMenu:4(null)])
ActionRow([B:13(13)])
ActionRow([SelectMenu:1(null)])
ActionRow([B:16(16), B:7(7), B:19(19), B:2(2)])
ActionRow([SelectMenu:2(null)])
ActionRow([B:20(20), B:0(0), B:10(10), B:8(8), B:18(18)])
ActionRow([B:17(17)])

I've also added LayoutComponent#withDisabled(boolean) which acts similar to ActionComponent#withDisabled but on its elements.
val row = ActionRow.of(
  Button.primary("id1", "Hello"),
  Button.primary("id2", "World")
)

val disabled = row.withDisabled(true) // -> all buttons disabled

This can be useful when you want to turn off all components on a message quickly:
jda.listener<ButtonInteractionEvent> { event ->
  if (event.componentId == "disable") {
    event.editComponents(event.message.actionRows.map { it.asDisabled() }).queue()
  }
}

I've also added LayoutComponent#withDisabled(boolean) which acts similar to ActionComponent#withDisabled but on its elements.
val row = ActionRow.of(
  Button.primary("id1", "Hello"),
  Button.primary("id2", "World")
)

val disabled = row.withDisabled(true) // -> all buttons disabled

This can be useful when you want to turn off all components on a message quickly:
jda.listener<ButtonInteractionEvent> { event ->
  if (event.componentId == "disable") {
    event.editComponents(event.message.actionRows.map { it.asDisabled() }).queue()
  }
}

Out of simple curiosity, what would be the Java equivalent of this?

//You've created an ActionRow and sent it in a message somewhere
ActionRow row = ActionRow.of(
   Button.primary("id1", "Hello"),
   Button.primary("id2", "World"),
)

//You receive
@Override
public void onButtonInteraction(ButtonInteractionEvent event) {
  //note, Minn checked for "disable" but the buttons provided had ids of `id1` and `id2`
  if (event.getComponentId().equals("disable")) {
    List<ActionRow> rows = event.getMessage().getActionRows()
      .stream()
      .map(row -> row.asDisabled()
      .collect(Collectors.toList());

    event.editComponents(rows).queue();
  }
}

I've further abstracted the component hierarchy to account for possible non-action components in the future, such as text or image elements:

LayoutComponent#getComponents now returns a List<ItemComponent> instead. I've added a LayoutComponent#getActionComponents for convenience.
The name for ItemComponent is still up in the air, the hierarchy seems pretty solid though.

For full transparency, the other "competing" name for ItemComponent is LayoutChildComponent


text:
Aspect ratio wrong

All,
I played the Hope stream on my Samsung Galaxy S20 and the aspect ratio is completely wrong.
Thanks
Thomas

On my Moto G5S plus (Android 8.1.0), the Hope stream started correct, then changed to have the wrong aspect ratio (compressed vertically with black bars added) and then changed back again.
This looks like a stream problem & hence we might want to remove Hope from the master service list.

On my wide format Huawei Mate 10 Pro (1440x720) it starts correctly

but then the aspect ratio is messed up

This is not related to the DVB-I Reference Client, but possibly dash.js or the encoding/packaging itself, since the same issue occurs when playing https://reference.dashif.org/dash.js/nightly/samples/dash-if-reference-player/index.html in https://reference.dashif.org/dash.js/nightly/samples/dash-if-reference-player/index.html

Ok - maybe someone can file an issue here: https://github.com/Dash-Industry-Forum/dash.js/issues/new/choose

Done here https://github.com/Dash-Industry-Forum/dash.js/issues/3459

This is an issue with the content. Chrome scales to dimensions: "2560x720" in dash.js and Shaka on the highest quality. There is only one init segment for all representations although they differ in sample aspect ratio and resolution. Might be worth checking

Lets remove this service from our service list and close this issue

source: gharchive/issue

authors: dsilhavy haudiobe jpiesing paulhiggs

repo: DVBproject/DVB-I-Reference-Client

license: MIT

license_type: permissive

license_source: github-api


text:
[Ols fails to build] Language server for Odin fails to build

ols git:(master) ./build.sh
/Users/dgodstand/ols/src/server/workspace_symbols.odin(17:7) Error: 'os.Error' is not a type
err: os.Error,
^^
Suggestion: Did you mean?
Errno
EROFS
E2BIG
dlerror
ENOSR
ELAST
EIDRM
EBUSY
EXDEV
ENXIO
ETIME
EPIPE
EFBIG
EAUTH
EINTR
ESRCH
ELOOP
EPERM
__error
EBADF
/Users/dgodstand/ols/src/server/references.odin(20:92) Error: 'os.Error' is not a type
... > (err: os.Error, skip_dir: bool) { ...
^^
Suggestion: Did you mean?
Errno
EROFS
E2BIG
dlerror
ENOSR
ELAST
EIDRM
EBUSY
EXDEV
ENXIO
ETIME
EPIPE
EFBIG
EAUTH
EINTR
ESRCH
ELOOP
EPERM
__error
EBADF
/Users/dgodstand/ols/src/main.odin(26:27) Error: Cannot convert untyped value 'nil' to 'Errno' from 'untyped nil'
return a, cast(int)(b != nil)
^~^
/Users/dgodstand/ols/src/server/references.odin(24:10) Error: Cannot assign value 'nil' of type 'untyped nil' to 'invalid type' in return statement
return nil, false
^~^
/Users/dgodstand/ols/src/server/references.odin(28:10) Error: Cannot assign value 'nil' of type 'untyped nil' to 'invalid type' in return statement
return nil, false
^~^
/Users/dgodstand/ols/src/main.odin(32:27) Error: Cannot convert untyped value 'nil' to 'Errno' from 'untyped nil'
return a, cast(int)(b != nil)
^~^
/Users/dgodstand/ols/src/server/references.odin(38:9) Error: Cannot assign value 'nil' of type 'untyped nil' to 'invalid type' in return statement
return nil, false
^~^
/Users/dgodstand/ols/src/common/ast.odin(80:14) Error: 'Private_Flag' is not declared by 'parser'
private:    parser.Private_Flag,
^~^
/Users/dgodstand/ols/src/odin/printer/printer.odin(134:8) Error: 'starts_with' is not declared by 'strings'
if !strings.starts_with(comment.text, "//") do continue
^~^
/Users/dgodstand/ols/src/odin/printer/printer.odin(137:8) Error: 'starts_with' is not declared by 'strings'
if !strings.starts_with(comment_text, "odinfmt:") do continue
^~^
/Users/dgodstand/ols/src/odin/printer/printer.odin(218:13) Error: Cannot iterate over 'file.tags' of type '^File'
for tag in file.tags {
^~^
/Users/dgodstand/ols/src/odin/printer/printer.odin(219:51) Error: Undeclared name: tag
... gs.trim(tag.text, "\r\n")), newline(1)) ...
^~^
/Users/dgodstand/ols/src/odin/printer/printer.odin(220:10) Error: Undeclared name: tag
pos := tag.pos
^~^
/Users/dgodstand/ols/src/common/ast.odin(271:13) Error: 'File_Tags' is not declared by 'parser'
file_tags: parser.File_Tags,
^^
/Users/dgodstand/ols/src/odin/printer/visit.odin(239:45) Error: Cannot assign value 'path' of type 'string' to '^Expr' in procedure argument
document = cons(document, visit_expr(p, path))
^^
/Users/dgodstand/ols/src/odin/printer/visit.odin(246:54) Error: Cannot assign value 'v.fullpaths[0]' of type 'string' to '^Expr' in procedure argument
... expr(p, v.fullpaths[0])) ...
^^
/Users/dgodstand/ols/src/common/ast.odin(312:30) Error: Invalid type 'invalid type' for implicit selector expression '.File'
global_expr.private = .File
^^
/Users/dgodstand/ols/src/common/ast.odin(314:30) Error: Invalid type 'invalid type' for implicit selector expression '.Package'
global_expr.private = .Package
^~^
/Users/dgodstand/ols/src/common/ast.odin(317:29) Error: Invalid type 'invalid type' for implicit selector expression '.Package'
global_expr.private = .Package
^~^
/Users/dgodstand/ols/src/common/ast.odin(324:26) Error: Invalid type 'invalid type' for implicit selector expression '.File'
global_expr.private = .File
^^
/Users/dgodstand/ols/src/common/ast.odin(327:45) Error: Invalid type 'invalid type' for implicit selector expression '.File'
if skip_private && global_expr.private == .File {
^^
/Users/dgodstand/ols/src/odin/printer/visit.odin(270:10) Error: 'v' of type '^Import_Decl' has no field 'attributes'
if len(v.attributes) > 0 {
^
/Users/dgodstand/ols/src/odin/printer/visit.odin(271:51) Error: 'v' of type '^Import_Decl' has no field 'attributes'
... tes(p, &v.attributes, v.pos)) ...
^
/Users/dgodstand/ols/src/odin/printer/printer.odin(301:15) Error: 'imp' of type '^Import_Decl' has no field 'attributes'
for attr in imp.attributes {
^~^
/Users/dgodstand/ols/src/odin/printer/printer.odin(302:4) Error: Undeclared name: attr
attr.pos.line = start_line + i
^^
/Users/dgodstand/ols/src/odin/printer/printer.odin(303:4) Error: Undeclared name: attr
attr.end.line = start_line + i
^^
/Users/dgodstand/ols/src/common/ast.odin(349:15) Error: 'parse_file_tags' is not declared by 'parser'
... tags := parser.parse_file_tags(file, context.temp_allocator) ...
^~~~~~~~~~~~~^
Suggestion: Did you mean?
parse_proc_tags
/Users/dgodstand/ols/src/server/marshal.odin(359:31) Error: 'info' of type 'Type_Info_Struct' has no field 'field_count'
for name, i in info.names[0:info.field_count] {
^^
/Users/dgodstand/ols/src/server/collector.odin(649:23) Error: Invalid type 'invalid type' for implicit selector expression '.File'
if expr.private == .File {
^^
/Users/dgodstand/ols/src/server/collector.odin(653:23) Error: Invalid type 'invalid type' for implicit selector expression '.Package'
if expr.private == .Package {
^~^

You are using an old Odin version.

Apologies! I will update it and try again. Thanks!

➜  ols git:(master) build.sh
Total Time        -  7947.027 ms - 100.00%
initialization    -     1.273 ms -   0.01%
parse files       -    17.213 ms -   0.21%
type check        -   146.619 ms -   1.84%
LLVM API Code Gen -  7698.613 ms -  96.87%
ld-link           -    83.304 ms -   1.04%
Updated and it works now. Thank you

repo: DanielGavin/ols


text:
🛑 Review-Now.de is down

In 3bdbae5, Review-Now.de (https://review-now.de) was down:

HTTP code: 403
Response time: 69 ms

Resolved: Review-Now.de is back up in 49123c2.

repo: DanielMSchmidt/uptime


text:
Work in progress to add line wrapping

Should close #7, it's not even close right now 😄 The line wrapping fail because there are space before and after the leading string.

[ ] Line wrapping after certain line length
[ ] make line length configurable, search for settings of other tools (black, pylint)
[ ] Break up multiple sentences on first line into summary and main block (see PEP 256)
[ ] Handle numpy/google style docstrings gracefully with line wrapping

I like how it auto-formatted our own test examples 😄

Pull Request Test Coverage Report for Build 1894995892

6 of 6 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 1890091473:
0.0%

Covered Lines:
359

Relevant Lines:
359

💛  - Coveralls

@Pierre-Sassoulas I have started working some more on this as it is a nice little job I can do in between other (personal) stuff.
This is still WIP, but in order for this to remain manageable I'd like to focus on wrapping summaries for now. In this PR we should add that basic functionality with the line length as ordered by PEP 8 (which is 72 😮).
Before releasing this we should probably also allow setting the max line length in some way.
One thing I haven't yet fixed is how to handle docstrings that haven't been split. For example:
"""My beautiful docstring
This function will do a number of things:
bla di bla
"""

Should be
"""My beautiful docstring

This function will do a number of things:
bla di bla
"""

That makes it much easier for this to line wrap. However since the \n\n is missing, this current iteration will now wrap this to:
"""My beautiful docstring This function will do a number of things: bla di bla."""

in order for this to remain manageable I'd like to focus on wrapping summaries for now

Yes, let's not do too much at once.

add that basic functionality with the line length as ordered by PEP 8 (which is 72 😮).

I think this is unreasonable and we should use 88 by default (black's default).

this current iteration will now wrap this to: """My beautiful docstring This function will do a number of things: bla di bla."""

Is it really problematic ? I mean if we encounter an end of sentence punctuation we could cut easily after it then line wrap. Maybe we should first add end of sentence punctuation if there's a \n then line wrap ? If there's no \n at all in the docstring we do not add a ., and we line wrap ?

add that basic functionality with the line length as ordered by PEP 8 (which is 72 😮).

I think this is unreasonable and we should use 88 by default (black's default).

Personally I'd like to strictly adhere to the PEP's and make it very clear how to avoid this (awful) default. Something like "we recommend running with pydocstringformatter --line-length=88" in the first sections of the README.
Adhering strictly to the PEP's avoids any future discussion about defaults etc, which is something that's likely going to come up with a strict tool like this.

this current iteration will now wrap this to: """My beautiful docstring This function will do a number of things: bla di bla."""

Is it really problematic ? I mean if we encounter an end of sentence punctuation we could cut easily after it then line wrap. Maybe we should first add end of sentence punctuation if there's a \n then line wrap ? If there's no \n at all in the docstring we do not add a ., and we line wrap ?

We do cut in SplitSummaryAndDocstringFormatter. So pydocstringformatter  --linewrap-full-docstring --split-summary-body . works best. However, that formatter is still optional as I'm not fully satisfied with how we determine what is a summary and what is a description. I think it's a good design philosophy not to depend too much on other checkers being activated. That's also why I use quotes here instead of """. If people really want to use ''' or " then this formatter won't break that.
We could also think: let's format everything and if the user doesn't want us to they should clearly indicate what is a summary and what isn't. However, I think that's not the most user-friendly approach.
I'll think about this some more and hopefully come up with something elegant.

make it very clear how to avoid this (awful) default

Hmm, why put the bad default value in the first place if we think everyone need to change it ? black is pretty successful with a "sane default" and the possibility to change it to the value from pep8 if you're a purist (and 79 is more reasonable than 72 too). Having good default values is pretty important imo.

avoids any future discussion

If the default is sane it's going make the discussion less likely. I think that if black default was 79, the first thing to do when adopting black would be to discuss between 79, 80, 90, 100, 110, 120 for line length. As it's reasonable, I think discussions happen less often.
Also it would not be a problem if we go check the line length for black/pylint/flake8 ourselves in the configuration files later on.

We could also think: let's wrap everything and if the user doesn't want us to they should clearly indicate what is a summary and what isn't

Pretty much agree with that, if the docstring is bad we cannot make it good magically. crap in, crap out !

@Pierre-Sassoulas Could you review this 😄

source: gharchive/pull-request

authors: DanielNoord Pierre-Sassoulas coveralls

repo: DanielNoord/pydocstringformatter


text:
Angular 7 Can't open date-time-picker modal

After i update my project to angular 7 i have the following error when i try to open the datetimepicker modal.
ERROR TypeError: Cannot read property 'subscribe' of undefined     at new OwlCalendarComponent (calendar.component.js:44)     at createClass (core.js:18598)     at createDirectiveInstance (core.js:18467)     at createViewNodes (core.js:19693)     at createEmbeddedView (core.js:19601)     at callWithDebugContext (core.js:20639)     at Object.debugCreateEmbeddedView [as createEmbeddedView] (core.js:20139)     at TemplateRef_.push../node_modules/@angular/core/fesm5/core.js.TemplateRef_.createEmbeddedView (core.js:18182)     at ViewContainerRef_.push../node_modules/@angular/core/fesm5/core.js.ViewContainerRef_.createEmbeddedView (core.js:18048)     at NgIf.push../node_modules/@angular/common/fesm5/common.js.NgIf._updateView (common.js:3394)

install ng-pick-datetime using following  line, you can solve your probelm npm install ng-pick-datetime@6.0.16 --save

The solution for me, using Angular 7 was jonathanamigo solutionb

In my case the problem was that my custom OwlDateTimeIntl provider didn't extend OwlDateTimeIntl

In my NgModule:
@NgModule({
  providers: [
    {
      provide: OwlDateTimeIntl,
      useClass: DefaultIntl
    }
  ]
})

And my DefaultIntl class looks like:
import { OwlDateTimeIntl } from 'ng-pick-datetime/picker'

export class DefaultIntl extends OwlDateTimeIntl {}

HI,
I'm trying the same in IONIC application. Tested with the above solution as well.
The error is :
TypeError: Class constructor BasePortalOutlet cannot be invoked without 'new'.
Could u please help me out

authors: AlluNandaKishore Nikpds RamBM yossely

repo: DanielYKPan/date-time-picker

license: mit

license_source: bigquery


text:
Question with masking in Flash-Attention when query and key lengths differ

I noticed that the masking operation performed before the softmax in the self-attention mechanism might not be handling the case when the query and key lengths differ. Based on my understanding, the masking needs to be adjusted according to the differing lengths of the query and key.
Could you please verify if this is indeed the case? If so, it seems like there might be an issue in the current implementation.
https://github.com/Dao-AILab/flash-attention/blob/main/csrc/flash_attn/src/softmax.h#L159
Looking forward to your feedback.

Yup, I'm gonna push some changes tomorrow to address this case.

Thank you for your reply. I am looking forward to it.

Funny, all of a sudden it seems like there is a lot of interest in this support!
https://github.com/Dao-AILab/flash-attention/issues/466
https://github.com/Dao-AILab/flash-attention/issues/476

This is now implemented.

authors: JinuJeong siddartha-RE tridao

repo: Dao-AILab/flash-attention


text:
[ 云原生网络 ] 离线升级云原生网络，tab 切换没有什么内容区别

相关链接

相关链接

目前没有问题，关闭

repo: DaoCloud/DaoCloud-docs


text:
add: download section

Added

Download section to README.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Flag
Coverage Δ

unittests
88.65% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

repo: DarkRockMountain/gomail


text:
tls loader implementation

There is an implementation of LdrpHandleTlsData here :
http://www.nynaeve.net/Code/VistaImplicitTls.cpp
he said that he got it from reversing ntdll tls loader
It depends on some kernel routines but I don't have any knowledge in kernel programming
can you make a user mode copy of this code to be easy to use

No. There is already minimalistic alternative to LdrpHandleTlsData and I'm not going to rewrite 1400 LOC.

What do you mean with minimalistic  alternative ?
do you mean using LdrpHandleTlsData with its rva offest in ntdll ?

I mean this https://github.com/DarthTon/Blackbone/blob/master/src/BlackBone/ManualMap/Native/NtLoader.cpp#L183-L206

simpler and works in user mode !!
I have another question
someone said me that static tls doesn't initialize tls callbacks and I saw that blackbone supports tls callbacks with PROCESS_ATTACH/DETACH only
if this is true then my idea is to hook CreateThread and use THREAD_ATTACH reason on creating threads then wait for them and use THREAD_DETACH reason in thread termination
I know tls callbacks aren't so important but it's an idea

Yes that should work

now I'm trying to use this alternative , as I read it works only for DllMain and I'm responsible for the other threads so I had two ideas to make it work for all threads
the problem now is it doesn't work even for the DllMain
this is what I wrote :
`// tlsdir points to a valid IMAGE_TLS_DIRECTORY
uintptr_t sizeOfTlData = tlsdir->EndAddressOfRawData - tlsdir->StartAddressOfRawData;
unsigned char *tls_buffer = new unsigned char[sizeOfTlData];
memcpy(tls_buffer,&tlsdir->StartAddressOfRawData, sizeOfTlData);
cout << "copied tls buffer with size : 0x" << hex << sizeOfTlData << endl; // I get 0x8 , this is ok
	tlsdir->AddressOfIndex = 0; // in blackbone it's 0 so the data will be written in the start of  ThreadLocalStoragePointer however I can create and use another index which seems to be better

	_THREAD_BASIC_INFORMATION_T<DWORD64> tbi;
	NtQueryInformationThread(GetCurrentThread(), (THREADINFOCLASS)0, &tbi, sizeof(tbi), 0);
	uintptr_t offest = tbi.TebBaseAddress + 0x58; // ThreadLocalStoragePointer offest
	BOOL ress = WriteProcessMemory(GetCurrentProcess(), &offest, tls_buffer, sizeOfTlData, 0); // write the tls data into index 0 of ThreadLocalStoragePointer (start of it)
	if (!ress) cout << "failed with " << GetLastError() << endl;

	// executing tls callbacks , currently no callbacks

	PIMAGE_TLS_CALLBACK* callbacks = (PIMAGE_TLS_CALLBACK*)tlsdir->AddressOfCallBacks;
	if (*callbacks) {
		while (*callbacks)
		{
			(*callbacks)((void*)image, DLL_PROCESS_ATTACH, 0);
			callbacks++;
		}
	}`

this is the tls info from dumpbin :
Section contains the following TLS directory:
000000018004F000 Start of raw data
000000018004F008 End of raw data
0000000180049250 Address of index
0000000180033400 Address of callbacks
               0 Size of zero fill
        00300000 Characteristics
                   4 byte align

TLS Callbacks

      Address
      ----------------
      0000000000000000

my first idea is to use TlsAlloc to create an index and TlsSetValue to set value (tls raw data) for the index
the assign IMAGE_TLS_DIRECTORY.AddressOfIndex to the address of new index
thus the module will receive the data was set in the index

authors: DarthTon adevelopcr

repo: DarthTon/Blackbone


text:
feat: add retina atlas (#2359)

Closes #2359.

Closed duplicate of https://github.com/DataBiosphere/data-portal/pull/2481

repo: DataBiosphere/data-portal


text:
Jupyter terminal console is too large

Whenever I open the Jupyter Terminal in Terra, I find that the bottom of the terminal is cut off. It appears to be about 10 pixels too tall.
Resizing the window doesn't help as there is some automatic resizing of the terminal:
Original:
$ stty -a | head -n 1
speed 38400 baud; rows 34; columns 123; line = 0;

Resize the window larger:
$ stty -a | head -n 1
speed 38400 baud; rows 44; columns 123; line = 0;

I have two workarounds:
1- Scroll the full Terra window to the bottom (this cuts off the very top of the Terra header)
2- Use Chrome's "Zoom Out" until the terminal fits into the browser window.
I have tested this on both MacOS and on Linux.
Side note: this was the first time I observed that there is just a single terminal session, as I had the terminal window open on two machines at once. Perhaps not a common occurrence (though I could see people ending up with two browser tabs on the same machine open at once). The terminal settings of the shell were updated when I opened the terminal on the second computer.

Hi Matt! Is this more of a minor annoyance or is it impeding your ability to use the terminal? My sense is that there are other issues on the board you'd prefer we address first. So, while this may be a relatively small fix, I'm setting it out at 2019 H2. Does that work for you?

This is a minor annoyance and with the release of JupyterLab, I hope to spend more time using that environment.
Thanks!

authors: bradtaylor mbookman

repo: DataBiosphere/saturn-ui


text:
Minor cleanup, address warnings

No functional or breaking changes. Only containing minor housekeeping changes (address warnings)

Docs: grammar fixes
Gradle config: checkstyle, pmd and spotbugs config used in subsequent PR
Build files: quotes only
OpenApi: remove disallowed fields
GitHub workflows: Use V4 actions
Shell scripts: Use quotes for variables (Best practices)
cli: address warnings, minor optimizations
indexer: address warnings, minor optimizations

Doesn't need to be in this PR, but could you add a section to the DEVELOPER_INFO.md doc about how you generated all these changes please? Even if it's not automateable, I think it's useful info to preserve. Thanks again for all this cleanup work!

Done, added along with links to style guide

repo: DataBiosphere/tanagra


text:
[UIE-15] Import @testing-library/jest-dom in setupTests.js

@testing-library/jest-dom extends expect with several custom matchers such as toHaveTextContent.
We use these matchers in probably most tests that render a component. Currently, each test imports @testing-library/jest-dom. This moves that import to setupTests.js so that the custom matchers are always available without each test having to import @testing-library/jest-dom.
This also adds @types/testing-library__jest-dom to package.json. This was already included in the project (it's a dependency of @testing-library/jest-dom), but adding it directly to Terra UI's package.json was necessary to get VSCode's TypeScript integration to recognize that these custom matchers are valid.

Rebased on dev to remove one more @testing-library/jest-dom import that was added in #3485.

repo: DataBiosphere/terra-ui


text:
[Feature Request] Add a Tag for the git branch.

Ansible is frequently run from a git repo and for testing purposes, typically run from a git feature branch to work out any kinks. Including git branch information in the data reported to datadog would allow for more feature rich events and better alerting.

I've followed the contribution guidelines and created a Pull Request that would add this to the datadog plugin.
It should be compatible with git >=1.8.1 and  requires the subprocess built-in

I've followed the contribution guidelines and created a Pull Request that would add this to the datadog plugin.
It should be compatible with git >=1.8.1 and  requires the subprocess built-in

repo: DataDog/ansible-datadog-callback


text:
[jmx] fix jmxfetch configuration (java options & co)

What does this PR do?
Fixes a regression introduced in 6.2 that prevented jmx check config files from configuring the jmxfetch runner (java options, etc).
In 6.2 I added this method that builds a jmxfetch runner with default values : https://github.com/DataDog/datadog-agent/blob/519c22687a87a89c6ecdc6c2cfb25ed689b166b4/pkg/jmxfetch/jmxfetch.go#L77-L86
Before that an empty object was generated and the default values were used only if nothing was set in this object.
Because of the way we load jmxfetch configuration, populating the runner variables introduced this bug
https://github.com/DataDog/datadog-agent/blob/519c22687a87a89c6ecdc6c2cfb25ed689b166b4/pkg/collector/corechecks/embed/jmx.go#L118-L168
Since the object contained the default values instead of empty strings or nils, the defaults were not overwritten by config values.

Bumping the severity to critical since this is a significant regression on JMXFetch, which is a pretty central part of the Agent

authors: arbll olivielpeau

repo: DataDog/datadog-agent


text:
Replace string interner with an LRU and per-origin cache up top.

What does this PR do?
This is 1 of 3 PRs for moving strings out of the heap and into MMAP'd files.

Per-origin LRU caches.  No plumbing yet for origins (e.g. containers).
mmap-file implementation (short but worth separate analysis)
Plumbing - refcounting changes to agent, plumbing for origins.

Together they will provide explicit tracking of primary (strings in contexts
and metrics) memory use per container.  Additionally, each container
will have a separate allocation pool drawing from temporary files on disk.
This should alleviate primary OOM concerns, as the primary driver for memory
use is taken out of the process's RSS.  Memory pressure will result in IOPs
instead of agent termination.  Each container's usage is separated and can be used
as a basis for throttling / backpressure decisions when IOPs go above desired
levels.
Motivation
This PR in isolation provides a better interner than we previously had, by gradual eviction
instead of dumping the entire map.  It also provides tracking mechanisms for per-container
usage.  It also provides a stub implementation of the mmap backend, to show how the
actual one would integrate.  The next PR will show a linux implementation - although it should
be usable completely for a macos implementation.  The interface exposed should allow a
windows CreateFileMapping() based implementation if desired.
Additional Notes
The agent should scale to handle higher workloads, but has the same deployment
for tiny and gigantic machines.  The machines are almost exclusively idle and the
ample available resources are left unused by the agent due to its constant memory
cap and the workloads that can't use the machine for fear of overwhelming the agent.
Possible Drawbacks / Trade-offs
Describe how to test/QA your changes
Testcaess were provided, and the full test suite inv test was run on a linux-arm64 VM.
Reviewer's Checklist

[ ] If known, an appropriate milestone has been selected; otherwise the Triage milestone is set.
[ ] Use the major_change label if your change either has a major impact on the code base, is impacting multiple teams or is changing important well-established internals of the Agent. This label will be use during QA to make sure each team pay extra attention to the changed behavior. For any customer facing change use a releasenote.
[ ] A release note has been added or the changelog/no-changelog label has been applied.
[ ] Changed code has automated tests for its functionality.
[ ] Adequate QA/testing plan information is provided if the qa/skip-qa label is not applied.
[ ] At least one team/.. label has been applied, indicating the team(s) that should QA this change.
[ ] If applicable, docs team has been notified or an issue has been opened on the documentation repo.
[ ] If applicable, the need-change/operator and need-change/helm labels have been applied.
[ ] If applicable, the k8s/<min-version> label, indicating the lowest Kubernetes version compatible with this feature.
[ ] If applicable, the config template has been updated.

High level comment before going further: can you remove all the mmap code and just keep the in-memory part ? I think we want to validate performances and behavior with the in-memory version before adding the mmap complexity.

Hi I still have to figure out what has happened in this go.mod rabbit hole.  Also still need to integrate changes from #20420.

I put everything behind a switch  & interface after talking to @blt and @iksaif.  Telemetry w.r.t. #20420 should be comparable (there aren't any resets, but there are drops, and they're different metrics).

AFAIK the OOM killer uses Working Set Memory for decisions (at least in k8s/namespaces), which does include mmap-ed regions. Is this being taken into account?

Sorry, can you point to any docs where working set includes mmap-ed files?  AFAIK it doesn't include the page cache used by the container.  I can understand why it'd use anonymously-mmap'd memory, but file-backed mmaps should morally count as page cache only.  I can dig into the appropriate sources tomorrow to get a canonical answer.

I can understand why it'd use anonymously-mmap'd memory, but file-backed mmaps should morally count as page cache only

I don't have extensive knowledge of how it treats the different types. I do know the fd-backed (but not real files) mmap regions we use when interacting with the perf subsystem are accounted for in WSS. They are created with the MAP_SHARED flag.

I suppose you can treat my comment more like: "I urge you to profile and test using some experiments, rather than relying upon assumed behavior"

Yes I agree.  We have to test the mmap impl against a heap one and verify
that there's a difference.
On Mon, Nov 27, 2023, 7:25 PM Bryce Kahle @.***> wrote:

I suppose you can treat my comment more like: "I urge you to profile and
test using some experiments, rather than relying upon assumed behavior"
—
Reply to this email directly, view it on GitHub
https://github.com/DataDog/datadog-agent/pull/20943#issuecomment-1828860329,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AOK7D5JJWNEYMMBILDQDDNLYGUVQ3AVCNFSM6AAAAAA7RZTK72VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMRYHA3DAMZSHE
.
You are receiving this because you authored the thread.Message ID:
@.***>

Sorry, can you point to any docs where working set includes mmap-ed files? AFAIK it doesn't include the page cache used by the container. I can understand why it'd use anonymously-mmap'd memory, but file-backed mmaps should morally count as page cache only. I can dig into the appropriate sources tomorrow to get a canonical answer.

anonymously-mmap'd memory is counted as RSS actually and not WSS.
on k8s, WSS excludes the  inactive_file of the LRU
reference

another reference for performance issues of mmap
(TL;DR: paragraph 3.4 - TLB shootdowns and page evictions bottlenecks)

@val06 thanks these are great.   When we're near OOM-killing state in the mmap-enabled situation, where I expect that the container limits block is set quite high or unset, I think this is when we should look for strategies to split up the larger mmaps (>100 MiB?) into many files that we can open/close -- perhaps with LRU.  That'll keep more of that dataset in the inactive list.  WDYT?
As for the paper -- which is awesome -- page evictions are something we have to monitor & manage already.  Watching /proc/self/stat for actual IOPs and triggering backpressure is how we fend that off.    IPIs are probably unavoidable unless the kernel has a cutout for unlink'd files with MAP_PRIVATE and refcounts of 1.   I'm still digging for stats on their performance, but an old reference (https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Cost-of-IPI-inter-processor-interrupt/td-p/867875) puts it at ~1600 cycles (~540 nsec) per core.  That stat is pretty weak so I'll ask around a bit to try and get a better number.

Linters and go mod are happy, but some subprocesses are unhappy about rust being unavailable or the wrong version, and a mock object on Windows being called wrong.  I'll try a rebase in the morning and see if that helps.

I think the in memory LRU part looks great, but I'd really like to see micro-benchmarks (or real life benchmarks) before merging such a large amount of code (the regressions tests are useful, but I don't think they dispense us from actual benchmarks) - it should not take too long and they will be useful to later PRs on this part.
Related to the MMAP code, I also have the intuition that it should be useful, but I think before we merge anything related to mmap it would be very useful to do a build of your changes and test it with a known-to-be-memory-consuming scenarios and gather some data supporting the idea (similar to @brycekahle's comment)
Another open question (not blocking this PR) is how does it fit in the big picture of memory usage within the agent ? What if next it's the python checks that are taking all the memory ? We can't trigger backpressure on statsd because python checks are using memory, that would be unfair. I think it would be interesting to see that written down somewhere (for context, it's the issue that the current memory limiter has)

I think the in memory LRU part looks great, but I'd really like to see micro-benchmarks (or real life benchmarks) before merging such a large amount of code (the regressions tests are useful, but I don't think they dispense us from actual benchmarks) - it should not take too long and they will be useful to later PRs on this part.

Ah! I think that's where we're missing each other.  The regression detector is a performance regression detector - AFAIK it's a series of benchmarks to detect negative changes in performance.

Related to the MMAP code, I also have the intuition that it should be useful, but I think before we merge anything related to mmap it would be very useful to do a build of your changes and test it with a known-to-be-memory-consuming scenarios and gather some data supporting the idea (similar to @brycekahle's comment).

It's all in https://github.com/DataDog/datadog-agent/tree/lally/exp-mem-metrefs - I've developed it against the stress-test benchmark.  I agree it's necessary to verify the behavior against the memory-heavy situations.  Especially when the current agent OOMs.  I've been, frankly, bashing my head against the wall on the go mod / linter situation but that's clearing up now.  I'll start taking a look on setting that up.

Maybe It could be split out of this PR if the in-memory LRU interner already has demonstrated value for us ? (not blocking, just a suggestion)

The mmap changes aren't in this PR.  There's some hooks for the mmap changes to go in, but the mmap changes aren't there.  See `

Another open question (not blocking this PR) is how does it fit in the big picture of memory usage within the agent ? What if next it's the python checks that are taking all the memory ? We can't trigger backpressure on statsd because python checks are using memory, that would be unfair. I think it would be interesting to see that written down somewhere (for context, it's the issue that the current memory limiter has)

That's a fine question.  Generally, we want to find ways to throttle the component making us use excessive amounts of memory.   I know nothing about the python checks.  For them, the questions are: what controls do we have on them?  If the checks' results linger in memory for a while, we can try reducing frequency.  Or we can try to find ways to contain its usage (e.g., move parallel ops to serial, split up the work into batches, run in a separate container with a mem limit and control over an IPC bridge, etc).

@val06 thanks these are great. When we're near OOM-killing state in the mmap-enabled situation, where I expect that the container limits block is set quite high or unset, I think this is when we should look for strategies to split up the larger mmaps (>100 MiB?) into many files that we can open/close -- perhaps with LRU. That'll keep more of that dataset in the inactive list. WDYT?

Yes I also consider this scenario as the main candidate for benefits of using mmap as a backend for string interning. One of the main gains (subject to PoC'ing) is avoiding OOMs caused by k8s hard memory limits and GO's gc behavior. For reference: in System-Probe, we are using this pkg for string interning (in heap, no LRU)

authors: brycekahle iksaif lallydd val06


text:
Fix deb artifact path causing docker build to become flaky

What does this PR do?
Changes the DESTINATION_DEB* variable of the agent_deb-x64-a7-auto gitlab job to something unique to this job
Motivation
In a previous PR, a new job was introduced which uploaded an artifact named datadog-agent_7_amd64.deb. However, this name is already being used by the agent_deb-x64-a7 job. This is resulting in a race condition when the docker_build_agent7 job kicks off, if the agent_deb-x64-a7-auto finished after the agent_deb-x64-a7 job
This is causing the docker_build_agent7 job to become flaky, failing periodically on this line because it cannot find the opt/datadog-agent/ folder, which looks like it is because the new job is setting the INSTALL_DIR to a different directory by default
Additional Notes
Follow-up to this PR
Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

Reviewer's Checklist

[ ] If known, an appropriate milestone has been selected; otherwise the Triage milestone is set.
[ ] Use the major_change label if your change either has a major impact on the code base, is impacting multiple teams or is changing important well-established internals of the Agent. This label will be use during QA to make sure each team pay extra attention to the changed behavior. For any customer facing change use a releasenote.
[ ] A release note has been added or the changelog/no-changelog label has been applied.
[ ] Changed code has automated tests for its functionality.
[ ] Adequate QA/testing plan information is provided if the qa/skip-qa label is not applied.
[ ] At least one team/.. label has been applied, indicating the team(s) that should QA this change.
[ ] If applicable, docs team has been notified or an issue has been opened on the documentation repo.
[ ] If applicable, the need-change/operator and need-change/helm labels have been applied.
[ ] If applicable, the k8s/<min-version> label, indicating the lowest Kubernetes version compatible with this feature.
[ ] If applicable, the config template has been updated.

/merge


text:
Untie Remote Configuration db from API Key value

To allow changing the API Key at runtime the remote configuration service is not storing data in the database in a trying it together with API keys.
When the key is rotated it will not invalidate the buckets, but at restart it will detect that the key has changed and reset the database
New Metadata
{
  "version": "7.54.0-devel",
  "api-key-hash": "....",
  "creation-time": "2024-04-03T11:35:49.104193+02:00"
}

QA

Agents and tracers should receive configurations function as normal
Verify that the the database metadata now contains a hash of the key and the creation date
Verify that the agent starting up with a database configured for a different datacenter (different roots) will recover by wiping the database and restarting

/merge


text:
Collect kubelet containers network addresses

What does this PR do?

Add NetworkAddress (tuple ip/port/protocol) list to the container object
Fill this list for the Kubelet collector

Motivation
Share network information with the process agent

Codecov Report

Merging #2664 into master will decrease coverage by 0.14%.
The diff coverage is 73.91%.

@@            Coverage Diff             @@
##           master    #2664      +/-   ##
==========================================
- Coverage   56.62%   56.47%   -0.15%
==========================================
  Files         379      379
  Lines       24049    24072      +23
==========================================
- Hits        13617    13594      -23
- Misses       9513     9560      +47
+ Partials      919      918       -1

Impacted Files
Coverage Δ

pkg/util/kubernetes/kubelet/containers.go
42.85% <73.91%> (+8.71%)
:arrow_up:

pkg/clusteragent/custommetrics/provider.go
0% <0%> (-61.91%)
:arrow_down:

pkg/forwarder/worker.go
92.5% <0%> (-1.25%)
:arrow_down:

This is definitely good for us to get started thanks!

Looks good to me @hkaj, thanks a lot!

authors: GaurabAryal codecov-io mfpierre shang-wang


text:
[install script] Set 'No' as a default answer after timeout or on empty answer

What does this PR do?

Adds some safeguards to the read command to account for some non-interactive shells. The command now times out if it gets no answer after 60 seconds and has a default "No" answer if the user just presses Enter.

Motivation

Support case

Describe your test plan

Tested the failure case manually on bash 4.4.20. Ran kitchen tests.

Can we detect it's a non-interactive shell and assume no immediately instead of waiting for the timeout?

I haven't found a reliable way to do it, any ideas?

You should be able to use the return value of tty -s

Thanks! That seems to work on my test env. Still, I think it doesn't harm to have the timeout as a fallback safeguard but I can remove it if you think it's a bad idea

@albertvaka can you have another look?

authors: albertvaka mx-psi


text:
Updates CODEOWNERS

What does this PR do?
A brief description of the change being made with this pull request.
Motivation
What inspired you to submit this pull request?
Additional Notes
Anything else we should know when reviewing?
Review checklist (to be filled by reviewers)

[ ] Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
[ ] Make sure you discussed the feature or bugfix with the maintaining team in an Issue
[ ] Make sure each commit and the PR mention the Issue number (cf the CONTRIBUTING doc)

Codecov Report

Merging #1045 (31795ca) into develop (8c4cf3a) will decrease coverage by 0.05%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           develop    #1045      +/-   ##
===========================================
- Coverage    83.24%   83.19%   -0.05%
===========================================
  Files          272      272
  Lines         9260     9260
  Branches      1485     1485
===========================================
- Hits          7708     7703       -5
- Misses        1140     1142       +2
- Partials       412      415       +3

Impacted Files
Coverage Δ

...android/log/internal/logger/TelemetryLogHandler.kt
75.00% <0.00%> (-25.00%)
:arrow_down:

...al/persistence/file/batch/BatchFileOrchestrator.kt
92.93% <0.00%> (-2.02%)
:arrow_down:

...ain/java/com/datadog/opentracing/PendingTrace.java
57.76% <0.00%> (-0.86%)
:arrow_down:

.../android/rum/internal/monitor/DatadogRumMonitor.kt
91.91% <0.00%> (-0.58%)
:arrow_down:

...rc/main/java/com/datadog/opentracing/DDTracer.java
55.65% <0.00%> (-0.42%)
:arrow_down:

...android/rum/internal/ndk/DatadogNdkCrashHandler.kt
88.11% <0.00%> (+0.54%)
:arrow_up:

repo: DataDog/dd-sdk-android


text:
RUM-4103 add telemetry to detect uncovered View/Drawable in Session Replay

What does this PR do?
Adds some telemetry when a View or Drawable cannot be converted into Session Replay data.
Motivation
We need to better understand the UI features used by our customer that we don't have support of yet.

Codecov Report
Attention: Patch coverage is 82.85714% with 6 lines in your changes are missing coverage. Please review.

Project coverage is 83.06%. Comparing base (ddf2286) to head (4ea7ef9).

Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #2028      +/-   ##
===========================================
- Coverage    83.17%   83.06%   -0.11%
===========================================
  Files          486      486
  Lines        17633    17706      +73
  Branches      2680     2691      +11
===========================================
+ Hits         14665    14706      +41
- Misses        2232     2260      +28
- Partials       736      740       +4

Files
Coverage Δ

...sessionreplay/material/MaterialExtensionSupport.kt
100.00% <100.00%> (ø)

...dog/android/sessionreplay/SessionReplayRecorder.kt
96.43% <100.00%> (+0.03%)
:arrow_up:

.../sessionreplay/internal/DefaultRecorderProvider.kt
84.91% <100.00%> (ø)

...ssionreplay/utils/AndroidMDrawableToColorMapper.kt
75.00% <100.00%> (ø)

...ssionreplay/utils/AndroidQDrawableToColorMapper.kt
70.59% <100.00%> (ø)

...ssionreplay/internal/recorder/TreeViewTraversal.kt
95.00% <85.71%> (-5.00%)
:arrow_down:

...droid/sessionreplay/utils/DrawableToColorMapper.kt
20.00% <33.33%> (ø)

...sessionreplay/utils/LegacyDrawableToColorMapper.kt
59.02% <81.82%> (+4.11%)
:arrow_up:

... and 23 files with indirect coverage changes

authors: codecov-commenter xgouchet


text:
RUMM-899 allow timestamp override

What does this PR do?
Allow adding custom timestamp in RUM Events
Motivation
Make the internal implementation work with the mobile bridge

Codecov Report

Merging #423 (4cdef32) into feature/bridge (035f4e7) will decrease coverage by 0.01%.
The diff coverage is 80.00%.

@@                 Coverage Diff                  @@
##             feature/bridge     #423      +/-   ##
====================================================
- Coverage             90.26%   90.26%   -0.01%
- Complexity             1203     1221      +18
====================================================
  Files                   144      144
  Lines                  4057     4085      +28
  Branches                473      474       +1
====================================================
+ Hits                   3662     3687      +25
+ Misses                  236      234       -2
- Partials                159      164       +5

Impacted Files
Coverage Δ
Complexity Δ

.../android/rum/internal/monitor/DatadogRumMonitor.kt
85.25% <50.00%> (-14.75%)
45.00 <28.00> (+18.00)
:arrow_down:

...n/com/datadog/android/bridge/internal/BridgeRum.kt
77.94% <100.00%> (+6.79%)
13.00 <8.00> (ø)

...n/com/datadog/android/core/internal/domain/Time.kt
100.00% <100.00%> (ø)
3.00 <0.00> (ø)

...roid/rum/internal/domain/scope/RumResourceScope.kt
95.20% <0.00%> (-1.60%)
37.00% <0.00%> (-2.00%)

...droid/rum/tracking/ActivityViewTrackingStrategy.kt
83.33% <0.00%> (ø)
10.00% <0.00%> (ø%)

...oid/rum/tracking/NavigationViewTrackingStrategy.kt
86.27% <0.00%> (ø)
14.00% <0.00%> (ø%)

...l/net/info/BroadcastReceiverNetworkInfoProvider.kt
82.11% <0.00%> (ø)
29.00% <0.00%> (ø%)

...oid/src/main/kotlin/com/datadog/android/Datadog.kt
93.48% <0.00%> (+1.09%)
27.00% <0.00%> (+1.00%)

...nternal/tracking/OreoFragmentLifecycleCallbacks.kt
94.74% <0.00%> (+5.26%)
15.00% <0.00%> (+1.00%)

... and 1 more

authors: codecov-io xgouchet


text:
RUMM-2104 Prevent negative RUM resource durations

What does this PR do?
A brief description of the change being made with this pull request.
Motivation
What inspired you to submit this pull request?
Additional Notes
Anything else we should know when reviewing?
Review checklist (to be filled by reviewers)

[ ] Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
[ ] Make sure you discussed the feature or bugfix with the maintaining team in an Issue
[ ] Make sure each commit and the PR mention the Issue number (cf the CONTRIBUTING doc)

Codecov Report

Merging #900 (4e95a8d) into develop (c19dd9e) will decrease coverage by 0.07%.
The diff coverage is 100.00%.

@@             Coverage Diff             @@
##           develop     #900      +/-   ##
===========================================
- Coverage    82.89%   82.83%   -0.07%
===========================================
  Files          265      265
  Lines         8996     9002       +6
  Branches      1457     1458       +1
===========================================
- Hits          7457     7456       -1
- Misses        1139     1143       +4
- Partials       400      403       +3

Impacted Files
Coverage Δ

...roid/rum/internal/domain/scope/RumResourceScope.kt
97.60% <100.00%> (+0.07%)
:arrow_up:

.../android/rum/internal/domain/scope/RumViewScope.kt
96.86% <100.00%> (+0.01%)
:arrow_up:

...android/log/internal/logger/TelemetryLogHandler.kt
75.00% <0.00%> (-25.00%)
:arrow_down:

...tadog/android/core/internal/net/CurlInterceptor.kt
80.95% <0.00%> (-2.38%)
:arrow_down:

...ain/java/com/datadog/opentracing/PendingTrace.java
58.62% <0.00%> (-1.72%)
:arrow_down:

...rc/main/java/com/datadog/opentracing/DDTracer.java
55.65% <0.00%> (-0.84%)
:arrow_down:

.../android/rum/internal/monitor/DatadogRumMonitor.kt
94.38% <0.00%> (-0.62%)
:arrow_down:

...ndroid/telemetry/internal/TelemetryEventHandler.kt
82.22% <0.00%> (ø)


text:
[RUM-4910] Allow disable of RUM Action accessibility label name resolving

What does this PR do?
When available, auto-instrumented actions get their name from views accessibilityLabel prop.
With this PR we want to provide an option to disable this behaviour, in case accessibility labels contain any sensible data that should not be collected.
Notes

I am considering renaming it to useAccessibilityLabels (plural) or finding a better name.

Review checklist (to be filled by reviewers)

[ ] Feature or bugfix MUST have appropriate tests
[ ] Make sure you discussed the feature or bugfix with the maintaining team in an Issue
[ ] Make sure each commit and the PR mention the Issue number (cf the CONTRIBUTING doc)
[ ] If this PR is auto-generated, please make sure also to manually update the code related to the change

Hello @louiszawadzki 😃 👋
We have released this in version v2.4.0.

Thanks a lot @marco-saia-datadog and all the team @0xnm @ganeshnj !! 🙇

authors: louiszawadzki marco-saia-datadog

repo: DataDog/dd-sdk-reactnative


text:
add .open for short-lived reporting that does not leave sockets around

@gmmeyer @adammw

@gmmeyer

how about a v4.0.0 release ? :D

@grosser we're gonna release soon! We just need to find a little time to do it!

authors: gmmeyer grosser

repo: DataDog/dogstatsd-ruby


text:
updated xenial to fossa

Contribution Type
Bugfix
Description
The vagrant file was using the xenial base image. I updated the version number to use fossa.
Value Add / Motivation
Ubuntu Xenial is end of life, causing a possible security risk to people running the sandbox app.
Sources
n/a
Testing Strategy
Tested in local lab.

Simple one :) I am going for a merge here to try to push along a few of these PRs 😅

authors: chrisluekermann ckelner

repo: DataDog/dpn


text:
🛑 Bar is down

In 9ae5301, Bar (https://bar.data-ensta.fr) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Bar is back up in c9c46db after 9 minutes.

repo: DataEnsta/upptime


text:
Please upgrade to latest version of Couchbase Java SDK

The currently used version is 3.0.8, which is rather ancient.
The latest provides some improvements including bundling the root cluster certificate for our cloud product, Capella, making it much easier for users to get up and running in that environment.

I attempted a naïve upgrade by just changing the dependency version, and got other compiler errors.
See more here: https://issues.couchbase.com/browse/JCBC-2003

PR to help with the upgrade: https://github.com/DataGrip/couchbase-jdbc-driver/pull/3

Thanks a lot
I've merged #3
We'll make new version available in DataGrip soon

authors: dnault kornilova203 mgroves programmatix

repo: DataGrip/couchbase-jdbc-driver


text:
treat default as reserved instance name

ping @cmingxu @xiaods
default 保留字，不允许新发的编排应用使用

Codecov Report

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

@@           Coverage Diff           @@
##           master     #592   +/-   ##
=======================================
  Coverage   19.79%   19.79%
=======================================
  Files          29       29
  Lines        1728     1728
=======================================
  Hits          342      342
  Misses       1342     1342
  Partials       44       44

authors: bbklab codecov-io

repo: Dataman-Cloud/swan


text:
Updated Code to Use NeuroAnalzyer.jl

Hey @Datseris,
So, this PR introduces a few new updates:

It uses NeuroAnalyzer.jl now to load the patient sample data
I created a new convenience function to process data
The complexity measures now are computed over $\delta$, $\theta$, $\alpha$, $\gamma$, and $\beta$ brainwave bands
I refreshed the plot with the new bands

The only problem I am having that I am not quite sure how to address is that the current version of NeuroAnalyzer requires a minimum compat entry of Wavelets to be 0.9. ComplexityMeasures.jl does not have that lower bound and as a result gets downgraded to 2.8.0 when NeuroAnalyzer is within the same Project environment. I will mention that I forked ComplexityMeasures.jl and added the 0.9 compat entry for Wavelets alongside 0.10 and the tests did pass in this fork.
What do you think we should do here?

I'll also mention that once we figure out how to handle this merge and you review it, I'll be able to do final edits for the reviewer and then we shall be done with all necessary paper edits.

I'll add 0.9 Wavelets in the next release of ComplexityMeasures.jl. Using 2.8 is a no-go unfortunately.

In the complexity measure estimation, you removed the "F" bar, that uses the input timeseries without any decomposition. Please revert that, I'd like to have the Full bar as well.

Hey @Datseris ,

I'll add 0.9 Wavelets in the next release of ComplexityMeasures.jl.

Great! I found the commit where you added that here: https://github.com/JuliaDynamics/ComplexityMeasures.jl/commit/223eaf1e5c20ff34e439d5930bcdd5caa2fda476
I am using that temporarily until you release the new version. Thanks!

Hey @Datseris , I think this is nearly complete. Here's the story:

Brought back the "F" bar
Slimmed down the code since we didn't use the other examples
Updated the project environment
Redid the project toml and submitted the manifest

Otherwise, I have added the main branch of ComplexityMeasures.jl at the moment as I can't seem to pull down 3.7.0 from the general registry. I am in the process of adding compat entries as well

Ok, @Datseris , can you do a final review here? This is all set now with a proper Manifest, Project.toml, and fully working example. Two quick additional things:

The "F" signal is the raw brain signal that has been passed through a denoising filter -- otherwise it has not been decomposed or modified in any way
I am not sure how that FFTW extra dependency was brought in. I removed it.

Let me know what you think and if you want any more edits! Thanks George!

Fixed the compat entries @Datseris ! I ended up having to completely reset the environment and add in packages one by one so as to not have any degradations or weird compat conflicts. All is ship shape now! How does it look?

Perfect, thanks!

authors: Datseris TheCedarPrince

repo: Datseris/JuliaOpenPhysiologicalDSP


text:
Add reboot message at end of setup-static-ip.sh

Otherwise, the changes will not take effect.

Fixed in https://github.com/DavesCodeMusings/nucloud/commit/61498d8d84422473c1fd89f4bb3f1019aed24954

repo: DavesCodeMusings/nucloud


text:
Mouse Vis First Iteration Works

Added engagement event, mouse data per engagement, and instructions for running bots as a user.

Why am I doing PRs? I want a cleaner history as long as I'm doing solo dev.

repo: David-Durst/csknow


text:
Help with proxy

Can you recommend some free proxy or free hosting server for python?
I'm using REPL and theirs servers located at US, so this library not working ("service upgrade" error). I was tried many proxies, but no one don't suit ((

@SuperZombi Are you using latest version? Theorically it's working again from outside China, although I don't know if it works from US.
When they limited to China, I was able to use certain chinese proxies from here. You may also try using Tor (I haven't tried it yet at the current API state) - my personal preference is using this Docker image.

Yes, the latest ver. It works from Ukraine, but don't work from US.

I see. So maybe you can get it working using multiple Tor-to-socks proxy servers, or proxybroker2, if you don't want to manually search for working proxies.

authors: David-Lor SuperZombi

repo: David-Lor/python-qqddm

license: ISC


text:
[Feature] Global config

it will be nice to have a global configuration and then a locla configuration for a project, this method is common in eslitn when you set a config file in your root or home direcory of the machine like ~/ for linux and C:\Users\{ user } for windows, here we can have a file for .markdownlint.json and have a global config for all the repos, if for some reason i need to change in a repo the rules, i just create another config file in the root of the directory and this rules are overrired

As a library, you can fetch configuration from wherever you want when calling the API. If you are using one of the CLIs, .markdownlint.json supports "~" in extends paths which can be used to reference the user's home directory in the usual manner. This should allow the behavior you describe.

Thanks, yes this works, still I have to create a file in every project but for now works, it will be nice to avoid that and also there can be problems in a team when a new member download the repo he will no have the file in his home directory, is there a way to create a repo with a custom config and extended ?

You may be able to use a template in GitHub or scaffold with something like Yeoman. Anything like that would be out of scope for this project, though.

authors: AesthetiCoder DavidAnson

repo: DavidAnson/markdownlint


text:
gem not working on github.io

I was adding the gem to my github.io page. There is a build error with this gem:
The tag leaflet_map on line 19 in index.html is not a recognized Liquid tag
I do have:
group :jekyll_plugins do
  gem 'jekyll-paginate'
  gem 'jekyll-sitemap'
  gem 'jekyll-leaflet'
end

in my GemFile
and:
plugins:
  - jekyll-paginate
  - jekyll-sitemap
  - jekyll-leaflet

in my _config.yml

I do not believe GitHub pages supports third party gems/plugins (like Jekyll-leaflet). So I’m not sure you can use it with GitHub pages, unless you build yourself and push up manually. I’m not too familiar with GitHub pages so maybe someone else can chime in

authors: DavidJVitale riccardoklinger

repo: DavidJVitale/jekyll-leaflet


text:
Upgrade NPM packages, use Browserify directly

Removes gulp-browserify.
Tested on Node v0.10, v4.0, v5.0

Hi there! I was having trouble checking this out due to some old dependencies (browserify depending on esprima-six, which no longer exists, specifically). So I upgraded them! gulp-browserify is abandoned, so I just used browserify.bundle() directly.
The output is rendering, but I can't compare it to the previous version so I'll defer to you on whether or not it's correct. :) Thanks for the example!

Should probably resolve #18.

it fixed npm install errors for me. thanks!

Thx bro

thanks it fixed npm install error for me too

Hello, @DavidWells - any chance of merging this?

@gcpantazis - I actually have noticed another deprecation, all instances of require('react/addons') should be replaced with require('react')!

As on current master, 'browserify' is not required. https://github.com/DavidWells/isomorphic-react-example/blob/master/package.json#l16

Hey all, I'm closing this since this project seems dead / I'd like to clean up my PR dashboard. If anyone else would like to own the PR / handle getting it merged with @DavidWells please feel free to cherrypick my patch! 👋

authors: MaffooBristol benleung gcpantazis hansman onefunman wstoettinger

repo: DavidWells/isomorphic-react-example


text:
Fix Ansible warnings

This should fix #214 (but I've not tested locally).
"Using tests as filters is deprecated. Instead of using result|changed use result is changed. This feature will be removed in version 2.9"

The CI is passing, yay!

Thank you @thbar!
Closes #214

authors: DavidWittman thbar

repo: DavidWittman/ansible-redis


text:
Hi, David

Nice code, exactly what we 're looking for. Do you like to cooperate with us? We have plans. We basically deploy as many Kurento nodes as needed - on ordinary CPU shares rather than AWS, etc. Join the club - there's pretty much free space now.

Nice code, exactly what we 're looking for. Do you like to cooperate with us? We have plans. We basically deploy as many Kurento nodes as needed - on ordinary CPU shares rather than AWS, etc. Join the club - there's pretty much free space now.

Hi

Nice code, exactly what we 're looking for. Do you like to cooperate with us? We have plans. We basically deploy as many Kurento nodes as needed - on ordinary CPU shares rather than AWS, etc. Join the club - there's pretty much free space now.

Hello, it's good that it was useful to you, I would like to join the club, sorry for the delay in responding, if there is still time and you have plans, I would like to help

Hi, David, I'm leader of the team working on Room-House software. My name is Alex. Room-House is a very ambitios project. It needs talented programmers.
Currently thre is a task: use 3D javascript library "three.js" in Room-House  - can see an example at https://milan.room-house.com/#PHOENIX
Basically if you feel like it we can talk on. So far, thanks for replying. Have a nice time and Happy New Year. Feliz Ano Nuevo!
On Sat, Dec 30, 2023 at 08:37:25AM -0800, Davidc2525 wrote:

Nice code, exactly what we 're looking for. Do you like to cooperate with us? We have plans. We basically deploy as many Kurento nodes as needed - on ordinary CPU shares rather than AWS, etc. Join the club - there's pretty much free space now.

Hello, it's good that it was useful to you, I would like to join the club, sorry for the delay in responding, if there is still time and you have plans, I would like to help
--
Reply to this email directly or view it on GitHub:
https://github.com/Davidc2525/OrchiLiveStreamingClustered/issues/2#issuecomment-1872561341
You are receiving this because you authored the thread.
Message ID: @.***>

Hello, a pleasure. What does the project being presented consist of? We can
be in contact via WhatsApp to have better communication, this is my number
+584126005898. Yes, I would be interested in entering as a programmer.
Happy New Year for you too.
DAVID
El mar, 2 ene 2024 a las 8:35, Alex Shevlaquov @.***>)
escribió:

Hi, David, I'm leader of the team working on Room-House software. My name
is Alex. Room-House is a very ambitios project. It needs talented
programmers.
Currently thre is a task: use 3D javascript library "three.js" in
Room-House - can see an example at https://milan.room-house.com/#PHOENIX
Basically if you feel like it we can talk on. So far, thanks for replying.
Have a nice time and Happy New Year. Feliz Ano Nuevo!
On Sat, Dec 30, 2023 at 08:37:25AM -0800, Davidc2525 wrote:

Nice code, exactly what we 're looking for. Do you like to cooperate
with us? We have plans. We basically deploy as many Kurento nodes as needed

on ordinary CPU shares rather than AWS, etc. Join the club - there's
pretty much free space now.

Hello, it's good that it was useful to you, I would like to join the
club, sorry for the delay in responding, if there is still time and you
have plans, I would like to help
--
Reply to this email directly or view it on GitHub:

https://github.com/Davidc2525/OrchiLiveStreamingClustered/issues/2#issuecomment-1872561341

You are receiving this because you authored the thread.
Message ID: @.***>

—
Reply to this email directly, view it on GitHub
https://github.com/Davidc2525/OrchiLiveStreamingClustered/issues/2#issuecomment-1873973151,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADX54PXLXQ2G2QR3O7LSURLYMP5HLAVCNFSM422WL6IKU5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TCOBXGM4TOMZRGUYQ
.
You are receiving this because you commented.Message ID:
@.***>


text:
Success in scale size 2 but crash when scale size 5 or 10

Hello,
I have tried two different image file, both have this issue.
Version:v4.0 release of waifu2x-converter-cpp compiled with OpenCV (Windows 64 AMD)
Argument:
waifu2x-converter-cpp -i "..\1.jpg" -m noise_scale -j 8 --scale_ratio 5 --noise_level 2
File Info:
3200x2000 pixel

The only resize model included with waifu2x-converter-cpp is 2x.

OK，Thank you！


text:
🛑 Dealsafe is down

In 5107f8b, Dealsafe (https://www.dealsafe.in/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Dealsafe is back up in e8c10b0 after 11 minutes.

repo: Dealsafe/ds-uptime


text:
listgroups Command: Groups Listed Before "Current groups:" String

Commit: 9256765f7b6cd55f4fa5634cc80e7613cedeb788
Listing groups with the user command results in the groups to be listed before the "Current groups:" string.
user listgroups blah
        Guest
10/1/2015 8:41:41 PM Command> Current groups:

This should now be fixed in the commit above.


text:
🛑 UK Datacentre is down

In 81311a1, UK Datacentre (http://www.thehostingfolks.org) was down:

HTTP code: 403
Response time: 835 ms

Resolved: UK Datacentre is back up in 23ed6a3 after 5 minutes.

repo: Deathbyteacup/thfstatuspage


text:
🛑 UK Datacentre is down

In 0eef348, UK Datacentre (http://www.thehostingfolks.org) was down:

HTTP code: 403
Response time: 540 ms

Resolved: UK Datacentre is back up in adadf89 after 5 minutes.


text:
My first branch

Add my first file

Merge Completed


text:
Design how to drill into the details (notes field) of the history pages

One possible way is to have a page that lists the full details of the events on that day; navigated to by clicking on the day in the respective calendars.
A Tooltip that show the notes on hovering the displayed event is also an option, but doesn't work well on mobile.
Another option would be to list the notes above the calendar when you click on the shown event, this seems good because it is more fluid than having to back out of each individual summary page, but it may cause jumpyness in the location of the calendar.

Should consider issue #34

repo: DecentralVan/dctrl-admin


text:
Export completed Testplan in Excel file

That would nice to be able to export completed Testplan details to an Excel file.

I've made an implementation here: https://github.com/voxtok/excord/commit/15186df9918a337834a99caf843738f4c2429853
I can make a pull request if it looks good to you.

repo: DeemOpen/excord


text:
Generic File Processor - attempt 10

In progress

Merging - to give firm baseline for onsite testing

authors: IanMayo robintw

repo: DeepBlueCLtd/LegacyMan


text:
When running with quick_start.yaml with own dataset getting the following error

multiprocessing.pool.RemoteTraceback:
"""
Traceback (most recent call last):
File "/opt/conda/lib/python3.7/multiprocessing/pool.py", line 121, in worker
result = (True, func(*args, **kwds))
File "/opt/conda/lib/python3.7/multiprocessing/pool.py", line 44, in mapstar
return list(map(*args))
File "/opt/conda/lib/python3.7/site-packages/graphvite-0.1.0-py3.7.egg/graphvite/application/application.py", line 411, in linear_classification
loss.backward()
File "/opt/conda/lib/python3.7/site-packages/torch/tensor.py", line 118, in backward
torch.autograd.backward(self, gradient, retain_graph, create_graph)
File "/opt/conda/lib/python3.7/site-packages/torch/autograd/init.py", line 93, in backward
allow_unreachable=True)  # allow_unreachable flag
RuntimeError: CUDA error: CUBLAS_STATUS_EXECUTION_FAILED when calling cublasSgemm( handle, opa, opb, m, n, k, &alpha, a, lda, b, ldb, &beta, c, ldc)
"""
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/opt/conda/bin/graphvite", line 11, in
load_entry_point('graphvite==0.1.0', 'console_scripts', 'graphvite')()
File "/opt/conda/lib/python3.7/site-packages/graphvite-0.1.0-py3.7.egg/graphvite/cmd.py", line 212, in main
commandargs.command
File "/opt/conda/lib/python3.7/site-packages/graphvite-0.1.0-py3.7.egg/graphvite/cmd.py", line 110, in run_main
app.evaluate(**cfg.evaluate)
File "/opt/conda/lib/python3.7/site-packages/graphvite-0.1.0-py3.7.egg/graphvite/util.py", line 95, in wrapper
result = function(*args, **kwargs)
File "/opt/conda/lib/python3.7/site-packages/graphvite-0.1.0-py3.7.egg/graphvite/application/application.py", line 101, in evaluate
result = getattr(self, func_name)(**kwargs)
File "/opt/conda/lib/python3.7/site-packages/graphvite-0.1.0-py3.7.egg/graphvite/application/application.py", line 261, in node_classification
results = self.gpu_map(linear_classification, settings)
File "/opt/conda/lib/python3.7/site-packages/graphvite-0.1.0-py3.7.egg/graphvite/application/application.py", line 159, in gpu_map
results = pool.map(func, settings, chunksize=1)
File "/opt/conda/lib/python3.7/multiprocessing/pool.py", line 268, in map
return self._map_async(func, iterable, mapstar, chunksize).get()
File "/opt/conda/lib/python3.7/multiprocessing/pool.py", line 657, in get
raise self._value
RuntimeError: CUDA error: CUBLAS_STATUS_EXECUTION_FAILED when calling cublasSgemm( handle, opa, opb, m, n, k, &alpha, a, lda, b, ldb, &beta, c, ldc)

application:
graph
resource:
gpus: []
cpu_per_gpu: 2
dim: 128
format:
delimiters: " "
comment: "#"
graph:
#file_name: '/home/shraban/Paper2/LINE/cora_edge_list.txt'
file_name: '/home/shraban/Paper2/LINE/demo_list.txt'
as_undirected: true
build:
optimizer:
type: SGD
lr: 0.025
weight_decay: 0.005
num_partition: auto
num_negative: 1
batch_size: 7 # must be greater than numbe of nodes
episode_size: 2
train:
model: LINE
num_epoch: 10
negative_weight: 2
augmentation_step: 2
random_walk_length: 2
random_walk_batch_size: 2
log_frequency: 10
evaluate:
task: node classification
#file_name: '/home/shraban/Paper2/LINE/cora_labels.txt'
file_name: '/home/shraban/Paper2/LINE/demo_labels.txt'
portions: [1]
times: 1
save:
file_name: line_cora.pkl

repo: DeepGraphLearning/graphvite


text:
A question in Chapter two.

I am reading the book in Chapter two, and I have a question in a paragraph below.
In the reward function, We will assume that each arm is executed 10 times to determine if the probability value in the numpy array is less than prob?And whether the reward is a real reward or an estimated reward？

Per our casino example, we will be solving a 10-armed bandit problem, hence n = 10. We’ve also defined a numpy array of length n filled with random floats that can be understood as probabilities. The way we've chosen to implement our reward probability distributions for each arm/lever/slot machine is this: Each arm will have a probability, e.g. 0.7. The maximum reward is $10. We will setup a for loop to 10 and at each step, it will add +1 to the reward if a random float is less than the arm's probability. Thus on the first loop, it makes up a random float (e.g. 0.4). 0.4 is less than 0.7, so reward += 1. On the next iteration, it makes up another random float (e.g. 0.6) which is also less than 0.7, thus reward += 1. This continues until we complete 10 iterations and then we return the final total reward, which could be anything between 0 and 10. With an arm probability of 0.7, the average reward of doing this to infinity would be 7, but on any single play, it could be more or less.

def reward(prob, n=10):
    reward = 0;
    for i in range(n):
        if random.random() < prob:
            reward += 1
    return reward

Oh,I understand, thanks for your response. And may I ask when the other chapters will be open on the Internet, I am very eager for the whole book~

All the chapters are now. Should be updated to MEAP soon

authors: AlisaBen outlace


text:
[(LIVE.FREE)] Utah HC vs Golden Knights LiVe Streams Free On Tv Channel 2 NOV 2024

NHL Games on TV Today: Channel & Free Streaming Options | November 2
The Columbus Blue Jackets versus the Washington Capitals is a game to watch on a Saturday NHL schedule that includes a lot of thrilling contests.
Coverage of all the NHL action today is available to you, with the info provided below.
Watch Free NHL Streams, No ads for free registered users! Supporting mobile, iphone, ios, laptop, tablet and Chromecast. With Game Replays, SSL Secure,
Dallas Stars at Florida Panthers 12 p.m. ET, Saturday, November 2 NHL Network Watch this game on Fubo (Regional restrictions may apply)
Boston Bruins at Philadelphia Flyers 1 p.m. ET, Saturday, November 2 ESPN+ Watch this game on Fubo (Regional restrictions may apply)
Chicago Blackhawks at Los Angeles Kings 4 p.m. ET, Saturday, November 2 ESPN+ Watch this game on Fubo (Regional restrictions may apply)
Columbus Blue Jackets at Washington Capitals 5 p.m. ET, Saturday, November 2 ESPN+ Watch this game on Fubo (Regional restrictions may apply)
Seattle Kraken at Ottawa Senators 7 p.m. ET, Saturday, November 2 ESPN+ Watch this game on Fubo (Regional restrictions may apply)
Buffalo Sabres at Detroit Red Wings 7 p.m. ET, Saturday, November 2 ESPN+ Watch this game on Fubo (Regional restrictions may apply)
Montreal Canadiens at Pittsburgh Penguins 7 p.m. ET, Saturday, November 2 NHL Network Watch this game on Fubo (Regional restrictions may apply)
Toronto Maple Leafs at St. Louis Blues 7 p.m. ET, Saturday, November 2 ESPN+ Watch this game on Fubo (Regional restrictions may apply)
Colorado Avalanche at Nashville Predators 8 p.m. ET, Saturday, November 2 ESPN+ Watch this game on Fubo (Regional restrictions may apply)
Vancouver Canucks at San Jose Sharks 10 p.m. ET, Saturday, November 2 ESPN+ Watch this game on Fubo (Regional restrictions may apply)
Utah Hockey Club at Vegas Golden Knights 10 p.m. ET, Saturday, November 2 ESPN+ Watch this game on Fubo (Regional restrictions may apply)

vcbfd

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.
xcv
cvcvcvcv

authors: Mennoniteav ShamimHasan0 daeypaover

repo: DeepSourceCorp/good-first-issue


text:
Filter findings + sort by date result in "No findings found."

When you are on findings list (all findings, or a product's finding list), and you filter the list to, for instance filter only active findings, and apply filter, then if you sort the list by clicking the "Date" column, then the list disappear.
Steps to reproduce
Steps to reproduce the behavior:

Go to 'All findings'
Open the filters
Choose a filter, for instance "Active=yes", or "Verified=yes" (I did not tried all combinations)
Do not change the "Ordering"
Click on "Apply Filters"
Sort the result by clicking on the "Date" column header

-> the result is an empty list with No findings found. message
Deployment method (select with an X)

[ ] Docker
[x] Kubernetes
[ ] GoDojo
[ ] setup.bash / legacy-setup.bash

Environment information

DefectDojo version: 2.1.0

Weird, but I can reproduce it.
When I open the filters again, the field  Tag name contains is set with ¬_tags=¬_test__tags=¬_test__engagement__tags=¬_test__engagement__product__tags=¬_tag=.

Just saw the same, happens also when sorting by name.

fixed in dev / 2.3.0

authors: StefanFl asbiin valentijnscholten

repo: DefectDojo/django-DefectDojo


text:
fix: using Capabilities.APIVersions.Has for new ingress api

The helm semverCompare dosn't always works as expected. The Capabilities.APIVersions.Has function is predestined for the apiVersion switch. It is backward compatible to older cluster and older versions of helm.

This is duplicate to https://github.com/DefectDojo/django-DefectDojo/pull/6759

Sure - thx.
I'll close this as this is a dup #6759

authors: ChristianSpiess dsever


text:
Missing file loader

It seems out of the box we are not falling back to a file loader.
We should probably include this in the base webpack config for the usual suspects:
/\.(svg|png|jpg|gif|eot|ttf|woff|woff2)$/

I tend to put static files in the public dir, but agree this would  be useful to allow these files to be used in the src dir.

authors: jennasalau keeganstreet

repo: DeloitteDigitalAPAC/webpack-config


text:
Do you think we can implement retrieval augmented generation for images etc to attach to responses?

The Gemini API is currently experiencing major overloaded errors on its models, but having a local one would be the perfect solution for stability. However, I use the API for document processing. Does this package support RAG? If not, is it possible to implement it?

Now, there is no RAG support OOB yet, but you can do it in your project. Just take additional info from somewhere and provide it to the local model


text:
Bug: can't take (some) custom items with take command

Custom items that use tools like swords, axes, shovels as material can't be taken away with the denizen take command. You get no error and the debug says that the command was executed.
http://mcmonkey.org/paste/23676
Every other custom item does not seem to have this problem

Please post relevant script(s)

http://mcmonkey.org/paste/23703
/ex give p30
/ex take p30
Won't work. But I found out that it probably has something to do with the random decimal I use in the lore. I once made a system where every single weapon is unique. So probably the take command does not know which p30 to remove? But why does it check the lore instead of just the item script name?

Yeah that random decimal kills it.
it checks for an exact match - that's how Bukkit does it, that's how Mojang does it, that's how other games do it... it's how everyone does it. If the items don't match exactly, they're not the same.
You can take iteminhand, or bydisplay, ... or, you can loop through the inventory yourself, checking matches however you please.
A random method to do this (untested):
- take <player.inventory.list_contents.filter[scriptname.is[==].to[p30]].get[1]> qty:1

Ok thanks! If this is something that can not changed I am going to change the way I did it

repo: DenizenScript/Denizen-For-Bukkit


text:
Bug: Light command not working at all

Hey,
for me the light command is not working at all.
I used this command to test it: /ex light <pl.location> 10 duration:d@10s
Debug : http://old.mcmonkey.org/paste/41685

That might not work right on 1.8.8... update your server!


text:
hms800w-2t stops accepting connections randomly

hello,
my hms800w-2t stops acception connections after some days.
it will work perfectly for 3-4 days then it stops.
someone has a fix for that ?
you can even restart the panel via the app, nothing happens.
plugging it out of the wall and back it, nothing happens.
the next day everything is fine again.
config.toml:
inverter_host = ""
coop_mode = true
update_interval = 60500
[simple_mqtt]
host = ""
port = 1883
Logs:
[2024-03-03T08:43:11Z DEBUG hms2mqtt::simple_mqtt] dtu_sn:  time: 1709455397 device_nub: 1 package_nub: 1 inverter_state {inv_id:  port_id: 1 grid_voltage: 2369 grid_freq: 5005 pv_current_power: 2369 unknown1: 99 unknown2: 999 temperature: 215 unknown3: 5 unknown4: 1 bit_field: 7143442 11: 59656} port_state {pv_sn:  pv_port: 1 pv_vol: 329 pv_cur: 758 pv_power: 2502 pv_energy_total: 29064 pv_daily_yield: 254 bitfield: 50921472} port_state {pv_sn:  pv_port: 2 pv_vol: 4 pv_cur: 1 bitfield: 50331648} pv_current_power: 2369 pv_daily_yield: 254
[2024-03-03T08:43:11Z DEBUG rumqttc::state] Publish. Topic = hms800wt2/inverter_local_time, Pkid = 0, Payload Size = 29
[2024-03-03T08:43:11Z DEBUG rumqttc::state] Publish. Topic = hms800wt2/pv_current_power, Pkid = 0, Payload Size = 5
[2024-03-03T08:43:11Z DEBUG rumqttc::state] Publish. Topic = hms800wt2/pv_daily_yield, Pkid = 0, Payload Size = 3
[2024-03-03T08:43:11Z DEBUG rumqttc::state] Publish. Topic = hms800wt2/pv_current_power, Pkid = 0, Payload Size = 5
[2024-03-03T08:43:11Z DEBUG rumqttc::state] Publish. Topic = hms800wt2/pv_daily_yield, Pkid = 0, Payload Size = 3
[2024-03-03T08:43:11Z DEBUG rumqttc::state] Publish. Topic = hms800wt2/pv_grid_voltage, Pkid = 0, Payload Size = 5
[2024-03-03T08:43:11Z DEBUG rumqttc::state] Publish. Topic = hms800wt2/pv_grid_freq, Pkid = 0, Payload Size = 5
[2024-03-03T08:43:11Z DEBUG rumqttc::state] Publish. Topic = hms800wt2/pv_inv_temperature, Pkid = 0, Payload Size = 4
[2024-03-03T08:43:11Z DEBUG rumqttc::state] Publish. Topic = hms800wt2/pv_port1_voltage, Pkid = 0, Payload Size = 4
[2024-03-03T08:43:11Z DEBUG rumqttc::state] Publish. Topic = hms800wt2/pv_port1_curr, Pkid = 0, Payload Size = 4
[2024-03-03T08:43:11Z DEBUG rumqttc::state] Publish. Topic = hms800wt2/pv_port1_power, Pkid = 0, Payload Size = 5
[2024-03-03T08:43:11Z DEBUG rumqttc::state] Publish. Topic = hms800wt2/pv_port1_energy, Pkid = 0, Payload Size = 5
[2024-03-03T08:43:11Z DEBUG rumqttc::state] Publish. Topic = hms800wt2/pv_port1_daily_yield, Pkid = 0, Payload Size = 3
[2024-03-03T08:43:11Z DEBUG rumqttc::state] Publish. Topic = hms800wt2/pv_port2_voltage, Pkid = 0, Payload Size = 3
[2024-03-03T08:43:11Z DEBUG rumqttc::state] Publish. Topic = hms800wt2/pv_port2_curr, Pkid = 0, Payload Size = 4
[2024-03-03T08:43:11Z DEBUG rumqttc::state] Publish. Topic = hms800wt2/pv_port2_power, Pkid = 0, Payload Size = 1
[2024-03-03T08:43:11Z DEBUG rumqttc::state] Publish. Topic = hms800wt2/pv_port2_energy, Pkid = 0, Payload Size = 1
[2024-03-03T08:43:11Z DEBUG rumqttc::state] Publish. Topic = hms800wt2/pv_port2_daily_yield, Pkid = 0, Payload Size = 1
[2024-03-03T08:43:13Z DEBUG rumqttc::state] Pingreq,
last incoming packet before 5000 millisecs,
last outgoing request before 2631 millisecs
...  some pings ...
[2024-03-03T08:44:08Z DEBUG rumqttc::state] Pingreq,
last incoming packet before 5000 millisecs,
last outgoing request before 5001 millisecs
[2024-03-03T08:44:11Z DEBUG hms2mqtt::inverter] could not connect: Connection refused (os error 111)
[2024-03-03T08:44:11Z INFO  hms2mqtt::inverter] Inverter is Offline`
Some Grafana Stats:

Interesting. Could it be a weak wifi signal?

No, its literally 2m away, just a window inbetween ^^

Just tested again, unplugged the whole system, waited 5 min, plugged back in, waited another 5 min, started the mqtt publisher, connection refused. second test, send a restart signal via app, waited 5 min, again connection refused. its pretty weird. Tomorrow everything will be okay again, i dont know why ^^

@Marv1995 @DennisOSRM this might be related to:
https://github.com/suaveolent/ha-hoymiles-wifi/issues/14
Still assessing the underlying problem.

Any further insights into the issue, @suaveolent ?

just an update, without touching the device, rejection connections randomly even throughout the day (inverter -> publisher (connection refused) -> nodered -> influx -> grafana, blue graph):

Any further insights into the issue, @suaveolent ?

Not yet, but restarting the DTU via the restart command (either via Cloud or locally via e.g. my custom component) seems to remove the update limit.
Another idea: Maybe it is an issue with the Hoymiles cloud? Since the issue appeared independent of the used integration.

quick update, after updating my firmware from V00.01.05 to V00.01.11 the issue seems to be solved (7 days of testing now). if it happens again i will provide you with another update.

no problem since the firmware update. we can close this issue.

authors: DennisOSRM Marv1995 suaveolent

repo: DennisOSRM/hms-mqtt-publisher


text:
Change Application and index looks

[x] SortBy on Filters present on the {{partials}}
[x] Add search bar to Genre and Fact Type partials. Reuse Application model

[ ] Make Tags color coded for easier reference between their control center counter part.

Something along the lines:

[ ] Implement Search Tag option based on user input.

Possible minimalistic approach by only having the text box itself for the search.
Display text if no results are found?

Main styles refactored and finished on Checkpoint 8 commited on 3/30/16

repo: Deovandski/Fakktion


text:
sudo node manifest.js issue

Hey guys,
I pulled a copy to play with and host on my local ubuntu server.  Only had a few issues throughout the instructions, but I got stymied at the second to last command, sudo node manifest.js.  Gives the error
events.js:85
      throw er; // Unhandled 'error' event
            ^
Error: ENOENT, open 'manifest/world_sql_content_e9d195835cd3f3587acc89b187b00714.content'
    at Error (native)

Is this something obvious I'm overlooking?  I ran grunt serve and it seemed to get stuck on the watch task.
Great work on the app, I use it every weekend!  Thanks.

Hey dpeet, thanks for using it :)
That command isn't mandatory but to fix that error just create a folder named "manifest" in the root dir.
Also make sure you are pulling everything from the develop branch as well.

authors: dpeet v-fedorov

repo: DestinyTrialsReport/DestinyTrialsReport