Receive error                                                                        Error booting VM: VmBoot(DeviceManager(VfioDmaMap(IommuDmaMap(Error(14)))))

Description
Starting a VM with 1 or 2 vfio devices results in the error                                                                        Error booting VM: VmBoot(DeviceManager(VfioDmaMap(IommuDmaMap(Error(14))))). I have done some basic debug and not found the root cause. I reinstalled debian 12.5 while keeping all binaries the same, and this error occurs. I am not sure how to further debug the problem. Any insight would be valued.
./chdebug \
	--kernel "${kernel_img}" \
        --disk path="${disk_img}" \
        path="${config_img}" \
	--cpus boot=4 \
        --memory "size=256G,hugepages=on,hugepage_size=2M" \
	--api-socket "${api_sock}" \
	--serial tty \
	--console pty \
        --net fd=3,mac=${mac} 3<>$"${tapdevice}" \
	-v \
	--vsock cid=3,socket="${vsock}" \
	--log-file "${log}" \
        --cmdline "rd.module_blacklist=nouveau,nvidiafb console=tty0 root=/dev/vda1 rw" \
       --device path="/sys/bus/pci/devices/0000:61:00.0"

sdake@beast-06:/usr/local/bin$ sudo driverctl list-overrides
[sudo] password for sdake:
0000:01:00.0 vfio-pci
0000:24:00.0 vfio-pci
0000:41:00.0 vfio-pci
0000:61:00.0 vfio-pci
0000:a1:00.0 vfio-pci

Platforms affected

[ ] Azure DevOps
[ ] GitHub Actions - Standard Runners
[ ] GitHub Actions - Larger Runners

Runner images affected

[ ] Ubuntu 20.04
[ ] Ubuntu 22.04
[ ] macOS 11
[ ] macOS 12
[ ] macOS 13
[ ] macOS 13 Arm64
[ ] macOS 14
[ ] macOS 14 Arm64
[ ] Windows Server 2019
[ ] Windows Server 2022

Image version and build link
I built my own image using packer: https://github.com/artificialwisdomai/origin/blob/main/platform/golden/run-bookworm.sh
Is it regression?
not sure
Expected behavior
boot into VM.
Actual behavior
VM fails to boot and reports an error.
I added some debug:
sdake@beast-06:/usr/local/bin$ bash wise-a40x2.sh
11: macvtap61@ens8f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 500
    link/ether c2:67:4f:53:29:61 brd ff:ff:ff:ff:ff:ff
[2024-05-09T20:28:51Z ERROR virtiofsd] Error creating pid file '/var/run/artificial_wisdom/61/virtiofs.sock.pid': Resource temporarily unavailable (os error 11)
Region Start Address: 0x0
Region Length:<PHONE_NUMBER>
Region Pointer Address: 0x7f58a8000000
Region Start Address: 0x100000000
Region Length:<PHONE_NUMBER>72
Region Pointer Address: 0x7f1968000000
Error booting VM: VmBoot(DeviceManager(VfioDmaMap(IommuDmaMap(Error(14)))))

Repro steps
Run command in this log. If anyone has insight into further debug steps or a workaround, would appreciate it.

Turning off 2MB pages seems to rectify the problem, although after setting 2MB pages, page size is 4096kb. Any insights?

To recap, I had 2MB page count of 96000. I allocated a VM of 256GB with 2MB shared. The VM does not have enough 2MB pages to start properly, and prints the difficult to diagnose error.

Hey @sdake, this repository contains code for windows/ubuntu/macos packer builds for Azure/VMware/Anka. Unfortunately, we will not be of much help in your case.
I saw you are using virtualbox-iso builder. https://github.com/hashicorp/packer-plugin-virtualbox might be a better place for such issues


Check for required keys

Bug report
I am trying to run an old Fortran para file. It hung at the prepare stage. I checked keys that were missing but were in the default cosmos config. After adding these:
ADDITIONAL_MAG
ADD_DUSTEM
EM_DISPERSION
EXTERNALZ_FILE
LIMITS_MAPP_CUT
LIMITS_MAPP_REF
LIMITS_MAPP_SEL
LIMITS_ZBIN
PDZ_OUT
PDZ_TYPE
RF_COLORS
RM_DISCREPANT_BD
VERBOSE
ZGRID_TYPE
Z_METHOD
With the default values it ran.
Should we have a list of required and allowed keys and a config checker?
Before submitting
Please check the following:

[x] I have described the situation in which the bug arose, including what code was executed, information about my environment, and any applicable data others will need to reproduce the problem.
[x] I have included available evidence of the unexpected behavior (including error messages, screenshots, and/or plots) as well as a descriprion of what I expected instead.
[x] If I have a solution in mind, I have provided an explanation and/or pseudocode and/or task list.

The code should not hang. Let's not wipe this under the rug by creating additional layers of code. How can one reproduce this behavior? And which is the parameter at the root of the problem?

import lephare as lp
config={'ADAPT_BAND': '6',
 'ADAPT_CONTEXT': '-1',
 'ADAPT_LIM': '17.5,22.5',
 'ADAPT_MODBIN': '0,2000',
 'ADAPT_ZBIN': '0.2,5',
 'ADD_EMLINES': 'YES',
 'AGE_RANGE': '0.,14.e9',
 'APPLY_SYSSHIFT': '0.05991,-0.22920,-0.08224,0.04400,0.01752,0.02375,-0.04355,0.27143,-0.00222,-0.00165,-0.06937,-0.00832,0.00000,0.00000,0.00000,0.00000,0.00000,0.00000,0.04685,0.04490,0.01923,0.01636,0.04057,0.08311,0.00945,-0.17312,-0.02210,0.01726,0.03319,-0.01975,0.00000,0.00000,0.00888,0.05750,-0.00681,0.00567,-0.04302,-0.16036,0.00000,0.00000,0.00000,0.00000,0.00000,0.00000,0.00000,0.00000,0.00000,0.19607,-0.03855',
 'APPLY_ZMAX': 'NO',
 'AUTO_ADAPT': 'NO',
 'BD_SCALE': '0',
 'CAT_FMT': 'MEME',
 'CAT_IN': 'bidon',
 'CAT_LINES': '-99,-99',
 'CAT_MAG': 'AB',
 'CAT_OUT': 'zphot.out',
 'CAT_TYPE': 'LONG',
 'CHI2_OUT': 'NO',
 'COL_NUM': '3',
 'COL_SEL': 'AND',
 'COL_SIGMA': '3',
 'COSMOLOGY': '70,0.3,0.7',
 'DZ_WIN': '0.25',
 'EBV_RANGE': '0,0.5',
 'EB_V': '0.,0.05,0.1,0.15,0.2,0.25,0.3,0.35,0.4',
 'EM_LINES': 'YES',
 'ERROR_ADAPT': 'NO',
 'ERR_FACTOR': '1.5',
 'ERR_SCALE': '0.01',
 'EXTINC_LAW': 'SMC_prevot.dat',
 'FAST_MODE': 'NO',
 'FILTER_CALIB': '0',
 'FILTER_FILE': 'filter_cosmos_OI.dat',
 'FILTER_LIST': 'cosmos/u_cfht.lowres,cosmos/B_subaru.lowres,cosmos/V_subaru.lowres',
 'FIR_CONT': '-1',
 'FIR_FREESCALE': 'YES',
 'FIR_LIB': 'NONE',
 'FIR_LMIN': '7.0',
 'FIR_SCALE': '-1',
 'FIR_SUBSTELLAR': 'NO',
 'FIT_PDFz': 'NO',
 'FORB_CONTEXT': '-1',
 'GAL_FSCALE': '1.',
 'GAL_LIB': 'LIBOI_GAL',
 'GAL_LIB_IN': 'LIBOI_GAL',
 'GAL_LIB_OUT': 'GALOI_SCOSMOS',
 'GAL_SED': 'examples/COSMOS_MOD.list',
 'GLB_CONTEXT': '-1',
 'INP_TYPE': 'M',
 'LIB_ASCII': 'YES',
 'MABS_CONTEXT': '-1',
 'MABS_FILT': '1,2,3,4',
 'MABS_METHOD': '1',
 'MABS_REF': '2',
 'MABS_ZBIN': '0,0.5,1,1.5,2,3,3.5,4',
 'MAGTYPE': 'AB',
 'MAG_ABS': '-24,-8',
 'MAG_REF': '2',
 'MIN_THRES': '0.05',
 'MOD_EXTINC': '1,30',
 'PARA_OUT': 'output.para',
 'PHYS_CONT': '-1',
 'PHYS_LIB': 'NONE',
 'PHYS_NMAX': '100000',
 'PHYS_SCALE': '-1',
 'QSO_FSCALE': '1',
 'QSO_LIB': 'LIB_QSO',
 'QSO_LIB_IN': 'LIB_QSO',
 'QSO_LIB_OUT': 'QSO_SCOSMOS',
 'QSO_SED': f'{lp.LEPHAREDIR}/sed/QSO/QSO_MOD.list',
 'SPEC_OUT': 'NO',
 'STAR_FSCALE': '3.432E-09',
 'STAR_LIB': 'LIB_SSTAR',
 'STAR_LIB_IN': 'LIB_SSTAR',
 'STAR_LIB_OUT': 'SSTAR_SCOSMOS',
 'STAR_SED': 'sed/STAR/STAR_MOD_ALL.list',
 'TRANS_TYPE': '1',
 'ZFIX': 'NO',
 'ZPHOTLIB': 'GALOI_SCOSMOS,STAR_SCOSMOS',
 'Z_INTERP': 'YES',
 'Z_RANGE': '0.025,7',
 'Z_STEP': '0.5,0.,7.',
 'FILTER_REP': f'{lp.LEPHAREDIR}/filt'}
lp.prepare(config)

Hangs on my system

I think it is hanging at the sedtolib GAL run.

in sedtolib.py you have the list of parameters used by sedtolib :
sedtolib_config_keys = [
    "GAL_SED",
    "GAL_FSCALE",
    "GAL_LIB",
    "SEL_AGE",
    "AGE_RANGE",
    "QSO_SED",
    "QSO_FSCALE",
    "QSO_LIB",
    "STAR_SED",
    "STAR_LIB",
    "STAR_FSCALE",
    "LIB_ASCII",
]

Was this solved? It does not seem to hang for me....

It is still hanging on my system for the QSO stage. It produces all the required outputs for stars and galaxies but takes a large amount of cpu for QSO and can not run the mag_gal stages. I am trying to narrow it down to create a minimal example to reproduce it on my machine...


First branch name not showing up

The branch name over the initial commit isn't showing up anymore

User thing, not a bug.


MasterPeakValue works for speakers but not for a microphone.

Hello,
First off, I'd like to thank Mark for this library.
I tried following the tutorial on this repository for implementing a recording level meter however a lot of it was confusing from a beginners point of view.
I followed this tutorial (https://www.youtube.com/watch?v=OVkd6xIWHDc) and it works well for seeing the audio level for speakers however it doesn't work for a microphone without opening up the recording devices window.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using NAudio.CoreAudioApi;

namespace projectname
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            MMDeviceEnumerator enumerator = new MMDeviceEnumerator();
            var devices = enumerator.EnumerateAudioEndPoints(DataFlow.All, DeviceState.Active);
            comboBox1.Items.AddRange(devices.ToArray());

        }

        private void timerAudioInput_Tick(object sender, EventArgs e)
        {
            if (comboBox1.SelectedItem != null)
            {
                var device = (MMDevice) comboBox1.SelectedItem;
                device.AudioEndpointVolume.Mute = false;
                richTextBox1.Text = device.AudioMeterInformation.MasterPeakValue.ToString();
                progressBar1.Value = (int)(Math.Round(device.AudioMeterInformation.MasterPeakValue * 100));

            }
        }
    }
}

The microphone audio meter will work when I open up recording devices Window (see this image for the program I mean https://www.wikihow.com/images/thumb/7/76/Record-Audio-on-a-PC-Step-1-Version-2.jpg/aid7017679-v4-728px-Record-Audio-on-a-PC-Step-1-Version-2.jpg)
I am using Windows 10 and have installed the library through NuGet
How can I make the code work for microphones, not just speakers?
Thank you very much for your help.

This is a known issue with this particular API - it only reports levels while you're actually capturing audio. You'd need to use WasapiCapture to start capturing audio (you can just ignore the DataAvailable callbacks) and I suspect this would start working.

Thank you Mark for your help.
I added a WaveIn recorder and it works now. I'm just not too sure where in the code I should call recorder.StartRecording();. It won't take up storage by recording, correct?
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using NAudio.CoreAudioApi;
using NAudio.Wave;

namespace projectname
{
    public partial class Form1 : Form
    {
        private WaveIn recorder;
        public Form1()
        {
            InitializeComponent();
            recorder = new WaveIn();
            recorder.StartRecording();
            MMDeviceEnumerator enumerator = new MMDeviceEnumerator();
            var devices = enumerator.EnumerateAudioEndPoints(DataFlow.All, DeviceState.Active);
            comboBox1.Items.AddRange(devices.ToArray());

        }

        private void timerAudioInput_Tick(object sender, EventArgs e)
        {
            if (comboBox1.SelectedItem != null)
            {
                var device = (MMDevice) comboBox1.SelectedItem;
                device.AudioEndpointVolume.Mute = false;
                richTextBox1.Text = device.AudioMeterInformation.MasterPeakValue.ToString();
                progressBar1.Value = (int)(Math.Round(device.AudioMeterInformation.MasterPeakValue * 100));

            }
        }
    }
}

Thank you for your help.

No, "recording" just means that we're monitoring the sound card, so nothing is getting written to disk


decorated the scroll bar

Decorated the scroll bar and Changed the behavior for scroll to top button.

#134 Modified the scroll bar to look a little better


Improve the design of the UI border

Currently, when you click a button or the input box, the surrounding blue border looks ugly and out of place

@CavalloneChen thanks for the report on this. The VS Code main team actually already filed a bug on us already to fix up the focus border.
https://github.com/microsoft/vscode-python/issues/9283
I'm going to close down this issue as it's a duplicate of the earlier one. Just follow that if you want to track a fix for this.


[SDK] Handle server connection limit

The implementation adds informing the user about the reached connection limit.
AC:

[ ] error handled
[ ] tests added and passed

PR https://github.com/opentensor/bittensor/pull/2553


docs: Add graphql-filter to list of middlewares

Is there a criterion of the awesome middlewares list?
Thank you for maintaining graphql-middleware.

Thank you for opening the PR and for making the library! ❤


Include sync version

Some environments necessitate synchronous functions, especially configs.  One example is the popular framework NextJS.  Please consider adding a tsImport.compileSync function.
Anyway, thank you for making this cool package 😄

On npm I've released 3.0.0-beta.1 version, which exports loadSync function (it contains breaking changes though).


Search bottom-up if a component is in a narrow modal navigator

Details
The problem with the previous implementation is that the useResponsiveLayout hook was checking globally if a narrow modal was being displayed (i.e: at the top of the global navigation stack). This resulted in components underneath the modal (such as those in the central pane navigator) updating shouldUseNarrowLayout to true when the modal opens.
This PR fixes that by having useResponsiveLayout check if the component calling it is a child of one of our narrow modal navigators. This is also simpler, because the navigation object from react-navigation handles recursively searching for parent navigators with a given ID.
Fixed Issues
$ https://github.com/Expensify/App/issues/43031
Tests / QA Steps

Sign into NewDot
Open Account Settings -> Profile.
Click on any form field, such as Status.
Verify that the right-hand pane modal opens, and the styles of the underlying central pane navigator does not change. On narrow screens, navigate back and verify that the styles on the Profile page did not change.

[x] Verify that no errors appear in the JS console

Offline tests
n/a

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari
https://github.com/Expensify/App/assets/47436092/bf6a90be-a2c2-490d-aea7-c8d14d727770
https://github.com/Expensify/App/assets/47436092/94b536b7-4f7c-4020-b3a8-a0458251f145

MacOS: Desktop

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.


Can you add an example for CloudPanel?

Description
Hi, I'm trying to setup a simple mail forwarding server for my cloudpanel instance + docker anonaddy.
I can login into the admin panel but any action like adding a custom domain results in an error: Unauthenticated.
Basically i tried with the docker compose example https://github.com/anonaddy/docker/tree/master/examples/compose
but yet something is missing... but I have no clue what 😎 Thanks!

   45 minutes ago   Up 39 minutes   3306/tcp                                                                                addy_db
1ecaa05c24d0   redis:4.0-alpine           "docker-entrypoint.s…"   55 minutes ago   Up 39 minutes   6379/tcp                                                                                addy_redis

Please try setting SANCTUM_STATEFUL_DOMAINS in your .env file to the value mentioned in this comment:
https://github.com/anonaddy/docker/issues/150#issuecomment-1202189682


TE "trailers" header incorrectly stripped from HTTP/2 requests

According to the HTTP/2 spec (https://http2.github.io/http2-spec/#rfc.section.<IP_ADDRESS>), connection-specific headers are not supposed to be in HTTP/2 messages, but a TE header is allowed for request messages as long as it only contains the value "trailers". hyper currently strips all connection-specific headers, including TE, regardless of whether the header is a TE "trailers" header belonging to an HTTP/2 request.

Yep, looks like hyper is being too eager here.


[Fallout 2d20] bug fixes + features

Submission Checklist
Required

[X] The pull request title clearly contains the name of the sheet I am editing.
[X] The pull request title clearly states the type of change I am submitting (New Sheet/New Feature/Bugfix/etc.).
[X] The pull request makes changes to files in only one sub-folder.
[X] The pull request does not contain changes to any json files in the translations folder (translation.json is permitted)

New Sheet Details

The name of this game is: <   >  (i.e. Dungeons & Dragons 5th Edition, The Dresden Files RPG)

The publisher of this game is: <   > (i.e. Wizards of the Coast, Evil Hat)

The name of this game system/family is: <   > (i.e. Dungeons & Dragons, FATE)

[X] I have followed the Character Sheets Standards when building this sheet.

[ ] This sheet has been made on behalf of, or by, the game's publisher.
[ ] This game is not a traditionally published game, but a copy of the game rules can be purchased/downloaded/found at: <   >
[ ] This sheet is for an unofficial fan game, modification to an existing game, or a homebrew system.

Changes / Description

Bug fix: top skill roll button includes mods in attributes
Increase combat dice to max of 20
Bug fix: npc creature tag skills not included in attack rolls (melee, guns)
Automate npc attack value updates when attributes and skills changed
Automate npc attack TN calculation from attribute + skill

Character Sheet Info Roll20 Internal Use only.


/env on client does not refresh from config server

With spring-cloud-config code as of 3 weeks ago, I am not able to get clients to get updated config server values (via updates to the backing git repo) using the actuator endpoint /env.  This applies to @ConfigurationProperties annotated classes and @Value annotated properties.   This seems in contradiction to the documentation which has the following:
POST to /env to update the Environment and rebind @ConfigurationProperties and log levels

have you tried /refresh?

Yes, /refresh works if the @RefreshScope annotation is used.

I think that there is a misunderstanding of what POST /env does then.  You should be using /refresh.

Thanks Spencer.  Perhaps the documentation needs to be clarified.  Seems POST /env only re-reads from local property sources.


[zh]"/zh/docs/tutorials/stateless-application/expose-external-ip-address" page is outdate.

This oupt is incorrect,the type should be LoadBalancer.Also zh-doc is outdate for this page.

ubuntu@master:~/website$  ./scripts/lsync.sh content/zh/docs/tutorials/stateless-application/expose-external-ip-address.md
diff --git a/content/en/docs/tutorials/stateless-application/expose-external-ip-address.md b/content/en/docs/tutorials/stateless-application/expose-external-ip-address.md
index 5babc2c0b..8368d2413 100644
--- a/content/en/docs/tutorials/stateless-application/expose-external-ip-address.md
+++ b/content/en/docs/tutorials/stateless-application/expose-external-ip-address.md
@@ -9,78 +9,73 @@ weight: 10
 This page shows how to create a Kubernetes Service object that exposes an
 external IP address.

-
-
-
 ## {{% heading "prerequisites" %}}

-
- * Install [kubectl](/docs/tasks/tools/install-kubectl/).
-
- * Use a cloud provider like Google Kubernetes Engine or Amazon Web Services to
- create a Kubernetes cluster. This tutorial creates an
- [external load balancer](/docs/tasks/access-application-cluster/create-external-load-balancer/),
- which requires a cloud provider.
-
- * Configure `kubectl` to communicate with your Kubernetes API server. For
- instructions, see the documentation for your cloud provider.
-
-
-
+* Install [kubectl](/docs/tasks/tools/install-kubectl/).
+* Use a cloud provider like Google Kubernetes Engine or Amazon Web Services to
+  create a Kubernetes cluster. This tutorial creates an
+  [external load balancer](/docs/tasks/access-application-cluster/create-external-load-balancer/),
+  which requires a cloud provider.
+* Configure `kubectl` to communicate with your Kubernetes API server. For instructions, see the
+  documentation for your cloud provider.

 ## {{% heading "objectives" %}}

-
 * Run five instances of a Hello World application.
 * Create a Service object that exposes an external IP address.
 * Use the Service object to access the running application.

-
-
-
 <!-- lessoncontent -->

 ## Creating a service for an application running in five pods

 1. Run a Hello World application in your cluster:

-{{< codenew file="service/load-balancer-example.yaml" >}}
-
-```shell
-kubectl apply -f https://k8s.io/examples/service/load-balancer-example.yaml
-```
-
+   {{< codenew file="service/load-balancer-example.yaml" >}}

-The preceding command creates a
-    {{< glossary_tooltip text="Deployment" term_id="deployment" >}}
-    and an associated
-    {{< glossary_tooltip term_id="replica-set" text="ReplicaSet" >}}.
-    The ReplicaSet has five
-    {{< glossary_tooltip text="Pods" term_id="pod" >}}
-    each of which runs the Hello World application.
+   ```shell
+   kubectl apply -f https://k8s.io/examples/service/load-balancer-example.yaml
+   ```
+   The preceding command creates a
+   {{< glossary_tooltip text="Deployment" term_id="deployment" >}}
+   and an associated
+   {{< glossary_tooltip term_id="replica-set" text="ReplicaSet" >}}.
+   The ReplicaSet has five
+   {{< glossary_tooltip text="Pods" term_id="pod" >}}
+   each of which runs the Hello World application.

 1. Display information about the Deployment:

-        kubectl get deployments hello-world
-        kubectl describe deployments hello-world
+    ```shell
+    kubectl get deployments hello-world
+    kubectl describe deployments hello-world
+    ```

 1. Display information about your ReplicaSet objects:

-        kubectl get replicasets
-        kubectl describe replicasets
+    ```shell
+    kubectl get replicasets
+    kubectl describe replicasets
+    ```

 1. Create a Service object that exposes the deployment:

-        kubectl expose deployment hello-world --type=LoadBalancer --name=my-service
+    ```shell
+    kubectl expose deployment hello-world --type=LoadBalancer --name=my-service
+    ```

 1. Display information about the Service:

-        kubectl get services my-service
+    ```shell
+    kubectl get services my-service
+    ```

-    The output is similar to this:
+    The output is similar to:

-        NAME         TYPE           CLUSTER-IP     EXTERNAL-IP      PORT(S)    AGE
-        my-service   LoadBalancer   <IP_ADDRESS>   <IP_ADDRESS>   8080/TCP   54s
+    ```console
+    NAME         TYPE           CLUSTER-IP     EXTERNAL-IP      PORT(S)    AGE
+    my-service   LoadBalancer   <IP_ADDRESS>   <IP_ADDRESS>   8080/TCP   54s
+    ```

     {{< note >}}

@@ -96,23 +91,27 @@ The preceding command creates a

 1. Display detailed information about the Service:

-        kubectl describe services my-service
-
-    The output is similar to this:
-
-        Name:           my-service
-        Namespace:      default
-        Labels:         app.kubernetes.io/name=load-balancer-example
-        Annotations:    <none>
-        Selector:       app.kubernetes.io/name=load-balancer-example
-        Type:           LoadBalancer
-        IP:             <IP_ADDRESS>
-        LoadBalancer Ingress:   <IP_ADDRESS>
-        Port:           <unset> 8080/TCP
-        NodePort:       <unset> 32377/TCP
-        Endpoints:      <IP_ADDRESS>:8080,<IP_ADDRESS>:8080,<IP_ADDRESS>:8080 + 2 more...
-        Session Affinity:   None
-        Events:         <none>
+    ```shell
+    kubectl describe services my-service
+    ```
+
+    The output is similar to:
+
+    ```console
+    Name:           my-service
+    Namespace:      default
+    Labels:         app.kubernetes.io/name=load-balancer-example
+    Annotations:    <none>
+    Selector:       app.kubernetes.io/name=load-balancer-example
+    Type:           LoadBalancer
+    IP:             <IP_ADDRESS>
+    LoadBalancer Ingress:   <IP_ADDRESS>
+    Port:           <unset> 8080/TCP
+    NodePort:       <unset> 32377/TCP
+    Endpoints:      <IP_ADDRESS>:8080,<IP_ADDRESS>:8080,<IP_ADDRESS>:8080 + 2 more...
+    Session Affinity:   None
+    Events:         <none>
+    ```

     Make a note of the external IP address (`LoadBalancer Ingress`) exposed by
     your service. In this example, the external IP address is <IP_ADDRESS>.
@@ -124,21 +123,27 @@ The preceding command creates a
    addresses of the pods that are running the Hello World application. To
    verify these are pod addresses, enter this command:

-        kubectl get pods --output=wide
+    ```shell
+    kubectl get pods --output=wide
+    ```

-    The output is similar to this:
+    The output is similar to:

-        NAME                         ...  IP         NODE
-        hello-world-2895499144-1jaz9 ...  <IP_ADDRESS>   gke-cluster-1-default-pool-e0b8d269-1afc
-        hello-world-2895499144-2e5uh ...  <IP_ADDRESS>   gke-cluster-1-default-pool-e0b8d269-1afc
-        hello-world-2895499144-9m4h1 ...  <IP_ADDRESS>   gke-cluster-1-default-pool-e0b8d269-5v7a
-        hello-world-2895499144-o4z13 ...  <IP_ADDRESS>   gke-cluster-1-default-pool-e0b8d269-1afc
-        hello-world-2895499144-segjf ...  <IP_ADDRESS>   gke-cluster-1-default-pool-e0b8d269-cpuc
+    ```console
+    NAME                         ...  IP         NODE
+    hello-world-2895499144-1jaz9 ...  <IP_ADDRESS>   gke-cluster-1-default-pool-e0b8d269-1afc
+    hello-world-2895499144-2e5uh ...  <IP_ADDRESS>   gke-cluster-1-default-pool-e0b8d269-1afc
+    hello-world-2895499144-9m4h1 ...  <IP_ADDRESS>   gke-cluster-1-default-pool-e0b8d269-5v7a
+    hello-world-2895499144-o4z13 ...  <IP_ADDRESS>   gke-cluster-1-default-pool-e0b8d269-1afc
+    hello-world-2895499144-segjf ...  <IP_ADDRESS>   gke-cluster-1-default-pool-e0b8d269-cpuc
+    ```

 1. Use the external IP address (`LoadBalancer Ingress`) to access the Hello
    World application:

-        curl http://<external-ip>:<port>
+    ```shell
+    curl http://<external-ip>:<port>
+    ```

     where `<external-ip>` is the external IP address (`LoadBalancer Ingress`)
     of your Service, and `<port>` is the value of `Port` in your Service
@@ -148,29 +153,26 @@ The preceding command creates a

     The response to a successful request is a hello message:

-        Hello Kubernetes!
-
-
-
+    ```shell
+    Hello Kubernetes!
+    ```

 ## {{% heading "cleanup" %}}

-
 To delete the Service, enter this command:

-    kubectl delete services my-service
+```shell
+kubectl delete services my-service
+```

 To delete the Deployment, the ReplicaSet, and the Pods that are running
 the Hello World application, enter this command:

-    kubectl delete deployment hello-world
-
-
-
+```shell
+kubectl delete deployment hello-world
+```

 ## {{% heading "whatsnext" %}}

-
 Learn more about
 [connecting applications with services](/docs/concepts/services-networking/connect-applications-service/).
-

/hold

/hold

/unhold

/unhold

/assign @tengqm

/assign @tengqm

/lgtm

/lgtm


[REFAC] - Standardise Organisation controllers

As part of the standardisation of the reconciliation loop for Greenhouse controllers, these controllers need to be updated to follow the common recommendation for the Reconciliation. This includes DexController, OrganizationController, RBACController, ServiceProxyController, TeamRoleSeederController.
It is not required to consolidate these controllers at this point.
Acceptance Criteria

[ ] Implement the Interface
[ ] Use the standardised patch for updating the status instead of the deferred update (if applicable)
[ ] Convert the tests to use test.TestSetup (if applicable) including creation of missing resources

possible duplication: https://github.com/cloudoperators/greenhouse/issues/414


Relations query is not working correctly

Relations query is not working correctly.
Moreover, it occurred after about October 22.

For example,
PFQuery * query = [PFQuery queryWithClassName: @ "sample"];
[Query includeKey: @ "user"];
PFQuery * user = [PFQuery queryWithClassName: @ "_ User"];
[User whereKey: @ "logoutFlag" notEqualTo:YES];
[Query whereKey: @ "user" matchesQuery: user];
In this case, then it has returned even if logoutFlag is YES, sometimes it is not.
But,
 [User whereKey: @ "sampleFlag" equalTo:YES];
Such as, if you search at all to suit a different flag,
logoutFlag also been returned correctly.

For example,
PFQuery * query = [PFQuery queryWithClassName: @ "sample"];
[Query includeKey: @ "user"];
PFQuery * user = [PFQuery queryWithClassName: @ "_ User"];
[User whereKey: @ "logoutFlag" notEqualTo:YES];
[User whereKey: @ "sampleFlag" equalTo:YES];
[Query whereKey: @ "user" matchesQuery: user];
They are not necessarily applicable to all,
It applies to the data of some of _User.
Then, the data of the portion of _User is
At first glance nothing missing strange part.
All you do not know the cause.
Thank you for your attention.

I think that limit 1000 is the cause.
I think that it is trying to improve with the investigation.


Write a Ruby program to convert seconds to minutes

Description
Write a Ruby program to convert seconds to minutes
1 minute = 60 seconds
Input  : 300
Output : 5

How to contribute

Save the solution in ConvertSecondsToMinutes.rb file
Add ConvertSecondsToMinutes.rb file in convert-seconds-to-minutes folder

!assign


Research brouter app

Questions to answer:

[ ] Is it worth integrating with the Android app?
[x] What benefits will be provided by integrating?
[x] How likely are Trail Sense users to also use brouter?
[ ] What does the integration look like?
[ ] How much effort is the integration?
[ ] Can I take inspiration instead for new features rather than delegating?
[ ] Is this better to just recommend as a companion app?

Some Hiking app integrating brouter that users of Trail-Sense may already use:

OsmAnd : One of the most complete and configurable offline map and navigation app. (open source)
OruxMaps: navigation app focused on outdoors activities (proprietary, free)
Locus: another navigation app focused on hiking, biking, or geocaching (proprietary, free)
AlpineQuest : my personal favorite hiking app. Lots of features, light and battery efficient (use multiple raster tile maps provider instead of vector maps), and offline (proprietary, paid version)
All-In-One Offline Maps : free version of AlpineQuest (proprietary, free)
Cruiser: offline navigation app (open source)
cgeo: famous Android geocaching app (open source)

@damianofalcioni thank you for the research!

Don't the data files for brouter take a ton of space? If you already have them downloaded for a different reason, I guess that's great.

Don't the data files for brouter take a ton of space? If you already have them downloaded for a different reason, I guess that's great.

Yes, as you see in my previous posts there are some famous hiking apps integrating brouter, that Trail-Sense users may potentially have and compared to osm or other vectorial maps they are really light! (consider the full Grece is 40mb, but on average is around 100mb for an area of 5*5-degree square).

What does the integration look like:
Here the main code used by OSMAnd for the integration of brouter:

Interface IBRouterService.aidl
binding BRouterServiceConnection.java
usage function returning the gpx or kml findBROUTERRoute

Hope this help

I am not planning to add this myself - but if someone would like to implement this feature and submit a PR I will likely accept it. Just be sure to answer the questions in the description of this issue and demonstrate it working (preferably add it to the user guide).


Does this have any integration with Retrofit?

No, not integrated with retrofit.
If you want to contribute, it would be a great help!


Remove .NET Core install docs for EOL distros

https://github.com/dotnet/runtime/issues/34043
https://github.com/dotnet/release/issues/331 (private repo)
@NikolaMilosavljevic @dleeapho

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

ID: 172f0b88-61f2-d631-478f-e88af9be1f7d
Version Independent ID: c610685f-57a2-048d-8dfa-146e19943434
Content: Install .NET Core on Ubuntu 19.04 package manager - .NET Core
Content Source: docs/core/install/linux-package-manager-ubuntu-1904.md
Product: dotnet-core
GitHub Login: @Thraka
Microsoft Alias: adegeo

After an email chain, we're deciding to do the following regarding the distros to preserve information for those who need it:

Add an overview article for all of the distros. This will be the landing page for linux package managers. This page only ever lists the current supported versions.
Add an "Archived" TOC level that groups all distros that are EOL.
The main TOC will only include active distros.
The archived package managers will have a header indicating the last supported version at the time of archival and that the distro is EOL and no longer supported.

It might be interesting to compare that vs. the Ubuntu EOL page: https://endoflife.software/operating-systems/linux/ubuntu

A difference from the plan above is that they have "Current releases" and "All releases", rather than "Current" and "Archived". Perhaps this is useful to figure out what the next-lowest supported distro is, so when you run an EOL distro intentionally, you can figure out what's most likely to be compatible. (I don't know if this is realistic, or worth changing the plan for--and maybe it doesn't make sense in a TOC context, anyway.)

@dagood TOC wise, we can't really do that. What about "Unsupported EOL"? Or perhaps some variation on that?

I have no objection to "Archived" or "Unsupported EOL" (well, I guess the latter might be a little on the wordy side), not really concerned about the label clarity. I'm just wondering if it'd make sense to show supported versions inline with EOL versions to make migration easier--but if it's impossible, doesn't seem like the end of the world.

We can't do any coloring or anything like that. We COULD use ✔ and ❌  though

@dagood @rbhanda @leecow Some further thoughts on this.
In addition to my suggestions above, what about combining individual articles into distro family articles? This way you just go to SLES or Ubuntu when you want instructions for that specific distro.
We might be able to do a nice switcher, tab, pane on the top to then break it down by specific version of the distro.
This is what it currently looks like. It's big, and may be getting bigger as time goes on.

That sounds good to me. The challenge there will be making sure people notice the version selector well enough--not sure if 1 click vs. 2 clicks will change this a whole lot, but something to consider.
(Getting it wrong for RPMs is likely to block the install because we usually need to publish a unique one per distro-version to get the dependencies lined up. For Debian packages, it won't block the install, but if the feed goes out of support they might end up insecure in the future. (E.g. they use Ubuntu 20.04 (LTS) and use the 20.10 feed, they'll eventually be on a supported distro but attached to a repository that won't get any more updates.))

Getting it wrong for RPMs is likely to block the install because we usually need to publish a unique one per distro-version to get the dependencies lined up.

The current Fedora repo file for the Microsoft repo looks like this:
[packages-microsoft-com-prod]
name=packages-microsoft-com-prod
baseurl=https://packages.microsoft.com/fedora/31/prod/
enabled=1
gpgcheck=1
gpgkey=https://packages.microsoft.com/keys/microsoft.asc

These repo files can use some variables, like  $releasever to make them more generic:
[packages-microsoft-com-prod]
name=packages-microsoft-com-prod
baseurl=https://packages.microsoft.com/fedora/$releasever/prod/
enabled=1
gpgcheck=1
gpgkey=https://packages.microsoft.com/keys/microsoft.asc

That might help fix this "I selected the wrong version of the Distro" for RPM-repositories.


Upgrade Helm to v3.4.0+

[ ] get-requirements.yaml
[ ] README.md
[ ] pipeline/Dockerfile
more?

Required for ...


RD2: Prevent Refresh Opportunities when enhanced RDs are enabled

Prevent Refresh Opportunities functionality to execute when enhanced Recurring Donations are enabled.
Critical Changes
Changes
Issues Closed
Community Ideas Delivered
New Metadata
Apex Class:

RD_AddDonationsBTN_TEST

Custom Label:

RD_ErrorAddDonationLimitedToLegacyMode

Deleted Metadata

**lurch: attach W-039280

Tracking W-039280

@rponti-sforg , the PR is ready for testing.

I checked the Robot failures and although they are not listed as "non-critical" they aren't related to the work in this PR, so merging this PR per discussion with @rponti-sforg earlier today that his testing was complete and this PR can be merged once builds finish.

QE testing is now complete for this PR and associated WI.  Based on WI description, ACs, and PR comments, tests have passed.
For further testing details, see:
https://foundation.lightning.force.com/lightning/r/agf__ADM_Work__c/a2x1E000001HrusQAC/view
https://salesforce.quip.com/68vtAlQ3IJ9I
PR has been merged.  Post merge builds have passed, except for known, wide spread, Robot test failures.  These will be forwarded to appropriate QE automation resource(s).

I checked the Robot failures and although they are not listed as "non-critical" they aren't related to the work in this PR, so merging this PR per discussion with @rponti-sforg earlier today that his testing was complete and this PR can be merged once builds finish.

Thank @heidmary for your help.  Appreciate it.


[FAB] Button cut off on the bottom side

Dear,
I am using the FAB currently in my project but I noticed that there is something strange (probably with the shadow ) with the button.
It seems that the bottom side of the button is somehow cut off.
Is there a way to solve this or is there something happening with the rendering?
With shadow:

Without shadow:

Hope somebody can help me fix this problem.

Yeah only happens on android I see, just need some margin on the bottom I think.

@HofmannZ Where should I put this margin than ? Because if I put it on the outside of the container I still get the same problem only the button somewhat higher. So I don't know how I can put margin on the inner container (so to say).

The styles on the FAB would look something like this: { container: { marginBottom: 16 }. You can change the margin to anything you like, I know 16 works pretty good for us. I'm opening a PR soon Because it seems to be a little bug.

Thanks a lot @HofmannZ I used { container: { marginBottom: 2 } and that looks pretty good now 👍 Is there a way to compensate for this change . Because this moves the button 2 dp up @HofmannZ  :)

You could translate the FAB with 2 dp ex.
{
  container: {
    transform: [{
      traslateY: -2,
    }],
  },
}

I hope that helps you out 🤙🏼

This one is fixed, but we still need to redesign ActionButton ...


feat: add Input

You need to write a nice description before publishing on the Slack channel. I will close this pull request and you can reopen after something gets written. But I will also leave some points to be addressed on the code.

Input mask implementation should be handled by the user of the design system and not by the library itself. The user must decide which implementation is best for him.
There's is not enough tests. I could only see one test. And it's testing implementation details.
The typing could be a lot better, there's even a property with type any. Take a look at the Material-UI typing to see how it could be typed.


Incorrect word used... pls fix

"the" used instead of "then"
"If you cannot move files outside, the ensure that all the files are not loaded along with home page"
should be
"If you cannot move files outside, then ensure that all the files are not loaded along with home page"

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

ID: 7bb68e1d-5c5a-fe4d-bfe0-324744299f6f
Version Independent ID: c8b2432d-a350-824c-222b-cd8911d1af8b
Content: Frequently asked questions - Power Apps
Content Source: powerapps-docs/maker/portals/faq.md
Service: powerapps
GitHub Login: @tapanm-MSFT
Microsoft Alias: tapanm

Thank you for the feedback. The content is being updated. Please allow some time to reflect the changes.


training upstrean and castom downstream task using pretrained upstream model (mockingjay)

Hi,
I would like to train the pre-trained Mockingjay upstream with a custom downstream task and a custom loss function. I don't see any instructions on how to do it in the readme.
pre-trained Mockingjay model is: states-1000000.ckpt
downloaded from 'https://www.dropbox.com/s/7f9z6dzc7oix6qv/states-1000000.ckpt?dl=0'
I tried to train the following model with no success:
class Model(nn.Module):
    def __init__(self, modelPath, device=None, **kwargs):
        super(Model, self).__init__()

        # init attributes
        if device is None:
            self.device = "cuda" if torch.cuda.is_available() else "cpu"
        else:
            self.device = device

        try:
            self.Upstream_local = getattr(importlib.import_module('hubconf'), 'mockingjay_local')
            self.MJ = self.Upstream_local(ckpt=modelPath).to(self.device)
        except:
            raise ValueError(f'The path {modelPath} is not a valid checkpoint!')

        # self.Upstream = getattr(importlib.import_module('hubconf'), 'mockingjay_default')
        # self.dimMatchTech = self.__getDimMatch__(dimMatch='mean')
        self.fc1 = nn.Linear(1536, 1536).to(self.device)
        self.fc2 = nn.Linear(1536, 1536).to(self.device)
        # self.lstm = nn.LSTM(3, 1)
        # self.upstream_model = self.Upstream(refresh=refreshModel).to(device)
        # self.upstream_model = self.Upstream(refresh=True)

    def forward(self, x):

        # upstream:
        x = self.MJ(x)
        x = x[0]

        x = self.time_pool(x)

        x = self.fc1(x)
        x = self.fc2(x)

        return x

    def time_pool(self, x):
        mean, std = torch.mean(x, dim=0), torch.std(x, dim=0)
        return torch.cat((mean, std), dim=0)

my loss function:
     def triplet_loss(self, distances, anchors, positives, negatives):
        """Compute triplet loss
        Parameters
        ----------
        distances : torch.Tensor
            Condensed matrix of pairwise distances.
        anchors, positives, negatives : list of int
            Triplets indices.
        Returns
        -------
        loss : torch.Tensor
            Triplet loss.
        """

        # estimate total number of embeddings from pdist shape
        n = int(0.5 * (1 + np.sqrt(1 + 8 * len(distances))))

        # convert indices from squared matrix
        # to condensed matrix referential
        pos = self.to_condensed(n, anchors, positives)
        neg = self.to_condensed(n, anchors, negatives)

        # compute raw triplet loss (no margin, no clamping)
        # the lower, the better
        delta = distances[pos] - distances[neg]

        # clamp triplet loss
        if self.clamp == "positive":
            loss = torch.clamp(delta + self.margin_, min=0)

        elif self.clamp == "softmargin":
            loss = torch.log1p(torch.exp(delta))

        elif self.clamp == "sigmoid":
            # TODO. tune this "10" hyperparameter
            # TODO. log-sigmoid
            loss = torch.sigmoid(10 * (delta + self.margin_))

        return loss

can you please help me and all of us want to take advantage of your amazing work through this example on how to use custom downstream?
Thanks

sorry for the delay, it worked! :)


Symbol rename treats classes and modules differently

Input
→ View on sorbet.run
# typed: true
module Base
  # does not contain method foo
end

module BaseWithMethod
  include Base
  def foo
  end
end

class A
  include BaseWithMethod
  def foo
#     ^ apply-rename: [A] newName: bar
  end
end

class B
  include BaseWithMethod
  def foo
  end
end

class C
  include Base
  def foo
    # this one should not be renamed!
  end
end

A.new.bar

Observed output
Using sorbet.run to apply the indicated rename, the output becomes
# typed: true
module Base
  # does not contain method foo
end

module BaseWithMethod
  include Base
  def foo
  end
end

class A
  include BaseWithMethod
  def bar
#     ^ apply-rename: [A] newName: bar
  end
end

class B
  include BaseWithMethod
  def foo
  end
end

class C
  include Base
  def foo
    # this one should not be renamed!
  end
end

A.new.bar

Here is the diff between the original and changed:
--- before.rb   2020-11-15 21:10:18.506309379 -0800
+++ after.rb    2020-11-15 21:10:29.602258972 -0800
@@ -11,7 +11,7 @@

 class A
   include BaseWithMethod
-  def foo
+  def bar
 #     ^ apply-rename: [A] newName: bar
   end
 end
@@ -29,4 +29,4 @@
   end
 end

-A.new.foo
+A.new.bar

Expected behavior

There is no reason why modules should be treated differently from classes.
There is an existing test that shows how classes behave:
https://github.com/sorbet/sorbet/blob/2d6dde035288dda97015a53ee03ea8fd1c99f2e4/test/testdata/lsp/rename/method_class_hierarchy.rb

cc @soam-stripe

I think this is resolved by https://github.com/sorbet/sorbet/pull/3747

Yup, your change should resolve this!


nushell: add module

Description
Add module for https://github.com/nushell/nushell
Checklist

[x] Change is backwards compatible.

[x] Code formatted with ./format.

[x] Code tested through nix-shell --pure tests -A run.all.

[x] Test cases updated/added. See example.

[x] Commit messages are formatted like
{component}: {description}

{long description}

See CONTRIBUTING for more information and recent commit messages for examples.

If this PR adds a new module

[x] Added myself as module maintainer. See example.

[x] Added myself and the module files to .github/CODEOWNERS.

nushell 0.16 is in nixos-unstable (already in nixpkgs-channels) so it should be ready for merge.

tried locally and overall this looks ok but I got this issue
Welcome to Nushell 0.16.0 (type 'help' for more info)error: ls unexpected -l  ┌─ shell:1:19
  │
1 │ alias ll [] { ls -l }
  │                   ^ unexpected flag (try ls -h)

I suspect it's due to one of my alias using an ls option unsupported by nushell ?

just tested and seems like it. Also even though I am not fond of the feature, we usually add new modules in news.nix, could you add an entry for your module please ?

I suspect it's due to one of my alias using an ls option unsupported by nushell ?

Oops, I just assumed, that ls -l exists in nu. Corrected this with alias la [] { ls -a } instead.
And added an entry to news.nix


Add sign out to the github management page.

Github UI needs the signout button too (in addition to the settings)
Screenshots

where should it go?


Change password API

closes #17
To test:
POST /change-password
userId: 123
oldPassword: "ewlwwe"
newPassword: iwerhs"

Also can we add this to the readme (part of https://github.com/Tbaut/hasura-auth/issues/28)

In my tests I had:

heavy_check_mark use same password

curl --header "Content-Type: application/json" \
  --request POST \
  --data '{"userId":"xyzxyz","newPassword":"xyzxyz", "oldPassword":"xyzxyz"}' \
  --cookie-jar ./cookies \
  http://localhost:8010/change-password
{
  "message": "Old password cannot be same as new password",
  "type": "UnknownError",
  "data": {}
}

heavy_check_mark  use a wrong userId

curl --header "Content-Type: application/json" \
  --request POST \
  --data '{"userId":"xyzxyz","newPassword":"xyzxyz", "oldPassword":"xyzxyzxyz"}' \
  --cookie-jar ./cookies \
  http://localhost:8010/change-password
{
  "message": "select \"users\".* from \"users\" where \"id\" = $1 - invalid input syntax for type integer: \"xyzxyz\"",
  "type": "UnknownError",
  "data": {}
}

heavy_multiplication_x using the right userId:

curl --header "Content-Type: application/json" \
  --request POST \
  --data '{"userId":1,"newPassword":"xyzxyz", "oldPassword":"xyzxyzxyz"}' \
  --cookie-jar ./cookies \
  http://localhost:8010/change-password

I get the following error:

TypeError: Cannot read property 'message' of undefined
at new DBError (/home/thib/Playground/hasura-auth/auth-server/node_modules/db-errors/lib/errors/DBError.js:6:28)
at new DataError (/home/thib/Playground/hasura-auth/auth-server/node_modules/db-errors/lib/errors/DataError.js:5:1)
at AuthService.ChangePassword (/home/thib/Playground/hasura-auth/auth-server/build/src/services/auth.js:87:19)

fixed. we need to think about different kind of errors

Also can we add this to the readme (part of #28)

done

Anything else needed here? i want to merge this before moving to graphql


below: 0.7.1 -> 0.8.1

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/project/below/versions.
meta.description for below is: A time traveling resource monitor for modern Linux systems
meta.homepage for below is: https://github.com/facebookincubator/below
Updates performed

Rust version update

To inspect upstream changes

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.8.1 with grep in /nix/store/yzwdcwk8c90xvmjbsd3pikx9apm9bgfh-below-0.8.1
found 0.8.1 in filename of file in /nix/store/yzwdcwk8c90xvmjbsd3pikx9apm9bgfh-below-0.8.1

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

below

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/yzwdcwk8c90xvmjbsd3pikx9apm9bgfh-below-0.8.1 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A below https://github.com/r-ryantm/nixpkgs/archive/f031bed2ef9da2a71420c5ff5ddc40d1369aa507.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/f031bed2ef9da2a71420c5ff5ddc40d1369aa507#below

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/yzwdcwk8c90xvmjbsd3pikx9apm9bgfh-below-0.8.1
ls -la /nix/store/yzwdcwk8c90xvmjbsd3pikx9apm9bgfh-below-0.8.1/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review --extra-nixpkgs-config '{ allowInsecurePredicate = x: true; }' run on x86_64-linux 1

1 package built:

below

Maintainer pings
cc @globin for testing.

Result of nixpkgs-review pr 307613 run on x86_64-linux 1

1 package built:

below


Remove useWindow

Because useWindow is removed from the index, it also needs to be removed here.

By the way, I can't use beta version<EMAIL_ADDRESS>in my vue3 project,  I followed the getting started tutorial but my screen is blank. Can you provide a vue3 project demo, not like examples, but an independent project that installs vue-flow beta version through npm. Thanks!

@littlesmilelove Thanks for the PR, though this has already been changed in another PR (see #40), so this is sadly a duplicate.
Regarding your question using 0.4.0 - Here's a sandbox
If you're still experiencing issues setting up Vue Flow, please open an issue detailing what exactly isn't working :)
Thanks!

@bcakmakoglu  Thank you for your help!


Question about RBAC Build-in Role Website Contributor

RBAC : Build-in Role
Website Contributor  describes

Lets you manage websites (not web plans), but not access to them.

I think Website Contributor can access and write/update application.

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

ID: 99581afb-7950-6daa-7227-055d04446b7e
Version Independent ID: f1a5bf89-9e54-aede-3a9a-70788a95927b
Content: Azure built-in roles - Azure RBAC
Content Source: articles/role-based-access-control/built-in-roles.md
Service: role-based-access-control
GitHub Login: @rolyon
Microsoft Alias: rolyon

@georgeOsdDev ,
Thanks for reaching out.
Yes, you are right. The Website Contributor Can manage websites but not the web plans to which they are connected. In addition to that every Contributor role in Azure can create and manage resources except access. For an example: if you are Virtual Machine Contributor then you can manage virtual machines, but not access to the virtual network or storage account they're connected to.
Therefore, with Website Contributor role, you can access site and write/update application. Hope this helps.

Hi @ssivas
Thank you for feedback.
App Service is provided with Scale Unit. So each individual servers are hidden from user even if user have Owner roll.
https://docs.microsoft.com/en-us/archive/msdn-magazine/2017/february/azure-inside-the-azure-app-service-architecture#what-is-an-app-service-scale-unit
Azure portal offers Console blade and Advanced Tools (Kudu) blade instead of direct server access.
And we can use these two tools even if as Website Contributor.
Kudu console requires microsoft.web/sites/publish/action and  Website Contributor contains it.
https://github.com/projectkudu/kudu/wiki/Accessing-the-kudu-service#security
So I think but not access to them.  is little bit confusing.


String aug

This PR contains modules to produce adversarial string examples. It should run before training to generate examples that are hard for the classifier to recognize. It is based on the existing version of OccCANINE.
adversarial_occupations.py contains generate_adversarial_wrapper, translated_strings_wrapper and generate_random_strings_wrapper.
generate_adversarial_wrapper augments training data strings until OccCANINE fails to classify correctly and returns these strings.
translated_strings_wrapper translates all data into all languages based on proportions in the training data provided.
generate_random_strings_wrapper generates random strings, which by definition have the label -1
This PR also contains produce_augmented_training_data.py which is a CLI which runs all of this with sensible default parameters. Estimated runtime is ~3 days.
Included in this PR is also put_occ_in_sentence.py, which is experimental and should be further developed or deleted.

Following BDAD speed tests, decision was made to double the number of samples we produce. Estimated run-time (parallelizing across 3x GPUs) around 24h.
Added note on installation of SentencePiece, which is required to run the translation modules.


need ES6 gulpfile example

the docs here need an example that shows how to use ES6 features like import/export and async in a gulpfile.
there's too much obsolete information scattered about, and having an out-of-date example in this repo's README doesn't help. @

If you had spent just enough time to scroll down you would have noticed this in the readme.
https://github.com/gulpjs/gulp#use-latest-javascript-version-in-your-gulpfile
The readme is not obsolete.

yeah, the babel stuff doesn't support async, and the 'esm' comment is entirely unhelpful.

Hey @Spongman! Sorry that you were encountering out-of-date information, but that's going to be a problem with any sufficiently-old technology you are working with. We strive to keep the official documentation on our website (https://gulpjs.com) up-to-date but we don't really have control over StackOverflow or old information in issues.
New versions of node support async/await syntax, so you should probably just upgrade your version of node. For import/export syntax, you should review this section of our docs: https://gulpjs.com/docs/en/getting-started/javascript-and-gulpfiles#transpilation


Remove mock-touch-interactions.js

No need in this copy-pasted tool anymore since https://github.com/PolymerElements/iron-test-helpers/pull/72 and https://github.com/PolymerElements/iron-test-helpers/releases/tag/v1.4.0

This change is

Build is failing, waiting for https://github.com/PolymerElements/iron-test-helpers/pull/77 to be merged

https://github.com/PolymerElements/iron-test-helpers/pull/77 is finally merged and included in https://github.com/PolymerElements/iron-test-helpers/releases/tag/v1.4.1


Model name cannot pass to GemmaLocalHF from langchain_google_vertexai

When using langchain_google_vertexai to call the Gemma model, it is found that the model name cannot be passed to the function.
from langchain_google_vertexai import GemmaLocalHF

llm = GemmaLocalHF(model_name="google/gemma-1.1-2b-it", hf_access_token="XXX")

Error message:
OSError: gemma_2b_en is not a local folder and is not a valid model identifier listed on 'https://huggingface.co/models'
If this is a private repository, make sure to pass a token having permission to this repo either by logging in with `huggingface-cli login` or by passing `token=<your_token>`

While tracing the error, it was discovered that the following code is missing in the _GemmaLocalHFBase class. The root cause is the model_name is validated with pydantic.
class Config:
        """Configuration for this pydantic object."""
        allow_population_by_field_name = True

Minimum code to reproduce:
from langchain_core.pydantic_v1 import BaseModel, Field, root_validator

class Test1(BaseModel):
    model_name: str = Field(default="gemma_2b_en", alias="model")

output1 = Test1(model_name = "google/gemma-1.1-2b-it")
print(output1) #Fail

class Test2(BaseModel):
    model_name: str = Field(default="gemma_2b_en", alias="model")
    class Config:
        """Configuration for this pydantic object."""
        allow_population_by_field_name = True

output2 = Test2(model_name = "google/gemma-1.1-2b-it")
print(output2) #Correct

And, I would like to point out that there are no 'gemma_2b_en' model in huggingface. Maybe the name is changed
Happy to submit a PR on this.

Close


Has  infinite scroll and pull to refresh?

If the answer is YES. Anyone can give me an example?

I believe the answer is NO :disappointed:
Possible duplicate of: #121 ?

OMG It is a basic component :S

Which is open source and available for improvement!

It does have infinite scrolling (look at the data source code) but a refresh control is separate. ++@colinramsay, it's all open source so build what you need.

IIRC, refreshControl is somewhat tricky to get working correctly outside of a UITableViewController.

Please see #502 for pull to request

Pull to refresh https://gist.github.com/jsdf/6930c0211e0dc5bf0227

Is it correct to use the event onEndReached for infinite scroll? I don't like because I need to have an array in js memory. :S

If I use this onEndReached in iOS simulator works great but in iPhone 4 the scroll sometimes causes a lazy/strange effect. It is posible a memory problem?
Look this video with simulator iphone 4S iOS 7.1:
https://www.dropbox.com/s/101lfqwc0da9bir/VID_20150401_142655.mp4?dl=0
And this with physical iphone 4 iOS 7.1:
https://www.dropbox.com/s/ni8nwy5vxqbe58t/VID_20150401_144523.mp4?dl=0
My code is the following:
Could you reopen the issue?

@danicomas check it out, it may help you https://github.com/facebook/react-native/issues/499

+1 , @danicomas  I also found the problem. and did you fix it  ?

I have been disconnected in React the last month I can't help you sorry @bluemsn but I will try soon.

I'm late to this, but it may help others, I created a demo project for pull-to-refresh and endless scrolling here https://github.com/CodeLinkIO/ReactNative-Endless-Scrolling

https://facebook.github.io/react-native/docs/refreshcontrol.html


Bluelink: add wakeup and rework refresh logic

I had the problem recently that EVCC configured with my Hyundai Kona somehow got me soft-banned from Bluelink. Even after shutting doing EVCC the car would never respond. I 'fixed' this by switching the car into bluelink-offline-mode and back again.
I know this is hard to reproduce, but I was however able to get EVCC into a state where it would hit the Bluelink API every 10s and get a 503 back, not good... However I think this only happens after a broken login.
I looked at the bluelink code and tried to figure out what was going on. However the code wasn't really clear maybe there is some edge case it misses.
So in this PR I rewrote the update logic to ensue that EVCC will not query the Bluelink API more than twice (one for the unforced and one for the forced status update) in 15 minutes (with default cache timeout).
Also I added the Wakeup/Resurrector interface as I noticed, that forcing the update will wake my Kona up (faster). The Kona usually also starts charging 10-20 min after enabling the wallbox, but this should make it a bit quicker.

I know this is hard to reproduce, but I was however able to get EVCC into a state where it would hit the Bluelink API every 10s and get a 503 back, not good... However I think this only happens after a broken login.

Definitely not good.
I must confess that I don't like this PR though as the implementation is now completely different from all other vehicles. I don't see a particular reason for not using provider.Cached()? That will always and unconditionally return the last status für the next 15 minutes. That said I think the fix (and I'm sure there needs to be one here from what you're subscribing) should be with what happens when the cached result is not being used.
Is there any chance to make a less invasive PR that keeps using the cached provider? With the current version- even if correct- I wouldn't feel comfortable taking up future maintenance :/

I don't see a particular reason for not using provider.Cached()?

That was a deliberate choice because the Bluelink API just does not fit the usecase:

We want to be able to force an update at any time for the Resurrector wakeup. Ok, I choose v.cacheExpiry for the minimal wakeup interval, but it might better to use a completely different constant for that. And reduce the value to like 5 min. Currently it's 15 min, where the car might already be asleep again. Additionally you can and should put the response of the wakeup call into the cached state (which is not possible with provider.Cached) to reduce API usage.
The two API calls forceStatusUpdate and fetchServerStatus (the inner names api.StatusPartial and api.StatusLatest don't really fit) are just too intermingled. If there was a forceStatusUpdate in the last N interval there is just no need to use fetchServerStatus cause it will most likely (if there wasn't another third party update) return the same result. On the other side you should always do a fetchServerStatus before a forceStatusUpdate to not needlessly wakeup the car.
Then again location and odometer queries never should trigger a forceStatusUpdate cause it does not even update them.

I don't see how you implement these requirements with provider.Cached()?

I don't see how you would implement these requirements with provider.Cached()?

Check out https://github.com/evcc-io/evcc/pull/5836 and the use of provider.ResettableCached. Please don't get me wrong- I'm very happy with contributors diving into the sources. We still need to maintain some level of conformity to keep maintenance under control.

I know how provider.ResettableCached works. I was the one who fixed them last time #5782. 😉
That wouldn't help since resetting a cache doesn't help in putting a value into the cache or checking the presence of the cache value.
I also should ask: Has there ever been a report that the Bluelink API is missing the PIN code, which you have to enter every 10 min in the App? Maybe after 1 day or so the Access Token does not work anymore and you have to use the PIN (how Bluelinky does it). That would explain why this bug is so hard to debug, since each time you restart EVCC it logs in again effectively creating a new device for the API Server giving again one day of PIN free API usage. 🤔
On that same page, in my personal opinion it would be much better if we would store the Bluelink Access Key (and vehicle id, ...) during restart. Especially as a developer which might restart EVCC 10 times or more a day. Creating so many logins might be suspicious usage for the Bluelink API and get you banned.
Would using server/db/settings 'keep maintenance under control' /  violate your design rules ?? I mean if we have a key-value-store in the sqlite, why not use it? I understand that being (mostly) stateless also makes things better, but if it prevents you getting banned from the Bluelink API I would happily violate those rules.
Also I think I found the way how the old implementation would hammer the API with requests, it's cause it returns api.ErrMustRetry which completely disabled the cache. Here is how that could work:
Lets suppose the v.refreshG() (line 67) fails for whatever reason. Maybe because finally after 1 day we need to enter the PIN.
Maybe this even creates a 200 OK response and just hast special json response codes to indicate the expired PIN but with an empty ResMsg. In that case res.ResMsg.Updated would be zero and it would return api.ErrMustRetry (line 74).
Then refreshTime would be set and for the next 2 minutes (refreshTimeout) evcc would hammer the statusG() endpoint (line 46) as it always returns api.ErrMustRetry (line 88) at the set EVCC interval (5s for me).
Also I think the above explanation shows how hard it is what the following section of code actually does.
https://github.com/evcc-io/evcc/blob/30e1a4a6309f891b15b580bbb95ff828d647e9e9/vehicle/bluelink/provider.go#L46-L91

Ok, it seems like the v1 API never needs a PIN, I just tried with a old Access Token and bluelinky...
Also I found another 503 spamming in the logs from one month ago, again only 6 minutes after starting EVCC...

Not sure if I am misinterpreting the logs, but is this just the same error again and again cached from provider.Cached()

Logs
Jan 30 19:28:18 raspi2 evcc[7574]: [lp-1  ] ERROR 2023/01/30 19:28:18 vehicle range: unexpected status: 503
Jan 30 19:41:38 raspi2 evcc[7574]: [lp-1  ] INFO 2023/01/30 19:41:38 start charging ->
Jan 30 19:41:38 raspi2 evcc[7574]: [lp-1  ] WARN 2023/01/30 19:41:38 vehicle soc: unexpected status: 503 (ignored by estimator)
Jan 30 19:41:38 raspi2 evcc[7574]: [lp-1  ] ERROR 2023/01/30 19:41:38 vehicle soc limit: unexpected status: 503
Jan 30 19:41:38 raspi2 evcc[7574]: [lp-1  ] ERROR 2023/01/30 19:41:38 vehicle range: unexpected status: 503
Jan 30 19:41:43 raspi2 evcc[7574]: [lp-1  ] WARN 2023/01/30 19:41:43 vehicle soc: unexpected status: 503 (ignored by estimator)
Jan 30 19:41:43 raspi2 evcc[7574]: [lp-1  ] ERROR 2023/01/30 19:41:43 vehicle soc limit: unexpected status: 503
Jan 30 19:41:43 raspi2 evcc[7574]: [lp-1  ] ERROR 2023/01/30 19:41:43 vehicle range: unexpected status: 503
Jan 30 19:41:48 raspi2 evcc[7574]: [lp-1  ] WARN 2023/01/30 19:41:48 vehicle soc: unexpected status: 503 (ignored by estimator)
Jan 30 19:41:48 raspi2 evcc[7574]: [lp-1  ] ERROR 2023/01/30 19:41:48 vehicle soc limit: unexpected status: 503
Jan 30 19:41:48 raspi2 evcc[7574]: [lp-1  ] ERROR 2023/01/30 19:41:48 vehicle range: unexpected status: 503
Jan 30 19:41:50 raspi2 evcc[7574]: [lp-1  ] WARN 2023/01/30 19:41:50 vehicle soc: unexpected status: 503 (ignored by estimator)
Jan 30 19:41:50 raspi2 evcc[7574]: [lp-1  ] ERROR 2023/01/30 19:41:50 vehicle soc limit: unexpected status: 503
Jan 30 19:41:50 raspi2 evcc[7574]: [lp-1  ] ERROR 2023/01/30 19:41:50 vehicle range: unexpected status: 503
Jan 30 19:41:53 raspi2 evcc[7574]: [lp-1  ] WARN 2023/01/30 19:41:53 vehicle soc: unexpected status: 503 (ignored by estimator)
Jan 30 19:41:53 raspi2 evcc[7574]: [lp-1  ] ERROR 2023/01/30 19:41:53 vehicle soc limit: unexpected status: 503
Jan 30 19:41:53 raspi2 evcc[7574]: [lp-1  ] ERROR 2023/01/30 19:41:53 vehicle range: unexpected status: 503
Jan 30 19:41:58 raspi2 evcc[7574]: [lp-1  ] WARN 2023/01/30 19:41:58 vehicle soc: unexpected status: 503 (ignored by estimator)
Jan 30 19:41:58 raspi2 evcc[7574]: [lp-1  ] ERROR 2023/01/30 19:41:58 vehicle soc limit: unexpected status: 503
Jan 30 19:41:58 raspi2 evcc[7574]: [lp-1  ] ERROR 2023/01/30 19:41:58 vehicle range: unexpected status: 503
Jan 30 19:42:03 raspi2 evcc[7574]: [lp-1  ] WARN 2023/01/30 19:42:03 vehicle soc: unexpected status: 503 (ignored by estimator)
Jan 30 19:42:03 raspi2 evcc[7574]: [lp-1  ] ERROR 2023/01/30 19:42:03 vehicle soc limit: unexpected status: 503
Jan 30 19:42:03 raspi2 evcc[7574]: [lp-1  ] ERROR 2023/01/30 19:42:03 vehicle range: unexpected status: 503
Jan 30 19:42:08 raspi2 evcc[7574]: [lp-1  ] WARN 2023/01/30 19:42:08 vehicle soc: unexpected status: 503 (ignored by estimator)
Jan 30 19:42:08 raspi2 evcc[7574]: [lp-1  ] ERROR 2023/01/30 19:42:08 vehicle soc limit: unexpected status: 503
Jan 30 19:42:08 raspi2 evcc[7574]: [lp-1  ] ERROR 2023/01/30 19:42:08 vehicle range: unexpected status: 503
Jan 30 19:42:13 raspi2 evcc[7574]: [lp-1  ] WARN 2023/01/30 19:42:13 vehicle soc: unexpected status: 503 (ignored by estimator)
Jan 30 19:42:13 raspi2 evcc[7574]: [lp-1  ] ERROR 2023/01/30 19:42:13 vehicle soc limit: unexpected status: 503
Jan 30 19:42:13 raspi2 evcc[7574]: [lp-1  ] ERROR 2023/01/30 19:42:13 vehicle range: unexpected status: 503
Jan 30 19:42:18 raspi2 evcc[7574]: [lp-1  ] WARN 2023/01/30 19:42:18 vehicle soc: unexpected status: 503 (ignored by estimator)
Jan 30 19:42:18 raspi2 evcc[7574]: [lp-1  ] ERROR 2023/01/30 19:42:18 vehicle soc limit: unexpected status: 503
Jan 30 19:42:18 raspi2 evcc[7574]: [lp-1  ] ERROR 2023/01/30 19:42:18 vehicle range: unexpected status: 503
Jan 30 19:42:23 raspi2 evcc[7574]: [lp-1  ] WARN 2023/01/30 19:42:23 vehicle soc: unexpected status: 503 (ignored by estimator)
Jan 30 19:42:23 raspi2 evcc[7574]: [lp-1  ] ERROR 2023/01/30 19:42:23 vehicle soc limit: unexpected status: 503
Jan 30 19:42:23 raspi2 evcc[7574]: [lp-1  ] ERROR 2023/01/30 19:42:23 vehicle range: unexpected status: 503
Jan 30 19:42:28 raspi2 evcc[7574]: [lp-1  ] WARN 2023/01/30 19:42:28 vehicle soc: unexpected status: 503 (ignored by estimator)
Jan 30 19:42:28 raspi2 evcc[7574]: [lp-1  ] ERROR 2023/01/30 19:42:28 vehicle soc limit: unexpected status: 503

Closing this now as it is just to unsure where the soft-ban comes from.
Here is the PR with just the wakeup: #5996

Not sure if I am misinterpreting the logs, but is this just the same error again and again cached from provider.Cached()??

The cached provider would do that. Again: totally happy to look at this or a new PR- don't let me get you frustrated :)


Unable render with personalized font

While using ImageBufAlgo.render_text() with my own font file, the output show me this error
error: OpenImageIO was not compiled with FreeType for font rendering
Can you make FreeType font available in the compiled version ?
Thank you !

Hi @VeroniqueHuang, based on https://vcpkg.io/en/package/openimageio (select the features tab), it should be as simple as running the second command outlined in the README of this report with the vcpkg feature flag to enable freetype. Then it will compile including freetype.


Optimize construction of headers.

...And remove some cryptic regexp stuff from headers construction.
New algorithm is easier to read and also faster.

I think this is a good opportunity to introduce a basic set of tests for this class, doesn't look like we have any.

@dblock https://github.com/ruby-grape/grape/blob/5154b36ea924e7e17805d905c8e8e072f1cb1299/spec/grape/endpoint_spec.rb#L123

I mean a standalone test for this class alone, not in context of a request.

@dblock ok, i'll write some.

@dblock
I added some basic tests, please look at it!

is not case-sensitive

I don't think it's necessay. Remember #1055?

This is great. Since we have lib/grape/http/request.rb lets move the spec into spec/grape/http/request_spec.rb?

@dblock
I suggest to move lib/grape/http/request.rb to lib/grape/request.rb because class is named Grape::Request :)

I am with you. Do it.

Done! :)

Merged, thanks!


Not clear that Flask.run is threaded by default.

Flask.run sets threaded=True as the default when calling werkzeug.serving.run_simple. This wasn't mentioned in the function docstring, which only refers me on to werkzeug.serving.run_simple, where the default is threaded=False. So it surprised me when my non-thread-safe code behaved weirdly.

Python version: 3.8.10
Flask version: 2.2.1

In the changelog for the method:

Threaded mode is enabled by default.

I don't think this is worth documenting further.
In general, you must never write thread-unsafe code in a web application. Don't use global variables to store data. A web application might be served using thread workers, process workers, coroutines, etc. It might even be distributed across multiple machines if you're using a deployment platform service.


Clean up stale binary after name change with windows msi updater

Recent beta builds are no longer renaming the binary in a bundle to productName, keeping the rust crate name.
The issue we're facing at KittyCAD/Zoo is that running the updater installs our new zoo-modeling-app.exe binary (new name) in the Zoo Modeling App directory, but doesn't remove the existing Zoo Modeling App.exe (old name), leaving it stale for the user to potentially get confused about.

Is there a hook we could use to run some type of clean up script for that stale executable as we forge ahead with the tauri dependency bump that requires this binary executable name change? I'm assuming other tauri users would be in the same boat as the rust crate names are much more restrictive on what characters they allow (for instance, no space).
Thank you!

NSIS has installer hooks but I think this one should be handled by us @amrbashir


update 4.1.1

Pyproject-metadata 0.7.1 Update
Jira Ticket
Upstream
Dependencies
Changes

Updated version number and sha256
Updated pinnings on dependencies
Added description

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_26gogprgwo/clone/recipe/meta.yaml:22: remove_python_pinning: On arch specific packages, python deps should not be constrained.
ERROR: /tmp/abs_26gogprgwo/clone/recipe/meta.yaml:23: missing_wheel: For pypi packages, wheel should be present in the host section
ERROR: /tmp/abs_26gogprgwo/clone/recipe/meta.yaml:67: missing_dev_url: The recipe is missing a dev_url
WARNING: /tmp/abs_26gogprgwo/clone/recipe/meta.yaml:67: missing_description: The recipe is missing a description
Errors were found

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_bfpqifjd4m/clone/recipe/meta.yaml:80: missing_dev_url: The recipe is missing a dev_url
Errors were found

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_e6dm4i10hj/clone/recipe/meta.yaml:27: version_constraints_missing_whitespace: Packages and their version constraints must be space separated
ERROR: /tmp/abs_e6dm4i10hj/clone/recipe/meta.yaml:79: missing_dev_url: The recipe is missing a dev_url
Errors were found

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_f47kmzvzka/clone/recipe/meta.yaml:28: version_constraints_missing_whitespace: Packages and their version constraints must be space separated
ERROR: /tmp/abs_f47kmzvzka/clone/recipe/meta.yaml:80: missing_dev_url: The recipe is missing a dev_url
Errors were found


The CI failed

The problem is that the credentials for uploading the Pluto Docker images to Dockerhub are not yet configured, see #20 .

I did it, and re-ran the CI but it still failed :(

@shashankp could you please help @fonsp here?
Unfortunately, I do not have hands-on experience in coupling Github Actions with Dockerhub.

We got it!


stopped set is not thread safe

Hi go-actor author,  I tried to use your library and found the following line has problem.  Basically, an actor system can have many actors.  When the actors are finishing, each will try to access System.stopped by adding itself to it.  stopped is a set and a shared variable which should be protected by a lock.
Can you verify this is a valid bug? Thanks.
124 func (context *ActorContext) start() chan bool {
125     startLatch := make(chan bool)
126     context.Self.System.wg.Add(1)
127     go func() {
128         defer func() {
129             context.Self.System.running.Remove(context.Self)
130             context.Self.System.wg.Done()
131             context.closeAllChan()
132             context.Self.System.stopped.Add(context.Self)  ======> stopped set is not thread safe
133         }()
134         context.Self.System.running.Add(context.Self)
135         <-startLatch
136         close(startLatch)
137         context.loop()
138     }()
139     return startLatch
140 }

There are actually concurrency problems with two sets: running and stopped.  Here is hack fix I come up with which must have serious performance overhead but at least there is no crashing any more.  Basically, I put mutex lock / unlock around the usage of running and stopped.
Here are the changes (first place):
123 func (context *ActorContext) start() chan bool {
124     startLatch := make(chan bool)
125     context.Self.System.wg.Add(1)
126     go func() {
127         defer func() {
128             context.Self.System.mutex.Lock()
129             context.Self.System.running.Remove(context.Self)
130             context.Self.System.wg.Done()
131             context.closeAllChan()
132             context.Self.System.stopped.Add(context.Self)
133             context.Self.System.mutex.Unlock()
134         }()
135         context.Self.System.running.Add(context.Self)
136         <-startLatch
137         close(startLatch)
138         context.loop()
139     }()
140     return startLatch
141 }
(second place):
13 // ActorSystem is an umbrella which maintains actor hierarchy.
14 type ActorSystem struct {
15     //TODO top level supervisor
16     Name              string
17     wg                sync.WaitGroup
18     guardian          *Actor
19     topLevelActors    *actorSet
20     monitorForwarders set.Set
21     running           set.Set
22     stopped           set.Set
23     mutex             sync.Mutex
24 }
25
(3rd place):
76 func (actor *Actor) IsRunning() bool {
77     actor.System.mutex.Lock()
78     IsRunning := actor.System.running.Contains(actor)
79     actor.System.mutex.Unlock()
80     return IsRunning
81 }


Unable to validate token on lambda console

Hi Team,
I am using spring security OAuth2 with Azure AD. When I am testing APIs on local server everything seems fine and getting expected result with token Authenticated or proper response in case of invalid token but when I am running same thing on AWS lambda i am getting 401. I don't know what I am missing. Attaching logs from localhost and aws server for your reference:
Logs from localhost:
2023-02-22 14:11:53.105  INFO 14964 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2023-02-22 14:11:53.105  INFO 14964 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.62]
2023-02-22 14:11:53.312  INFO 14964 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2023-02-22 14:11:53.312  INFO 14964 --- [           main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2061 ms
2023-02-22 14:11:53.417 DEBUG 14964 --- [           main] .PrePostAnnotationSecurityMetadataSource : @org.springframework.security.access.prepost.PreAuthorize("hasAuthority(\'APPROLE_ADMIN\')")
2023-02-22 14:11:53.420 DEBUG 14964 --- [           main] m.DelegatingMethodSecurityMetadataSource :  with attributes [[authorize: 'hasAuthority('APPROLE_ADMIN')', filter: 'null', filterTarget: 'null']]
2023-02-22 14:11:53.608 DEBUG 14964 --- [           main] swordEncoderAuthenticationManagerBuilder : No authenticationProviders and no parentAuthenticationManager defined. Returning null.
inside OAuth2
getting outside OAuth2
2023-02-22 14:11:53.821 DEBUG 14964 --- [           main] edFilterInvocationSecurityMetadataSource : Adding web access control expression [authenticated] for any request
2023-02-22 14:11:53.829  INFO 14964 --- [           main] o.s.s.web.DefaultSecurityFilterChain     : Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@5af5d76f, org.springframework.security.web.context.SecurityContextPersistenceFilter@61a2aeb7, org.springframework.security.web.header.HeaderWriterFilter@6042d663, org.springframework.security.web.csrf.CsrfFilter@abad89c, org.springframework.security.web.authentication.logout.LogoutFilter@1775c4e7, org.springframework.security.oauth2.server.resource.web.BearerTokenAuthenticationFilter@23ad71bf, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@5f8d9767, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@1980a3f, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@3a8cea24, org.springframework.security.web.session.SessionManagementFilter@7a682d35, org.springframework.security.web.access.ExceptionTranslationFilter@61ff6a49, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@6fe595dc]
2023-02-22 14:11:54.471  INFO 14964 --- [           main] c.a.c.i.jackson.JacksonVersion           : Package versions: jackson-annotations=2.13.2, jackson-core=2.13.2, jackson-databind=2.13.3, jackson-dataformat-xml=2.13.2, jackson-datatype-jsr310=2.13.2, azure-core=1.26.0, Troubleshooting version conflicts: https://aka.ms/azsdk/java/dependency/troubleshoot
2023-02-22 14:11:54.611  INFO 14964 --- [           main] AbstractAzureServiceClientBuilderFactory : Will configure the default credential of type DefaultAzureCredential for class com.azure.identity.DefaultAzureCredentialBuilder.
2023-02-22 14:11:54.901  INFO 14964 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
2023-02-22 14:11:54.923  INFO 14964 --- [           main]    : Started in 4.4 seconds (JVM running for 5.241)
2023-02-22 14:18:26.550  INFO 14964 --- [nio-8080-exec-2] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring DispatcherServlet 'dispatcherServlet'
2023-02-22 14:18:26.551  INFO 14964 --- [nio-8080-exec-2] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
2023-02-22 14:18:26.553  INFO 14964 --- [nio-8080-exec-2] o.s.web.servlet.DispatcherServlet        : Completed initialization in 2 ms
2023-02-22 14:18:26.576 DEBUG 14964 --- [nio-8080-exec-2] o.s.security.web.FilterChainProxy        : Securing GET /
2023-02-22 14:18:26.585 DEBUG 14964 --- [nio-8080-exec-2] s.s.w.c.SecurityContextPersistenceFilter : Set SecurityContextHolder to empty SecurityContext
2023-02-22 14:18:27.540 DEBUG 14964 --- [nio-8080-exec-2] o.s.s.o.s.r.a.JwtAuthenticationProvider  : Authenticated token
2023-02-22 14:18:27.541 DEBUG 14964 --- [nio-8080-exec-2] .o.s.r.w.BearerTokenAuthenticationFilter : Set SecurityContextHolder to JwtAuthenticationToken [Principal=org.springframework.security.oauth2.jwt.Jwt@4ff204a1, Credentials=[PROTECTED], Authenticated=true, Details=WebAuthenticationDetails [RemoteIpAddress=0:0:0:0:0:0:0:1, SessionId=null], Granted Authorities=[SCOPE_access_as_user]]
2023-02-22 14:18:27.556 DEBUG 14964 --- [nio-8080-exec-2] o.s.s.w.a.i.FilterSecurityInterceptor    : Authorized filter invocation [GET /] with attributes [authenticated]
2023-02-22 14:18:27.557 DEBUG 14964 --- [nio-8080-exec-2] o.s.security.web.FilterChainProxy        : Secured GET /
org.springframework.security.oauth2.jwt.Jwt@4ff204a1
2023-02-22 14:18:27.699 DEBUG 14964 --- [nio-8080-exec-2] s.s.w.c.SecurityContextPersistenceFilter : Cleared SecurityContextHolder to complete request

Logs from AWS:
2023-02-22 11:18:48.933 DEBUG 8 --- [           main] edFilterInvocationSecurityMetadataSource : Adding web access control expression [authenticated] for any request

2023-02-22 11:18:49.055  INFO 8 --- [           main] o.s.s.web.DefaultSecurityFilterChain     : Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@57ac5227, org.springframework.security.web.context.SecurityContextPersistenceFilter@bf1ec20, org.springframework.security.web.header.HeaderWriterFilter@38f116f6, org.springframework.security.web.csrf.CsrfFilter@736d6a5c, org.springframework.security.web.authentication.logout.LogoutFilter@7fe7c640, org.springframework.security.oauth2.server.resource.web.BearerTokenAuthenticationFilter@4795ded0, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@b70da4c, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@435fb7b5, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@4ba302e0, org.springframework.security.web.session.SessionManagementFilter@c5ee75e, org.springframework.security.web.access.ExceptionTranslationFilter@424fd310, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@43aaf813]

2023-02-22 11:18:57.413  INFO 8 --- [           main] s.c.a.i.c.AzureSpringBootVersionVerifier : Cannot check Boot version from manifest

2023-02-22 11:18:57.433  INFO 8 --- [           main] s.c.a.i.c.AzureSpringBootVersionVerifier : Cannot check Boot version from manifest

2023-02-22 11:18:58.234  INFO 8 --- [           main] c.a.c.i.jackson.JacksonVersion           : Package versions: jackson-annotations=unknown, jackson-core=unknown, jackson-databind=unknown, jackson-dataformat-xml=unknown, jackson-datatype-jsr310=unknown, azure-core=1.26.0, Troubleshooting version conflicts: https://aka.ms/azsdk/java/dependency/troubleshoot

2023-02-22 11:18:59.476  INFO 8 --- [           main] AbstractAzureServiceClientBuilderFactory : Will configure the default credential of type DefaultAzureCredential for class com.azure.identity.DefaultAzureCredentialBuilder.

2023-02-22 11:19:02.634  INFO 8 --- [           main] lambdainternal.AWSLambda                 : Started AWSLambda in 39.898 seconds (JVM running for 45.01)

2023-02-22 11:19:02.714  INFO 8 --- [           main] c.a.s.p.i.servlet.AwsServletContext      : Initializing Spring DispatcherServlet 'dispatcherServlet'

2023-02-22 11:19:02.732  INFO 8 --- [           main] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'

2023-02-22 11:19:02.735  INFO 8 --- [           main] o.s.web.servlet.DispatcherServlet        : Completed initialization in 2 ms

START RequestId: ef81158e-cf35-4803-9f6c-a9812c544eb8 Version: $LATEST

2023-02-22 11:19:03.216 DEBUG 8 --- [           main] o.s.security.web.FilterChainProxy        : Securing GET /

2023-02-22 11:19:03.294 DEBUG 8 --- [           main] s.s.w.c.SecurityContextPersistenceFilter : Set SecurityContextHolder to empty SecurityContext

2023-02-22 11:19:03.355 DEBUG 8 --- [           main] o.s.s.w.a.AnonymousAuthenticationFilter  : Set SecurityContextHolder to anonymous SecurityContext

2023-02-22 11:19:03.453 DEBUG 8 --- [           main] o.s.s.w.a.i.FilterSecurityInterceptor    : Failed to authorize filter invocation [GET /] with attributes [authenticated]

2023-02-22 11:19:03.473 DEBUG 8 --- [           main] s.s.w.c.SecurityContextPersistenceFilter : Cleared SecurityContextHolder to complete request

2023-02-22 11:19:03.475  INFO 8 --- [           main] c.a.s.p.internal.LambdaContainerHandler  : <IP_ADDRESS> null- null [09/04/2015:12:34:56Z] "GET / HTTP/1.1" 401 - "-" "Custom User Agent String" combined

Dependency:
    <dependency>
      <groupId>com.azure.spring</groupId>
      <artifactId>spring-cloud-azure-starter-active-directory</artifactId>
      <version>4.3.0</version>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-oauth2-resource-server</artifactId>
    </dependency>

Configuration:
spring.cloud.azure.active-directory.enabled=true
spring.cloud.azure.activedirectory.client-id= url
spring.cloud.azure.activedirectory.client-secret=url
spring.cloud.azure.activedirectory.app-id-uri=url
spring.cloud.azure.activedirectory.tenant-id=url
jwk.provider.uri= URL

Code:
The class has configure method where it extending AadResourceServerWebSecurityConfigurerAdapter
       @Override
	protected void configure(HttpSecurity http) throws Exception {
		System.out.println("inside OAuth2");

		http.authorizeRequests().antMatchers("/").permitAll().anyRequest().authenticated().and().sessionManagement()
				.sessionCreationPolicy(SessionCreationPolicy.STATELESS).and().oauth2ResourceServer().jwt();

		System.out.println("getting outside OAuth2");
	}

Hi @abdulrais , it seems not a bug from the library side since you can run it locally successfully, but your scenario has not been verified.
According to your configuration, you should refer to the default implementation, which means you need to explicitly call this method super.configure(http) before your custom security configuration; or explicitly use the jwt authentication token converter from this method.
Could you provide a minimal sample to reproduce this scenario?

Hi @abdulrais you can further confirm the cause of the problem by inspecting the console log to verify the function app can access the Azure AD authorization server successfully and what permissions have been obtained.
Please turn the log level to debug level, after the resource server access the HTTP, you should find the below similar logs:
DEBUG 10836 - o.s.web.client.RestTemplate              : HTTP GET https://login.microsoftonline.com/<yout-tenant-id>/discovery/v2.0/keys
DEBUG 10836 - .a.i.j.AadJwtGrantedAuthoritiesConverter : User XXX's authorities created from jwt token: [SCOPE_XXXX].

Then the output authority set should contain the permissions you want to verify, otherwise, HTTP 401 will be returned.

thanks @moarychan for clarifying it. I was passing token in wrong headers since I need to pass in multiValueHeaders in aws lambda console. It is working currently and able to authenticate it.


feat: Add search functionality

Feature Request
Motivation Behind Feature
it's hard to find things in the site without search functionality
Feature Description
a search box where you enter a text and returns the pages where the text you searched appear
Alternatives or Workarounds
we had algolia search but was not working and was removed, so we might try to figure out how to add it back or add an alternative thing

For context, Algolia was removed because they seemed to have decomissioned their v1 API which we were using.
They do still have a free variant so we could probably re-introduce algolia using their current API version, but personally I'd be inclined to try a completely local/client-side solution.
https://jekyllcodex.org/without-plugin/search-lunr/
It builds an index during the jekyll build, so we won't be dependent on any third-party service, and generates a custom search function. Though I can't vouch how well this particular library works.


Undefined symbols for architecture x86_64:

Undefined symbols for architecture x86_64:

"OBJC_CLASS$_TwitterNetworking", referenced from:
objc-class-ref in TwitterKit(TWTRAPIClient.o)
"OBJC_CLASS$_TwitterUserAPIClient", referenced from:
objc-class-ref in TwitterKit(TWTRWebAuthenticationViewController.o)
objc-class-ref in TwitterKit(TWTRWebAuthenticationTokenRequestor.o)
"_TWTRCoreOAuthSigningOAuthEchoHeaders", referenced from:
-[TWTROAuthSigning OAuthEchoHeadersForRequestMethod:URLString:parameters:error:] in TwitterKit(TWTROAuthSigning.o)
"_TWTRAPIConstantsParamID", referenced from:
-[TWTRTweetRepository lookupRequestForTweetIDs:APIClient:additionalParameters:error:] in TwitterKit(TWTRTweetRepository.o)
"_TWTRAPIConstantsFieldIDString", referenced from:
-[TWTRUser setPropertiesFromValidatedDictionary:] in TwitterKit(TWTRUser.o)
___25+[TWTRUser JSONValidator]_block_invoke in TwitterKit(TWTRUser.o)
-[TWTRMyRetweetIDValueTransformer transformedValue:] in TwitterKit(TWTRValueTransformers.o)
-[TWTRTweet setPropertiesFromValidatedDictiontary:] in TwitterKit(TWTRTweet.o)
___26+[TWTRTweet JSONValidator]_block_invoke in TwitterKit(TWTRTweet.o)
+[TWTRTimelineParser hyrdrateTweet:withUserFromUsers:] in TwitterKit(TWTRTimelineParser.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

I have same issue. How you solved it, @brocoder86 ?

I think Apple do not allow 32bit library for their ios app anymore. The issue still remains. Does anyone know the way to work around?

I was able to solve this by running:
pod outdated
and then
pod update


Fix when there's not additional data available

The application crashes when the app is opened and a notification without additionalData has been received.
This PR will fix that issue.

Makes sense, haven't noticed it since I don't encounter this kind of issue for my needs. Thanks, @williamrijksen !