Using CAT with Cluster on Die (COD) configuration

We investigated CAT on a server with Cluster on Die configuration. The results where surprising in that assigning half the cache of a Xeon E5 v4 with 32MB LLC to one class resulted in this class using only 8 MB of cache instead of 15 MB without CAT.
From the documentation it seemed that there are no special provisions required when using CAT with CoD, or am I missing something?
Core information for socket 0:
    Core 0 => COS3, RMID0
    Core 1 => COS3, RMID0
    Core 2 => COS1, RMID0
    Core 3 => COS2, RMID0
    Core 4 => COS2, RMID0
    Core 5 => COS2, RMID0
    Core 12 => COS1, RMID0
    Core 13 => COS1, RMID0
    Core 14 => COS1, RMID0
    Core 15 => COS2, RMID0
    Core 16 => COS2, RMID0
    Core 17 => COS2, RMID0
Core information for socket 1:
    Core 6 => COS1, RMID0
    Core 7 => COS1, RMID0
    Core 8 => COS1, RMID0
    Core 9 => COS2, RMID0
    Core 10 => COS2, RMID0
    Core 11 => COS2, RMID0
    Core 18 => COS1, RMID0
    Core 19 => COS1, RMID0
    Core 20 => COS1, RMID0
    Core 21 => COS2, RMID0
    Core 22 => COS2, RMID0
    Core 23 => COS2, RMID0

numactl -H
available: 4 nodes (0-3)
node 0 cpus: 0 1 2 12 13 14
node 1 cpus: 3 4 5 15 16 17
node 2 cpus: 6 7 8 18 19 20
node 3 cpus: 9 10 11 21 22 23
[...]
```

Hi Jeremias,
Thanks for contacting us.
When CoD is enabled, LLC is logically split in half (~16MB on each cluster on your CPU). LLC of each cluster retains the same number of cache ways (bits in the contention mask) as with CoD disabled.
Your class mask is then effective on a per cluster basis, leaving you with 8MB for half of LLC on 1 cluster.
One thing to note, there is only one set of Class of Service registers that are shared across all clusters on a socket and cores can only fill into LLC on their local cluster.
So for example, with CoD enabled on your CPU, cores 0 and 3 are on separate clusters. Despite using the same COS, for example COS1, the cores are effectively isolated and they will fill into different parts of LLC.
If you could provide more context on your CoD & RDT use case then we could advise on the best setup for you.
Note: The kernel implementation of CAT (resctrl) does not support CoD so using this interface may lead to ambiguous results.
Regards,
Marcel

Hi Marcel,
thank you for your quick and helpful reply and the delay of mine.
That behavior makes sense. I will test it and come back to you.
Right now we are using the Intel RDT tool, so the resctrl issues do not effect us.
Regards,
Jeremias

No problem Jeremias.
I'll close this issue for now, if you find any other issues are have questions feel free to reopen this or create a new issue.
Regards,
Marcel


basic editor syntax highlight integration

CodeMirror is too heavy, and basic editor is often too light :) Any chance to get e.g. https://highlightjs.org integrated in the basic editor? Thanks :)

Sure, you can use external editor mode with CodeJar and highlight.js. That's what I do on codapi.org.

Thanks for the comment. I'm using https://revealjs.com for some slides that use syntax highlighted code blocks. I'd love to be able to run & edit them right in the slides. I'm aware that I can use external editors, but it would be amazing if the basic editor could at least preserve syntax highlighting, or if there was some hook that I could re-syntax-highlight on every input.

CodeJar is the most basic editor you'll find.

True, but the <code> tags in my reveal.js slides aren't generated by me :/ Having something like editor="codejar" or maybe even editor="myJavaScriptHook()" would make my life a lot easier.

I don't get it. Okay, the code/pre tags are generated by reveal.js. What difference does that make? What prevents you from running CodeJar on those generated tags afterwards?

Sure I can hack my way around. I'm just thinking of people not being so fluent in JavaScript, might be nicer to offer a no-code solution for them to get a simple editor with syntax highlighting.

Yeah, maybe. I'd rather wait until I actually see these people.

FWIW, I've integrated HighlightJS with the basic editor. This is all that was needed:
const runButtons = document.querySelectorAll("codapi-toolbar button");

function rehighlightAssociatedCodeBlock(button) {
  const codeBlock = button.parentElement.parentElement.previousSibling.childNodes[0];
  codeBlock.innerHTML = hljs.highlightAuto(codeBlock.innerText).value
}

// Highlight all code samples
hljs.highlightAll();

// Refresh syntax-highlighting for code blocks on associated Run
runButtons.forEach(e => {
  e.addEventListener("click", () => rehighlightAssociatedCodeBlock(e));
});

The code samples loose their highlighting when the contenteditable becomes active and get re-highlighted when you click Run. Running the highlighting on the input event of the code is a pain and not worth it in my opinion over running a fully-featured editor like CodeMirror.
Hope this helps.

I don't like the idea of baking in the editor or even introducing dependencies of syntax highlighting packages like highlight.js or Prism.
In my experience, the basic mode works fine in almost all cases. The rest can be handled with external mode and a dozen of extra lines of JS.


Cards (<article> tags) have poor contrast with background in light mode

Describe the issue
Cards have very poor contrast with the background when using Pico v2's light theme.

Cards are sufficiently visually distinct in the dark mode.

Current Behavior
Cards are nearly indistinguishable from the background when using the light mode.
Expected Behavior
Cards are easily distinguishable from the background when using the light mode, perhaps by employing a slightly thicker shadow.

@gekoke, I prefer to keep the shadow light/subtle to keep Pico's style neutral.
Plus, it's customizable with CSS variables.
But yes, it lacks some contrast, maybe we could do this:
https://codepen.io/lucastests/pen/bGZZeBK

I believe that the contrast issues might be display-based. The UI in the attached screenshots looks fine on my 2021 14" MacBook Pro with adequate contrast.
Looking at it on my Gigabyte G27Q 1440p monitor with default settings there is almost no visible contrast even with the shadows. However, when I change the color temperature to a different mode the contrast becomes visible.
I have attached some pictures of my monitor with the different settings enabled to try to make the issue more visible. Hopefully these help.


Rename AliasSeq to AliasTuple

See forum discussion<EMAIL_ADDRESS>This is an alternative to https://github.com/D-Programming-Language/phobos/pull/3487

worksforme

+1

+1

Yeah, I like this better too.
Ping @deadalnix @Hackerpilot @DmitryOlshansky @jmdavis (those who were in favor of, or discussed change to AliasSeq)

I don't care that much. AliasSplat would be more unique but I'm OK with any of AliasSeq, AliasTuple too.

I really don't like calling this a tuple. That's part of the problem with TypeTuple. It really isn't a tuple, and the fact that we've called it a tuple has definitely caused confusion. It's similar to a tuple, but it isn't a tuple.
 AliasTuple is definitely a step up from TypeTuple, since it fixes the first half of the name, and every single suggestion for the second half has problems with it, because we're dealing with a fairly unique construct here. Maybe the word splat technically is more or less what we're looking for as has been suggested in the newsgroup, but I don't see how anyone could take that term seriously.
We simply don't have a good name for it. I think that AliasTuple is about as close as we're going to get to a name that actually describes what it does (except maybe for AliasSplat, but that's a horrible name), but it is going to carry incorrect connotations thanks to baggage that comes with the term tuple. So, from that standpoint, it's probably best to either call it AliasTuple or pick a name that really says nothing about what it is so that no one makes any assumptions about it (like iota).
On the bright side, AliasTuple isn't as ugly-looking as AliasSeq and of a much more reasonable length than AliasSequence.

It's better than TypeTuple and Arguments, so sure. Let's use this one.

OK, doesn't seem like there's any concrete objections here.

Auto-merge toggled on

@MartinNowak I know that this probably should have gone into stable, but I think the original hadn't. Can you cherry pick this? I have no idea how to do that.

I'd like to object if that matter. This is not a list, (it is expected to have list of list working for instance).
I was never super happy with seq, but list is objectively worse. Discussion about it in the forum showed that this construct actually already havea name: splat.
If splat is not liked, then we should make our own word. Using list is no good. People where confused because this was not a tuple. People will be confused because this is not a list for the same reason: the word come with a baggage, and this baggage is creating confusion.

Can we please wait at least a full day with merging changes that are known to be controversial?

I  would prefer if most pull requests stayed open for at least a week (but not more than a month).  I think I still have local copies.  If you want me to revert this and resubmit it, please advise me of the proper procedure.

Sorry for pulling too quickly. I thought this was not too controversial. And we have an allowance here from Andrei. And the release is pending we don't want the wrong name to go out. The choice at this point seems so subjective, I think we should move on here.
At this point, not many liked Arguments. AliasSeq seemed doomed from W/A. Anything with List draws a veto from both Walter and Andrei. There simply aren't many choices. Fwiw, I think tuple is the most natural fit with existing D terminology


Fix gif build on Windows

It fails on Windows because "'unistd.h': No such file or directory". "unistd.h" is included in some source files but never used. I can manually comment out these includes then the target is buildable. Since it's a new_http_archive, the only fix I can think of is to write a genrule to remove those include statments
Ideally, we want the include could be configurable, but that's not true in the source code yet. @mrry @damienmg @dslomov

Can one of the admins verify this patch?

@tensorflow-jenkins test this please.

Iirc we still build bazel with msys. I am sure we still needs msys to run.
On Tue, Sep 20, 2016, 8:32 PM Derek Murray<EMAIL_ADDRESS>wrote:

@mrry commented on this pull request.
In gif.BUILD https://github.com/tensorflow/tensorflow/pull/4489:

prefix_dir = "giflib-5.1.4/lib"
+prefix_dir_windows = "windows/giflib-5.1.4/lib"

+genrule(

name = "srcs_without_unistd",
srcs = [prefix_dir + "/" + source for source in SOURCES],
outs = [prefix_dir_windows + "/" + source for source in SOURCES],
cmd = "for f in $(SRCS); do " +

   "  sed 's/#include <unistd.h>//g' $$f > $(@D)/%s/$$(basename $$f);" % prefix_dir_windows +

@martinwicke https://github.com/martinwicke: IIUC running Bazel on
Windows currently requires msys, but the generated binaries would not
depend on it (since they're compiled using MSVC).
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/tensorflow/tensorflow/pull/4489, or mute the thread
https://github.com/notifications/unsubscribe-auth/ADjHf7JQZcsyw1qDRN1SYDVJJYah0edkks5qsHsegaJpZM4KBo8K
.

It's interesting since giflib (allegedly) is included in major browsers,
who was we know do work on Windows. GIF hasn't changed much so maybe a 9
year old source isn't so bad?


zlib: add patch for CVE-2022-37434

Description of changes
https://nvd.nist.gov/vuln/detail/CVE-2022-37434
Have personally tested the PoC is fixed by this patch.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[x] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

Considering reverting this due to issues found in #185578


Efficiency patch

Only login to email once and pull all the emails needed in one swoop - Fixes #14
Changed GIF rotation time to 5 seconds - Fixes #33
Subtract delivered packages from 'in transit' packages, should no longer result in negative counts - Fixes #5 and Fixes #36
No more slow start warnings since we check the email in one call now - Fixes #10
Added aspect ratio calculations to keep image looking correctly - Fixes #32
Added additional subject searches for FedEx emails - Fixes #34
Bump version to 0.1.0 since we're no longer using Imagemagick and fixed the speed issues, seemed like a good milestone.

I've been running this for the past 3-4 days, other than the aspect ratio bit which I haven't been able to confirm yet, all else works great.

FYI, I just add today = '18-Feb-2020'after line 901 in the sensor.py to pull a previous emails to test.
I had issues again with starting due to Mail Attachment.txt being added in the image array. I added the file name to line 828 in the sensor.py to the items to remove from the image array before processing.
remove_terms = ['mailerProvidedImage', 'ra_0' , 'Mail Attachment.txt']
The image rotation continues to be an issue. I think the is a limitation with file camera. My observation is that there are only 10 seconds to get through all the mail images before it reloads the file. I don't think I ever encountered that before since I embedded the imagine the custom card instead of using the camera component.
So, my 4 mail images at 5 seconds each only gets through 2 images.
If I set the duration to 10, I only ever see 1 image. Not sure what the fix is here for a good viewing speed and being able to show the user all mail images.
For image resizing, doesn't seem to be there. I thought that maybe rescale is what should be used by I couldn't get the results. I think you would have to evaluate images widths and height because either could be out of the 317 x 700 perimeter. I'll keep looking into this.

The image rotation continues to be an issue. I think the is a limitation with file camera. My observation is that there are only 10 seconds to get through all the mail images before it reloads the file. I don't think I ever encountered that before since I embedded the imagine the custom card instead of using the camera component.

Setting the lovelace card to "live" resolved this for me.

For image resizing, doesn't seem to be there yet. I thought that maybe rescale is what should be used but I couldn't get the right results either. I think you would have to evaluate images widths and height because either could be out of the 317 x 700 parameter. I'll keep looking into this.

The resize function isn't working for you then? Or should I have it resize the width too?
# Resize images
# This should keep the aspect ratio of the images
#################################################

def resize_images(images):
    sized_images = []
    for image in images:
        if image.shape[1] < 700:
            wpercent = 700/image.shape[1]
            height = int(float(image.shape[0])*float(wpercent))
            sized_images.append(img_as_ubyte(resize(image, (height, 700))))
        else:
            sized_images.append(img_as_ubyte(resize(image, (317, 700))))

    return sized_images

Setting the lovelace card to "live" resolved this for me.

I see, you put in a picture entity card and that has the live setting. If this is the case we should probably make a note of the issue with a regular entity and change the 3 recommended configuration in the documentation to use the this card with the live settings on.

Today I am getting the message that the image-no-mailpieces700.jpg doesn't exist inside the www path. I thought I read that the component now populates that folder?
The image sizing is currently evaluating if the image width is less than 700. The intended function should be if the image width is greater than 700 do something. Even after scaling down the width, it is possible for the image height to still be too large for the intended canvas size. Also there is a type for the height, to match the no image for mail file the size 315px instead of 317.
The logic
From original image array, If image height is greater than 315
get new width, make image 315 x new width
add to first_pass_images array
else
add unmodified image to first_pass_images array
From first_pass_images array, If image width is greater than 700
get new height, make image new height x 700
add to sized_images array
else
add unmodified image to sized_images array
This is getting there. When stitching together in the gif, my first image was resized to w:660h:315 and that becomes the size of the gif.
Two options I can think of now:

Find how skimage can add blank pixels to make all the images exactly 315 x 700 after they are sized to fit within that size.
Add a template image that is 315 x 700 to always be the first image of the array so the gif always takes on the right size. It could say 'mail today' or something so it's not just a blank slide.

`# Resize images
This should keep the aspect ratio of the images
#################################################
def resize_images(images):
first_pass_images = []
sized_images = []
for image in images:
#1 height
if image.shape[0] > 315:
shape = "w:" + str(image.shape[1]) + "h:" + str(image.shape[0])
wpercent = 315/image.shape[0]
width = int(float(image.shape[1])*float(wpercent))
size = "w:" + str(width) + "h:315"
first_pass_images.append(img_as_ubyte(resize(image, (315, width))))
_LOGGER.debug("Image size: %s", str(shape))
_LOGGER.debug("Image too tall, new width: %s", str(width))
_LOGGER.debug("resize percent: %s", str(wpercent))
_LOGGER.debug("new size: %s", str(size))
else:
first_pass_images.append(image)
_LOGGER.debug("Image fine")
for image in first_pass_images:
    #1 check hegh
    if image.shape[1] > 700:
        shape = "w:" + str(image.shape[1]) + "h:" + str(image.shape[0])
        wpercent = 700/image.shape[1]
        height = int(float(image.shape[0])*float(wpercent))
        size = "w:700" + "h:" + str(height)
        sized_images.append(img_as_ubyte(resize(image, (height, 300))))
        _LOGGER.debug("Image size: %s", str(shape))
        _LOGGER.debug("Image too wide, new height: %s", str(height))
        _LOGGER.debug("resize percent: %s", str(wpercent))
        _LOGGER.debug("new size: %s", str(size))
    else:
        sized_images.append(image)
        _LOGGER.debug("Image fine")

return sized_images`

In my goosing I did find this, using a different library.
https://jdhao.github.io/2017/11/06/resize-image-to-square-with-padding/

I'm going to merge this, add in the additional remove term, and add in the information for the camera card needing to be 'live' to the readme.
I think that would be good for a new release and the continue to work on the image sizing.


rails generate chaskiq:install error

When I run "rails generate chaskiq:install"
I get
rake aborted!
Don't know how to build task 'chaskiq:install:migrations'
/Users/username/.rvm/gems/ruby-2.1.2/bin/ruby_executable_hooks:15:in eval' /Users/username/.rvm/gems/ruby-2.1.2/bin/ruby_executable_hooks:15:in'
(See full trace by running task with --trace)
I have bundle complete.

Hola @davila7 , y que tal anda con railties:install:migrations ?
saludos

@michelson
rake aborted!
Don't know how to build task 'railties:install:migrations'
aún nada, no se que hago mal

¿que version de rails estás usando ?

ah , si haces esto rails generate chaskiq:install te instala migraciones ?
saludos

si nada de eso funciona , puedes copiar las migraciones a mano.
no es lo ideal , pero puedes salir del paso . https://github.com/michelson/chaskiq/tree/master/db/migrate
de todas formas voy a dejar este issue abierto hasta que lo pueda revisar con mas calma
saludos

Hi!
I have the same problem, however, I solved it by indicating the correct github account, because it seems to download another gem that it is called the same as yours (and it is empty)..
Try updating the readme with this:
gem 'chaskiq', git: "https://github.com/michelson/chaskiq"
The problem that now I have with a fresh install of rails 4.2.8 is the following:
/home/development/.rvm/gems/ruby-2.3.1/bundler/gems/chaskiq-1f0d0e6cf7f1/lib/chaskiq.rb:8:in require': cannot load such file -- urlcrypt (LoadError)
from /home/development/.rvm/gems/ruby-2.3.1/bundler/gems/chaskiq-1f0d0e6cf7f1/lib/chaskiq.rb:8:in <top (required)>' 	from /home/development/.rvm/gems/ruby-2.3.1/gems/bundler-1.14.5/lib/bundler/runtime.rb:91:in require'
from /home/development/.rvm/gems/ruby-2.3.1/gems/bundler-1.14.5/lib/bundler/runtime.rb:91:in block (2 levels) in require' 	from /home/development/.rvm/gems/ruby-2.3.1/gems/bundler-1.14.5/lib/bundler/runtime.rb:86:in each'
from /home/development/.rvm/gems/ruby-2.3.1/gems/bundler-1.14.5/lib/bundler/runtime.rb:86:in block in require' 	from /home/development/.rvm/gems/ruby-2.3.1/gems/bundler-1.14.5/lib/bundler/runtime.rb:75:in each'
from /home/development/.rvm/gems/ruby-2.3.1/gems/bundler-1.14.5/lib/bundler/runtime.rb:75:in require' 	from /home/development/.rvm/gems/ruby-2.3.1/gems/bundler-1.14.5/lib/bundler.rb:107:in require'
from /home/development/nfs_mount/chaskiq/config/application.rb:7:in <top (required)>' 	from /home/development/.rvm/gems/ruby-2.3.1/gems/spring-2.0.1/lib/spring/application.rb:82:in require'
from /home/development/.rvm/gems/ruby-2.3.1/gems/spring-2.0.1/lib/spring/application.rb:82:in preload' 	from /home/development/.rvm/gems/ruby-2.3.1/gems/spring-2.0.1/lib/spring/application.rb:143:in serve'
from /home/development/.rvm/gems/ruby-2.3.1/gems/spring-2.0.1/lib/spring/application.rb:131:in block in run' 	from /home/development/.rvm/gems/ruby-2.3.1/gems/spring-2.0.1/lib/spring/application.rb:125:in loop'
from /home/development/.rvm/gems/ruby-2.3.1/gems/spring-2.0.1/lib/spring/application.rb:125:in run' 	from /home/development/.rvm/gems/ruby-2.3.1/gems/spring-2.0.1/lib/spring/application/boot.rb:19:in <top (required)>'
from /home/development/.rvm/rubies/ruby-2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in require' 	from /home/development/.rvm/rubies/ruby-2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in require'`
Do you know any idea why this is happening? this gem seems to be correctly installed in my machine
Thank you so much

Ok, I got it, it seems that on lib/chaskiq.rb you have to change the following:
require 'urlcrypt'
to
require 'URLcrypt'
I'll try to make a pull request when I have time :)


VSCode failing to launch external program npm in 1.3.1

VSCode Version: 1.3.1
OS Version: OSX 10.11.1

I have the following task set up that I have been using for quite a while to run a few different npm scripts
// A task runner for npm scripts
{
  "command": "npm",
  "isShellCommand": true,
  "showOutput": "always",
  "args": ["run"],
  "isWatching": false,
  "tasks": [
    { "taskName": "build" },
    { "taskName": "watch"	},
    { "taskName": "watch:all"	}
  ]
}

this has worked well for me across several versions of vscode, but on Friday when I upgraded to 1.3.1 I started getting the following error when trying to start any of these tasks
Failed to launch external program npm run.
spawn npm ENOENT

Nothing has changed wrt to my npm version/installation path. Any suggestions for getting this working again?

Try 1.4.0-insiders version https://github.com/Microsoft/vscode/issues/8434

Thanks, I can confirm it is fixed in 1.4.0-insiders.


add highlight.js for markdown code blocks

This PR adds support for highlight.js highlighting of code blocks in markdown, as wanted for Owlkettle's nimiBook. This PR depends on https://github.com/pietroppeter/nimib/pull/179 in nimib being merged first.

We need to bump also nimib dependencies right? (After we release nimib side, otherwise CI will fail).

Good point! I think it grabs the newest release either way (all checks were green), but we should update the deps definetly.

Not sure if there is some place in docs that needs updating, basically it is a feature that comes directly from nimib...

I don't think so, this is as you say a nimib thing that nimiBook just uses .

The nim code block at the bottom here is from a markdown code block. It's getting rendered correctly, but I'm getting warnings in the console that highlight.js can't find a language called Nim. But the fact that it renders it either way is promising. (I didn't get this error back in nimib...)

It seems like mdBook had its own highlight.js bundled with it that was misbehaving. I have removed it now, but there seems to be some calls to deprecated functions in book.js that I will have a look at later if we can remove entirely.

The warnings are now gone! Ready for review

All good, let's goooo! :)

Mmh, not too soon, trying to merge from mobile:

What was that change of GitHub token about? I will have to look from desktop

Hmm that's weird :/ It's not just that apps aren't allowed to merge PRs that modify workflows?

What was that change of GitHub token about? I will have to look from desktop

It was to fix the rate limiting issue we've been having with Jiro's action. I had it in nimib as well were the tests were red because they were terminated by rate limiting. The fix seems to have done something at least.

well, yeah, from desktop no issues, so I guess app has its limits!


Adding BLE support on Android Device + DPAD controller Connection

> Task :app:testDebugUnitTest FAILED

> Task :app:testDebugUnitTest FAILED

added null checks to fix the failures

Added a few more fixes. Also noticed that the jpeg images for the README are not pushed to this PR. Please add them after compressing them.


Fine customization of settings is not possible

There's no way for a user to add or remove a single element from the allowed list. There's also no way of obtaining the list that's currently configured.
We should probably add some methods like .allow_element() on the Builder unless we go for a different API.
CC @ssokolow, since this is partly inspired by his review.

In my view, this would be an essential first step to allowing new elements to be added to the default whitelist without it being a breaking change:

Offer users the choice between "start with the defaults, then modify" and "build a whitelist from scratch" so that the latter can be the recommended option for things like comment forms or situations where users want complete control.
Define a clear policy for what does and doesn't go on the default whitelist. (eg. Perhaps video and audio should be allowed for consistency with img, but a default URL filter should be in place which only allows local resources... or perhaps img should be disallowed based on a default policy of refusing all subresource references.)
Allow fine customization so users can easily ask for things like "Defaults, but also allow script tags pointing at GitHub Gist and iframe tags pointing at Youtube". (So, .allow_element() plus some kind of URI filter)
Users who opt to start from the defaults can upgrade ammonia to automatically get support for new safe HTML elements like time and data (added in HTML5) as they're added.

Ideally, you'd also offer an easy way for users to copy-paste a definition of the defaults which they can embed in their program and customize.

Also, one interesting idea to consider would be support for a URL filter which works by parsing a Content-Security-Policy definiion, similar to how LXML offers a module which instantiates XPath objects from CSS selector strings.
It wouldn't allow specifying restrictions more granular than allowed domains unless you support chaining multiple URL filters, but it would provide a great way to allow a single authority on things like where <img src=""> may point across the entire application, minimizing the chance that security definitions fall out of sync or get neglected. (And it'd be less footgun-y than regexp syntax.)
(Plus, combined with defaults suitable for running ammonia on everything in the site not requiring SSH to edit, it would help to act as a polyfill for browsers which haven't implemented CSP or have implemented it in an incomplete fashion.)

Allow fine customization so users can easily ask for things like "Defaults, but also allow script tags pointing at GitHub Gist and iframe tags pointing at Youtube". (So, .allow_element() plus some kind of URI filter)

Hi I know this issue is closed, but in 2023 do we have a way to allow iframe with specific src address, such as youtube ?

Allow fine customization so users can easily ask for things like "Defaults, but also allow script tags pointing at GitHub Gist and iframe tags pointing at Youtube". (So, .allow_element() plus some kind of URI filter)

in 2023, is it possible to whitelist iframe, but only allow src from youtube ? The closest thing i found is using add_tag_attribute_values, but this is for exact match of src address, you can not say all address from youtube.


Better editor titles for generic file names

VSCode Version: 1.12.2

When working with generically named files (such as index.js/ts on a node project), it's unhelpful for that to be the main text displayed on the editor tab/Open Editors section.
At present, the folder name is hinted subtly if more than one editor with the generic name is open, but a better solution for generics would be to highlight the folder name, with the title hinted instead.

suggestion along lines of:

(apologies for inconsistent slashes and folder names; I got distracted!)

As an addition to this, there's a related item that might be helpful:
When using Ctrl+P to search for files, it would be great if typing 'foo' showed foo\index.js. It might be a good option to be able to search by path, as well as file name, in general.
And one forlorn, unlikely hope: a way for git history to be smart enough to know that if foo.js becomes foo\index.js, it can be considered a renaming...

I can understand the problem, but I think that changing the order on the tab title like this could lead some people to misinterpret what they see. People will get used to seeing the file name first such that when we show a folder name first (in the specific case when there is ambiguity) they could easily read that as meaning there is a file with the same name as the folder.
We also have to take into account the fact that the position of the file icon would have to change too.
I think the PR that is referenced above demonstrates these challenges quite well.
@rosyatrandom - ctrl P now does what you requested:

As for your other git issue, you should consider submitting a new issue for that.

We have introduced a setting for controlling the length of the path in the tabs:
"workbench.editor.labelFormat": "default"
I know that this doesn't totally address the issue that you raised but it does give you a way to change how the path is displayed on the tab.
I'm going to close this issue for now.


solved part of TODO #1

after hours is was just able to solve a part of TODO #1.
it is very difficult for me to get the hang of the codes structure.
i have an idea what causes the problem of the test closingOverdrawnAccountPaysOutNoMoney() in BankTest.kt. The limit is not correctly understood by the code so that the limit is always 0. I have no more ideas how to fix this problem.
I found the mistake by executing die following code the Main.kt
`    val bank = Bank ()
val john = bank.newCustomer("John Doe")
val account = bank.openAccount(john, openingDeposit = Money(100), limit = Balance(-100))
println(account.balance) ; println( account.limit)
println("________")
bank.withdraw(account, Money(50))
println(account.balance)
println("________")
bank.withdraw(account, Money(100))
println(account.balance)`

So the output was
Balance(centAmount=100, currency=EURO)
Balance(centAmount=0, currency=EURO)
________
balance suffices, pay out the money
Balance(centAmount=50, currency=EURO)
________
insufficient balance; pay out 0
Balance(centAmount=50, currency=EURO)

The correct way would be something like this:
Balance(centAmount=100, currency=EURO)
Balance(centAmount=-100, currency=EURO)
________
balance suffices, pay out the money
Balance(centAmount=50, currency=EURO)
________
balance suffices, pay out the money
Balance(centAmount=-50, currency=EURO)

I would appreciate some advise.

I now found a way. I added a function to assign a new limit to accounts.

Please open to PRs from master - always work in a branch.
You correctly analyzed the problem: The limit we give to the bank somehow gets lost on the way to the account. The new method can be used to fix the tests but it does not really solve the underlying problem. Have a very close look at Bank::openAccount. Look what happens (or rather doesn't happen) with the limit that method accepts.

Had noticed to late that i am on master. This will not happen again.

No worries. :wink: If it does happen again, note that you can create a new branch at any time. Say you've done three commits on master and then realized you forgot to branch. With git checkout -b new-branch you can create a new branch with all your work in there. Then you only need to kill the three commits on master. If you're in that situation, ping me and I explain how that works.

I had udated my previous comment shortly after you commendet to the older version. Does github inform you about an updated comment?

I solved TODO #3 and tried to push it. Unfortunately this does not work

ups
it was not my intention to close this. Is there a way to undo this?

Hmm looks like a forced push destroyed it. All just because of pushing on master branch  😖

Does github inform you about an updated comment?

Nope.

Hmm looks like a forced push destroyed it.

It doesn't generally do that but it might happen if the pushed version is "weird".

Regarding the edits to your comment...
Some terminology: A function has no constructor. A function has a name, arguments, return type (together sometimes called its signature), and a body. A constructor is very much like a function but will always return an instance of the class the constructor belongs to.
Then, the limit = Balance(0) does not mean what you think it does. It is called a default value and it only means that if the caller of the function does not specify a limit, Balance(0) is used for the limit. If the caller does specify a limit, then that limit is used.
But what is more important is where the limit goes from there. The method  openAccount accepts a limit but what does it do with it then?

Okay, thanks, very helpful explanation.
I think the mistake than is here:
val newAccount = Account()
the limit must influence the new account. so I would change this code
line into:
val newAccount = Account(limit = limit)
after this change I can remove the following code line:
bank_setNewLimit(newAccount , limit)
Am 2017-07-27 13:40, schrieb Nicolai Parlog:

Regarding the edits to your comment...
Some terminology: A function has no constructor. A function has a
name, arguments, return type (together sometimes called its
signature), and a body. A constructor is very much like a function
but will always return an instance of the class the constructor
belongs to.
Then, the limit = Balance(0) does not mean what you think it does. It
is called a default value [1] and it only means that if the caller of
the function does not specify a limit, Balance(0) is used for the
limit. If the caller does specify a limit, then that limit is used.
But what is more important is where the limit goes from there. The
method openAccount accepts a limit but what does it do with it then?
--
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub [2], or mute the
thread [3].

Links:
[1]
https://kotlinlang.org/docs/reference/functions.html#default-arguments
[2]
https://github.com/nicolaiparlog/energy-model/pull/35#issuecomment-318337957
[3]
https://github.com/notifications/unsubscribe-auth/Aa5VoRqO0-LNN6PZp-O2_yh00IfPB46-ks5sSHckgaJpZM4Okgzq


Pressing up key to edit your last Issue comment

Just like Slack does. Makes it easy to edit your last comment for grammar, typos, etc.
Only would work when:

text area is the Leave a comment box at the bottom of issues (not when editing a comment)
text area is empty

I think it would be better (and easier to implement) to scroll to the comment and 'click' the edit button.

I just realized that this is the opposite of #848

escape - blur (then you can use github keyboard shortcuts)
up - edit comment


Benchmark CIs: not use a default label to call the GH runner

Since we now have multiple self-hosted github runners, we need to differentiate them calling them in the CI. The self-hosted label is the default one, so we need to use the unique and appropriate one for the benchmark machine

bors merge


Not working on VS15 using xunit

My project is using xunit 1.9.1 and I'm on VS15 (Microsoft Visual Studio Professional 2015
Version 14.0.24720.00 Update 1).
I get the question mark in the circle and no other context to why the plugin is apparently not working. Is there a status or log file I can check to get more context?

Hey @cottsak, thanks for reporting the issue. I am betting this is the same as #2, which I am currently working on. ETA is end of this week.
I am sure of that as I have a hacked up solution in the branch wip-generalize-adapter - where I can run xunit 1.9.1 tests in VS2015.
w.r.t. logs, you can use the run (as admin) RealTimeEtwListener. It captures the logs from tddstudio at realtime.

No worries mate. Ping me when there is a new release and I'll test it out for you.

Fixed with releave v<IP_ADDRESS>.

Installed <IP_ADDRESS> and I'm still getting the ? and nothing that looks like my tests are running.

Opened #16 as this is a different issue.


⚠ Samsung has degraded performance

In fd2d29e, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2237 ms

Resolved: Samsung performance has improved in 65682b5.


chore: add support for bun

I appreciate that we added link for the --if-present issue here, so we can keep up to date for when that is solved 💙


it doesn't work

I git clone this repo but when npm run dev, it doesn't work

Thank you very much, updated the dependencies, should works now.
git pull
rm -rf node_modules
npm i
npm run dev

Sorry for wasted your time!


feat(metadata): method metadata is setable

:tada: This PR is included in version 2.7.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Publish MarkyMark on JCenter

Currently we no longer publish to Maven because the plugin is no longer maintained. Seeing as this would have limited added value and the age of the issue I will be closing it. Once Maven publishing has been reimplemented we can look again at whether we want to publish to jcenter as well.


Add deviceId to Entity class and codegen

Proposed change

This PR adds the DeviceId property to the Entity class and updates the Code Generator to populate all entities with the DeviceId of their associated device.
A future enhancement could augment the existing EntityAreaCache code to also track the device registry, which is mutable in Home Assistant. Since the DeviceId associated with an entity will never change, it makes sense to bake it into the Entity class.
The immediate benefit is that users can now access the DeviceId of their devices via the DeviceId property of any of the associated entities. A specific use case is listening for the "zwave_js_value_notification" event for a specific device.
I have marked the PR as "draft" because it is as yet untested beyond running the test suite, and I've only added a single test so far. Before putting in the real work, I want to gather feedback on whether this enhancement acceptable before I put in the real testing work.
Side note: I considered whether it would be a good idea to add other properties such as AreaId to the codegen, but I think that only truly immutable properties should be baked in. An entity might change areas, get renamed, etc., but the DeviceId should never change.
Type of change

[ ] Dependency upgrade
[ ] Bugfix (non-breaking change which fixes an issue)
[x] New feature (which adds functionality to an existing integration)
[ ] Breaking change (fix/feature causing existing functionality to break)
[ ] Code quality improvements to existing code or addition of tests

Additional information

This PR fixes or closes issue: fixes #
This PR is related to issue:
Link to documentation pull request:

Checklist

[ ] The code change is tested and works locally.
[x] Local tests pass. Your PR cannot be merged unless tests pass
[x] There is no commented out code in this PR.
[ ] I have followed the [development checklist][dev-checklist]
[x] The code compiles without warnings (code quality chek)
[ ] Tests have been added to verify that the new code works.

If user exposed functionality or configuration variables are added/changed:

[ ] Documentation added/updated for www.home-assistant.io

After chatting with @FrankBakkerNl , I'm closing this PR and will retry later with an attempt that works beyond only code generated entities.

Thank you for your contribution. Even not accepted PR:s moves the project forward.


Translate to Chinese

Good evening
This project looks great. I am a gopher from China. Maybe I want to translate the Chinese version. Can I have a try?

If we plan on translating to more than one language it would be worthwhile creating an 'Chinese' branch and other languages could follow suit.

Sure. Please raise a PR. I'll be happy to merge!


feat: add support for binding set of items

Add support for binding set of items
Add TwinColGridSetAdapter.

TwinColGrid is already a HasValue<ValueChangeEvent<Set<T>>, Set<T>>. Why do we need an adapter?
https://github.com/FlowingCode/TwinColGridAddon/blob/8b3326eb03b5be1f2070cc5f17242bf46b39bd33/src/main/java/com/flowingcode/vaadin/addons/twincolgrid/TwinColGrid.java#L80-L81

We can close this PR given that what is needed is already supported.


🐛 Bug: when have tried installing Boneless on Windows OS

unknow@DESKTOP-E8NEEDJ MINGW64 ~
$ go install github.com/renanbastos93/boneless/cmd/boneless@latest
go: downloading github.com/renanbastos93/boneless v0.5.0
go: downloading github.com/pelletier/go-toml/v2 v2.0.8
# github.com/renanbastos93/boneless/internal
go\pkg\mod\github.com\renanbastos93\boneless@v0.5.0\internal\run.go:56:3: unknown field Setpgid in struct literal of type syscall.SysProcAttr
go\pkg\mod\github.com\renanbastos93\boneless@v0.5.0\internal\run.go:84:12: undefined: syscall.Kill

When we've used WSL (Windows Subsystem for Linux), it works well. However, I believe we need a volunteer who has Windows to help us.


[BUG] Rename "Creation On" to "Date Created"

Summary

On the policy details page, the title "Creation On" needs renamed to "Date Created"
Screenshot: https://drive.google.com/file/d/1a6xMwMWccGLyH4jbRquU5RxegmKOEIJk/view

hey , is this still an issue? If yes can I work on this?

Thanks for checking @Shubham-Godambe, but I believe @ujwalkumar1995's PR fixes this. I'll get out some more issues this week that might good candidates to work on.

Fixed in 3.0


Configurable static assets

More details coming.

And load icons from local/offline PC impossible to. Or I can't understand how to do that


Automated cherry pick of #3684: fix: 避免有些云不能创建default名称安全组

Cherry pick of #3684 on release/2.12.
#3684: fix: 避免有些云不能创建default名称安全组

Codecov Report

:exclamation: No coverage uploaded for pull request base (release/2.12@8b9d903). Click here to learn what that means.
The diff coverage is 0%.

@@              Coverage Diff               @@
##             release/2.12   #3686   +/-   ##
==============================================
  Coverage                ?   6.94%
==============================================
  Files                   ?     501
  Lines                   ?   84045
  Branches                ?       0
==============================================
  Hits                    ?    5840
  Misses                  ?   77712
  Partials                ?     493

Flag
Coverage Δ

#aFlag
6.94% <0%> (?)

Impacted Files
Coverage Δ

pkg/multicloud/aws/securitygroup.go
0% <0%> (ø)

Continue to review full report at Codecov.

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

/lgtm

/approve


Group Policy documentation - where is it?  I wouldn't expect it documented on this page, but I expected a link to it.

Hi, regarding this section - https://learn.microsoft.com/en-us/deployoffice/overview-update-channels#group-policy
I would like to see more detail.  Can you detail where the group policy is documented please?  I don't seem to be able to find it.  The referenced download has a "what's New" page that has 19 changes...for what version? since what version?  I doubt that can be every policy change that has ever happened for M365.
I need to review what has changed for each 365 release to see what should/should not be enabled but I can't seem to find that anywhere and this page seems like it should have a link to that documentation.
I've found documentation detailing changes to group policy for each of the major releases for Win10, MSEdge and google chrome, so I'd have to assume M365 documentation exists somewhere also.

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

ID: 0cd85e3b-e780-457e-9502-856bc6315bca
Version Independent ID: 416e351f-13c5-e951-ea81-1650910a7c25
Content: Overview of update channels for Microsoft 365 Apps - Deploy Office
Content Source: DeployOffice/overview-update-channels.md
Service: o365-proplus-itpro
GitHub Login: @DHB-MSFT
Microsoft Alias: danbrown

To make it easier for you to submit feedback on articles on learn.microsoft.com, we're transitioning our feedback system from GitHub Issues to a new experience.
As part of the transition, this GitHub Issue will be moved to a private repository. We're moving Issues to another repository so we can continue working on Issues that were open at the time of the transition. When this Issue is moved, you'll no longer be able to access it.
If you want to provide additional information before this Issue is moved, please update this Issue before December 15th, 2023.
With the new experience, you no longer need to sign in to GitHub to enter and submit your feedback. Instead, you can choose directly on each article's page whether the article was helpful. Then you can then choose one or more reasons for your feedback and optionally provide additional context before you select Submit.
Here's what the new experience looks like.
Note: The new experience is being rolled out across learn.microsoft.com in phases. If you don't see the new experience on an article, please check back later.
First, select whether the article was helpful:

Then, choose at least one reason for your feedback and optionally provide additional details about your feedback:

Article was helpful
Article was unhelpful

Finally, select Submit and you're done!


⚠ Bofrost.ch has degraded performance

In 1c49805, Bofrost.ch (https://www.bofrost.ch) experienced degraded performance:

HTTP code: 200
Response time: 2422 ms

Resolved: Bofrost.ch performance has improved in 255fbf3.


[Info arch] Make Card description optional

For info-arch rollout, we need to display some cards without descriptions. In order for prop validation to pass, the description prop needs to be optional.

Good idea, @katydecorah! I made that div conditional and added a test case.


Declaring queue from other thread may cause onSuccess CB not to be called

Since several days I am tracking down an issue that causes a callback registered with DefferedQueue::onSuccess() not to be called. I could track it down now and want to ask if this is to be expected or to be seen as a bug. Basically the issue is: When creating a channel, declaring a queue and registering a success callback on a queue in a thread that is different from the thread that is handling incoming messages it might happen that the CB is registered TOO late (aka later than the time the channelimpl calls the CB in reportSuccess() ) Here' an exemplary time line:
MAIN THREAD                           |
                                      |
asion connection thread ----->        | RECEIVE THREAD (doRead loop)                              |
                                      |
new Channel                           |
                                      |
onReady(channelReadyCB)               |
                                      |
channelReadyCB                        t
                                      i
declareQueue                          m
    send Frame                        e
    push                              |
                                      | receive ACK Frame
    do some more                      |
    do some more                      | reportSuccess
    do some more                      | /////  NO CALLBACK YET REGISTERED /////
                                      | /////  calling only Deferred CB   /////
                                      |
    return Deferred                   |
                                      |
/////Register success CB -> TOO LATE  |
onSuccess(queueSuccessCB)             |
                                      |

Using AMQP-CPP 2.6.1 with RabbitMQ server 3.6.5 on Debian 8.0

connections are not thread safe. You cannot access one connection (or one of the channels on top of a connection) from multiple threads at the same time.

But shouldn't that be possible? I basically follow the recommendation of the doc " If, for example, you notice in your event loop that the socket that is connected with the RabbitMQ server becomes readable, you should read out that socket (for example by using the recv() system call), and pass the received bytes to the AMQP-CPP library." which is done in a separate thread (what I call RECEIVE THREAD in the example above). It basically means that once you started to listen to events you are not allowed to use the connection for declaring queues etc. unless you do it in event callbacks. Would I need to create another connection to do so? Or am I getting something completely wrong?

Just don't use threads. Use an event loop.


Cannot install with vim-plug

I would love to try this plugin, but it doesn't work with vim-plug because it expects the branch to be called "master".

Please consider mirroring the main branch to master so it can work with vim-plug.

You can point vim-plug to use a specific branch. I suggest trying that.
This is in the vim-plug docs i believe
On Tue, Jul 6, 2021, 2:28 PM elclanrs @.***> wrote:

I would love to try this plugin, but it doesn't work with vim-plug
https://github.com/junegunn/vim-plug because it expects the branch to
be called "main".
[image: vim-plug-headwind]
https://user-images.githubusercontent.com/1661925/124655982-999e7680-de6e-11eb-88c8-fcf235429b2c.png
Please consider mirroring the main branch to master so it can work with
vim-plug.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/steelsojka/headwind.nvim/issues/3, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAPXOSRO3WRSFK3WS6QC4O3TWNKNBANCNFSM475GB5UQ
.

Thanks, I didn't realize that was an option. For reference:
Plug 'steelsojka/headwind.nvim', {'branch': 'main'}


runtime: Make panic dumps more readable

When a Go program panics, it dumps information on running goroutines, stack trace, error etc. But it's hard for humans to parse. In a terminal, which is where you're most likely to see panics as you're testing your program, the error message is the first line and you have to scroll to see it.
Python does this really well, as they should, since everything is a runtime "panic". The last line is the error message. Then there's a blank line, and then the stack trace in reverse order, so that the frame that had the error is the next line reading up. 95% of the time those last two lines are all you need to see to understand what's going wrong.
I'd like to see Go lay things out similarly, with the most important information at the bottom, and the least important at the top. It would make debugging Go programs in the terminal a little bit more pleasant. Again that would be the most common case for seeing a panic by far. Production panics are hopefully few and far between.

It looks like at least one popular public tool, panicparse, depends on the current format. Not to mention private tools that may also depend on the current format. Technically, the format doesn't seem to be subject to Go1 compatibility since it would probably fall under "Unspecified behavior" - I don't see any mention of panic dump format in the spec. However, since this doesn't seem so critical, we should probably hold off until Go2 so we don't needlessly break existing tools.
(@ianlancetaylor based on my reasoning, do you think this should be tagged with Go2?)

I think we should close this issue.
I don’t think reversing the order of a stack trace is useful for two reasons.

The most useful place for a stack trace is in reporting a bug in production. In which case, the current behaviour, the faulting goroutine at the top of the stack trace and the faulting line directly following the panic message is optimal.
Reversing be order of a goroutines stack trace is optimising for the simple case — no cocurrency. Reversing the ordered of printing stack frames would mean the faulting goroutine is (probably) the first one printed but the faulting line is in the middle of the stack trace.

I think you'll see way more stack traces well developing and testing locally than in actual production. Obviously in the first scenario errors are unavoidable and commonplace, in the latter I would hope they're not. Certainly they're more important when they happen in production. But the principle of optimizing for the development case would seem to be the best.
To be clear I don't think we should optimize for the no goroutines case. I don't know how many errors involve multiple goroutines, but I expect it's a large quantity given that's one of the main features of the language. My experience in the industry suggests the same.
Putting important information at the top means it will be above the fold with short terminals or large stack traces, which is also probably most of the time. So I'll boil this down to one question:
Is there any summary information that's usually important in determining what went wrong and where, that we could place at the very bottom of the output (even if it duplicates information) so that panics can be diagnosed in many cases without having to scroll up and pore over the stack traces?
For example, the panic message and the file name and last line in user code code (that is not inside the stdlib or the vendor directory) from the goroutine that had the panic. The rest of the output can stay unchanged, my proposal would only add one lor two lines of additional, duplicated information. Short, succinct, and almost universally what you need to see to take action in diagnosing the problem. Just having that next step in front of you is great for ADD types like me that see a big giant blob of stack traces and get distracted trying to figure out what the next step is.
Thoughts?


Improvement in NULL Handling for Datetime columns

if allowNullTimeValue is set to true, pinot fills in the System.currentMillis timestamp in place of nulls. This happens in the following piece of code in NullValueTransformer class
    // handle null value in time column
    if (_defaultTimeValueFormat != null && record.getValue(_dateTimeFieldSpec.getName()) == null) {
      String timeValueStr = _defaultTimeValueFormat.fromMillisToFormat(System.currentTimeMillis());
      Object timeValue = _dateTimeFieldSpec.getDataType().convert(timeValueStr);
      record.putDefaultNullValue(_dateTimeFieldSpec.getName(), timeValue);
    }

This default value however creates an unpredictable behaviour from querying perspective. e.g. I inserted data for duration from year 2016 to 2018 but suddenly I find there is a timestamp for year 2022 in my data.
Another scenario is where I re-insert my data after clearing the table and find totally different values.
Pinot either needs to set this value to Epoch 0 or move on to some better default.

How about supporting NULL by default for time column?

@Jackie-Jiang
Maybe we can make new data types supporting null value by default?
Also for TIMESTAMP, I feel both deterministic value or current timestamp can be default null value.

@kishoreg one of the drawback of Pinot's current NULL support is that it operates via BitMap index and is not reflected anywhere in the data. This will again affect when the data is finally viewed by the user.

How about allowing users to customize the default time value, and fill the current time when no customized default time value is provided?

That also works. But our main objective for long term should be to enable native NULL handling in pinot so that we should not need to fill it with default values in such cases. I think the blocker to do that currently would be indexing when there are nulls.

That are 2 orthogonal problems to solve. We need to decide a default value for the time column, but can also enable the null value support (which is segment level) by default. When null value support is enabled (currently we need to explicitly enable it by setting nullHandlingEnabled to true in tableIndexConfig), we can skip the null time columns by using timeCol IS NOT NULL. In the future we can potentially add a config to automatically rewrite the query to skip the null values.
@KKcorps Do you think enabling the null handling and add a filter can solve your problem?

#8310

two followups here:

can we update the docs now that allowNullTimeValue is removed
why did we limit user-specified defaults to 1971 when 1970 is start of epoch? our current system is using 0 as the default

@jadami10 Good catch on the stale doc, updated.
We perform the time column value validation (must be in the range of 1971-2071) to prevent user configuration error of mismatching value and time unit. (E.g. if the time value is in millisSinceEpoch but user specify the time unit as SECONDS, then the segment will fail the validation). For the main time column, we probably don't want to use 0 as the default value because for hybrid table setup, the record will be ignored because of the time boundary.
The offline spark job should follow the same behavior here


Service Worker keeps reloading

Hi,
I have @axa-fr/react-oidc": "^7.1.0 , but somethimes serviceWoker.js keeps reloading the page, by register and unregister in a loop.

I fixed it : solution was having this in package json:
"@axa-fr/oidc-client": "7.1.0",
"@axa-fr/react-oidc": "7.1.0",


Fix Tagging and Push Logic in GHA Build Workflow

Description
Adjusts the logic within the GHA build workflow to something that makes more sense for the team and our release preferences.
Tagging adjustments:

When building  the master branch, only tag with latest, rather than tagging with latest and the git commit SHA.

Manifest adjustments:

Allow for manifests to be updated partially, rather than using the all-or-nothing approach. This means that if the amd64 image build succeeds and the arm64 image doesn't, the manifest will still be updated with the new amd64 image. This was done to allow for the manifest to be used while we work on fixing the numerous failing arm64 images.

Manual trigger adjustments:

Add new 'tag' parameter ,which specifies the tag to apply to images. More than one tag can be used by separating them with a space. Set to manual by default. Allows for debug builds to be tagged specifically, rather than having to lookup the git commit SHA.
Add new 'push' parameter, which enables pushing to quay. Set to false by default. This allows for us to debug builds while making pushing to quay optional, as such functionality may not always be needed nor wanted.

Pull request adjustments:

Pull requests will not push their images to quay at all. This is different than before, where the build image would be tagged with the git commit sha and pushed to quay. This also prevents any sort of issues with quay secret access.
Pull requests will only be built when the PR is synchronized or labeled with 'ok to test'. This prevents spamming GHA with lots of builds before a PR Is ready to be tested.

Fixes

Spamming quay with lots of non-expiring tags that reference a specific git commit SHA
Failing builds in PRs due to secret permission issues.

Codecov Report

Merging #344 (4ab33a3) into master (27e1401) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #344   +/-   ##
=======================================
  Coverage   39.40%   39.40%
=======================================
  Files          15       15
  Lines         868      868
=======================================
  Hits          342      342
  Misses        526      526

Flag
Coverage Δ

gha
39.40% <ø> (ø)

python-3.6
39.40% <ø> (ø)

unit
39.40% <ø> (ø)

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

Continue to review full report at Codecov.

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

Results for SNAFU CI Test

Test
Result
Runtime

.github/workflows
FAIL
00:00:00

Results for SNAFU CI Test

Test
Result
Runtime

.github/workflows
FAIL
00:00:00


change to scheme relative.

So sorry for leaving this PR not merged :bow: just merged it and released as 0.1.5.


Add mute/unmute button to profile header

Implements https://github.com/inaturalist/inaturalist/issues/3634.

@rainhead sorry for the miscommunication, but @pleary actually worked on this yesterday and today and has it working so I'm going to close this. We'll try and be better about self-assigning issues in the future so it's clear that someone's working on it. If you want to work on an issue, please leave a comment on it so we can assign you.


[abandoned step] testfairy-deploy-android

We contacted the Step maintainer multiple times, and we did not receive a response for more than a month.

Following the Bitrise StepLib Abandoned Step policy we decided to clone the step, accept the fixes there, and to replace it in the Bitrise StepLib with the new Step repository we maintain.
If you have any comment (e.g. if you want to take the ownership of the Step) feel free to add it here!


Update Blog “wohin-das-geld-fließt”

Automatically generated by Netlify CMS

👷 Deploy Preview for famous-kulfi-ae21db processing.

Name
Link

🔨 Latest commit
7ab6de0964759a93d14cd105e8edd8bb6abef272

🔍 Latest deploy log
https://app.netlify.com/sites/famous-kulfi-ae21db/deploys/65942fa3b4daf20008365028


change the web app name

now the web app is /csp/irisapp/
change it to:
/csp/zpmexplorer/

Closed by Merge pull request #9


NSMBU/NSLU disable normal maps

Is it possible to create a patch that disables all normal maps (tilesets, 3D models) in NSMBU/NSLU?

Alot is possible, its just a hell of a lot of work.


[Question] How to use dolphinscheduler ??

**For better global communication, Please describe it in English. If you feel the description in English is not clear, then you can append description in Chinese(just for Mandarin(CN)), thx! **
Describe the question
I can not find any good documentation how to use dolphinscheduler
Which version of DolphinScheduler:
v1.3.6
Additional context
I can not find any good documentation how to use dolphinscheduler
Requirement or improvement
Can you please privide how to use dolphinscheduler, thank you.

@CalvinKirs @BoYiZhang For, could you answer it?


Passing array of middlewares as first/only arg to use()

In the docs it says "If you pass an array of middleware as the first or only middleware parameters, then you must specify the mount path", but it seems to work without specifying a mount point and this looks like it might be a fix for it: https://github.com/expressjs/express/blob/4.x/lib/router/index.js#L433.  Are the docs outdated on this?

Hi @user896724 that is correct, passing an array as the only item (i.e. app.use([mw1, mw2]) does work just fine, and looks like an issue with the documentation.


Final Updates for XRTpy JOSS Submission

Updating the final changes for the XRTpy JOSS paper submission - XRTpy: A Hinode X-Ray Telescope Python Package.

pre-commit.ci autofix


Ohio fix

updates Ohio url to new one

Seems like both URLs  work, any reason to switch?
Note that we'll need to use the old URL for dates < 2020-3-15. See other scrapers for examples on how do to that.

They changed the page between when I did this and now!

@SteveWallace looks like this might be needed after all, Ohio stopped working and the old URL has a note that the info moved. Can you look into it?

fixed in other PR


Adding maintainer_can_modify flag and assignee

Pass maintainer_can_modify through env variable: MAINTAINER_CAN_MODIFY default to true
Ability to assigned the PR to user's through env variable PULL_REQUEST_ASSIGNEE default is empty and could be array or users

This was added via another request, https://github.com/vsoch/pull-request-action/releases/tag/1.0.3 closing here. Thanks!


Revisit intelligent NER filtering based on confidence values

Revisit intelligent NER filtering based on confidence values.

Should probably be tracked in ph-eye.


Can users/ACL be managed by the operator

if so, then which params of the CRD should be set ?

Are you using EMQX 5 or EMQX 4 ?

5.0.9

In EMQX 5, all user/ACLs can be configured via emqx.conf, and in EMQX CR, you can populate with the contents of .spec.bootstrapConfig

i see, ok, i was actually meaning something like EMQXAclUser and creating users/acl as CRD instead of having to edit the "core" EMQX file defining the emqx cluster and its config. Fair enough though i will have a look at the config documentation you linked: https://www.emqx.io/docs/en/v5.0/admin/cfg.html
I had experience with mosquitto and SQL based ACLs. Is it a thing in EMQX as well? could ACL be read in from a HA postgres cluster? or are config files the only option?

so now the question would be, perhaps if ACL is postgres based, then i might have to look for some CRD that controls insertion of entries in postgres tables as a "proxy" for users/ACL in EMQX. i can post the results of my research here then.

So cool, I'm looking forward

Hi @dberardo-com
This is not quite well documented, but there is this:
https://docs.emqx.com/en/enterprise/v5.8.2/hocon/#V-authentication-S-builtin_db-bootstrap_file


More realistic benchmarks are "needed"

If performance claims are made, I think it's important to contribute strong proofs over that statements.

Testing methodology : No info is available about...

The used machine specs.
Number of loop iterations
initial "warming up" process.
Which MessagePack implementation was used?

Cases 'matrix' :

Object with only scalar properties:

how does number of properties affects performance?
how does the scalar types affect performance?

Object with array properties (how does array length affects performance?)
Object with nested object properties (how does depth affects performance?)

I know that the "benchmarks" are inside the repository, but this is far from being OK:

Benchmarks have been named as "tests", tests are no the same as benchmarks. If the benchmarks are being used as tests, it should be changed and start decoupling them.
Benchmarks need to be modified by hand (removing comment marks over some requires) before being executed for comparative purposes.
Some requires have to be done "by hand" before executing the benchmarks. Is possible to declare dev dependencies in the package.json file, it's better than the current approach.
Tests/benchmarks files are at the same directory level than the "production" code, and a file like "index" shouldn't be used as a way to execute the benchmarks/tests.

I haven't many time to contribute, but I'll try to help the project in order to improve its development & testing methodology , maybe with one or two merge requests.

Sure, that would be greatly appreciated! I'm still new to the node scene so I'm still learning all these best practices.

Added my machine specs to benchmarks section on README
Switched to using benchmark.js to better capture variance and such
msgpack-lite is used. Future readers, just check the top of benchmarks.js
Benchmarks separated from tests
Other libraries to benchmark now included in dev dependencies


Inconsistent method naming for appending operations

Appending an item to a section or to the PageController is done with a method named append_item and appending an Element to a Page is achieved by calling add_element.
While I think it is important to differentiate between appending sections or pages to pagegroups and appending elements to composite pages, we should not use both terms add and append. Since append is what we actually do, we should rename add_element to append_element.

The methods are now called append(). The old methods still work and call append() now. When one of the old methods is used, a warning is printed and logged.


spelling of covariance

https://github.com/LouisDesdoigts/zodiax/blob/4a15434e8c4fb5e7845a91c287b1aac0b0d799eb/zodiax/bayes.py#L67
best to get this right throughout the package!

Duplicate of #30


Using On Any Move breaks On Teleport

Describe the bug
Using on any move prevents on teleport from ever firing. I've found this bug like two years ago, but couldn't find the exact cause. Maybe this issue is related.
To Reproduce
Run this script:
on any movement:

on teleport:
  message "works"
  log "works"

Try teleporting. You'll get no message. Disabling the script won't help, you must restart the server without the script enabled.
You can try the vanilla Skript event:
on player move:

on teleport:
  message "works"
  log "works"

This won't have the same effect, the teleport event will still work. I'm curious what is the root cause of this.
Information:

Skript version: 2.6.1
Server software: Paper
Server version: 1.17.1

(I've had this bug for at least a year, so the versions aren't very important)
Additional context
I hope I helped someone with this, because I've just spent an hour disabling tens of scripts and plugins and restarting the server every time.

You have the on player movement event empty in your provided example. You need to put code inside the event.

That doesn't change anything, I've tested it with various code in that event. I left it empty here for brevity.

@TheLimeGlass
I tested this with the latest Paper, SkQuery, and Skript version. There is no message
`
on any movement:
send "test"
on teleport:
message "works"
log "works"
cancel event
`
I've tried with on any movement:  empty it persists.

@ImNotStable The cause is the Skript issue linked above: https://github.com/SkriptLang/Skript/issues/4705
Teleport event is a subclass of Movement event, and if Skript is listening to "parent" event it stops listening to child events. The same applies to events like on portal, on move etc. I'm closing this issue as it looks like it will be fixed in the next Skript release (and SkQuery couldn't do anything to fix it anyway).


[Docs] Minor typos and tweaks

Thanks for creating this project and for publishing it as open source!
This PR includes some typo fixes and doc tweaks for your consideration. Thanks.

Thank you @javiereguiluz!!


feat(google-maps): geocoder wrapper

Feature Description
Currently there's no way wrapper for geocoder API. Although it's functionality seems pretty straightforward, recently I've faced an issue when geocoder's callback wasn't picked properly by Angular. It caused an issue, that was hard to identify.
Below I'm posting the preliminary implementation of Geocoder, I would like to be present. If needed, I can create a PR with this feature and corresponding tests.
import { Injectable, NgZone } from "@angular/core";
import { GoogleMapsModule } from "google-maps-module";
import { Observable } from "rxjs";

/**
 * Angular service that wraps `google.maps.Geocoder` instance to send geocode requests to Google servers.
 *
 * @see https://developers.google.com/maps/documentation/javascript/reference/geocoder
 */
@Injectable({
    providedIn: GoogleMapsModule
})
export class Geocoder implements google.maps.Geocoder {
    /**
     * The underlying google.maps.Geocoder object
     *
     * @see https://developers.google.com/maps/documentation/javascript/reference/geocoder#Geocoder
     */
    private readonly _geocoder = new google.maps.Geocoder();

    constructor(private _ngZone: NgZone) { }

    /**
     * Wrapper for `geocode` request, that is being sent to Google servers.
     * @see https://developers.google.com/maps/documentation/javascript/reference/geocoder#Geocoder.geocode
     *
     * @returns the list of `GeocoderResult`s.
     */
    geocode(request: google.maps.GeocoderRequest): Observable<google.maps.GeocoderResult[]> {
        return new Observable<google.maps.GeocoderResult[]>((observer) => {
            this._geocoder.geocode(request, (results, status) => {
                // need to manually trigger ngZone because "geocode" callback is not picked up properly by Angular
                this._ngZone.run(() => {
                    if (status === google.maps.GeocoderStatus.OK) {
                        // if status is "OK", the response contains a valid GeocoderResponse.
                        observer.next(results);
                        observer.complete();
                    } else {
                        observer.error(status);
                    }
                });
            });
        });
    }
}

Use Case
It can be used as follows in "Angular" way with observables:
@Component({...})
export class SomeComponent {
  constructor(private geocoder: Geocoder) {}

  getAddressPosition(address: google.maps.GeocoderRequest['address']): Observable<google.maps.LatLng> {
    return this.geocoder.geocode({ address }).pipe(map(results => results[0].geometry.location))
  }
}

@jelbourn don't you mind if I create a PR for this?

@jelbourn don't you mind if I create a PR for this?

@mbehrlich and @crisbeto should probably chime in on any proposed API

@mbehrlich and @crisbeto should probably chime in on any proposed API


Simplify getDatesInMonthU

Also, I have a question - why did you define your own date format (for converting dates to strings) instead of just using Nim's default one?
And yeah, I'll probably make some more of these PRs because in some cases your code can be simplified a lot.

Thanks for PR. Good question - but I have no answer for you :)
The proc getDaysInMonthU is not used except in the deprecated proc DEPRECATEDdateDiff. So I'm going to do some cleanup.


Match off of first 100 versions rather than last 100

We're trying to clean up the latest versions. (Trying to retroactively clean up packages may be more difficult in our case.) Is there any reason why allowing for the first 100 versions would be problematic. https://github.com/SmartsquareGmbH/delete-old-packages/blob/master/src/strategy/user-strategy.js#L10
I'm getting an issue If you have more than 100 versions and none of the 100 oldest versions match, no packages will be deleted!

Really appreciate your work on this Action. I like the props table in the documentation.

Do you have more than 100 versions that you do not want to delete?

Yes ... sort of. I can reliably match version names to delete and reduce the amount of versions starting from the beginning (we changed our naming standards). Does that kind of make sense?

@rubengees is this something that you think others might want? an odd edgecase? it's been working as expected in my tests. if not, I can close the pr?

Sorry for the late answer! I'm always a bit careful when adding more options to avoid feature creep and complexity. What is the use case for keeping more than 100 versions? Is it possible to instead have a regex that matches only the versions you actually want to delete?
Let's keep the PR (thanks for that!) open until I come to a conclusion.

ok. I will keep it open. Right now, I'm unsure if I can delete some of the older versions. But some of the newer ones have a more precise naming scheme that makes me confident that I can delete them.
Imagine there's a limit of 4 not 100 (list goes new to old):
124 - want to keep
123beta.5 - want to keep latest version with "beta" in it
123beta.4 - can delete
123beta.3 - can delete
123beta.2 - can delete
123beta.1 - can delete
123 - not sure if I can delete
122 - not sure if I can delete
121 - not sure if I can delete
120 - not sure if I can delete
I would match for "delete" starting from the newest version.

closing as it's now been done


DeprecationWarning with Python 3.7

When using django-bootstrap3 with Python 3.7 with warnings enabled, the following deprecation warning is emitted:
/usr/local/lib/python3.7/dist-packages/bootstrap3/utils.py:5: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working
  from collections import Mapping

It would be good if django-bootstrap3 was warning-free on Python 3.7. (In our specific case, this warning pollutes our test suite output.)
Steps to reproduce
$ python3.7 --version
Python 3.7.1
$ python3.7 -m pip install django django-bootstrap
[...]
$ python3.7 -Wall -c 'import bootstrap3.utils'
/usr/local/lib/python3.7/dist-packages/bootstrap3/utils.py:5: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working
  from collections import Mapping

Thanks! This will be fixed in the next release.

The issue is still present in the newest released version (11.1.0).

The issue is fixed in the newest released version (12.0.3). I was most likely fixed by this commit, meaning it was already fixed in 12.0.0.


Images submitted by android seem to be lower quality

I have noticed that if I submit aphoto with an android the quality is lower than if I submit it with iOS. I am have the quality up all the way and it seemed like it didn't effect androids at all. Is anyone else seeing this?

What do you mean "submit" a photo? The quality option should be respected on Android. You're specifying quality: 1? How are you accessing the photo in the response - uri, path, or data?

I have it set to quality: 1 and then the image is submitted to our server where we store it.  And it is fetched from there.  The quality of the images from android devices are noticeably lower than ones submitted by iphones.  Sorry for my vague initial post.
Here is the code we are using on our image selector component
var options = {   title: 'Select Photo',   cancelButtonTitle: 'Cancel',   takePhotoButtonTitle: 'Take Photo...',   chooseFromLibraryButtonTitle: 'Choose from Library...',   cameraType: 'back', // 'front' or 'back'   mediaType: 'photo', // 'photo' or 'video'   videoQuality: 'high', // 'low', 'medium', or 'high'   durationLimit: 10, // video recording max time in seconds   maxWidth: 1200, // photos only   maxHeight: 1200, // photos only   aspectX: 1, // android only - aspectX:aspectY, the cropping image's ratio of width to height   aspectY: 1, // android only - aspectX:aspectY, the cropping image's ratio of width to height   quality: 1, // 0 to 1, photos only   angle: 0, // android only, photos only   allowsEditing: true, // Built in functionality to resize/reposition the image after selection   noData: false, // photos only - disables the base64 data` field from being generated (greatly improves performance on large photos)
storageOptions: { // if this key is provided, the image will get saved in the documents directory on ios, and the pictures directory on android (rather than a temporary directory)
skipBackup: true, // ios only - image will NOT be backed up to icloud
path: 'images' // ios only - will save image at /Documents/images rather than the root
}
};
var ImagePicker = React.createClass ({
getInitialState(){
	return{
		thumbPhoto: this.props.image,
		photo: ''
	};
},

selectPhoto() {
ImagePickerManager.showImagePicker(options, (response) => {

	  if (response.didCancel) {
	    console.log('User cancelled image picker');
	  }
	  else if (response.error) {
	    console.log('ImagePickerManager Error: ', response.error);
	  }
	  else if (response.customButton) {
	    console.log('User tapped custom button: ', response.customButton);
	  }
	  else {
	    var thumbPhoto = 'data:image/jpeg;base64,' + response.data,
	    photo = response.data,
    re = /(?:\.([^.]+))?$/,
    type = re.exec(response.uri);

	    if(type[1] === 'jpg' || type[1] === 'jpeg' || type[1] === 'png' ){
      var imageObj = {thumbPhoto: thumbPhoto, photo: photo};
	      this.setState(imageObj);
	      this.props.updateImage(imageObj);
    }
    else{
      Alert.alert(
        'Invalid Image Type. Please select a non GIF image.',
        '',
        [
          {text: 'Ok', onPress: () => console.log('titties')},
        ]
      );
    }
	  }
	});

},
render(){
	return(
  <View>
    <TouchableHighlight onPress={this.selectPhoto} style={styles.button}>
    		<View style={styles.buttonWrapper}>
    		  { this.state.thumbPhoto ? <Image source={{uri: this.state.thumbPhoto}} style={styles.image}/> : <View style={styles.image}><Icon name={'camera'} color={'white'} size={16} style={styles.cameraIcon}/></View>}
       		<Text style={styles.text}>{this.props.image ? 'Update Image' : 'Upload Photo'}</Text>
       	</View>
    </TouchableHighlight>
	</View>
	);
}

});`

Sorry for the kinda obvious question, but I'm just not sure what would be causing this...what's the source of the photos? Are you comparing the same photo on each device? Maybe your users are just taking poorer quality photos on their crappier Android phones?

The images are coming from the library
Android

Iphone

Can you try using the uri or path to display the images rather than data?

Images are displayed using a URI from our image server :/.  Posting the issue here was not my first debug attempt.  I was hoping to see if anyone had this issue other than me.
We use the data to show the thumbnail before it submitted to the image server.  When the user hits submit the base64 is sent to the server and pulled down to the client through URI fetching from that server.

Also both of those screenshots were taken from an iphone

Ok, well I'm asking if you can try to display the image straight-up from the response, before it goes to your server. I'm wondering if whatever you are using to upload behaves differently on Android/iOS and is unrelated to this module. This is the first time someone has complained about image quality.

We're using the base64, passing it into a buffer, and sending to S3. The upload process is the exact same on both iOS and Android but android seems to be slightly different (I'm working with @bendellarocco )

I confirm the issue, i see it a couple of times. Will try something to adjust the image quality.

Should be fixed in 0.19.7 can you give it a try @kvieira90 @bendellarocco ?

We will upgrade today and let you know.  Thank you @yfuks

@yfuks This looks to have solved the issue!  Thank you!

Hello Guys
My app has the same issue even now with react-native-image-picker 0.25.1
How can I solve this problem please~

hi @dannyyaou im having a similar issue. did you get a solution.

Same here

I had the same problem. It seems setting options maxWidth and maxHeight were causing Android image quality to degrade significantly. Explicitly setting the quality property seems to resolve the issue.
  let options = {       title: 'Take Brag Photo',       aspectX: 1, // android only - aspectX:aspectY, the cropping image's ratio of width to height       aspectY: 1, // android only - aspectX:aspectY, the cropping image's ratio of width to height       quality: 1, // 0 to 1, photos only       angle: 0, // android only, photos only       maxWidth: 512,       maxHeight: 512,       mediaType: 'photo',       customButtons: [],       storageOptions: {         skipBackup: true,         path: 'images'       }     }

Same here

same here

Same issue here, there are scattered reports of this and it's one hundred percent an actual issue, been developing a cross platform app with media cropping upload functionalities and there is a significant degrade in quality on Android phones, is there any way we can help debug this?

I am facing the same issue. Any fix for this?

Using resizeMethod property of <Image> might help.
https://facebook.github.io/react-native/docs/image#resizemethod
<Image source={{ uri: imageUri }} style={styles.image} resizeMethod="scale" />

I'm facing the same issue on v4.7.3. Photos taken on android (even though of good quality when viewed on the phone's gallery) look really poor quality when passed through react-native-image-picker (and yet the file size is bigger than those taken on iPhone). I'm comparing the quality by opening the public url in a browser from my S3 bucket.


fix(docs): Enable Syntax Highlighting fixes #1738

Describe the PR
Get Syntax Highlighting working again in the documentation.  This fixes #1738
I'm explicitly pulling in the vp-code.css as well as several other files that seem appropriate.  It's unclear to me why https://github.com/vuejs/vitepress/pull/3237 caused this issue, as the file had been created and consumed by the default theme a couple of years ago.  In any case, this fixes the issue.  I haven't nailed down what each of the additional files does and if we're currently consuming them, but they seem like reasonable functionality.  We are using custom-block.css in badge.md and leaving out that file makes the tip section just disappear from the docs. So while I would normally go for the minimal fix it seems like including all of these files makes sense in this case.
Small replication
Syntax highlighting is broken in all the documentation.
PR checklist

What kind of change does this PR introduce? (check at least one)

[ ] Bugfix :bug: - fix(...)
[ ] Feature - feat(...)
[ ] ARIA accessibility - fix(...)
[X] Documentation update - docs(...)
[ ] Other (please describe)

The PR fulfills these requirements:

[X] Pull request title and all commits follow the Conventional Commits convention or has an override in this pull request body This is very important, as the CHANGELOG is generated from these messages, and determines the next version type. Pull requests that do not follow conventional commits or do not have an override will be denied

Tyvm


WebProxy: safePorts / sslPorts mask

https://github.com/opnsense/core/blob/33815986852d2c9a88a4950895b619e8c5377e76/src/opnsense/mvc/app/models/OPNsense/Proxy/Proxy.xml#L345
When you try to put an invalid tcp port like ex.: 80830 the mask matches and put this on the squid.conf file causing an error:
FATAL: Bungled /usr/local/etc/squid/squid.conf line 50: acl Safe_ports port 80830 # unknown
Suggestion: Make some regex like that (I've tried to modify to merge with the current mask without sucess yet)

we have a port validator, https://github.com/opnsense/core/blob/master/src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/PortField.php. we should probably add support for lists there and change the safePorts type.

Something like this:
                <safePorts type="PortField">
                    <Required>N</Required>
                    <FieldSeparator>,</FieldSeparator>
                    <asList>Y</asList>
                </safePorts>

But it would break the defaults ..

@mimugmail your right, my mistake, probably better to fix with a regex in that case.

timeout (https://github.com/opnsense/core/blob/master/CONTRIBUTING.md)


Error configuring android:allowBackup on confix.xml

Hi,
We are experiencing a problem on an Android system, configuring the config.xml with:
<edit-config file="AndroidManifest.xml" mode="merge" target="/manifest/application">
       <application android:allowBackup="false" />
</edit-config>

With this configuration the AndroidManifest.xml file isn't built correctly, it hasn't references for the ZXing Activity and the app crash when we try to read a barcode, missing references are:
<activity android:clearTaskOnLaunch="true" android:configChanges="orientation|keyboardHidden|screenSize" android:exported="false" android:name="com.google.zxing.client.android.CaptureActivity" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:windowSoftInputMode="stateAlwaysHidden" />
<activity android:label="Share" android:name="com.google.zxing.client.android.encode.EncodeActivity" />

But if we remove phonegap-plugin-barcodescanner and then add it again, AndroidManifest is built correctly.
cordova --version is 8.1.2<EMAIL_ADDRESS>phonegap-plugin-barcodescanner 8.0.1 "BarcodeScanner"
Thanks for your time.

Check the similar issue: https://github.com/phonegap/phonegap-plugin-barcodescanner/issues/743
The problem is that if you modify the same file (ex. AndroidManifest.xml) with  in different plugins, then it won't properly resolve all the edits and only apply changes from one plugin.
Learned that the hard way when i deployed an application without proper permissions. I used similar solution to the one in above linked issue by using cordova hooks and modifying AndroidManifest.xml with scripts.


Remove unused code, and fixed failback bug

What this PR does / why we need it:
Remove unused code, and fixed failback bug
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
Special notes for your reviewer:
Release note:

Coverage increased (+0.2%) to 43.407% when pulling e39830c015adffcdb2c55682b23e4e4dff16872b on xxwjj:dorado_bugs into 93ba07b728d9a5a33b779293809b47e14767f78c on opensds:development.


Mast: Watch +1(844)-539-9831

Mast requests the watch of the watch_number +1(844)-539-9831. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

Approved by Daniil in Charcoal HQ


feat(next): auto setup vite.config.ts

Part of https://github.com/hi-ogawa/vite-plugins/issues/434

#442  👈
main

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

Join @hi-ogawa and the rest of your teammates on  Graphite

Merge activity

Jun 26, 9:23 PM EDT: @hi-ogawa started a stack merge that includes this pull request via Graphite.


Use 'instanceandevents' endpoint when updating process state

Description
Uses the new endpoint which commits new process state and instance events in one transaction.
The related tests were a little funny. Test names said they were testing more than they actually were, it seems like most of the variation comes from the AltinnTaskType thingy.
Related Issue(s)

https://github.com/Altinn/altinn-storage/issues/544

Verification

[x] Your code builds clean without any errors or warnings
[ ] Manual testing done (required)
[ ] Relevant automated test added (if you find this hard, leave it and we'll help out)
[ ] All tests run green

Documentation

[ ] User documentation is updated with a separate linked PR in altinn-studio-docs. (if applicable)

/publish

/publish

/publish

/publish

/publish

/publish

/publish

/publish


Index Page of website is not working well

Hi,
I used sb admin 2 template and extracted all files in the main directory of the website. Now the index.php file is infected. By default its heading is S B Admin 2 and it is automatically being directed to pages/index.html.
Please help me.

Can anyone help me please. There is an urgent problem.

I suppose your web server configuration points to index.html as a root file. Delete index.html or change web server configuration.

@AdityaDubey123 I dont understand

@krzysiekpiasecki
index.html file is just redirecting to another file .


How can I view plot with scrollBar?

Hi @swharden , I want to implement the zoom function as shown below.
Scale horizontally or vertically.
The three button in the Right and down side can control the figure scale.
But I can browse the whole picture through the scrollBar in the horizontal or vertical direction.
How to set it up in WPF?

Hi xichaoqiang, I may be misunderstanding your goal, but if your goal is to have a very large graph that you can navigate around using the scroll bars this option may work:
Create a very large plot, save it as a PNG file, then display the PNG file in your WPF app as an image inside a ScrollViewer. You do not need to use the ScottPlot.WPF package or WpfPlot control to achieve this solution. Plots will be a static image and not be mouse-interactive, but you can navigate them using the scroll bars.
Does this help you achieve your goal?

In the below video, I control the figure scale with these button.
I think this is very easy to use.
https://user-images.githubusercontent.com/30900789/154603395-5f21def9-abac-4de5-89c9-8e51d35dd4bc.mp4

How can I connect the zoom function with six buttons based on existed functions in the library?
Like vertical and horizontal directional zoom In/Out/Reset?

formsPlot1.Plot.AxisZoom(xFrac: 1.5); // zoom in X
formsPlot1.Plot.AxisZoom(xFrac: 0.5); // zoom out X

formsPlot1.Plot.AxisZoom(yFrac: 1.5); // zoom in Y
formsPlot1.Plot.AxisZoom(yFrac: 0.5); // zoom out Y

formsPlot1.Plot.AxisAuto(); // reset zoom to fit the data

You may also find AxisPan() useful 👍

@swharden Thanks functions of AxisZoom 、AxisAutoX and AxisAutoY are very useful.
So I try to link scrollbar with AxisPan().


Allow users to import ACL from a CSV File

ISSUE TYPE

Improvement Request

COMPONENT NAME

Improvement Request (UI, Functionality)

CLOUDSTACK VERSION

4.19

CONFIGURATION

N/A
OS / ENVIRONMENT

N/A
SUMMARY

Note: This ticket is broken down as requested from the origianl post, https://github.com/apache/cloudstack/issues/8841
Allow users to import ACL from a CSV File

As an admin, id like the ability to plan my ACL lists offline first in an excel.
Once ive finalised my list, i would like to be able to import it to cloudstack via CSV
This would greatly help my workflow (i can also keep the excel as a backup)

STEPS TO REPRODUCE

N/A

N/A

EXPECTED RESULTS

To be able to manage ACL Rules more easily for large scale projects

ACTUAL RESULTS

Challenging to use ACL rules for large scale projects.

valid request @btzq ,
I  think this can be partly implemented in the UI. There is an example for roles already (for whomever plans to implement this), ImportRole. In the AclList case we need to add an API ImportAclList and that can than be called by a processor that could for instance read an csv file.  The UI could be such a processor but a CLI tool would do as well.

I just thought of something. If the 'Import CSV' is going to be supported, it may also be necessary to support 'Override Existing ACL Rules'. Just so that it doesnt create duplicate rules.

I just thought of something. If the 'Import CSV' is going to be supported, it may also be necessary to support 'Override Existing ACL Rules'. Just so that it doesnt create duplicate rules.

I think it is not needed as we could import rules in a new list and apply that one to the network. I can think of more use-cases to complicate  this; add replace flags per rule, but what would be the match (source-cidr+port, source+des-cidr, in/egress, a user defined combination ?) . Let's keep this as simple as possible. Just add to a list and let the operator be responsible of clearing the list first if needed.

Sure, we can go with that.
We can create a new ACL List and upload the rules via XLSX, then swap the ACL List (and delete the old list).
Still works for us.


Tags that depend on other tags

I really like the UOD builder setup that we have currently but it appears to have a flaw. Namely that it assumes that tags are independent. This is problematic because tags can be hierarchical.
In other words: How do I accomplish the following where Tag_C is a function of Tag_A and Tag_B?
builder
.with_tag(Tag_A)
.with_tag(Tag_B)
.with_tag(Tag_C(Tag_A, Tag_B))

The obvious solution is
builder
.with_tag(Tag_A)
.with_tag(Tag_B)
builder.with_tag(Tag_C(builder.tags['Tag_A'], builder.tags['Tag_B']))

but it seems tedious. Maybe there is a better way?
Br Eskild

How about we create a new UodBuilder method called with_custom_tag_class which instantiates the custom tag class like so:
# Method defined on UodBuilder class
def with_custom_tag_class(tag_class: UODCustomTagBaseClass, *args, **kwargs):
    # Instantiate class
    tag = tag_class(self.tags, *args, **kwargs)
    return self._with_tag(tag)

This would allow the custom tag class to reference tags that are already defined in the UOD.


Remove tokio feature from stac-server

It doesn't make sense and should be refactored.

Closed by #346


Webhook?

Question: are we using and thus do we have feedback on the @ehenneken's ADS webhook endpoint which will live eventually here asclepias/ADS-webhook-service?

This was asked at @ehenneken's request -- since the timeline for webhooks is expected to be after the next broker prototype deployment we can wait till then to answer it.


fix(jsx types): make QwikIntrinsicElements extend IntrinsicElements, not IntrinsicHtmlElements

What is it?

[ ] Feature / enhancement
[x] Bug
[ ] Docs / tests / types / typos

Description
Previously, it was impossible to access JSX types for SVG elements because QwikIntrinsicElements extended IntrinsicHTMLElements, rather than IntrinsicElements (which itself extends both IntrinsicHTMLElements and IntrinsicSVGElements.
fix #3934
Use cases and why

Previously:
// has type `QwikCustomHTMLAttributes<QwikCustomHTMLElement>`
type WeaklyTyped = QwikJSX.IntrinsicElements["svg"];

Now:
// has type `SVGProps<SVGSVGElement>`
type StronglyTyped = QwikJSX.IntrinsicElements["svg"];

Checklist:

[x] My code follows the developer guidelines of this project
[x] I have performed a self-review of my own code
[x] I have made corresponding changes to the documentation
[x] Added new tests to cover the fix / functionality

There were a couple test failures after implementing this, since now all of a sudden props for SVG were being typechecked where they weren't before (they were falling through to QwikCustomHTMLAttributes) -- if you want me to add more tests, let me know :)

@caass thanks for your great help. are you still on it?

I close this PR because it's stale.
Thanks @caass for your contribution. if you would like to go on with it, feel free to reopen.