Numbering of methods, two Method #10, and update storage information timeframe change

I'm sure there is a reason, but can the method numbers either be set to go from 1-11 (There are two method 10s) or an explanation for the reasoning of putting methods in a different order.
The page says it may take 24 hours for storage information to be updated. This is inaccurate, the Power Platform page says it can up to 72 hours now.
[Enter feedback here]

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

ID: cb9c9aae-ceaa-2e78-3752-2770327f49a7
Version Independent ID: acd2ddc9-6225-92e8-2636-2a02437c3d82
Content: Free up storage space - Power Platform
Content Source: power-platform/admin/free-storage-space.md
Service: power-platform
GitHub Login: @jimholtz
Microsoft Alias: jimholtz

@StuBeck32
Thanks for bringing the step text to our attention. This has been corrected. I've been told by the product team that 24 hours is correct. What page did you see 72 hours?

Your support team told me it can take up to 72 hours. We’ve found it can be closer to 96 to 120 hours for changes to occur.
Stuart

From: Jim Holtzman<EMAIL_ADDRESS>Sent: Monday, June 29, 2020 7:58:23 PM
To: MicrosoftDocs/power-platform<EMAIL_ADDRESS>Cc: StuBeck32<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/power-platform] Numbering of methods, two Method #10, and update storage information timeframe change (#282)
@StuBeck32https://eur04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FStuBeck32&data=02|01||cec0ed53cfe441dc3a0f08d81c884f12|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637290719045295556&sdata=X%2FhoZZo%2Fjimz8Jwr8c74RtBL%2BgaymrYFBmJwyeWcqQ8%3D&reserved=0
Thanks for bringing the step text to our attention. This has been corrected. I've been told by the product team that 24 hours is correct. What page did you see 72 hours?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://eur04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fpower-platform%2Fissues%2F282%23issuecomment-651430378&data=02|01||cec0ed53cfe441dc3a0f08d81c884f12|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637290719045305553&sdata=VKRq3ED8B%2F2jRrDBSs38VMgBx9GEQXxquR56trQ1mEk%3D&reserved=0, or unsubscribehttps://eur04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAK5FPNYBSYURGPN3G7MKRFDRZETB7ANCNFSM4OC3GQAQ&data=02|01||cec0ed53cfe441dc3a0f08d81c884f12|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637290719045315551&sdata=G6QfdiiMlKy8aIuKe9J4rPCs1F8pKhTpxsoLxZLzmXU%3D&reserved=0.


Get rid of underscore package

[x] Remove underscore dependency
[x] Search projects for usage of _.
[x] Create a list of used underscore's helpers

[x] isString
[x] isEmpty
[x] isFunction
[x] isObject
[x] defaults
[x] isRegExp
[x] omit
[x] reduce
[x] keys
[x] extend
[x] pick
[x] isArray
[x] each
[x] difference
[x] last
[x] clone
[x] toArray
[x] values
[x] map
[x] every

[x] Create internal helper to cover all used underscore's helpers
[x] Migrate codebase from _. to internal helper
[x] Run auto-tests
[x] Run tests on demo apps
[ ] Version bump
[ ] Publish & Release

Done in v3.6.0


Getting rooms

Is it possible to get the rooms over the login credentials?

As far as i know, unfortunately no.


Heads up: pathlib.VirtualPath may be coming soon

I've logged a CPython PR that adds a private pathlib._VirtualPath class:
https://github.com/python/cpython/pull/106337
If/when that lands, it's not much more work to drop the underscore and introduce pathlib.VirtualPath to the world. This would be Python 3.13 at the earliest.
Would it be suitable for use in cloudpathlib? It would be great to have your feedback

Hello - I've published CPython's private PathBase class in a PyPI package: https://pypi.org/project/pathlib-abc/0.1.0/. No docs yet but I should have them ready soon.
If the PyPI package succeeds and matures, I'm hopeful we can make PathBase public in Python itself.

If the PathBase does get adopted in the standard library in upcoming releases, using that as the base class for CloudPath would make adoption of this package all the more powerful.
@barneygale not that you have to provide this, but would you be able to provide another limited implementation example (in addition to TarPath) for something like S3Path or something to that effect?

Here's a basic example:
import errno
import io
import boto3
from pathlib_abc import PathBase, UnsupportedOperation

class S3Path(PathBase):
    __slots__ = ('client',)

    def __init__(self, *pathsegments, client=None):
        super().__init__(*pathsegments)
        self.client = client or boto3.client('s3')

    def __repr__(self):
        return f"{type(self).__name__}({str(self)!r}, client={self.client!r})"

    def __hash__(self):
        return hash(str(self))

    def __eq__(self, other):
        if not isinstance(other, S3Path):
            return NotImplemented
        return str(self) == str(other)

    def with_segments(self, *pathsegments):
        return type(self)(*pathsegments, client=self.client)

    @property
    def bucket(self):
        if self.is_absolute() and len(self.parts) > 1:
            return self.parts[1]
        raise UnsupportedOperation()

    @property
    def key(self):
        if self.is_absolute() and len(self.parts) > 2:
            return '/'.join(self.parts[2:])
        raise UnsupportedOperation()

    def open(self, mode='r', buffering=-1, encoding=None, errors=None, newline=None):
        if buffering != -1:
            raise UnsupportedOperation()
        action = ''.join(c for c in mode if c not in 'btU')
        if action == 'r':
            try:
                fileobj = self.client.get_object(Bucket=self.bucket, Key=self.key)['Body']
            except self.client.exceptions.NoSuchKey:
                raise FileNotFoundError(errno.ENOENT, 'Not found', str(self)) from None
        else:
            raise UnsupportedOperation()
        if 'b' not in mode:
            fileobj = io.TextIOWrapper(fileobj, encoding, errors, newline)
        return fileobj

if __name__ == '__main__':
    path = S3Path('/mybucket/mydir/myfile.txt')
    print(path)
    print(repr(path))
    print(path.bucket)
    print(path.key)
    print(path.read_text())

Would it be useful for me to add stat() and iterdir() too?

Hi @barneygale,
Very cool!
I saw that https://github.com/python/cpython/pull/106337 got merged. Does that mean that the private pathlib._PathBase will definitely be released with Python 3.13 later this year? Does that mean we should treat pathlib-abc as a backport rather than a prototype?
It would be great if you have documentation coming about the benefits of using PathBase.
Is the benefit mainly that we'd be able to reduce the amount of code we have by inheriting methods from PathBase instead?
We also struggle a lot with typechecking—we want to have some kind of common denominator AnyPath that pathlib and cloudpathlib types would subtype. Is this something PathBase might be able to help with?

Does that mean that the private pathlib._PathBase will definitely be released with Python 3.13 later this year? Does that mean we should treat pathlib-abc as a backport rather than a prototype?

The cut-off date for new features in 3.13 is May this year. It's possible but unlikely that PathBase will be made public in time. I think 3.14 or 3.15 is a more likely timeframe. Things can move slowly in CPython development!
I think you should treat pathlib-abc as a prototype at the moment. It will become a backport once this stuff is public in CPython. I appreciate the PyPI package description is misleading - will fix.

It would be great if you have documentation coming about the benefits of using PathBase.
Is the benefit mainly that we'd be able to reduce the amount of code we have by inheriting methods from PathBase instead?

Pretty much. You get all the PurePath behaviour, plus a few high-level methods like glob() and read_text() that are implemented in terms of lower-level abstract methods.

We also struggle a lot with typechecking—we want to have some kind of common denominator AnyPath that pathlib and cloudpathlib types would subtype. Is this something PathBase might be able to help with?

That's the ultimate goal, yeah. Once PathBase is in CPython, you'll be able to write:
def do_thing(path: pathlib.PathBase | os.PathLike):
    if not isinstance(path, pathlib.PathBase):
        path = pathlib.Path(path)
    with path.open('r') as f:
        ...

Or if you don't care about accepting strings/arbitrary pathlike objects:
def do_thing(path: pathlib.PathBase):
    with path.open('r') as f:
        ...

This doesn't work with the PyPI package because pathlib.Path isn't a subclass of pathlib_abc.PathBase. Perhaps that's solvable with some temporary __instancecheck__() magic?

Looks like it's fairly simple to make pathlib classes virtual subclasses of the ABCs:
diff --git a/pathlib_abc/__init__.py b/pathlib_abc/__init__.py
index db9ac15..aa5718e 100644
--- a/pathlib_abc/__init__.py
+++ b/pathlib_abc/__init__.py
@@ -1,3 +1,4 @@
+import abc
 import functools
 ntpath = object()
 from . import _posixpath as posixpath
@@ -169,7 +170,7 @@ class _PathParents(Sequence):
         return "<{}.parents>".format(type(self._path).__name__)

-class PurePathBase:
+class PurePathBase(abc.ABC):
     """Base class for pure path objects.

     This class *does not* provide several magic methods that are defined in
@@ -1143,3 +1144,8 @@ class PathBase(PurePathBase):
     def as_uri(self):
         """Return the path as a URI."""
         self._unsupported("as_uri")
+
+
+import pathlib
+PurePathBase.register(pathlib.PurePath)
+PathBase.register(pathlib.Path)


add ability to use float values for triangle width/height

I forgot to test float values last time, just added a test for it now. Sorry about that! 😅

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


demonstrate workflow on 4.2

@marqh the workflow is already defined here https://github.com/wmo-im/GRIB2/projects/1 . An issue is created using a template and the issue is moved from one lane to the other according to the approval process. At the validation stage, a branch or pull request is created and users are able to access the various types of machine-readable versions of the tables.
After validation, the change is ready to be merged in master for Fast Track. At this stage needs to be checked against the codes registry and published on it.
Your last part of the process can be added at the validation stage of the existing process.
However, there isn't any decision that the codes registry is a repository for GRIB and BUFR codes  and we don't have at the moment a requirement to push GRIB and BUFR tables on the codes registry. We have a requirement and some urgency to do it for wmdr. We need to have this mechanism in place for wmdr by mid June. @marqh @kurt-hectic can you please work on a similar update process for wmdr?


refactor(time-zone-picker): conditionally render defaults header

This change makes sense to me, I have raised it with UX also just awaiting a response.
COMUI-2380

Change looks good and seems like an improvement to me. Once UX gets back to you let me know and I will approve


Introduce delayer for handlers

I implemented to introduce delayers to emulate delaying handling of HTTP requests.
This is because mux is a wrapper for Golang's net/http library. We have to follow the manner of net/http.

🙌


fix(startApiDev): pass accountId to startDevServer

I realized that unstable_dev() accepted an accountId argument, but the value was not passed down to the dev server, leading to error with remote KV.
See here, the accountId being undefined lead to cloudflareFetch being undefined.

Looks like the new args expression there doesn't have the accountId on the types and is failing in the builds.

@JacobMGEvans I updated the code.

@mrbbot could you have another look at this PR ? Thank you

@SimonDegraeve the build is currently failing with the following error
Error: R] Cannot use "||" with "??" without parentheses

      src/dev.tsx:453:57:
        453 │ ...accountId ?? configParam.account_id || getAccountFromCache()?.id}
            ╵                                        ~~

    Expressions of the form "x ?? y || z" are not allowed in JavaScript. You must disambiguate between "(x ?? y) || z" and "x ?? (y || z)" by adding parentheses.

  Error: Build failed with 1 error:
  src/dev.tsx:453:57: ERROR: Cannot use "||" with "??" without parentheses
      at failureErrorWithLog (/home/runner/work/workers-sdk/workers-sdk/node_modules/.pnpm/esbuild@0.17.19/node_modules/esbuild/lib/main.js:16[36](https://github.com/cloudflare/workers-sdk/actions/runs/6174234974/job/16836272403?pr=3109#step:8:37):15)
      at /home/runner/work/workers-sdk/workers-sdk/node_modules/.pnpm/esbuild@0.17.19/node_modules/esbuild/lib/main.js:1048:25
      at /home/runner/work/workers-sdk/workers-sdk/node_modules/.pnpm/esbuild@0.17.19/node_modules/esbuild/lib/main.js:993:52
      at buildResponseToResult (/home/runner/work/workers-sdk/workers-sdk/node_modules/.pnpm/esbuild@0.17.19/node_modules/esbuild/lib/main.js:10[46](https://github.com/cloudflare/workers-sdk/actions/runs/6174234974/job/16836272403?pr=3109#step:8:47):7)
      at /home/runner/work/workers-sdk/workers-sdk/node_modules/.pnpm/esbuild@0.17.19/node_modules/esbuild/lib/main.js:1075:16
      at responseCallbacks.<computed> (/home/runner/work/workers-sdk/workers-sdk/node_modules/.pnpm/esbuild@0.17.19/node_modules/esbuild/lib/main.js:697:9)
      at handleIncomingPacket (/home/runner/work/workers-sdk/workers-sdk/node_modules/.pnpm/esbuild@0.17.19/node_modules/esbuild/lib/main.js:752:9)
      at Socket.readFromStdout (/home/runner/work/workers-sdk/workers-sdk/node_modules/.pnpm/esbuild@0.17.19/node_modules/esbuild/lib/main.js:673:7)
      at Socket.emit (node:events:526:28)
      at addChunk (node:internal/streams/readable:315:12) {
    errors: [
      {
        detail: undefined,
        id: '',
        location: [Object],
        notes: [Array],
        pluginName: '',
        text: 'Cannot use "||" with "??" without parentheses'
      }
    ],
    warnings: []
  }
   ELIFECYCLE  Command failed with exit code 1.
   ELIFECYCLE  Command failed with exit code 1.
   ```


Set up Github Actions

Replace Travis with GH actions...

I'd say this is done :-)

Indeed, but still a few things to do.

Use the Rust-specific Github actions for better reports
Add a formatting check
add a cargo-deny check


what proxys??

what proxys should i use if im going into a public server in a party?
(the txt file is-  proxy.txt)
please help someone

You need to find your own proxies.


Clarify use of UIManager for LayoutAnimation on Android

https://facebook.github.io/react-native/docs/layoutanimation.html
This page says the following:

Note that in order to get this to work on Android you need to set the following flags via UIManager:
UIManager.setLayoutAnimationEnabledExperimental &&  UIManager.setLayoutAnimationEnabledExperimental(true);

What is unclear is if this needs to be done once globally, or on a per component basis. This should be made clearer.

Note: I don't know what the answer to that is, because it's not in the docs. Lol.

Hi @dev6james, it looks like PR #1191 improved the example but information you are looking for is still missing.
From the React Native source code and internal examples I can tell you that setLayoutAnimationEnabledExperimental can be used globally (in the index file) or locally, inside the component. It would be nice if some can confirm that and update the docs.

Hi @dev6james, it looks like PR #1191 improved the example but information you are looking for is still missing.
From the React Native source code and internal examples I can tell you that setLayoutAnimationEnabledExperimental can be used globally (in the index file) or locally, inside the component. It would be nice if someone can confirm that and update the docs.

It would indeed :)
Maybe I wasn't clear enough in the original post. I was trying to get a sense of whether, if one component calls setLayoutAnimationEnabledExperimental, if that means it's globally triggered for all components. Or if it's a local phenomenon.
I don't know the native implementation (nor should I need to) so it's not clear whether you can "pick and choose" which components to use it for.

I test it and it works globally (setup in the top component (` in my case)


Fix a buffer overflow in GetUsedNamedNotes

The size of allNotesStatus was off by one. GetUsedNamedNotes is called when the BR mouse context detection code is used in the all or midi editor modes. It would cause memory corruption, crashes or dragons.

:white_check_mark: Build sws 344-master completed (commit https://github.com/reaper-oss/sws/commit/730d8ed831 by @cfillion)

Environment: APPVEYOR_BUILD_WORKER_IMAGE=Visual Studio 2019, ARCH=x64

build/BuildUtils/SWS_Template.ReaperLangPack
build/BuildUtils/whatsnew.html
build/reaper_sws-x64.pdb
build/sws-<IP_ADDRESS>-Windows-x64-fix-getusednamednotes-bufoverflow-730d8ed8.exe

Environment: APPVEYOR_BUILD_WORKER_IMAGE=Visual Studio 2019, ARCH=x86

build/BuildUtils/SWS_Template.ReaperLangPack
build/BuildUtils/whatsnew.html
build/reaper_sws-x86.pdb
build/sws-<IP_ADDRESS>-Windows-x86-fix-getusednamednotes-bufoverflow-730d8ed8.exe

Environment: APPVEYOR_BUILD_WORKER_IMAGE=Ubuntu1804, ARCH=x86_64

build/sws-<IP_ADDRESS>-Linux-x86_64-fix-getusednamednotes-bufoverflow-730d8ed8.tar.xz

Environment: APPVEYOR_BUILD_WORKER_IMAGE=Ubuntu1804, ARCH=i686

build/sws-<IP_ADDRESS>-Linux-i686-fix-getusednamednotes-bufoverflow-730d8ed8.tar.xz

Environment: APPVEYOR_BUILD_WORKER_IMAGE=Ubuntu1804, ARCH=armv7l

build/sws-<IP_ADDRESS>-Linux-armv7l-fix-getusednamednotes-bufoverflow-730d8ed8.tar.xz

Environment: APPVEYOR_BUILD_WORKER_IMAGE=Ubuntu1804, ARCH=aarch64

build/sws-<IP_ADDRESS>-Linux-aarch64-fix-getusednamednotes-bufoverflow-730d8ed8.tar.xz


Strange interaction between pseudo-keys and static ACLs?

Note: the view we're looking at currently exists only on hosts running the master branch, so I don't know whether this issue exists in stateful-model (@hongsudt, it might be helpful if you created the dashboard views on rbk-dev so we could check this out on the stateful branch).
We have a view (Dashboard:Monthly_Submission_Dashboard) with a static ACL that restricts select and write access to a list of groups (the parent schema has no ACLs). When you're logged in to one of the groups that has permissions, the unique constraint on the RID column is visible:
  "keys": [
    {
      "comment": null,
      "unique_columns": [
        "RID"
      ],
      "annotations": {},
      "names": [
        [
          "",
          4814
        ]
      ]
    }
  ],

When you examine the schema anonymously, it isn't:
  "keys": [],

(you do see "nullok": false in both places, though).
You can see the table definition at https://staging.rebuildingakidney.org/ermrest/catalog/2/schema/Dashboard/table/Monthly_Submission_Dashboard

I think this is because we exclude constraints that depend on columns you cannot access.
If you were to set a static "select": ["*"] ACL on the RID column, I
think the key would become visible even to anonymous users who have no
access to individual rows.

We're not doing row-level access control; we want anonymous chaise users who try to access the table to be prompted to log in, so at the table level we have this:
"acls": {
    "write": [
         (some globus ids)
    ],
    "select": [
         (some globus ids)
    ]
},
...
"acl_bindings": { },

Just for completeness, I went ahead and added the column-level permission you suggested:
{
    "name": "RID",
     ...
    "acls": {
        "select": [
            "*"
        ]
    },
    "acl_bindings": { },
    ...
}

and anon users still don't see the key.

Sorry, I misunderstood the scenario.
I think both branches behave the same way, and indeed it is because we
exclude constraints that involve columns which cannot be selected.
This is an extreme corner case where nothing can be selected.  The
exclusion is more significant when some columns are selectable and we
want to show the client the subset of relevant constraints for their
access level.
My previous suggestion was useless because I forgot that we also
consider row-level access when determining column rights, so in this
case the select rights remain false on each column since they are
false on the table as a whole.  I don't think there is any way to get
the behavior you want, which is to report the whole table as
statically non-selectable while also listing its keys.
I am inclined towards saying the real problem here is in Chaise
blundering ahead when the rights summary clearly tells it that it
won't have permission.  In reality, it needs to perform the login
flow, get a revised model (and rights summary) for that logged in
user, and then restart its app flow.  The fact that it is rushing into
"unsafe" query paths before the login flow has completed seems like a
sequencing flaw to me.


GTK4 Apps Popup Blurry Text

Hyprland Version
Hyprland, built from branch  at commit 12985fa0d8e43b1e33326dfb49be681970dfaea5  ().
Date: 2024-03-05
Tag:

flags: (if any)

System Information:
System name: Linux
Node name: nixos
Release: 6.7.5
Version: #1-NixOS SMP PREEMPT_DYNAMIC Fri Feb 16 18:14:32 UTC 2024

GPU information:
63:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Phoenix1 [1002:15bf] (rev c7) (prog-if 00 [VGA contr
olle
r])

os-release: BUG_REPORT_URL="https://github.com/NixOS/nixpkgs/issues"
BUILD_ID="23.11.20240218.e0da498"
DOCUMENTATION_URL="https://nixos.org/learn.html"
HOME_URL="https://nixos.org/"
ID=nixos
LOGO="nix-snowflake"
NAME=NixOS
PRETTY_NAME="NixOS 23.11 (Tapir)"
SUPPORT_END="2024-06-30"
SUPPORT_URL="https://nixos.org/community.html"
VERSION="23.11 (Tapir)"
VERSION_CODENAME=tapir
VERSION_ID="23.11"

Bug or Regression?
Regression
Description
Text became very  blurry in GTK4 layer popups after 2e111c8cf97d391c25fc6263660271fab605ece1
b39dcfa497f84486569bf862092dfcfadbfd8747 works fine.
Something in xdg-popup reimplementation broke.
How to reproduce
Use GTK4 layer and render popup with text.
I can provide repro repo (gtk4-rs)
Or use any GTK-4 app and check popup (Celluloid as an example).
Crash reports, logs, images, videos
b39dcfa497f84486569bf862092dfcfadbfd8747 commit look before breakage:

after 2e111c8cf97d391c25fc6263660271fab605ece1:

since you offer, please provide repro and give your config

no

https://github.com/JustasPolis/hypr-popup-repro
to run gtk4 for arch:  sudo pacman -S gtk4 base-devel
rust version: 1.76.0
my config:
monitor=eDP-1,2560x1600@90,auto,2
monitor=DP-1, 3840x2160@144,auto,2
monitor=DP-2, 3840x2160@144,auto,2

exec-once = dbus-hyprland-environment
exec-once = bash ~/.config/hypr/scripts/monitors.sh

$terminal = kitty
$app_menu = ~/.config/hypr/scripts/apps.sh
$browser = firefox
exec-once=hyprctl setcursor Bibata-Modern-Ice 24
exec-once=hyprctl dispatch exec [workspace 3 silent] $browser

exec-once = hyprpaper & hypridle & configure-gtk

exec-once=systemctl --user restart pulseaudio.service
exec-once=sway-audio-idle-inhibit

env = WLR_NO_HARDWARE_CURSORS,1
env = XCURSOR_SIZE,24
env = XCURSOR_THEME,capitaine-cursors
env = DESKTOP_SESSION,hyprland
env = XDG_SESSION_TYPE,wayland
env = GTK_USE_PORTAL,0
env = GTK_DEBUG,0

$base           = 0xff191724
$surface        = 0xff1f1d2e
$overlay        = 0xff26233a
$muted          = 0xff6e6a86
$subtle         = 0xff908caa
$text           = 0xffe0def4
$love           = 0xffeb6f92
$gold           = 0xfff6c177
$rose           = 0xffebbcba
$pine           = 0xff31748f
$foam           = 0xff9ccfd8
$iris           = 0xffc4a7e7
$highlightLow   = 0xff21202e
$highlightMed   = 0xff403d52
$highlightHigh  = 0xff524f67

env = XCURSOR_SIZE, 36

input {
    kb_layout = us
    kb_variant =
    kb_model =
    kb_options =
    kb_rules =

    follow_mouse = 1

    touchpad {
        natural_scroll = no
	scroll_factor = 0.2
	disable_while_typing = true
	drag_lock = true
	tap-and-drag = true
    }

    sensitivity = -0.2
    repeat_delay = 150
    repeat_rate = 90
}

device {
  name = steelseries-steelseries-rival-110-gaming-mouse
  sensitivity=-1.2
}

general {
    gaps_in = 5
    gaps_out = 20
    border_size = 0
    col.active_border = $rose $pine $love $iris
    col.inactive_border = $muted
    layout = dwindle
    allow_tearing = false
}

decoration {

rounding = 5

blur {
  enabled = false
  size = 5
  passes = 2
  new_optimizations = true
  special = true
  brightness = 0.9
}

  drop_shadow = false
  shadow_range = 3
  shadow_render_power = 1
  col.shadow = rgba(1a1a1aee)
}

animations {
    enabled = yes

    bezier = myBezier, 0.05, 0.9, 0.1, 1.05

    animation = windows, 1, 7, myBezier
    animation = windowsOut, 1, 7, default, popin 80%
    #animation = border, 1, 10, default
    animation = borderangle, 1, 8, default
    animation = fade, 1, 7, default
    animation = workspaces, 0, 5, default
}

dwindle {
    pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
    preserve_split = yes # you probably want this
}

master {
    new_is_master = true
}

gestures {
    workspace_swipe = off
}

misc {
    force_default_wallpaper = 0
    disable_splash_rendering = true
    disable_hyprland_logo = true
}

windowrulev2 = size 500 500, title: Save Image
windowrulev2 = center, title: Save Image
windowrulev2 = center, title: Save As
windowrulev2 = size 500 500, title: Save As
windowrulev2 = workspace 3, class:($browser)
windowrulev2 = workspace 2, class:($terminal)
windowrulev2 = workspace 1,title:^(lf)$
windowrulev2 = float, class:(swayimg)
windowrulev2 = center, class:(swayimg)
windowrulev2 = noborder, class:(swayimg)
windowrulev2 = workspace 5, class:(celluloid)
layerrule = unset, testing

$mainMod = SUPER

bind = $mainMod, T, exec, $terminal
bind = $mainMod, Q, killactive,
bind = $mainMod, B, exec, $browser
bind = $mainMod, SPACE, exec, $app_menu
bind = $mainMod, F, exec, $file_manager
bind = $mainMod, M, exit,

bind = $mainMod, H, movefocus, l
bind = $mainMod, L, movefocus, r
bind = $mainMod, K, movefocus, u
bind = $mainMod, J, movefocus, d

bind = $mainMod, 1, exec, hyprctl dispatch workspace 1
bind = $mainMod, 2, exec, hyprctl dispatch workspace 2
bind = $mainMod, 3, workspace, 3
bind = $mainMod, 4, workspace, 4
bind = $mainMod, 5, workspace, 5
bind = $mainMod, 6, workspace, 6
bind = $mainMod, 7, workspace, 7
bind = $mainMod, 8, workspace, 8
bind = $mainMod, 9, workspace, 9
bind = $mainMod, 0, workspace, 10

# Move active window to a workspace with mainMod + SHIFT + [0-9]
bind = $mainMod SHIFT, 1, movetoworkspace, 1
bind = $mainMod SHIFT, 2, movetoworkspace, 2
bind = $mainMod SHIFT, 3, movetoworkspace, 3
bind = $mainMod SHIFT, 4, movetoworkspace, 4
bind = $mainMod SHIFT, 5, movetoworkspace, 5
bind = $mainMod SHIFT, 6, movetoworkspace, 6
bind = $mainMod SHIFT, 7, movetoworkspace, 7
bind = $mainMod SHIFT, 8, movetoworkspace, 8
bind = $mainMod SHIFT, 9, movetoworkspace, 9
bind = $mainMod SHIFT, 0, movetoworkspace, 10
bind = $mainMod SHIFT, S, exec, hyprshot -m region
bind = , F5, exec, brightnessctl set 10%-
bind = , F6, exec, brightnessctl set +10%
bind = , F2, exec, pamixer --decrease 10
bind = , F3, exec, pamixer --increase 10
bind = , F1, exec, pamixer --toggle-mute
bind = , F10, exec, systemctl suspend && hyprlock
bind = $mainMod, Z, fullscreen

why does it have to be rust... Anyways, fails to compile due to missing gtk4-layer-shell which doesn't compile from the aur, does this not happen in any mainstream gtk4 app?

shit, sorry for that.
I checked Celluloid (GTK4) app, and it's popups, they have severe text degradation, very blurry. Can you check that ?

"The strongest principle of growth lies in the human choice."
　　   - Geogre Eliot, "Daniel Deronda"


Lacking instructions on how to run the user flow.

Hi,
After creating an user flow, the next step would be to test it and run it.
The documentation does not provide any instructions on how to run the user flows.
Thanks!

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

ID: 1a5b75b2-1997-a166-40b6-243d0b1d8e66
Version Independent ID: 53180cc2-558c-8861-6967-66de977ff8c4
Content: Create a sign-up and sign-in user flow - Microsoft Entra External ID
Content Source: docs/external-id/customers/how-to-user-flow-sign-up-sign-in-customers.md
Service: active-directory
Sub-service: ciam
GitHub Login: @msmimart
Microsoft Alias: mimart

@mvrius
Thanks for your feedback! We will investigate and update as appropriate.

@mvrius
I've delegated this to @msmimart, a content author, to review and share their valuable insights.

Hi @mvrius, we're currently updating this documentation and will be including this information in the near future. Please stay tuned. Thanks again for your feedback! #please-close


Support branch instructions with operands

Currently branch instructions that take blockparams (which implies that the target block has multiple predecessors) are not allowed to have any operands. However on many targets a temporary register is needed to synthesize a jump whose target is outside the range of a single instruction.
For example on RISC-V any jump to a target outside a +/- 1MB range requires a auipc tmp, %hi(target); jr tmp, %lo(target) instruction sequence. I would like to be able to use an EarlyDef with a temporary vreg to tell the register allocator to select a free temporary register for tmp. Would it be possible to make this work?

This one's a bit tricky: the issue is the interference of "edge moves" with the uses/defs on the branch instruction. We need to put any moves that set up register state for the destination block prior to the branch itself; so conceptually, the branch sees the target block's register state.
We could require a stricter edge-splitting condition to work around this (currently we require no critical edges, but we do not require every edge to be split). However that would penalize the common case perhaps significantly.
What we do in Cranelift for cases like this that require a temp is to keep a temp register permanently set aside and not allocatable by the regalloc. This mostly comes into play when we need to generate spillslot offsets outside the range of load/store amode immediates.
(For the particular case of branch ranges we have the MachBuffer that generates "branch veneers" in islands between blocks when branches go out of range; something like that may suit your use-case better?)

This one's a bit tricky: the issue is the interference of "edge moves" with the uses/defs on the branch instruction. We need to put any moves that set up register state for the destination block prior to the branch itself; so conceptually, the branch sees the target block's register state.
We could require a stricter edge-splitting condition to work around this (currently we require no critical edges, but we do not require every edge to be split). However that would penalize the common case perhaps significantly.

I don't see how we could split the code any more than it already is. This situation happens with code of the form:
bb0:
	jump bb2(v0) // bb2 is out of range, need a scratch reg for the jump
bb1:
	jump bb2(v1) // bb2 is out of range, need a scratch reg for the jump
bb2(v2);
	...

Conceptually what I want is an unspillable vreg that starts in the jump instruction in bb0/bb1 and ends at the start of bb2. I think it might be possible to make this work, but more thought needs to be put into it.

What we do in Cranelift for cases like this that require a temp is to keep a temp register permanently set aside and not allocatable by the regalloc. This mostly comes into play when we need to generate spillslot offsets outside the range of load/store amode immediates.

I noticed that since scratch_regs_by_class was removed, this scratch register is no longer exposed to regalloc. This feels somewhat inefficient since now regalloc will need to find another scratch register instead of using the dedicated one. Perhaps scratch_regs_by_class could be re-introduced but made optional (since we only need it for integer registers)?

(For the particular case of branch ranges we have the MachBuffer that generates "branch veneers" in islands between blocks when branches go out of range; something like that may suit your use-case better?)

This doesn't help with the fundamental problem, which is that the branch veneer itself still needs a scratch register. Incidentally, I did consider implementing something similar to MachBuffer but in then end used a system similar to RISC-V linker relaxation where I emit a full-length multi-instruction branch during codegen and have the linker shrink it to a shorter instruction sequence later if the target is in range. This makes linking a bit more complicated since shrinking instructions means that all branch & data offsets need to be tracked with relocations, but it produces very good code.

don't see how we could split the code any more than it already is. This situation happens with code of the form:
bb0:
	jump bb2(v0) // bb2 is out of range, need a scratch reg for the jump
bb1:
	jump bb2(v1) // bb2 is out of range, need a scratch reg for the jump
bb2(v2);
	...

Right, I guess "splitting the code more" here would mean introducing edge blocks on both bb0->bb2 and bb1->bb2 with branches that do not have other operands (possibly, e.g., just before bb2 and thus always in range).
The basic issue remains that it's a really conceptually difficult requirement to shoehorn in: the branch's operand isn't really live for a program point range, unlike all other LRs in the allocator, but somehow "across the jump".
More generally: RA2 is starting to get to a state where the features in the frontend (liverange extraction, constraint rewriting) are causing increasingly bad combinatorial complexity issues. I am very wary of introducing support for features like this that can be handled in other ways (dedicated scratch); it feels far too risky for the marginal payoff. I'm hoping that other efforts (SSA-only input, allowing overlapping LRs) might eventually simplify other bits but let's get there first and then evaluate what we can do.

Fair enough, I figured it was a difficult problem when I couldn't come up with an obvious solution after thinking about it for a few hours.
If we're going to need a dedicated scratch register anyways, would you consider re-introducing MachineEnv.scratch_by_class as an [Option<PReg>; 2] so the move resolver can use this register for stack-to-stack moves if it is provided by the embedder?

Closing since the solution seems to be to just reserve a dedicated scratch register, which can now also be shared with regalloc since #117.

My understanding is that the scratch register is only used within a parallel move, which is placed either before or after the jump. Since the scratch register is not allocatable, it should never hold a live value across the jump and should therefore be free for use by the jump instruction itself.

Oh, I was thinking of uses/inputs, specifically: one can't use the scratch register to feed a hidden input to a branch. You're right though that if all you need is a temp (as you described in your first comment above! I had lost that) then the scratch register will be fine within the instruction.


Remove stalled stream protection from transcribestreaming

Motivation and Context

https://github.com/awslabs/aws-sdk-rust/issues/1181
Checklist

[x] For changes to the AWS SDK, generated SDK code, or SDK runtime crates, I have created a changelog entry Markdown file in the .changelog directory, specifying "aws-sdk-rust" in the applies_to key.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

I think we really want to change how we structure customizations though. This removal of stalled stream protection is scattered around instead of being defined in one place. This isn't the only offender either. We should probably define it as a customization describing what it does and apply it to as many services/operations there.

Agree I thought of that while I was doing this, but it was the weekend and I wasn't going to spend too much time on it. I created https://github.com/smithy-lang/smithy-rs/issues/3835 to track this and I'll hopefully get around to it when oncall/flexible checksums/observability are all mopped up. Adding it to our tracking board as well.


Cant set states

Hello,
i cant change values. Hyperion dont react.
All installed correctly, seing all components/instances, when i changed whatever "ALL" components status to off, dont reaction. dont switched

I've encountered the same issue today. Here is my quick and dirty fix:
Open hyperion_API.js, go to function "setComponentStatus" (line 247). Change it to:
async setComponentStatus(component, state, instance, callback) {
    component = component.replace(/_/g, "");
    adapterMain.log.info('set component ' + component + ' of instance ' + parseInt(instance) + ' to ' + state);

Thanks, I will add this.


AMBARI-24022. AutoStart Is not working for some of the components in …

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-Github-PullRequest-Builder/2579/
Test FAILed.
Test FAILured.

retest this please

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-Github-PullRequest-Builder/2582/
Test PASSed.

@swagle  it was added by HCFS guys, not me. I am just moving the existing property.


Mss310 error

Hi, I cant get my mss310 working.
My config is:
"accessories": [
{
"model": "MSS310",
"name": "Meross Switch",
"deviceUrl": "<IP_ADDRESS>",
"channel": 0,
"messageId": "1e28b96dd4e627b74ef96af0056da81d",
"timestamp":<PHONE_NUMBER>,
"sign": "8d4fa1494ce548cd2c432483bff2d2f6",
"accessory": "Meross"
}
I have extracted the values with the HTTP Catcher, but i get this error:
calling getOnCharacteristicHandler for MSS310 at <IP_ADDRESS>...
(node:7160) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'togglex' of undefined
at Meross.getOnCharacteristicHandler (/homebridge/node_modules/homebridge-meross/index.js:297:41)
at processTicksAndRejections (internal/process/task_queues.js:97:5)
(node:7160) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:7160) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
What I can do? Thank you

Interesting. Could you try setting the model to the MSS-110 1.0 and see if that works? I will look into this in the mean time.

Yes, with the MSS-110 1.0 it works fine. Thank you

Good to know, thank you!


Is it safe?

How much accounts we can manage with this tool?
Isn't Instagram banning this type of tool?
Do you have any issues with it?

Actually this repo is no loger maintained. Btw it's safe


cannot find struct, variant or union type LineColumn in crate proc_macro

This was fixed quite a while ago. Your screenshot shows a very outdated version of proc-macro2.


fix(ssr): skip rewriting stack trace if it's already rewritten (fixes #11037)

Description
See https://github.com/vitejs/vite/issues/11037#issuecomment-1326956898 for the reason of this bug.
This PR will change vite.ssrFixStacktrace to work like: After rewriting stack trace, add a property to indicate that. If the error included that property, skip rewriting stack trace.
fixes #11037
Additional context
I considered the following alternatives.
Changing the error cache
By running this script, you can see the error instance is same between both imports.
try {
  await import('./bar.mjs') /* content: `throw new Error('bar')` */
} catch (e) {
  console.log(e.foo) // undefined
  e.foo = 'modify'
  console.log(e.foo) // 'modify'
}

try {
  await import('./bar.mjs')
} catch (e) {
  console.log(e.foo) // 'modify'
}

Vite's ssrLoadModule's semantics aligns with Node.js's import by this cache.
So I think we cannot change this part.
Making ssrFixStacktrace non-destructive
The usage of vite.ssrFixStacktrace will be like:
const rewroteError = vite.ssrFixStacktrace(e)
throw rewroteError

This will be a breaking change. We could introduce a new method, but that will still require users to change the code to avoid #11037 happening.
Also I didn't find a good way to clone Error instance.

What is the purpose of this pull request?

[x] Bug fix
[ ] New Feature
[ ] Documentation update
[ ] Other

Before submitting the PR, please make sure you do the following

[x] Read the Contributing Guidelines.
[x] Read the Pull Request Guidelines and follow the Commit Convention.
[x] Check that there isn't already a PR that solves the problem the same way to avoid creating a duplicate.
[x] Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. fixes #123).
[x] Ideally, include relevant tests that fail without this PR but pass with it.

We added an option to avoid rewriting the stack trace awhile back, which is how we've dealt with this: https://github.com/vitejs/vite/issues/7046

The repro of #11037 uses that option.
app.use('*', async (req, res) => {
  try {
    const render = (await vite.ssrLoadModule('/src/entry-server.js')).render // fixStacktrace is `false` by default

    const url = req.originalUrl.replace(base, '')
    const rendered = await render(url, ssrManifest)

    res.status(200).set({ 'Content-Type': 'text/html' }).end(rendered)
  } catch (e) {
    vite?.ssrFixStacktrace(e)
    console.log(e.stack)
    res.status(500).end(e.stack)
  }
})

Does SvelteKit do it like this to avoid #11037?
const rewroteErrors = new WeakSet()
app.use('*', async (req, res) => {
  try {
    const render = (await vite.ssrLoadModule('/src/entry-server.js')).render // fixStacktrace is `false` by default

    const url = req.originalUrl.replace(base, '')
    const rendered = await render(url, ssrManifest)

    res.status(200).set({ 'Content-Type': 'text/html' }).end(rendered)
  } catch (e) {
    if (!rewroteErrors.has(e)) {
      vite?.ssrFixStacktrace(e)
      rewroteErrors.add(e)
    }
    console.log(e.stack)
    res.status(500).end(e.stack)
  }
})

Does SvelteKit do it like this to avoid #11037?

I don't think so, but I also haven't heard of this happening in SvelteKit. But I think it's good that we fix this generically though so that it always works.


predict_generator with stateful RNN only predicting first frame

Assuming the generator for model.predict_generator() should behave just like model.fit_generator(), how come returned predictions are only for the first frame for every sequence? Shouldn't entire sequences be predicted over all their minibatches?
For example (pseudocode):
def batches(x, y, timesteps, run_once=False):
    total_timesteps = x.shape[1]
    while True:
        for i in range(0, total_timesteps, timesteps):
            yield x[:, i:i+timesteps, :], y[:, i:i+timesteps, :]
        if run_once:
            return

# Load some arbitrary sequential dataset.
x_train, y_train, x_test, y_test = load_data()

# Assume total data's sequence length is larger and evenly divisible by this number.
timesteps = 10

# Count batches in dataset.
train_samples = sum([b[0].shape[0] for b in batches(x_train, y_train, timesteps, run_once=True])
test_samples = sum([b[0].shape[0] for b in batches(x_test, y_test, timesteps, run_once=True])

# Fit a stateful RNN model and do predictions.
model.fit_generator(batches(x_train, y_train, timesteps), train_samples)
y = model.predict_generator(batches(x_test, y_test, timesteps), test_samples)
print(y.shape)

Could you provide a complete script I can run?
What do you mean by "frame"? Is it "time step"?

Sorry, predict_generator seems to be working fine. Just me being confused about how to interleave sequences correctly for stateful RNNs. Ultimately it doesn't matter as long as the i:th row in every batch corresponds to the same sequence. This is my batch generator, for reference:
def to_tensor(sequences):
    longest_sequence_length = max([s.shape[0] for s in sequences])
    sequence_length = longest_sequence_length + (timesteps - longest_sequence_length % timesteps)
    padded_sequences = [np.pad(s, ((0, sequence_length - s.shape[0]), (0, 0)), 'constant', constant_values=mask_value) for s in sequences]
    samples = int(batch_size * sequence_length / timesteps)
    tensor = np.full((samples, timesteps, features), mask_value, dtype=sequences[0].dtype)
    for i, s in enumerate(padded_sequences):
        tensor[i::batch_size] = s.reshape((int(sequence_length/timesteps), timesteps, features))
    return tensor

def to_sequences(tensor):
    sequence_length = int(tensor.shape[0]*tensor.shape[1]/batch_size)
    sequences = []
    for i in range(batch_size):
        sequence = tensor[i::batch_size].reshape((sequence_length, features))
        sequence = sequence[(sequence != mask_value).all(axis=1), :]
        if len(sequence) > 0:
            sequences.append(sequence)
    return sequences

def batches(filepaths):
    def finalize(sequences):
        # Create huge tensors that should fit in CPU RAM.
        xs = to_tensor([s[0] for s in sequences])
        ys = to_tensor([s[1] for s in sequences])

        # Yield short pieces that should fit in GPU RAM.
        for i in range(0, xs.shape[0], batch_size):
            yield xs[i:i+batch_size, :, :], ys[i:i+batch_size, :, :]

    while True:
        for filepath in filepaths:
            queue = []
            model.reset_states()
            for x, y in zip(load_sequence(filepath)):
                queue.append((to_features(x), to_features(y)))
                if len(queue) == batch_size:
                    yield from finalize(queue)
                    queue.clear()
            if queue:
                yield from finalize(queue)


Does anyone know why this happens?

hello, the graphs are being generated erroneously, I have validated the data, the data types of the data, the order and the sequences of dates, but I do not see why it happens

the data.

the config
new ApexChartOptions<RegistroDataGraficoResponse>             {                 Legend = new Legend                 {                     Show = true                 },                 Stroke = new Stroke                 {                     Width = 1                 },                 Yaxis = new List<YAxis>                 {                     new()                     {                         Logarithmic = false                     }                 },                 Chart = new Chart                 {                     Animations = new Animations                     {                         Enabled = false                     },                     Toolbar = new Toolbar                     {                         Show = true                     }                 },                 Markers = new Markers                 {                     Size = 0                 },                 Xaxis = new XAxis                 {                     Type = XAxisType.Datetime,                     Labels = new XAxisLabels                     {                         Format = "dd/MM/yy HH:mm"                     }                 },                 Tooltip = new Tooltip                 {                     X = new TooltipX                     {                         Format = "dd/MM/yy HH:mm"                     }                 }             };
thanks!

my bad, the series were not completely orderedm thnks!


[Fomr] Add date picker

This pull request has been deployed to Vercel.

✅ Preview:
https://matou-technologies-purrfect-ui-storybook-25.vercel.app

🔍 Inspect:
https://vercel.com/matou-technologies/purrfect-ui/4t5nHQGBQ1oAWigEdCCkCAgBmk9W


max encoded size doesn't appear when items in a oneof are imported

This problem can be demonstrated using the tests/oneof project. If I compile it "as is" I will see max size information in oneof.pb.h as follows:
/* Maximum encoded size of messages (where known) */
#define SubMessage_size                          88
#define OneOfMessage_size                        113
#define PlainOneOfMessage_size                   90

However, if I move SubMessage to a new file, SubMessage.proto:
import 'nanopb.proto';
message SubMessage
{
    repeated int32 array = 1 [(nanopb).max_count = 8];
}

And then import it into oneof.proto:
import 'nanopb.proto';
import 'SubMessage.proto';

//message SubMessage
//{
//    repeated int32 array = 1 [(nanopb).max_count = 8];
//}

/* Oneof in a message with other fields */
message OneOfMessage
{
    required int32 prefix = 1;
    oneof values
    {
        int32 first = 5;
        string second = 6 [(nanopb).max_size = 8];
        SubMessage third = 7;
    }
    required int32 suffix = 99;
}

/* Oneof in a message by itself */
message PlainOneOfMessage
{
    oneof values
    {
        int32 first = 5;
        string second = 6 [(nanopb).max_size = 8];
        SubMessage third = 7;
    }
}

After compiling, the new oneof.pb.h does not have any entries for max encoded sizes. i.e. a comment line without any definitions:
/* Maximum encoded size of messages (where known) */

Is this expected behavior?

Yes, currently this is expected behaviour. The maximum size has to be
computed as a maximum of the possible oneofs, but when several files are
involved the sizes are not known at generator.
Possible fixes:

Use some C preprocessor magic to calculate the maximum at runtime.
Make generator aware of multiple files at once (this could also help
with some other issues).

Either of these is currently a fair bit of work compared to the benefit
so probably not going to be implemented very soon.

Thanks for your response. I notice that imported items outside of the oneof show up like this
 #define OneOfMessage_size                        (119 + SubMessage2_size)

In fix #1, you mention "at runtime", can't this sort of thing be done at compile time by adding a max macro and then doing something like the following?
 #define OneOfMessage_size                        (119 + MAX(SubMessage2_size,MAX(...etc)

If not, is there another way I can determine the max size of this type of message? Thanks

Yes, sorry, in 1) I meant to write "at compile time".

Seems that adding multifile support to generator should be quite easy when it is run in the plugin mode.
Previously with the two-step generation (first protoc to foo.pb, then nanopb_generator.py) it was not easy to get the data for the included files. This is still true, but I guess solving it for the single-step protoc plugin case is worth it.

Fix released in nanopb-0.3.4.


tetex: mark as broken, migrate packages to texlive

Partial fix for #21770: migrate ne and enblend-enfuse to texlive.
Motivation for this change
tetex is unsupported, and the download links don't work anymore.
Things done

[x] Tested using sandboxing
(nix.useSandbox on NixOS,
or option build-use-sandbox in nix.conf
on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

Looks like the tests are timing out on Linux and OSX.

The main remaining package is asciidoc.  I think we shouldn't mark tetex broken before migrating that one.

@vcunat I'll try to migrate that, and if I'm unsuccessful, I'll remove the commit marking tetex as broken.

I acutally can't get asciidoc or a2x working with the latex backend as it is now (even when building asciidoc-full), so I'm not sure how to test my changes.
I get this error using asciidoc:
$ ./result/bin/asciidoc --backend=latex test.asciidoc
asciidoc: WARNING: test.asciidoc: line 4: missing section: [source-filter-style]
asciidoc: FAILED: test.asciidoc: line 4: malformed section entry: template::[source-filter-style]

and this with a2x:
$ PATH=$PATH:$PWD/result/bin ./result/bin/a2x --backend=latex test.asciidoc
a2x: ERROR: missing latex backend

I think this isn't a problem with tetex to texlive.combined.schema-basic. Look at https://groups.google.com/forum/#!topic/asciidoc/uUJz3TkOhks
So maybe the best thing would be to drop latex-support or leave it as it is.

There's a patch for asciidoc (haven't tested it) that supposedly fixes it:
https://code.google.com/archive/p/asciidoc/issues/26

Oh, I forgot, I'm sorry.  Those two commits are in master now.  asciidoc is the only one remaining now.

@vcunat Which two commits?

The ones for ne and enblend-enfuse from this PR.  See b9d6a6c and its parent.

@vcunat Thanks!

:-)


Cannot change default save location

I set new Default save location (which exists), e.g. journal/slurp.
But it is not saved, after look again to configuration there is slurp path only, not journal/slurp.

Oof sorry about that! I'll patch that up this morning. is the new search box working well otherwise at least?
ironically enough I started adding unit tests last night because the thought of added regressions exactly like this was nagging at me.

this should be fixed in 0.1.9
thanks for the report!


GUI Editor mouse cursor bug

If you had the GUI editor enabled and switch back to the game, the mouse cursor does not disappear like it should, can anyone confirm this?
You can switch back to world editor and then back to the game and the mouse cursor will properly go away, but not directly from the GUI editor.

I loaded up a map, opened the GUI editor, closed the GUI editor, and the cursor stopped displaying.
Do you have a specific GUI loaded when this is happening?

I think I used the first 3.10 release, loaded a level, opened GUI editor, closed it, then the cursor was there.
But I used a modified version of the game scripts so there may be some issue, but the tools are unchanged, except applying the dark UI skin on it.

I can confirm this issue. I entered a mission, hit F11 to enter the editor. Enabled Gui mode and then clicked on game mode. The mouse cursor remains preventing the normal game movement from occurring. If I return to the editor and then enter play mode the cursor is gone and the camera moves again.


Frontend Crash (a.realUserName is not a function)

Greetings, i got this error on some Posts if i enable the Plugin:

I have also isntalled the "Nicknames" Extension

Thank you for reporting. However there is no enough information to know what was happing.
Is the problem occurs just after installing the extension or when doing something else?
Also, could you check the version of user-decoration extension and also the extension installed.
You may use php flarum info command.

Sorry, totally forgot about that! I also wanted to say, that your extension is beautiful, i really like how it's Workflow
Flarum core: 1.8.5
PHP version: 8.0.30
MySQL version: 8.0.33
Loaded extensions: Core, date, libxml, openssl, pcre, zlib, bcmath, bz2, calendar, ctype, dba, dom, hash, fileinfo, filter, ftp, gettext, gmp, SPL, iconv, session, json, mbstring, pcntl, standard, posix, readline, Reflection, imap, shmop, SimpleXML, soap, sockets, Phar, exif, sysvmsg, sysvsem, sysvshm, tokenizer, xml, xmlreader, xmlwriter, zip, mysqlnd, imagick, curl, gd, mysqli, PDO, pdo_mysql, xsl, sqlite3, intl, sodium, ldap, tidy, pdo_pgsql, pdo_sqlite, igbinary, redis, Zend OPcache
+--------------------------------------+---------+--------+
| Flarum Extensions                    |         |        |
+--------------------------------------+---------+--------+
| ID                                   | Version | Commit |
+--------------------------------------+---------+--------+
| flarum-flags                         | v1.8.0  |        |
| flarum-tags                          | v1.8.1  |        |
| flarum-approval                      | v1.8.1  |        |
| flarum-markdown                      | v1.8.0  |        |
| flarum-suspend                       | v1.8.1  |        |
| flarum-mentions                      | v1.8.3  |        |
| flarum-subscriptions                 | v1.8.0  |        |
| flarum-bbcode                        | v1.8.0  |        |
| askvortsov-auto-moderator            | v0.1.3  |        |
| v17development-seo                   | v1.8.1  |        |
| askvortsov-rich-text                 | v2.1.7  |        |
| flarum-sticky                        | v1.8.0  |        |
| flarum-lock                          | v1.8.0  |        |
| afrux-forum-widgets-core             | v0.1.7  |        |
| fof-pages                            | 1.0.8   |        |
| fof-byobu                            | 1.3.6   |        |
| ianm-level-ranks                     | 1.1.1   |        |
| fof-user-directory                   | 1.3.3   |        |
| fof-follow-tags                      | 1.2.5   |        |
| fof-formatting                       | 1.0.3   |        |
| flarum-likes                         | v1.8.0  |        |
| wolfgang-demeter-bbcode-5star-rating | v0.1.8  |        |
| webbinaro-age-check                  | 0.0.7   |        |
| v17development-user-badges           | v1.1.0  |        |
| v17development-blog                  | v0.7.7  |        |
| the-turk-stickiest                   | 3.0.1   |        |
| sycho-profile-cover                  | v1.3.5  |        |
| ramesh-dada-mobile-newdiscuss        | 7.2.1   |        |
| ramesh-dada-bbcode-alerts            | 6.21    |        |
| katosdev-signature                   | 1.6     |        |
| justoverclock-hot-discussions        | 0.1.2   |        |
| justoverclock-custom-html-widget     | 0.1.4   |        |
| ianm-syndication                     | 1.3.4   |        |
| foskym-activity-graph                | v0.1.0  |        |
| fof-webhooks                         | 1.2.3   |        |
| fof-user-bio                         | 1.4.0   |        |
| fof-upload                           | 1.5.5   |        |
| fof-terms                            | 1.3.1   |        |
| fof-socialprofile                    | 1.1.6   |        |
| fof-sitemap                          | 2.2.1   |        |
| fof-share-social                     | 1.2.0   |        |
| fof-reactions                        | 1.4.1   |        |
| fof-profile-image-crop               | 1.1.6   |        |
| fof-polls                            | 1.4.2   |        |
| fof-oauth                            | 1.6.10  |        |
| fof-nightmode                        | 1.5.3   |        |
| fof-merge-discussions                | 1.4.1   |        |
| fof-links                            | 1.2.3   |        |
| fof-linguist                         | 1.1.2   |        |
| fof-impersonate                      | 1.1.1   |        |
| fof-ignore-users                     | 1.2.1   |        |
| fof-html-errors                      | 1.1.2   |        |
| fof-drafts                           | 1.2.10  |        |
| fof-doorman                          | 1.1.5   |        |
| fof-cookie-consent                   | 1.1.3   |        |
| fof-best-answer                      | 1.4.5   |        |
| fof-ban-ips                          | 1.1.1   |        |
| fof-anti-spam                        | 1.1.2   |        |
| fof-amazon-affiliation               | 1.1.0   |        |
| flarumite-simple-spoilers            | 1.0.0   |        |
| flarumite-simple-discussion-views    | 1.2.3   |        |
| flarum-statistics                    | v1.8.0  |        |
| flarum-nicknames                     | v1.8.0  |        |
| flarum-lang-german                   | 1.13.0  |        |
| flarum-lang-english                  | v1.8.0  |        |
| flarum-emoji                         | v1.8.0  |        |
| flamarkt-matomo                      | 0.1.0   |        |
| defendervex-bbextend                 | 0.1.1   |        |
| datlechin-link-preview               | v1.4.0  |        |
| datlechin-bbcode-hide-content        | v0.1.6  |        |
| datitisev-post-galleries             | 1.1.1   |        |
| clarkwinkelmann-shadow-ban           | 1.1.0   |        |
| clarkwinkelmann-group-invitation     | 1.0.2   |        |
| clarkwinkelmann-emojionearea         | 1.0.0   |        |
| askvortsov-pwa                       | v3.4.1  |        |
| askvortsov-markdown-tables           | v1.2.1  |        |
| askvortsov-categories                | v3.1.0  |        |
| antoinefr-money                      | v1.3.1  |        |
| afrux-online-users-widget            | v0.1.6  |        |
+--------------------------------------+---------+--------+

Not on all pages, just on some. I just found, that the page has an deleted user account!

Ok, I'v fixed in the latest version v1.1.0. Just update and check if the bug is fixed.😊

It is fixed! Tank you!


Update README.md

Read the contribution guidelines
Include a reference to a related issue in this repository
A description of the changes proposed in the pull request

Same as https://github.com/microservices-demo/microservices-demo/pull/689.
No explanation for PR, Docker Compose is already present & we are already using Docker Hub for containers.


Fix [object Object] if kubeconfig merging from Cloud Explorer exists

When you merge a kubeconfig from Cloud Explorer, it checks if an entry name already exists and if so skips that entry.  The message currently says [object Object] already exists - skipping.  This displays the name instead.
Fixes #540.

brb, gonna start naming my clusters [object Object]


Has extra code: Z Not Stated

Has extra code: Z Not Stated (PERSON asked but declined to provide a response):

EMPLOYMENT_STATUS
SPECIAL_EDUCATIONAL_NEED_TYPE

The codes are now on the Data Element, but the comment is still valid

Appears correct now.

Extra Z removed, can close.


Adding CA certificates to docker image

Hi guys,
I'm experimentig with secrets-manger. I found that output docker image doesn't have ca-certificates installed.
If they are missing you get error when connecting to Vault something like x509 unknown issuer...
I'm using certificates from Let's Encrypt.

Codecov Report

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

@@           Coverage Diff           @@
##           master      #28   +/-   ##
=======================================
  Coverage   83.79%   83.79%
=======================================
  Files          11       11
  Lines         432      432
=======================================
  Hits          362      362
  Misses         55       55
  Partials       15       15

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 d8b267b...aeca831. Read the comment docs.

@rvojcik Thanks a lot for using secrets-manager! We'll review your PR and let you know!
cc @fllaca


Free threaded resources on Android

When tiles are streamed, GPU resources are uploaded to the GPU synchronously in the render thread. A quick change in Zoom or location can block the render thread due to very slow uploads: Many uploads are serialized delaying actual rendering and affecting the user experience. The following Tracy screenshot shows a slow frame. Most of the frame is processing uploads of vertex buffers to the GPU:

Zoomed version of the same screenshot where we see actual rendering at the very end of the frame:

Pipelining the renderer would alleviate the problem but it won't be enough when many uploads are processed in the same frame. Also, pipelining the renderer requires significant efforts. An easier solution that may scale better is to distribute uploads to as many threads as possible and only wait for them to finish when they are needed in a draw call. This can scale better when many free CPU cores exist.
This PR adds shared EGL contexts to the Android backend to issue buffer uploads in worker threads.
The existing thread pool has been updated to enable persistent EGL contexts (I noticed very poor performance on Qualcomm drivers when migrating contexts between threads hence the thread pool with persistent contexts: no calls to eglMakeCurrent every frame and in different threads). This allows concurrent uploads to the GPU:

The uploads are synchronized with the draws: the render thread only waits for a buffer when a draw needs it. This allow drawing while uploading data:

The uploads are currently randomly scheduled. Parallelizing drawing and uploading can be improved by first scheduling uploads for resources that get used late in the frame, e.g. uploading resources used by translucent objects before opaque objects since  opaques are rendered first.
This PR is specific to Android and is made such as other backends are unaffected and have minimal code change. Once Vulkan is the official backend on Android similar and better handling of resources can be done.
Texture uploads are also slow but less frequent and will be handled in a separate PR:

There are unused index buffer that we currently wait on before we destroy them and this is slowing down the render thread #2760

We can destroy them in a future frame but we should understand why they are there in the first place.
There are slowdowns in the the render thread that will be investigated separately (mailbox related):

There's a lot Tracy related noise so it might be easier to review the first commit which has the relevant code

Just tagging @mwilsnd and @alexcristici to take a look at this.

I will be making this opt-in because the performance is variable depending on vendors:

Emulator. Shared EGL contexts not well supported (known issue)
Mali drivers (Google pixel 6 and 7) on Android: uploads are like memcpy so no benefit of using shared contexts
Adreno drivers on Android: buffer updates are slow compared to a memcpy so this is useful
Adreno drivers on QNX: buffer upload perf is much lower than a regular Android driver and shared contexts scale the perf (screenshots are on QNX)

I changed this to always on by default on emulator and any device if GLES 3 is supported otherwise a GLES 2 context is requested and multi threading is disabled.


x/mobile: gomobile build fails for iOS targets

What version of Go are you using (go version)?

$ go version
go version go1.12 darwin/amd64

Does this issue reproduce with the latest release?
Yes.

Output
gomobile: go build -tags ios -ldflags=-w -o=/var/folders/pv/rmyyshm95r78n31p86nnbznw0000gn/T/gomobile-work-749904680/arm golang.org/x/mobile/example/basic failed: exit status 2
# golang.org/x/mobile/app
darwin_ios.m:139:77: warning: null passed to a callee that requires a non-null argument [-Wnonnull]
# golang.org/x/mobile/example/basic
/usr/local/Cellar/go/1.12/libexec/pkg/tool/darwin_amd64/link: running /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang failed: exit status 1
ld: -headerpad and -bitcode_bundle (Xcode setting ENABLE_BITCODE=YES) cannot be used together
clang: error: linker command failed with exit code 1 (use -v to see invocation

What did you expect to see?
See https://github.com/golang/go/wiki/Mobile#building-and-deploying-to-ios.

The build command will build an application bundle, named basic.app.

What did you see instead?
gomobile: go build -tags ios -ldflags=-w -o=/var/folders/pv/rmyyshm95r78n31p86nnbznw0000gn/T/gomobile-work-749904680/arm golang.org/x/mobile/example/basic failed: exit status 2
# golang.org/x/mobile/app
darwin_ios.m:139:77: warning: null passed to a callee that requires a non-null argument [-Wnonnull]
# golang.org/x/mobile/example/basic
/usr/local/Cellar/go/1.12/libexec/pkg/tool/darwin_amd64/link: running /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang failed: exit status 1
ld: -headerpad and -bitcode_bundle (Xcode setting ENABLE_BITCODE=YES) cannot be used together
clang: error: linker command failed with exit code 1 (use -v to see invocation

CC @steeve @hyangah

@bcmills Should I go ahead and see if I can figure out what's going on here? Happy to chip in.

I have the same problem on Mojave with XCode 10.2 and 10.3

The warning can be fixed with this patch, but it does not fix the build error...
index 08bb72f..e17b150 100644
--- a/vendor/golang.org/x/mobile/app/darwin_ios.m
+++ b/vendor/golang.org/x/mobile/app/darwin_ios.m
@@ -135,8 +135,9 @@ - (void)touchesCanceled:(NSSet*)touches withEvent:(UIEvent*)event {
@end
void runApp(void) {

char * argv[] = {};
@autoreleasepool {

          UIApplicationMain(0, nil, nil, NSStringFromClass([GoAppAppDelegate class]));

   UIApplicationMain(0, argv, @"UIApplication", @"GoAppAppDelegate");
  }

}

Aha, the problem seems to be that the go tools we are using force -headerpad and that bitcode is now enabled by default and these conflict. The following patch to gomobile fixed it for me 😎.
diff --git a/cmd/gomobile/build_iosapp.go b/cmd/gomobile/build_iosapp.go
index 9cc22ab..79b2c3f 100644
--- a/cmd/gomobile/build_iosapp.go
+++ b/cmd/gomobile/build_iosapp.go
@@ -426,6 +426,7 @@ const projPbxproj = `// !$*UTF8*$!
         SDKROOT = iphoneos;
         TARGETED_DEVICE_FAMILY = "1,2";
         VALIDATE_PRODUCT = YES;
+        ENABLE_BITCODE = NO;
       };
       name = Release;
     };
diff --git a/cmd/gomobile/env.go b/cmd/gomobile/env.go
index cb42d1c..a707965 100644
--- a/cmd/gomobile/env.go
+++ b/cmd/gomobile/env.go
@@ -140,7 +140,6 @@ func envInit() (err error) {
                default:
                        panic(fmt.Errorf("unknown GOARCH: %q", arch))
                }
-               cflags += " -fembed-bitcode"
                if err != nil {
                        return err
                }

I don't know how to create a PR for gomobile, so here is a consolidated patch file instead...
gomobile.diff.txt

I just ran into the exact same problem. @andydotxyz solution fixed it!
@andydotxyz why did you decide to turn off bitcode instead of turning off headerpad?
I ask because I understand that Apple seems to prefer that bitcode is turned on.

That is a great question @rob-deutsch - it was not my preferred approach either. Unfortunately headerpad is coded into the Go tools which gomobile delegates to (as far as I can tell) - this means that the patch would have to go upstream to the main project which seemed much harder!

Ha, that's a great reason! Thanks for the info @andydotxyz .
I know its unlikely, but would you happen to remember where exactly headerpad is hardcoded? I'm happy to take this upstream.

@rob-deutsch I see in ld and some hints in macho_combine_dwarf.go

Sorry I don't recall @rob-deutsch - I just used grep for "headerpad" I think...

For people who didn't follow the cl -
@eliasnaur commented in the cl.

This CL effectively reverts https://golang.org/cl/168062, potentially re-opening https://golang.org/issue/22395. What changed?

Does anyone have an answer?

@hyangah, which CL? (I don't see one linked here — it's possible that GopherBot missed a cross-reference.)

@bcmills I believe @hyangah refers to https://golang.org/cl/189857.

I did some digging and found that the answer to my own question is: nothing changed, but gomobile build mode broke with my bitcode-enabling CL168062. Presumably I tested gomobile bind but failed to test gomobile build when preparing that CL.
gomobile build builds an iOS executable, while gomobile bind builds a C archive (using buildmode=c-archive). Building an iOS executable with -fembed-bitcode is not compatible with the flags cmd/link pass to the host linker; I've found -headerpad, -pagezero_size and -fno_pie to be incompatible.
It seems to me the fix is to figure out why cmd/link needs to pass the incompatible flags, and if it doesn't, remove or replace them with bitcode compatible flags. Removing the incomptable flags succeeded in producing a binary but I haven't run it nor tried to upload it to the App Store for verification.
The next best fix is to work around the issue and switch gomobile build to use the buildmode=c-archive like gomobile bind. As a side effect, gomobile build will be much more similar to gomobile bind, decreasing the likelyhood of future breaks.
The easiest workaround is for gomobile build to omit -fembed-bitcode. The downside is that executables built this way will not have bitcode enabled. Since bitcode is not (yet) a requirement for iOS, I don't think missing bitcode matters.
CL 189857 implements the third option, except that it also omits the flag for gomobile bind which is wrong.

I asked on golang-dev for the purpose of the incompatible flags:
https://groups.google.com/forum/#!topic/golang-dev/U1jK3xmmGAk
It seems possible that my first suggestion could work: remove -headerpad, -fno_pie, -pagezero_size and see whether gomobile build programs still work on iOS, and whether the App Store will accept them.
I won't have much time before GoLab Florence, and we're approaching the freeze. If someone else could do the experiment, I'd be very grateful.

With https://github.com/golang/go/issues/34501#issuecomment-542535507 we can now target iOS builders with the TRY= directive.

https://golang.org/cl/201358 seems to complete all.bash (on at least darwin/arm64). Can someone using gomobile build check whether App Store still accepts binaries with bitcode and CL 201358 applied? Thanks.
@hajimehoshi @andydotxyz @rob-deutsch @dlo

Testing on the latest macOS with gomobile build I get a new error:
ld: -no_pie and -bitcode_bundle (Xcode setting ENABLE_BITCODE=YES) cannot be used together
clang: error: linker command failed with exit code 1 (use -v to see invocation)

On Sat Oct 26, 2019 at 10:49 AM Andy Williams wrote:

Testing on the latest macOS with gomobile build I get a new error:
ld: -no_pie and -bitcode_bundle (Xcode setting ENABLE_BITCODE=YES) cannot be used together
clang: error: linker command failed with exit code 1 (use -v to see invocation)

I didn't make it clear, but the CL only works for darwin/arm64, not (yet) for darwin/arm.
Please use
$ gomobile build -target ios/arm64 ...

to build a binary for arm64 only and test with that. You may have to disable arm in your Xcode
as well.

Ah yes, apologies.
It compiles and runs on device and simulator.
I will attempt an upload to app store shortly.
First I need to figure how to manage different certification profiles using gomobile ;)

OK, I have attempted the upload and it seems to have no bitcode related errors :)

Nice, thanks for checking.

@andydotxyz could you be persuaded to check out Cherry's https://golang.org/cl/205060? It should fix the darwin/arm build as well.

I would be happy to but am only at a Mac on Wednesday this week - I’ll do my best to get it checked then :)

With both patches applied I get:
/Users/andy/Code/Go/goroot/pkg/tool/darwin_amd64/link: running /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang failed: exit status 1
ld: warning: OS version (7.0.0) too small, changing to 8.0.0
ld: -headerpad and -bitcode_bundle (Xcode setting ENABLE_BITCODE=YES) cannot be used together
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Both patches are in go tip, where headerpad is guarded by
      if !ctxt.Arch.InFamily(sys.ARM, sys.ARM64) {
          // -headerpad is incompatible with -fembed-bitcode.
          argv = append(argv, "-Wl,-headerpad,1144")
      }

so -headerpad shouldn't be emitted on darwin/arm nor darwin/arm64. Can you try again with Go tip?

arm and arm64 are both working, however the "ios" target is not - so it's still not building for simulator.
works:

gomobile build -target ios/arm
gomobile build -target ios/arm64

does not:

gomobile build -target ios

Thank you, I had forgotten about the simulators. Let me know whether golang.org/cl/205340 works, which fixes the problem for:
$ gomobile build -target ios -bundleid <...> golang.org/x/mobile/example/flappy

Excellent, thanks - that fixes "-target ios"
$ file myapp.app/main
Mach-O universal binary with 4 architectures: [i386:Mach-O executable i386] [x86_64] [arm_v7] [arm64]
(for architecture i386):	Mach-O executable i386
(for architecture x86_64):	Mach-O 64-bit executable x86_64
(for architecture armv7):	Mach-O executable arm_v7
(for architecture arm64):	Mach-O 64-bit executable arm64

I guess this can be closed when 1.13.5 comes out?

The fixes will be in Go 1.14 and are not going to be backported. I left this issue open in case someone wanted to work on a gomobile workaround for Go 1.13. If not, go ahead and close it.

What would the workaround in gomobile be?

Probably something like: https://github.com/fyne-io/mobile/commit/9aa562349ac805f7ffcfa97f808fe2bf198fa75e

Yes, but activated only with Go < 1.14.

Hey peeps!  I'm trying to use go mobile for an ios target and I ran into the same problem.  It seems like the patch submitted above still hasn't been accepted in the master branch.  I clone'd from github, applied the patch manually but now I'm trying to figure out how to rebuild go mobile from source.  I did see the docs on fetching subrepositories like mobile, but I couldn't figure out how to rebuild from a local copy.  Bear in mind I'm relatively new to go, but an experienced dev.  Any help greatly appreciated.


Mismatching stats logged while training and while evaluating with the saved model

❓ Questions and Help
Before asking:

Try to find answers to your questions in the Lightning Forum!
Search for similar issues.
Search the docs.

What is your question?
I manually print the training accuracy after every epoch.
But get different accuracy when evaluate the training set using the saved model at that epoch.
Code
`
def training_step(self, batch, batch_idx):
    logits, softmax_logits = self.forward(**batch)
    loss, prediction_label_count = self.loss_function(logits, batch["labels"])
    accuracy = self.compute_accuracy(logits, batch["labels"])
    return {"loss": loss,
            "prediction_label_count": prediction_label_count,
            "accuracy": accuracy,
            "log": {"train_loss": loss, "training_accuracy": accuracy}}

`
`
def training_epoch_end(self, outputs_of_training_steps):
    avg_loss = torch.cat([x['loss'].view(-1) for x in outputs_of_training_steps]).mean()
    training_accuracy = torch.cat([x['accuracy'].view(-1) for x in outputs_of_training_steps]).mean()

    print("\nTraining epoch stats below:")

    for label in range(parameters["num_labels"]):
        pred_freq = torch.cat(
            [x['prediction_label_count'][label].view(-1) for x in outputs_of_training_steps]).sum()
        print("Frequency of prediction of label {label} is : {freq}".format(label=label, freq=pred_freq))

    if (parameters["use_weighted_CE"] == True):
        print("weights in this epoch were: ", self.weights)

    print("training loss: ", avg_loss)
    print("training accuracy: ", training_accuracy)

    print("***Training epoch stats finish***\n")

    log = {"train_accuracy": training_accuracy}
    return {"train_accuracy": training_accuracy, 'log': log}

`

What have you tried?
3 class classification problem, I'm using a "batch_size" of 32, 8 gpus, and training and validation sets are of size 5k each.
This is what I get
Epoch 0: 100%|██████████| 314/314 [01:50<00:00,  2.85it/s, loss=0.751, v_num=7143817]
Validation epoch stats below:157/157 [00:33<00:00,  5.06it/s]
Frequency of prediction of label 0 is : 2208.0
Frequency of prediction of label 1 is : 1457.0
Frequency of prediction of label 2 is : 1335.0
val accuracy:  tensor(0.6483, device='cuda:0')
val loss:  tensor(0.8154, device='cuda:0')
Validation epoch stats finish.
Epoch 0: 100%|██████████| 314/314 [01:53<00:00,  2.76it/s, loss=0.751, v_num=7143817]
Training epoch stats below:
Frequency of prediction of label 0 is : 346.25
Frequency of prediction of label 1 is : 437.0
Frequency of prediction of label 2 is : 466.75
training loss:  tensor(0.9375, device='cuda:0')
training accuracy:  tensor(0.5388, device='cuda:0')
Training epoch stats finish
But when I evaluate the training set using the saved model, I get
Frequency of prediction of label 0 is : 2148.0
Frequency of prediction of label 1 is : 1537.0
Frequency of prediction of label 2 is : 1315.0
accuracy:  tensor(0.7282, device='cuda:0')
Note: Accuracy on Val set comes the same as in the logs i.e 0.6483.
Why there is a mismatch in the accuracy on the training set
What's your environment?

OS: [e.g. iOS, Linux, Win]
Packaging [e.g. pip, conda]
Version [e.g. <IP_ADDRESS>]

Dear @nrjvarshney,
This looks like out-dated API.
Please, have a look at this example: https://github.com/PyTorchLightning/pytorch-lightning/blob/release/1.2-dev/pl_examples/domain_templates/computer_vision_fine_tuning.py#L186
class MyModel(LightningModule):

    def __init__(self):
        self.train_acc = pl.metrics.Accuracy()

    def training_step(self, batch, batch_idx):
        # 1. Forward pass:
        x, y = batch
        y_logits = self.forward(x)
        y_true = y.view((-1, 1)).type_as(x)

        # 2. Compute loss
        train_loss = self.loss(y_logits, y_true)

        # 3. Compute accuracy:
        self.log("train_acc", self.train_acc(y_logits, y_true.int()), prog_bar=True, on_step=True, on_epoch=True)

        return train_loss

Dear @nrjvarshney,
This looks like out-dated API.
Please, have a look at this example: https://github.com/PyTorchLightning/pytorch-lightning/blob/release/1.2-dev/pl_examples/domain_templates/computer_vision_fine_tuning.py#L186
class MyModel(LightningModule):

    def __init__(self):
        self.train_acc = pl.metrics.Accuracy()

    def training_step(self, batch, batch_idx):
        # 1. Forward pass:
        x, y = batch
        y_logits = self.forward(x)
        y_true = y.view((-1, 1)).type_as(x)

        # 2. Compute loss
        train_loss = self.loss(y_logits, y_true)

        # 3. Compute accuracy:
        self.log("train_acc", self.train_acc(y_logits, y_true.int()), prog_bar=True, on_step=True, on_epoch=True)

        return train_loss


Add SetBatch

add BatchUpdate, BatchReplace, BatchDelete

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
21 unchanged lines in 1 file lost coverage.
Overall coverage increased (+0.05%) to 88.966%

Files with Coverage Reduction
New Missed Lines
%

ygnmi/ygnmi.go
21
85.76%

Totals

Change from base Build<PHONE_NUMBER>:
0.05%

Covered Lines:
1532

Relevant Lines:
1722

💛  - Coveralls


Remove backwards compatibility from verification emails

Now that dashboard-rails is deprecated, we can update our customer.io verification emails to use the actual routes in Diesel, rather than redirecting.

Missed this ticket, closing and deferring to #332. The Customer.io changes are already implemented — only the compatibility code needs to be removed from Dashboard.


Implement PVSystemDataset

Detailed Description

Load PV data and HRV satellite data
For each example, select PV systems in the upper middle of the satellite imagery.
If an example doesn't have any PV systems then try just dropping that (I think variable batch sizes are allowed?) If that doesn't work then randomly select one of the examples which does have multiple PV systems, and select more than one PV system from that example (as separate examples: one example per PV system)
Randomly select one PV system per example
Compute the position encoding of each satellite pixel as the angle and distance (using OSGB coordinates) from the PV system.
Normalise the PV system and the satellite imagery

Some additional notes:

[x] Need to download hrvsatellite to data_for_testing.
[x] Write unit tests!

Context
Will be used for #20 (and others)
Implementation
This can't be done in the DataLoader class, because those classes only know about each individual data source. And we need to process the PV data and HRV satellite data together. Some options:

Subclass DataSet and override __getitem__
Add a data_processor attribute to DataSet which sees all the loaded data.

OK, it turns out that some examples end up having zero PV systems.
NEXT STEP: Explore using a variable-sized batch (and dropping examples without any PV systems)


do you need to put decoder.dropout at testing time?

Hi. I've realized that you've removed the line of code: decoder.dropout(h) at testing time. At inference, the dropout behaves differently (gets scaled to account for the loss in training). However, you are not informing the network of any dropout at testing time, so how should it supposed to be scaled? Because when you are removing the decoder.dropout, you are getting the unscaled values. They yield different results. Have a look at the code below:
import torch
import torch.nn as nn

x = torch.randn(4,4)
drop = nn.Dropout(0.5)
model = nn.Linear(4,6)
model.train()
model(drop(x))

model.eval()
d = model(drop(x))
n = model(x)
print(d == n)

This gives a matrix of 0s (all False).

Thanks!

@sgrvinod may you please answer?

Hi, sorry, I haven't had to chance to reply to many issues.
As I understand it, what you're asking is, when Dropout is applied during training with a probability p to keep a value, then we must scale the values by a factor of p during inference/testing because 1 - p of the values are no longer being dropped out. So, since I'm not using the Dropout layer during inference, the network doesn't know to scale values by p. Am I right in understanding your question?
In PyTorch, however, the Dropout layer is structured such that the scaling is applied during training and not during inference. So the not-dropped values during training are scaled by a factor of 1 / p, instead of scaling all the values during inference by a factor of p. This is convenient because the scaling is applied when Dropout is actually applied (i.e. during training), and not when Dropout is not applied (i.e. during inference), and therefore we don't need to worry about it at test time.
In your code, the Dropout layer drop is not actually a part of model, so regardless of whether model is in train() or eval() mode, drop is still in train() mode. So, what drop is doing to x is that it is dropping half the values (p = 0.5), and multiplying the not-dropped values by 1 / 0.5, i.e. doubling them. So drop(x) and x have no equal elements, which is why model(drop(x)) and model(x) have no equal elements.
You can test the behaviour of the PyTorch Dropout in train() and eval() modes:
drop = nn.Dropout(0.5)
x = torch.randn(1, 5)
print(x)

drop.train()  # unnecessary because it's already in train mode, since it's the default
dropped_train = drop(x)
print(dropped_train)  # dropout in train() scales the not-dropped values by 2 (= 1 / 0.5)
print(dropped_train == 2 * x)  # 1s where values weren't dropped

drop.eval()
dropped_eval = drop(x)
print(dropped_eval)  # dropout in eval() mode has no effect
print(dropped_eval == x)  # all 1s

Similarly,
x = torch.randn(1, 5)
model = nn.Sequential(*[nn.Linear(5, 5), nn.Dropout(0.5)])

model.train()
train_result = model(x)

model.eval()
eval_result = model(x)

print(train_result == 2 * eval_result)  # 1s where values weren't dropped

Hope this answers your question. If I misunderstood, let me know.

Thank you for your great answer! I completetly forgot that PyTorch uses inverted dropout (which leaves the values of testing time unchanged). Thanks a lot for the examples as well!


AngularJs v 1.5.0 plan?

Any plan on updating the AngularJs version?

+1 :D

Awesome. Good job @jakemmarsh


The export statement doesn't work as intended.

Example code:
function myFunction(a, b) {
    return a + b;
}
export myFunction;

l.3.7: Unexpected 'myFunction'.
--- export myFunction;
The reason which might be:
in stmt("export"):
function export_id():
the_export.expression.push(the_thing); //(l.3335)
"the_thing" is undefined for the two cases where export_id() is called

I think you meant one of these:
export default myFunction;
export {myFunction};

On the Help-Page you state that it's supported; and likewise says the code
Regardless of that, it is still a fact that the above mentioned function export_id only pushes undefined into the_export.expression

JSLint only allows that form for const. The function declaration is a var.


Typo

In the README.md you say that liquid VR use direct 3D 11 but you mention Async Compute which is a direct 3D 12 feature.
Thanks for opensourcing :)  you are altruists, I love you.

Are you referring to this line from README.md?

Async Compute : Provides in Direct3D 11 a subset of functionality similar to async-compute functionality in Direct3D 12.

GCN hardware supports Async Compute, but it is not exposed in standard Direct3D 11. What the readme is saying is that, using LiquidVR, you can access this feature in Direct3D 11, something you cannot do without LiquidVR. It is not a typo.
Changing the subject, we are probably going to disable the issue system on this repo, at least temporarily, until we have people assigned to review and track the issues. But before we do that, I wanted to say thanks for the feedback.


CASMTRIAGE-3246: fixed generate_switch_config.md, generating switch config for single …

Summary and Scope
Fixed generate_switch_config.md, generating switch config for single device was incorrect.
Essentially for single device, the config file will just be created in working directory vs in generate whole network will create a folder to output generated config files.
Issues and Related PRs
List and characterize relationship to Jira/Github issues and other pull requests. Be sure to list dependencies.

Resolves CASMTRIAGE-3246
Change will also be needed in 1.2.5, done in branch CASMTRIAGE-3246-1

Testing
Re-run command
Tested on:

Gamora
Local development environment=

Pull Request Checklist

[x] Version number(s) incremented, if applicable
[x] Copyrights updated
[x] License file intact
[x] Target branch correct
[ ] CHANGELOG.md updated
[x] Testing is appropriate and complete, if applicable
[ ] HPC Product Announcement prepared, if applicable

We also need this in the main branch (ideally the primary PR would be to main and we would backport it to the previous releases, but we can do it the other way)


Very high memory usage

I was just curious how neovide's RAM use compares to other editors. I was in shock when I realized it was at 6.4GB after only opening a few files. When I looked at how much RAM is used on just opening neovide, the initial footprint is 3.3GB, and it goes up quickly. I haven't used neovide for extended use, but I have a feeling I haven't seen it cap out. One thing that makes the memory jump dramatically is to change guifont. Every time I called :set guifont=<font-name>:h<pixels>, I saw a couple gigabyte RAM use jump.

Believe it or not, this is a platform discrepancy. On windows the memory usage sticks around 200-300 MB and a chunk of that goes to nvim itself and plugins on my box.
I've seen reports though that on some linux boxes, the fonts take up a surprisingly large amount of space.
What platform are you running on?

This is likely to improve a ton with the potential rewrite I'm working on.

Here is random haha
The problem seems to be on startup because sometimes it consumes 200-300MB, sometimes 2GB...  and then decreases with time.

What i've seen on my side is that the process itself takes around 200-300 (which is still more than I'd like, but manageable) but the child processes take up a bunch as well. In particular the tab9 plugin often takes multiple gigs. I need to know platform to see if there is a correlation though

I should have mentioned, I'm on MacOS using the latest from master (march 7th 515535cf32c99b1e39176dee91dda8cb5265908c). For me, not even opening a file, but just adjusting font a few times, and RAM use can grow over 10GB in less than a minute. I haven't seen RAM use decrease. From what I can tell, it only grows.

If you don't adjust the font at all, does it continue to grow?

The numbers you are describing are very high. Any chance you could do some memory profiling to see what is taking all the space? I can't reproduce this on my windows boxes

On my Manjaro machine, if the font name was configured wrong, it actually loads the Noto and Monospace in their place. And if I try to change the font to another one with the wrong name, it increases the memory consumption, by loading the default fonts once again.

Interesting so the fonts don't reuse the collection. Somehow we keep a reference to the loaded fonts...

I believe this was fixed by @exoticus @mrinterweb can you check and see if it is in reasonable ranges on mac now?

Here seems ok now

@Kethku sorry for the delayed response. I just built the latest, and I can no longer reproduce the issue. I'm going to close this issue. Thank you for addressing this.


Configuring node-exporter to monitor CPU utilization metrics

Run below commands to configure Prometheus from the kube-prometheus directory.

Teardown existing installation using kubectl delete --ignore-not-found=true -f manifests/ -f manifests/setup
And trigger a fresh installation using kubectl apply --server-side -f manifests/setup -f manifests

Assuming the namespace “monitoring” was used for Prometheus installation, use the same namespace in the file “node-exporter.yaml” for node-exporter installation.
Run the command kubectl apply -f node-exporter.yaml

If it fails with an error no matches for kind "DaemonSet" in version "apps/v1" (which is only applicable for K8s 1.1.7 and above), then use an appropriate version “extensions/v1” or "extensions/v1beta1".

Ensure that node-exporter service is available.

kubectl get svc -n monitoring

Port forward node-exporter

kubectl port-forward svc/node-exporter 9100 -n monitoring

Check that the node-level metric node_cpu_seconds_total is available in node-exporter service.

curl http://localhost:9100/metrics | grep node_cpu_seconds_total

Port forward prometheus-k8s

kubectl port-forward svc/prometheus-k8s 9090 -n monitoring

Check that the node-level metric node_cpu_seconds_total is available in prometheus-k8s service.

curl 'http://localhost:9090/api/v1/label/__name__/values' | grep node_cpu_seconds_total

When using kepler-model-server script for kind cluster preparation, node-exporter service is not configured by default. Above procedure can be used to configure it.

Content of the file node-exporter.yaml
---
apiVersion: apps/v1
kind: DaemonSet
metadata:
  labels:
    app: node-exporter
  name: node-exporter
  namespace: monitoring
spec:
  selector:
    matchLabels:
      app: node-exporter
  template:
    metadata:
      annotations:
        cluster-autoscaler.kubernetes.io/safe-to-evict: "true"
      labels:
        app: node-exporter
    spec:
      containers:
      - args:
        - --web.listen-address=<IP_ADDRESS>:9100
        - --path.procfs=/host/proc
        - --path.sysfs=/host/sys
        image: quay.io/prometheus/node-exporter:v0.18.1
        imagePullPolicy: IfNotPresent
        name: node-exporter
        ports:
        - containerPort: 9100
          hostPort: 9100
          name: metrics
          protocol: TCP
        resources:
          limits:
            cpu: 200m
            memory: 50Mi
          requests:
            cpu: 100m
            memory: 30Mi
        volumeMounts:
        - mountPath: /host/proc
          name: proc
          readOnly: true
        - mountPath: /host/sys
          name: sys
          readOnly: true
      hostNetwork: true
      hostPID: true
      restartPolicy: Always
      tolerations:
      - effect: NoSchedule
        operator: Exists
      - effect: NoExecute
        operator: Exists
      volumes:
      - hostPath:
          path: /proc
          type: ""
        name: proc
      - hostPath:
          path: /sys
          type: ""
        name: sys
---
apiVersion: v1
kind: Service
metadata:
  labels:
    app: node-exporter
  name: node-exporter
  namespace: monitoring
spec:
  ports:
  - name: node-exporter
    port: 9100
    protocol: TCP
    targetPort: 9100
  selector:
    app: node-exporter
  sessionAffinity: None
  type: ClusterIP
---
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  labels:
    app: node-exporter
    serviceMonitorSelector: prometheus-k8s
  name: node-exporter
  namespace: monitoring
spec:
  endpoints:
  - honorLabels: true
    interval: 10s
    path: /metrics
    targetPort: 9100
  jobLabel: node-exporter
  namespaceSelector:
    matchNames:
    - monitoring
  selector:
    matchLabels:
      app: node-exporter

Make sure that the Prometheus query step is greater than the node-exporter interval (which is set to 10 seconds in the node-exporter.yaml file) so that different values are reported in the time series data collected.

Setting up the appropriate access controls also may be needed as in https://github.com/sustainable-computing-io/kepler-model-server/blob/main/model_training/script.sh#L147

Configuring metrics-server on the kind cluster:

Download the file https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
Create the configuration by running kubectl apply -f components.yaml
If metrics-server pod throws IP SANs error (kubectl logs -f metrics-server-5fb5598cf8-8588b -n kube-system) then add the option --kubelet-insecure-tls in the components.yaml file as suggested here and retry deployment.

When creating a kind cluster with multiple nodes, one may need to adjust the number of CPUs and memory to be allocated for each node in docker environment (like in Docker Desktop).


Sliding gestures don't work when SlideMenuView contains a ListView on UWP / Android

As the title says, I cannot get the drag gestures to work on Android and UWP when using a ListView inside SlideMenuView on Xamarin.Forms. I use a ListView because I wanted to display a dynamically generated menu.
I use this in a PCL project.
SlideOverKit Version - <IP_ADDRESS>
Xamarin.Forms Version - <IP_ADDRESS>7436

I was able to fix it by adding the following code to SlidingMenuDroidRenderer.cs
public override bool OnInterceptTouchEvent(MotionEvent e)
{
if (_dragGesture == null)
return false;
MotionEventActions action = e.Action & MotionEventActions.Mask;
if (action == MotionEventActions.Down)
_dragGesture.DragBegin(e.RawX, e.RawY);
if (action == MotionEventActions.Move)
_dragGesture.DragMoving(e.RawX, e.RawY);
if (action == MotionEventActions.Up)
_dragGesture.DragFinished();
return false;
}
I am not sure if this is the correct way to fix this. Please let me know if you need any additional information on fixing this issue.