Access token from gcloud auth application-default login expires after inactivity and isn't auto-refreshed by Cloud SQL Proxy

Bug Description
The Cloud SQL Proxy fails to automatically refresh the OAuth 2.0 access token obtained via gcloud auth application-default login after a period of inactivity. This leads to authentication errors when trying query the database, with the following error:
googleapi: Error 401: Request had invalid authentication credentials.

This issue seems to occur only after prolonged periods (6-12 hours) of inactivity.
Expected behavior: The Cloud SQL Proxy should automatically refresh the access token as needed. (See: https://cloud.google.com/sql/docs/mysql/sql-proxy#benefits_of_the)
Example code (or command)
N/A
Stacktrace
date 10:44:56 [<instance-connection-name>] Accepted connection from <IP_ADDRESS>:52346
date 10:44:56 [<instance-connection-name>] failed to connect to instance: failed to get instance: Refresh error: failed to get instance metadata (connection name = "<instance-connection-name>"): googleapi: Error 401: Request had invalid authentication credentials. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.
Details:
[
  {
    "@type": "type.googleapis.com/google.rpc.ErrorInfo",
    "metadata": {
      "method": "google.cloud.sql.v1beta4.SqlConnectService.GetConnectSettings",
      "service": "sqladmin.googleapis.com"
    },
    "reason": "ACCESS_TOKEN_TYPE_UNSUPPORTED"
  }
]

More details:
Reason: authError, Message: Invalid Credentials
date 10:44:56 [<instance-connection-name>] Accepted connection from <IP_ADDRESS>:52347
date 10:44:56 [<instance-connection-name>] failed to connect to instance: failed to get instance: Refresh error: failed to get instance metadata (connection name = "<instance-connection-name>"): googleapi: Error 401: Request had invalid authentication credentials.

Steps to reproduce?

Authenticate using gcloud auth application-default login.
Start the Cloud SQL Proxy using ./cloud-sql-proxy.x64.exe --config-file config.toml
Leave the proxy inactive for several hours.
Attempt to reconnect and observe that the proxy encounters a 401 error due to expired credentials.

Environment

OS type and version: Windows 11 Home
Cloud SQL Proxy version (./cloud-sql-proxy --version): cloud-sql-proxy version 2.11.4+windows.amd64
Proxy invocation command (for example, ./cloud-sql-proxy --port 5432 INSTANCE_CONNECTION_NAME): ./cloud-sql-proxy.x64.exe --config-file config.toml

config.toml
# use instance-connection-name-0, instance-connection-name-1, etc.
# for multiple instances
instance-connection-name = "redacted"
auto-iam-authn = true
debug = true
debug-logs = true
port = "5432"

Additional Details
N/A

Hi @rvishruth Thanks for raising an issue on the Cloud SQL Proxy 😄 I can hopefully help shed some clarity for you on your issue.
Setting ADC via gcloud auth application-default login should work, but maybe something in your environment or Org policy constraints is limiting the number of times the token can be refreshed?
I will try and reproduce this on my end, in the meantime after running the login command you should see a Credentials saved to file: ...path.
If you inspect the file at the given path do you see a refresh_token field? Maybe your credentials are being set in a way where they are not able to be refreshed and thus expire...

Hey @jackwotherspoon! Thank you for getting back to me!

Setting ADC via gcloud auth application-default login should work, but maybe something in your environment or Org policy constraints is limiting the number of times the token can be refreshed?

We haven't changed any defaults on Google cloud here. But I'll check this and update the thread.

If you inspect the file at the given path do you see a refresh_token field? Maybe your credentials are being set in a way where they are not able to be refreshed and thus expire...

I do see a refresh token field. Here's the redacted credentiaals.json
{
  "account": "",
  "client_id": "<redacted_string>.apps.googleusercontent.com",
  "client_secret": "<redacted_secret_string>",
  "quota_project_id": "<redacted_project_name>",
  "refresh_token": "<redacted_token_string>",
  "type": "authorized_user",
  "universe_domain": "googleapis.com"
}

@rvishruth another thing I wonder if you could try for me is once you see a 401 error if you could try re-starting the Proxy.

 Seems to be an something related to how many times/how long you can refresh the token - https://support.google.com/a/answer/9368756. If I try to restart the Proxy, I get this error, which gets resolved after I do gcloud auth application-default login
2024/09/11 10:19:00 Authorizing with Application Default Credentials
2024/09/11 10:19:00 [PROJECT_ID:REGION:INSTANCE_NAME] Connection info added to cache
2024/09/11 10:19:00 [PROJECT_ID:REGION:INSTANCE_NAME] Connection info refresh operation started
2024/09/11 10:19:00 [PROJECT_ID:REGION:INSTANCE_NAME] Listening on <IP_ADDRESS>:5432
2024/09/11 10:19:00 The proxy has started successfully and is ready for new connections!
2024/09/11 10:19:00 Enabling pprof endpoints at localhost:9091
2024/09/11 10:19:01 [PROJECT_ID:REGION:INSTANCE_NAME] Connection info refresh operation failed, err = failed to get instance: Refresh error: failed to get instance metadata (connection name = "PROJECT_ID:REGION:INSTANCE_NAME"): Get "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME/connectSettings?alt=json&prettyPrint=false": auth: cannot fetch token: 400
Response: {
  "error": "invalid_grant",
  "error_description": "reauth related error (invalid_rapt)",
  "error_uri": "https://support.google.com/a/answer/9368756",
  "error_subtype": "invalid_rapt"
}
2024/09/11 10:19:01 [PROJECT_ID:REGION:INSTANCE_NAME] Connection info refresh operation scheduled immediately
2024/09/11 10:19:01 [PROJECT_ID:REGION:INSTANCE_NAME] Removing connection info from cache: failed to get instance: Refresh error: failed to get instance metadata (connection name = "PROJECT_ID:REGION:INSTANCE_NAME"): Get "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME/connectSettings?alt=json&prettyPrint=false": auth: cannot fetch token: 400
Response: {
  "error": "invalid_grant",
  "error_description": "reauth related error (invalid_rapt)",
  "error_uri": "https://support.google.com/a/answer/9368756",
  "error_subtype": "invalid_rapt"
}
2024/09/11 10:19:03 Sending SIGINT signal for proxy to shutdown.

@rvishruth Thanks for the additional details! Based on your response this is indeed an auth issue and not related to the Proxy itself. The Proxy sources Application Default Credentials (ADC) from the environment. If these credentials are invalid and not able to be refreshed then the Proxy will not work as expected.
You could try following the instructions in the link you provided, specifically this section:

You can also check the Exempt trusted apps box to exempt trusted apps from reauthentication. (Trusted apps are marked as Trusted on the App access control page. For more details, see Preparing for broad rollout below

For a local deployment, while not ideal but probably the easiest path forward would be downloading a long-lived service account key json file and setting the GOOGLE_APPLICATION_CREDENTIALS env variable to its path. (more info)
Otherwise you could try to alter your Org policies to allow longer living user credentials.

FWIW I stared the Proxy at ~9am my time, connected, let it sit, and now at ~4pm it's still working just fine. So I suspect this has to do with an organization policy setting.

Got it, thanks for the suggestions @jackwotherspoon!
That makes sense @enocom! I think it usually takes a little longer to expire for me but I agree with you that its an organization setting!

@rvishruth I am going to close this issue out as the root cause seems to be an auth issue in your environment and is not to do with the inner workings of the Cloud SQL Proxy. (feel free to re-open if you have any findings that suggest otherwise 😄)
Thanks again for raising this and hopefully if other users run into this auth issue in the future this thread will provide insights.
Have a great day,
Jack


How to control the memory of GPU with more than 1 million cells?

** How to control the memory of GPU with more than 1 million cells? **
When I process the following commond (A100 40GB GPU), I caught the error of memory out.
#######################################
cudata = rsc.cunnData.cunnData(adata=adata)
/public/home/amcgc/anaconda3/envs/rapids-23.12/lib/python3.10/site-packages/rapids_singlecell/cunnData/init.py:117: FutureWarning: cunnData is deprecated, please use AnnData with cupy arrays instead. cunnData will be removed from rapids-singlecell in early 2024.
For more info on how to transition see: https://rapids-singlecell.readthedocs.io/en/latest/Usage_Principles.html
warnings.warn(

MemoryError                               Traceback (most recent call last)
Cell In[9], line 1
----> 1 cudata = rsc.cunnData.cunnData(adata=adata)
File ~/anaconda3/envs/rapids-23.12/lib/python3.10/site-packages/rapids_singlecell/cunnData/init.py:131, in cunnData.init(self, adata, X, obs, var, uns, layers, obsm, varm)
129     del inter
130 else:
--> 131     self._X = sparse_gpu.csr_matrix(adata.X, dtype=cp.float32)
132 self._obs = adata.obs.copy()
133 self._var = adata.var.copy()
File ~/anaconda3/envs/rapids-23.12/lib/python3.10/site-packages/cupyx/scipy/sparse/_compressed.py:227, in _compressed_sparse_matrix.init(self, arg1, shape, dtype, copy)
224 elif scipy_available and scipy.sparse.issparse(arg1):
225     # Convert scipy.sparse to cupyx.scipy.sparse
226     x = arg1.asformat(self.format)
--> 227     data = cupy.array(x.data)
228     indices = cupy.array(x.indices, dtype='i')
229     indptr = cupy.array(x.indptr, dtype='i')
File ~/anaconda3/envs/rapids-23.12/lib/python3.10/site-packages/cupy/_creation/from_data.py:46, in array(obj, dtype, copy, order, subok, ndmin)
7 def array(obj, dtype=None, copy=True, order='K', subok=False, ndmin=0):
8     """Creates an array on the current device.
9
10     This function currently does not support the subok option.
(...)
44
45     """
---> 46     return _core.array(obj, dtype, copy, order, subok, ndmin)
File cupy/_core/core.pyx:2376, in cupy._core.core.array()
File cupy/_core/core.pyx:2400, in cupy._core.core.array()
File cupy/_core/core.pyx:2531, in cupy._core.core._array_default()
File cupy/_core/core.pyx:132, in cupy._core.core.ndarray.new()
File cupy/_core/core.pyx:220, in cupy._core.core._ndarray_base._init()
File cupy/cuda/memory.pyx:740, in cupy.cuda.memory.alloc()
File ~/anaconda3/envs/rapids-23.12/lib/python3.10/site-packages/rmm/allocators/cupy.py:37, in rmm_cupy_allocator(nbytes)
34     raise ModuleNotFoundError("No module named 'cupy'")
36 stream = Stream(obj=cupy.cuda.get_current_stream())
---> 37 buf = librmm.device_buffer.DeviceBuffer(size=nbytes, stream=stream)
38 dev_id = -1 if buf.ptr else cupy.cuda.device.get_device_id()
39 mem = cupy.cuda.UnownedMemory(
40     ptr=buf.ptr, size=buf.size, owner=buf, device_id=dev_id
41 )
File device_buffer.pyx:85, in rmm._lib.device_buffer.DeviceBuffer.cinit()
MemoryError: std::bad_alloc: out_of_memory: CUDA error at: /public/home/amcgc/anaconda3/envs/rapids-23.12/include/rmm/mr/device/cuda_memory_resource.hpp
###########################################

Hey @xflicsu
Did you try using rmm?
import rmm
from rmm.allocators.cupy import rmm_cupy_allocator
rmm.reinitialize(
    managed_memory=True, # Allows oversubscription
    pool_allocator=False, # default is False
    devices=0, # GPU device IDs to register. By default registers only GPU 0.
)
cp.cuda.set_allocator(rmm_cupy_allocator)

This allows for oversubscription of the gpu memory but comes at a performance cost. I would also encourage you to switch to AnnData for your workflow.
Please let me know if this helped.
Yours Severin

Hey @xflicsu
Did you try using rmm?
import rmm
from rmm.allocators.cupy import rmm_cupy_allocator
rmm.reinitialize(
    managed_memory=True, # Allows oversubscription
    pool_allocator=False, # default is False
    devices=0, # GPU device IDs to register. By default registers only GPU 0.
)
cp.cuda.set_allocator(rmm_cupy_allocator)

This allows for oversubscription of the gpu memory but comes at a performance cost. I would also encourage you to switch to AnnData for your workflow.
Please let me know if this helped.
Yours Severin

Thanks for your quick response!
It works now.
BTW, whether "switch to AnnData"  means to change to CPU?

Anndata supports gpu based arrays and matrices since v0.10.0. This is the new default for rsc. You can check the notebooks within the documentation to see how it's supposed to be used now.


Add Support for New Binary Data Api Gateway Features

No more binary data hacks! Or, alternately, officially-supported binary data hacks.
Related:
https://aws.amazon.com/about-aws/whats-new/2016/11/binary-data-now-supported-by-api-gateway/
https://aws.amazon.com/blogs/compute/binary-support-for-api-integrations-with-amazon-api-gateway/
http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-payload-encodings.html

Would be a really nice feature to implement. I was looking to demo Django CMS using Zappa and there is no point in doing that if binary data is not supported.

Well, you can just upload to S3 directly. Honestly, you should probably be doing that anyway..

That's indeed true but often times, people are stuck with frameworks which does things in a more traditional/legacy way. That's why I think supporting binary date might help filling in the gap.
I don't think that it's uncommon to have a Django model which uses an Image/File and that's also available via the Django admin. With API binary support and the 'storages' app users will be able to store media files in an S3 bucket (which is what they should probably be doing ;)).

👍
One of my projects would really benefit from this - I'm dynamically generating images. While it's not hard to push the results to S3, the problem is having to issue a redirect at that point - which means every call to this endpoint results in a redirect to another domain, something which not every client handles well.
Yes, for many purposes - serving static assets - pushing them to S3 is absolutely the right way. But, as Amazon itself has acknowledged by finally adding binary support in API Gateway - that doesn't fit every use case.

I have a service that converts text into pdf. So I need to return pdf binary data (application/pdf) from my lambda function. Any progress on that feature yet? I don't want to save temporary pdfs to S3 and serve them from there.
Or otherwise any ideas how to manually configure that in AWS?

I submitted a pull request for binary support, which should allow you to generate images on the fly
#657

This has landed. Awesome.


Remove Nasty bits from Pair

So, back when Pair was creates some horrible things were done, just to get that darn of.
Some cruft needs to be cut from Pair:

[x] Remove of
[x] Remove value
[ ] ~Add toArray~
[ ] ~add pairToArray transformation~
[ ] ~add pairToList transformation~

EDIT: After some long, hard thought on this, decided to keep the Semigroup constraint for ap, chain and concat. They do in fact provide much value for things like a cheap Writer (which is just a Product type with a Semigroup in its fst.

Okay so after starting this change, turns out I will not be adding pairToArray and pairToList and will not add toArray to the Pair. While it is valid in JS, by allowing to move from Pair to Array or List, then we lose some of the benefits of having a List/Array of a single type.
since there will be special handling anyway, it makes sense to let the user use merge to make it a one "action" thing to map and extract into a value they have control over. For example, if they want to create an array like [ fst, snd ], then they can easily do things like this:
const { Pair, merge, reverseApply: thrush } = crocks

const f =
  thrush(Pair('George', 5))

// { name: 'George', count: 5 }
const obj =
  f(merge((x, y) => ({ name: x, count: y })))

// [ 5, 'George' ]
const arr =
  f(merge((x, y) => [ y, x ]))

This seems like the more powerful interface

Merged PR#86.
In master and going out with 0.4.0.
Closing!


[Observer] "Polling failed: could not get block 49841027" error="json: cannot unmarshal object into Go struct field Meta.delivered_amount of type string

from logs
2019-09-06T01:48:40.690142+00:00 app[observer.1]: time="2019-09-06T01:48:40Z" level=info msg="Got new block" num=49841025 platform=ripple txs=25
2019-09-06T01:48:40.695993+00:00 app[observer.1]: time="2019-09-06T01:48:40Z" level=error msg="Polling failed: could not get block 49841027" error="json: cannot unmarshal object into Go struct field Meta.delivered_amount of type string" platform=ripple

#339


Memory Management and BSOD

I recently updated Ooba from exllamav2 0.0.11 to current version 0.0.13.
Since doing so I’m unable to load models across two GPU's without getting the BSOD.
The same issue also occurs in TabbyAPI.
Everything works fine if I offload a smaller model onto a single GPU (on either of my GPU's).
In order to stop the BSOD and get an error message, I changed the Nvidia driver settings to 'Prefer No Sysmem Fallback'.
I am now getting the standard OOM error that Ooba throws up:
torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 140.00 MiB. GPU 1 has a total capacty of 16.00 GiB of which 10.34 GiB is free. Of the allocated memory 4.46 GiB is allocated by PyTorch, and 43.92 MiB is reserved by PyTorch but unallocated. If reserved but unallocated memory is large try setting max_split_size_mb to avoid fragmentation.  See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF
Yet the GPU has more than enough available memory.
Everything still works fine if I’m loading a GGUF model with any llamacpp backend.
Someone with a similar problem has suggested I downgrade to exllamav2 0.11, but I’m not sure how to do that. So I will have to wait for a fix.
System Info: Windows 10 19045.4046 Build.  2 x Nividia RTX4060 Ti.  RAM 64GB.  i7-6700 CPU.

This is a full error message:
File "C:\AI\Oobabooga\text-generation-webui-main\text-generation-webui-main\modules\ui_model_menu.py", line 220, in load_model_wrapper
shared.model, shared.tokenizer = load_model(selected_model, loader)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\AI\Oobabooga\text-generation-webui-main\text-generation-webui-main\modules\models.py", line 87, in load_model
output = load_func_maploader
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\AI\Oobabooga\text-generation-webui-main\text-generation-webui-main\modules\models.py", line 380, in ExLlamav2_HF_loader
return Exllamav2HF.from_pretrained(model_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\AI\Oobabooga\text-generation-webui-main\text-generation-webui-main\modules\exllamav2_hf.py", line 170, in from_pretrained
return Exllamav2HF(config)
^^^^^^^^^^^^^^^^^^^
File "C:\AI\Oobabooga\text-generation-webui-main\text-generation-webui-main\modules\exllamav2_hf.py", line 44, in init
self.ex_model.load(split)
File "C:\AI\Oobabooga\text-generation-webui-main\text-generation-webui-main\installer_files\env\Lib\site-packages\exllamav2\model.py", line 248, in load
for item in f: return item
File "C:\AI\Oobabooga\text-generation-webui-main\text-generation-webui-main\installer_files\env\Lib\site-packages\exllamav2\model.py", line 266, in load_gen
module.load()
File "C:\AI\Oobabooga\text-generation-webui-main\text-generation-webui-main\installer_files\env\Lib\site-packages\exllamav2\mlp.py", line 77, in load
self.down_proj.load()
File "C:\AI\Oobabooga\text-generation-webui-main\text-generation-webui-main\installer_files\env\Lib\site-packages\exllamav2\linear.py", line 45, in load
if w is None: w = self.load_weight()
^^^^^^^^^^^^^^^^^^
File "C:\AI\Oobabooga\text-generation-webui-main\text-generation-webui-main\installer_files\env\Lib\site-packages\exllamav2\module.py", line 96, in load_weight
qtensors = self.load_multi(["q_weight", "q_invperm", "q_scale", "q_scale_max", "q_groups", "q_perm"], override_key = override_key)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\AI\Oobabooga\text-generation-webui-main\text-generation-webui-main\installer_files\env\Lib\site-packages\exllamav2\module.py", line 77, in load_multi
tensors[k] = stfile.get_tensor(key + "." + k, device = self.device())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\AI\Oobabooga\text-generation-webui-main\text-generation-webui-main\installer_files\env\Lib\site-packages\exllamav2\fasttensors.py", line 118, in get_tensor
return f.get_tensor(key)
^^^^^^^^^^^^^^^^^
torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 88.00 MiB. GPU 1 has a total capacty of 16.00 GiB of which 7.14 GiB is free. Of the allocated memory 7.64 GiB is allocated by PyTorch, and 68.77 MiB is reserved by PyTorch but unallocated. If reserved but unallocated memory is large try setting max_split_size_mb to avoid fragmentation.  See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF

Thank you for the pip command it’s useful to have and it loaded Exlv2 0.0.11, but unfortunately I still had the issue.
I ran DDU driver uninstaller in safe mode, twice to be sure before installing an older Nvidia driver.
I also stress tested RAM memory, uninstalled recent Window 10 updates, messed around with paging file, virus scan, fresh installs of both Tabby & Ooba. And much more, short of a fresh Windows install which I didn’t want to do. And still the issue wouldn’t go away.
Then this morning I booted up my computer, fired up TabbyAPI and Exllamav2 is now working just fine (I’ll try Ooba later but I suspect that will also be back to normal).
The problem may well have been caused by a corrupt Nvidia driver; to be honest I really don’t know.
Anyway it’s working and I’m very grateful for your advice and all the work you do for the community, I appreciate it.
Thanks again.


Add option to sync all settings at once

Was hesitant to add this, but had a few requests

Imagine sync dozens of modules lol
Please do it!
Thank you;

Added in 0.0.7


[RESOLVED] Interface eth0(): High error rate (>2 for 5m)

Problem started at 11:30:29 on 2023.05.29
Problem name: Interface eth0(): High error rate (>2 for 5m)
Host: S100-Primario
Severity: Warning
Operational data: errors in: 5, errors out: 0
Original problem ID: 22905
Event details in Zabbix: http://<IP_ADDRESS>/tr_events.php?triggerid=23483&eventid=22905

Problem has been resolved in 15m 0s at 11:45:29 on 2023.05.29
Problem name: Interface eth0(): High error rate (>2 for 5m)
Host: S100-Primario
Severity: Warning
Original problem ID: 22905


fixed: flake-compat: missing attribute

I needed to add flake-compat to actually use the default.nix. I am adding tailwind-haskell to a nixified haskell project that doesn't use flakes. cf. https://nixos.wiki/wiki/Flakes#Using_flakes_project_from_a_legacy_Nix

Not sure if I understand. tailwind-haskell has got a default.nix just like the one you linked. That one I didn't touch.
Only, this default.nix for legacy support doesn't work without the changes of this pull request.

Note: you want to revert the changes to the flake.lock file. Then we can merge this.


screens/log: log entries outside the screen are considered read.

E.g. if there are so many logs that they fill up more than the window height, the entries "above" and outside the screen will still be considered read when opening the log. Similarly, if we're detached, any logs "below" and outside the screen will also be considered read.

I'm considering if this is wanted behavior.

I consider this expected behavior.


Potential Incomplete Destroy

I have an application where I need to reload the scenes list from time to time in tour mode.  From what I've found it isn't natively supported so to do this I call the destroy method on the viewer and rebuild a new viewer object.  After a number of destroys I was noticing a slow down so I checked the event log.  After a bit of testing it I noticed that there are events that seem to increase in number based on the number of destroys (ie show up as an individual recurring event on page load, after one destroy and rebuild then I see the events in groups of two, and increasing linearly as I destroy and rebuild).  The events come from:
setTimeout(processNextTile, 0, program.currentNodes[i]);
in libpannellum.js
and
else if (renderer && (renderer.isLoading() || (config.dynamic === true && update))) {
        requestAnimationFrame(animate);
    }

in pannellum.js
In my code I am calling viewer.destroy() for a viewer created with viewer = pannellum.viewer(elem, config).
I'm not sure if this is an issue or if it is just me going about this the wrong way (or indeed trying to do something that is not supported).  Is there anything I could do in my code to eliminate this behaviour?

I'll need to take a closer look, but it's very likely that these events are due to bugs.
While reloading the scene list directly isn't supported, you could loop through the scene list retrieved via getConfig and call removeScene on each one. You could then loop through your new scene list and call addScene for each new scene.


Error: Couldn't acquire file lock.

Describe the bug
Error message during installation of tedge-mapper-c8y:
2022-03-08T10:34:27.009972774Z ERROR flockfile::unix: Another instance of tedge-mapper-c8y is running.
2022-03-08T10:34:27.010008322Z ERROR flockfile::unix: Lock file path: /var/log/tedge-mapper-c8y.lock

Probably the directory /var/log is not the right one.
To Reproduce
Install tedge mapper built on top of dd607148665cbaea265211f1442c7ec8e01cc604
Expected behavior
Works :)
Screenshots

https://github.com/thin-edge/thin-edge.io/actions/runs/1950813139
https://github.com/abelikt/thin-edge.io/runs/5462782774?check_suite_focus=true

The file path /var/log/tedge-mapper-c8y.lock is wrong. Should be /run/lock/tedge-mapper-c8y.lock.


Sudoku Solver Using CNN,RNN and GAN model

Description:
Sudoku is a popular logic-based number puzzle. This project demonstrates how to use Convolutional Neural Networks (CNN) with TensorFlow to solve Sudoku puzzles by recognizing and filling in the missing numbers.
The primary objective of this project is to:
Develop a CNN, RNN and GAN model and find accuracy
@invigorzz313 pls assign it to me I'm GSSOC'24 contributor

Hi, I can create a model for this. Please assign it to me.


Game instantly crashes upon launch

Log is attached below.
launcher_log.txt
The mod never did this sort of thing before. Maybe it's 1.18.2?

Guess the 1.18.2 port doesn't work. How (un)surprising.

No refMap loaded.

Oh, of course. I figured it was my fault.
 This time I actually made sure it launches

v2.3.1-exp2 released. This time I actually made sure it launches


V0.2.1 displays v0.2.0 as its version

Just to let you know.

It's fine. I just overwrote the 0.2 binaries with the bug fix for cute chess so that no one else would have that problem.


Development

Description
Promoting 0.0.7 with streaming results

Coverage decreased (-2.0%) to 91.649% when pulling e685c598eb0e6bc6819918a1008e9a32a63e5070 on development into 48b7ab0d677347fbaf001dce70ce24bce244dabd on master.


Add jdk17 experimental risc-v openjdk nightly based on jdk-sandbox

Only experimental build and nightly tests for now, add a jdk11-riscv based on https://github.com/openjdk/jdk-sandbox/tree/riscv-port-branch.
Why we need this:

Kepp testing openjdk riscv build quality
Give an internal experimental build for developer

@joeyleeeeeee97 Does this build natively or via a cross-compile? (@M-Davies do you have insight given the tag you've added?)

Looks like that code base id a JDK17 (as per title) rather than JDK11 as per the description so we'll ideally need to get hold of a JDK16/17 as a boot JDK before pushing this forward

@joeyleeeeeee97 Does this build natively or via a cross-compile? (@M-Davies do you have insight given the tag you've added?)

Cross-compile.

Looks like that code base id a JDK17 (as per title) rather than JDK11 as per the description so we'll ideally need to get hold of a JDK16/17 as a boot JDK before pushing this forward

Yes. Where could I start an issue to add a JDK16 boot JDK to build-image?

Yes. I didn't find the right place to update adoptopenjdk/centos6_build_image.

@joeyleeeeeee97 Maybe you can add JDK16/17 as boot JDK at https://github.com/adoptium/infrastructure/blob/master/ansible/Dockerfile.CentOS6

It needs to be added into https://github.com/adoptium/infrastructure/blob/793eac15bf0cb46ec92f67d83e6537d7ca9feac5/ansible/playbooks/AdoptOpenJDK_Unix_Playbook/main.yml#L90 - the adoptopenjdk_install role isn't invoked for JDK16 yet so if you can put in a PR to make that change it should fix this :-)

The above PR is currently set to build natively instead of cross-compiling as I had some additional issues building in the cross-compile environment. We can adjust that later if required :-)

Noting that there will be a minor update in TKG to mark riscv as a 'mixed' platform (not the case for the openj9 riscv build) - we believe that was causing issues when running tests on this platform and JDK_IMPL (FYI @sxa).

Thanks @smlambert -I haven't looked in detail at the output from the tests on https://ci.adoptopenjdk.net/job/build-scripts/job/jobs/job/jdk17/job/jdk17-linux-riscv64-hotspot other than to see that most of them, including the Smoke test is failed. We'll see how it looks after the TKG update is done :-)

https://github.com/adoptium/TKG/pull/226 TKG change is merged.  Example grinder is: https://ci.adoptopenjdk.net/view/Test_grinder/job/Grinder/1058/

LGTM - we still need some tweaks to the smoke tests and other bits, but we're now live and have some test output, therefore closing :-D


Talk.html : runtime error : index out of range

Hello,
I pulled the latest revision, and now I cannot build my site anymore, using Hugo v0.31.1 (latest version). The site was building just fine yesterday, and now I get an error message related to talk.html:

Failed to render "theme/section/talk.html": runtime error: index out of range

Any hints on how to fix it ?
Thanks !

There is an example in the Demo site, perhaps it might help: https://raw.githubusercontent.com/gcushen/hugo-academic/master/exampleSite/content/talk/example-talk.md

I had the same error after updating the theme. It seems there were two things causing the problem:

I only had a date field in my talk page, no time_start field; I had to change date to time_start.
The date/time_start value had quotes around the datetime object; I had to remove the quotes.

Previous content/talk/sometalkpage.md:
+++
date = "2017-10-10T17:00:00"
title = [...]

Corrected:
+++
time_start = 2017-10-10T17:00:00
title = [...]

Since v2.0.0, date is used to represent the date that the talk page was created or last updated and time_start and time_end are used to represent the time of the talk. Note that time_end is optional.
Also, the date/time fields were converted from string format to the TOML date/time format by removing the quotes as @sbibauw mentioned.

Thanks for your replies, @gcushen and @sbibauw !
It was indeed the quotes that I forgot to remove, my bad ! It's fixed now, and building fine :)


Disallow optional fields in record binding pattern

Purpose

$Subject

Fixes #33389
Fixes #33538
Approach

Describe how you are implementing the solutions along with the design details.

Samples

Provide high-level details about the samples related to this feature.

Remarks

List any other known issues, related PRs, TODO items, or any other notes related to the PR.

Check List

[ ] Read the Contributing Guide
[ ] Updated Change Log
[ ] Checked Tooling Support (#)
[ ] Added necessary tests

[ ] Unit Tests
[ ] Spec Conformance Tests
[ ] Integration Tests
[ ] Ballerina By Example Tests

[ ] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

@rpjayasekara can you please rebase this PR on https://github.com/ballerina-platform/ballerina-lang/tree/stage-swan-lake.


add openmp overview

add openmp overview
add openmp programming model
add very simple examples

#419

Looks good. For the calculating the sum of an array in parallel, would it be possible to add a sequential version? I think it makes understanding parallel code in OpenMP is not so different from sequential code.

Good point! Will add it.

Looks good. I like the examples but could you explain a bit about the clauses that you are using (specifically what reduction and for are doing?)

Looks good. I like the examples but could you explain a bit about the clauses that you are using (specifically what reduction and for are doing?)

Good point. Will do!


Reference parameters for large resolution training

Hi!
Thank you for your amazing work with this repository.
I am experimenting with unsupervised learning - I would like to use the G / D of the trained GAN as encoders (there are ways to use G via knowledge distillation into a simpler CNN or papers like this one. I would like to build a model that can recognize 2 images of the same room.
The problem is that standard techniques (hashing, CNN => dimensionality reduction => distance, siamese networks) will either find only very similar images / clustered images or image replicas. If the image is shot from a bit different angle - these methods fail. Ideally I need to build an index of images by such variables as couches / TVs / carpets. Looks like DCGAN / WGAN  learns something like this as a latent variable. If we have 100+ latent variables that represent this - they may work for different images.
I have a dataset of ~300-500k similar images, that mostly resemble lsun living room, but are shot in Russia. So far I have tried the variations of hyperparameters similar to these (please refer to the PR to see what the new parameters mean):
python3 main.py \
	--dataset fastfolder --dataroot ../data/data_for_wgan/all_imgs \
	--imgList ../data/generator_imgs_wgan \
	--ngf 64 --ndf 64 \
	--workers 6 --batchSize 256 --imageSize 256 \
	--nz 100 --niter 50 \
	--cuda --ngpu 2 \
	--n_extra_layers 0 \
	--experiment flat_dataset_224_0extra \
	--adam \
	--tensorboard_images --tensorboard

So far I did not achieve any success  yet. Can you please add some guidelines into README on training on larger resolutions / batch sizes?

Also on my dataset I managed to replicate training on 64x64 resolution (both for lsun and my dataset), but 256x256 still fails to converge meaningfully.

I assume in order to create images with higher resolution you have to increase model's compelexity in terms of parameter number - maybe you will have some success with extra layers?


Add "Current" and "Latest" labels of the model

This PR should answer #66. I essentially added a metadata collection to our DB to keep the information of what is the "Current" and what is the "Latest" Telescope Model tag. Currently the two are the same (Prod5), but in the future I expect the "latest" to include the latest changes, while the "Current" should be actual productions. Once construction is over, this will be replaced by a more sophisticated system of course.
I suggest that the default from now on is "Current". This is what I set it in "TelescopeModel".

Actually I'll not do that.
In the tests, it should stay prod4 and the applications are being changed in my docs branch.

You may merge it!

In the tests, it should stay prod4 and the applications are being changed in my docs branch.

Why should it stay prod4? Why not the stable tag? I assume the tests will evolve with the tags as well and should be up-to-date with the model no?
And what about prod5 instead of prod4?

In the tests, it should stay prod4 and the applications are being changed in my docs branch.

Why should it stay prod4? Why not the stable tag? I assume the tests will evolve with the tags as well and should be up-to-date with the model no?
And what about prod5 instead of prod4?

These tests should not test the model, but only the code. We should pick a model version which we know that will work so we can effectively test the code.
We might want to test the model itself somehow, but this should be done separately.
I assume it's going to happen often that the Latest model will be broken. In this situation, we should still be able to test any change on the code independently.
That is my position. What do you think?

I agree completely, that's why I created two "defaults", "Current" and "Latest". The latest may be broken every now and then, but the "Current" should be stable, working and point only to production tags like prod4, prod5, etc. I think our tests should work for any stable model and not stay behind, checking only a specific old model like prod4.

I agree completely, that's why I created two "defaults", "Current" and "Latest". The latest may be broken every now and then, but the "Current" should be stable, working and point only to production tags like prod4, prod5, etc. I think our tests should work for any stable model and not stay behind, checking only a specific old model like prod4.

Ok ok. This means that the Current version will always be tested and stable. In this case make sense to use the Current one for the testing. I'll do that

I did the changes on the tests.
The application I'll keep as they are by now because I'll change it on the other branch. If I change then here, I'll be creating conflicts  already.

Thanks! I changed the "current" to "Current" cause that's how it appears in the DB. Maybe in the future I will implement case insensitive search, but for now it's easier this way.
I will merge now then.

Thanks! I changed the "current" to "Current" cause that's how it appears in the DB. Maybe in the future I will implement case insensitive search, but for now it's easier this way.
I will merge now then.

I used "current" because the validateModelVersion do the job of converting it to "Current". It's a similar system as for the telescope names.

Don't we have to add "current" to the "Current" list then?
https://github.com/gammasim/gammasim-tools/blob/d5bea7faac60d0bae3db3ef815439525db1aeeea/simtools/util/names.py#L332

No, different capitalizations are automatically accepted. That is why we can write all the alternative names in low case.

Ahh, OK now I see, very nice!
Should I change it back or is it OK to leave it like this?

No, don't worry. It's not that important.

OK, thanks for the review!


Release 4.2.0

TODO: ensure about https://github.com/fluent-plugins-nursery/td-agent-builder/issues/305#issuecomment-882402626

TODO: check CentOS 7 aarch64 again.

Fixed fluentd version.

Fix missing updated gems (rdkafka, fluent-plugin-prometheus_pushgateway) wrong version (fluent-plugin-utmpx)

TODO: check CentOS 7 aarch64 again.

local build succeeds.

Surely dependency to perl was removed.
% rpm -qp --requires ./td-agent/yum/repositories/amazon/2/x86_64/Packages/td-agent-4.2.0-1.amzn2.x86_64.rpm |\grep perl

Added more explanation about jeprof

list of contained files (compared to 4.1.1) seems ok. (removed bundler/gems/fluentd-xxx, removed jeprof)
debdiff.txt
rpmdiff.txt

We are going to upload built packages.
It may take several days to be accepted.


Using AdditionalDataColumns results in Properties standard column content to be not formatted as XML

Bug Report / Support Request Template
If you are opening a feature request, you can ignore this template. Bug reports and requests for assistance usually require the same basic information described below. This will help us more quickly reproduce and investigate the problem you're reporting. (If you are using Serilog.Sinks.MSSqlServerCore, that package is deprecated, please switch to Serilog.Sinks.MSSqlServer before reporting an issue.)

Please clearly describe what the SQL Sink is doing incorrectly:
Using AdditionalDataColumns causes Properties standard column value to not be formatted as XML. Without AdditionalDataColumns, Properties column has XML formatted data.
Please clearly describe the expected behavior:
Properties standard column should contain XML data (if so defined) also when additional data columns are used
List the names and versions of all Serilog packages used in the project:

Serilog: 2.5.0
Serilog.Sinks.MSSqlServer: 5.1.2
(configuration, etc.)

Target framework and operating system:

[ ] .NET Core 2.0
[ ] .NET Framework 4.7
[ ] .NET Framework 4.6.x
[X] .NET Framework 4.5.x
OS:

Provide a simple reproduction of your Serilog configuration code:
var loggerConfiguration = new LoggerConfiguration();
var columnOptions = new ColumnOptions();
columnOptions.AdditionalDataColumns = new Collection
{
new DataColumn("LoggingSource", typeof(string))
};
Log.Logger = loggerConfiguration
.WriteTo.MSSqlServer(connectionString, tableName, columnOptions:columnOptions)
.CreateLogger();

Provide a simple reproduction of your Serilog configuration file, if any:

Provide a simple reproduction of your application code:
Log.Information("{@Message} {@LoggingSource} {@Properties}", "TestMessage", "TestSource", new { testProperty1 = "testValue1", testProperty2 = 2 });

The issue is with how MSSqlServerSinkTraits.GetColumnsAndValues() (yielding data to MSSqlServerSink.FillDataTable()) first processes standard column data, properly formatting Properties column value as XML, then processing AdditionalDataColumns data, going through also standard columns again, at which time XML formatting is not applied to Properties column, and Properties column value gets overwritten with non-XML data.

I tried your code with the latest code in the dev branch (5.4.0+) but the properites column looks like perfectly valid xml.
<properties>
    <property key='message'>TestMessage</property>
    <property key='LoggingSource'>TestSource</property>
    <property key='properties'>
        <structure type=''>
            <property key='testProperty1'>testValue1</property>
            <property key='testProperty2'>2</property>
        </structure>
    </property>
</properties>```

I used a .NET Core 3.1 test application but I think this should not make a difference in this case.


binary: improve tests for invalid numbers

We should have separate tests for:

alphabetic characters at the beginning of a valid binary number
alphabetic characters at the end of a valid binary number
alphabetic characters in the middle of an otherwise valid binary number
invalid digits (e.g. 2)

If the test suite for binary has test cases that cover these edge cases, this issue can safely be closed.
See https://github.com/exercism/x-common/issues/95

Closing. https://github.com/exercism/x-common/issues/279


Xfail TestPolyfitParametersCombinations when deg == 0 under ROCm/HIP

Rel #4132, #4484.
Looks that polyfit returns negated value when deg == 0.

pfnCI, test this please.

Jenkins CI test (for commit 1879624a95e17bea1b9e02d22c4f3a82b0d53b7b, target branch master) failed with status FAILURE.

Let me kick CI again to see if TestBasic.test_copyto_multigpu can be reproduced repeatedly.

pfnCI, test this please.

Jenkins CI test (for commit 1879624a95e17bea1b9e02d22c4f3a82b0d53b7b, target branch master) succeeded!


Revert blocking and GPL-licensed code

This effectively reverts to 8602944 and then re-applies #37 and #58, thus reverting #13, #45 and #47. In other words, once this is in, the master branch will be compatible with the previous v0.4.1 again.
This is necessary because:

#13 introduces GPL-licensed code, which is not compatible with our MIT license,
#45 builds on top of #13
#47 introduces a BC break

Functionally, both #13 and #45 make perfect sense. They will be reworked via #41 by @WyriHaximus in the near future.

Updated to also re-apply (i.e. keep) #58.

LGTM :+1:
I'm going to devise a plan for this PR and cuting #41 up in chunks before acting on it

Afaict this is ready for merge and #41 and others likely depend on this, so I'd love to get this in :shipit:

Done, lets get cracking on splitting up #41


Add curl timeout to ClientRequest

Description
Add curl timeout in ClientRequest
Motivation and Context
Sometime need it

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Codecov Report

Merging #245 into master will decrease coverage by 0.32%.
The diff coverage is 33.33%.

@@            Coverage Diff             @@
##           master     #245      +/-   ##
==========================================
- Coverage   74.94%   74.62%   -0.33%
==========================================
  Files          31       31
  Lines        4171     4177       +6
==========================================
- Hits         3126     3117       -9
- Misses       1045     1060      +15

Flag
Coverage Δ

#CHTTPParser
57.52% <ø> (ø)
:arrow_up:

#KituraNet
74.62% <33.33%> (-0.33%)
:arrow_down:

Impacted Files
Coverage Δ

Sources/KituraNet/ClientRequest.swift
83.5% <33.33%> (-1.04%)
:arrow_down:

...ces/KituraNet/Server/ServerLifecycleListener.swift
79.16% <0%> (-4.17%)
:arrow_down:

Sources/KituraNet/IncomingSocketHandler.swift
78.53% <0%> (-3.66%)
:arrow_down:

Sources/KituraNet/HTTP/HTTPServer.swift
79.88% <0%> (-1.12%)
:arrow_down:

Continue to review full report at Codecov.

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

Thanks for the PR!  Would this be better as a computed get/set property called timeout?

@Zig1375 I'm closing as inactive.  Please see Ian's comment above and reopen if you still wish to contribute.


.net core 2.2

<PropertyGroup>
<TargetFramework>netcoreapp2.2</TargetFramework>
<RuntimeIdentifier>win7-x64</RuntimeIdentifier>
</PropertyGroup>
2.2 still in preview. Please, fix to 2.1

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

ID: b0bd8cb8-7e28-8c4d-a550-3aea8f3ab4dd
Version Independent ID: 4b60d24e-ef05-15e5-10b4-483094081bf3
Content: Host ASP.NET Core in a Windows Service
Content Source: aspnetcore/host-and-deploy/windows-service.md
Product: aspnet-core
GitHub Login: @guardrex
Microsoft Alias: tdykstra

Hello @FiodorTretyakov ... That's by design. We're moving some of the samples to 2.2 in advance of the release. All you need to do is downgrade it to netcoreapp2.1.


Avoid False Positives Plugin: ArtifactoryDetector

ArtifactoryDetector plugins it's matching what it's expected but also generate false positives when that regexp it's a substring of another string.
By simply adding $ we avoid matching substring and still enforce the starting of the regexp.
Before:
re.compile(r'(?:\s|=|:|"|^)AKC[a-zA-Z0-9]{10,}') Matchs: AKChOBZmLqdWHyGcBssssd7bssskixTgm2E5P7KN/123456
This is a false positive as / is not part of the regexp.
Now:
re.compile(r'(?:\s|=|:|"|^)AKC[a-zA-Z0-9]{10,}'$) No Match: AKChOBZmLqdWHyGcBssssd7bssskixTgm2E5P7KN/123456
re.compile(r'(?:\s|=|:|"|^)AKC[a-zA-Z0-9]{10,}'$) Match: AKChOBZmLqdWHyGcBssssd7bssskixTgm2E5P7KN

@gabrielsoltz Hello. Can you please see my latest commit and verify that it satisfies your main objectives in this PR. Thanks

LGTM


Bug: Attachments not showing up when uploaded to a new page

Environment
Host
Tested with two instances of GROWI:

Item
Version

Dev Wiki
4.5.3

Item
Version

OS
MacOS Monterey

GROWI
4.5.4-RC.0

node.js
14.18.2

NPM
6.14.15

Using Docker
Yes

Using growi-docker-compose
Yes

Client

Item
Version

OS
MacOS Monterey

Browser
Google Chrome v.96.0.4664.110 (Official Build) (arm64)

How to reproduce?

Create a new wiki page and wait for the edit screen to show up (Don't press Create)
Upload an attachment to the new page

What happens?

The attachment will not show up on the edit page
The page contents will be replaced by an H1 text with the path of the page
The page is saved with the "Only Me" grant

What is the expected result?

The attachment will show up on the edit page, just like how it works when updating an existing page.
The page will be saved with the currently selected grant settings

Note

Has nothing to do with PR #4957 (The bug is present before merging the branch)
Works fine when adding an attachment to an existing page
The upload itself seems to be successful as it shows up on the Attachment Data tab on the View page.

@nakashimaki 検証ありがとうございました。再現しないと言うことで close します。


Suggestion: Can make scrollbar of the page look more attractive

Modify the scrollbar of the page, matching the theme of website.

I can work on this one, please assign this issue to me @jaydeepdey03


[Feature Request] Sound file played when initiated

Could a sound file be played when a Ready Check is initiated in the group? Ideally, more than one could be pointed at and randomly picked to play. I'm not sure if it'd be easier to have a fixed amount of entries (blank would play nothing) or a way of setting up a dynamic list so there would always be at least one and no empty entries.
The idea is blatantly copied from the WoW addon Comix which was hard-coded to use several possible (and included) sound files for the Ready Check.

Sounds are something that I had wanted to add (as long as the dependencies wouldn't be too bad), but at this point, it is unlikely that my plugins will recieve any further development.  I'm sorry for the trouble.
I'm sure that you probably already know this, but just in case: you can have an ACT trigger play a sound file.  If you use the Triggernometry plugin for ACT, you should be able to set up a trigger that does something like pick a random number to use as an index into a list of file names, and plays that sound file.

This plugin is no longer maintained by me.  The currently active fork should be https://github.com/Infiziert90/ReadyCheckHelper.  Closing this issue in preparation for archiving the repo.


Add options to generate a Flat Config

https://github.com/vuejs/create-vue/issues/451
Things I have yet to do:

[x] bin/create-eslint-config.js changes
[x] Check if any packages contain eslint:recommended or eslint:all
[x] Omit FlatCompat from default + JS + no Prettier
[x] Add compatibility for createAliasSetting
[x] Only add dependencies @eslint/js & @eslint/eslintrc when actually needed

Some questions:

With the --ext CLI flag gone, where should the file path match patterns come from? I think create-vue can set them, but what about the manual create use case? Should both get the same default files: []?
Since the --ignorePath CLI flag is gone, should ignore patterns now also be part of this project? If so, should that be in this PR?
How would I go about testing all of the different combinations? I'll start by manually creating a bunch of projects on my local machine I guess.

That's me done for today. Just tested one scenario and didn't encounter errors :)

npm create vue@latest with TS, router, pinia, ESLint and Prettier
pnpm i
pnpm add -D eslint@latest
Manually changed package.json to "lint": "eslint . --fix",
node ~/scratchpad/create-eslint-config/bin/create-eslint-config.js
/* eslint-env node */
import path from 'node:path'
import { fileURLToPath } from 'node:url'

import { FlatCompat } from '@eslint/eslintrc'
import pluginVue from 'eslint-plugin-vue'
import js from '@eslint/js'

const __filename = fileURLToPath(import.meta.url)
const __dirname = path.dirname(__filename)
const compat = new FlatCompat({
  baseDirectory: __dirname,
  recommendedConfig: js.configs.recommended
})

export default [
  ...pluginVue.configs['flat/essential'],
  js.configs.recommended,
  ...compat.extends('@vue/eslint-config-typescript'),
  ...compat.extends('@vue/eslint-config-prettier/skip-formatting'),
  {
    files: [],
    languageOptions: {
      ecmaVersion: 'latest'
    }
  }
]

Manually changed eslint.config.js to files: ['**/*.vue', '**/*.js', '**/*.jsx', '**/*.cjs', '**/*.mjs', '**/*.ts', '**/*.tsx', '**/*.cts', '**/*.mts'],
pnpm lint --> Success 🎉

I don't know for sure that all the rules work properly, but a nice first result.

This should now be ready for review!
As for now, I'll go and test the various configs in create-vue projects and report back with some results.

Back with some results. In general, the common configs seem to work.
The only parsing error I encountered was with scenario 8, which I haven't looked into.
You can view the results in this Gist: https://gist.github.com/JoostKersjes/0e6495987a74df8ebf4527f35d924e27

Just out of curiosity, why give the option of using the deprecated eslintrc? 🤔

Just out of curiosity, why give the option of using the deprecated eslintrc? 🤔

Made me think for a bit, thanks. I didn't want to be too disruptive with this MR so it could be more easily reviewed, so I didn't want to remove the old code.
From my perspective, the adoption of flat configs has been slower than I expected. Most of the packages aren't compatible and only have instructions for using an eslintrc config. This didn't give me a lot of confidence.
Using packages wrapped in FlatCompat wasn't as smooth as I hoped it to be when I did the ESLint v9 migration at work. I thought that it might be nice to opt out as long as the compatibility layer is needed.


If multiple popover containers are found on page, all are triggered

I understand this is an edge case, where I have to implemented this popover multiple times, because how my app is structured, but if you could change your element query to only select the first instance of .popupbox this would greatly help.

Though I did insert the  element on all views I know one would appear, and removed the reference from all other components. So that's a solution as well.

Hi! Sorry for my late reply. The container should be inserted only once, so there should be only one container instance in your app. The content will depend on open method's content parameter, which is required by default.
In my use case, when there is a need to implemented the popupbox multiple times with the same content (e.g. a logout message alert box), I will create a function that handle popupbox's open method with correct content (which means logout message for this example), then pass it to the the other components, so that I can simply call the function wherever I need to show the message.
Feel free to let me know if it can't solve your case.

Close this issue for now cause there is no more discussion.


Storage actual size filter

这个 PR 实现什么功能/修复什么问题:

是否需要 backport 到之前的 release 分支:

/hold
/area scheduler
/cc @swordqiu @wanyaoqi

3.4

Codecov Report

Merging #9521 (31631e8) into master (3eb25e6) will increase coverage by 10.59%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           master    #9521       +/-   ##
===========================================
+ Coverage    5.90%   16.50%   +10.59%
===========================================
  Files         843       87      -756
  Lines      130823     9120   -121703
===========================================
- Hits         7727     1505     -6222
+ Misses     122397     7483   -114914
+ Partials      699      132      -567

Flag
Coverage Δ

aFlag
16.50% <ø> (+10.59%)
:arrow_up:

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

Impacted Files
Coverage Δ

pkg/compute/models/policy_definition_resource.go

pkg/keystone/models/rolepolicies.go

pkg/cloudnet/utils/key.go

pkg/mcclient/options/k8s/app.go

pkg/compute/models/guestcdrom.go

pkg/apis/input.go

pkg/hostman/system_service/sdnagent.go

pkg/hostman/system_service/ntpd.go

pkg/mcclient/options/k8s/pod_template.go

pkg/multicloud/esxi/vnic.go

... and 746 more

Continue to review full report at Codecov.

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

/hold cancel

/lgtm

/lgtm

/lgtm

/approve

/approve


Refresh OAuth token only on user interaction

This mitigates a clear security concern. Rather than refresh the OAuth token as long as the window is open, only refresh if there has been some recent user interaction (within the past 22.5 minutes).

Coverage decreased (-0.09%) to 46.738% when pulling 82589e19fc7cace6047e68ceb1d8b8bdab542322 on asauber:refresh-oauth-on-interaction into 74941fbc5a051994db59790c1dc472a38b61c53f on linode:develop.


DAWN-645 ⁃ Can a non-producing or standby node be a failover block producer?

(this ticket is based on comments and questions from the Block Producers call that Thomas managed on Feb 23, 2018)
See Page 35 on attached PDF. [^Block Producer Candidates Q&A #1 (23-Feb-2018).pdf]
Can a secondary node be used as a failover node block producer that in the event of a block producer failure?
Can we update the config.ini on the backup and restart or is there an automatic failover service we could write so the secondary/backup server simply takes over without intervention and is voted in as a block producer?
Could a secondary node be running in parallel, either as a non-producing node that keeps up to date with all blocks and all contracts states in RAM
Another way of describing a solution:  Could there be a secondary server with the same username on two machines, effectively 2 block producers, one is "nulled" (on standby) until the primary dies.  If we currently start 2 block producers with the same username, it does not work.  How could that work?
There a many people concerned about the block producers and failover.
Eric (from the February 23rd BP call at 19:15 into the video) offered to go into more detail on this if possible.
┆Attachments: Block Producer Candidates Q&A #1 (23-Feb-2018).pdf

The answers can be found in the attached pdf


incognito window and env

hey,
I wanted to be able to open a new incognito window.
I also wanted to pass in environment variable. The golang runtime might pass them around, but i feel like this is insecure. is it ? its rather important i can make sure my environment variable reaches the started window.
Like #13 says i think some options capabilities might do it.

i found out this works here
firefox -private-window
chromium-browser --incognito
chromium-browser -incognito
same for google-chrome -incognito
here it says edge uses -private https://www.top-password.com/blog/open-edge-in-private-mode-in-windows-10/


Emit K8s events for major events

Summary
If we are logging major events, we should also emit K8s events so we can see those in kubectl get events command
Use Cases
Debugging and monitoring

Message from the maintainers:
If you wish to see this enhancement implemented please add a 👍 reaction to this issue! We often sort issues this way to know what to prioritize.

This events should include both system and user namespace.


Profile FLOP Utilization on TPU

measure FLOP (via the $6ND$ calculation)  utilization for either GPT-2 or the “tutorial transformer” at various scales, and ideally get up to 65B
Tutorial Transformer: https://colab.research.google.com/drive/1QX4yH3zRFF3Xiibf1aahETcSQ5nbcUMz?usp=sharing
Tracking Sheet: https://docs.google.com/spreadsheets/d/1xFiZk0p5OtEuT7kfK7IZRgLgQ6QVXN4DBf7NySvzERw/edit#gid=0

I profiled a GPT2-Small training job on V3-32 for 100 steps. I saved the profiled outputs here: gsutil ls gs://levanter-data/dev/ivan/profiling/gpt2_small_100_steps_0610/. Note that it contains 4 different folders from 4 hosts (4x v3-8)
$ gsutil ls gs://levanter-data/dev/ivan/profiling/gpt2_small_100_steps_0610/
gs://levanter-data/dev/ivan/profiling/gpt2_small_100_steps_0610/2023_06_10_23_53_17/
gs://levanter-data/dev/ivan/profiling/gpt2_small_100_steps_0610/2023_06_10_23_53_18/
gs://levanter-data/dev/ivan/profiling/gpt2_small_100_steps_0610/2023_06_10_23_53_44/
gs://levanter-data/dev/ivan/profiling/gpt2_small_100_steps_0610/2023_06_10_23_53_45/

To view the profile files on Tensorboard, here's the setup needed:

Install the latest tensorflow, tensorboard, and tensorboard-plugin-profile. Plugin profile is needed to view the profiler results page; otherwise, Tensorboard will complain that There’s no dashboard by the name of “profile”. Tensorflow is needed for profile plugin to work.

pip install --upgrade tensorflow tensorboard tensorboard-plugin-profile

You need to downgrade protobuf to 3.20.*

pip install protobuf==3.20.3

Otherwise, it cannot load the profile plugin, as shown in the error message below:
File "/nlp/scr/ivanzhou/miniconda3/envs/levanter/lib/python3.10/site-packages/tensorboard_plugin_profile/convert/raw_to_tool_data.py", line 29, in <module>
    from tensorboard_plugin_profile.convert import input_pipeline_proto_to_gviz
  File "/nlp/scr/ivanzhou/miniconda3/envs/levanter/lib/python3.10/site-packages/tensorboard_plugin_profile/convert/input_pipeline_proto_to_gviz.py", line 28, in <module>
    from tensorboard_plugin_profile.protobuf import input_pipeline_pb2
  File "/nlp/scr/ivanzhou/miniconda3/envs/levanter/lib/python3.10/site-packages/tensorboard_plugin_profile/protobuf/input_pipeline_pb2.py", line 17, in <module>
    from tensorboard_plugin_profile.protobuf import diagnostics_pb2 as plugin_dot_tensorboard__plugin__profile_dot_protobuf_dot_diagnostics__pb2
  File "/nlp/scr/ivanzhou/miniconda3/envs/levanter/lib/python3.10/site-packages/tensorboard_plugin_profile/protobuf/diagnostics_pb2.py", line 36, in <module>
    _descriptor.FieldDescriptor(
  File "/nlp/scr/ivanzhou/miniconda3/envs/levanter/lib/python3.10/site-packages/google/protobuf/descriptor.py", line 561, in __new__
    _message.Message._CheckCalledFromGeneratedFile()
TypeError: Descriptors cannot not be created directly.
If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0.
If you cannot immediately regenerate your protos, some other possible workarounds are:
 1. Downgrade the protobuf package to 3.20.x or lower.
 2. Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower).

I don't think it is necessary to set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python. It will make the loading very, very slow, given the large file we have.

This is how I set up the profiler: https://github.com/stanford-crfm/levanter/blob/3431a2864bebe9937d8f959048ad844c70357a98/examples/gpt2_example.py#L275-L278

start_server allows to view the profiler results during training.
start_trace and stop_trace allows to save profiler files at the end of the training.

great! probably good to throw this in too https://jax.readthedocs.io/en/latest/_autosummary/jax.profiler.StepTraceAnnotation.html#jax.profiler.StepTraceAnnotation


Add Envoy filter types so typed_config can be used when configuring EnvoyFilters

Import the Envoy filter packages to make sure the init method for each of them is called and the proto messages they define are properly registered.
This is needed when unmarshaling the EnvoyFilter patches, as the configuration objects may contain typed_config that needs to be properly deserialized. Without this patch an unknown type: <type> appears when configuring EnvoyFilters that define the typed_config property.

Hi @nacx. Thanks for your PR.
I'm waiting for a istio member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
Once the patch is verified, the new status will be reflected by the ok-to-test label.
I understand the commands that are listed here.

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.

/ok-to-test

@nacx: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

gencheck_istio
58497e1a45d78cacd26227bfee14aafe902b58db
link
/test gencheck_istio

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.

@nacx: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

gencheck_istio
58497e1a45d78cacd26227bfee14aafe902b58db
link
/test gencheck_istio

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.

@nacx: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

gencheck_istio
58497e1a45d78cacd26227bfee14aafe902b58db
link
/test gencheck_istio

integ-istioio-k8s-tests_istio
58497e1a45d78cacd26227bfee14aafe902b58db
link
/test integ-istioio-k8s-tests_istio

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.

@nacx: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

gencheck_istio
58497e1a45d78cacd26227bfee14aafe902b58db
link
/test gencheck_istio

integ-istioio-k8s-tests_istio
58497e1a45d78cacd26227bfee14aafe902b58db
link
/test integ-istioio-k8s-tests_istio

integ-galley-k8s-tests_istio
58497e1a45d78cacd26227bfee14aafe902b58db
link
/test integ-galley-k8s-tests_istio

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.


English translation

It looks a really interesting project. I'd appreciate a English translation of this.

Thanks for your advice.
Let me introduce this project a little here.
This is yet a lite mall system as it is named "litemall", which contains two parts.
The first part is mall management platform, which is implemented by spring boot (back end) and vue (front end). Admin can use this platform to add goods and other work.
The second part is wechat user platform, which is implemented by spring boot (back end) and miniprogram (front end). The mall users can use the wechat app and search the litemall plugin for shopping.
However, I think it may be useless to translate into English. Miniprogram language is dedicated web language developed by tencent company, and can only be used in its wechat app. You can learn more from this site https://developers.weixin.qq.com/miniprogram/en/dev/index.html.

Yes, seems like the project as whole doesn't make much sense in English indeed, however the combination of technologies and how they integrate with each other looks interesting and can inspire people to use same technologies(myself included)
Anyway, I understand your point, congrats for the project.

Actually I have a plan to implement user mobile web app in the future release, based on vue stack. Then packet this web app into Android or iOS platform using apache cordova or other technology. I think it shall be a very interesting experiment. At that time, it will be the right time to translate into English.
Anyway I suggest you may try this vue admin https://github.com/PanJiaChen/vue-element-admin. The litemall admin platform is based on this project.


Multiple ServiceProfiler instances may be created at a time

While debugging a potential memory leak in the CoreCLR runtime / ServiceProfiler I ran across few times when there are more than a single ServiceProfiler session tracked by the runtime:
[0] = {
    Volatile<EventPipeSession *> = (m_val = 0x00007fcf5c018250)
  }
[1] = {
    Volatile<EventPipeSession *> = (m_val = 0x00007fcfe0001610)
  }
[2] = {
    Volatile<EventPipeSession *> = (m_val = 0x00007fcf202a93c0)
  }

Of these, two of them are from ServiceProfiler:
(lldb) print *(EventPipeSession*)(0x00007fcf5c018250)
(EventPipeSession) $6 = {
  m_index = 0
  m_pProviderList = 0x00007fcf5c4046a0
  m_pBufferManager = 0x00007fcf5c025930
  m_rundownEnabled = (m_val = false)
  m_SessionType = File
  m_format = NetPerfV3

(lldb) print *(EventPipeSession*)(0x00007fcf202a93c0)
(EventPipeSession) $8 = {
  m_index = 2
  m_pProviderList = 0x00007fcf20018b70
  m_pBufferManager = 0x00007fcf200009f0
  m_rundownEnabled = (m_val = false)
  m_SessionType = File
  m_format = NetPerfV3

The configuration I used to set up ServiceProfiler is shown below:
services.AddServiceProfiler(options =>
{
    options.Duration = TimeSpan.FromSeconds(300);
    options.RandomProfilingOverhead = 0.5f;
});

@sywhang Thanks for the info. I'll take a look.

Thanks again for the report. Fix released in:

Microsoft.ApplicationInsights.Profiler.AspNetCore/2.1.0-beta2


Version bump

Preparing to release new versions of the cryptoki crates.
(The version number of cryptoki had already been changed.)
cc @vkkoskie @ximon18

Looks good to me! Would be nice if @vkkoskie can give their green light, since they did so many changes and plans for the crate recently

My apologies for being silent so long. I was trying to take "holiday" as seriously as possible and took a break from hobby coding for a while. I have no objections.
Is the plan to publish immediately, or merge #68 first? I'll be responding there next.

Happy to see you back! :D
There is no plan - I think it mostly depends on whether you have some personal projects that depend on #68 being in the next release. Otherwise I'd lean towards releasing as-is, since @ximon18 (who requested the release) has already updated some of his crates to work with the tip of main, and I think #68 would mean a lot more changes to deal with :)

Okay, I've published 0.3.0 of cryptoki and 0.1.3 of cryptoki-sys.
@vkkoskie - if you'd like #68 into a release ASAP I'm happy to do a 0.4.0 of cryptoki right after the merge.

No rush. I was thinking that having one breaking publication would be better than two from the perspective of having to update client code, but that's clearly not the case here.

@ionut-arm Uh, oh. 😉 It looks like you had 0.4.0 on the mind when you updated the Changelog file for 0.3.0.

oops 😅 Will fix in a future PR! Thanks for noticing!!


Tooltip could crash during runtime because of preconditionFailure()

Environment Information

Platform:

[x] iOS: any
[x] macOS: any

Package version(s): (fill this out, include which package manager you're using): latest
Xcode and OS versions: (fill this out if relevant): any version supported

Please provide a reproduction of the bug:
The anchorView's window can be nil when it got removed from the view hierarchy.
In this situation, preconditionFailure() will lead to runtime crash.
Since Tooltip isn't a critical UI for most business logic, should we crash the app when this exception happens?
I searched for preconditionFailure() in this repo (https://github.com/microsoft/fluentui-apple/search?p=1&q=preconditionFailure) and found that most of its use is for unimplemented initializers.
Actual behavior:
Tooltip could crash the app.
Expected behavior:
This UI component shouldn't crash app. Or at least, we can have an alternative to crash (runtime error log?)
Priorities and help requested:
Are you willing to submit a PR to fix? No. Or yes if we have a clear path to fix it.
Requested priority: Normal

Thanks for the feedback. runtime error log is bit messy to do as a shared UI library because each client team might have different way of error logging and most of the time developers tend to ignore logs on the console. I think author's thoughts were to make sure clients understand the tooltip is actually showing on a valid anchor view and crashing might be the best way to debug user scenarios if things are not shown in intended way.

Thanks @harrieshin!
Yeah, I agree the anchorView should be in the view hierarchy (and the window of it shouldn't be nil) while showing Tooltip.
This should be a precondition.
Could we consider other alternative approach? Like returning a Result<Void, Error> enum to make it more flexible?
In large apps, the view hierarchy could be complex. As a result, when Tooltip.show() is executed by the runloop, the anchorView.window might be nil even if the developer is very careful about it.


Deprecated icons used through-out the code!

Describe the bug
As Microsoft has declared icon codes ranging E0** - E5** as deprecated (1) who-knows-how-long-ago, Microsoft should follow their own rules. Yet, up till now, there are loads of icon codes used in the repo. This is mostly notable in CJK context, where these icons show as "garbled chinese" characters. I've seen cases of people showing this bad UI even in the search bar in Windows Explorer. One of the most "core" things of Windows!

Steps to reproduce the bug
it's the code
Screenshots

Additional context

old icon
appearance
new icon

E001
✔
E73E

10A
✖

8BB ~close~

947 ~multiply~

→
894 clear

711 ~cancel~

052
👁
F78D

26B
chev.R.small
970

26C
chev.L.small
96F

0E2
chev.L
76B

0E3
chev.R
76C

0E4
chev.U
70E

0E5
chev.D
70D

094,11A
🔎
721

00B
🖤
B52

115
⚙
713

Random example:

FYI @MarissaMatt @licanhua @codendone @StephenLPeters
This should be high priority imo

@crutkas You know I've been pushing for this for a long time now - here & there. For some reason, it looks like this isn't getting much traction yet. If you see the weight of this issue, is there somebody "at the office" you would like to bring this to attention? Or should I do this myself?

Are y'all ignoring me or something?

Ping @kmahone

Hi @Jay-o-Way, thanks for reporting.
@karkarl is investigating this.

This was fixed in 1.4.  Old codepoints are currently being translated to the new ones.


Debug builds fail to link on Windows

Brave version: 1.4.8
Operating system: Windows 10

Debug builds fail at the linking stage with this error:
brave_lib.lib(brave_lib.profile_writer.obj) : error LNK2019: unresolved external symbol "public: __cdecl TemplateURL::~TemplateURL(void)" (??1TemplateURL@@QEAA@XZ) referenced in function "public: void * __cdecl TemplateURL::`scalar deleting destructor'(unsigned int)" (??_GTemplateURL@@QEAAPEAXI@Z)
brave.exe : fatal error LNK1120: 1 unresolved externals

Looks related to the importer code that was added in #57

thanks! I had been testing on windows 7 and the debug builds didn't work at all so I didn't bother to fix the linking issues, but I until recently I didn't realize they worked correctly on win10 so we'll get this fixed

cc @darkdh


[Compile]: Gradle 8.4 dont compile

Operating System
Mac OS Seqouia
Plugin
device_info_plus
Version
11.0.0
Flutter SDK
3.24.3
Compilation command
./gradlew clean
./gradlew build --refresh-dependencies
Dart Dependencies
No response
Native dependencies
No response
Compilation Error
> Task :device_info_plus:lintDebug FAILED
Lint found 1 errors, 3 warnings. First failure:

/Users/arrrrny/.pub-cache/hosted/pub.dev/device_info_plus-11.0.0/android/src/main/kotlin/dev/fluttercommunity/plus/device_info/MethodCallHandlerImpl.kt:70: Error: Missing permissions required by Build.getSerial: android.permission.READ_PRIVILEGED_PHONE_STATE [MissingPermission]
                    Build.getSerial()
                    ~~~~~~~~~~~~~~~~~

   Explanation for issues of type "MissingPermission":
   This check scans through your code and libraries and looks at the APIs
   being used, and checks this against the set of permissions required to
   access those APIs. If the code using those APIs is called at runtime, then
   the program will crash.

   Furthermore, for permissions that are revocable (with targetSdkVersion 23),
   client code must also be prepared to handle the calls throwing an exception
   if the user rejects the request for permission at runtime.

The full lint text report is located at:
  /Users/arrrrny/Developer/zikzak/build/device_info_plus/intermediates/lint_intermediate_text_report/debug/lintReportDebug/lint-results-debug.txt

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':device_info_plus:lintDebug'.
> Lint found errors in the project; aborting build.

  Fix the issues identified by lint, or create a baseline to see only new errors.
  To create a baseline, run `gradlew updateLintBaseline` after adding the following to the module's build.gradle file:

  android {
      lint {
          baseline = file("lint-baseline.xml")
      }
  }

For more details, see https://developer.android.com/studio/write/lint#snapshot
Lint found 1 errors, 3 warnings. First failure:
/Users/arrrrny/.pub-cache/hosted/pub.dev/device_info_plus-11.0.0/android/src/main/kotlin/dev/fluttercommunity/plus/device_info/MethodCallHandlerImpl.kt:70: Error: Missing permissions required by Build.getSerial: android.permission.READ_PRIVILEGED_PHONE_STATE [MissingPermission]
Build.getSerial()
~~~~~~~~~~~~~~~~~
 Explanation for issues of type "MissingPermission":
 This check scans through your code and libraries and looks at the APIs
 being used, and checks this against the set of permissions required to
 access those APIs. If the code using those APIs is called at runtime, then
 the program will crash.

 Furthermore, for permissions that are revocable (with targetSdkVersion 23),
 client code must also be prepared to handle the calls throwing an exception
 if the user rejects the request for permission at runtime.

The full lint text report is located at:
/Users/arrrrny/Developer/zikzak/build/device_info_plus/intermediates/lint_intermediate_text_report/debug/lintReportDebug/lint-results-debug.txt

### Flutter Doctor

```shell
~/D/z/android ❯❯❯ flutter doctor -v
[✓] Flutter (Channel stable, 3.24.3, on macOS 15.0.1 24A348
    darwin-arm64, locale en-TR)
    • Flutter version 3.24.3 on channel stable at
      /Users/arrrrny/fvm/versions/stable
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 2663184aa7 (4 weeks ago), 2024-09-11
      16:27:48 -0500
    • Engine revision 36335019a8
    • Dart version 3.5.3
    • DevTools version 2.37.3

[✓] Android toolchain - develop for Android devices (Android SDK
    version 35.0.0)
    • Android SDK at /Users/arrrrny/Library/Android/sdk
    • Platform android-35, build-tools 35.0.0
    • ANDROID_HOME = /Users/arrrrny/Library/Android/sdk
    • Java binary at:
<EMAIL_ADDRESS>      k/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment Homebrew (build
      17.0.12+0)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 16.0)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 16A242d
    • CocoaPods version 1.15.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google
      Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2024.2)
    • Android Studio at /Applications/Android
      Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build
      21.0.3+-79915917-b509.11)

[✓] VS Code (version 1.94.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.98.0

[✓] Connected device (5 available)
    • sdk gphone64 arm64 (mobile)     • emulator-5554
      • android-arm64  • Android 13 (API 33) (emulator)
    • ARRRRNY (mobile)                •
      00008101-00115C381E10801E • ios            • iOS 18.0.1
      22A3370
    • macOS (desktop)                 • macos
      • darwin-arm64   • macOS 15.0.1 24A348 darwin-arm64
    • Mac Designed for iPad (desktop) • mac-designed-for-ipad
      • darwin         • macOS 15.0.1 24A348 darwin-arm64
    • Chrome (web)                    • chrome
      • web-javascript • Google Chrome 129.0.6668.100

[✓] Network resources
    • All expected network resources are available.

• No issues found!

Checklist before submitting a bug

[X] I searched issues in this repository and couldn't find such bug/problem
[X] I Google'd a solution and I couldn't find it
[X] I searched on StackOverflow for a solution and I couldn't find it
[X] I read the README.md file of the plugin
[X] I'm using the latest version of the plugin
[X] All dependencies are up to date with flutter pub upgrade
[X] I did a flutter clean
[X] I tried running the example project

I added the lintOptions as mentioned in the https://github.com/fluttercommunity/plus_plugins/issues/1986.
lintOptions {
      disable 'MissingPermission'
}

But it did not build when I run. Example app is missing the gradlew folder, I needed to run flutter create .
Then within the android folder run below:
./gradlew clean
./gradlew build --refresh-dependencies

You will get exactly the same error as below:

Task :device_info_plus:lintReportDebug
Wrote HTML report to file:///Users/arrrrny/Developer/sandbox/fluttercommunity%20plus_plugins%20main%20packages-device_info_plus/device_info_plus/example/build/device_info_plus/reports/lint-results-debug.html

Task :device_info_plus:lintDebug FAILED
Lint found 1 errors, 3 warnings. First failure:

/Users/arrrrny/.pub-cache/hosted/pub.dev/device_info_plus-11.0.0/android/src/main/kotlin/dev/fluttercommunity/plus/device_info/MethodCallHandlerImpl.kt:70: Error: Missing permissions required by Build.getSerial: android.permission.READ_PRIVILEGED_PHONE_STATE [MissingPermission]
Build.getSerial()
~~~~~~~~~~~~~~~~~
Explanation for issues of type "MissingPermission":
This check scans through your code and libraries and looks at the APIs
being used, and checks this against the set of permissions required to
access those APIs. If the code using those APIs is called at runtime, then
the program will crash.
Furthermore, for permissions that are revocable (with targetSdkVersion 23),
client code must also be prepared to handle the calls throwing an exception
if the user rejects the request for permission at runtime.
The full lint text report is located at:
/Users/arrrrny/Developer/sandbox/fluttercommunity plus_plugins main packages-device_info_plus/device_info_plus/example/build/device_info_plus/intermediates/lint_intermediate_text_report/debug/lintReportDebug/lint-results-debug.txt
FAILURE: Build failed with an exception.

What went wrong:
Execution failed for task ':device_info_plus:lintDebug'.

Lint found errors in the project; aborting build.

Fix the issues identified by lint, or create a baseline to see only new errors.
To create a baseline, run gradlew updateLintBaseline after adding the following to the module's build.gradle file:
android {
    lint {
        baseline = file("lint-baseline.xml")
    }
}

For more details, see https://developer.android.com/studio/write/lint#snapshot
Lint found 1 errors, 3 warnings. First failure:
/Users/arrrrny/.pub-cache/hosted/pub.dev/device_info_plus-11.0.0/android/src/main/kotlin/dev/fluttercommunity/plus/device_info/MethodCallHandlerImpl.kt:70: Error: Missing permissions required by Build.getSerial: android.permission.READ_PRIVILEGED_PHONE_STATE [MissingPermission]
Build.getSerial()
~~~~~~~~~~~~~~~~~
 Explanation for issues of type "MissingPermission":
 This check scans through your code and libraries and looks at the APIs
 being used, and checks this against the set of permissions required to
 access those APIs. If the code using those APIs is called at runtime, then
 the program will crash.

 Furthermore, for permissions that are revocable (with targetSdkVersion 23),
 client code must also be prepared to handle the calls throwing an exception
 if the user rejects the request for permission at runtime.

The full lint text report is located at:
/Users/arrrrny/Developer/sandbox/fluttercommunity plus_plugins main packages-device_info_plus/device_info_plus/example/build/device_info_plus/intermediates/lint_intermediate_text_report/debug/lintReportDebug/lint-results-debug.txt
Here is the content of the debug:
/Users/arrrrny/.pub-cache/hosted/pub.dev/device_info_plus-11.0.0/android/src/main/kotlin/dev/fluttercommunity/plus/device_info/MethodCallHandlerImpl.kt:70: Error: Missing permissions required by Build.getSerial: android.permission.READ_PRIVILEGED_PHONE_STATE [MissingPermission]
                    Build.getSerial()
                    ~~~~~~~~~~~~~~~~~

   Explanation for issues of type "MissingPermission":
   This check scans through your code and libraries and looks at the APIs
   being used, and checks this against the set of permissions required to
   access those APIs. If the code using those APIs is called at runtime, then
   the program will crash.

   Furthermore, for permissions that are revocable (with targetSdkVersion 23),
   client code must also be prepared to handle the calls throwing an exception
   if the user rejects the request for permission at runtime.

/Users/arrrrny/.pub-cache/hosted/pub.dev/device_info_plus-11.0.0/android/build.gradle:12: Warning: A newer version of com.android.tools.build:gradle than 8.3.1 is available: 8.7.0. (There is also a newer version of 8.3.𝑥 available, if upgrading to 8.7.0 is difficult: 8.3.2) [AndroidGradlePluginVersion]
        classpath 'com.android.tools.build:gradle:8.3.1'
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

   Explanation for issues of type "AndroidGradlePluginVersion":
   This detector looks for usage of the Android Gradle Plugin where the
   version you are using is not the current stable release. Using older
   versions is fine, and there are cases where you deliberately want to stick
   with an older version. However, you may simply not be aware that a more
   recent version is available, and that is what this lint check helps find.

/Users/arrrrny/.pub-cache/hosted/pub.dev/device_info_plus-11.0.0/android/build.gradle:51: Warning: A newer version of org.jetbrains.kotlin:kotlin-stdlib than 1.8.22 is available: 2.0.20 [GradleDependency]
        implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

   Explanation for issues of type "GradleDependency":
   This detector looks for usages of libraries where the version you are using
   is not the current stable release. Using older versions is fine, and there
   are cases where you deliberately want to stick with an older version.
   However, you may simply not be aware that a more recent version is
   available, and that is what this lint check helps find.

/Users/arrrrny/.pub-cache/hosted/pub.dev/device_info_plus-11.0.0/android/src/main/kotlin/dev/fluttercommunity/plus/device_info/MethodCallHandlerImpl.kt:75: Warning: Using SERIAL to get device identifiers is not recommended [HardwareIds]
                build["serialNumber"] = Build.SERIAL
                                              ~~~~~~

   Explanation for issues of type "HardwareIds":
   Using these device identifiers is not recommended other than for high value
   fraud prevention and advanced telephony use-cases. For advertising
   use-cases, use AdvertisingIdClient$Info#getId and for analytics, use
   InstanceId#getId.

   https://developer.android.com/training/articles/user-data-ids.html

1 errors, 3 warnings

New version of device_info_plus is released with the fix, so closing as resolved.


Added table for viewing member hours

Only viewable to super users. Future plans include adding a toggle between card view and table view along with making the columns sortable.

LGTM!


Remove disclaimer step from connect wallet

it's one additional step, lets make it easier for the user to connect the wallet

the disclaimer will be moved to the connected wallet step itself

like this:

dark mode respects color pairs
updated in small things handoff: https://www.figma.com/file/JXNtryaNYhY0XJNArzvPQx/Handoff?type=design&node-id=7850-37011&mode=design&t=t61QGwlS2c4TGFw3-11

👋


bugtool: enhance dumping Envoy information

Currently, during a Cilium sysdump the bugtool dumps the full Envoy config and prometheus metrics.
In some cases it would be nice to have some information about listeners and clusters easier at hand.
Therefore this commit extends the bugtool to dump the listeners, clusters and server_info that are available though the Envoy admin interface during a sysdump.

/test


Calendar cuts off

I have an issue, when months cuts off.
this issue is caused only on iOS 11.0.2.

calendarOutlet.headerHeight = kMonthHeaderHeight


Windows Defender blocks 1.2 Beta 2 (Behavior:Win32/Execution.UE!ml)

Windows Defender deleted the Version 1.2 Beta 2 .scr file because it detected a threat called Behavior:Win32/Execution.UE!ml.
Something about the recent changes is deemed "suspicious". I can submit it as a false alarm, but perhaps it can be avoided?

Doesn't come up in the VirusTotal results, but it did for me on Windows 10. I've submitted it to Microsoft as an incorrect detection just now.

Doesn't come up in the VirusTotal results, but it did for me on Windows 10. I've submitted it to Microsoft as an incorrect detection just now.

The analysis was completed, and Microsoft has removed the detection.
Hope it won't bother anyone else now.

The analysis was completed, and Microsoft has removed the detection.
Hope it won't bother anyone else now.

Excellent! Thanks Rob!

Excellent! Thanks Rob!


A problem with counters (and probably states).

Description
Hello guys.
I'm making a template for my University notes but faced a problem.
First I explain how it works and how it looks.
Here i call my custom function called the "double_section" from the main typst file:
// This is the main file
= جلسه اول
#tool.double_section()[
    #tool.example()[]
][
    #tool.example()[]
]
#tool.example()[]
#tool.example()[]

Which is a simple function implemented as follows:
// This function is in a file named "tool.typ".
#let double_section(content1, content2) = {
    block(below: 1em)[
        #grid(
            columns: (1fr, 1fr),
            gutter: 1em,
            content1,
            content2
        )
    ]
}

The output of the 4 times calling the "example()" function are the 4 purple sections which are shown in the following image:

And the example function itself is implemented as follows:
// This function is also in the "tool.typ" file.
#let example(content, black_and_white: false, pause: false, continuation: false, enable_counter: true) = {
    context {
        let title = "مثال"

        // Some of my notes examples might not need a counter... So I check if it's needed.
        if enable_counter {
            let headings_counter = counter("heading")
            let section_counter = counter("example")

            // Counts the number of level 1 headers before the call of this function.
            let headings_before_here_count = query(selector(heading.where(level: 1)).before(here())).len()

            // If the number of level 1 headers before the call of this function (I mean the "example" function)
            // increases, It means we've entered a new (for example) chapter and the "section_counter"
            // should reset for the new chapter.
            if headings_before_here_count > headings_counter.get().first() {
                headings_counter.update(headings_before_here_count)
                section_counter.update(0)
            }

            section_counter.step()

            // All of this work was to make my titles have numbering... which is appended to the "title" variable
            title += " " + text(stylistic-set: 2)[#headings_before_here_count.#context section_counter.display()]
        }

        // Might not be important... (It makes the example boxes)
        section_template(title: title, content, black_and_white: black_and_white, icon_paths: ("../../icons/circle-dot.svg",), icon_color: purple_color, pause: pause, continuation: continuation)
    }
}

At first glance, It looks like everything is OK, but the problem is shown in the following image:

As you can see, the numbering of the first 2 example sections are incorrect. They should be shown like the black boxes above them but for some reason they don't.
This problem doesn't occur when the example sections aren't in the same line (The last 2 sections are OK as you can see).
I think the reason for this problem might be because of how the Typst rendering system works. It actually renders from left to right even if the text direction is set to rtl. And it effects the evaluation of counters which I used for numberings... ( I might be totally wrong and it might not be a bug. Sorry if the problem is from misunderstanding )
I will be really grateful if anybody can help me how to solve this problem :D
EDIT: I made a simpler version you can test in the following URL:
Reproduction URL
https://typst.app/project/r-sxtu-nDbVUfWToCzcEwi
Operating system
Linux
Typst version

[x] I am using the latest version of Typst

Superseded by https://github.com/typst/typst/issues/5178


[dvsim] Fix for #2686 - missing else

Testplan milestones (V1, V2, V3) are also regression targets (one can
run all V2 tests for instance by passing the switch -i V2). It could
be possible that the tests added to the testplan to one of these
milestones could actually be missing (yet to be developed) in the
simulation config hjson.
When that is true, invoking dvsim results in the error messages reported
in #2686. The fix for this is a missing else clause. With this, the test_obj
is appended to the list of tests within the regression object only if it was
actually constructed (and is not None).
Signed-off-by: Srikrishna Iyer<EMAIL_ADDRESS>

Looks good to me. I would consider writing it the other way:
for element in collection:
    if something_went_wrong():
        log_error()
        continue
    collect_object()

because then the error checking is more decoupled from the "collect up test objects" logic. But I don't have strong feelings, and this code is (obviously) equivalent.

Sure, done.


Enable usage of experimental incremental compiler for web

Description
Enables the usage of the incremental compiler for web builds, behind the configuration --[no-]enable-web-incremental-compiler. This is available everywhere web is, but not on by default.
Known issues:

plugins don't work

~Init logic is not quite right, we're calling main before fully initialized.~
~frontend_server can't handle package entrypoints. I have a fix pending in the dart SDK I need to land and roll through.~

~Fixed by https://dart-review.googlesource.com/c/sdk/+/122560~

debugging/vmservice isn't supported. Need to work with BaT to figure out a strategy here, this was determined to not be a blocker for the initial preview.
~SourceMaps are not being written as part of the build.~

~Will be fixed by https://dart-review.googlesource.com/c/sdk/+/122560~

Doesn't currently work with builders: key
~Total time is not correct. Needs to wait for the next window  frame callback~

It looks like this doesn't respect the builders configuration yet from playing around with it.

Thanks! updated the list of issues

It also looks like the JS files are currently loaded at the .dart paths, and not .js paths - that might have something to do with why sourcemaps aren't working :)

I'm not actually writing the source maps at all, I opened https://dart-review.googlesource.com/c/sdk/+/122560 to fix that.

Not that one, this one: https://dart-review.googlesource.com/c/sdk/+/123360

Filled https://github.com/flutter/flutter/issues/44231 and https://github.com/flutter/flutter/issues/44230 for some of the remaining issues

I've updated the existing web integration test to support being run using chrome on cirrus. This should prevent the previous devicelab issues where certain test failures would start pilling up chrome processes

Looks like I can't run it on cirrus, will run it on devicelab chrome


Fixed broken search of series names

The current series search mechanism is broken. This fix is using the current method the web interface is working with: loading a JSON file beforehand, then searching it accordingly.
In the future, it would be better to preload it only once, when we start the console app, but for now it downloads the JSON file every time when performing a search.
Nevertheless: the search is currently working with the suggested fix.

@yairp03 I'm not sure if it's something on my end or not. The failed test is due to this line:
Assert.AreEqual(75, (await driver.SearchSeries("ana")).Count());
It returns 77 shows instead of 75. There are 2 options: My comparison is different from what you've done before, or 2 more shows with 'ana' were added to Sdarot (which makes sense to me).
My comparison logic is pretty simple: it retrieves any show that contains the searched string, and ignore the case. It also checks for this string both in the English and Hebrew naming properties.
I will update the testing to look for 77 shows (instead of 75), by I'm not sure if the testing in general supposed to test for an exact number if it keeps changing (and it probably will). Let me know what you thing.
Let me know if there's anything else we want in order to merge this update, as the latest release is currently unusable without this fix.

Hey, your fix is great, I need to change the tests to be more general.
Let me review the commits and then we'll proceed


IBFT PoS v3 tests port

Description
This PR is meant to port over tests from the ibft-pos-v2 and ibft-pos branches, as well as add further support for querying / adding new tests.
Changes include

[ ] Bugfix (non-breaking change that solves an issue)
[x] New feature (non-breaking change that adds functionality)
[ ] Breaking change (change that is not backwards-compatible and/or changes current functionality)

Checklist

[x] I have assigned this PR to myself
[x] I have added at least 1 reviewer
[x] I have tested this code
[ ] I have updated the README and other relevant documents (guides...)
[x] I have added sufficient documentation both in code, as well as in the READMEs

@lazartravica
Good catch 💯
I've added the constraint, as well as a brief explanation as to why it exists 👍
971e3fd