Add a way to disable automatic compilation or/and customize the delay

As of today the compilation of the JSX to JS happens as you type it with a debounced function of 250ms.

One thing I'd like to see is an option to toggle automatic compilation and have a button to manually compile it.
Additionally what would be good is if we'd have a customized delay for the debounce function if automatic compilation is on.

🙂.. i think compiler errors should come underneath the playground editor as minified first.. and then it should have this toggleable down arrow indicating that it could be expanded by the user when he/she wants to actually check out the full error details of what is wrong..

No need to customize the delay..
🙂.. I think compiler errors should come underneath the playground editor as minified first.. and then it should have this toggleable down arrow indicating that it could be expanded by the user when he/she wants to actually check out the full error details of what is wrong..

No need to customize the delay..
🙂.. I think compiler errors should come underneath the playground editor as minified first..
And then it should have this toggleable down arrow button indicating that it could be expanded by the user when he/she wants to actually check out the full error details of what is wrong..

To be honest the pop up is annoying... could we get anyone to work on this feature of making errors look more presentable? like that of the svelte repl.. link https://repl.svelte,dev

To be honest the pop up is annoying... could we get anyone to work on this feature of making errors look more presentable? like that of the svelte repl.. link https://svelte,dev/repl

To be honest the pop up is annoying... could we get anyone to work on this feature of making errors look more presentable? like that of the svelte repl.. link svelte,dev/repl

To be honest the pop up is annoying... could we get anyone to work on this feature of making errors look more presentable? like that of the svelte repl.. link https://svelte.dev/repl


Container keep restarting

Hi, I am having issues running this image. I tried to follow the compose provided by others in issues section but still unable to figure it out what I am doing wrong.
compose
  samba:
    image: ghcr.io/crazy-max/samba:latest
    hostname: ${DOCKERHOSTNAME}
    container_name: samba
    environment:
      - PGID=${PGID}
      - PUID=${PUID}
      - TZ=${TZ}
      - SAMBA_LOG_LEVEL=1
    ports:
      - 445:445
    restart: unless-stopped
    volumes:
      - ${DOCKERCONFDIR}/samba:/data
      - ${DOCKERSTORAGEDIR}:/storage

config.yml
auth:
  - user: ubuntu
    group: ubuntu
    uid: 1000
    gid: 1000
    password: 1234

global:
  - "force user = ubuntu"
  - "force group = ubuntu"

share:
  - name: storage
    comment: Storage
    path: /storage
    browsable: yes
    readonly: no
    guestok: yes
    veto: no

folder structure
ubuntu@ubuntu:~$ ls -alh ~/.docker/appdata/samba/
total 20K
drwxr-xr-x  5 ubuntu ubuntu 4.0K Jun 26 14:33 .
drwxrwxr-x 12 ubuntu ubuntu 4.0K Jun 26 14:32 ..
drwxr-xr-x  2 ubuntu ubuntu 4.0K Jun 26 14:32 cache
drwxrwxr-x  2 ubuntu ubuntu 4.0K Jun 26 14:38 data
drwxr-xr-x  5 ubuntu ubuntu 4.0K Jun 26 14:32 lib

Log
Copyright Andrew Tridgell and the Samba Team 1992-2021
Setting timezone to Europe/London
Initializing files and folders
Setting global configuration
parse error: Invalid numeric literal at line 1, column 6
parse error: Invalid numeric literal at line 1, column 6
parse error: Invalid numeric literal at line 1, column 6
parse error: Invalid numeric literal at line 1, column 6
parse error: Invalid numeric literal at line 1, column 6
parse error: Invalid numeric literal at line 1, column 6
Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Weak crypto is allowed

Server role: ROLE_STANDALONE

# Global parameters
[global]
        disable netbios = Yes
        disable spoolss = Yes
        dns proxy = No
        local master = No
        map to guest = Bad User
        pam password change = Yes
        printcap name = /dev/null
        security = USER
        server role = standalone server
        server services = s3fs, rpc, wrepl, ldap, cldap, kdc, drepl, winbindd, ntp_signd, kcc, dnsupdate
        server string = Docker Samba Server
        smb ports = 445
        unix extensions = No
        usershare allow guests = Yes
        winbind scan trusted domains = Yes
        fruit:time machine = yes
        fruit:delete_empty_adfiles = yes
        fruit:wipe_intentionally_left_blank_rfork = yes
        fruit:veto_appledouble = no
        fruit:posix_rename = yes
        fruit:model = MacSamba
        fruit:metadata = stream
        idmap config * : backend = tdb
        create mask = 0664
        directory mask = 0775
        force create mode = 0664
        force directory mode = 0775
        hosts allow = <IP_ADDRESS>/8 <IP_ADDRESS>/8 <IP_ADDRESS>/12 <IP_ADDRESS>/16
        hosts deny = <IP_ADDRESS>/0
        printing = bsd
        strict locking = No
        vfs objects = fruit streams_xattr
        wide links = Yes
smbd version 4.15.7 started.
Copyright Andrew Tridgell and the Samba Team 1992-2021

Do you have the same issue with ghcr.io/crazy-max/samba:4.15.5?

I am not now getting this but container is still restarting
parse error: Invalid numeric literal at line 1, column 6
parse error: Invalid numeric literal at line 1, column 6
parse error: Invalid numeric literal at line 1, column 6
parse error: Invalid numeric literal at line 1, column 6
parse error: Invalid numeric literal at line 1, column 6
parse error: Invalid numeric literal at line 1, column 6

Is there anything I can do fix this issue?

parse error: Invalid numeric literal at line 1, column 6

I'm not sure, check if your file has proper \n line ending if you're editing the yaml file on windows.

parse error: Invalid numeric literal at line 1, column 6

I'm not sure, check if your file has proper \n line ending if you're editing the yaml file on windows. If you can zip the yaml file and upload it in this issue that would help to verify its integrity.

mv config.yaml config.yml  for me


Promise/observable returns in validate/transform/process hooks

It appears that hooks don't fully benefit from promise/observable returns. The suggestion is to use promise and observable returns and make callback API optional where possible.
The library already relies on hook functions arity, this could be used to change their behaviour based on function parameters.
This validate hook
async validate({ action }, resolve, reject) {
  try {
    await ...;
    resolve(action);
  } catch (err) {
    reject(err);
  }
}

could become
async validate({ action }) {
  await ...;
  return action;
}

validateOptions/transformOptions could possibly be useful with an option similar to dispatchReturn, just in case the behaviour needs to be unambiguous.
And this multi-dispatch process hook
async process({ action }, dispatch, done) {
  dispatch(...);
  await ...;
  dispatch(...);
  done();
}

could become
async process({ action }, dispatch) {
  dispatch(...);
  await ...;
  dispatch(...);
}

Currently single-dispatch mode is deprecated, call done when finished dispatching warning appears in case process function hook has 2 parameters. Additional doneReturn option (defaults to true for multi-dispatch) could possibly be useful for non-ending logics. I believe this approach supplements #93.

Yeah, let's get rid of done, please. It looks so 2016. :)


[Inquiry] Dispatch backend based on model availability

As captioned, different models (GPT-4, GPT-3.5, Ada embedding) may not be all available throughout AOAI services across that many regions. Any idea how we could enforce backend traffic based on model/deployment types?

In AppGW, setup different backend pools against different AOAI resources supported in particular regions. And then use Rewrite rule to alter the URI path to let AppGW pick another Rule with another backend pools


docs: update README.md

Summary by CodeRabbit

New Features

Introduced a new ESLint configuration package, now branded as @shiron-dev/eslint-config.
Added installation instructions using a CLI tool and manual setup options.
Included guidance for combining legacy configurations with the new setup.

Documentation

Enhanced README.md for clarity and user-friendliness, including specific IDE support instructions for VS Code.

@coderabbitai review

@coderabbitai full review


Update block-trk-and-subdomains.patch

removing existent files
(Please ensure you have read SUPPORT.md and docs/contributing.md before submitting the Pull Request)

Please elaborate more on the purpose of changes.

Had arch ungoogled-chromium failing due this patch, but now it is back to work. Somehow the patch python script exited with a non-zero status, and messages indicated the patch was already applied. Thanks and sorry for the incovenience. BTW big fan!


The heartfealt enchantment is completely broken.

Describe the Bug
I also looked at the code for breaking armor if there is a heartfeal enchantment, the logic is a bit incomprehensible, if I have all the armor enchanted for heartfeal II, then in total it will come out II + II + II + II = 8 and +1 breakage strength, total for 1 hit each piece of armor loses 9 durability. Don't you think it's broken? It seems to me that each individual element of the armor needs to lose II + 1 durability = that is, each element loses 3 armor, and as I understand it, the III durability enchantment does not work with this.
Reproduction Steps
I also looked at the code for breaking armor if there is a heartfeal enchantment, the logic is a bit incomprehensible, if I have all the armor enchanted for heartfeal II, then in total it will come out II + II + II + II = 8 and +1 breakage strength, total for 1 hit each piece of armor loses 9 durability. Don't you think it's broken? It seems to me that each individual element of the armor needs to lose II + 1 durability = that is, each element loses 3 armor, and as I understand it, the III durability enchantment does not work with this.
Expected Result
I believe that the heartfealt enchantment should take away durability only considering one piece of armor, that is, if the enchantment is II level, then it is spent for 1 hit = 3 durability. And the enchantment unbreaking I, II, III is also taken into account.
Screenshots and Videos
No response
Operating System
Windows 10
Mod Version
3.0.7
Minecraft Version
1.19.2
Forge Version
1.19.2-43.2.14
Other Mods
No response
Additional Context
No response

Not sure what you're trying to say here. The way the extra durability damage on Heartfelt works is that whenever you take damage, each heartfelt piece takes extra damage equal to the level of enchantment on that specific piece. So if you're wearing all Heartfelt II armor, each piece takes 3 durability damage.

No! Your code is broken! It counts for all armor enchantments, and deals 9 durability damage and does not count for III durability enchantments.

Helmet - Heartfelt II
Chestplate - Heartfelt II
Leggings - Heartfelt II
Boots - Heartfelt II
In total, for 1 hit, I lose 9 durability of each armor!
Although it should lose 3 durability of each armor.
Also, the durability III enchantment doesn't work with the Heartfelt enchantment at all.

My players are shocked by this, complaining that III durability on armor doesn't work with the Heartfelt enchantment and the armor breaks in seconds, losing 9 durability per hit.


Add buildtest commands option

Create a feature to show an output of Buildtest commands, by doing the following:

[x] 1. Adding a command option in buildtest/cli/init.py
[x]  2. Adding to bash completion script -
[x] 3. Adding implementation; creating a module buildtest/cli/commands.py
[x] 4. Adding a regression test; creating a separate file in tests/cli/test_commands.py

@shahzebsiddiqui When I run the command "buildtest help commands" the output I sent to you in Slack appears. Is this what I am supposed to be fixing?

@shahzebsiddiqui When I run the command "buildtest help commands" the output I sent to you in Slack appears. Is this what I am supposed to be fixing?

No that not what i asked for i want you to add a command buildtest commands that will display all the subcommands. See https://github.com/buildtesters/buildtest/issues/1509#issue-1782995433

@braeeast2001 i fixed your PR and rewrote this to be easier to understand. Please add the regression test and we can merge this in.
Lets not document this feature for now its not necessary.

@braeeast2001 can please look at the CI checks and fix them

@braeeast2001 can you please black your code. Look at the style check it reports 3files need formatting.
Just run buildtest style -a

@braeeast2001 can you please recreate your python environment and reinstall buildtest it looks like your black and isort are not using the configuration specified from pyproject.toml
This might address some formatting issues you are facing.
Please delete your existing python virtual environment.
You should consider using pipenv it will simplify managing virtual environment

Change completed, ready to merge.

@braeeast2001 can you please resolve the conflict


Integrating via Cocoapods crash

While integrating BBMetaImage via cocoapods I've faced a crash which occurs on every usage of any filter. Crashing code is located in BBMetalBaseFilter init method: created MTLLibrary object was nil due to it can't locate any kernels in the bundle. And the bundle itself don't even exist due to my pod file setup don't use frameworks (use_frameworks! is opted out)
Please, fulfill the requirements in readme. use_frameworks! is mandatory in pod file in order for library to function properly.

Thank you for your suggestion. Done.


Error Importing Teslafi Logs

Describe the bug
I receive an error when trying to import the Teslafi.csv logs. The logs were generated by using the "tesla-apiscraper-to-teslafi-export" repository.
Expected behavior
I would expect the logs to be imported succesfully
How to reproduce it (as minimally and precisely as possible):
Steps to reproduce the behavior:

stop the teslamate service (in my case the "docker_teslamate_1" container'
copy the csv files to the import folder
start the teslamate service
Goto http://<IP_ADDRESS>:4000 and
I'm presented with the import screen (http://<IP_ADDRESS>:4000/import) and all 4 files that I copied into the import-folder are shown
Timezone is selected properly
Click on 'import'. Error in log

Relevant entries from the logs
2020-07-05 11:49:06 stdout 13:49:06.050 [info] Sent 200 in 25ms
2020-07-05 11:49:28 stdout 13:49:28.737 [info] Importing 4 file(s) ...
2020-07-05 11:49:28 stdout 13:49:28.799 [info] Starting logger for ''
2020-07-05 11:49:28 stdout 13:49:28.803 [error] GenStateMachine TeslaMate.Import terminating
2020-07-05 11:49:28 stdout ** (MatchError) no match of right hand side value: {:error, #Ecto.Changeset<action: :update, changes: %{eid: 32524}, errors: [vid: {"is invalid", [type: :integer, validation: :cast]}], data: #TeslaMate.Log.Car<>, valid?: false>}
2020-07-05 11:49:28 stdout (teslamate 1.19.4) lib/teslamate/vehicles.ex:102: TeslaMate.Vehicles.create_or_update!/1
2020-07-05 11:49:28 stdout (teslamate 1.19.4) lib/teslamate/import.ex:126: TeslaMate.Import.handle_event/4
2020-07-05 11:49:28 stdout (stdlib 3.12.1) gen_statem.erl:1120: :gen_statem.loop_state_callback/11
2020-07-05 11:49:28 stdout (stdlib 3.12.1) proc_lib.erl:249: :proc_lib.init_p_do_apply/3
Environment

TeslaMate version: 1.19.4
Type of installation: Docker on Synology
OS TeslaMate is installed on: Linux DiskStation 4.4.59+ #25426 SMP PREEMPT Tue May 12 04:54:42 CST 2020 x86_64 GNU/Linux synology_denverton_1618+
User OS & Browser: Windows 10 (v2004) & Edge Browser
Others:

Problem Solved!
The "tesla-apiscraper-to-teslafi-export" repository tool populated the Teslafi_xyyy_.csv files with the wrong vehicle_id, id and id_s values. By querying the car myself with a API tool I was able to get the correct values and replace them in the .csv files.

Then you were apparently one of the first users who tried the export tool :) @olexs would certainly be interested to know about this bug to fix it. It would probably be a good idea to create an issue here: https://github.com/olexs/tesla-apiscraper-to-teslafi-export?

@adriankumpf, I caused the issue myself it seems. At a certain stage in the process, the export tool asks the user for the vehicle ID and instead of entering the vehicle ID I entered the VIN. My mistake in that regard!
On the other hand, I had no idea what the vehicle ID of my car was and therefore thought the VIN was asked. Only after querying the car via API I noticed the "vehicle_id" field and 1 and 1 was 2. Then I was struggling with this a bit longer because my vehicle ID showed as 9 digits whereas I noticed that others users had reported a vehicle ID of 10 digits. The same was reported on the this site: https://www.teslaapi.io/
Another issue I encountered was the numbers the tool generated for the 'id' and 'id_s' fields. Those were all 9's instead of the actual numbers that I was able to query for these fields. Nevertheless, in the end all went fine and the process of exporting from tesla_apiscraper, converting to teslafi.csv, correcting the .CSV with the correct ID's and importing in Teslamate was pretty simple and flawless.
Thanks again for this great solution!

Gotcha! Thanks for the clarification.


chore(main): release 1.4.2

:robot: I have created a release beep boop
1.4.2 (2024-07-09)
Bug Fixes

locale selector z index (830540e)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

v1.4.2
:sunflower:


mapMultiRowFields for nested arrays inside array

The context of my use case is a store module for a customer object. A customer has many phones, many addresses and many contacts. Each contact has many phones and many addresses besides other basic info.
The structure of my module state is like:
state: {
        details: {},
        phones: [],
        addresses: [],
        contacts: [
            {
                first_name: '',
                last_name: '',
                phones:[],
                addresses: []
            }
        ]
    },

Everything is working fine for the first array level: phones, addresses and contacts are mapped correctly.
Is possible to map the arrays inside the contacts array? I thought that doing something like this would work, but I'm getting Cannot read property 'map' of undefined" error.
...mapMultiRowFields('customer', { phones: "contacts.phones" }),
Thanks in advance

+1

Unfortunately, this is currently not possible. I want to keep this package as simple as possible so I don't have any plans adding this feature. Although, if somebody finds a simple solution to this I'd consider accepting a pull request. Thx!


Fixes sidebar styling in translucent mode

Nice work on this theme, it looks sharp! However I noticed that the theme doesn't fully respect translucent mode. It's subtle, but the folder and file names have an opaque background in translucent mode. This PR removes that background for translucent mode. Normal mode is left untouched.

The problem was more noticeable in light mode, and this also fixes that (even though I know that vampires don't like the light)

After using the theme a bit more, I found a couple more issues: search results had the same translucency issue that the file selector had, and my fix broke the "active file" styling. Both issues are fixed above.

Thank you for this find! As I don't normally use Windows I rarely get a taste of the transparency effect in Obsidian at all.
Did you test this change only on 0.16 insider builds or also on the current 0.15.9? I can definitely see the issue on 0.16 but I am unable to reproduce on 0.15 so right now I don't think updating obsidian.css (Which is used only for versions below 0.16) is neccessary here.
This is what the theme looks like on a Windows 11 VM without your patch applied on 0.15.9 for me:

I totally agree though that transparency is broken AF after 0.16. I will need to properly review your fix tomorrow though.

 Good catch. I thought that I specifically downloaded 0.15 yesterday to test in, but I didn't realize downgrading is more complicated than I thought. After actually downgrading I no longer see the issue with the default theme, so I removed that code.

Ran into the exact same problem as you. Also doesn't seem trivial to have both versions side by side to test. Let's just hope 0.16 gets pushed as a wide release soon.
Thank you for the fix, looks great in transparent mode now!
Hopefully Obsidian will also be able to implement transparent mode into the Linux build.

Yeah, it's surprisingly tricky, go figure. Glad I could help!
That would be nice: I also primarily use Linux, it would be nice to see it there. Thanks again for the theme: I've used Dracula for years, but I wasn't happy with any of the other Dracula themes on Obsidian. This one is great 👍


Temporarily stop updating the position

What is the user problem or growth opportunity you want to see solved?
I would like the current position not to change so that I can add images that have already been taken later.
How do you know that this problem exists today? Why is this important?
(Currently, the position is constantly adjusted when traveling by train. Or even when I open the app again, the position is adjusted to the current location).
I would like to be able to temporarily switch off this desired behavior.
Who will benefit from it?
all users
Anything else you would like to add?
see also: https://commons.wikimedia.org/wiki/Commons:Mobile_app/Feedback#Feedback_from_Molgreen_for_version_5.0.1~da0b2c28e_2

You are talking about the Nearby activity, right?
As a workaround for now, you can use an app such as "FakeGPS" to temporarily fake your location.

@nicolas-raoul Thanks for the tip. In the long term, I think it would be very nice if I could set this up directly in the Commons app.


Element Module Editor side not loading

Describe the bug
Describe the bug
MyCustomElement loads and functions properly
MyCustomElementEditor doesnt despite core lua suggesting it should load
The element works ingame but no editor UI functions.
Steps to reproduce the issue
To Reproduce
Steps to reproduce the behavior:
Main.xml add,
	<Elements directory="elements">
	    <element name="MyCustom"/>
	</Elements>

Directory elements/MyCustomElement.lua
MyCustomElement = MyCustomElement or class(MissionScriptEditor)
function MyCustomElement:create_element()
    self.super.create_element(self)
    self._element.class = "MyCustomElement"
end

Log file
No response
Minimal reproduction
No response

try
MyCustomElementEditor = MyCustomElementEditor or class(MissionScriptEditor)
function MyCustomElementEditor:create_element()
    self.super.create_element(self)
    self._element.class = "MyCustomElement"
end

try
MyCustomElementEditor = MyCustomElementEditor or class(MissionScriptEditor)
function MyCustomElementEditor:create_element()
    self.super.create_element(self)
    self._element.class = "MyCustomElement"
end

Doesnt seem to fix it, Ive also gone and reorganized by problem classes to use the proper Name-Element-Editor convention.

Did some poking, Editors Core.lua BLEInjectElements does not get run at all.
Logged MissionElementsModule and that prints, but nothing prints from the inject elements section of Beardlib Core.lua

The problem with it is that BLEInjectElements hook is added after ElementModule is finished with it's stuff.
It's like this;
Adding element X, calling BLEInjectElements hook (which does not exist yet)
Adding element Y, calling BLEInjectElements hook (which does not exist yet)
Adding BLEinjectElements hook


Rename 'BaseWorkflow'

What would you like to be added:
The name BaseWorkflow is not very clear by itself. It sounds like it's a base class extended by Workflow but it's more a "helper" that parses and serialises a Workflow. I would suggest WorkflowHelper for the moment even if it doesn't sound like the best possible choice.
Why is this needed:
For the sake of clarity/readbility/maintainability.

BaseWorkflow might not be the most appropriate name,  WorkflowHelper doesn't  seem appropriate either, as you mention.
Let's see how the sdk evolves, I am pretty sure that we will come up with a better one.

I thought of WorkflowConverter
WorkflowConverter.fromString(definition);
WorkflowConverter.toJson(workflow);
WorkflowConverter.toYaml(workflow);

In sdk-java we just have:
Workflow workflow = Workflow.fromSource(source);
where from* and to* methods are static
that seems fine to me if possible to do here as well

btw. i think its easier for users maybe if you just have also "fromSource" method and detect there if its json or yaml rather than having two separate from methods. use case for example is when you get workflow dsl from some editor or passed to you and you dont know which format it is

In sdk-java we just have:
Workflow workflow = Workflow.fromSource(source);
where from* and to* methods are static
that seems fine to me if possible to do here as well

A type Workflow is already exported by workflow.ts and I'm pretty sure it's generated, probably with json-schema-to-typescript, so it cannot be edited (even if I think @antmendoza is editing it to add './types', which, now that I think of it, sounds like a bad idea as this file is gonna be overriden next time a modification is made to the specification schema, but I digress). As far as I know (which is not very far so I can be wrong), it's not possible to extend a type in TS (meaning to 'externally' add methods/properties to a type). So, in the end, I don't think we can use Workflow.

Hi,
Workflow.fromxxx is also my personal preference, or something like new Workflow(new WorkflowFileSource()) / new Workflow(new WorkflowStringSource()), but as @JBBianchi says, Workflow is a type for now. It does not mean that we can not convert it into a class if we wanted.
Regarding to the generated types from json schema, I spend a couple of days (or more) trying to generate models/types automatically but I didn't manage to do it (probably I didn't provide the right config.. idk). Having had it would have saved a lot of time. This is why I am converting things like this  https://github.com/serverlessworkflow/sdk-typescript/blob/f0043c51f05121e5dd4dac7ca7a1b398350d155b/src/model/workflow.ts#L366 to a meaningful types. BTW, to have a types.ts file is just a way to "control" which types have been reviewed 🙄
My initial thought was to generate the types automatically and have something like the builder-pattern library to create the builders for us. But as I said before I didn't manage to generate decent types.
I don't think that regenerate the types is a good idea, but to apply to the actual ones the changes coming from the new json schema version.
Anyway, happy to rethink this and open to discuss ideas 😀


Allow default directives

Eventually it would be nice to specify the NORMALIZEWHITESPACE default on the command line.
E.g.,
doctest . -recurse -NORMALIZEWHITESPACE
or
doctest . -recurse +NORMALIZEWHITESPACE
(Not necessary for 0.4.0.)

OTOH, it would be good if the semantics of a doctest was obvious from the doctest alone. What would be the use case for this feature?

Its so that projects can run with stricter whitespace if they choose.  I just ran the Symbolic package with strict mode and fixed a couple minor things (https://github.com/cbm755/octsympy/commit/b49b27c4d7cf0f3545ecee0b2d5864394241c97d).

Ah, I understand. :+1:


ScriptExecution element is missing in UserJourneyBehaviors options list

The element ScriptExecution does not appear to be mentioned in the UserJourneyBehaviors list on this page.
It is only mentioned  here but is necessary to allow JavaScript customization.

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

ID: 1e3ce49f-746e-9326-9846-32d569558b65
Version Independent ID: 4978d164-555d-b3cc-2989-5246b0f44313
Content: RelyingParty - Azure Active Directory B2C
Content Source: articles/active-directory-b2c/relyingparty.md
Service: active-directory
Sub-service: b2c
GitHub Login: @mmacy
Microsoft Alias: marsma

Duplicate of #48579

Hello @KrishnaG-MSFT , this issue wasn't solved. I closed the duplicate because it was missing the necessary metadata when I created it. Can this or the duplicate be reopened?

@sgdesmet Sure. Reopened #48579


Update pylint invocation in run_all_tests to 1.3 compatible

The output format of pylint has changed to hide the filename.
Use a msg-format to get it back. Instructions here: http://docs.pylint.org/output.html

#32 switched pylint to 1.1 - module name is printed, filename is hidden.

#60 introduced depot_tools, which contains pylint 1.4.


[IMPROVEMENT] Expose actual size of a logical volume

Is your improvement request related to a feature? Please describe (👍 if you like this request)
Currently, the logic volume get result won't tell the actual size, then Longhorn cannot calculate the actual size for each volume.
	{
		"name": "dcb09a53-549b-4dd4-9612-3f129ca80518",
		"aliases": [
			"spdk-00/lvol0"
		],
		"product_name": "Logical Volume",
		"block_size": 4096,
		"num_blocks": 25600,
		"uuid": "dcb09a53-549b-4dd4-9612-3f129ca80518",
		"assigned_rate_limits": {
			"rw_ios_per_sec": 0,
			"rw_mbytes_per_sec": 0,
			"r_mbytes_per_sec": 0,
			"w_mbytes_per_sec": 0
		},
		"claimed": true,
		"claim_type": "exclusive_write",
		"zoned": false,
		"supported_io_types": {
			"read": true,
			"write": true,
			"unmap": true,
			"write_zeroes": true,
			"flush": false,
			"reset": true,
			"compare": false,
			"compare_and_write": false,
			"abort": false,
			"nvme_admin": false,
			"nvme_io": false
		},
		"driver_specific": {
			"lvol": {
				"lvol_store_uuid": "b6ec55cb-6615-42dc-8578-a4332bb4607f",
				"base_bdev": "spdk-00",
				"thin_provision": true,
				"snapshot": false,
				"clone": false
			}
		}
	}

Describe the solution you'd like
The logical volume get result should show the actual size/used block number
Additional context
N/A

The size of the logical volume can be obtained with the following formula:
block_size * num_blocks. In the example above the size of spdk-00/lvol0 is 100Mb

The size of the logical volume can be obtained with the following formula: block_size * num_blocks. In the example above the size of spdk-00/lvol0 is 100Mb

lvol can be thin-provisioned.
IIRC, this is the nominal size rather than the actual size.

Ok sorry, actual size/used block number.
About the information you need, is it the number of allocated blocks only in the live data right?

Ok sorry, actual size/used block number.
About the information you need, is it the number of allocated blocks only in the live data right?

Yes, the allocated blocks.

Check write_zeros if impact the num_allocated_blocks

Check write_zeros if impact the num_allocated_blocks

@derekbit  Yes, write_zeros allocate clusters in the same way a normal write do
@shuo-wu I can implement in blobstore a function to retrieve the number of allocated clusters, so the RPC can calculate the real size of the volume. To make that, I think the more performant solution is to insert another variable in spdk_blob_mut_data, otherwise I should lock cluster map every time to perform the calculation. But adding a new variable can be dangerous, because  we should add the new variable update every time on upstream is made a new development where the cluster map is modified.
So i want to understand when and how often Longhorn call this RPC.

Longhorn SPDK server fetch all lvols (bdev_lvol_get_lvols) every 5s (we can modify it if necessary but it cannot be too large). With this fetched info, the server will calculate the lvol and replica actual size. In other words, retrieving the number of allocated clusters will happen every several seconds.

BTW, how does the maintainer consider the missing of actual size/allocated cluster number in the lvol get result? If the upstream SPDK could accept this feature, do we still need to pay attention to the future cluster map modifications?

If we are able to make this development accepted on upstream, we will not need to pay this attention.

Our idea probably will be accepted on upstream and will be developed in shallow copy patch serie: if we have the actual size of a logical volume there is no need to calculate the total number of clusters to be copied

@DamiaSan
I get lost in the discussion. Could you help elaborate more on the design
of the actual size calculation? Thank you.
On Wed, Aug 2, 2023 at 2:38 PM Damiano Cipriani @.***>
wrote:

Our idea probably will be accepted on upstream and will be developed in
shallow copy patch serie: if we have the actual size of a logical volume
there is no need to calculate the total number of clusters to be copied

We will add a new variable to the spdk_blob_mut_data structure to store the actual number of cluster allocated. Every time the cluster map is updated this new variable will be updated accordingly.
This new variable will be accessed both from a new RPC to know the space allocated for a logical volume and from shallow copy status RPC to know the total number of cluster to be copied.

Then will we deprecate the shallow copy status check API after launching this actual size feature?

Then will we deprecate the shallow copy status check API after launching this actual size feature?
No, the shallow copy status check API will read the new variable instead make a calculation

This is done in #6388

@

Then will we deprecate the shallow copy status check API after launching this actual size feature?

No, the shallow copy status check API will read this new variable to understand how many clusters will be copied. Actually this number is calculated at the beginning of the shallow copy operation

It seems the actual size is calculated when doing shallow copy. Can we get the value anytime? cc @DamiaSan

Yes, it is exactly what I have just done. As soon as this development will end the review stage in gerrit upstream (see #6388 ), we will have a new filed in lvol dedicated section of bdev_get_bdevs RPC respose with the actual number of clusters allocated.

Upstream review is quite slow, I will port this development in our repo
cc @shuo-wu

The review process is done here:
https://review.spdk.io/gerrit/c/spdk/spdk/+/19712
https://review.spdk.io/gerrit/c/spdk/spdk/+/19748

@derekbit is the spdk-engine part also ready?

is the spdk-engine part also ready?

SPDK and go-spdk-engine are read. Waiting for the Shuo's snapshot part.

Moving back to implementation, and add @shuo-wu part of assignees.

is the spdk-engine part also ready?

SPDK and go-spdk-engine are read. Waiting for the Shuo's snapshot part. The actual size is set in snaoshot disk (lvol) info.

Hi @innobead & @DamiaSan :
I want to confirm whether the status of this ticket should be Implement or Ready For Testing.
Because I did not find any PR related to Shuo's snapshot in this ticket.

Moved this to implementation first. Wait for @DamiaSan update.

Pre Ready-For-Testing Checklist

[ ] Where is the reproduce steps/test steps documented?
The reproduce steps/test steps are at:

Create a Longhorn system (branch: master-head)
Enable v2-data-engine
Create a v2 volume
Write some data to v2 volume
Create a snaphsot. Check the snapshot size and the actual size of the volume
Repeat step 4 and 5

[ ] Does the PR include the explanation for the fix or the feature?

[ ] Have the backend code been merged (Manager, Engine, Instance Manager, BackupStore etc) (including backport-needed/*)?
The PR is at

https://github.com/longhorn/longhorn-ui/pull/676
https://github.com/longhorn/spdk/pull/24
https://github.com/longhorn/go-spdk-helper/pull/59

[ ] Which areas/issues this PR might have potential impacts on?
Area: v2 volume, snapshot, actual size
Issues

[ ] If labeled: require/LEP Has the Longhorn Enhancement Proposal PR submitted?
The LEP PR is at

[ ] If labeled: area/ui Has the UI issue filed or ready to be merged (including backport-needed/*)?
The UI issue/PR is at

https://github.com/longhorn/longhorn/issues/7524

[ ] If labeled: require/doc Has the necessary document PR submitted or merged (including backport-needed/*)?
The documentation issue/PR is at

[ ] If labeled: require/automation-engine Has the engine integration test been merged (including backport-needed/*)?
The engine automation PR is at

[ ] If labeled: require/manual-test-plan Has the manual test plan been documented?
The updated manual test plan is at

[ ] If the fix introduces the code for backward compatibility Has a separate issue been filed with the label release/obsolete-compatibility?
The compatibility issue is filed at

SPDK part is already merged: https://github.com/longhorn/spdk/pull/24

Verified pass on longhorn master(longhorn-ui 954076, spdk a8489c, go-spdk-helper 89d49f)
Create v2 volume, create 4 snapshots with diffenent size, from UI can see the actucal size is the sum of all snapshots.

Delete 1 of the snapshot, the volume actual size changed and equal to sum of all snapshots.


Include PrinterSDK

What does this change?
Include PrinterSDK and setup app so that dependent apps can be built with CI.
How do we test this change?

Describe how we can test this change.

Any screenshot for this change?
Post any screenshots for your feature, if any.
Checklist

[ ] Run the  script to ensure code quality.

merged as #8


Add: "Run code on window load"

I didn't see something like: "Run code on window load":
window.addEventListener('load', funtion () { ... });

if it is not there, probably it is a good idea to add it.
Thanks.

I think this approach is used in many cases in several posts. But it can be added as a post with a basic difficulty.


Try again

This panel made me loose my data, i dont expect to get that data back. whatever...
but even after reinstalling ubuntu serve 14.04.3 LTS x64, following the install instructions EXACTLY, 3 times over with 3 diffrent install's it still doesnt work, i mean i dont know if it works... nowhere on scales, pufferpanel or any of the wiki/community pages does it say the url it will be under. Ex. my website is shaybox.com. but whats it under? shaybox.com/panel? nope. i dont know. the config doesnt tell you, the apache2.conf text i had to add doesnt tell me it just sais /srv/PufferPanel/public.
Note: any hate comments will be ignored

The docs do actually tell you how to configure apache.

Like in your previous issue, #594 the data loss was your fault alone.
Please re-read the documentation and you'll be able to figure it out.

I know, i added the few lines to the apache2.conf but that still didnt fix it. i should also note that i used the automatic installer insted of downloading the files off github

We honestly suggest using nginx, not Apache.

Well what domain did you put during the installer? Or did you even run the installer lol

i entered panel.shaybox.com because that redirects to the server that i was using, the main domain is on github pages.

Please open an issue at http://community.pufferpanel.com/, the GitHub is primarily for bug reports, feature requests not getting support.

has anyone made a video on installing PufferPanel yet? i havnt been able to find one

why'd you do that?

Please open an issue at http://community.pufferpanel.com/, the GitHub is primarily for bug reports, feature requests not getting support.


Das Erste (ARD) Tagesschau missing?

German "Das Erste" (channel "daserste") has a daily program that seems to be strangely missing from the EPG? E.g. Monday, 20. February

19:50 - 19:55 "Wetter vor acht" is in the EPG
20:00 - 20:15 "Tagesschau" is missing
20:15 - 23:15 "Karneval in Köln" is in the EPG.

teleboy.ch web interface looks good, but does seem to be partially confusing it with Tagesschau on SRF1 https://www.teleboy.ch/en/tv-guide/ardhd/25336303/tagesschau

Sometimes I can reproduce it and sometimes not. I guess I hit some limit with the teleboy shadow API. I reduced the intervals that I parse down to only 20mins. Maybe this help

Tagesschau is back in the data. I am not sure if it was the timeframe or a bug from teleboy. Anyhow it is there again. Feel free to reopen the issue if it is missing in the future


Implement initial type-inference support for Index

This doesn't actually infer indexing types, but at least it walks sub-expressions!
Initially, I wanted to make Index just a new kind of BinOp (b/c indexing is kind of a binary op), so I've refactoring binop handing a bit.
However, in the end I've decided to add a separate expr kind for Index, because foo[0], &foo[1] and &mut foo[1] all seem to need slightly different handing, which is not binop-like
r? @flodiebold

LGTM, I like the reorganization of the binary ops!
bors r+


seat: add debug logs when validating grab serials

Makes it easier to debug when something goes wrong, e.g. button_count stuck
to 2 because the compositor ate a button release event.

Thanks!


Swap to PlayerObject

VRC added a new thing called PlayerObject.
OpenPutt should probably swap to using that instead of CyanPlayerObjectPool. Should simplify a few things.

0.8.6 had this included


Can't upload file

I'm trying to upload a file that can then be used to create a fine-tune. It's been passed through the CLI validator so I know it's correct, but I keep getting the following error from Axios:
data: {
      error: {
        message: 'The browser (or proxy) sent a request that this server could not understand.',
        type: 'server_error',
        param: null,
        code: null
      }
    }

Here's how I'm trying to upload the file;
const configuration = new Configuration({
    apiKey: process.env.OPENAI_API_KEY,
  });
  const openai = new OpenAIApi(configuration);

await openai.createFile(`${uploadFilename}.jsonl`, "fine-tune");

Am I doing this right? I can't seem to see what the problem could be.

Hi Tohaker, in the examples they are sending the file as a readable stream. Using createReadStream() from the fs module.
Did you tried this?
const fs = require("fs");

const { Configuration, OpenAIApi } = require("openai");

const configuration = new Configuration({
  apiKey: process.env.OPENAI_API_KEY,
});

const openai = new OpenAIApi(configuration);

const response = await openai.createFile(
  fs.createReadStream("puppy.jsonl"),
  "answers"
);

Thanks, that worked. The description in the API differs from how this is implemented, I'll see if I can raise a PR


CAMEL-13149: camel-jms should not use activemq-camel during testing b…

…ut use plain jms and jms client apis. Work in progress.

I'll port the same approach to all the xml file


fix: revert heartbeat change

Codecov Report

Merging #76 (fdffccc) into master (9a96b0a) will not change coverage.
Report is 1 commits behind head on master.
The diff coverage is n/a.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
@@            Coverage Diff            @@
##            master       #76   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            6         6
  Lines          511       510    -1
=========================================
- Hits           511       510    -1

Flag
Coverage Δ

tests
100.00% <ø> (ø)

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

Files
Coverage Δ

pyrmq/consumer.py
100.00% <ø> (ø)


Error using forms validation on Base master: Uncaught TypeError: $(...).validate is not a function

Hi,
Just using latest base master.
Did a meteor update and updated npm packages to their latest versions.
Then did a meteor npm install to fetch all node_modules.
When I try to login or signup:
signup.js:35
Uncaught TypeError: $(...).validate is not a function
validate @ signup.js:35
handleSignup@ signup.js:74
componentDidMount@ signup.js:8
invokeComponentDidMountWithTimer @ ReactCompositeComponent.js:60
_assign.notifyAll @ CallbackQueue.js:67
...

Seems the jquery-validation import is not kicking in..
Any idea ?
My devDeps:
"devDependencies": {
    "chimp": "^0.40.4",
    "eslint": "^3.4.0",
    "eslint-config-airbnb": "^10.0.1",
    "eslint-plugin-import": "^1.14.0",
    "eslint-plugin-jsx-a11y": "^2.2.0",
    "eslint-plugin-meteor": "^4.0.0",
    "eslint-plugin-react": "^6.2.0",
    "faker": "^3.1.0"
  }

and my prdouction deps:
"dependencies": {
    "bcrypt": "^0.8.7",
    "bootstrap": "^3.3.7",
    "jquery": "^3.1.0",
    "jquery-validation": "^1.15.1",
    "react": "^15.3.1",
    "react-addons-pure-render-mixin": "^15.3.1",
    "react-bootstrap": "^0.30.3",
    "react-dom": "^15.3.1",
    "react-komposer": "^1.13.1",
    "react-router": "^2.7.0",
    "react-router-bootstrap": "^0.23.1"
  }

I tried downgrading jquery to 2.2.4 just in case...but it doesn't change anything. Issue is still there...

This should be patched in the 4.8.0 release!


feat: add checks for 2.3 Security Options

This PR adds policies for part 2.3 Security Options:

<IP_ADDRESS> Ensure 'Accounts: Block Microsoft accounts' is set to 'Users can't add or log on with Microsoft accounts' (Automated)
<IP_ADDRESS> Ensure 'Accounts: Guest account status' is set to 'Disabled' (MS only) (Automated)
<IP_ADDRESS> Ensure 'Accounts: Limit local account use of blank passwords to console logon only' is set to 'Enabled' (Automated)
<IP_ADDRESS> Configure 'Accounts: Rename administrator account' (Automated)
<IP_ADDRESS> Configure 'Accounts: Rename guest account' (Automated)

@chen-keinan this PR is ready for review. thanks!


Auto import inserts import into a comment

From @yume-chan on November 22, 2017 2:8

VSCode Version: Code - Insiders 1.19.0-insider (d294b25f2dd5c96d89bd23f82bd5fd2c0958a4bd, 2017-11-21T06:34:51.660Z)
OS Version: Windows_NT x64 10.0.16299
Extensions: Extensions are disabled

Steps to Reproduce:

Create a new folder
Open in Code
npm i @types/node
Create index.js
Type /// <reference types="node" />
Type setTimeout, select the auto import suggest.

Expected Result:
/// <reference types="node" />

import { setTimeout } from "timers";

setTimeout

Actual Result:
/// <reference types="node" />import { setTimeout } from "timers";

setTimeout

Copied from original issue: Microsoft/vscode#38914

Only seems to happen on windows. Here's the code action we get back:
 "codeActions": [
            {
                "description": "Import 'setTimeout' from \"timers\".",
                "changes": [
                    {
                        "fileName": "c:/source/test/y.js",
                        "textChanges": [
                            {
                                "start": {
                                    "line": 1,
                                    "offset": 33
                                },
                                "end": {
                                    "line": 1,
                                    "offset": 33
                                },
                                "newText": "import { setTimeout } from \"timers\";\r\n\r\n"
                            }
                        ]
                    }
                ]
            }
        ],

From https://github.com/Microsoft/TypeScript/issues/20292#issuecomment-347473694
import { read } from "fs";

#!/usr/bin/env node

I'm not reproducing this with typescript@next on windows in a CRLF file.

The case that was quoted in https://github.com/Microsoft/TypeScript/issues/20293#issuecomment-347608687 appeared on my workstation.
That happened on Windows in a file with LF.

I could swear that @amcasey mentioned noticing this before and having a fix for it; Am I wrong?

I'm unable to reproduce either error (the original or the shebang one which should have been fixed by #20306) on windows in either an LF or CRLF file.


Add support for after_create_commit, after_update_commit and after_destroy_commit

Allows observers to define methods methods named after_create_commit, after_update_commit and after_destroy_commit and have them called when approriate.

@cfis @kaspth Is this PR still active or have a chance to merge?

Looks not so active. Feel free to send a new PR.


Lack of rules to avoid intentional abuse of power in someone else's subproject

Introduction

This issue was raised in discussions and during the sequence of actions for PR #75740. The current Zephyr policy and documentation do not clearly explain the roles and permissions of "collaborators" and "maintainers" outside of their subprojects.
Problem description

The "collaborator" user from one project has added the 3rd person from his company as a "maintainer" to the unrelated project and took the maintainer's role for this project without any public announcement or permission.
Proposed change

Roles and permissions have to be described in more detail. In particular, what exactly users with write permissions are allowed to do outside of there subprojects. Also rules for revoking permissions from violators should be added.
Detailed RFC

Proposed change (Detailed)

Clarification will help reduce potential conflicts of interest and avoid the nasty "Embrace, Extend and Extinguish" practice, where someone with write permission is hired by a company and allows that company to shortcut or, worse, to bypass the commit acceptance process without testing, discussion, or taking the community's interests into account.
Dependencies

Concerns and Unresolved Questions

Alternatives

@avolkov-1221 Is it about https://github.com/zephyrproject-rtos/zephyr/pull/75740?
The bot assigned it incorrectly, probably due to clock control changes. But I guess it is not just that, right?

Yes,

@avolkov-1221 Is it about #75740? The bot assigned it incorrectly, probably due to clock control changes. But I guess it is not just that, right?

Yes, it's. The problem is not in the bot, but the overstepped authority by Yiannis Damigos ("collaborator"): he has made a person with no experience with Zephyr as a "maintainer", and then assigned him to a competing PR as an "Assignees".

@avolkov-1221 Is it about #75740? The bot assigned it incorrectly, probably due to clock control changes. But I guess it is not just that, right?

PS @jfischer-no my last reply is here https://github.com/zephyrproject-rtos/zephyr/pull/75740#issuecomment-2299185060

https://github.com/zephyrproject-rtos/zephyr/pull/75498 updated Renesas RA Platforms and hal_renesas maintainers. I would not blame Yiannis Damigos. The PR was approved and merged as usual. The trust probably comes from the fact that this vendor joined the project. Whether a vendor then inherits all the boards, and a vendor representative becomes a maintainer, is an interesting question. By the way, it is not that dramatic; the person with no experience is not the only maintainer in the area.

#75498 updated Renesas RA Platforms and hal_renesas maintainers. I would not blame Yiannis Damigos. The PR was approved and merged as usual. The trust probably comes from the fact that this vendor joined the project. Whether a vendor then inherits all the boards, and a vendor representative becomes a maintainer, is an interesting question. By the way, it is not that dramatic; the person with no experience is not the only maintainer in the area.

I agree that Yannis probably acted with the best of intentions, and I don't really wish to blame him either, but the result doesn't look so good in any case. We have a real 'conflict of interest' with Renesas (they wish to push their FSP's dependency at any cost), which I personally resisted. As a result, my PR is frozen, regardless of the quality of my code, but due to personal decision. IMO "assignee" have to be neutral 3rd party person, not from competitive subproject.
I think that the situation with 2 competing PRs at the same time will most likely not happen again, however the situation with overstepped authority is likely to happen repeatedly. Therefore, I propose to clarify the hierarchy and boundaries of authority, in order to avoid such conflicts in the future.
For example, either the project maintainer or the top-level one, as an exception, can add a new maintainer/collaborators and reassign "assignee", but not some person from unrelated subproject.
As far as I remember, this is exactly how it's done in Linux: maintainers outside of their projects are not so different from regular developers and do not have increased permissions. I propose to reuse it, only replacing almighty Linus with WG :).

@avolkov-1221 Is it about #75740? The bot assigned it incorrectly, probably due to clock control changes. But I guess it is not just that, right?

PS @jfischer-no my last reply is here #75740 (comment)

@ydamigos Are you kidding me? It was you, who pushed him through as a maintainer, violating Zephyr's rules:
He became a maintainer without a single verified commit, just based on trust in you.

PR #75498 was approved by the maintainer of RA platform before it was merged. Moreover, I asked specifically about it https://github.com/zephyrproject-rtos/zephyr/pull/75498#issuecomment-2217892555.

And the first PR from this team contained serious violations of many of Zephyr's code guide requirements, which shows that they lack experience. He shouldn't have become a "maintainer", nor should they have become "collaborators" without proper preparation.

Are talking about PR #72150. Please provide a list of the violations so we can address them. Afaik, Zephyr's code guide requirements don't apply to vendor HAL, do they?
Kheim, Thao and Duy are very familiar with RA family and FSP. I believe they are perfect candidates for maintainer and collaborators role. They may lack experience with Zephyr code base but we should support them and help them to gain it. I believe exposing them to Zephyr's community is the perfect and proper preparation for them to grow as developers (I am talking from personal experience). As I see it, it's a win win situation for Zephyr project / community and them.

Then, as a "collaborator", not "maintainer", in an external project, you overstepped your authority and assigned him responsible for a competing PR.

I just added one of the maintainers, should I change it to @soburi instead?

Yannis, this looks like some dirty political game on your part to pushing vendor lock at any cost, rather than proper code collaboration within the community.

There was already PR #71174 which added support for RA family which using FSP not originating from Renesas which was approved and merged. I don't believe that Renesas team is doing anything "behind the scenes".

@avolkov-1221 it's a bit tricky to understand the issue if you don't reference to the controversial PR/issues, at least we have inspector @jfischer-no to the rescue, but seriously, just link the PR/issues that you think need to be reevaluated an then one could check them out and draw some conclusion, I really don't see the point in being vague, people are just going to either waste time or disengage. Anyway, I see two problems here:

We have a real 'conflict of interest' with Renesas (they wish to push their FSP's dependency at any cost), which I personally resisted. As a result, my PR is frozen, regardless of the quality of my code, but due to personal decision. And we don’t have a clear arbitration on how to resolve this situation. IMO "assignee" have to be neutral 3rd party person, not from competitive subproject.

This sounds like an architecture issue, should probably go through the Arch WG, ideally with a presentation of the pro/con of each approach (I'm assuing FSP is a Renesas hal and the discussion is whether to use it or not?). This is a technical problem and should be threated as such, the project should evaluate and adopt the technically superior solution.

Yes, it's. The problem is not in the bot, but the overstepped authority by Yiannis Damigos ("collaborator"): he has made a person with no experience with Zephyr as a "maintainer", and then assigned him to a competing PR as an "Assignees".

This is more of a process problem, it may make sense to have stricter criteria for the various roles, maybe have some automation to further restrict who can be set as "assignee" to a pull request since that field has lot of implication (this came out at release meeting yesterday, again with no context, but it makes more sense now).

The "collaborator" user from one project has added the 3rd person from his company as a "maintainer" to the unrelated project and took the maintainer's role for this project without any public announcement or permission.

if you are referring to https://github.com/zephyrproject-rtos/zephyr/pull/75498:

This is the documented process.
change was submitted and was reviewed and approved, this is the same as "public announcement" (submitting a PR) and permission (Review + Approval)

from his company as a "maintainer" to the unrelated project

Anyone can propose collaborators to other areas of the project, there is no limitation on this. This will still have to be reviewed and approved.
Unless I am missing something else, I do not see any violation or abuse of power here.

I've tried to elevate and concentrate here only on the hierarchy/permissions/borders of authority problem, without involving the personalities. Sorry if not so successful. I've added the PR id to the description.

Not a problem, I acknowledge and admire the effort, but I think that the context is important and leaving it out for the sake of not pointing finger is just confusing.

@nashif

The "collaborator" user from one project has added the 3rd person from his company as a "maintainer" to the unrelated project and took the maintainer's role for this project without any public announcement or permission.

if you are referring to #75498:

This is the documented process.
change was submitted and was reviewed and approved, this is the same as "public announcement" (submitting a PR) and permission (Review + Approval)

from his company as a "maintainer" to the unrelated project

Anyone can propose collaborators to other areas of the project, there is no limitation on this. This will still have to be reviewed and approved.

The proposal of colleagues and acceptance them for any roles is entirely legal, but the issue is somewhat different: persons without any real experience in Zephyr development were proposed and accepted for roles with extended permissions, whereas Zephyr's "meritocracy" policy does not suppose it. At least, there qualification should be confirmed before, through accepted PR(s).

Unless I am missing something else, I do not see any violation or abuse of power here.

The "abuse of power" in this case occurred when a developer with "collaborator" role in one subproject started acting as a maintainer in a subproject that was not directly related to him. As I understand it, he had to do this exactly because the colleagues he recommended did not have sufficient experience. Moreover, he assigned this colleague as the "assignee" for a competing PR that already had unresolved "conflict of interests", which only made the situation worse. It started to look like unfair competition.

Agree, the "FSP" (and more generally, manufacturers HALs in the modules) is other problem, and IMHO now is a real headache. Actually almost unrelated to the topic. Would you like me to create a separate ticket for this?

Yeah, based on what I see here it seems like it may be worth keeping it as a separate conversation.

I agree that Yannis probably acted with the best of intentions, and I don't really wish to blame him either, but the result doesn't look so good in any case. We have a real 'conflict of interest' with Renesas (they wish to push their FSP's dependency at any cost), which I personally resisted. As a result, my PR is frozen, regardless of the quality of my code, but due to personal decision. And we don’t have a clear arbitration on how to resolve this situation. IMO "assignee" have to be neutral 3rd party person, not from competitive subproject.
I think that the situation with 2 competing PRs at the same time will most likely not happen again, however the situation with overstepped authority is likely to happen repeatedly. Therefore, I propose to clarify the hierarchy and boundaries of authority, in order to avoid such conflicts in the future. For example, either the project maintainer or the top-level one, as an exception, can add a new maintainer/collaborators and reassign "assignee", but not some person from unrelated subproject.
As far as I remember, this is exactly how it's done in Linux: maintainers outside of their projects are not so different from regular developers and do not have increased permissions. I propose to reuse it, only replacing almighty Linus with WG :).

At the risk of treading on sensitive ground here I want to point out a couple of things:

in the end, it doesn't matter whether the person was a maintainer or a collaborator or a vendor contributor. They are a contributor in this community and as such have the right to put a block on any PR and then defend that block. It is the obligations of the parties involved to discuss and attempt to come to some consensus.
We have had instances of competing PRs multiple times and most of the time they get resolved between the  contributors without having to be raised any higher. In the many years I've been with the project I actually only remember one such competing PRs issue reach all the way to the TSC level for resolution. It was unfortunate for all parties involved that it couldn't be resolved in an earlier stage
We have a defined process for dealing with this and escalating things. This includes the roles and responsibilities for both the contributor, any objectors, and the Assignee. Please consult the following: https://docs.zephyrproject.org/latest/contribute/contributor_expectations.html#pr-review-escalation

have the right to put a block on any PR and then defend that block

Let's avoid the language of "block" please. In github you are able to request changes that can be considered or also dismissed. When you request changes, you do not block anything, you basically providing feedback and requesting it to be considered.

I agree that Yannis probably acted with the best of intentions, and I don't really wish to blame him either, but the result doesn't look so good in any case. We have a real 'conflict of interest' with Renesas (they wish to push their FSP's dependency at any cost), which I personally resisted. As a result, my PR is frozen, regardless of the quality of my code, but due to personal decision. And we don’t have a clear arbitration on how to resolve this situation. IMO "assignee" have to be neutral 3rd party person, not from competitive subproject.
I think that the situation with 2 competing PRs at the same time will most likely not happen again, however the situation with overstepped authority is likely to happen repeatedly. Therefore, I propose to clarify the hierarchy and boundaries of authority, in order to avoid such conflicts in the future. For example, either the project maintainer or the top-level one, as an exception, can add a new maintainer/collaborators and reassign "assignee", but not some person from unrelated subproject.
As far as I remember, this is exactly how it's done in Linux: maintainers outside of their projects are not so different from regular developers and do not have increased permissions. I propose to reuse it, only replacing almighty Linus with WG :).

At the risk of treading on sensitive ground here I want to point out a couple of things:

in the end, it doesn't matter whether the person was a maintainer or a collaborator or a vendor contributor. They are a contributor in this community and as such have the right to put a block on any PR and then defend that block. It is the obligations of the parties involved to discuss and attempt to come to some consensus.

You are describing a normal situation, as it should be. Before this case, I participated in development in exactly this way. However here we have a little bit different situation: maintainer/assignee actively moving forward his competing solution at the same time with reviewing mine. For me it's "conflict of interest", that should be avoided.

We have had instances of competing PRs multiple times and most of the time they get resolved between the  contributors without having to be raised any higher. In the many years I've been with the project I actually only remember one such competing PRs issue reach all the way to the TSC level for resolution. It was unfortunate for all parties involved that it couldn't be resolved in an earlier stage

Unfortunately, until last week my requests to discuss and re-synchronize our PRs were ignored on Renesas side.

We have a defined process for dealing with this and escalating things. This includes the roles and responsibilities for both the contributor, any objectors, and the Assignee. Please consult the following:

https://docs.zephyrproject.org/latest/contribute/contributor_expectations.html#pr-review-escalation https://docs.zephyrproject.org/latest/project/project_roles.html#assignee

These docos don't address the situation where the "assignee" is not interested in accepting the PR due to a conflict of interest.
@nashif @jfischer-no  Btw the description of escalation procedure is slightly irrelevant: I, as the author of the PR, don't have permission to change my PR's labels and can't assign the "Architecture Review" one.

Unfortunately, until last week my requests to discuss and re-synchronize our PRs were ignored on Renesas side.

@avolkov-1221 Could you help understand what to you mean by "were ignored on Renesas side"? We were discussing on discord (https://discord.com/channels/720317445772017664/1263700276943126629), weren't we?

Unfortunately, until last week my requests to discuss and re-synchronize our PRs were ignored on Renesas side.

@avolkov-1221 Could you help me understand what do you mean by "were ignored on Renesas side"? We were discussing on discord (https://discord.com/channels/720317445772017664/1263700276943126629), weren't we?

My sync request is dated July 19th. Some meaningful discussion started after you joined the thread (but again, it is not your project). However I didn't get anything reasonable that "use our HAL. Wait for the HAL, FSP, whatsoever completed", and in the same time Renesas actively pushing there competitive code.
Btw Yannis, it has been your choice to draw everyone's attention to this Discord's thread. I wouldn't do that. But since we've started, I'll take the next step, although I hate discussing anyone’s skills, but it's related to this topic.
@nashif the chat with @KhiemNg (I don't have any feedback from any of his team members), and especially last night's one clearly demonstrated that:

his English level is not enough for the maintainer role;
his knowledge of Renesas SOCs is not so well (RA2A1 and RA2LA1 related topic);
his knowledge of ARM arch should be improved, at least. Topic about VTOR. It’s him, as the maintainer and Renesas employee, who should explain to me what VTOR is, not vice versa.

Sorry, but we're back to the "prove qualification before assigning to any significant role, without any exceptions" topic. I think the above is a good demonstration that the assumption per se about the high qualifications of the vendor's software engineers are not always correct. I suppose that almost every experienced developer here can recall similar examples.

docs.zephyrproject.org/latest/contribute/contributor_expectations.html#pr-review-escalation docs.zephyrproject.org/latest/project/project_roles.html#assignee

These docos don't address the situation where the "assignee" is not interested in accepting the PR due to a conflict of interest.
@nashif @jfischer-no Btw the description of escalation procedure is slightly irrelevant: I, as the author of the PR, don't have permission to change my PR's labels and can't assign the "Architecture Review" one.

@avolkov-1221 the process is available to all:

"Contributors may escalate PRs outside of the Zephyr Dev Meeting triage process as follows:"

I'll admit that if you are not in the contributors general list I think you may not be able to put a label on it but you can post a comment in the PR requesting this label and it will be done by the folks already engaged. This is not gated by the assignee. If you disagree that the process is not clear then please suggest some clarifying language.
I recommend that you read through the links and then follow the process here. If any of the parties involved feel they are at an impasse discussing things in the actual PR or over discord then setup an agenda item in the Zephyr Dev Meeting. It is a weekly meeting on Thursday.

"Escalation can be triggered by any party participating in the review process (assignee, reviewers or the original author of the change)"

There is the weekly architecture call for more detailed discussions. And if that fails to resolve the issues the final path is to bring this to the TSC level.

My sync request is dated July 19th. Some meaningful discussion started after you joined the thread (but again, it is not your project). However I didn't get anything reasonable that "use our HAL. Wait for the HAL, FSP, whatsoever completed", and in the same time Renesas actively pushing there competitive code.
Btw Yannis, it has been your choice to draw everyone's attention to this Discord's thread. I wouldn't do that. But since we've started, I'll take the next step, although I hate discussing anyone’s skills, but it's related to this topic.
@nashif the chat with @khiemng (I don't have any feedback from any of his team members), and especially last night's one clearly demonstrated that:

his English level is not enough for the maintainer role;
his knowledge of Renesas SOCs is not so well (RA2A1 and RA2LA1 related topic);
his knowledge of ARM arch should be improved, at least. Topic about VTOR. It’s him, as the maintainer and Renesas employee, who should explain to me what VTOR is, not vice versa.

@avolkov-1221  Sorry, but this needs to stop. What you are saying here is a violation of the project code of conduct and it is getting way too personal.

Sorry, but we're back to the "prove qualification before assigning to any significant role, without any exceptions" topic. I think the above is a good demonstration that the assumption per se about the high qualifications of the vendor's software engineers are not always correct. I suppose that almost every experienced developer here can recall similar examples.

There is nothing to prove here. The process was followed and the decision to add @KhiemNguyenT  into the project was mine and based on merits and the fact that @KhiemNguyenT representing the vendor the platforms of the area in question. This is something we did in the past for other platforms.
Some aspects of the process are not perfect and can always be improved, but it should not get to such strong negative language. So let's focus on improving the process.
Re-assigning from one maintainer (wrongly assigned by bot) to another maintainer (correct maintainer based on the MAINTAINER.yml file) by a collaborator in the project maybe be not completely OK, but it was not an abuse of power as you describe, someone was trying to set the record straight because nobody else did that.
Please deal with the technical and code related issues as a converation in the PR like we do with any PR, who is assigned and if someone has the experience will be reflected in such technical discussion.

I apologize to everyone (especially @KhiemNguyenT  and @ydamigos), I agree that I crossed the line.  I'll trying this discussion as neutral as it possible, without any personalities.

Please deal with the technical and code related issues as a converation in the PR like we do with any PR, who is assigned and if someone has the experience will be reflected in such technical discussion.

@nashif let me clarify my opinion:

The current procedure of maintainers assignment is defined in such a way that any person can become one. At the same time, no minimal protection against unfair or unappropriated assignment is provided, and the decision is made only on the basis of personal opinion.
as a result of completely legal actions, we have a rather serious conflict out of nowhere.
to decrease the risque of repetition such situation in the future, I suggested making the assignment more regulated with minimized human factor, and only after the minimum requirements for the applicant have been met (accepted PR  and/or active development involvement). Will this offend anyone or will make the code worse? I sincerely don't understand why the assignment cannot be postponed after the first PR acceptance?

I don't offer to revert any already accepted decisions. I've suggested only to update the assignment guideline accordingly.

I've suggested only to update the assignment guideline accordingly.

How would you suggest to update those, precisely?

I've suggested only to update the assignment guideline accordingly.

How would you suggest to update those, precisely?

Something like this:
"
Maintainer
.....
Contributors or Collaborators are promoted to the Maintainer role by adding the GitHub user name to one or more maintainers sections of the MAINTAINERS File in the Zephyr repository.
All applicants, other than Contributors or Collaborators, shall prove their qualification by having an approved PR and demonstrating sufficient knowledge of English. However any Contributor or Collaborator can be promoted without any additional checks.
"
The English language requirement is optional.

I do not think sufficient English is a requirement (what English, by the way?). In my opinion, someone does not need to speak English at all as long as they can help themselves with tools. I do not think the discussion about this is wise or useful, but I do not speak good English either.
What I think makes sense is that a person who is not a contributor in any area of the Zephyr tree would need TSC approval to become a maintainer.

I do not think sufficient English is a requirement (what English, by the way?). In my opinion, someone does not need to speak English at all as long as they can help themselves with tools. I do not think the discussion about this is wise or useful, but I do not speak good English either.
What I think makes sense is that a person who is not a contributor in any area of the Zephyr tree would need TSC approval to become a maintainer.

As I mentioned earlier, the English language requirement might be excessive and could be removed. However, some minimal qualification checks should still be performed. The maintainer has too many privileges, so he should not be a random newbie. Actually I suggested an approved PR requirement not only as a qualification test but also for educational purposes. Certain aspects that are obvious to a permanent member of the Zephyr community may be unfamiliar and unclear to a 3rd party developer, regardless of his experience and qualifications. But as an exception for some well known person, TSC approval would be probably enough.

Collaboration requires communication and communication requires a common language. I don't think pretending otherwise is "wise or useful". I have worked for a couple decades with people from various countries, various languages and varied English levels. Even when everyone does their best, the less natural language people have in common and the more difficult the communication is and the more frequent the misunderstandings are. Interestingly enough the current discussion is to some extend a demonstration: I have not seen anyone requesting "fluent" or even "good" English. At the risk of stating the obvious, a language is not just a collection of words, it also represents a culture, some social norms and it shapes the way you think.  BTW how could anyone follow a Code of Conduct without a minimal understanding of it? You can't be respectful and welcoming with a poor choice of poorly translated words.
Natural language differences are hard enough between teammates in the same company, under the same direction and working towards the same goals. But maintainership and the corresponding code reviews require handling more conflicts which raises potential communication issues to a whole new level. Working over the Internet does not help either. A great maintainer has good communication skills and language is an obvious part of that.
To be clear: I have close to zero knowledge of the particular situation that triggered all this. I'm only commenting about maintainership  and natural languages in general. I believe this is on-topic.
I don't have any simple solution to offer either. I'm not suggesting any language "exam" or anything like it. I realize selecting a maintainer is really hard, that volunteers are scarce, that language is far from the only factor, etc. I'm merely stating we can't pretend that English does not matter, that's simply not true. Trying to dismiss the natural language question will not make it go away. If considering the English level of maintainers is inappropriate then maybe it can be wrapped under some more general umbrella like "a record of appropriate communication skills"? Hopefully everyone can agree those skills matter.

Collaboration requires communication and communication requires a common language. I don't think pretending otherwise is "wise or useful". I have worked for a couple decades with people from various countries, various languages and varied English levels. Even when everyone does their best, the less natural language people have in common and the more difficult the communication is and the more frequent the misunderstandings are. Interestingly enough the current discussion is to some extend a demonstration: I have not seen anyone requesting "fluent" or even "good" English. At the risk of stating the obvious, a language is not just a collection of words, it also represents a culture, some social norms and it shapes the way you think. BTW how could anyone follow a Code of Conduct without a minimal understanding of it? You can't be respectful and welcoming with a poor choice of poorly translated words.
Natural language differences are hard enough between teammates in the same company, under the same direction and working towards the same goals. But maintainership and the corresponding code reviews require handling more conflicts which raises potential communication issues to a whole new level. Working over the Internet does not help either. A great maintainer has good communication skills and language is an obvious part of that.
To be clear: I have close to zero knowledge of the particular situation that triggered all this. I'm only commenting about maintainership and natural languages in general. I believe this is on-topic.
I don't have any simple solution to offer either. I'm not suggesting any language "exam" or anything like it. I realize selecting a maintainer is really hard, that volunteers are scarce, that language is far from the only factor, etc. I'm merely stating we can't pretend that English does not matter, that's simply not true. Trying to dismiss the natural language question will not make it go away. If considering the English level of maintainers is inappropriate then maybe it can be wrapped under some more general umbrella like "a record of appropriate communication skills"? Hopefully everyone can agree those skills matter.

Thank you so much for your addition. This is exactly what I meant: a maintainer must be able to explain his suggestions in a sufficiently clear and kind manner. If, for example, he uses the imperative mood simply due to lack of experience, it will not matter to the contributors. The result will be equally bad, regardless of his initial intentions.
So, the addendum might look like this:
All applicants, other than Contributors with Triage permission or Collaborators, shall prove their qualification by having an approved PR and demonstrate appropriate communication skills to fulfill their duties as maintainers. However any Contributor with Triage permission or Collaborator can be promoted without any additional checks.
Additionally, in exceptional cases, the TSC may also promote a well known person to the position of maintainer.

EDIT:

(what English, by the way?)

https://en.wikipedia.org/wiki/International_English :-)
... as in: https://en.wikipedia.org/wiki/Perfect_is_the_enemy_of_good

:))

Collaboration requires communication and communication requires a common language. I don't think pretending otherwise is "wise or useful". I have worked for a couple decades with people from various countries, various languages and varied English levels. Even when everyone does their best, the less natural language people have in common and the more difficult the communication is and the more frequent the misunderstandings are.

Most of the time it helps to follow the context and use simpler language.
Here I will stick to the point that discussing it is not wise and not helpful. Especially because the statements in this regard were not true.

https://github.com/zephyrproject-rtos/zephyr/issues/77255#issuecomment-2305092258

Interestingly enough the current discussion is to some extend a demonstration: I have not seen anyone requesting "fluent" or even "good" English. At the risk of stating the obvious, a language is not just a collection of words, it also represents a culture, some social norms and it shapes the way you think. BTW how could anyone follow a Code of Conduct without a minimal understanding of it? You can't be respectful and welcoming with a poor choice of poorly translated words.

Can the barbarians not be respectful because they do not speak the languages of the noble lords?

The current Maintainer section in the project roles states:

Contributors or Collaborators are promoted to the Maintainer role by adding the GitHub user name to one or more maintainers sections of the MAINTAINERS File in the Zephyr repository.

To become a Contributor with Triage permission states:

Contributors who show dedication and skill are granted the Triage permission level to the Zephyr GitHub repository.

So the missing piece seems to be defining the process for adding a maintainer that is not currently a contributor with triage or a collaborator.  As @jfischer-no  suggested, I like the idea of requiring TSC approval for adding a maintainer that skips the contributor/collaborator steps.
I don't think adding a vague requirement of "demonstrating appropriate communication skills" is warranted.

So the missing piece seems to be defining the process for adding a maintainer that is not currently a contributor with triage or a collaborator. As @jfischer-no suggested, I like the idea of requiring TSC approval for adding a maintainer that skips the contributor/collaborator steps.

I like that idea as well.

Closing as fixed by https://github.com/zephyrproject-rtos/zephyr/pull/77933


Must not accept UNSUBSCRIBE with zero topics

[MQTT-3.10.3-2]
The Payload of an UNSUBSCRIBE packet MUST contain at least one Topic Filter. An UNSUBSCRIBE >packet with no payload is a protocol violation.

@ioolkos please review, using iOS mqttinspector app.

confirmed: fixed

Thanks!


Python 3.6 compatibility

This PR updates OG-USA to run on both Python 2.7 and Python 3.6.
cc @rickecon

@jdebacker what do you think about moving the try/except logic into a function?
Then, you could do something like:
def safe_read_pickle(file_path):
    with open(file_path, 'rb') as f:
        try:
            obj = pickle.load(f, encoding='latin1')
        except TypeError:
            obj = pickle.load(f)
    return obj

That way you don't have so many of the try/except clauses in the code base. This would also make changing the logic around reading pickle files easier in the future since you would only have to change it in the function and not a bunch of times throughout the code-base.

Ok - I'm going to incorporate @hdoupe's suggestion to simplify the code a bit.
@rickecon, I think PB is still running 2.7.  So I think we go ahead an maintain 2.7 compatibility for OG-USA for now (since it already has it).  We can then simplify the code by dropping lines necessary only for backward compatibility in a future PR (around the time PB switches over).


Fix super-easy deployment script

Issue #, if available:
Closes #441
Description of changes:

Fix BuildSpec errors of CodeBuild

Escape double quotes properly.
Change type of version from string to number.

Change argument name: --region to --bedrock-region

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

LGTM!


Rename tools_outputs to tool_outputs

Field SubmitToolOutputsRunRequest.tools_outputs has a typo. It should be be called tool_outputs instead.
This PR renames it to tool_outputs and fixes deserialization.

Thank you for the fix!


forge: improve debugging experience on test failures

This PR does the following:

One test failure, prints out where logs for the nodes are located
prints out the stderr output of cargo build when building diem-node fails
Displays the versions supported by the backend on startup, prior to running tests

/land


Upgrade robots to the latest NWS/NWC layers - 10

This PR modifies XML files for the following robots :

iCubChemitz01
iCubDarmstad01
iCubAbuDhabi01
iCubFrankfurt01
iCubHertfordshire01
iCubHertfordshire02

The mods have been done starting from the default XML file contained in the yarprobotinterface.ini file (i.e. icub_all.xml)
The new files should be tested by the users.
@randaz81 , could you please have a look at them?
cc @pattacini @traversaro

Files tested and fixed with XSD and XPATH
iCubDarmstadt01.txt
iCubHertfordshire01.txt
The following reports contain errors, but this is acceptable since these are robots w/o some parts
iCubAbuDhabi01.txt
iCubChemnitz01.txt
iCubFrankfurt01.txt
iCubHertfordshire02.txt
cc @pattacini @triccyx


Assistive Technology can't be disabled

Issue Summary
I installed my own copy of the project from npm and I am not able to turn off assistive technology.
Everything works just fine, but it breaks when I try to disable.
Also, I am confuse about the line
<EMAIL_ADDRESS>in the file es5/sre/sre_browser.js.
Why it doesn't load from my local copy?
Steps to Reproduce:
When I add this configuration:

  MathJax = {
  options: {
    enableEnrichment: false,  // false to disable enrichment
  }
 };

(as the documentation said http://docs.mathjax.org/en/latest/options/accessibility.html)

I get this error:

MathJax(?): Invalid option "enableEnrichment" (no default value).

The same thing happen with this configuration:

  MathJax = {
  options: {
    enableComplexity: false,
  }
 };

which give this error:
MathJax(?): Invalid option "enableComplexity" (no default value).

Can you be a little clearer about your setup?  Can you provide the code that sets up and runs MathJax?  Are you running this in node, or in a browser?
Also, there are a number of assistive components, so when you say "turn off assistive technology" is not clear which one you really mean.  Do you mean the assistive MathML that is produced automatically?  To disable that, use
MathJax = {
  options: {
    enableAssistiveMml: false
  }
};

It turns out that the enableEnrichment option is only available after the semantic-enrich extension is loaded (and similarly for enableComplexity), and these aren't loaded until they are requested using the MathJax contextual menu.  That is why you are getting those messages, most likely.  That should be fixed.
As for the location that SRE uses for the maps, that can be configured in the HTML file using an SRE configuration script, or in a node application using SRE.setupEngine().  But if you are running this in node on a server, you should be using sre-node.js rather than sre_browser.js, which will use your local node_modules copy of SRE and its maps.  That should be selected automatically when you are in a node setting, but I can't tell without more details about your code.

I run MathJax in my browser, and I mostly use google chrome.
My setup is pretty basic. I installed MathJax using npm command npm install mathjax@3.
Then I included this script

My point on doing all that is to keep just the bare minimum to make it run fast.
When I found that sre_browser.js was loading a file called en.js, I thought that maybe it was the bottleneck.
So I start searching on the documentation to prevent it from loading and here I am now.
Since I didn't know how to configure sre_browser, I just erase the sre.Variables.url. It doesn't load the en.js file anymore, but it still search for and it didn't make much difference on the speed. I also have to change the ajax call in sre_browser to make it asynchronous.
I don't know how enableEnrichment and enableComplexity works, but every time I refresh my web page, I see that mml.js, sre_browser.js, en.js, semantic-enrich.js and explorer.js loading.
Do we really need all those to parse mathematical formulas in the browser?
I try the option you proposed (enableAssistiveMml: false) and mml.js is still loading.

Have you activated those assistive tools in the MathJax contextual menu?  If so, that will cause Mathjax to load the assistive tools (the changes in the menu are sticky so will stay in effect).  You can select the "Reset to defaults" in the "Math Settings" submenu to reset all the menu settings (which should turn off those features).  Then reload the page and see if you still see them.  The menu settings override the page settings, so that is probably what is causing them to load.

You got it Mr. Davide P. Cervone!! It works like a charm now.. But I must admit that I couldn't have the contextual menu back by switching enableMenu. I just went in my browser localstorage and deleted the MathJax setting.
So maybe there is a problem there, it doesn't seem to change according to the updated MathJax setup.

it doesn't seem to change according to the updated MathJax setup.

Depending on how the javascript is packaged, some browsers may not clear it from cache, so you may not have gotten the updated version when you changed the enableMenu.  In any case, you seem to have it working now, so I will close the issue.


Define Smiley in Glossary

Recent commit used "smiley" to describe :D signature modifier.
Perfectly reasonable, but should add smiley to the glossary.
I think another option would be to link to smiley in type signatures every time we use it, but we'll miss it, need tests, etc. - glossary seems easier.

"Type smiley", probably better than smiley by itself.


make hsc maven plugin

for example similar to:
https://dzone.com/articles/a-simple-maven-3-
plugin
[] create "glue code"
[] create sample maven pom in htmlSanityCheck-Consumer repository

Hi Gernot,
why is it not possible to create an instance of Configuration class (only one private constructor)? I would like to start implement an maven plugin, but I would like to implement it in an separate repository. So i would like to use htmlsanitycheck as a dependency and wrapped it with a maven plugin.

Constantin,
I don't really care where you implement the maven stuff - but it's likely people expect it in the original repo... In case it's easier for you, I could give you commit/push rights in the repo (as I currently don't have the time to check/verify PRs)

Did you proceed on this idea, @uniqueck?
Meanwhile we have modularized HSC (cf. #309), which is still work-in-progress and are aiming at adding a Maven plugin (cf. #314).
I will close this issue. If there are any outstanding contributions, please try to refer to #314 instead.


SW-6185 Add plot size to database schema

In preparation for supporting different monitoring plot sizes, add a column to the
monitoring_plots table to keep track of the size of each plot, and mirror that
value in the monitoring plot model class. For now, the size is always 25 meters,
such that this doesn't change any existing behavior.

#2528
#2527  👈
main

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

Join @sgrimm and the rest of your teammates on  Graphite

Merge activity

Oct 24, 12:02 PM EDT: A user started a stack merge that includes this pull request via Graphite.


Output console updates only AFTER the script has been run

The bottom console, which shows the program output will only update itself AFTER the program has terminated. Instead, it would be better if it showed the new output whenever the program outputs something.
This has been tested with the following python script:
import time
print('start')
time.sleep(5)
print('stop')

After 5 seconds, the bottom console will output
start
stop

Instead, the 'start' should be printed immediately.

This seems like an artifact of us using BufferedProcess instead of the node centric process spawning.

It's something we're running into a lot with numpy/matplotlib scripts since they block execution at a plt.show() command, and traditionally plt.show() is the last line of our scripts.

oooooh, how are you outputting the plots? Just pylab.show()?
I'm currently working on an electron (nee Atom shell) app to make sidecar output for Jupyter/IPython:

Once that's in a ready state I'll work on proper Atom integration with a full session. Just an experiment for the moment.

I've been trying to get people onto more vanilla python setups in the office to make it easier to share analysis scripts, so it's just matplotlib.pyplot.show() currently.

I just realized that the image I posted above was before I was displaying plots. Silly me.

@superlou there's now an Atom package called Hydrogen that people can use: https://github.com/willwhitney/hydrogen (happily contributing there). I'll certainly be contributing to it.

Came here to report exactly this. Has there been any progress with this issue?
Cheers

FYI, script-runner handles this correctly.

Awesome! How does it accept input?

@rgbkrk apparently it doesn't :(
It only handles correctly the printing of executed commands on the go.


Using urbandictionary api instead of scraping

Hi and thanks for this useful tool :)
I found this api that can be used for urbandictionary, might be better than scraping, I don't know:
api.urbandictionary.com/v0/define?term=IIRC

thanks..
but i'm scraping dictionary.com and using api for urbandictionary.
https://github.com/zuck007/webdict/blob/master/index.js#L5


[460] Implement mr_diff for GitLab

Closes: #460

          1 Error

  :no_entry_sign:
  Please include a CHANGELOG entry.

You can find it at CHANGELOG.md.

  Generated by :no_entry_sign: danger

Yeah, this looks 💯 to me


Data restructure: Artist alias redirects don't appear to be generating

(07 Mar 2022)

I was just wrong dude. These still generate without any problems! (12 Mar 2022)


TELEGRAM API

should be awesome to have all rest api commands available as telegram bot too, script can check telegram bot for message and process the requests accordingly.
i would do it, but its won't be available on npm, so i request you to do it !

@besoeasy It would make for a nice addition, indeed.
Just to frame the issue, do you have any working code or are you requesting such a feature?
If you would be interested in pushing it, just checking if @asapach would be interested in merging that, so you would be clear to work on it and send a PR to have it available on npm. Otherwise, you could fork the repo and create an Automated Build on Docker Hub based on your repo, as an alternative way of publishing it.
HTH.

Would love to make this
Anyone interested to collaborate with me on this one?

Would love to make this
Anyone interested to collaborate with me on this one?

I'm interested in this.

Would love to make this
Anyone interested to collaborate with me on this one?

I'm interested in this.

I am writing one in python basic structure of it is ready


Changing gateway listener with DNSPolicy attached results in orphaned DNS records

It is the same issue: https://github.com/Kuadrant/multicluster-gateway-controller/issues/601
After changing Gateway listener from domain specified in Managed zone to a domain specified in different Managed zone the previous DNS record wont get cleaned up and stays in DNS provider.
Steps to reproduce

Have two Managed zones.
Create correctly Gateway, HttpRoute and DnsPolicy.
Edit the Gateway listener so the domain is now under different managed zone.
The DnsPolicy should have status:

'DNSPolicy has encountered some issues: policy is not enforced on any dns record: no routes attached for listeners'

HttpRoute has status:
no hostnames matched parent hostname

DNSRecord CR is deleted and DNS record on provider is NOT deleted.
5. Edit the HttpRoute so it matches the Gateway new listener.
6. Everything reconciles successfully and new hostname works. New DNSRecord CR gets created.
7. Doing DNS lookup on the old hostname will still work.

I found simpler way to reproduce this with just one ManagedZone.

Create Gateway and HttpPolicy to have same hostname (no wildcards)
Create DNSPolicy
Edit Gateway listener to different hostname
Observe the errors in HttpPolicy and DNSPolicy (same as in first post). Observe the DNSRecord gets deleted.
Edit HttpPolicy to the new hostname
Everything reconciles successfuly
DNS query for old hostname still resturns a result.

This should be fixed as part of the managed zone removal https://github.com/Kuadrant/dns-operator/pull/203

This should be fixed as part of the managed zone removal Kuadrant/dns-operator#203

Will be looked into after Kuadrant/dns-operator#203 as we will probably mark the rootHost  filed as immutable and delete and re-create the DNSRecord resource in the kuadrant operator instead of handling rootHost changes in the dnsrecord controller.

Yes I can confirm the managed zone removal did not fix this bug.


Display error when adding a user to a team twice

More like https://github.com/go-gitea/gitea/pull/4533

Codecov Report

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

@@           Coverage Diff           @@
##           master    #4746   +/-   ##
=======================================
  Coverage   20.71%   20.71%
=======================================
  Files         167      167
  Lines       32359    32359
=======================================
  Hits         6702     6702
  Misses      24676    24676
  Partials      981      981

Continue to review full report at Codecov.

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

LGTM


Prefetch docker_network Provider ruby uninitialized constant JSON

Adding docker class adds the following line to every puppet run:
Error: Could not prefetch docker_network provider 'ruby': uninitialized constant JSON
Module Version: 5.1.0

@joeljacobs thanks. This would appear Ruby environment specific. I've added an explicit require for the json library. That's in master now if you'd like to check it out.


(IMPORT FAILED) ComfyUI WD 1.4 Tagger

Does anyone know how I can solve this problem? Whenever I try to install this, this appears. I've tried reinstalling, trying to fix, updating, and none of them worked.

If you need more information, images, I am happy to send them.
Thank you very much in advance!

Is there any errors in Confy console ?