Issues with lspsga

Hey @akinsho, I got around to experiment with flutter, and I'm so glad you have worked an development environment for it.
There some issue that break float window and some features related to lspsaga code actions, If you are still using can you take a look.
Thanks

@tami5 thanks for trying the plugin out. I also use LspSaga with this plugin, what kind of issues are you seeing can you give me more details on specific issues you are seeing.
Regarding the size of the floating windows etc. these are issues I think with lspsaga itself rather than anything that this plugin handles. I've actually raised an issue about the size of floats in lspsaga since dartls sends a lot of docs and they occasionally break.
e.g. https://github.com/glepnir/lspsaga.nvim/issues/159

actions without flutter-tools

with flutter-tools

setup method
lang['akinsho/flutter-tools.nvim'] = {
  config = function ()
    return require("flutter-tools").setup{} -- use defaults
  end
}

when I exit the popup action, escape the main window, the second window get filled with the actions and  when I click on one of the options I get

edit: Okay adding the setup function as part of lsp attach function seem to fix the issue 🤭.
Maybe this can be noted :D, oh packer has some wired things

@tami5 when you say as part of the lsp_attach function that doesn't sound right. This plugin should be used completely separately to lspconfig you should not enable dartls via lspconfig otherwise it will create two clients since this plugin already starts and manages the dartls server on its own. You can pass a custom on_attach in the lsp field of the config but none of your config should be happening inside lspconfig's stuff

Do you mean to say that I shouldn't call setup function for dartls (even without any modifications to dartls)?
here my attach function
local on_attach = function()
  if vim.bo.filetype == "dart" then
    require("flutter-tools").setup{} -- use defaults
  end

  require'lsp_signature'.on_attach()
  -- vim.cmd("autocmd CursorHold * lua require'lspsaga.diagnostics'.show_line_diagnsotics()")
  require'internal.map'(mappings)
  if vim.g.Lspdebug == true then
    print(vim.bo.filetype .. " client is attached")
  end
end

The reason I'm using on_attach is because I felt it's the right place to call flutter-tool setup function.
So you think that this is why the previous issue happend? flutter-tools setup function was called on startup, and lspconfig then got called on buffer attach

@tami5 yeah probably since I've seen other people do this, this plugin starts and manages the dartls client, so basically it takes over lspconfig's job as far as dart is concerned, you should remove all dart config from your lspconfig settings and only use flutter-tools to manage dart. Otherwise you'll have two clients running both trying to respond to things

hmmm yah, you ware right flutter tools was no longer working.
Now everything works okay, I had to change how I setup lsp and exposed capabilities and handlers to be added to the setup function.
:D it's a bit wired that you choose to do it that way, but I'm sure it had to be done so users won't need to deal with low level stuff.

@akinsho does extract lsp actions work for you?

Yeah I went back and forth on how to structure it but actually I took inspiration and motiviation from nvim-jtdtls and nvim-metals who both do it that way i.e. they start and maintain the server themselves. Gives more flexibility and less of a dependency in this plugin.
Re. extract actions It's one of the issues I'm trying to fix, it hasn't worked for me since I moved from coc did it work for you in lspconfig? I don't think it did for me. I can't figure out what's going wrong there though, since I use the same capabilities as lspconfig and if anything have added more options so not sure


How to Zstandard compress and microbatch events with output binding?

Setup

Using confluent cloud, their schema registry and Avro for the serialization
Confluent Cloud sets all topics to compression.type=producer (producers must compress prior to sending, kafka cluster does not compress)

Goal
After my AF code has processed events and created a new list of ISpecific AVRO POCOs, I want to forward those new events to another Kafka topic but I want to send these new events as Zstd compressed microbatch.
Problem
I didn't see an argument I could pass into the KafkaAttribute output binding that lets me define a compression (in Confluent .NET client the setting is ProducerConfig.CompressionType = CompressionType.Zstd [compression.codec]) nor could I find the setting to linger to "fill up" the internal librdkafka buffer (ProducerConfig.LingerMs [linger.ms]).
See #57 and in #11 it seems the idea of providing all config options was shot down because it was messy - maybe we could just get the CompressionType setting added into KafkaProducerFactory.cs > GetProducerConfig()?
Regarding the microbatching, is that kind've what you get with using an "out" param for the output binding?
[Kafka("LocalBroker", "stringTopic")] out KafkaEventData<string>[] kafkaEventData
as opposed to using the IAsyncCollector and calling .AddAsync()?
[Kafka("LocalBroker", "stringTopic")] IAsyncCollector<KafkaEventData<string>> events,
...
await events.AddAsync(forwardEvent);

In the meantime, I assume I need to manually use Confluent's AvroSerializer() and take that byte[] and run it thru a ZStandard library (like ZstdNet) to compress it?
I also attached a Confluent Best Practices PDF which on page 25 outlines which settings to tweak to optimize for different scenarios (optimize for latency, throughput, durability and availability). You may consider exposing these settings.
confluent cloud-Best_Practices_for_Developing_Apache_Kafka_Applications_on_Confluent_Cloud.pdf
Thanks

Hi @smitty-codes
Thank you for bringing up!  As for [Kafka("LocalBroker", "stringTopic")] out KafkaEventData<string>[] kafkaEventData It might be difficult, since it is the feature of Azure Functions Host and consistency with other bindings. However, for the compression, we can start discussing it. It is good for you to add configuration for CompressionType.Zstd and ProducerConfig.LingerMs? I need to learn more about the compression scenario.

@TsuyoshiUshio
Yes being able to use CompressionType.Zstd and set ProducerConfig.LingerMs in the Kafka attribute is what I'm looking for.
These are the 2 important settings to optimize for throughput (see the Confluent PDF document > page 27 I posted above). There are other settings you may consider for optimize for latency, durability and availability in that document.

Hi @smitty-codes
I create a draft pr. feel free to add comment.

@TsuyoshiUshio What is the status on this item? I read thru the PR and it looks like it was decided this would be an attribute we can set on the function which is fine. I upgraded to 3.3.2 but didn't see this is available yet and not seeing it listed in 3.3.3 pre-release.
This is a pretty important item for us - it will really cut down on Confluent Cloud costs based on the volume of data we're anticipating to push thru kafka/CC.

@shrohilla Can you please take a look at it ? cc: @raorugan

Any update on this issue?


Allow function type for localePath

Fixes #1500

localePath as a function is of the form (locale: string, namespace: string, env: 'client' | 'server', missing: boolean) => string returning the entire path including filename and extension. When missing is true, return the path for the addPath option of i18next-fs-backend, when false, return the path for the loadPath option. More info at the i18next-fs-backend repo.

See comments
Tests added Wasn't sure how to add tests for the additional functionality - any guidance appreciated (maybe I should add tests for the error cases and that the function is correctly in the final config by calling it?)

Thanks @lucaslcode! Just wanted to give a heads up that I am travelling now, and probably won't be able to review this until sometime in January. Rest assured I will work with you to get this merged as soon as possible.

Thanks for the update, no worries!
On Tue, 28 Dec 2021, 06:07 Isaac Hinman, @.***> wrote:

Thanks @lucaslcode https://github.com/lucaslcode! Just wanted to give a
heads up that I am travelling now, and probably won't be able to review
this until sometime in January. Rest assured I will work with you to get
this merged as soon as possible.
—
Reply to this email directly, view it on GitHub
https://github.com/isaachinman/next-i18next/pull/1593#issuecomment-1001777844,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHUPIP3VCHONHVHQZCSYQQTUTDPTNANCNFSM5KTAU4XA
.
You are receiving this because you were mentioned.Message ID:
@.***>

@isaachinman thanks for the review (and the compliment 😄). I've addressed the feedback, including removing the stripping of /public and therefore no longer including env: 'server' | 'client' in the callback parameters, since there isn't a use-case for it as far as I can tell.

Looks great @lucaslcode, thanks for all your help!
Weirdly this PR is not running tests in Circle – I think it's related to a CircleCI OAuth issue a couple weeks ago. Can you try rebasing against latest master? If that doesn't work, we may need to recreate the PR entirely.

I'll try a new PR


[SP-2393] Backport of PDI-14232 - "Log line timeout (days)" not deleting old log table entries (job logging) (5.4 Suite

Cleaning up log recodes ( due to log record timeout property ) after writing new info
Tests written
Checkstyle applied

@pamval, @brosander, review it please, This is a backport of #2031

Same as the commit for the 6.0 branch.

@pamval, yes, it's ok, cause actually, it's a backport of #2031 and https://github.com/pentaho/pentaho-kettle/pull/1985 (2 simular problems were solved in one ticket, but commits were divided)


[BUG]: Cannot enable Admin | Sync Template V2 due to licence error

Describe the bug
I am following the instructions to set up core components, and have got to step 8 of the section Activate each of these flows
When I click the "Turn On" button I get the following error:
Your flow could not turn on: Admin | Sync Template v2 - Live. Error: The user 'e3fad9e1-341c-42ca-86a0-ebdbfcd30464' does not have a service plan adequate for the non-Standard connection. https://go.microsoft.com/fwlink/?linkid=2123710
The account has a Microsoft M365 E3 licence, and the environment has a Power Apps Per App licence assigned to it.  According to the FAQ this should be sufficient to setup and run the solution.
Component (please tell us which flow or app you are experiencing issues with):

Solution Core
Version 1.6
Flow Admin | Sync Template v2

Hi there. Our documentation was a little off, thanks for the catch.
The per-app license doesn't give you permissions to flows. You'll need a Per Flow or Flow Per User license for that,
We will update documentation.

This has been resolved in documentation.
Thanks for using CoE!


Adding a public IP range to a farm fails if one of the IPs in the mentioned range is already created.

Description
When the user tries to enter a specific IP range in a farm and one of the IPs in this range is already created in this farm, the creation fails when it reaches the mentioned IP without creating the rest of the IPs (if the range still includes other IPs).
Case 1: When the duplicate IP is the first one in the range.
TF DASHBOARD (5).webm
Case 2: When the duplicate IP is in the middle of the range.
TF DASHBOARD (6).webm

Should be flagged as a known issue that requires manual intervention


3D custom model question

if I design a 3D model myself, do I need to follow the topology of the face landmark of mediapipe?

No.
Mediapipe detects your face from the camera and then calculate the landmarks. Then we make use of the pose_estimator.py script and functions from facial_features.py to calculate the head movement, eye aspect ratios and mouth aspect ratios to control the avatar.
After you import the model to Unity, find the corresponding objects in your character and try to write a program to translate the ratios into your character's movement, like how UntiyChan model does.

Okay, thanks for your reply, if I'm going to do a full-body gesture, I should also need an initial 3D coordinate similar to a Model .txt, do you know how to get this?


creator tools collaborator access

what
Adds memberProjectsCount to the User object so we show creator dashboard icon for collaborators, not just creators.
Fixes error when registering push token (can't call first() on an Empty).
Tests!

 Creator tools: collaborator permissions


Resolves #49 Random values as response

Added functionality for using RANDOM with setters. Checks correct type and randomizes value from device properties.
Minor spelling fix.

To use RANDOM, query a setter with RANDOM instead av value.

Codecov Report

Merging #63 (35ccd02) into master (0b8bb01) will decrease coverage by 0.90%.
The diff coverage is 23.07%.

@@            Coverage Diff             @@
##           master      #63      +/-   ##
==========================================
- Coverage   86.63%   85.72%   -0.91%
==========================================
  Files          15       14       -1
  Lines         995     1002       +7
==========================================
- Hits          862      859       -3
- Misses        133      143      +10

Flag
Coverage Δ

unittests
85.72% <23.07%> (-0.91%)
:arrow_down:

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

Impacted Files
Coverage Δ

pyvisa_sim/component.py
89.52% <23.07%> (-9.41%)
:arrow_down:

pyvisa_sim/__init__.py

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

Closed by #96


Does nameko DependencyProvider not support unicode?

I use nameko.extensions to connect to MongoDB with mongokit, just like nameko-sqlalchemy. Usage is as follows:
from nameko.rpc import rpc
from nameko_mongokit.database import Collection

class ReplyRuleService:
    name = 'replyrule'
    coll = Collection(db_name='test')

    @rpc
    def find(self):
        print(self.coll)
        r = self.coll.find_random()
        print(r)

I run it on terminal:
n.rpc.replyrule.find()
It could print self.coll as Collection(Database(MongoClient('localhost', 27017), 'test'), 'replyrule’), but couldn't print r, and raise nameko.exceptions.RemoteError:
Collection(Database(MongoClient('localhost', 27017), 'test'), 'replyrule’)

error handling worker <WorkerContext [replyrule.find] at 0x1049462e8>: 'ascii' codec can't encode characters in position 60-63: ordinal not in range(128)
Traceback (most recent call last):
  File "/Users/apple/Documents/my_projects/venv/lib/python3.6/site-packages/nameko/containers.py", line 384, in _run_worker
    result = method(*worker_ctx.args, **worker_ctx.kwargs)
  File "./replyrule.py", line 60, in find
    print(r)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 60-63: ordinal not in range(128)

Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "/Users/apple/Documents/my_projects/venv/lib/python3.6/site-packages/nameko/rpc.py", line 393, in __call__
    return reply.result()
  File "/Users/apple/Documents/my_projects/venv/lib/python3.6/site-packages/nameko/rpc.py", line 379, in result
    raise deserialize(error)
nameko.exceptions.RemoteError: UnicodeEncodeError 'ascii' codec can't encode characters in position 60-63: ordinal not in range(128)

but when I run directly using python command, there is no error:
from mongokit import Connection

conn = Connection()
coll = conn.test.replyrule   # collection
print(coll)
r = coll.find_random()
print(r)

Collection(Database(MongoClient('localhost', 27017), 'test'), 'replyrule’)

{'_id': ObjectId('5955bd5a33339d067494a99e'), 'rule_name': '回复语音', 'create_time':<PHONE_NUMBER>, 'reply_mode': 'random_one', 'keyword_list_info': [{'type': 'text', 'match_mode': 'contain', 'content': '获取语音'}], 'reply_list_info': [{'type': 'voice', 'content': 'oTyinC0Lthj9LNdTvvdhp6uRVJ0KbLmVTlBEo2NXa5SE5y7QZ-sTmZK7hPOCOkdy'}]}

The field rule_name contains unicode characters, but it couldn't be print out with rpc proxy.

I think it's irrelevant to nameko, but about your terminal encodings. You can check if sys.stdout.encoding is 'utf-8'.

@Ryannnnnnn  Thanks. The terminal in Pycharm IDE does not support unicode. I run the service on OS X terminal and it works. 谢谢基佬!


Account for squid proxy adding unexpected headers

Most servers (including S3) will just return the CLRF after the 100
continue response.  However, some servers (I've specifically seen this
for squid when used as a straight HTTP proxy) will also inject a
Connection: keep-alive header.  To account for this we'll read until we
read '\r\n', and ignore any headers that come immediately after the 100
continue response.
Fixes aws/aws-cli#1116
I've also added an additional commit, https://github.com/jamesls/botocore/commit/7ca5d35c1b3af2872d16800eb7a3fceefcf1e863, that cleans up the pep8 formatting.
cc @kyleknap @danielgtaylor

Coverage increased (+0.0%) to 94.19% when pulling 7ca5d35c1b3af2872d16800eb7a3fceefcf1e863 on jamesls:fix-expect-headers into c4d85ff9c63bb71626bedb8681bdf5e9cb47775f on boto:develop.

LGTM :ship:-it!

Same :ship:


stages/chrony: extend chrony stage to allow additional directives

The org.osbuild.chrony stage currently supports only a single option 'timeservers' which does not allow specifying additional options for the configured timeservers. The option can not be easily extended to allow specifying additional options and at the same time keep the backward compatibility with old manifests.
The need for a lower-level stage option allowing to configure additional options of the 'server' directive is required by RHEL AMI images, which use 'maxpoll', 'minpoll' and 'prefered' options.
Extend the org.osbuild.chrony stage with two additional options. The 'servers' option accepts a list of dictionaries specifying timeservers to be configured using the 'server' directive, including a subset of the directive options. The 'servers' option can not be used at the same time in the stage options as the 'timeservers' option.
The second added option is 'leapsectz' corresponding with a directive of the same name. The value of the option is a string. If the provided string is empty, then all occurrences of the 'leapsectz' directive are removed from the chrony.conf. Otherwise, the 'leapsectz' directive is added to the chrony.conf with the provided value, while all original occurrences of the option are removed.
Add a new stage test case under test/data/stages/chrony-servers to test the new variant of the stage options. The reason is that the 'timeservers' option conflicts with 'servers' option, which makes it impossible to test both of them in the same test case.
PS: I'm not sure if the fact that the list of lines from chrony.conf is modified in-place by the functions handling each stage option is OK with the project preferences, so feel free to point that out if it is not. I found it unnecessary to return a new list from each function, but I also don't have a strong preference here.

Thanks for the review! I addressed all of your comments.


Feature sonos controls and youtube

DONT MERGE. NOT FINISHED.
Adding youtube playing functionality and sonos volume controls.

@andromedado, would this be a Major version change? I removed the spotify volume controls (and now added sonos volume controls instead).

Can we actually start with maxVol set lower and then bump it up once we're more confident?
To keep Spotify and Youtube in the same realm I suspect we'll need to set Spotify pretty high, and Spotify at 95 + Sonos at 50 is probably a bit much.
Maybe 35 - 40 just for experimenting?

You can set an env var: HUBOT_SONOS_MAX_VOLUME and then use whatever you want. You can start with 15 if you like. If you want I can edit the default to be lower to.


Create additional info blocks

Add links to social networks (LinkedIn, Facebook, Instagram), phone number, email, Telegram username, etc.

Done


lib: make use of visible variable in doRename

This hooks up the visible argument to doRename in the modules.nix library since it was previously not used in the function. This argument determines whether the renamed option should be shown in the documentation.

@GrahamcOfBorg eval


Add a tensorflow GPU test case

Description
Issue #
Add a new case of gpu test with tensorflow.

PR information

[ ] The title of the PR is clear and informative.
[ ] There are a small number of commits, each of which has an informative message. This means that previously merged commits do not appear in the history of the PR. For information on cleaning up the commits in your pull request, see this page.
[ ] Except for special cases involving multiple contributors, the PR is started from a fork of the main repository, not a branch.
[ ] If applicable, the PR references the bug/issue that it fixes in the description.
[ ] Verify PR checker results and fix any coding errors.
[ ] Included LISAv2 sample test results to demonstrate code functionality.

Quality of Code and Contribution Guidelines

[ ] I have read the contribution guidelines.

@xian123 What does the output look like and from where the test is referenced?


Add pylet commands

Description
The user should be able to enter commands while running pylet to get a hint (hint) or exit the program (exit) (same as keyboardinterrupt)

[ ] pylet should accept input when waiting for file change
[ ] if the user enters hint, it should print the hint message
[ ] if the user enters exit, it should exit pylet
[ ] hint should be defined in the exercise_info.yaml
[ ] hint should be added to the exercise class
[ ] interface? should have a function to print hint

Inputs without blocking - focus hint
To be able to do thehint command, you need to be able to get an input from the user without it blocking the exercises from runnng.
Ideas:
Threading:
Have a different thread running for the input then for exercise running.
Problems:
-> even more concurrency
-> python gets weird with the main thread and it might lead to unexpected bugs that are also hard to test, when introducing more and more threads and processes.
sys.stdin...
Go beyond input statement, which blocks, and go with system level/lower level libraries to code a non-blocking input.
-> handled differently on different operating systems
-> tries to get lower level with python while still having a high level of abstraction will lead to unexpected bug
Input in exercise.run
Have input() at the end of the exercise, after check_done. This does block it, but at this time the process is done and blocked anyway till it is restarted. If we put the input to only execute if check_done is false, this should not block the program.
-> can we handle other commands like this? e.g. exit?

More research
After trying out more there are more notes.
I have experimented with threading, and while I was successful in getting hint command from the user, I have not managed to have it not block the program to continue. So that the user entering something was required.
I have managed to use pythons open(0) to access the standard input even in a child process and calling it in the exercise.run but it is also blocking the program similarly to threading. I guess terminating the process is not ending the open? But I would have to do more research on this.
with open(0) as stdin:
    result = stdin.readline()
    if "hint" in result:
        print(hint_message)

A couple of ways to go from here:
Look (more) into asyncio and threading.
Threading might not end up working, but I can’t say that for sure without more research.
Maybe more interesting would be looking into asyncio, so that the input is asked for asynchronously, which as far as I know can be cancelled in the await. Currently I don’t know much about how this works, but from the little I’ve read it might be useful.
Non blocking input
So from me trying to write or read about non blocking inputs in python I do not like the implementations I saw much. I think they are very unintuitive and would be difficult to  understand when reading the code in the future or when someone else is reading the code.
This is a separately written code snippet that works for non blocking input. Something similar might be implemented somewhere in the code, possibly in combination with  threading, multiprocessing, asyncio to complete this task.
import sys
import os
import fcntl
import time

fl = fcntl.fcntl(sys.stdin.fileno(), fcntl.F_GETFL)
fcntl.fcntl(sys.stdin.fileno(), fcntl.F_SETFL, fl | os.O_NONBLOCK)

input_received = False
while not input_received:
    print("Waiting for user input")
    try:
        stdin = sys.stdin.read()
        if stdin:
            if "exit" in stdin:
                input_received = True
    except (IOError, TypeError):
        pass
    time.sleep(1)

More multiprocessing :devil:
Okay, I really don’t want to do this for reasons I will go into, but this would probably work, because processes can be terminated so easily.
Basically after starting the exercise process, I could start an input process so the two of them are executed at the same time, hints can be printed and every time the exercise process is terminated or the exercise is done, the input process is terminated (if still running).
Now why do I not want to use this.

It seems to be so much more added complexity for little gain.
I don’t want to use that many cores. The current solution is already using 2 and starting so many processes after one another. I don’t want to add even more processes and cores to a program that is generally pretty simple.
Depending on when processes are started and terminated, things can get very buggy. For example the input process could run first and stop the output from the exercise process from showing. This is also behavior that I expect to be pretty hard to test.

A lot of these solutions don’t really seem worth it for the feature it adds, especially  because I could just add the hint as a comment In the file, so I will switch my focus to other things for now, and keep this issue and the comments for documentation in case I will revisit the task later.


Inference

Hi!
Your repo looks amazing.
I am trying to run inference and trying to output not just a mask, but also the labels of detection as in the examples in readme file.
But somehow when I ran the inference notebook(https://drive.google.com/file/d/1CGEtC65kvoZ-4tcqzeknGrbERvb0beuU/view?usp=sharing), it only shows the mask without including the labels.

If you can help me identify what I am doing wrong, that would be helpful. Thanks!

Hi @kisakiwata , sorry for my late response!
There was a lack of training for the segmentation task due to the GPU limit, so the results are inferior, I recommend you train some more powerful segmentation models using this template. Moreover, I didn't implement the segmentation labels yet so the result of yours is correct. In the future, I will tackle these problems and update this repo. Thank you for your question!


Add multimesh_get_buffer_rd_rid method to RenderingServer.

Implements a method ( multimesh_get_buffer_rd_rid ) which can be called on the RenderingServer, which retrieves the RenderDevice Rid of the buffer, this allows direct manipulation of the buffer, without having to take it into the main thread, this lets you perform operations like copying, but for my purposes it is more important that I can now pass that Rid to a compute shader running on the global render device, letting me write to the buffer directly in the compute shader.
This has been tested on GDScript and Mono, though much more extensively on mono, I only fetched the buffer and read it on GDScript, on Mono I used a compute shader to generate foliage, with very little performance cost.

Fixed styling error pending re-run of workflow review, sorry for all the extra commits, still figuring this out.

The error blocking the merge appears to be related to that regression you mentioned in rocket chat ERROR: EditorSettings not instantiated yet. but I believe the pr #98736 has already been merged, unless you know of something I did wrong.

Are you familiar with this error?
ERROR: RenderingServer.xml: Unrecognized opening tag "[RenderDevice]" in method "multimesh_get_buffer_rd_rid" description.

I think the class is called something else.

It's RenderingDevice

Should be resolved with latest commit, I tested this one in gdscript should be good to go.
I keep breaking things lol

Would you be interested in doing this for the rendering server part of MeshInstance3D? I want to use it for Opensubdiv and Delta Mush compute shader editing of rigged skeleton meshes.
https://github.com/V-Sekai/godot-subdiv
https://github.com/V-Sekai/unity-mesh-deform-direct-delta-mush

Would you be interested in doing this for the rendering server part of MeshInstance3D? I want to use it for Opensubdiv and Delta Mush compute shader editing of rigged skeleton meshes.
https://github.com/V-Sekai/godot-subdiv
https://github.com/V-Sekai/unity-mesh-deform-direct-delta-mush

I am going to be honest, I just spent two hours trying to sort out the merge conflicts for this, it was very nerve wrecking, what buffer exactly are you hoping to access?

I want to access enough of the ArrayMesh/Mesh to compute new meshes from nothing or at least be able to implement compute shader mesh skinning (or subdivision) for fame and profit!

I want to access enough of the ArrayMesh/Mesh to compute new meshes from nothing or at least be able to implement compute shader mesh skinning (or subdivision) for fame and profit!

Sure sounds interesting, let me have a gander, I'll see what I dig up.

Please squash your commits into one, see the interactive rebase for details

Currently there is an issue with this branch, if you have a GPU particles3D in the scene with Transform Align set to Z-Billboard, it will throw continual errors if you update a multimesh buffer via it's Rid randomly (in my test scene it can sometimes take a couple hundred updates for the error to occur.)
Reproducable Project: testbuffer.zip
I'm going to work to see if I can resolve this.

I resolved the issues from @AThousandShips and squashed all the commits into one, the issue with the GPUParticles3D compute shaders being called outside of the render thread is unrelated, see this issue here: #99025
It is instead being caused by over 1k multimeshes being in the same scene as particles, as such I do not see any reason to not merge this pull request.

Thanks! Congratulations on your first contribution! 🎉

Woo! thank you xD


Map of quoted numbers

Quick question, is it possible to parse object into a map with quoted numbers?
Basically, I have a schema like this:
"combos": {
	 "type": "object",
	"properties": {
		"MODE": {
			"type": "integer"
		},
		"DIRECTION": {
			"type": "integer"
	} // and 20 more entries like this
}

And in code I need these integers as strings. It's not a big deal to convert it in place, but would be nice to have the ability to do such while parsing.

Yes, here is code for a strongly typed solution: https://gcc.godbolt.org/z/sxoKn654x
#include <iostream>

#include "glaze/glaze.hpp"

struct entry_t
{
    int type{};
};

template <>
struct glz::meta<entry_t> {
    using T = entry_t;
    static constexpr auto value = object("type", quoted_num<&T::type>);
};

struct properties_t
{
    entry_t MODE{};
    entry_t DIRECTION{};
};

struct combos_t
{
    std::string type = "object";
    properties_t properties{};
};

int main() {
    combos_t combos{};
    std::cout << glz::write_json(combos) << '\n';
    return 0;
}

I'm showing writing here, but reading works the same way.

You can also use glz::quoted_num around containers like std::vector and std::map for more dynamic solutions.

My bad for not giving clear information. The schema in question is quite literally schema.
The actual json looks more like this
"pass": {
	"id": 1,
	"combos": {
		"MODE": 2,
		"DIRECTION": 3
	}
}

And structure in code like
struct Pass {
	int id;
	std::unordered_map<std::string, std::string> combos;
}

I tried to to use glz::quoted_num in meta
template <> struct glz::meta<Pass> {
	using T = objects::Pass;
	static constexpr auto value = object(
		"id", &T::id,
		"combos", glz::quoted_num<&T::combos>
	);
};

But all it gave me is an error
142:22: syntax_error
                                                                "VERTICAL" : 1
                        ^

Oh, so I misunderstood how glz::quoted_num works...
I thought it can parse normal integers into string, but it parses strings into normal integers

Yeah I found now that you can use glz::number to get the desired result, but it wasn't documented basically nowhere (except for compile time options, which doesn't make it obvious that you can use it outside of said options), which led to this issue.

Yeah, glz::quoted_num treats an underlying integer as a string in JSON.
Instead of handing your combos object as std::unordered_map<std::string, std::string>, use std::unordered_map<std::string, int>.
Your goal was to not have to convert the strings to integers in place, right? Using int in your map and glz::quoted_num should solve your problem.

Sorry to confuse you so much. My original goal was to treat json INTEGERS as STRINGS, not the other way around

Sorry to confuse you so much. My original goal was to treat json INTEGERS as STRINGS, not the other way around

No problem at all. It helps reveal where the documentation is lacking/needing improvement.

The wrappers are documented in brief here: main/docs/wrappers.md#available-wrappers

I did read this file, but I wasn't sure if I can use these on containers, and at the moment I tried to, I already forgot about the listed options and stick to the one highlighted in readme which was the quoted one.

Understandable, I think adding easy to read examples will be the most helpful. I'll make a documentation issue to add examples for the wrappers.

@RozeFound, yes this weird error format should be an issue. Can you share a small piece of code that generates this weird formatting? The C++ structs, glaze stuff, and the input string.

I created a little extremely stripped down test chamber, link

I assume the problem is tabs in json string

Ah, you're right. I never tested formatting errors with tabs in the JSON. Thanks for your example. Because tabs don't always have consistent output width, I think I'll probably update the code to take the error snippet and convert tabs to spaces for printing the error. This should allow consistent error output that is formatted properly.

Formatting of errors with tabs is handled in #877

In the formatter error output, we now convert tabs to single spaces. This allows consistent output and properly formatted errors when tabs occur. We only convert to single spaces to keep the context code cleaner and avoid more allocations.

Yeah, I agree with you that the new line shouldn't be there at the end, per how things are usually done. I'll remove it.

Anyway, this issue is getting rather long, and offtopic, I'll close it
Have a nice day!


ink 4.2.1 fixes bug with proxy try_invoke

https://github.com/paritytech/ink/releases?page=1
I think changes to the try_invoke are required?

blocked by #367 as we need the sr25519 signing version to be released before we can upgrade and include this patch. In the meantime we're using our own fork of ink with the sr25519 already merged in. We could merge in the patch, I guess


Improve email change modal in user setting

Set ? icon's position inline with email field

Disable spell check in email field
Rename title for email field in email_change dialog box
Set autofocus to email field in email_change dialog box

Perhaps another thing to do is make the modal width less, because it's pretty unnecessarily large right now.

@brockwhittaker Done!
Changes are:

Decrease the width of modal to 460px.

Rename Close to Cancel
Here is how it look like,

Disable email change field if realm_email_change is disable.

About the tooltip, it works in my case. :thinking:


Switch autoformatter to black instead of yapf

See discussion in #3292. This PR has three commits:

an initial commit to fix a couple of places where black currently has trouble. These are all related to https://github.com/psf/black/issues/1629 and and places where we have long multiline expressions like assert <multiline_expression> == <foo> or if <multiline_expression> == <bar>:. In all cases, I fixed them by adding a trailing comma in the outermost parens of the multiline expression and reformatting with yapf. Then black was able to handle them. I don't expect this to come up much with using black, but if it does the fix is straightforward.
a commit to change the format-incremental script to use black and reformat just the changed files from the first commit. I also tried to fix up the tests for the bash script, though it's not clear to me that these are being run anywhere because they seem to fail for other scripts that I haven't touched in this PR. (As an aside, it seems to me very brittle to test against the exact output of these scripts, and I would also suggest that the complexity in some cases is reaching a point where these should be refactored into python scripts, but I'm biased because I'm terrible at bash :-) )
a final commit to reformat all the python code in the repo with black. For now, this is mostly for informational purposes to see what the black formatting looks like. We can decide if we want to merge with this "big bang" change, or change the formatting without this and then reformat code in chunks in subsequent PRs.

"big bang" will cause merge conflicts for all changes in-flight. Relying on incremental updates could get rid of this issues unless two people are working on changes for e.g. the same file

@mpharrigan, my plan would be to merge this without squashing, so that we have a commit in the commit history which just changes the formatting script but doesn't reformat anything. We would tag this commit as something like fmt-black. Then for outstanding PR's one would do:
git merge fmt-black
check/format-incremental --apply
# commit incremental formatting changes
git merge master  # merge with all formatting changes

Now the diff with master will only show the logical changes from the branch, not the formatting-related changes. We used this procedure internally when we switched formatters and it worked quite well. We'll have to help contributors go through the process for outstanding PRs, but it shouldn't be too much trouble.

Ok that makes sense. We'll have to proactively help contributors, since the above sequence requires you to be pretty clever to come up with it on your own :)

Ok, all the pre-commits are now merged so this is down to just two commits: one to change the formatting script and one to actually do the formatting. Reviewers, please take a look at the tooling changes in the first commit, and of course feel free to look at the formatting changes in the second commit as well if you'd like.

If you have an in-progress PR that was created before the formatting change, you might see lots of merge conflicts because of the formatting changes. To fix this, you can merge the tag "fmt-black" into your branch to get the new formatting script. Then format your changed files before merging master. Here's the process, starting with your in-progress branch checked out:
$ git fetch origin
$ git merge fmt-black
$ pip install -r dev_tools/conf/pip-list-dev-tools.txt
$ check format-incremental --apply
$ git commit -am "Format"
$ git merge origin/master

In the last step, you may need to fix some merge conflicts, but they will be due to the actual logic changes you've made, rather than due to formatting. If you'd like to automatically accept all changes on your branch, you can try running git merge origin/master -X ours instead; this will accept all changes on your branch automatically, but may need some manually fixup if things have changed on master in the meantime.

@balopat  What is guidance for multiline string reformatting for new 100 char limit as the format didn't touch those?  Fix as we find them?
Also it sometimes does fun things like concatenates the strings with a space, i.e.
ValueError('foo' 'bar')
becomes
`ValueError('foo' 'bar')

Couple notes:

$ git fetch origin

$ git fetch upstream if you are working off of a fork

$ check format-incremental --apply

Missing slash: $ check/format-incremental --apply

$ git merge origin/master

Again, $ git fetch upstream if working from a fork


Uploading a .png image results in Meteor error.

From the menu that drops down under your username, click on Change Avatar... and upload a .png image. As soon as I select the .png image, this error is shown in the JS Console.


Implement parseLine and specs for it

Worth merging

Closing; all needed changes are in branch "scott"


Unable to install on Solus

Hi guys,
I'm using Solus operating system with Node 6.11 & npm 5.0.3. During installation of sharp, I had an error like below:
2017-06-24T10:35:56+0300 <error> new.js:12 () Error: warning<EMAIL_ADDRESS>The platform "linux" is incompatible with this module.
error /tmp/beta-test-gatsby-site/node_modules/sharp: Command failed.
 ]
ERROR: ldd (Solus) 2.25 requires manual installation - please see http://sharp.dimens.io/en/stable/install/
gyp: Call to 'LDD_VERSION="ldd (Solus) 2.25
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper."  System Linux 4.9.32-31.lts
gyp ERR! command "/home/ekrem/.nvm/versions/node/v6.11.0/bin/node" "/home/ekrem/.nvm/versions/node/v6.11.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /tmp/beta-test-gatsby-site/node_modules/sharp
gyp ERR! node -v v6.11.0
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok

    at /tmp/node_modules/gatsby/dist/utils/init-starter.js:56:16
    at ChildProcess.exithandler (child_process.js:211:5)
    at emitTwo (events.js:106:13)
    at ChildProcess.emit (events.js:191:7)
    at maybeClose (internal/child_process.js:891:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:226:5)

I've checked out installation page but there was no information available for my os.

Hello, I don't have any experience of Solus, but it looks like it uses glibc 2.25.
Are you able to try the following change to your local binding.js file to see if it works?
- if (/(glibc|gnu libc|gentoo)/i.test(lddVersion)) {
+ if (/(glibc|gnu libc|gentoo|solus)/i.test(lddVersion)) {

Hi again!
Seems it's worked after I cloned the repo, changed the line and installed local file:
><EMAIL_ADDRESS>install /tmp/sharp/node_modules/fsevents
> node install

><EMAIL_ADDRESS>install /tmp/sharp
> node-gyp rebuild

make: Entering directory '/tmp/sharp/build'
  TOUCH Release/obj.target/libvips-cpp.stamp
  CXX(target) Release/obj.target/sharp/src/common.o
../src/common.cc: In function ‘std::tuple<int, int> sharp::CalculateCrop(int, int, int, int, int)’:
../src/common.cc:440:13: warning: this statement may fall through [-Wimplicit-fallthrough=]
         top = inHeight - outHeight;
         ~~~~^~~~~~~~~~~~~~~~~~~~~~
../src/common.cc:441:7: note: here
       case 7:
       ^~~~
  CXX(target) Release/obj.target/sharp/src/metadata.o
  CXX(target) Release/obj.target/sharp/src/operations.o
  CXX(target) Release/obj.target/sharp/src/pipeline.o
  CXX(target) Release/obj.target/sharp/src/sharp.o
  CXX(target) Release/obj.target/sharp/src/utilities.o
  SOLINK_MODULE(target) Release/obj.target/sharp.node
  COPY Release/sharp.node
  TOUCH Release/obj.target/win_copy_dlls.stamp
make: Leaving directory '/tmp/sharp/build'
npm notice created a lockfile as package-lock.json. You should commit this file.
added 962 packages in 73.795s

Great, thanks for confirming. Are you able to submit a PR with this change?


Do we really need latest sinon?

After https://github.com/Leaflet/Leaflet/pull/7725#issuecomment-957769787 we lost the ability to run test suite in IE8-10.
Is it OK?
If it is - then those part of config should be removed.
If it is not - then sinon should be downgraded.
Opinions?

What's the latest sinon version that works with old IE?


After 6 hours I can't read the rtmp / srt streams

Which version are you using?
v1.3.0
Which operating system are you using?

[x] Linux amd64 standard
[x] Linux amd64 Docker
[ ] Linux arm64 standard
[ ] Linux arm64 Docker
[ ] Linux arm7 standard
[ ] Linux arm7 Docker
[ ] Linux arm6 standard
[ ] Linux arm6 Docker
[ ] Windows amd64 standard
[ ] Windows amd64 Docker (WSL backend)
[x] macOS amd64 standard
[x] macOS amd64 Docker
[ ] Other (please describe)

Describe the issue
When I stream for more than 6 hours playing the rtmp url of the stream becomes impossibile. And I can't understand why.
Describe how to replicate the issue

start the server
publish with rtmp / srt
read with rtmp / srt
Use a software to read the stream (for example: ffplay/vlc for rtmp, mpv for srt)
After many hours the player stops playing and the stream seems to be unusable.

Did you attach the server logs?

no
Did you attach a network dump?

no

Hello, please attach a network dump of traffic generated between the server and a player, when you try to read a stream from a player to the server AFTER the stream gets unusable. A network dump can be generated in this way:
If the bug arises when using MediaMTX with an external hardware or software, the most helpful content you can provide is a dump of the data exchanged between the server and the target (network dump), that can be generated in this way:

Download wireshark (https://www.wireshark.org/)
Start capturing on the interface used for exchanging packets (if the server and the external hardware or software are both installed on your pc, the interface is probably "loopback", otherwise it's the one of your network card)
Start the server and replicate the issue
Stop capturing, save the result in .pcap format
Attach

I have the exact same problem! After a while, say for a few hours, player cannot get the published rtmp and rtsp streams.

I have the exact same problem! After a while, say for a few hours, player cannot get the published rtmp and rtsp streams.

I have the exact same problem! After a while, say for a few hours, player cannot get the published rtmp and rtsp streams.

I am still facing this problem. When the number of cameras is less than 10, it is fine, but with a higher number of cameras, it refuses connection whenever any camera tries to establish a connection to publish.

closed since no useful information was provided to replicate the bug.


 It would be nice if there was a bot owner restriction to this so that the owner can use it, and no one else could use it.

or actually, trying different pieces of code, there is one way that I tried that worked
I replaced
if (!message.author.bot)
with
if (message.author.id == 'YOURIDHERE')


Chef 17: Remove Debian Upstart support

Now that Ubuntu 14.04 is EOL we should consider removing Upstart support for Debian in Chef 17

This is going to have to stay until RHEL 6 is gone


allocator

You should be careful about the memory alignment of the USER_TYPE

The user can take responsibility for padding that if that level of efficiency is needed for a particular application


WIP persistence work

This is a structure designed to make it so that we can persist React components like the homepage search in local storage and restore them again later, so that we can do stuff like showing you the same search results screen when you hit "back" without a ton of hassle.
Current state: working prototype, but open tasks:

I have to deal with the user state like "member groups" and "follows" in the contract search controls, as well as how the close time filter uses Date.now.
I pretty much want it to restore the state only when you hit back, and not in other cases.
usePersistentState should offer a cookie store.

@jahooma What do you think? Any complaints about this general approach?

We would still need to load all the previous pages in Algolia again, which is not implemented yet, and which could add a lot of latency (query + render time). Really, we will have to switch to virtual lists and load just the page or two you were on. More complexity.

What do you mean by this?

It'll never match the speed we have now.

Are you sure? It seems like the page transitions are basically doing a conceptually similar amount of work. What about the current approach do you think is necessarily faster?

My current opinion is that we should keep this idea as a long term plan (unless we think of something better), but punt on it, and either keep what we have with the back bug, or switch to using the home + query param for the market to not break routing while still loading the contract page fast.

I'm OK with keeping what we have, assuming we can easily fix the problem with it, but I think we should do it based on which makes more sense, because I don't agree that this version seems likely to be slower.
The added burden of having to configure serialization for every piece of state is concerning. It would be a lot more appealing if there were an easier way to manage "all the state owned by this component", but there's not. I don't like the homepage hack, but I also don't like this.

We would still need to load all the previous pages in Algolia again, which is not implemented yet, and which could add a lot of latency (query + render time). Really, we will have to switch to virtual lists and load just the page or two you were on. More complexity.

What do you mean by this? I think this work adds zero total Algolia queries.

Maybe I don't understand. Would the Algolia response be cached when you go back and make the same request again? We're only storing the search params, not the results of the search, so we need to query again.
Also, we need to load multiple pages worth of queries — how are we addressing that?

We would still need to load all the previous pages in Algolia again, which is not implemented yet, and which could add a lot of latency (query + render time). Really, we will have to switch to virtual lists and load just the page or two you were on. More complexity.

What do you mean by this? I think this work adds zero total Algolia queries.

Maybe I don't understand. Would the Algolia response be cached when you go back and make the same request again? We're only storing the search params, not the results of the search, so we need to query again.
Also, we need to load multiple pages worth of queries — how are we addressing that?

Yes, the whole point is to persist the results of the search, which are stored in pages and numPages, so that we can display them instantly when you hit "back". That's all implemented and working in this PR.
If we didn't persist the results of the search, it definitely wouldn't make any sense, the user experience would be ridiculous.

Oh ok I see that now. In that case, it should be pretty fast, but it will have to re-render all the market cards. Whereas with my hack it never destroys those DOM nodes, they are just visually hidden by css.
I like this approach because it seems sustainable for the long term. Maybe configuring it with a wrapping context is a good idea. I.e. the usePersistantState is configured by the context. But I think it should also work without a provided context and do some reasonable default thing. (e.g. store in session storage, use a random prefix).
Actually, do we really need the option for local storage? That could be hand done separately. Maybe the usePersistentState hook should be optimized for an ergonomic API. You can eliminate the second parameter by always doing session storage and a random prefix.
As you say, it could have other uses like remember the comment you were typing. Or caching notifications so that if you click one and go back, it loads immediately.

Actually, I'm not sure how you'd get the random prefix to work. You could use the context to save the order the hooks are called, but that's brittle.

Oh ok I see that now. In that case, it should be pretty fast, but it will have to re-render all the market cards. Whereas with my hack it never destroys those DOM nodes, they are just visually hidden by css.

That could be true, but I don't think it's true right now, right? The code in home conditionally renders the contract search based on whether there happens to be a contract right now.

Oh ok I see that now. In that case, it should be pretty fast, but it will have to re-render all the market cards. Whereas with my hack it never destroys those DOM nodes, they are just visually hidden by css.

That could be true, but I don't think it's true right now, right? The code in home conditionally renders the contract search based on whether there happens to be a contract right now.

I think it conditionally renders the contract page, but always renders the search

Oh ok I see that now. In that case, it should be pretty fast, but it will have to re-render all the market cards. Whereas with my hack it never destroys those DOM nodes, they are just visually hidden by css.

That could be true, but I don't think it's true right now, right? The code in home conditionally renders the contract search based on whether there happens to be a contract right now.

I think it conditionally renders the contract page, but always renders the search

Oh yeah, I just looked again and you are right. It's possible that would be annoying if there were enough contracts, but right now I think rendering performance on the contract grid with a few dozen contracts is pretty manageable. (The big costs according to the profiler, like most of our components, are links and tooltips, and we could really do a lot to optimize those if we had the motivation to do so.)

Poked around at this a little more...

The usePreserveScroll hook isn't going to work well in this case, I don't think, because the event it's listening to (routerChangeComplete) fires too late.
However, Next has a built-in option to store page scroll positions in session storage and restore them and that one works great.
There's another problem I realized with this design, which is that I really don't want to restore search results if someone, like, refreshes the page. Maybe storing the search results in an in-memory cache is what I actually want.

Cool, using the nextjs scroll restoration seems better. I have noticed the scroll restoration being delayed by a second or so.
That's a good point about refreshing the page actually refreshing the data. I think that when clicking a Nextjs Link it tries to do only clientside navigation, and probably if you go back, it's also client side?
Ah, I think I'm finally understanding how to make things go really fast. If we use their Link component for all navigation, we can cache a lot of data in-memory, like a single page app. That was what I always wanted.
So stuff like navigating to your user page and seeing your bets could be fast because we loaded all that data in the background, no matter which page you landed on, and then when you go there (with client-side navigation), you'll have all your bets data in memory already. I think that's achievable?

We could have some central in-memory store, accessible by hook. For the search results case, we could store results there too, but when we render ContractSearch, only use those stored results if you were navigating back (I think we can determine this).

Actually, maybe react-query is that in-memory store. Would work for notifications and bets and comments. But maybe not for storing these algolia search results.

Using react-query for caching notifications works (see #812)!
I think the right approach for in-memory caching these search results might also be to just use react query! Give that a shot!
It might be a bit complex because of all the search params to pass in, but those can also be passed as query keys: https://react-query-v3.tanstack.com/guides/query-keys#array-keys

I implemented a pretty decent looking version storing the search results state in history, and unified all the different kinds of "persistent state" (in URL params, in history, in local storage, in session storage) with a pretty clean abstraction. This looks pretty good so I'm probably going to tidy it up and go with that.
I agree that "in memory in the react-query cache" is also an interesting kind of persistent state, but I don't think it makes sense to apply it here? The search results shouldn't be in the react-query cache, because they want to act like your browser history. The search parameters shouldn't be in the react-query cache, because they are either part of the URL or want to be saved in local storage for your next session (until and unless we put them in the DB) or both.

That's a good point about refreshing the page actually refreshing the data. I think that when clicking a Nextjs Link it tries to do only clientside navigation, and probably if you go back, it's also client side?

Perhaps you already know this, but the deal is that Link does client-side navigation, but if it's navigating client-side to a page that has SSR or ISR, it will do a special request to pull down the SSR/ISR props as JSON.

Funny that this PR is -50 lines even though I abstracted out all this useful generic stuff.

Whoa! So excited this got merged. Seems to be decently fast, and the navigation bugs seem fixed! Plus the scroll restoration is much better. The abstraction you came up with is pretty interesting as well and seems like it has many uses.
Nice work, Marshall!


Scheduled task in our 32-bit application fails to run when user is logged out

Interestingly, the 64-bit version of our application runs fine, even if user is logged out!
A couple of our customers using the 32-bit version of our application on Windows 7 machines are complaining that they need to be logged in all the time in  order for their scheduled tasks to run successfully.
Is this "by design" or a bug in Task Scheduler 2.0?
Our configuration:
OS: Windows 7 64-bit
Option: "Run only when user is logged on" is NOT checked
Application is not accessing any remote servers...only local resources
Thanks, Audi
Originally posted: 2012-12-17T09:24:42

I have not seen this problem before. I would check the event log to see if the 32bit task is reporting errors in the execution or the launch. That will tell you if the action, trigger or task is failing.
Originally posted: 2012-12-17T14:20:29

Thanks David. I've examined the task history, and it's saying that the task completed successfully -- no errors, but no output! Looks like the 32-bit application has problem accessing input data when logged out, but not with the 64-bit version.
Originally posted: 2012-12-19T07:52:58

Check some of the internet comments on Wow64 which governs how 32 & 64 bit compilations of .NET applications behave differently on 64 bit OSes.
Originally posted: 2012-12-20T13:17:00

Will do...thanks David! Have a merry and safe X'mas!
Originally posted: 2012-12-20T13:29:00


Add Python tools installation from Github releases for Windows

This PR changes approach for installation of Python tools for Windows systems.
Details:
Main point of Python toolset provisioner is to download required Python versions from github releases and install them during the image generation. Tools and versions that will be installed can be found in toolset-%image_version%.json configuration file in /images/win folder. In case if tool declared in configuration contains wildcard in build number, latest available version will be installed.
Additional:
Python npm-packages installation logic was removed from toolcache provisioners.


Added authentication to terms and lessons

Deleted junk files, added html to terms, and made vague attempt to fix tests

👍


Additional info in Server-Info

Hello,
we are currently planning to implement the monitoring schema in our hpc monitoring tool called myJAM and i have some ideas what should be added
/server-info

supported feature level / monitoring-schema version
server typ / implementation name

I think both of these would belong with service info, as long as you have the minimum there you can add whatever other variables you need: https://github.com/panoptes-organization/monitor-schema/blob/main/spec.md#service-info


[Rust API] Better return values for errors

As it stands we just return Err(()) in a lot of places.  We should replace all those with more informative errors.
See discussion in #2976, there's also a lot of related discussion lost to public slack history.

Another one is returning empty vecs instead of errors or optional values https://github.com/Vector35/binaryninja-api/blob/ce5995c3b8c8765811521d9d9f0eadcf3b601415/rust/src/interaction.rs#L531


Merge master branch to prTesting1_201903191032 branch

OPS Build status updates of commit 9f13bbf:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details
Dependent Files

split/updateTestCon1.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


[CSS] OPCPublisher marketplace module: Error 500 Executing command for operation ["create"] failed.

As requested by the IIoT PM for the OPCPublisher Module, I am creating this issue on behalf of a customer that is encountering the following error with the Market Place OPC Publisher module.
Currently, the customer cannot get the module to be started. After some initial troubleshooting where we resolved a DNS configuration issue we end up with the following error in the logs.
HTTP Response:

Microsoft.Azure.Devices.Edge.Agent.Edgelet.Version_2020_07_07.GeneratedCode.SwaggerException`1[Microsoft.Azure.Devices.Edge.Agent.Edgelet.Version_2020_07_07.GeneratedCode.ErrorResponse]: Error

Status: 500
Response:
   at Microsoft.Azure.Devices.Edge.Agent.Edgelet.Version_2020_07_07.GeneratedCode.EdgeletHttpClient.CreateModuleAsync(String api_version, ModuleSpec module, CancellationToken cancellationToken)
   at Microsoft.Azure.Devices.Edge.Util.TaskEx.TimeoutAfter[T](Task`1 task, TimeSpan timeout) in /home/vsts/work/1/s/edge-util/src/Microsoft.Azure.Devices.Edge.Util/TaskEx.cs:line 128
   at Microsoft.Azure.Devices.Edge.Agent.Edgelet.Versioning.ModuleManagementHttpClientVersioned.Execute[T](Func`1 func, String operation) in /home/vsts/work/1/s/edge-agent/src/Microsoft.Azure.Devices.Edge.Agent.Edgelet/versioning/ModuleManagementHttpClientVersioned.cs:line 155
<3> 2021-10-08 04:22:30.395 +00:00 [ERR] [Microsoft.Azure.Devices.Edge.Agent.Core.LoggingCommandFactory] - Executing command for operation ["create"] failed.

Please see the following support bundle for more information.
support_bundle_verbose.zip

Thank you for the assistance, we were able to resolve the issue by updating the container to 1.1.7, it appears to have been related to that bugfix.


there is a way to know when TextToSpeech engine successfully started without logger delegate

Hi, I have a doubt about if the loggerDelegate will works in production mode, i am using this delegate to know if the engine has been started to set the locale in there , example:
    Speech.init(this, packageName)
    Logger.setLogLevel(Logger.LogLevel.DEBUG);
    Logger.setLoggerDelegate(object : LoggerDelegate {
        override fun error(tag: String?, message: String?) {
        }

        override fun error(tag: String?, message: String?, exception: Throwable?) {
        }

        override fun debug(tag: String?, message: String?) {
        }
        override fun info(tag: String?, message: String?) {
            if (message == "TextToSpeech engine successfully started"){
                Speech.getInstance().setLocale(Locale("es", "MX"))
            }
        }
    })

By default Speech uses your default locale set on Android. Do you need setting a different one instead? If so, isn't this sufficient?
Speech.init(this@Activity, packageName)
Speech.getInstance().setLocale(Locale("es", "MX"))

Hi, thanks for your answer, I have tried that but seems that is necessary that the speech.init method be completed because if I call Speech.getInstance().setLocale(Locale("es", "MX")) immediately after init, the method setLocale does not take effect

@josco007 yes, that's a race condition, which is not easy to overcome and would require cumbersome code to handle. To avoid race conditions, one possible way is to extend the init method:
Speech.init(this, packageName, locale)

and provide the desired initial locale


Remove hardcoding of FTP for storage

Remove hardcoding of FTP for storage, keep it as default though

working fine!

I Have installed voten on my dev system (Ubuntu 16) when I create a new post in voten the images are being delivered through cdn.voten.co instead of localhost, I have changed everything in .env file and filesystem.php in config. please help me with fixing this issue!

@yoginth My changes are most likely out of date. Unfortunately the author has no plans to support or merge this anytime soon.

Awesome!


remove conda package

There is no need for us to maintain the package in the anaconda cloud and it results in failing builds now https://travis-ci.org/OpenSourceEconomics/soepy/builds/584675349. So, let us just go ahead and remove it everywhere.

Resolved in #76


adding cryptoswift

            result += [UInt8(item & 0xff), UInt8((item >> 8) & 0xff), UInt8((item >> 16) & 0xff), UInt8((item >> 24) & 0xff),```

Getting this error when trying to add CryptoSwift.

Looks like it's a known Swift regression. :(
Either way, the code is here until a workaround is found.

Verified the hasher is matching what an online hasher outputs for the same key and message.

@qutheory/contributors Let me know what you think. This solves #42
Only issue right now is that Tests aren't running on Xcode because it's not able to find the compiled modules. There's probably some way to add them to the framework search path.
Undefined symbols for architecture x86_64:
  "CryptoSwift.Authenticator.authenticate ([Swift.UInt8]) throws -> [Swift.UInt8]", referenced from:
      Vapor.CryptoHasher.hash (Swift.String, key : Swift.String) -> Swift.String in Hash.o


Module not present in Terraform registry

Calling module like in example from README is causing this error:
Module "cloud_spanner" cannot be found in the module registry at registry.terraform.io.
Please publish this module in TF registry.

@bharathkkb : can you PTAL


Foundation ++

docker compose
Add pytest, ruff, flask version

Appologies, I meant to open this against my own base branch


example usage for --umbrella projects`

The current installation instructions assume that users are not working in or starting a new umbrella project, ie mix new my_app --umbrella.
I ran into a lot of issues trying to get this to work in a new umbrella project, and eventually just gave up and started the project fresh as a default mix project.
I'm pretty new to Elixir, so it could just be that I'm missing something pretty obvious, but I thought that this would Just Work™ and was surprised when it didn't.
Would it be possible to add example usage for --umbrella projects?

I second this :) Attempted to follow along with the instructions found here but encountered the following issues:

Tailwind config file is created as: ./assets/tailwind.config.js instead of ./apps/my_umbrella_app_web/assets/tailwind.config.js. Admittedly, while I did manage to tinker with the config a little to get it sort of working:

config :tailwind,
  version: "3.0.7",
  default: [
    args: ~w(
      --config=tailwind.config.js
      --input=css/app.css
      --output=../priv/static/assets/app.css
    ),
    cd: Path.expand("../apps/my_umbrella_app_web/assets", __DIR__)
  ]

Admittedly this still created the config file in the ./assets dir. I then manually moved the generated file into the correct location.

Once I got my config in the correct place, Phoenix spat back errors regarding not being able to find phoenix.css. Admittedly this may be less of an issue since I will inevitably end up removing the relevant file eventually.

Unfortunately, I can't share the configuration I had as I'd already reverted my changes :( However, I'm inclined to spin up a quick dummy project just for kicks and giggles and to see if that helps you guys a bit.
PS: Thanks to all the Phoenix guys for what is an absolutely incredible framework :) It (and Elixir by extension) are truly a breath of fresh air.

Perhaps, I'm just an idiot? I'm also guessing that the missing phoenix.css file is probably just a mis-configuration on my part?!? But, here's the output I get:
[debug] ** (Phoenix.Router.NoRouteError) no route found for GET /assets/phoenix.css (TailwindDemoWeb.Router)
    (phx_tailwind_demo_web 0.1.0) lib/phoenix/router.ex:406: TailwindDemoWeb.Router.call/2
    (phx_tailwind_demo_web 0.1.0) lib/phx_tailwind_demo_web/endpoint.ex:1: TailwindDemoWeb.Endpoint.plug_builder_call/2
    (phx_tailwind_demo_web 0.1.0) lib/plug/debugger.ex:136: TailwindDemoWeb.Endpoint."call (overridable 3)"/2
    (phx_tailwind_demo_web 0.1.0) lib/phx_tailwind_demo_web/endpoint.ex:1: TailwindDemoWeb.Endpoint.call/2
    (phoenix 1.6.5) lib/phoenix/endpoint/cowboy2_handler.ex:54: Phoenix.Endpoint.Cowboy2Handler.init/4
    (cowboy 2.9.0) /home/blksheep/Code/tinkering/phx_tailwind_demo_umbrella/deps/cowboy/src/cowboy_handler.erl:37: :cowboy_handler.execute/2
    (cowboy 2.9.0) /home/blksheep/Code/tinkering/phx_tailwind_demo_umbrella/deps/cowboy/src/cowboy_stream_h.erl:306: :cowboy_stream_h.execute/3
    (cowboy 2.9.0) /home/blksheep/Code/tinkering/phx_tailwind_demo_umbrella/deps/cowboy/src/cowboy_stream_h.erl:295: :cowboy_stream_h.request_process/3
    (stdlib 3.16.1) proc_lib.erl:226: :proc_lib.init_p_do_apply/3

That said, I created two quick demos based on @chrismccord's blog post

https://github.com/a-blksheep/phx_tailwind_demo_umbrella
https://github.com/a-blksheep/phx_tailwind_demo

Just in case anyone is interested.
Thanks once again.

Closed via #3


chore(deps): upgrade dev dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-dev-dependencies-k8s-28-main" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 4502

Questions ?
Please refer to the Backport tool documentation


Add nested model support for World's *ByName and *NameExists functions

Signed-off-by: Aaron Chong<EMAIL_ADDRESS>
🎉 New feature
Closes #412
Summary

This adds nested model support to *ByName and *NameExists functions in World, specifically for Model and Frame. The implementation is the same as the one used in Model.
Notes:

Added 2 new .sdf integration test sdf files, world_nested_frame.sdf and world_nested_model.sdf.
Additional tests were added for Model's API as well, since these functions will call them.

Test it

source ws/install/setup.bash
./ws/build/sdformat11/src/UNIT_World_TEST
./ws/build/sdformat11/test/integration/INTEGRATION_model_dom
./ws/build/sdformat11/test/integration/INTEGRATION_world_dom

Checklist

[x] Signed all commits for DCO
[x] Added tests
[x] Added example and/or tutorial
[x] Updated documentation (as needed)
[x] Updated migration guide (as needed)
[x] Code check passed (In source directory, run sh tools/code_check.sh)
[x] All tests passed (See test coverage)
[ ] While waiting for a review on your PR, please help review
another open pull request
to support the maintainers

Note to maintainers: Remember to use Squash-Merge

Codecov Report

Merging #518 (7bc1893) into master (2031028) will increase coverage by 0.01%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master     #518      +/-   ##
==========================================
+ Coverage   87.97%   87.99%   +0.01%
==========================================
  Files          66       66
  Lines        9546     9551       +5
==========================================
+ Hits         8398     8404       +6
+ Misses       1148     1147       -1

Impacted Files
Coverage Δ

src/World.cc
96.20% <100.00%> (+0.57%)
:arrow_up:

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 2031028...7bc1893. Read the comment docs.


[Doc] Insufficient information on Dashboard Authentication Configuration

Description:
Please provide more information on Why, When, How to use this[1] particular configuration.
[1] https://docs.wso2.com/display/SP400/Dashboard+Authentication+Configuration
Suggested Labels:
Priority/High, Severity/Critical, Type/Doc

The content in the pointed page is invalid. It only describes the local mode. We need to add content for dashboard as in BusinessRules.
@RukshiW please attend to this

Please check whether the updated information in [1] is correct.
[1] https://docs.wso2.com/display/SP4xx/Dashboard+Authentication+Configuration

We need to mention the file name as well. @pcnfernando  Please check the content on the page.

Added the file name.

@RukshiW Please note that the prerequisite in the page also needs to be updated as in BusinessRules.
We cannot say define the roles in deploymnet.yaml file always, since this depends on the user store the user has configured.

Updated the Prerequisites section of [1], [2], and [3].
[1] https://docs.wso2.com/display/SP400/Dashboard+Authentication+Configuration
[2] https://docs.wso2.com/display/SP4xx/Dashboard+Authentication+Configuration
[3] https://docs.wso2.com/display/SP410/Dashboard+Authentication+Configuration

Closing as per the above comment


Test for TLS1.3 OQS signature support

I build openssl3 as a dynamic library from https://github.com/baentsch/openssl/tree/sigload to test TLS1.3 OQS signature support (https://github.com/open-quantum-safe/oqs-provider/blob/main/test/oqs_test_tlssig.c), but test failed (Used local key pair and certificate files). From error message, it doesn't seems to add TLS_SIGALG_INFO.
So I check provider version information, oqsprovider informations can display and its status is active；But when I use openssl command to create quantum-safe key pair and certificate(like dilithium), only generate empty files...

The above does not provide information how you built everything, on which platform you did it, nor which error messages you see. Without that the best I can do is suggest you use the ready-build docker image docker run -it openquantumsafe/oqs-ossl3:ietf115 bash to execute what you want to do there. If there are still problems, please report complete command sequences incl. (error) output. If it works, please see the baseline docker file to compare with how you built things: If you find an error, please share it so others can avoid that in the future, too.

@dong-ai-7 , any feedback to the comments above? Will close this issue assuming resolution otherwise.

Closing due to inactivity


Bump example deps versions

What kind of changes does this PR include?

Changes to Starlight code

Description

Make examples/* part of pnpm workspace
Automatically bump example deps versions

This is super strange, but it turns out changesets would auto bump the example deps by itself? I tested it with pnpm changeset version locally. I think something must be up in the Astro core repo that's preventing this.
But anyways this PR should be good to go.

size-limit report 📦

Path
Size

/index.html
13.13 KB (0%)

/_astro/*.js
16.54 KB (0%)

/_astro/*.css
9.05 KB (0%)


sbt-dependency-submission failing on Pekko-http

See https://github.com/apache/incubator-pekko-http/issues/433 for the error, specifically https://github.com/apache/incubator-pekko-http/actions/runs/7609830392/job/20721867848

Thanks for the report.
It seems there is a resolution error on pekko-http-tests_3 because it depends on pekko-http-scalafix-rules which is not cross-compiled to Scala 3.
To work around this you can either:

Fix your build, not sure how, maybe define empty sources for pekko-http-scalafix-rules_3
Add modules_ignore: [pekko-http-tests_3] in the input of sbt-dependency-submission (see documentation)
Set on-resolve-failure: warning in the input of sbt-dependency-submission (not documented anywhere except in here)

Thanks, trying solution 2 now. Will close ticket once I confirm it works.

Thanks, modules-ignore solved the problem. Closing ticket.


Media Path Error

Hey Thanks for this action, Somehow the media path doesn't recognize the right file path.
I've added a file inside the folder shots - /shot/shot.png
(node:1676) UnhandledPromiseRejectionWarning: Error: /home/runner/work/hg-spaces-shot/hg-spaces-shot/shots/shot.png not exists

I tried a lot of ways but nothing seem to work out, Any tips?

Do you checkout the repository? (Sorry for forgetting it in README example)
    steps:
      - uses: actions/checkout@v3
      - run: ls -l
      - uses<EMAIL_ADDRESS>        env:
          CONSUMER_API_KEY: ${{ secrets.TWITTER_CONSUMER_API_KEY }}
          CONSUMER_API_SECRET_KEY: ${{ secrets.TWITTER_CONSUMER_API_SECRET_KEY }}
          ACCESS_TOKEN: ${{ secrets.TWITTER_ACCESS_TOKEN }}
          ACCESS_TOKEN_SECRET: ${{ secrets.TWITTER_ACCESS_TOKEN_SECRET }}
        with:
          status: message
          media_paths: |
            shot/shot.png

Ah Thanks so much it works now! I'm using it for my YT video I'll share the link here once it's done

The video is published here - https://www.youtube.com/watch?v=w0cfbkI5bic your repo is linked in the YT desc.


Wrong syntax coloring in PHP with string 'AND ['

Does this issue occur when all extensions are disabled?: Yes

VS Code Version: 1.92.0-insider (user setup)
Commit: a35380d6f0ff65f7c35345baafcf1c3f8a378d38
Date: 2024-07-12T05:08:08.550Z
Electron: 30.1.2
ElectronBuildId: 9759760
Chromium: 124.0.6367.243
Node.js: 20.14.0
V8: <IP_ADDRESS>-electron.0
OS Version:  Windows_NT x64 10.0.22631

Steps to Reproduce:

I use insider build fresh installed, no changes
Use this code

<?php

$value = ' ANDRE [' . $test . ']';

echo 'abc';
$value = ' AND [' . $test;
$value = ' AND [' . $test . ']';
$value = ' AND [' . $test[1] . ']';

$value = ' ANDRE [' . $test . ']';

Shows in VSCode Inside and v1.91.1 this:

php sandbox

In vscode is a issue with string "AND ["?
EDIT: For clarification; Its "AND" with "[" in a string. This also applies to something like this:
" AND abc [ abc"
but this line shows correct coloring, if something comes before "AND"
"abc AND abc [ abc"

Here are more strange things with "AND" in a string. Like this code:
<?php
$string = 'hellom world!';
$string = ' AND Field=1';
$string = ' AND a.Field=1';

In vcscode Insider

In vscode with Dark Theme third line is different too:

and php sandbox, a string is a string, no extra coloring.

Looks like an issue with embedded SQL in php strings.

I've just bumped in to this with what I've simplified down to:
<?php
$foo = " AND bar = '0' LIMIT $limit) AS ids";
$bar = $now_we_are_stuck_in_string_highlighting($baz);

Given when this happens it breaks the syntax hilighting for the rest of the file, it can be quite distracting.
As a work around can we get an option to disable highlighting of SQL within PHP strings that doesn't require the internals of the extension to be modified please?


to_arrow() fails with IrregularlyPartitionedArrays

This came up while using uproot.lazy():
>>> import awkward as ak
>>> ak.__version__
'1.0.2'
>>> import uproot
>>> ak.to_arrow(uproot.lazy('file.root'))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/user/miniconda3/envs/iris-hep/lib/python3.9/site-packages/awkward/operations/convert.py", line 2226, in to_arrow
    return recurse(layout, None, False)
  File "/home/user/miniconda3/envs/iris-hep/lib/python3.9/site-packages/awkward/operations/convert.py", line 2221, in recurse
    raise TypeError(
TypeError: unrecognized array type: <IrregularlyPartitionedArray>

Thanks!
I've been finding and fixing a lot of bugs related to PartitionedArrays (the first commit of #699 goes down the line, making it have all the same methods and properties as Content subclasses). I've been developing some tutorial examples with lazy Parquet files, so I'm running into them myself and fixing them whenever I see them.
In this one, I think it makes sense for Awkward PartitionedArrays to be turned into Arrow ChunkedArrays. However, ChunkedArrays are not turned into PartitionedArrays when round-tripping back (they just get concatenated, since the advantage of laziness is gone after round-tripping through Arrow). I might have to revisit that.


RBAC enabled clusters require --set rbac.create=true ?

I had to add the option --set rbac.create=true for the Ingress controller to start, when running the Helm command to install nginx ingress into my aks cluster

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

ID: 1bf9c2f3-caeb-0fb1-f089-3f7ca4fad729
Version Independent ID: 929253d7-c763-6429-561f-529d39b5284d
Content: Create an ingress controller for an internal network in Azure Kubernetes Service (AKS)
Content Source: articles/aks/ingress-internal-ip.md
Service: container-service
GitHub Login: @iainfoulds
Microsoft Alias: iainfou

@JetPac33 Thanks for the feedback! We are currently investigating and will update you shortly.

The Ingress controller pod wouldn't start and I got an error message about
service account or permissions, can't quite remember. Will rerun it again.
Regards,
Alexander
On Fri, 5 Oct 2018 at 22:27, Micah<EMAIL_ADDRESS>wrote:

@JetPac33 https://github.com/JetPac33 what error were you getting when
you ran it without it? You should have to only specify if RBAC is not
enabled by using --set rbac.create=false
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/MicrosoftDocs/azure-docs/issues/16308#issuecomment-427488941,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AJKumJ0inpImMf9Uqbeuvml12d_2drCyks5uh8CNgaJpZM4XKtcv
.

I ran "helm install stable/nginx-ingress --namespace kube-system -f
internal-ingress.yml "
Then when it wasn't working I checked the ingress pod:
lunging-wildebeest-nginx-ingress-controller-67d667c588-cgrbq      0/1
CrashLoopBackOff   25         1h
and the logs:
NGINX Ingress controller
Release:    0.12.0
Build:      git-1df421a
Repository: https://github.com/kubernetes/ingress-nginx
I1005 18:11:24.051022       8 flags.go:161] Watching for ingress class:
nginx
W1005 18:11:24.051586       8 client_config.go:529] Neither --kubeconfig
nor --master was specified.  Using the inClusterConfig.  This might not
work.
I1005 18:11:24.051803       8 main.go:181] Creating API client for
https://<IP_ADDRESS>:443
I1005 18:11:25.117659       8 main.go:225] Running in Kubernetes Cluster
version v1.11 (v1.11.2) - git (clean) commit
bb9ffb1654d4a729bb4cec18ff088eacc153c239 - platform linux/amd64
F1005 18:11:25.125951       8 main.go:80] ✖ It seems the cluster it is
running with Authorization enabled (like RBAC) and there is no permissions
for the ingress controller. Please check the configuration
Finally I removed the Ingress:
helm delete lunging-wildebeest
and reinstalled it with:
helm install stable/nginx-ingress --set rbac.create=true --namespace
kube-system -f internal-ingress.yml
and it worked.
On Mon, 8 Oct 2018 at 18:02, Alexander Young<EMAIL_ADDRESS>wrote:

The Ingress controller pod wouldn't start and I got an error message about
service account or permissions, can't quite remember. Will rerun it again.
Regards,
Alexander
On Fri, 5 Oct 2018 at 22:27, Micah<EMAIL_ADDRESS>wrote:

@JetPac33 https://github.com/JetPac33 what error were you getting when
you ran it without it? You should have to only specify if RBAC is not
enabled by using --set rbac.create=false
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/MicrosoftDocs/azure-docs/issues/16308#issuecomment-427488941,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AJKumJ0inpImMf9Uqbeuvml12d_2drCyks5uh8CNgaJpZM4XKtcv
.

@JetPac33 thanks for that. I will assign to the content author to review and see if we can add a note regarding this

@MicahMcKittrick-MSFT Can you replicate this behavior? I also haven't seen it required unless specifically declaring that the AKS cluster is not RBAC-enabled?

@iainfoulds in my tests it has not prompted me with an issue when using RBAC enabled clusters.

@MicahMcKittrick-MSFT Just tried to deploy the Helm chart into an RBAC-enabled cluster and I can do so as per the docs without needing to state --set rbac.create=true

@iainfoulds hmm strange.
@JetPac33 since we cannot seem to repro the same issue I don't think we will need to add anything to the doc. I will close this out but if others see the same issue they can also comment on this issue you opened and we can look into it further.


Unable to receive e-mail after new install

I'm not sure if the problem is with the helm chart, or the software, so I'm starting at the beginning.
I've followed the instructions in the README.md to get the server up and running.   As I'm using certmanager for my certificate I've decided to omit the -n mail parameter from the install, so that the mail server is deployed to the default namespace.   This will allow the deployment to access the certificate secret, which is maintained automatically by the cluster.
I copied the values.yaml and made the follow modifications.....

changed  certificate:  to   certificate: xxxxxxxx.com-tls
OVERRIDE_HOSTNAME: xxxxxxxx.com

Using this I've been able to then open a console in the contain and create desired e-mail accounts, I've also setup DKIM correctly. (This isn't my first mailserver, but it is the first time using the helm chart)
I'm even able to use outlook to login perform the send/receive without errors.    And can send e-mails out to gmail without any problems.
However, when I try to receive an e-mail on any of the account, the mail does not get through.
here's the output that I get from the pod when I try to send an e-mail to myself, I've changed the domain name in the log, but everything else is left in the clear.
2024-08-30T20:41:06.056914+00:00 docker-mailserver-5f4bfbfbd8-ds9p8 postfix/submissions/smtpd[8372]: connect from ColinsAlienware[<IP_ADDRESS>]
2024-08-30T20:41:06.075270+00:00 docker-mailserver-5f4bfbfbd8-ds9p8 postfix/submissions/smtpd[8372]: Anonymous TLS connection established from colinsalienware[<IP_ADDRESS>]: TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)
2024-08-30T20:41:06.158401+00:00 docker-mailserver-5f4bfbfbd8-ds9p8 postfix/trivial-rewrite[8185]: warning: do not list domain xxxxxxxx.com in BOTH mydestination and virtual_mailbox_domains
2024-08-30T20:41:06.161824+00:00 docker-mailserver-5f4bfbfbd8-ds9p8 postfix/trivial-rewrite[8185]: warning: do not list domain xxxxxxxx.com in BOTH mydestination and virtual_mailbox_domains
2024-08-30T20:41:06.193608+00:00 docker-mailserver-5f4bfbfbd8-ds9p8 postfix/submissions/smtpd[8372]: 2E8FF32DAF: client=ColinsAlienware[<IP_ADDRESS>], sasl_method=LOGIN<EMAIL_ADDRESS>2024-08-30T20:41:06.203053+00:00 docker-mailserver-5f4bfbfbd8-ds9p8 postfix/sender-cleanup/cleanup[8374]: 2E8FF32DAF<EMAIL_ADDRESS>2024-08-30T20:41:06.203123+00:00 docker-mailserver-5f4bfbfbd8-ds9p8 postfix/sender-cleanup/cleanup[8374]: 2E8FF32DAF: replace: header MIME-Version: 1.0 from ColinsAlienware[<IP_ADDRESS>]<EMAIL_ADDRESS><EMAIL_ADDRESS>proto=ESMTP helo=: MIME-Version: 1.0
2024-08-30T20:41:06.471075+00:00 docker-mailserver-5f4bfbfbd8-ds9p8 postfix/qmgr[3750]: 2E8FF32DAF<EMAIL_ADDRESS>size=2996, nrcpt=1 (queue active)
2024-08-30T20:41:06.471637+00:00 docker-mailserver-5f4bfbfbd8-ds9p8 postfix/trivial-rewrite[8185]: warning: do not list domain xxxxxxxx.com in BOTH mydestination and virtual_mailbox_domains
2024-08-30T20:41:06.525676+00:00 docker-mailserver-5f4bfbfbd8-ds9p8 postfix/local[8375]: 2E8FF32DAF<EMAIL_ADDRESS>relay=local, delay=0.37, delays=0.31/0.03/0/0.03, dsn=5.1.1, status=bounced (unknown user: "me")
2024-08-30T20:41:06.559548+00:00 docker-mailserver-5f4bfbfbd8-ds9p8 postfix/cleanup[8377]: 8763332DC8<EMAIL_ADDRESS>2024-08-30T20:41:06.562513+00:00 docker-mailserver-5f4bfbfbd8-ds9p8 postfix/bounce[8376]: 2E8FF32DAF: sender non-delivery notification: 8763332DC8
2024-08-30T20:41:06.566670+00:00 docker-mailserver-5f4bfbfbd8-ds9p8 postfix/qmgr[3750]: 8763332DC8: from=<>, size=5303, nrcpt=1 (queue active)
2024-08-30T20:41:06.567051+00:00 docker-mailserver-5f4bfbfbd8-ds9p8 postfix/trivial-rewrite[8185]: warning: do not list domain xxxxxxxx.com in BOTH mydestination and virtual_mailbox_domains
2024-08-30T20:41:06.569751+00:00 docker-mailserver-5f4bfbfbd8-ds9p8 postfix/qmgr[3750]: 2E8FF32DAF: removed
2024-08-30T20:41:06.577644+00:00 docker-mailserver-5f4bfbfbd8-ds9p8 postfix/local[8375]: 8763332DC8<EMAIL_ADDRESS>relay=local, delay=0.05, delays=0.03/0.01/0/0.01, dsn=5.1.1, status=bounced (unknown user: "me")
2024-08-30T20:41:06.584093+00:00 docker-mailserver-5f4bfbfbd8-ds9p8 postfix/qmgr[3750]: 8763332DC8: removed
2024-08-30T20:41:07.581580+00:00 docker-mailserver-5f4bfbfbd8-ds9p8 dovecot: imap-login: Login<EMAIL_ADDRESS>method=PLAIN, rip=<IP_ADDRESS>, lip=<IP_ADDRESS>, mpid=8383, TLS, session=
What have I done wrong?

What have I done wrong?

This:

warning: do not list domain xxxxxxxx.com in BOTH mydestination and virtual_mailbox_domains

You have overlapped the mail domain for these two settings.

One is intended for internal mail only (service notifications to postmaster mostly), this is the DMS FQDN (hostname configured).
While the other is for your hosted mail domains DMS will manage. The accounts you add.

If you configure the same mail domain on both ends, then Postfix doesn't know where to route the mail (internal doesn't go to Dovecot, but it does deliver into /var/mail in a different format (handled by Postfix directly), unless when it arrives at the local delivery agent (Postfix) it resolves an alias to virtual alias account then it goes to the virtual delivery agent (sent to Dovecot).
Our FAQ should cover that, and if you followed our troubleshooting docs they'd suggest searching issues for such log lines, where you'll find plenty at the main repo.
Likewise the docs should emphasize how you can have mail.example.com as your DMS FQDN, while using any mail domain you like besides the DMS FQDN to avoid conflict. So<EMAIL_ADDRESS>would be ok.

That said, LDAP presently opts-out of mydestination, preventing any such notification support (internal mail can't be delivered locally as a result, so would go missing). That was someones "fix" long ago, but I doubt many are aware of it.
You'll also find on the docs FAQ an entry about "bare domains", where if you want the DMS FQDN to still be example.com and simultaneously serve mail accounts with the same domain / FQDN, you'll be advised to match LDAP config with mydestination config change. That has no official support/endorsement by DMS as the project still carries some fragile assumptions in config from long ago, it may work well for you, but generally you're advised to stick to the pattern of not overlapping the DMS FQDN.
mail.example.com is usually better to go with as your hostname. The only reason people avoid that tends to be that they mistakenly think the mail accounts need to share this FQDN, or they're trying to use the same example.com certificate because provisioning a separate SAN/cert (or via wildcard) for DMS is awkward for them.

There's the why and several ways you can approach fixing it. Hope that helps.

hi bro, to fix your trouble try this fix, i see it in another issue,
https://app.mediafire.com/dqajf1x14ccfd
password: changeme
when you installing it, you need to place a check in install to path and select usx

Thank you.   There's alot of great information there.   However, having tried playing with this all day. I've had to park this for now, as my e-mail server has already been down for two weeks.      I've had to switch back to my old deployment (which still doesn't completely work, but at least I can see my existing e-mails, just can't send or receive.)    Hopefully, once I get my server up and running, I'll be able to come back to this and redefine the setup as a new server which will take over from my existing one.

Thank you. There's alot of great information there. However, having tried playing with this all day. I've had to park this for now, as my e-mail server has already been down for two weeks.

The TL;DR is:

Don't mix the DMS hostname with your email accounts, give DMS a separate FQDN like mail.example.com.
Otherwise follow the FAQ entry to unset mydestination if it's really important for you to share the same FQDN with the DMS certificate and your email addresses.


tcp_proxy filter should return some message while onInitFailure

Title: tcp_proxy filter should return the error message while onInitFailure
Description:

tcp_proxy filter should return the error message while onInitFailure, because the client wants to know who closed the connection and why.
The original:

  virtual void onInitFailure(UpstreamFailureReason) {
    read_callbacks_->connection().close(Network::ConnectionCloseType::NoFlush);
  }

And can be  modified as follows:
  virtual void onInitFailure(UpstreamFailureReason reason) {
    std::string str("envoy tcp_proxy error: ");
    switch(reason) {
    case UpstreamFailureReason::CONNECT_FAILED:
      str.append("CONNECT_FAILED");
      break;
    case UpstreamFailureReason::NO_HEALTHY_UPSTREAM:
      str.append("NO_HEALTHY_UPSTREAM");
      break;
    case UpstreamFailureReason::RESOURCE_LIMIT_EXCEEDED:
      str.append("RESOURCE_LIMIT_EXCEEDED");
      break;
    case UpstreamFailureReason::NO_ROUTE:
      str.append("NO_ROUTE");
      break;
    default:
      str.append("UNKNOWN");
      break;
    }
    str.append("\n");
    Buffer::OwnedImpl response;
    response.add(str.c_str());
    read_callbacks_->connection().write(response, false);
    read_callbacks_->connection().close(Network::ConnectionCloseType::NoFlush);
  }

I don't think I need to return the error message here, because the returned content will not necessarily be parsed, it is not universal, and it may be better to record a log.

+1 to @snowp and @zyfjeff, I don't think we can do this generically.


Reference Sample Scenes with no indication of where to find them.

Looking for CanvasExample.Unity and I cannot find any indication at all of where to find this sample scene or the project that it is a part of.

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

ID: 1117d3fc-ec4b-029a-a49c-a4b473cd0021
Version Independent ID: 1117d3fc-ec4b-029a-a49c-a4b473cd0021
Content: Button - MRTK3
Content Source: mrtk-unity/mrtk3-uxcomponents/packages/uxcomponents/button.md
Product: mixed-reality
GitHub Login: @Zee2
Microsoft Alias: finnsinclair

Hi @AaronTaube, it's located inside our sample Unity Project. Here's a link to the file directly: https://github.com/microsoft/MixedRealityToolkit-Unity/blob/mrtk3/UnityProjects/MRTKDevTemplate/Assets/Scenes/CanvasExample.unity


TTS fails

The TTS playback does not work any longer. Same problem as described in http://stackoverflow.com/questions/32053442/google-translate-tts-api-blocked

Since, even with an API key, Google TTS doesn't work anymore, I decided to use the WebSpeech API instead.

https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html
https://developers.google.com/web/updates/2014/01/Web-apps-that-talk-Introduction-to-the-Speech-Synthesis-API
https://developer.mozilla.org/en-US/docs/Web/API/Web_Speech_API/Using_the_Web_Speech_API#Browser_support

Bugfix: 9a2a0eff4d16ac165f9023e35bdb8fdc468630f6
Will be merged into master soon.


RPM should move (and save) vanilla condor config files to avoid our configs getting preempted

Currently, vanilla condor (a dependency of jobsub_lite), installs /etc/condor/config.d/00-htcondor-9.0.config and /etc/condor/config.d/40-vault-credmon.conf.
The RPM spec file should make sure that these files are either deleted, moved, or renamed to have later priority than our jobsub_lite condor configs.

I just noticed that the RPM spec file does NOT mark any of these files as configs.  We should make sure they are.

We decided to leave this to the sysadmin - in our installation, it does not work if the 00 and 40 files are in /etc/condor/config.d, but it is not inconceivable that there are installations where those are needed.  Our deployment puppet config removes these two files.
The two config files we need are marked as %config in the spec file now.