Trying to perform feature engineering and data processing in tf.data pipeline

Please make sure that this is a bug. As per our
GitHub Policy,
we only address code/doc bugs, performance issues, feature requests and
build/installation issues on GitHub. tag:bug_template
System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow):
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Linux Ubuntu 18.04
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device:
TensorFlow installed from (source or binary): source
TensorFlow version (use command below): 2.3.1
Python version:3.7.6
Bazel version (if compiling from source):
GCC/Compiler version (if compiling from source):
CUDA/cuDNN version:
GPU model and memory:

You can collect some of this information using our environment capture
script
You can also obtain the TensorFlow version with:

TF 1.0: python -c "import tensorflow as tf; print(tf.GIT_VERSION, tf.VERSION)"
TF 2.0: python -c "import tensorflow as tf; print(tf.version.GIT_VERSION, tf.version.VERSION)"

Describe the current behavior
Hi Team,
Here, I have taken an example from tensorflow.org. I have built my model as similar as below example, but then as I am dealing with
a bit enormous data. I thought I can perform preprocessing and feature engineer task inside tf.data pipeline. Unfortunately, I haven't
found any examples yet. Hence why, I reached out you, and apologies for disturbing during the weekend.
example model I have built now similar to this
import pathlib
import numpy as np
import pandas as pd
import tensorflow as tf
import logging
tf.get_logger().setLevel(logging.ERROR)
from tensorflow import feature_column
from tensorflow.keras import layers
from sklearn.model_selection import train_test_split
dataset_url = 'http://storage.googleapis.com/download.tensorflow.org/data/petfinder-mini.zip'
csv_file = 'datasets/petfinder-mini/petfinder-mini.csv'
tf.keras.utils.get_file('petfinder_mini.zip', dataset_url,
extract=True, cache_dir='.')
dataframe = pd.read_csv(csv_file)
In the original dataset "4" indicates the pet was not adopted.
dataframe['target'] = np.where(dataframe['AdoptionSpeed']==4, 0, 1)
Drop un-used columns.
dataframe = dataframe.drop(columns=['AdoptionSpeed', 'Description'])
train, test = train_test_split(dataframe, test_size=0.2)
train, val = train_test_split(train, test_size=0.2)
print(len(train), 'train examples')
print(len(val), 'validation examples')
print(len(test), 'test examples')
def df_to_dataset(dataframe, shuffle=True, batch_size=32):
dataframe = dataframe.copy()
labels = dataframe.pop('target')
ds = tf.data.Dataset.from_tensor_slices((dict(dataframe), labels))
if shuffle:
ds = ds.shuffle(buffer_size=len(dataframe))
ds = ds.batch(batch_size)
ds = ds.prefetch(tf.data.experimental.AUTOTUNE)
return ds
batch_size = 32
train_ds = df_to_dataset(train, batch_size=batch_size)
val_ds = df_to_dataset(val, shuffle=False, batch_size=batch_size)
test_ds = df_to_dataset(test, shuffle=False, batch_size=batch_size)
feature_columns = []
numeric cols
for header in ['PhotoAmt', 'Fee', 'Age']:
feature_columns.append(feature_column.numeric_column(header))
bucketized cols
age = feature_column.numeric_column('Age')
age_buckets = feature_column.bucketized_column(age, boundaries=[1, 2, 3, 4, 5])
feature_columns.append(age_buckets)
indicator_columns
indicator_column_names = ['Type', 'Color1', 'Color2', 'Gender', 'MaturitySize',
'FurLength', 'Vaccinated', 'Sterilized', 'Health']
for col_name in indicator_column_names:
categorical_column = feature_column.categorical_column_with_vocabulary_list(
col_name, dataframe[col_name].unique())
indicator_column = feature_column.indicator_column(categorical_column)
feature_columns.append(indicator_column)
embedding columns
breed1 = feature_column.categorical_column_with_vocabulary_list(
'Breed1', dataframe.Breed1.unique())
breed1_embedding = feature_column.embedding_column(breed1, dimension=8)
feature_columns.append(breed1_embedding)
feature_layer = tf.keras.layers.DenseFeatures(feature_columns)
model = tf.keras.Sequential([
feature_layer,
layers.Dense(128, activation='relu'),
layers.Dense(128, activation='relu'),
layers.Dropout(.1),
layers.Dense(1)
])
model.compile(optimizer='adam',
loss=tf.keras.losses.BinaryCrossentropy(from_logits=True),
metrics=['accuracy'])
model.fit(train_ds,
validation_data=val_ds,
epochs=10)
This is my current code. This methods works perfectly.
Describe the expected behavior
Expected way:
Here, I am trying to perform feature engineer and data pre-processing inside tf.data pipeline. So I would require your guidance to perform these actions. I have tried scikit learn for feature engineer, but I want to completely perform every single step using TensorFlow 2
trying to perform data preprocessing and feature engineering inside tf.data pipeline
import pathlib
import numpy as np
import pandas as pd
import tensorflow as tf
import logging
tf.get_logger().setLevel(logging.ERROR)
from tensorflow import feature_column
from tensorflow.keras import layers
from sklearn.model_selection import train_test_split
dataset_url = 'http://storage.googleapis.com/download.tensorflow.org/data/petfinder-mini.zip'
csv_file = 'datasets/petfinder-mini/petfinder-mini.csv'
tf.keras.utils.get_file('petfinder_mini.zip', dataset_url,
extract=True, cache_dir='.')
dataframe = pd.read_csv(csv_file)
In the original dataset "4" indicates the pet was not adopted.
dataframe['target'] = np.where(dataframe['AdoptionSpeed']==4, 0, 1)
Drop un-used columns.
dataframe = dataframe.drop(columns=['AdoptionSpeed', 'Description'])
train, test = train_test_split(dataframe, test_size=0.2)
train, val = train_test_split(train, test_size=0.2)
print(len(train), 'train examples')
print(len(val), 'validation examples')
print(len(test), 'test examples')
here I have a doubt to performe preprocessing and feature engineer ### not sure how to output the data after these process.
def preprocessing_and_feat_engg(x):
feature_columns = []
# numeric cols
for header in ['PhotoAmt', 'Fee', 'Age']:
feature_columns.append(feature_column.numeric_column(header))
# bucketized cols
age = feature_column.numeric_column('Age')
age_buckets = feature_column.bucketized_column(age, boundaries=[1, 2, 3, 4, 5])
feature_columns.append(age_buckets)

# indicator_columns
indicator_column_names = ['Type', 'Color1', 'Color2', 'Gender', 'MaturitySize',
                        'FurLength', 'Vaccinated', 'Sterilized', 'Health']
for col_name in indicator_column_names:
categorical_column = feature_column.categorical_column_with_vocabulary_list(
    col_name, dataframe[col_name].unique())
indicator_column = feature_column.indicator_column(categorical_column)
feature_columns.append(indicator_column)

# embedding columns
breed1 = feature_column.categorical_column_with_vocabulary_list(
    'Breed1', dataframe.Breed1.unique())
breed1_embedding = feature_column.embedding_column(breed1, dimension=8)
feature_columns.append(breed1_embedding)
### not sure how to return the value from function.
return x

def df_to_dataset(dataframe, shuffle=True, batch_size=32):
dataframe = dataframe.copy()
labels = dataframe.pop('target')
ds = tf.data.Dataset.from_tensor_slices((dict(dataframe), labels))
ds = ds.map(preprocessing_and_feat_engg,num_parallel_calls=tf.data.experimental.AUTOTUNE)
if shuffle:
ds = ds.shuffle(buffer_size=len(dataframe))
ds = ds.batch(batch_size)
ds = ds.prefetch(tf.data.experimental.AUTOTUNE)
return ds
batch_size = 32
train_ds = df_to_dataset(train, batch_size=batch_size)
val_ds = df_to_dataset(val, shuffle=False, batch_size=batch_size)
test_ds = df_to_dataset(test, shuffle=False, batch_size=batch_size)
feature_layer = tf.keras.layers.DenseFeatures(feature_columns)
model = tf.keras.Sequential([
feature_layer,
layers.Dense(128, activation='relu'),
layers.Dense(128, activation='relu'),
layers.Dropout(.1),
layers.Dense(1)
])
model.compile(optimizer='adam',
loss=tf.keras.losses.BinaryCrossentropy(from_logits=True),
metrics=['accuracy'])
model.fit(train_ds,
validation_data=val_ds,
epochs=10)
Standalone code to reproduce the issue
Provide a reproducible test case that is the bare minimum necessary to generate
the problem. If possible, please share a link to Colab/Jupyter/any notebook.
Other info / logs Include any logs or source code that would be helpful to
diagnose the problem. If including tracebacks, please include the full
traceback. Large logs and files should be attached.

@IamExperimenting,
This question is better asked on StackOverflow since it is not a TensorFlow bug or feature request. There is also a larger community that reads questions there. Thanks!


false positive when the endpoint is not accessible (e.g. not enough permissions)

Description

Running ./chain-bench scan --repository-url https://github.com/buildsec/frsca --access-token $GITHUB_TOKEN -o ./results, some checks where marked as failed due to not having enough permissions associated with the GitHub token.
For instance:
1.1.3 Ensure any change to code receives approval of two strongly authenticated
users Failed

The problem was that the GITHUB_TOKEN did not have permissions to read the branch protection settings, therefore marking this check as failed.
However it should in this case show another status, like Unknown or not evaluated for instance, as the check was not able to read the results (the endpoint returned a 404).
The failed status implies that the requirement was not met, and should be reserved for cases where the number of required reviewers was strictly less than 2.
The same problem applies to all the checks that returned a 404.
Additional details in case it does not expose sensitive data (scanned pipeline files, PR, etc):

@MorAlon1 Please take a look and fix it 🙏🏽

@rgreinho can you please give us more details about the scenario? was it public repository or private and what permissions your token includes?

@MorAlon1 Yes, the project is open source, and you should be able to to reproduce the behavior by re-running the command I pasted above.
The permissions for this particular token are:

repo
workflow
admin:org -> read:org
admin:repo_hook -> read:repo_hook
gist
user
project -> read:project

@rgreinho  I created a token with the permissions you mentioned before and got Unknown for rule 1.1.3, can you check again if you gave me the right permissions?

Yup, this is what I get, from the main branch:

@rgreinho  - can you please check that the fix works for your case?

@MorAlon1 I just checked with the latest commit from the main branch and it did not seem to solve my issue:

But we do use 2 reviewer approvals in order for a PR to be merged.
For instance with https://github.com/buildsec/frsca/pull/242, you can see that we needed an approval from me and from bradbeck before our bot (kodiak).
If you want to re-open this PR, I'd be happy to help you dig.

@rgreinho I'm not sure how kodiak bot enforcing the policy. could you please enlighten me?
any case, we currently enforce the checks based on the branch protection API call:
curl \
  -H "Accept: application/vnd.github+json" \
  -H "Authorization: token <TOKEN>" \
  https://api.github.com/repos/OWNER/REPO/branches/BRANCH/protection

so if .required_pull_request_reviews.required_approving_review_count < 2 we fail the check.
let me know if you set the required_approving_review_count corresponde

Sure thing! Kodiak uses the branch protection settings to decide when to merge or rebase a branch. Therefore as soon as all the branch protection criterias are met, the bot acts accordingly.
Requiring 2 reviewers is part of our branch protection settings.

What do you get when you run this api call?
curl \
  -H "Accept: application/vnd.github+json" \
  -H "Authorization: token <TOKEN>" \
  https://api.github.com/repos/OWNER/REPO/branches/BRANCH/protection

curl -s  -H "Accept: application/vnd.github.v3+json" -H "Authorization: token $GITHUB_TOKEN" https://api.github.com/repos/buildsec/frsca/branches/main/protection
{
  "message": "Not Found",
  "documentation_url": "https://docs.github.com/rest/reference/repos#get-branch-protection"
}

and
$ curl -s  -H "Accept: application/vnd.github.v3+json" -H "Authorization: token $GITHUB_TOKEN" https://api.github.com/repos/buildsec/frsca/branches/main/protection/required_pull_request_reviews
{
  "message": "Not Found",
  "documentation_url": "https://docs.github.com/rest/reference/repos#get-pull-request-review-protection"
}

You might miss the permission for repo settings. please try to generate a scoped token based on an admin user within this repository

Here is a screenshot of the branch protection settings:

@morwn It worked like a charm! Great job!


Moving Window in LUA ?

Describe your problem here.
Is there a way to move the game window in LUA ? Kade Engine does that I think but it may be different on Psych ?
If you know how, Please send the "command".
Are you modding a build from source or with Lua?
Lua
What is your build target?
Windows x64
Did you edit anything in this build? If so, mention or summarize your changes.
No

https://twitter.com/bbsub3/status/1474232824442109955?t=rxHP8-YZDcev-SIS1qAQew&s=09


Reverted the camel case to previous state.

Jackson decoder expects the variable names to same as the response formats. Hence Merging this


PTT remains on after transmitting using Direwolf on Linux

I've tried this on both the Raspberry Pi as well as my daily driver Arch laptop.
Whenever I use /dev/ttyACM0 as my PTT for Direwolf operation, the AIOC holds open the PTT after the first transmission.
Subsequent transmissions still transmit just fine, but the only thing that closes PTT is actually unplugging the cable! Exiting Direwolf doesn't work, and re-running direwolf doesn't do anything differently
I have tested this with two (brand new) Baofeng UV-5Rs. Can test with an Explorer QRZ-1 if you think it will help (and will do so anyway later).
As an aside, I'm noticing that the serial PTT isn't working at all on Windows, but I doubt it's related directly to this issue, and need to poke at it a bit before I feel comfortable blaming that on the AIOC.
As for this issue, I'm reasonably certain it's directly related to AIOC, because (and as you can see in my config) direwolf has been working just fine with a PTT wired to its GPIO pins, and I get the exact same behavior on both Linux machines.

Configs
Here's my direwolf config for Arch:
ADEVICE plughw:2,0
ARATE 48000

CHANNEL 0

MYCALL XX0XXX-1

MODEM 1200
#MODEM 9600

PTT /dev/ttyACM0 DTR -RTS

AGWPORT 8000
KISSPORT 8001

And for the Pi:
ADEVICE plughw:3,0
ARATE 48000

CHANNEL 0

MYCALL XX0XXX-3

MODEM 1200
#MODEM 9600

#PTT GPIO 25
PTT /dev/ttyACM0 DTR -RTS
AGWPORT 8000
KISSPORT 8001

Uh, kind of terrifyingly, touching the AIOC seems to disable the PTT.

Okay, more findings:
The aforementioned "touch it and PTT disables" behavior only exhibits on my Arch laptop, which I'm using a (name-brand, known-good) USB C to USB C cable.
This does not occur on the Raspberry Pi, which is using a (very cheap, but nonetheless known-good) USB A to USB C cable. No amount of touching or moving the radio causes the PTT to stop being enabled with the Pi.

That's really odd. I have not had such an issue nor heard of it.
This seems to be related to some kind of EMI issue, if you ask me. Is the Laptop plugged-in via the power supply? For narrowing down the problem, can you try with AC charger/without? Is the Baofeng plugged into the charger or working on battery power?
Does it happen for both Baofengs, just to rule out any issue with the radio? It might be worthwhile to check continuity on the 3.5mm jack, although PTT is on the big lug on the bottom-side and I have never had connectivity issues with this contact (just with the other two contacts). Try measuring for conductivity from the PCB pad to the TRS contact (sleeve contact) while wiggling the connector carefully.
What firmware are you using? If you're running 1.2.0, can you try 1.1.1 and vice-versa?

Will be looking at this again tonight or Monday, but I can confirm that this happens on both baofengs, and both on and off the charging cradle. I'm also on 1.2.0.
This particular laptop can't be unplugged for long anymore (it's getting old), but I'll give it a try for completeness's sake.
I'll retest everything, though, and ensure the continuity is good!
 Depending on the device used, it's either at the radio, or the PTT device.
As a DIY builder of similar devices, I know the struggle.
Here's what you need to try.
Use a better antenna known to be resonant. Not the stock antenna.
Add a ferrite to the USB cable.
Add bypass capacitors to the PTT line. Sometimes 1 at the line triggering from the device, and the ptt line itself of the radio.
1 or more of these will usually fix the common issue.

Baofeng's need you to be the counterpoise for the antenna - you can make a "tiger tail" and attach it to anything that connects to the shield of the antenna (usually a belt-clip screw).  I should make a video on this, but Hayden's video will have to do for now: https://www.youtube.com/shorts/ccJHdmSE7D4

@TemporarilyOffline that's a fascinating problem here. Haha! I doubt there's anything we can do from the AIOC's perspective to resolve that problem. Thanks TO, I'll close the issue.


Ephemeral: KNative configuration: Concurrency issue with multiple Computations in parallel

Hey there,
the current KNativeServing for ephemeral-generic does not set .spec.template.spec.containerConcurrency.
Therefore, KNative's default values will apply, which allows up to 50 concurrent requests (soft limit, can even be more) to the serving with no hard limit on how many in-flight requests each scaled pod can receive.
Since the ephemeral-generic pods should not have perform more than one computation in parallel, I suggest setting that value to 1.
Example:
apiVersion: serving.knative.dev/v1
kind: Service
metadata:
  annotations:
    #SNIP
  labels:
    #SNIP
  name: ephemeral-generic
  namespace: default
spec:
  template:
    metadata:
      annotations:
        autoscaling.knative.dev/minScale: "1"
      creationTimestamp: null
    spec:
      containerConcurrency: 1 #Prevent more than one in-flight request to the pods in parallel
      containers:
      #SNIP
  traffic:
  - latestRevision: true
    percent: 100

BR,
kindlich

Thank you very much for reporting this @kindlich. We have updated the ephemeral helm chart according to your proposal.


Have CLI respect MELTANO_PROJECT_ROOT env var when set instead of looking at current directory

Migrated from GitLab: https://gitlab.com/meltano/meltano/-/issues/2130
Originally created by @DouweM on 2020-07-03 20:53:34

View 2 previous comments from the original issue on GitLab


pyReadLine error

Hi,
i'm getting an error when i use the grid_format=hszinc.MODE_JSON when setting up the session
Traceback (most recent call last):
File "C:\Users\makhdum shaikh\AppData\Local\Continuum\Anaconda3\lib\site-packages\pyreadline\console\console.py", line 768, in hook
rapper_23
res = ensure_str(readline_hook(prompt))
File "C:\Users\makhdum shaikh\AppData\Local\Continuum\Anaconda3\lib\site-packages\pyreadline\rlmain.py", line 571, in readline
self._readline_from_keyboard()
File "C:\Users\makhdum shaikh\AppData\Local\Continuum\Anaconda3\lib\site-packages\pyreadline\rlmain.py", line 536, in _readline_fro
keyboard
if self._readline_from_keyboard_poll():
File "C:\Users\makhdum shaikh\AppData\Local\Continuum\Anaconda3\lib\site-packages\pyreadline\rlmain.py", line 556, in readline_fro
keyboard_poll
result = self.mode.process_keyevent(event.keyinfo)
File "C:\Users\makhdum shaikh\AppData\Local\Continuum\Anaconda3\lib\site-packages\pyreadline\modes\emacs.py", line 243, in process
yeven

We'll need more infos. Can you provide some code ?

I concur, I don't think that's the full stack trae as I don't think anything in pyhaystack cals pyreadline.  This smells like a Python shell going haywire.
Possibly on Windows 10 judging from the mention of "Continuum".

Managed to resolve this by installing pyreadline


nvim-lspconfig.lua line 27 etc: turn "# requires npm to be installed" into a comment

In nvim-lspconfig.lua there are various commented out plugins that have "# requires npm to be installed"
eg
        -- "bashls", # requires npm to be installed

My suggestion is to change the # so that if we uncomment the line the # bash is already a comment
ie
        -- "bashls", -- # requires npm to be installed

this saves us changing # requires npm to be installed into a comment (or deleting it)
I do appreciate the idea that currently the invalid lua line might encourage first timers to really take note of the need to install npm, but on balance I think the hassle reduction for everyone else is worth it :-)

Good catch.  This is done


Indented syntax improvements

Rendered Proposal

@nex3 This is ready for a high level review. There are missing links, and some areas that need cleanup and expansion, but I wanted to test a few specific concepts for soundness before I continue:

The Parsing text as Sass procedure is the conceptual home where I think we want to insert this logic, but I omitted portions orthogonal to this proposal, in other words, actually building the AST.  Is there a better way to frame this?
This introduces a dubious pseudoproduction concept in Productions of StatementMayEnd. Essentially, I want to define where statements may end. This is not part of the text, so it should not be included in the BNF syntax, but I do want to consume it in the procedures. Is there a better way of defining the exact context where statements may end?

I'd welcome other review, but I expect your feedback on those 2 questions will lead to changes.

@nex3 This is ready for another mid-process checkin.
The majority of my focus has been on a new Statement spec  to define existing behavior. I went down some rabbit trails of trying to specify behavior exactly based on the code, but that section can be ignored for this (and will likely be removed).
In the Consuming a Statement in the [scss|indented] syntax procedures, I've defined how statements end. However, I haven't defined where statements can end, or more precisely, where semicolons can go, so that newlines elsewhere don't end statements in the indented format.
Instead of a generic line end algorithm for statements, do I need to fully specify each expression type that could be in a Statement Without Block? (variable declarations, @warn, @use, some property declarations, some CSS at rules, etc). In stylesheet.dart, I'm seeing statement ending logic in almostAnyValue, _interpolatedDeclarationValue, and _declarationOrBuffer`, but haven't explored enough to see if there's a straightforward heuristic I could specify for all statements.
In testing out the Statement Sequence model, in the style-rules spec, I've added a Procedures section that specifies how to consume a Style Rule. It seems to parallel the Semantics section, and I wanted to check if it is valid to have both.
For this proposal, do I need to specify the statement routing? For instance, if it starts with // consume a Silent Comment, if it starts with /* consume a Loud Comment, if it starts with $ consume a Variable Declaration, etc?
In general, my goal is to document the existing spec that I need to alter in the proposal, but I'm not there yet. Am I headed in the right direction, or where should I head?

This is definitely moving in the right direction! My highest-level recommendation is to focus less on prose descriptions of how to parse byte sequences and more on BNF representations of the syntax. You can always add annotations to the BNF for syntax quirks that aren't easily represented in the syntax itself. For example, here's how I'd probably define a sequence of statements in SCSS:

ScssStatements ::= (Statement ';'?¹)* Statement?
1: This production is mandatory unless the previous Statement is a LoudComment or SilentComment, or its final production is a Block.
If a WhitespaceComment would be ambiguous with a Statement in this rule, parse it preferentially as a Statement.

For the indented syntax, you'd probably want to replace the ';'? with an IndentSame production that would, unavoidably, be defined in prose. But I think you only need to define IndentSame and IndentUp productions in prose, and pretty much everything else (such as the definition of Block) can be BNF.
I'd also explicitly define a Whitespace production so you have somewhere to make it clear that newlines (and comments that contain newlines) don't currently count as whitespace for the indented syntax. You don't actually need to use this production anywhere, though—eventually we should add an explicit specification of how to parse a document based on a BNF that includes "parse whitespace between all productions" but that's not necessary here.

However, I haven't defined where statements can end, or more precisely, where semicolons can go, so that newlines elsewhere don't end statements in the indented format.

This is fine; the productions for each statement make it clear where they can end.

Instead of a generic line end algorithm for statements, do I need to fully specify each expression type that could be in a Statement Without Block?

No, you don't need to fully specify each type. I don't think you even need to split up StatementWithBlock and StatementWithoutBlock (especially since, as you note, some statement types straddle the two). You can just assume that there's a
Statement ::= AtRootRule | ContentRule | DebugRule | ...
definition that we'll write down eventually.
That said, for existing block rules that do already have a BNF written down (ForRule, FunctionRule, IncludeRule, MixinRule, UnknownAtRule, Declaration) you should probably change their '{' Statements '}' to a Block production so you can define it separately for SCSS and the indented syntax.

In testing out the Statement Sequence model, in the style-rules spec, I've added a Procedures section that specifies how to consume a Style Rule. It seems to parallel the Semantics section, and I wanted to check if it is valid to have both.

I'm a little confused—I don't see a Semantics section in the current statement spec.

For this proposal, do I need to specify the statement routing? For instance, if it starts with // consume a Silent Comment, if it starts with /* consume a Loud Comment, if it starts with $ consume a Variable Declaration, etc?

No, this is what BNF is for. It lets you say "these are the options, choose whichever one fits at each juncture". The details of how to do that given a byte stream are up to the implementation; as long as the spec unambiguously indicates what the correct behavior is, it doesn't need to go into any detail about how to do it. It's just that sometimes "how" is the easiest way to be unambiguous.

In general, my goal is to document the existing spec that I need to alter in the proposal, but I'm not there yet. Am I headed in the right direction, or where should I head?

I think you're generally going in the right way, although again focusing more on BNF is a good idea. I'd also recommend defining a term "current indentation" to track the indentation level while parsing an indented syntax document, and using that to define IndentSame and IndentUp. This is similar to what you're doing now with indentationLevel, but specifying it as a parameter doesn't necessarily make much sense in the context of a BNF syntax description.

Thanks! This is helpful!

In testing out the Statement Sequence model, in the style-rules spec, I've added a Procedures section that specifies how to consume a Style Rule. It seems to parallel the Semantics section, and I wanted to check if it is valid to have both.

I'm a little confused—I don't see a Semantics section in the current statement spec.

I've added this Procedures section- but this Semantics  section is present in the existing spec. Although if I understand you correctly, I can remove the procedures section and add a BNF production (or assume that there will eventually be a BNF production for Style Rules, outside the scope of this proposal).

Ah, I thought you meant a semantics section in your new Statement spec.
Generally, the large-scale structure of a spec matches that of a proposal, so "Syntax" defines how text is converted into a logical representation of the stylesheet (the spec equivalent of an AST), and "Semantics" defines how a stylesheet is executed to produce CSS. "Procedures" is usually used for any behavior that needs to occur multiple times, sort of like function calls.

There are still rough edges, and cleanup, but I think this is ready for another pass, with some questions.
Rendered Proposal
Statement Spec
Branch Diff

Is an example of WhitespaceComment in your ScssStatements production the here in a \* here *\ #id {color: red}? If so, how can it be ambiguous with a Statement?
I assume I'm missing other edge cases- any that jump out?
As I currently have it in the proposal, line breaks do not end statements inside curly braces in the indented syntax. Does that make sense? I think it makes sense from a design standpoint to view it as a unidirectional opt-in, but it may not be needed (or even harder) from a code perspective.
In testing out the changes on the examples from the proposal, I found some behavior that was unexpected with @if, where uninterpretable text is ignored and doesn't throw an error- example. My assumption is that in @if $a \n and $b, we would need to end the statement after $a, but if we can mirror scss and parse until IndentMore, that wouldn't have to cause a new line break. But I also don't want to rely on a bug if that is a bug.
You mentioned "comments that contain newlines don't currently count as whitespace for the indented syntax"- is that covered by the whitespace production?
Are there additional things I need to cover in the BNF?
I've made lots of changes and cleanup. If I removed prose that would be useful, let me know and I can restore it.

I've gone through and answered most of your specific questions. Generally, this is looking good—I think it's worth pulling out the existing-spec portion of this into a separate PR and starting a line-by-line code review of that there, so we can get it landed and squared away as a basis for this proposal. (That's not to say we won't need to tweak it a bit as we iterate on the new proposal, but I think focusing on getting it done first will be valuable.)

Is an example of WhitespaceComment in your ScssStatements production the here in a \* here *\ #id {color: red}? If so, how can it be ambiguous with a Statement?

No, an example would be
/* here */
#id {color: red}

The /* here */ comment could either be parsed as whitespace or as a LoudComment statement, but it should be parsed as the latter.

I assume I'm missing other edge cases- any that jump out?

Edge cases with comments and whitespace or edge cases in general? If the latter, let's wait until the line-by-line review to get into those.

As I currently have it in the proposal, line breaks do not end statements inside curly braces in the indented syntax. Does that make sense? I think it makes sense from a design standpoint to view it as a unidirectional opt-in, but it may not be needed (or even harder) from a code perspective.

I think it's cleanest if it is, as you say, unidirectional. Everything in curly braces is effectively SCSS.

In testing out the changes on the examples from the proposal, I found some behavior that was unexpected with @if, where uninterpretable text is ignored and doesn't throw an error- example. My assumption is that in @if $a \n and $b, we would need to end the statement after $a, but if we can mirror scss and parse until IndentMore, that wouldn't have to cause a new line break. But I also don't want to rely on a bug if that is a bug.

That text isn't ignored, it's parsed as a space-separated list, which is truthy in Sass. You're effectively writing @if $true and (true this is ...).
You're right that in the indented syntax, @if $a \n and $b should end the parameter list after $a. Basically the idea is that, when it encounters a newline, it asks "is this a valid complete expression?" and if so it's done. We don't want to have to look ahead to see if the expression continues.

On a related note, I want to confirm the behavior in the flow control rules- I have some @if examples in the sass-spec PR. I set :ignore_for: for syntax that wouldn't be supported, and :todo: for syntax that will be supported.

I think this should be supported—a bare @if without an expression is incomplete, as is @if $v == up and.

You mentioned "comments that contain newlines don't currently count as whitespace for the indented syntax"- is that covered by the whitespace production?

Yes.

Are there additional things I need to cover in the BNF?
I've made lots of changes and cleanup. If I removed prose that would be useful, let me know and I can restore it.
I've started to add some test coverage of the indented syntax here.  Is there other syntax I should make sure has coverage before we change the parsing?

Let's save these for the line-by-line review as well.

I think it's worth pulling out the existing-spec portion of this into a separate PR and starting a line-by-line code review of that there, so we can get it landed and squared away as a basis for this proposal.

Great idea- I've opened https://github.com/sass/sass/pull/3969 and https://github.com/sass/sass-spec/pull/2034 as starting places for the existing syntax.

Moved to https://github.com/sass/sass/pull/3973


[AutoPR storage/resource-manager] [SRP] Add new property EnabledProtocols for file shares

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/7815

(message created by the CI based on PR content)


Secondary Action pop-up is clipped if there is nothing above

Steps:

Comment out the auto completion bar in demo keyboard
Launch the app
Invoke the secondary call-out pop-up for, let's say "e"

Expected:

The pop up should be visible

Actual:

It is clipped

Hi @bitigchi !
There is no way for keyboard extensions to have their views render outside the keyboard bounds. If you don't want the autocomplete toolbar above the keyboard, you either need 50 points padding or another view that is at least 50 points.


Make column IDs unique

As a legacy form polygon-zkevm, the IDs for fixed and witness column overlap. We should make column IDs globally unique and add a translation layer.

This is not needed anymore with PolynomialReferences, it may even be faster to do it with overlapping IDs (because we can use those directly to index vectors).


Fixes incorrect word in reading code good transcript

Just a minor change, to fix one word in the paragraph about wisdom.
This is line is found at time 18:48 in the video:
http://youtu.be/mW_xKGUKLpk.

Sorry to be pedantic! I was just using this paragraph for a blog post and found the typo. Thanks for writing up the transcript.

Thank you. :+1: Don't be sorry about being pedantic - I'm glad to know that these transcripts continue to be useful. :)


fix(theme-classic): content container grow to take all the available space

Pre-flight checklist

[x] I have read the Contributing Guidelines on pull requests.
[x] If this is a code change: I have written unit tests and/or added dogfooding pages to fully verify the new behavior.
[x] If this is a new API or substantial change: the PR has an accompanying issue (closes #0000) and the maintainers have approved on my working plan.

Motivation

CollapseButton margin style set zero locally #8426
docusaurus-theme-classic/Layout set flex style for grow #8369

Test Plan

Related issues/PRs
#8369
#8426  for CollapseButton

@slorber
i just changed 3 files. i don't know why Build Size Report is failed.
i run this command in my mac, but it didn't happend
can you help me?

after merge facebook:main into my branch, Build Size Report is successful


[Service Bus] Flaky test while testing retry functionality

https://dev.azure.com/azure-sdk/internal/_build/results?buildId=454469&view=logs&jobId=34d05327-3286-5fd0-44d3-76aebff5d924&j=bbd7d436-e05d-51a8-99a8-0701dc9dffeb&t=b35bd286-0ff8-5789-8141-60cce3239968

Closing as it has not appeared in builds for the last 2 weeks.


Reworked High-Density Icon

Also added LG Optimus G to the list of reported working devices since I ran SLS on it for about a year and a half on both cyanogenmod and stock roms.

I will test this soon.


Enable download blob and zip within vscode for persicope uploaded logs to storage.

This PR caters need to handle the download and zip the dowloaded folder into the download folder location.
Good amount of detail here: https://github.com/Azure/vscode-aks-tools/issues/72
Currently, the download is achieved by user clicking on hyperlink which redirect user to the browser based experienced, but in the new way the experience the user will never need to leave the vscode eco-system.
These changes also are needed because the periscope clean-up PR which will result in clearing this *.zip file because it is not formed correctly and not needed. I've checked the az-cli implementation and essentially the az-cli also don't use the *.zip from periscope either, so this implementation makes more aligned to other tools as well.
This will also decouples the dependency on the *.zip link we generate which is uploaded by the periscope tool.
Along with various advantages we do have much better control over the zip structure and hierarchy.

Did you consider simply dropping support for zipping the outputs in VSCode? This is a convenience function that could be left up to user to do afterwards if they wished - and as you mention az-cli doesn't make use of the .zip, so there isn't a conventional periscope experience to uphold here or anything

Did you consider simply dropping support for zipping the outputs in VSCode? This is a convenience function that could be left up to user to do afterwards if they wished - and as you mention az-cli doesn't make use of the .zip, so there isn't a conventional periscope experience to uphold here or anything

Yep, we considered all options but as vscode user-experience the current U/X experience is the best solution for vscode ecosystem.
The zip provides end to end experience with quick download and user-scenario for this is mostly to quickly run the tool and share the zip with CSS folks for diagnostics.
The az-cli has its own different ecosystem which has its own usage, and since its pure command line they get away with bunch of text and asking user to download the storage-explorer.
If we drop support for zip it will break the whole end-to-end experience for vscode which we designed this feature for.

💡 Thank you so much for discussion, this is no longer necessary, further discussion and whole update reside here: https://github.com/Azure/vscode-aks-tools/issues/72 , periscope tool kept the zip as part of their output contract.
Thanks 🙏


notebook link is broken

Thanks for the great doc.
At the bottom, the notebook link seems to be broken.
> The dataset notebooks demonstrate and expand upon concepts in this article.

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

ID: f10520ed-79e8-dd46-b980-a7abdf27748a
Version Independent ID: e6b5c5a2-4055-5bbf-73dd-d71814b7e912
Content: Train with azureml-datasets - Azure Machine Learning service
Content Source: articles/machine-learning/service/how-to-train-with-datasets.md
Service: machine-learning
Sub-service: core
GitHub Login: @MayMSFT
Microsoft Alias: sihhu

@loomlike thanks for your feedback. We'll look into this issue and get back to you shortly. Thanks.

@MayMSFT please can you update the link to sample notebook in this document. Thanks.

The doc has been updated.
#please-close


How to show Fireworks on custom dialog ?

Hi.
Thanks you so much for this library.
It's great and ease to use.
I'm using ParticleSystem to show fireworks, and i want show it on custom  dialog.
I'm trying show it at a view on custom dialog, but it show wrong position.
How to i can ?

I haven't tried that. but the system uses the window coordinates to get the X and Y of the View, so "in theory" should work fine.
Sorry I can't help you better.

Oh, thanks you.
It don't work for me.

wont work on dialogs
+1

I have a custom AppCompatDialog I've built and in it I have a FrameLayout that's the length of the dialog and 200dp high (basically a rectangle). At the top of the dialog I have an emitter that's the length of the dialog. So I have confetti rain down inside my FrameLayout basically. I got it to work with the library so here's a simplified version of my dialog class:
public class BadgeDialog extends AppCompatDialog {

    public BadgeDialog(Context ctx){
        super(context);
        // Need to set the OwnerActivity so library can reference it
        if (context instanceof Activity) {
            setOwnerActivity((Activity) context);
        }
        init();
     }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }

    private void init() {
        setContentView(R.layout.dialog_badge);
        FrameLayout awardHolder = (FrameLayout) findViewById(R.id.award_holder);
        View emitter = (View) findViewById(R.id.emitter);

        if(getOwnerActivity() != null) {
            // Make sure the emitter View has been measured before attaching the library to it
            ViewTreeObserver vto = emitter.getViewTreeObserver();
            vto.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
                @Override
                public void onGlobalLayout() {
                    emitter.getViewTreeObserver().removeGlobalOnLayoutListener(this);
                    new ParticleSystem(getOwnerActivity(), 100, R.drawable.confeti2, 3000)
                            .setAcceleration(0.00013f, 90)
                            .setSpeedByComponentsRange(0f, 0f, 0.05f, 0.1f)
                            .setFadeOut(200, new AccelerateInterpolator())
                            .setParentViewGroup(awardHolder)
                            .emitWithGravity(emitter, Gravity.BOTTOM, 30);

                    new ParticleSystem(getOwnerActivity(), 100, R.drawable.confeti3, 3000)
                            .setAcceleration(0.00013f, 90)
                            .setSpeedByComponentsRange(0f, 0f, 0.05f, 0.1f)
                            .setFadeOut(200, new AccelerateInterpolator())
                            .setParentViewGroup(awardHolder)
                            .emitWithGravity(emitter, Gravity.BOTTOM, 30);
                }
            });
        }
    }
}

this should have been fixed with #58


连接xadmin超时。点击‘管理登录’或登陆后进‘管理后台’，总是连接超时，长时间没有反应。多试几次，偶尔又可以进dashboard，求思路。

       ```
        {%` if user.is_authenticated %}
        	<a class="nav_btn normDecorA" href="{% url 'xadmin:index' %}">管理后台</a>
        	<a class="nav_btn normDecorA" href="{% url 'xadmin:logout' %}">退出登录</a>
        {% else %}
            <a class="nav_btn normDecorA" href="{% url 'xadmin:login' %}">管理登录</a>
        {% endif %}
        {% if is_mobile %}
        	<a class="nav_btn normDecorA" href="?change_view_mode=mobile">切换手机版</a>
        {% endif %}
        ```

控制台输出 连接超时。
[07/Jun/2017 17:10:35] "GET /xadmin/login/ HTTP/1.1" 200 13557
[07/Jun/2017 17:10:35] "GET /static/xadmin/css/xadmin.main.css HTTP/1.1" 200 8324
[07/Jun/2017 17:10:35] "GET /static/xadmin/css/xadmin.responsive.css HTTP/1.1" 200 4361
[07/Jun/2017 17:10:35] "GET /static/xadmin/vendor/font-awesome/css/font-awesome.css HTTP/1.1" 200 21658
[07/Jun/2017 17:10:35] "GET /static/xadmin/css/themes/bootstrap-xadmin.css HTTP/1.1" 200 1888
[07/Jun/2017 17:10:35] "GET /static/xadmin/vendor/bootstrap/css/bootstrap.css HTTP/1.1" 200 126432
[07/Jun/2017 17:10:35] "GET /static/xadmin/css/xadmin.plugins.css HTTP/1.1" 200 175
[07/Jun/2017 17:10:35] "GET /static/debug_toolbar/css/toolbar.css HTTP/1.1" 200 20298
[07/Jun/2017 17:10:36] "GET /xadmin/jsi18n/ HTTP/1.1" 200 3378
[Errno 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond
[07/Jun/2017 17:11:32] "GET /xadmin/ HTTP/1.1" 200 27050
Traceback (most recent call last):
  File "C:\Python27\lib\wsgiref\handlers.py", line 86, in run
    self.finish_response()
  File "C:\Python27\lib\wsgiref\handlers.py", line 128, in finish_response
    self.write(data)
  File "C:\Python27\lib\wsgiref\handlers.py", line 212, in write
    self.send_headers()
  File "C:\Python27\lib\wsgiref\handlers.py", line 270, in send_headers
    self.send_preamble()
  File "C:\Python27\lib\wsgiref\handlers.py", line 194, in send_preamble
    'Date: %s\r\n' % format_date_time(time.time())
  File "C:\Python27\lib\socket.py", line 328, in write
    self.flush()
  File "C:\Python27\lib\socket.py", line 307, in flush
    self._sock.sendall(view[write_offset:write_offset+buffer_size])
error: [Errno 10053] An established connection was aborted by the software in your host machine
[07/Jun/2017 17:11:32] "GET /xadmin/ HTTP/1.1" 500 59
Traceback (most recent call last):
  File "C:\Python27\lib\SocketServer.py", line 599, in process_request_thread
    self.finish_request(request, client_address)
  File "C:\Python27\lib\SocketServer.py", line 334, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "C:\Python27\lib\site-packages\django-1.9.2-py2.7.egg\django\core\servers\basehttp.py", line 99, in __init__
    super(WSGIRequestHandler, self).__init__(*args, **kwargs)
  File "C:\Python27\lib\SocketServer.py", line 657, in __init__
    self.finish()
  File "C:\Python27\lib\SocketServer.py", line 716, in finish
----------------------------------------
    self.wfile.close()
Exception happened during processing of request from ('<IP_ADDRESS>', 54434)
  File "C:\Python27\lib\socket.py", line 283, in close
    self.flush()
----------------------------------------
  File "C:\Python27\lib\socket.py", line 307, in flush
    self._sock.sendall(view[write_offset:write_offset+buffer_size])
error: [Errno 10053] An established connection was aborted by the software in your host machine

我遇到的大部是数据库连接的问题．

(index):33 GET https://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,700italic,400,300,700 net::ERR_CONNECTION_TIMED_OUT


OpenSSL, Certificate and Corporate Proxy - oh my!

added helper scripts to diagnose and resolve the SSL issues in the docs/utils dir
added docs to help explain and safe the user time and research

Fixes #89
Signed-off-by: Aaron Lippold<EMAIL_ADDRESS>

Thanks! Will figure out where to add this to the nav in a bit.

Sounds good, didn't know where you wanted to put it so just commented it.
Also, for the AWS cli commands - in a corp proxy situation - you have to set:
export AWS_CA_BUNDLE="$cert_file"
Which I can add to the helper script - if you get the same ssl errors on the cli

Cool. Sure. Up to you if you wanna are it. No wear either way. Thanks!

Added to the branch I think ...

PRs been already merged. So new changes to the branch would need another PR. No sweat either way though. Thanks!


uploadMedia fails with buffer input

Hi, I've been trying to use this wrapper for the upload media endpoint in a project and it works pretty well for local files but when I try to pass a buffer created from binary data it prompts:
Error: Failed to process media
This is how I get the binary data:
const getVideoBuffer = (previewUrl: string) => {
  return new Promise((resolve, reject) => {
    request.defaults({ encoding: null });
    request.get(previewUrl!, async (error, response, body) => {
      if (error) {
        reject(new Error(`Something went wrong getting binary data from preview url ${error}`));
      }
      resolve(Buffer.from(body));
    });
  });
};

Here I get the buffer and start the upload:
 const buffer: any = await getVideoBuffer(previewUrl || '');
 const mediaId = await client.v1.uploadMedia(buffer, { type: 'mp4', target: 'tweet'});
 const tweet = await client.v1.tweet('Hello!', { media_ids: mediaId });
 console.log(tweet);

Am I missing something?
Thanks in advance

Hello,
Thanks for using our library :)
The most possible issue here is that your input video isn't supported by Twitter.
What happens when you download the video manually in a regular file, then upload it using filepath?
Buffer upload is covered by our unit tests (with a simple fs.readFile() that returns a Buffer object) and everything goes fine.

I will try your suggestions and comeback, thanks a lot for the quick response!

It was the request package, just noticed that is deprecated. Thanks a lot @alkihis , that solved the issue.

Hey @carlos-molero, what did you use instead of request ?
Facing the exact same problem. Would appreciate if you can paste the updated code.
Thanks

Hi @savannahar68, we just ended up using axios, here:
const res: any = await axios.get(previewUrl || '', { responseType: 'arraybuffer' });
log.info('Content fetched...');
const buffer = res.data;
const mediaId = await client.v1.uploadMedia(buffer, { type: 'longmp4', target: 'tweet' });

Then you would call
const tweet = await client.v1.tweet("Your tweet", { media_ids: mediaId });

Good luck!

Thanks man @carlos-molero 👍🏻


WIP(fix(plugin-vite)): package volume size to large

[x] I have read the contribution documentation for this project.
[x] I agree to follow the code of conduct that this project follows, as appropriate.
[ ] The changes are appropriately documented (if applicable).
[x] The changes have sufficient test coverage (if applicable).
[x] The testsuite passes successfully on my local machine (if applicable).

Summarize your changes:
Fixes:
#3224
#3298
#3293
#3377
At present, I still need to exactly include the third-party packages in dependencies in to node_modules, because they cannot be built normally be Vite, such as C/C++ addons.
I haven't found the right logic to handle node_modules, I'm trying...

Is there any update on this? Saw a few people recently post about this issue in the Electron Discord server and pointed them here for reference.

At present, I still need to exactly include the third-party packages in dependencies in to node_modules, because they cannot be built normally be Vite, such as C/C++ addons. I haven't found the right logic to handle node_modules, I'm trying...

@caoxiemeihao Have you looked at the code I posted here? I believe this is the type of solution you are looking for. Whatever node_modules vite has to externalize, we need to whitelist to include in the package. The tricky part is we then need to also include its nested dependencies. This is where I used the walker created by @MarshallOfSound called flora-colossus: https://github.com/electron/forge/issues/3224#issuecomment-1671863582

Why not use vite to build the dist directory and use the built html resources in the dist directory? Now the behavior of plugin-vite is to copy the entire source code (including the directory that node_modules depends on) to the out directory, and then perform the build operation again. My project built with Vite is only 108kb, but built with this plug-in it is nearly 700m. I don’t know what I did wrong.

Hello! I hope you're doing well. Any chance of an update? We're eagerly waiting to release a new app with vite. Your contributions are greatly appreciated! Thank you!

Ping @caoxiemeihao

@caoxiemeihao  Is there any update to this?
I hope this gets merged soon.

I already raised this issue last year. https://github.com/electron/forge/pull/3071#issuecomment-1342496858
I resolved by modifying the forge.config.ts file.
const config: ForgeConfig = {
  packagerConfig: {
    ignore: (file) => {
      if (!file) return false;
      return (
        !/^[/\\]package.json$/.test(file) &&
        !/^[/\\]\.vite($|[/\\]).*$/.test(file)
      );
    },
  },
}

I already raised this issue last year. https://github.com/electron/forge/pull/3071#issuecomment-1342496858
I resolved by modifying the forge.config.ts file...

I have a similar solution but the problem is for a generic solution it is more complicated because if you have any native node libs (like Realm or SQLite etc) you have to add more logic to include them since they do not get bundled (external). And then you have to check their nested dependencies and also include them. I had to do quite a bit of extra logic to get it working for us and I think that is the complication here, that they need to come up with a way to generically handle this for all users.

I'm very sorry I've been busy with my work and I'm currently trying to fix it.

Awesome work!

This is not yet released, right? I'm using "@electron-forge/plugin-vite": "^7.2.0" and it still bundles the whole src.
When is a release going to be available?

Looking back at this, isn't this just marking all dependencies from the package.json as "External" for vite and then copying all dependencies from package.json into the final package in the packageAfterCopy forge hook?
So doesn't this still copy the entire node_modules folder and prevent doing any tree shaking with vite (since all packages are marked as external)?

Looking back at this, isn't this just marking all dependencies from the package.json as "External" for vite and then copying all dependencies from package.json into the final package in the packageAfterCopy forge hook?
So doesn't this still copy the entire node_modules folder and prevent doing any tree shaking with vite (since all packages are marked as external)?

Only dependencies in dependencies will be copied. The dependencies in devDependencies will not be copied, they will be built by Vite.
I hope you can carefully test this obvious difference.
Even if you use electron-builder you will get the same effect.

@caoxiemeihao I am just here trying to understand and to help where I can (as seen by several of my comments above in this PR sharing some of my solutions I tried). If my last comment came off any differently I apologize... we are all on the same team 👍
As per your response. Dev dependencies don't build at all as they are part of the dev process. Vite doesn't bundle them unless you mark a true dependency as dev accidentally. It should only be stuff like forge, eslint, prettier, vite etc etc.
Vite has the ability to mark packages as external primarily for things like native node addons which need to be packaged with the app (realm and SQLite in my case). But a majority of dependencies are supposed to be bundled with the rest of the code and tree shaken (if desired) leaving only those external packages needing to be packaged from node modules with the electron app.
As an example, my build code goes from 250mb (with the current vite plugin from this PR which copies all node modules marked as dependency)... down to 29mb when I only include the external native node addons and allow all my other dependencies to be tree shaken and bundled by vite (which they already do anyways).
@MarshallOfSound given you wrote flora-collosus maybe you could chime in here with your 2 cents and correct me if I am mistaken? Or can provide any guidance? Thanks!

Here is my "hack" I applied to the forge-plugin-vite util/package.js file with a pnpm patch to override the current functionality so that it only packages my 4 external libs (along with all their nested dependencies). This ties to when I referenced in my last message going from 250mb down to 29mb... and to potentially use as a MVP / idea for implementing. My initial thought would be allow this to read from your vite config the libs you mark as External and only package those ones (as the rest are built/bundled by vite with your main.js etc.).
In my vite config I also set these same 4 packages as External, as opposed to all Dependencies from package.json as the forge vite typescript template defaults to.
Hope this helps.
Patch name<EMAIL_ADDRESS>diff --git a/dist/util/package.js b/dist/util/package.js
index be2a9f9b575fb0d9eb2d7eb4df9e500e3baf26b0..f5c42c1dc7f8b0b6d712b3f4dc2be9fd93e28c7e 100644
--- a/dist/util/package.js
+++ b/dist/util/package.js
@@ -34,7 +34,15 @@ async function lookupNodeModulesPaths(root, paths = []) {
 }
 exports.lookupNodeModulesPaths = lookupNodeModulesPaths;
 async function resolveDependencies(root) {
-    const rootDependencies = Object.keys((await fs_extra_1.default.readJson(node_path_1.default.join(root, 'package.json'))).dependencies || {});
+    // FIXME: spm patch to allow tree shaking with vite and forge
+    //
+    // const rootDependencies = Object.keys((await fs_extra_1.default.readJson(node_path_1.default.join(root, 'package.json'))).dependencies || {});
+    const rootDependencies = [
+      'realm',
+      'electron-squirrel-startup',
+      'better-sqlite3',
+      'mdast-util-from-markdown',
+    ];
     const resolve = async (prePath, dependencies, collected = new Map()) => await Promise.all(dependencies.map(async (name) => {
         let curPath = prePath, depPath = null, packageJson = null;
         while (!packageJson && !isRootPath(curPath)) {

I'm finding the same thing by the way (on the latest forge version, 7.4.0). Vite bundles ~200mb of my node modules, which not only increases the total bundle size, but also increases packing time and extraction time.
Using the webpack plugin, exactly 0 node modules are bundled. That's right, nothing. Why is vite so different here? Shouldn't it be tree shaking all these?

Using the patch mentioned above, Vite is now properly bundling everything, including proper tree shaking.

Using the patch mentioned above, Vite is now properly bundling everything, including proper tree shaking.

https://github.com/electron/forge/blob/v7.4.0/packages/template/vite-typescript/tmpl/vite.base.config.ts#L8
You can choose to remove dependencies from the code below, or put your dependencies into devDependencies so that the code is not copied into the built APP.
You may wonder why the behavior of Vite templates and Webpack templates are inconsistent, which depends on the compromise caused by Vite's own imperfect support for CommonJS.
Tree Shake is a technology for controlling build size based on ESModule format code, and has nothing to do with whether the Vite template copies deps into the built APP.
- export const external = [...builtins, ...Object.keys('dependencies' in pkg ? (pkg.dependencies as Record<string, unknown>) : {})];
+ export const external = [...builtins];

@MarshallOfSound given you wrote flora-collosus maybe you could chime in here with your 2 cents and correct me if I am mistaken? Or can provide any guidance? Thanks!

Sorry, I didn't discover flora-collosus before, if necessary I will submit a PR and switch to flora-dollosus.

Using the patch mentioned above, Vite is now properly bundling everything, including proper tree shaking.

Based on community feedback. I updated the API design for migration to 7.3.0+, see #3506 (comment).

That has nothing to do with this issue or the patch. My project is new and created with the newer template. Do you actually understand what the issue is here?

This issue started happening randomly in my project. Setting external packages to a few modules makes the build pass but no modules are bundled in the resultant .js file.

"No modules" are bundled? or you mean just the external ones are not bundled? Because the external ones are not meant to be bundled in the .js file.


Exception handling functions

What are your thoughts on adding async-exception handling functions to Protolude, such as

Control.Exception from base
Control.Monad.Catch  from exceptions
Control.Monad.Trans.Control monad-control

(Of these, exceptions is the nicest, IMO)

Outside scope.


Fixes #442 by not Indentation linting an ImportNode if the previous node...

... is an ImportNode that ends in a comma.

Merged in 2b42faa04127e74d7be35b473d483594b88fc6c4.


Enable Bitcoin Contracts for Devnet/sBTC Devenv

Feature request
Can Bitcoin Contracts be enabled with sBTC Devenv and Devnet networks ?
This will unlock local development against regtest with sBTC and DLC.
Currently this seems to be switched off

Working on something similar currently https://github.com/leather-wallet/extension/pull/4460

@radicleart would regtest work for you here per that PR's work?

Hey yes - i got it working on regtest - I changed the check in the wallet from checking for testnet to checking for not mainnet and then making a local build.
Its one line change see

I have a feeling this relates to @Polybius93's work here to enable custom Bitcoin network URLs. He's done a PR here, but it's been blocked by some other changes that are needed.
I'm going to take a look at this this morning and see if I can get it closed.


Avoid DeprecationWarning from distutils

closes #35
replaces #39
replaces #36
replaces #38

What are the problems with #38 ?

No problem for me, but it does reduce the compatibility with older pytest version. This approach is less intrusive.

Replaced with https://pypi.org/project/pytest-freezer.


Problem: The Quickstart documentation does not link to BDB setup

Solution: reference BigchainDB setup
In the Quickstart documentation we only show how to run the driver, which is basically fine, but it might help users if we add links how to set up and run BigchainDB too.

Maybe link to the Quickstart page for BigchainDB Server?
https://docs.bigchaindb.com/projects/server/en/latest/quickstart.html

Resolved by PR #424


Browservice on startup: closed by remote server

Hello, I'm trying to start Browservice whenever my Pi boots. I tried using rc.local and crontab, however they didn't allow Browservice to work, and instead the connection was closed when I try to connect on my Wii.
Is there a preferred way to make this happen?

I can't say what is wrong based on this information; what does it mean that Browservice was not allowed to work? Does Browservice even start on boot? Have you tried to forward the standard error stream of Browservice to a file to see if it gives an error message?
One possible way for Browservice to not start correctly during boot is if you bind to a specific network interface by its IP (for example <IP_ADDRESS>) and the network setup for the interface is not yet complete because the boot is still running. However, this is just guesswork; you have to look at the output to see what is wrong.
There are many perfectly valid ways to start software at boot. In some circumstances I've done this simply by adding a @reboot line to crontab. Systemd services may be useful for example if you need to delay the startup of Browservice until the network has been initialized, though you can usually also achieve this simply by waiting for a few seconds before starting Browservice.

I can't say what is wrong based on this information; what does it mean that Browservice was not allowed to work? Does Browservice even start on boot? Have you tried to forward the standard error stream of Browservice to a file to see if it gives an error message?
One possible way for Browservice to not start correctly during boot is if you bind to a specific network interface by its IP (for example <IP_ADDRESS>) and the network setup for the interface is not yet complete because the boot is still running. However, this is just guesswork; you have to look at the output to see what is wrong.
There are many perfectly valid ways to start software at boot. In some circumstances I've done this simply by adding a @reboot line to crontab. Systemd services may be useful for example if you need to delay the startup of Browservice until the network has been initialized, though you can usually also achieve this simply by waiting for a few seconds before starting Browservice.

I tried to forward the error stream of Browservice to a file, however when I checked it it had nothing in it. I do bind to a specific network interface, so I think I'll need to start it a little bit later. Thank you!

I tried to forward the error stream of Browservice to a file, however when I checked it it had nothing in it. I do bind to a specific network interface, so I think I'll need to start it a little bit later. Thank you!


Error: Can't Start New Thread

Whether I use the interface or the API, and whether I use my defenses or those of my team members, when I try to send a message to a chat I get the error "can't start new thread". I checked using both models and the issue persists through both. My teammates seem to be having the same problem. I can't quite figure out what is wrong. Can someone please help?

Hi! Thanks a lot for reporting this. I restarted the server and everything seems to be working now. I will keep the issue open in case this happens again.

Hello! Everything seems to be working perfectly fine now. Thanks for the quick response!


Storage IP addresses are not released correctly when there are overlapping IP addresses in different ranges

ISSUE TYPE

Bug Report

COMPONENT NAME
Cloudstack Core, Storage Networking

CLOUDSTACK VERSION
I think all current versions are affected

CONFIGURATION
Cloudstack with Basic networking (KVM Hosts) and NFS storage
OS / ENVIRONMENT
CentOS/RHEL 6, but not relevant
SUMMARY
It looks like the release of storage IP addresses is not working proberly, as the releaseIpAddress method of StorageNetworkIpAddressDaoImpl does not take the range id into account
STEPS TO REPRODUCE

Create a basic zone and assign an IP address pool for storage traffic. This should create an entry in cloud.dc_storage_network_ip_range and one entry per IP address in range in cloud.op_dc_storage_network_ip_address
Delete that zone again
Create another zone and assign the same IP address pool for storage traffic. This will create a new range and create the IP addresses again with the new range
No add/delete some SSVMs or KVM hosts taking a storage IP address

EXPECTED RESULTS
In the cloud.op_dc_storage_network_ip_address table, only the IP addresses of the second range should be used both when adding or deleting SSVMs (obtaining and releasing IPs)
ACTUAL RESULTS
When obtaining IP addresses, the correct pool is queried for free IP addresses and the taken field is set correctly.
When releasing an IP address however, the range_id is not taken into account, only the IP address itself is used. In our setup this leads to the problem that only the IP address in the first (unused) pool is released (taken is set to null), such that after a few iterations now new VMs can be spawned, even though enough IP addresses are available.
We suspect the problem in https://github.com/apache/cloudstack/blob/893a88d225276e45f12f9490e6af2c94a81c2965/engine/schema/src/main/java/com/cloud/dc/dao/StorageNetworkIpAddressDaoImpl.java#L99-L105 as it is not taking the range_id into consideration.

@wido @GabrielBrascher is this known to you guys?
As described it seems like a simple fix. on the other hand we are phasing out basic networks in favour of shared nets. so we might hold out on this.
@waza-ari are you still involved? do you have code (as you so precisely know where the crux is)?

Hi there, I’m not with my former company anymore, I don’t know what the status of this issue is. I also do not have the code fragment anymore, I barely remember what it was about :)
I pointed a colleague from my former company to this thread though, maybe he knows if the problem still occurs.

@DaanHoogland (un)fortunately we haven't seen it; I don't have much info to help here. Maybe @kiwiflyer knows something about it?
I would need to set a test environment only focused to reproduce such an issue and then debug it.

ok, @GabrielBrascher , leaving this for now unless @kiwiflyer or @nathanejohnson or @waza-ari 's former colleague comes back.
Also looking at the suggested code it does not seem to be specific to basic or any type of networking as i'd expect the releaseIpAddress(String ip) call t get a rangeId as well for any kind of ip being released.

Hi @GabrielBrascher @kiwiflyer @waza-ari @nathanejohnson is this still a valid issue?

@nvazquez I still have not seen nor heard of such an issue. So I am not able to provide any insights regarding this issue.
It seems that @waza-ari did not get back. Maybe we should close this and if someone reproduces it, then we reopen it.
What do you think @DaanHoogland @kiwiflyer @nathanejohnson @waza-ari?

Hi, I honestly can’t tell what is best to do. I pointed my former colleagues to this issue, but some of them have changed the company as well, others apparently didn’t come back to this issue. Without knowing for sure I guess they found some method around it.
I still remember that it was quite easy to reproduce back then and if @DaanHoogland is right and it does not only affect basic networking, it might deserve a check.
Personally though I’m not involved anymore and haven’t used CloudStack for years, so I won’t be able to drive this anymore, even though I opened it back then. Sorry about that.

thanks @waza-ari , I'll close this and we'll re-open or open a new one when needed.


Feature/multi search func

Description
This fix addresses the Judge Table but specifically the ability for a user to be able to select multiple search results for any category.
Co-Authored-By: Ricky Klusmeier
Fixes # (issue)
The user can now select multiple inputs offering the user a better experience and more capability.
Type of change
Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have removed unnecessary comments/console logs from my code
[x] My changes generate no new warnings
[x] I have checked my code and corrected any misspellings
[x] No duplicate code left within changed files
[x] Size of pull request kept to a minimum
[x] Pull request description clearly describes changes made & motivations for said changes

test comment


Resolution for issues 3, 6, 7

Since the changes for all 3 of these issues basically affect the same lines in the 3 "tests/*-tests.sh" files, the resolutions for all 3 of these issues are bundled into 1 pull request.

By the way, I intend to withdraw my first pull request, since a) the fork is now gone; and b) the changes in that first pull request bundled too many changes together, so I'm creating smaller pull requests, of which this is the first smaller one.

Looks good; my only minor nit is to purge occurrences of "OS X", replacing them with "macOS". :)

So, discuss at next IPP WG meeting to approve pull request?

Sure, sounds good.


[FHL] Add incoming calls to the Call adapter

What

Add a incoming call adapter to the internals of the call adapter
Why

This allows us to use the Call and CallWithChat adapters to accept incoming calls

How Tested

Ran locally <- found bug where caller gets stuck in connecting state will look to see if thats an us problem.

Ohhhh fun!!!


tests: resolved failing test with correct imports

Argilla Community Growers
Thanks for your contribution! As part of our Community Growers initiative 🌱, we're donating Justdiggit bunds in your name to reforest sub-Saharan Africa. To claim your Community Growers certificate, please contact David Berenstein in our Slack community or fill in this form https://tally.so/r/n9XrxK once your PR has been merged.
Pull Request Templates
Please go the the Preview tab and select the appropriate sub-template:

🐞-bug
📚-documentation
🆕-features
🔗-💥-integration

Generic Pull Request Template
Please include a summary of the changes and the related issue. Please also include relevant motivation and context. List any dependencies that are required for this change.
Closes #<issue_number>
Type of change
(Please delete options that are not relevant. Remember to title the PR according to the type of change)

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Refactor (change restructuring the codebase without changing functionality)
[ ] Improvement (change adding some improvement to an existing functionality)
[ ] Documentation update

How Has This Been Tested
(Please describe the tests that you ran to verify your changes. And ideally, reference tests)

[ ] Test A
[ ] Test B

Checklist

[ ] I added relevant documentation
[ ] follows the style guidelines of this project
[ ] I did a self-review of my code
[ ] I made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I filled out the contributor form (see text above)
[ ] I have added relevant notes to the CHANGELOG.md file (See https://keepachangelog.com/)

Hi @davidberenstein1957 I think you forgot to git pull origin develop before creating the new branch and now the commits seem a bit off, feel free to force-push fix/failing-tests-openai once develop is merged into it

Yes exactly. I forgot to push my final changes.


Question about properties of LLaMa embeddings

Hi, please feel free to close this question as it doesn't strictly pertain to your repo. I just hoped you might be familiar enough with LLaMa embeddings to answer it.
I'm working on a use case where I want to calculate similarity scores among LLaMa embeddings. The similarity scores are just euclidean distances normalized to be between 0 and 1
For OpenAI embeddings, normalizing the distances is easy because the embeddings have unit norm, which puts a convenient maximum and minimum on the distances. Normalizing is done via (1.0 - distance / math.sqrt(2)).
I'm currently using Vicuna 13B, and what I'm seeing is that the embeddings have dimension 5120, and the norm of the embeddings varied in the range of ~88-93.
tldr: Do you know if there's any restrictions on LLaMa embeddings, such as bounds on what the norm can be, etc? Any properties that would help me normalize the distances between embeddings?
Thanks!

Hi, I'm not sure I can help with this. I'm more of a programmer and most of the ML math goes over my head.
But maybe you could try taking the embeddings from a different point in the llama.cpp and see if it works better for you:
    // norm
    {
        inpL = ggml_rms_norm(ctx0, inpL);

        // inpL = norm*inpL
        inpL = ggml_mul(ctx0,
                    ggml_repeat(ctx0, model.norm, inpL),
                    inpL);

        embeddings = inpL;
    }

You could take a look at the embeddings after the rms_norm and before multiplication with the model norm layer?

Okay, thanks for the tip! Much appreciated!


Update Travis CI config for qtum

Configuring simple travis-ci unit tests and functional tests tasks for qtum. Based on bitcoin's .travis.yml file.

@qtum-neil I have updated the scripts so it's working properly on my fork with latest master code: https://travis-ci.org/oyyq99999/qtum. The unit test fails often but it should have nothing to do with the CI config. And I ignored 2 functional test scripts for the CI, one of which fails often, the other takes too long so the job exceeds the time limit. We can fix it later and re-open it for the CI.

Outdated


Update k8s adapter (improve service resolution + TCP)

WIP
This PR adds service information caching to the kubernetes adapter. This will allow proper label selector matching of pods to services when Mixer receives *.uid attributes.
When updates arrive for either the full set of services or pods, event handlers trigger that update maps for pod metadata. For services, the handlers find pods via label selectors and build a pod -> service map. For pods, the handlers build a ip -> pod map.
As part of this PR, the default config that Mixer deploys with was modified in a few key ways:

use target.ip and source.ip in attribute generation when target.uid and source.uid are not present. This is needed for TCP scenarios to derive source.service, etc.
change attribute types of *.ip from IP_ADDRESS to STRING. There is a known issue with expressions that use IP_ADDRESS and STRING. This is a workaround until that issue is fixed.

Tested:
$ bazel-bin/cmd/server/mixs server --configStoreURL=fs://$(pwd)/testdata/configroot --logtostderr -v=6

$ bazel-bin/cmd/client/mixc report --string_attributes target.ip="<IP_ADDRESS>",origin.ip="<IP_ADDRESS>"
Report RPC returned OK
$ bazel-bin/cmd/client/mixc report --string_attributes target.uid="kubernetes://redis-master-1105488148-lkvg6.default"
Report RPC returned OK

cc: @kyessenov
Release note:

This change is

@douglas-reid: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/mixer-presubmit.sh
ea196a73d968c960247054b2145885b79a9f2a7a
link
/test mixer-presubmit

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@douglas-reid: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/mixer-e2e-smoketest.sh
8d32657c0d0d3f20180c4f70a049f921dfe05d84
link
/test mixer-e2e-smoketest

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@douglas-reid: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/mixer-e2e-smoketest.sh
b8cdc7bb0c57647c98bb89dc38fbc3352bfa89d3
link
/test mixer-e2e-smoketest

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@douglas-reid: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/mixer-e2e-smoketest.sh
2254537d3044a59a8308e9531944a179a07f09de
link
/test mixer-e2e-smoketest

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest

@douglas-reid: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/mixer-e2e-smoketest.sh
226f63878ff2e8c609afa167760eab48914114b4
link
/test mixer-e2e-smoketest

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test mixer-e2e-smoketest

/test mixer-e2e-smoketest

/test mixer-e2e-smoketest

/retest

@douglas-reid: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/mixer-e2e-smoketest.sh
226f63878ff2e8c609afa167760eab48914114b4
link
/test mixer-e2e-smoketest

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@douglas-reid: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/mixer-e2e-smoketest.sh
2254537d3044a59a8308e9531944a179a07f09de
link
/test mixer-e2e-smoketest

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@douglas-reid: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/mixer-e2e-smoketest.sh
cd7faf21198d8abd3044aeb402d1190881b4aff9
link
/test mixer-e2e-smoketest

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/lgtm

/lgtm


[Bug]: cannot call recv while another coroutine is already waiting for the next message

Is there an existing issue for the same bug?

[X] I have checked the troubleshooting document at https://opendevin.github.io/OpenDevin/modules/usage/troubleshooting
[X] I have checked the existing issues.

Describe the bug
Not sure what's the bug
Current Version
0.5.2

Installation and Configuration
The same as in the readme

Model and Agent
CodeAct
gpt-4-turbo-2024-04-09
Reproduction Steps
Not sure
Logs, Errors, Screenshots, and Additional Context
19:06:51 - opendevin:INFO: agent_controller.py:201 - Setting agent state from AgentState.RUNNING to AgentState.AWAITING_USER_INPUT
INFO:     connection closed
19:06:51 - opendevin:ERROR: session.py:45 - Error in loop_recv: cannot call recv while another coroutine is already waiting for the next message
Traceback (most recent call last):
File "/app/opendevin/server/session/session.py", line 30, in loop_recv
data = await self.websocket.receive_json()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/.venv/lib/python3.12/site-packages/starlette/websockets.py", line 157, in receive_json
message = await self.receive()
^^^^^^^^^^^^^^^^^^^^
File "/app/.venv/lib/python3.12/site-packages/starlette/websockets.py", line 49, in receive
message = await self._receive()
^^^^^^^^^^^^^^^^^^^^^
File "/app/.venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/websockets_impl.py", line 379, in asgi_receive
data = await self.recv()
^^^^^^^^^^^^^^^^^
File "/app/.venv/lib/python3.12/site-packages/websockets/legacy/protocol.py", line 533, in recv
raise RuntimeError(
RuntimeError: cannot call recv while another coroutine is already waiting for the next message
Starting loop_recv for sid: 5f07d3f7-44f1-491d-85a3-3573961e2d18
INFO:     <IP_ADDRESS>:53110 - "GET /api/messages/total HTTP/1.1" 200 OK
INFO:     <IP_ADDRESS>:56722 - "GET /api/messages HTTP/1.1" 200 OK

@PierrunoYT there's probably another error above this one--that's usually what triggers this for me.
Feel free to open a new issue if you're able to repro a second time and capture all the logs


Add pre-commit hooks and testing guidelines

forked from #9

@chirgjn I don't see any unresolved comments


travis: add -j2 option to build in parallel and speed it up

Trying this to see if it really has significant impact on build time.

@elmsfu I think we want something like make -k -j2 $TARGET || make -j1 $TARGET

This is what I did for the vtr repository;
https://github.com/mithro/vtr-verilog-to-routing/blob/034d34e17d7debb7af8b818791c77ba14838bb01/.github/travis/build.sh#L8-L19

start_section "vtr.build" "${GREEN}Building..${NC}"
export FAILURE=0
make -k CMAKE_PARAMS="-DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on" -j2 || export FAILURE=1
end_section "vtr.build"

# When the build fails, produce the failure output in a clear way
if [ $FAILURE -ne 0 ]; then
	start_section "vtr.failure" "${RED}Build failure output..${NC}"
	make CMAKE_PARAMS="-DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on" -j1
	end_section "vtr.failure"
	exit 1
fi

@elmsfu I think we want something like make -k -j2 $TARGET || make -j1 $TARGET

@mithro So the || make -j1 is to get linear output on failure?
I like the idea, but there is a good chance on travis that the wouldn't happen within the 50 minute window. I think we should merge this to get builds not timing out.

@elmsfu I think we want something like make -k -j2 $TARGET || make -j1 $TARGET

@mithro So the || make -j1 is to get linear output on failure?

Correct.

I like the idea, but there is a good chance on travis that the wouldn't happen within the 50 minute window. I think we should merge this to get builds not timing out.

make -k || make -j1 should take almost the same time as make. The make -j1 will only run if a task fails and it will only rerun at most 1 failing task.

Will open a new PR with different approach.


Use standard library  types rather than self defined integer types

No need to define your own integer types when the standard library already does that.
(Integer typedefs in Globals.h)
http://www.cplusplus.com/reference/cstdint/
4c370798d52b1b7c055c49ff4a38f73cf720c82e
b1d4b3bb96629b3624e8328d7b1a0bce5333bb7d

Note the suggestions given in the PR when I tried to do it: https://github.com/mc-server/MCServer/pull/1675
Also xoft hates underscores for no apparent reason, so there's that :P

Removing the typedefs is not going to happen whilst xoft remains primary maintainer (See AString as another unnecessary type-def). What might get through is changing the typedefs to point to the standard types.

There's something to be said about using standards compliant code whenever possible, but okay.
(Ninja'd by worktycho)

changing the typedefs to point to the standard types

That is actually what I was going to suggest instead.

I wouldn't mind changing the typedefs to use the cstdint types, but I still do prefer symbol names without underscores, so I'd like to keep the typedeffed names.


Add container, algorithms and file_import modules

This pull request implements the bare minimum of components required for the application to provide results. The following modules are included:

container module: contains Container class that manages instantiation and lifecycle of application dependencies.
algorithms module: implements the K-Means clustering algorithm.
file_import module: implements function that enables to load data from numpy file

All modules come in pair with corresponding testing module (test_container, test_algorithms, test_file_import).
In addition, github workflow file was added for CI pipeline that runs tests on push into the repository.

Thank you very much for your insights. I made the suggested changes. I also decided to implement decorator function in file_import module, to preven code repetition.


[request] Add molten uranium (immersive engineering) as heat source for heat exchanger

Well, currently I have no user for uranium, I have a ton of it on the server, everyone has a ton of it on the server and no one has uses for all that uranium other than the thermo-electric  generator from Immersive Engineering, which only uses 1 block or uranium and that's it... So since the motel uranium can be acquired quite easily with tinkers, could you add it as a heat source for the heat exchanger?
The uranium block in Immersive engineering is rated at 2000K when lava is at 1000K so it could be a nice upgrade since uranium is not as common as lava in the world, but since we have plenty of it and no use for it, it could make your generator a great user of this liquid.

The mod has been recently updated to MC 1.16, older versions are no longer supported.
I'm mass closing older issues to clear up clutter in the bug tracker.
If you find this issue still exists in the current version feel free to reopen it.


OS/2 ranges update olli

I added:
getCodePageRange (equivalent to getUnicodeRange)
setCodePageRange (equivalent to setUnicodeRange)
recalcCodePageRange (equivalent to recalcUnicodeRanges)

@justvanrossum What do you think about it?

hey! thanks for the contribution. The reason we never added something like this in the past -- besides codepages being windows legacy old cruft that should have no place in a unicode world -- is that there wasn't agreement on how to decide when a font is deemed to cover a given codepage. E.g. should it be only one, the majority, 95%, all of the codepoints in the codepage, etc.. I think the spec leaves that to the font developer.
In your PR I see you opted for all codepoints (with the somewhat arbitrary exception of 0x000).

hey! thanks for the contribution. The reason we never added something like this in the past -- besides codepages being windows legacy old cruft that should have no place in a unicode world -- is that there wasn't agreement on how to decide when a font is deemed to cover a given codepage. E.g. should it be only one, the majority, 95%, all of the codepoints in the codepage, etc.. I think the spec leaves that to the font developer. In your PR I see you opted for all codepoints (with the somewhat arbitrary exception of 0x000).

Jepp, you're right. The OpenType Spec is a little bit fuzzy. But these are specified character sets, not unicode ranges, why I thought it makes most sense to set the bit when the coverage is 100% (except 0x0000). But it's possible to add more unicodes to 'drop', if someone has a different opinion.

@anthrotype Is there anything else you want me to change?

@justvanrossum @anthrotype Excuse me, I really don't want o bother you with this unsexy topic, but is there anything else I can do to merge it into the master branch?

Hi @anthrotype and @justvanrossum , I figured out that the fonttools subsetter takes care of the unicoderanges but not of the codepageranges. Wouldn't it be great if it would take care of it as well automatically?

FWIW, my earlier comments still stand.

If no one is working on this, I can try to take over and finish it.

I was pretty sure I implemented this previously, but I couldn’t find it. Turned out it was in ufo2ft, so I’m going to move that to FontTools instead as it is much simpler.
https://github.com/googlefonts/ufo2ft/pull/254/commits/beca9c35e1dfb441458567fa0e0d9ac430b83398

https://github.com/fonttools/fonttools/pull/3328


Release 1.3.1

Signed-off-by: David Ko<EMAIL_ADDRESS>

Verified this PR by below steps:

Fresh install by helm - Pass

Upgrade from v1.2.4 to v1.3.1 - Pass

Helm install v1.2.4
Create deployment and write data
Helm upgrade to v1.3.1
Upgrade engine image
Verify pod data
Create backup and restore/check data consistency

Upgrade from v1.3.0 to v1.3.1 - Pass

Uninstall - Pass


vlc can not display in yocto image within x11

Hi all,
sorry to bother you again.
I use vlc to play web-camera. it can work well in raspbian image.
but can not display in yocto image within x11  and vlc auto fall in commad lines:
see my debug info as below
what is  PulseAudio server connection failure: Connection refused ? the error is there , how to fix?
Thank you so much.
oot@raspberrypi4-64:~# export DISPLAY=:0
root@raspberrypi4-64:~# vlc --x11-display :0
VLC media player 3.0.18 Vetinari (revision 3.0.18-0-ge9eceaed4d)
[00000055994a52f0] vlcpulse audio output error: PulseAudio server connection failure: Connection refused
[00000055992d1410] main libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
[00000055992d3ab0] main playlist: playlist is empty
[00000055994cd730] [cli] lua interface: Listening on host "*console".
VLC media player 3.0.18 Vetinari
Command Line Interface initialized. Type `help' for help.

q
Shutting down.
[00000055994cd730] [cli] lua interface: Requested shutdown.
root@raspberrypi4-64:~# cvlc --x11-display :0
VLC media player 3.0.18 Vetinari (revision 3.0.18-0-ge9eceaed4d)
[00000055c7b92400] vlcpulse audio output error: PulseAudio server connection failure: Connection refused
[00000055c7b93c10] dummy interface: using the dummy interface module...
[00000055c7a1e680] main playlist: playlist is empty

Hi I tried you link, but not work.
@EasyIP2023
I use command line : v4l2-ctl --list-devices, I can find the camara.
bcm2835-codec-decode (platform:bcm2835-codec):
/dev/video10
/dev/video11
/dev/video12
/dev/video18
/dev/media3
bcm2835-isp (platform:bcm2835-isp):
/dev/video13
/dev/video14
/dev/video15
/dev/video16
/dev/video20
/dev/video21
/dev/video22
/dev/video23
/dev/media0
/dev/media2
Video Capture 5 (usb-0000:01:00.0-1.3):
/dev/video0
/dev/video1
/dev/video2
/dev/video3
/dev/media1
but when use the link  https://meta-raspberrypi.readthedocs.io/en/latest/extra-build-config.html#raspberry-pi-distro-vlc
and tried the command:
tvservice -l
0 attached device(s), display ID's are :
that means can not find HDMI ? right?
so I run all commands as below:
DISPLAYNUM=$(tvservice -l | tail -c 2)
MMAL_DISPLAY=$(expr $DISPLAYNUM + 1)
VLC_SETTINGS="-I dummy --vout=mmal_vout --mmal-resize --mmal-display hdmi-$MMAL_DISPLAY --no-dbus"
cvlc $VLC_SETTINGS sample-mp4-file-small.mp4
error output:
LC media player 3.0.18 Vetinari (revision 3.0.18-0-ge9eceaed4d)
vlc: unknown option or missing mandatory argument --mmal-resize' Try vlc --help' for more information.
but I tried:export DISPLAY=:0 (same as in raspbian image)
I ran: cvlc sample-mp4-file-small.mp4
It CAN play the sample video.
but I need to play streaming video in real time not  video files.
how can I do ? what cvlc command options?
any help?
Thank you very much.

Hi all ,
I have got the streaming video with command:  cvlc -vvv v4l2:///dev/video0
more idea? or I am going to search online to know more.
Thanks

solved! close please


[cf-expandables] Content should be fully shown and show/hide markers should be hidden w/o JS

https://github.com/cfpb/cf-expandables/issues/55
When JavaScript is off, a user should be able to read everything in the expandable and the show/hide markers should be hidden.
@anselmbradford has a working version of this at https://github.com/cfpb/cfgov-refresh/pull/1134

This is fixed in the v4 update to cf-expandables.


bug(MAT_DIALOG): Dialog backdrop not working as expected on Chrome 97 vs Firefox

Is this a regression?

[X] Yes, this behavior used to work in the previous version

The previous version in which this bug was not present was
No response
Description
Opening official dialogs in docs shows no backdrop.
This happens on my prod too.
Latest Firefox works as should instead.
Reproduction
Steps to reproduce:

Open any dialog with chrome 97 on https://material.angular.io/components/dialog/examples

Expected Behavior
Should show backdrop and exit on click
Actual Behavior
No backdrop, ignores click outside dialog
Environment

Angular: 13.2,13.1
CDK/Material: 13.2,13.1
Browser(s): Chrome 97.0.4692.99 (Official Build) (64-bit)
Operating System (e.g. Windows, macOS, Ubuntu): Win

It shows a backdrop as expected for me on the same version of Chrome on both Windows and Mac. Maybe something else is messing with it (e.g. a browser extension)?

OK, this is an absolutely crazy story, but apparentl it was totally caused by an extension.
I did try it in Incognito before submitting the issue, but there is only one extension I keep on Incognito mode, which is uBlock Origin.
There is a certain block list that disables the backdrop via CSS apparently.
Disabling it fixed the issue.
Leaving this for posterity. Thanks @crisbeto and sorry for the trouble.


Documentation "Run Code" functionality fails to set up the environment

Initial Checks

[X] I confirm that I'm using Pydantic V2

Description
After clicking on "Run Code" play button in this section of the documentation, setting up the environment fails with the traceback below.
pydantic version: v2.4.1, pydantic-core version: v2.10.1
Traceback (most recent call last):
  File "/lib/python311.zip/_pyodide/_base.py", line 144, in _parse_and_compile_gen
    mod = compile(source, filename, mode, flags | ast.PyCF_ONLY_AST)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "", line 16
    if ' ' not in v:
IndentationError: expected an indented block after function definition on line 15

Example Code
No response
Python, Pydantic & OS Version
pydantic version: v2.4.1, pydantic-core version: v2.10.1

Hi @mateoradman,
Thanks for reporting this. What happens when you clear the cache and try again?

The website seems to be down. I get a 500 response code upon visiting https://docs.pydantic.dev/latest/

@mateoradman, I'm not able to reproduce the 500 error that you're getting :(

Hi @mateoradman,
Thanks for reporting this. What happens when you clear the cache and try again?
In particular, you could try opening the dev tools, going to the network tab, checking this "Disable cache" checkbox, and refreshing the page:

I was able to reach the pydantic docs website again this morning. I disabled the cache in dev tools, refreshed the page using Ctrl + Shift + R, and ran the code on the website again but, unfortunately, the problem is not resolved. Additionally, I also tried an incognito tab in the same browser, and I've also tried switching browsers to see if that helps. It didn't help.

@mateoradman,
Thanks for following up. We'll dig into this issue further. It does seem like a bug 🐛.

Hi @sydney-runkle,
I have the same issue in certain code snippets in the docs. Several browsers on different systems.
Looks like it's Pyodide that executes the code in the browser. I've tried to find how it's embedded into the docs somewhere in the docs/  directory but it's just listed among other plugins in using.toml.
Is its usage in the docs specified anywhere else or is it just declared and handled externally?

one minimum reproducible case here:
class A:
    a: int
    def __init__(self, i: int):
        self.a = i

It seems that as long as we give one method definition in one class, it will raise intent error during compiling.


Fix endsWith query test to use the correct query

The test for the endsWith query currently uses startsWith. This PR fixes that.

you should replace it_excludes_dbs with it :)

I haven't yet checked it against Postgres. My assumption was that this wasn't what was intended with MongoDB

yeah nice catch :)


Orientation of back camera preview in landscape mode upside-down on iOS initially (in test app)

Another preview-orientation issue on iOS. In contrast to #19, I only see this in the test app (Camera.MAUI.Test), but not in my custom app using the CameraView.
To reproduce:

Open the Camera.MAUI.Test app on an iOS device (in version 1.4.7).
Rotate the device into landscape mode.
Tap "Go to MVVM Cam".
The preview is upside down.

Note:

The preview in portrait mode is always ok.
When opening the preview page in portrait, and then rotating to landscape, the preview is also ok.
I only see this problem in the test app, so it may be a specific problem of how the CameraView is used there.

I believe the problem is related to the AutoStartPreview property:

In the "MVVM Cam" of the test app (where the preview is autostarted), the problem occurs.
In the "Fullscreen Cam" of the test app (which needs to be started manually), the problem does not occur.


board color contrast reduction makes for difficulty playing games

with the latest update, the blue board changed.  I find the new color to be difficult to play on due to low contrast.  I cannot tell how it changed because I don't have an older copy.  I think the blue/white was changed to dark-blue/light-blue, or possibly the two blues were made closer to each other.  This new board is more difficult to play with.  Could it be changed back? Was this change intentional?

Yes.  I believe the darker color was made lighter, so the dots stick out more.  The colors may be different on different devices.  It is probably best to let the user choose the colors.  It will be fixed on the next update.  Thanks for letting us know.

Looks like the beta fixes this.  I believe the original blue has been restored and I see the new color picker that allows custom colors.  So I'm going to go ahead and close this.  Thanks!