[BUG] Out of memory on dual 3090 setup

OS
Windows
GPU Library
CUDA 12.x
Python version
3.11
Pytorch version
2.4.1+cu121
Model
No response
Describe the bug
Running out of memory when loading large model in dual GPU setup. Tried auto split as well as manual split [20,24]
Reproduction steps
Load model
Expected behavior
Model should have been offloaded across both GPUs with enough memory
Logs
INFO:     Unloading existing model.
INFO:     Model unloaded.
WARNING:  The given cache_size (4096) is less than 2 * max_seq_len and may be too small for requests using CFG.
WARNING:  Ignore this warning if you do not plan on using CFG.
INFO:     Attempting to load a prompt template if present.
INFO:     Using template "from_tokenizer_config" for chat completions.
INFO:     Loading draft model: C:\Users\Joshua\Downloads\tabbyAPI\models\Llama-3.1-Nemotron-70B-Instruct-HF-exl2-3.0
INFO:     Loading model: C:\Users\Joshua\Downloads\tabbyAPI\models\Llama-3.1-Nemotron-70B-Instruct-HF-exl2-3.0
INFO:     Loading with a manual GPU split (or a one GPU setup)
Loading draft modules ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 163/163 0:00:00
Loading model modules ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━   1%   1/163 -:--:--
ERROR:    Traceback (most recent call last):
ERROR:      File "C:\Users\Joshua\Downloads\tabbyAPI\endpoints\core\utils\model.py", line 113, in stream_model_load
ERROR:        async for module, modules, model_type in load_status:
ERROR:      File "C:\Users\Joshua\Downloads\tabbyAPI\common\model.py", line 80, in load_model_gen
ERROR:        async for module, modules in load_status:
ERROR:      File "C:\Users\Joshua\Downloads\tabbyAPI\backends\exllamav2\model.py", line 538, in load_gen
ERROR:        async for value in iterate_in_threadpool(model_load_generator):
ERROR:      File "C:\Users\Joshua\Downloads\tabbyAPI\common\concurrency.py", line 30, in iterate_in_threadpool
ERROR:        yield await asyncio.to_thread(gen_next, generator)
ERROR:              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ERROR:      File "C:\Users\Joshua\AppData\Local\Programs\Python\Python311\Lib\asyncio\threads.py", line 25, in to_thread
ERROR:        return await loop.run_in_executor(None, func_call)
ERROR:               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ERROR:      File "C:\Users\Joshua\AppData\Local\Programs\Python\Python311\Lib\concurrent\futures\thread.py", line 58, in
run
ERROR:        result = self.fn(*self.args, **self.kwargs)
ERROR:                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ERROR:      File "C:\Users\Joshua\Downloads\tabbyAPI\common\concurrency.py", line 20, in gen_next
ERROR:        return next(generator)
ERROR:               ^^^^^^^^^^^^^^^
ERROR:      File "C:\Users\Joshua\Downloads\tabbyAPI\venv\Lib\site-packages\torch\utils\_contextlib.py", line 57, in
generator_context
ERROR:        response = gen.send(request)
ERROR:                   ^^^^^^^^^^^^^^^^^
ERROR:      File "C:\Users\Joshua\Downloads\tabbyAPI\backends\exllamav2\model.py", line 639, in load_model_sync
ERROR:        for value in self.model.load_gen(
ERROR:      File "C:\Users\Joshua\Downloads\tabbyAPI\venv\Lib\site-packages\exllamav2\model.py", line 315, in load_gen
ERROR:        module.load()
ERROR:      File "C:\Users\Joshua\Downloads\tabbyAPI\venv\Lib\site-packages\torch\utils\_contextlib.py", line 116, in
decorate_context
ERROR:        return func(*args, **kwargs)
ERROR:               ^^^^^^^^^^^^^^^^^^^^^
ERROR:      File "C:\Users\Joshua\Downloads\tabbyAPI\venv\Lib\site-packages\exllamav2\attn.py", line 224, in load
ERROR:        self.q_proj.load(device_context = device_context)
ERROR:      File "C:\Users\Joshua\Downloads\tabbyAPI\venv\Lib\site-packages\torch\utils\_contextlib.py", line 116, in
decorate_context
ERROR:        return func(*args, **kwargs)
ERROR:               ^^^^^^^^^^^^^^^^^^^^^
ERROR:      File "C:\Users\Joshua\Downloads\tabbyAPI\venv\Lib\site-packages\exllamav2\linear.py", line 137, in load
ERROR:        device_context = self.model.get_device_context(self.device_idx)
ERROR:                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ERROR:      File "C:\Users\Joshua\Downloads\tabbyAPI\venv\Lib\site-packages\exllamav2\model.py", line 712, in
get_device_context
ERROR:        if not context.ready: context.prepare(scratch)
ERROR:                              ^^^^^^^^^^^^^^^^^^^^^^^^
ERROR:      File "C:\Users\Joshua\Downloads\tabbyAPI\venv\Lib\site-packages\exllamav2\device.py", line 78, in prepare
ERROR:        self.scratch = torch.empty((self.scratch_bytes // 2,), dtype = torch.half, device =
_torch_device(self.device_idx))
ERROR:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ERROR:    torch.OutOfMemoryError: CUDA out of memory. Tried to allocate 706.00 MiB. GPU 0 has a total capacity of 24.00
GiB of which 0 bytes is free. Of the allocated memory 22.68 GiB is allocated by PyTorch, and 204.70 MiB is reserved by
PyTorch but unallocated. If reserved but unallocated memory is large try setting
PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True to avoid fragmentation.  See documentation for Memory Management
(https://pytorch.org/docs/stable/notes/cuda.html#environment-variables)
ERROR:    Sent to request: CUDA out of memory. Tried to allocate 706.00 MiB. GPU 0 has a total capacity of 24.00 GiB of
which 0 bytes is free. Of the allocated memory 22.68 GiB is allocated by PyTorch, and 204.70 MiB is reserved by PyTorch
but unallocated. If reserved but unallocated memory is large try setting
PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True to avoid fragmentation.  See documentation for Memory Management
(https://pytorch.org/docs/stable/notes/cuda.html#environment-variables)```

### Additional context

_No response_

### Acknowledgements

- [X] I have looked for similar issues before submitting this one.
- [X] I understand that the developers have lives and my issue will be answered when possible.
- [X] I understand the developers of this program are human, and I will ask my questions politely.

INFO:     Loading draft model: C:\Users\Joshua\Downloads\tabbyAPI\models\Llama-3.1-Nemotron-70B-Instruct-HF-exl2-3.0
INFO:     Loading model: C:\Users\Joshua\Downloads\tabbyAPI\models\Llama-3.1-Nemotron-70B-Instruct-HF-exl2-3.0

Sir you are trying to load 2 full 70B models simultaneously.

INFO:     Loading draft model: C:\Users\Joshua\Downloads\tabbyAPI\models\Llama-3.1-Nemotron-70B-Instruct-HF-exl2-3.0
INFO:     Loading model: C:\Users\Joshua\Downloads\tabbyAPI\models\Llama-3.1-Nemotron-70B-Instruct-HF-exl2-3.0

Sir you are trying to load 2 full 70B models simultaneously.

Thank you! That makes so much sense. New to the loader I'm using and didn't realise draft model and model was a different thing. Is there a difference on whether I load it as a draft?


Can't run Kubeflow sample code

I've tried a few different versions of tfx/tensorflow/kfp/python and consistently get the following error:
root@b8ad67b54428:~/building-machine-learning-pipelines/pipelines/kubeflow_pipelines# export PYTHONPATH=~/building-machine-learning-pipelines/pipelines
root@b8ad67b54428:~/building-machine-learning-pipelines/pipelines/kubeflow_pipelines# python pipeline_kubeflow.py
2021-02-21 21:27:38.699832: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcudart.so.10.1
Traceback (most recent call last):
  File "pipeline_kubeflow.py", line 10, in <module>
    from tfx.orchestration import pipeline
  File "/usr/local/lib/python3.6/dist-packages/tfx/orchestration/pipeline.py", line 28, in <module>
    from tfx.dsl.components.base import base_node
  File "/usr/local/lib/python3.6/dist-packages/tfx/dsl/components/base/base_node.py", line 28, in <module>
    from tfx.dsl.components.base import base_executor
  File "/usr/local/lib/python3.6/dist-packages/tfx/dsl/components/base/base_executor.py", line 40, in <module>
    beam_Pipeline = beam.Pipeline
AttributeError: module 'apache_beam' has no attribute 'Pipeline'

I build tensorflow from source, then install it, then tfx and kfp .. all in a docker container.. see here

@miramar-labs can you please let us know which Beam and TFX version was installed?

I used virtualenv to create a python 3.6 virtual environment, then pip install tfx kfp which resulted in:
apache-beam                    2.27.0
kfp                            1.4.0
kfp-pipeline-spec              0.1.6
kfp-server-api                 1.3.0
tensorboard                    2.4.1
tensorboard-plugin-wit         1.8.0
tensorflow                     2.4.1
tensorflow-cloud               0.1.13
tensorflow-data-validation     0.27.0
tensorflow-datasets            3.0.0
tensorflow-estimator           2.4.0
tensorflow-hub                 0.9.0
tensorflow-metadata            0.27.0
tensorflow-model-analysis      0.27.0
tensorflow-serving-api         2.4.1
tensorflow-transform           0.27.0
tfx                            0.27.0
tfx-bsl                        0.27.1

I also tried your requirements.txt in a clean python 3.6 virtual environment .. but  that seemed to send pip off into a never ending search for dependencies...
would love to know what the magic combination of versions of things are...

Ok so I think the problem for me was how I was getting PyCharm to find your 'pipelines' module (I was appending the pipelines folder to PYTHONPATH) ... I wrote a setup.py to properly install it locally and got past the error :
setup.py (copy this to book root folder):
from setuptools import setup

setup(name='pipelines',
      version='1.0',
      description='Utility Pipeline Code',
      url='https://github.com/Building-ML-Pipelines/building-machine-learning-pipelines/tree/master/pipelines',
      author='Hannes Hapke',
<EMAIL_ADDRESS>      license='MIT',
      packages=['pipelines'],
      zip_safe=False)

then, from same folder as setup.py:
pip install -e .


Remove contentId from query

Running gatsby develop was showing an error when querying for the sitemap from Agility as it was missing the field contentId. I hit my Agility instance with the API directly and the response was missing coontentId as well. (the response was okay though!) Not sure if this is an error or not, but figured I bring it to your attention as removing this from the GraphQL query when creating pages was able to clear up this error that prevented me from building my project.
Let me know! Thanks.

This is occurring because of the contentID property on a sitemapNode is only returned IF the sitemapNode is associated with a dynamic page. It's an important property to have access to, but I see why it can cause an error. If you don't have any dynamic pages, then the queries that try to access that property will fail.
I have a fix in for this, to always ensure that property is inserted into the graphql node and it will just have a null property if it's not a dynamic page. Checked it into master.
https://github.com/agility/gatsby-source-agilitycms/commit/ae61c68e12fccdf1770f2e108ee7c41847507cd7

@jamesvidler awesome! Thank you.


Fix crash if imageurl is invalid

If the image url does not contain an image, the library crashed.

Yes im starting to experience this crash!


Add subject, issuer, and serial_number methods

These methods expose the subject, issuer and serial number fields in
their DER-encoded form.
Happy to write tests, just not sure what style would fit best with the package. Would you prefer comparing against a hard coded values (byte vectors or files) or adding a test dependency on a package that can programmatically build X.509 names?

Thanks for the PR.
Dev dependencies are fine. I'm happy with any tests as long as it doesn't depend on certificates that would expire.

Added tests. The x509_parser crate doesn't do any verification, so there shouldn't be any issues with expiration.

Thank you

This PR caused all downstream users to pull in 4 extra crates (num, num-bigint, num-iter, num-rational) in order to support the new SecCertificate::serial_number() method. I don't think that's a trade-off I would make -- maybe reconsider?

Ok, I've marked it as deprecated.

Thanks for the quick response!


can't scroll

is there an example of how to add this and allow gestures like scrolling? Setting ignoreAllGestures to false doesn't seem to do the trick. can't scroll while cursor is over the embedded content.

Hi, ignoreAllGestures toggles all gestures on/off, it doesn't have anything to do with allowing scroll gestures.
On web scrolling works by default.
On mobile, it also does work by default in some limited use-cases. If you're doing something nasty such as nesting webviews inside a ListView, then you need to supply a Set<Factory<OneSequenceGestureRecognizer>> (as instructed HERE by the official Flutter team) to the mobileSpecificParams's mobileGestureRecognizers parameter.
You can find an example on how to do this HERE.

I'm on web, and it definitely doesn't scroll. This is what I'm doing inside of a Stateful widget:
 String link =
      "https://docs.google.com/presentation/d/e/2PACX-1vSO7iCXx36hcojFSn82zLZ9VCORh40wE2Pps8lhskfQVvqacFGYqNI_iI8HuJEQxeeXgdP-9dlllFgW/embed";
  @override
  Widget build(BuildContext context) {
    return WebViewX(
      initialContent: link,
      initialSourceType: SourceType.URL,
          height: MediaQuery.of(context).size.height,
          width: MediaQuery.of(context).size.width,
        );
  }

Hi, ignoreAllGestures toggles all gestures on/off, it doesn't have anything to do with allowing scroll gestures.
On web scrolling works by default.
On mobile, it also does work by default in some limited use-cases. If you're doing something nasty such as nesting webviews inside a ListView, then you need to supply a Set<Factory<OneSequenceGestureRecognizer>> (as instructed HERE by the official Flutter team) to the mobileSpecificParams's mobileGestureRecognizers parameter.
You can find an example on how to do this HERE.

Do you also have an example of a working code for web?

I modified your example and it does indeed scroll. Not sure what about makes it work, but I'm glad it does. thanks!

Update: got it to work by making the height fixed and ignoring gestures

@EightRice Can you please share your code? I'm also facing the same issue.


Update storage-c-plus-plus-how-to-use-blobs.md

Added includes per user suggestions in comment...

#sign-off

@MichaelHauss : Thanks for your contribution to the Azure documentation! The author, @michaelhauss, has been notified to review your proposed change.

#sign-off

@MichaelHauss - Could you resubmit via the private repo? Information about this are posted in our contributor guide: https://review.docs.microsoft.com/en-us/help/contribute/contribute-authors-in-public-repo?branch=master


Pointing to data and/or to landing/provenance description pages -- AUSLANG example -- for consideration

Thinking out loud.... purpose -- to be very clear and distinct about what we are showing in the catalogue.
As at 2022-08-30 1.26pm: exploring http://idn.kurrawong.net/catalog/idndc/AUSLANG
Followed the "Access address" link which resolves to a download of the actual dataset.
Checking under the hood (curl -H -v) the target url is https://collection.aiatsis.gov.au/datasets/austlang/001.csv
The "ex:home" page is https://collection.aiatsis.gov.au/datasets/austlang/001 which is the provider's landing page, providing a data dictionary, a link to a live online search service and a link to the download csv format above.
There is also this: https://collection.aiatsis.gov.au/austlang/about which the data.gov.au LANDING page falsely describes as the "complete Austlang resource" -- it is not, but it is AIATSIS's complete DESCRIPTION of the context, meaning and provenance of the dataset! In fact. one could make a strong argument that unless this is read, one really doesn't understand at all what you are looking at.
There is also data.gov.au's activity list, showing recent changes: https://data.gov.au/data/dataset/activity/austlang-dataset-001
Starting to think we might need a small vocab to encode a range of relationships between the thing our catalog entry is describing and an associated resolvable uri!
e.g.
DESCRIPTIVE relationship: Contextual information (descriptive metadata, provenance) ABOUT the cataloged "dataset":

data.gov.au landing page
data.gov.au activity page (where relevant - calculable if you use this form of the ID: https://data.gov.au/data/dataset/austlang-dataset-001)
data providers' own general landing page
data providers detailed provenance "about" page:

DERIVATIVE or INSTANCE relationship: An accessible distribution of the catalogued "dataset":

a computer file with a particular format (in this case csv)
a service end point

I can even imagine a "USAGE" or "APPLICATION" type of relationship -- could point at resources in which dataset featured, or educational/capability resources in how to use it.
Open to discussion but in this PARTICULAR case (a really core "reference" dataset), I think the catalogue presentation would benefit by having multiple "Access address" entries with a clear typing of the nature of the association. Or perhaps even a way for the user to choose their "focus" ("I know what I want... just point me at the data/service" versus "what the hell is this all about, how can I use it?").
Sorry to ramble but devil in the detail here!
Plus issues with scalability... we perhaps need to be thinking about patterns in what "portals" like Trove or data.gov.au or RDA are doing? But that's another story.

For datasets that we are trying to capture governance information about, we don't really need any links to data/content/distributions at all so we would do nothing here!

we might need a small vocab to encode a range of relationships between the thing our catalog entry is describing and an associated resolvable uri

In general this would be either Distribution metadata or DCAT's related resources. I'd hope we wouldn't have to implement our own vocab for this which must be a common requirement.


Removes RxTest from RxStarscream.framework

RXTest.framework was being linked with RxStarscream.framework (this was causing issues when running carthage)
ld: '/xxx/Carthage/Checkouts/RxStarscream/Carthage/Build/iOS/RxTest.framework/RxTest' does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target. for architecture arm64

Removes duplicate frameworks from SampleApp.app

Thanks for the PR ! Quick question and we can merge.


[docs] Color page updates

Figma file with updated accessibility subpage: https://www.figma.com/proto/ehnLuOYqK8zZyCfVeMmdzV/Foundations?page-id=621%3A3607&node-id=621-3608&viewport=215%2C113%2C1&t=WJ6w1khmfoTWKC78-1&scaling=min-zoom&content-scaling=fixed

Closed by #1747


Use  hsl("#...") to help your colourizer

Not really an issue, but I noticed on stream :eyes: you were having trouble with :Lushify breaking your hexcode colourizer highlights.
This is because Lush (well, all colorschemes) having to clear all highlight groups to make sure your theme updates are applied cleanly. I wrote a possible solution for colorizer here: https://github.com/norcalli/nvim-colorizer.lua/issues/35 but there hasn't been any movement in a few months.
Anyway,
If you pass your hexcodes to the HSL package, Lushify will correctly find and highlight them.
There shouldn't :crossed_fingers: be any real impact on your usage, Lush will recognize the type and anywhere else should just coerce it back into a hexcode string.
https://github.com/npxbr/gruvbox.nvim/blob/9813ffbcda1c5738fe59b7ebce605d826656d691/lua/gruvbox/init.lua#L5
-- grab hsl package
local hsl = lush.hsl

-- later
dark0_hard = hsl("#1d2021"),

I want to keep Lushify pretty focused which is why it will only colourise hsl(...) calls.

cool @rktjmp thanks for the tip!


Tweak naming for a couple public methods

These are a couple of small warts that I instantly regretted after putting out v1.0.0. Might as well fix it up now. The replaced methods will be considered deprecated and removed in v2.0.0.
@alex-stone @kruppel

:+1:


Highlight lines in code blocks that are not executable

Thanks for writing and maintaining so many useful quarto plugins and extensions!
Something like this works great!
```{julia}
#| source-line-numbers: "2"
println("hello")
println("world")
```

Here's a screenshot of the markdown rendered using Quarto with your extension:

But this doesn't appear to work:
```julia
#| source-line-numbers: "2"
println("hello")
println("world")
```

Here's a screenshot of the markdown rendered in the same document:

Do you know if this second option can work?

The second option does not work, because the extension currently detects only the html divs with the class cell, and code blocks written like the first option are rendered with the cell class while the second option generates html divs without the css class cell for the code blocks.
However, you can make the code block in the first option not-executable using the chunk option eval: false, right?

That works great! Thank you!

Glad to know it worked. But keep an eye out for updates. I have plans to implement the second feature of this issue #1 which will enable the extension for your second option too (hopefully 😅).


add constants for image annotations

These are part of our API and used across multiple binaries.
/assign @adambkaplan

looks good, but want Oleg's input as well.
/cc @dmage

looks good, but want Oleg's input as well.
/cc @dmage

These are the actual APIs used today.  You can come up with a migration plan if you wish, but these are the current state, not proposed.

/lgtm
Moving forward then per @deads2k


type fixes, refactor pentagon.ts

Commented out the methods that have not yet been implemented.
The methods return promises, the types now reflect that.
Refactored pentagon to provide type annotations at multiple places. This will help you know which part of the implementation doesn't align with the interface.
Went overboard with the types, feel free to dial it back.

Nice, thank you for your contribution! I think everything looks great, every @ts-ignore and @ts-expect-error that can be removed is good :D Is the code formatted with deno fmt btw?

@skoshx I haven't, it's unformatted.

Done.

Thanks a lot!


[BEAM-2939] Bundle finalization API changes for SplittableDoFn Java SDK.

Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

It will help us expedite review of your Pull Request if you tag someone (e.g. @username) to look at it.
Post-Commit Tests Status (on master branch)

Lang
SDK
Apex
Dataflow
Flink
Gearpump
Samza
Spark

Go

---
---
---
---
---
---

Java

Python

---

---
---
---

R: @swegner @robertwb @iemejia

Looks like all feedback from #6969 is addressed; LGTM
Please squash before merging.


Error using container_memory_usage_byte to check container is in running state

I am using query in Prometheus to check my containers are in running state or not using  container_memory_usage_byte but not getting response as 1 when stopped the container and used the below query.
-->
What did you do?
absent(container_memory_usage_bytes{name="container_name"})
What did you expect to see?
When container is down i should get the alert that container_name is not running
What did you see instead? Under which circumstances?
I am getting value as no data.
Environment
docker

Prometheus version:
prometheus:v2.22.2

Alertmanager version:

alertmanager:v0.18.0

It makes more sense to ask questions like this on the prometheus-users mailing list rather than in a GitHub issue. On the mailing list, more people are available to potentially respond to your question, and the whole community can benefit from the answers provided.

It makes more sense to ask questions like this on the prometheus-users mailing list rather than in a GitHub issue. On the mailing list, more people are available to potentially respond to your question, and the whole community can benefit from the answers provided.


Recents suggestion

Please add the abilityy to have x number of past days of recents showing. I like to have more than just the past day of recents on the bar.   It would be nice to see a greater number of my recent apps (even from more than a week ago) on the bar and not have a bunch of them disappear if I restart taskbar. Ie have abilty to display apos launched within past month etc and not just past day.  Yhank you!

Thanks for suggesting this.  I've implemented an option to show all apps in the recents tray, and will push out an update soon with this added.


Fix Mobile UI

The user interface looks like desktop on mobile. Make a mobile-specific user interface.

Issue is being put on hold until OpenFresno is able to acquire our domain from Code for America and finish setting up the template through OpenSac.org.


mafft PR improvements

Going to collect my updates here ...
Looks more dramatic than it is because of formatting changes.
For deeply nested structures like in this wrapper clear, standard indentation with 4 spaces (instead of just 2) helps a lot for readibility.

more is coming :)


Incorrect Spelling of Documents

https://github.com/RickyDane/rdpFX/blob/db57fa0f245ddf68627ef08726f7b461d8281d58/ui/index.html#L56
Hey, coming here from your reddit post, amazing tool, here is an error that I found, just wanted to let you know :D

Hey, good eyes! I'll correct immediately!

😄


How can I run the workflow , such as: flow.Run(), flow.netStep() ?   When I have run [ Documents.New ] and [ Documents.setState ] , there is not data in tabale [wf_documents_001] .

How can I Use it , can you give me a demo ?

Thanks for your interest @yuedefeng !
I am travelling currently. Please allow me until tomorrow to respond.

Thanks for your support, waiting for you

A quick note: Documents.setState should not be called directly.  The comment says:
// This method is not exported.  It is used internally by `Workflow`
// to move the document along the workflow, into a new document state.

A Node each has to be defined for each document state of the workflow, except the final state.  Please look at _Workflows.AddNode.
A DocEvent has to be constructed to signal to the workflow that a DocAction has been performed by either the user or a system event.  Document states are changed by Workflow.ApplyEvent, to which this event has to be fed.  In turn, the workflow loads the node corresponding to the document state specified in the event, and applies the event to the node with the specified document.
The node applies the given document action to transition the document into the target state of the action.  These transitions are defined for document types.  Please see Transition and TransitionMap in the file doctype.go.

Please print the value of q2 before line 236 of document.go, and let me know the constructed query.

@yuedefeng : ping!!

All of the 'ctime' has the same error, I have change the sql:
/q :=  	SELECT id, doctype_id, doc_id, docstate_id, docaction_id, group_id, data, ctime, status 	FROM wf_docevents 	WHERE id = ? 	/
q :=  	SELECT id, doctype_id, doc_id, docstate_id, docaction_id, group_id, data, status 	FROM wf_docevents 	WHERE id = ?
row := db.QueryRow(q, eid)
//err := row.Scan(&elem.ID, &elem.DocType, &elem.DocID, &elem.State, &elem.Action, &elem.Group, &text, &elem.Ctime, &dstatus)
err := row.Scan(&elem.ID, &elem.DocType, &elem.DocID, &elem.State, &elem.Action, &elem.Group, &text, &dstatus)
if err != nil {
return nil, err
}

Documents.New has no error. But when I run the DocEvents.New, the error [sql: Scan error on column index 4, name 'ctime':unsupported Scan, storing driver.Value type []uint8] .

As per the documentation at https://github.com/go-sql-driver/mysql/#timetime-support:
However, many want to scan MySQL DATE and DATETIME values into time.Time variables, which is the logical opposite in Go to DATE and DATETIME in MySQL. You can do that by changing the internal output type from []byte to time.Time with the DSN parameter parseTime=true.
Please append ?parseTime=true to the database connection string.

There is a bug, workflow.go[line: 371], less a '?'
q := INSERT INTO wf_workflow_nodes(doctype_id, docstate_id, ac_id, workflow_id, name, type) VALUES(?, ?, ?, ?, ?)

Ouch!  I see that I have not merged a few ad hoc fixes back.  Thanks for spotting this!
I shall do a diff on the local copy, and review these ad hoc changes.

How can I add data to datatable [wf_docstate_transitions] ?
When I call myWorkflow.ApplyEvent, received the error ErrWorkflowInvalidAction ?

tstate, ok := ts[event.Action]
if !ok {
return 0, ErrWorkflowInvalidAction
}

where is the step history of the workflow ?

Please open new issues for additional bugs/questions.


Rss Items are not shown in demo

Describe the bug
Go to https://addonsv24-staging.flowingcode.com/rss-items/rss-items and see how no items are being displayed. Errors can be found in browser console as seen in picture

Expected behavior
Demo should display RSS items.
Minimal reproducible example
See description.
Add-on Version
2.0.4
Vaadin Version
24.4.4
Additional information
Displaying okay in https://addonsv24.flowingcode.com/rss-items/rss-items

This is an infrastructure issue.
The server replies with:
'<rss>
  <channel>
  <item>
  <title>Error Retrieving RSS</title>
  <link>https://</link>
  <description>There was an error retrieving the rss: java.net.UnknownHostException: www.flowingcode.com: Try again</description>
  <thumbnail url="https://"></thumbnail>
</item>'

Indeed, if I run nslookup www.flowingcode.com from the container, I get:
;; connection timed out; no servers could be reached

We need to investigate why staging containers block outbound connections (I thought they were allowed)


reporter: drop project ID

Reporting a project ID originates from a SaaS setup. Currently neither users of the agent nor users of the reporter package can set the project ID and so a default value is sent every time.
In the OTel environment some element in OTel ResourceProfile should be preferred to set such a value.

We also have secret token which the help string for mentions project ID.

Good point. In a fixup I also removed the secret token.


Allow insertion of attachments

Insert existing attachments

Upload new ones

🙌
On 20 February 2018 at 16:06, Paul Hayes<EMAIL_ADDRESS>wrote:

Merged #24 https://github.com/fofr/whitehall-prototype/pull/24.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/fofr/whitehall-prototype/pull/24#event-1482760201,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AZFwIeoIIj84CN_ef97hHwDjA8xgMwGvks5tWu2XgaJpZM4SMNCv
.

--
*Humin Miah *
Product Manager GOV.UK
http://gov.uk/Government Digital Service
http://digital.cabinetoffice.gov.uk/, Cabinet Office
M:<PHONE_NUMBER>3


Exec tachikoma update<PHONE_NUMBER>4000

:hamster::hamster::hamster:   Strategy david
Powered by David Update as a Service - Tachikoma.io Announcement: 2015-06-28 Updated permissions - Tachikoma.io

Coverage remained the same at 85.644% when pulling e231a16bbb3184ac8ece5b234d4dd9216bc89b93 on pazjacket:tachikoma/update-20160508174000 into 36cd8f7d673631bc6ff708e7a4dc0f86791f2951 on festivals-tech:master.


Carousel doesn't wrap anymore...

Finished tests in 296.870817s, 3.9916 tests/s, 57.5301 assertions/s.

done, merged, pushed

Coverage remained the same at 83.85% when pulling aa871a0c811592a554f65873e8d40f1ce5c128f3 on raysuelzer:ror4 into 7ec1a9d6b7a6198332afbe7aa5e6ae9343e050c8 on MushroomObserver:ror4.

Unfortunately, it will still show white spaces until you are left with one
image on the screen.  There doesn't seem to be an easy fix for this since
it's already a hack on top of the carousel.  I'd just assume add it to the
list of things to fix after release as it is of minor concern since it
won't cause an infinite wrap anymore.
Ray Suelzer
Mobile:<PHONE_NUMBER>
On Mon, Feb 23, 2015 at 7:28 PM, Jason Hollinger<EMAIL_ADDRESS>wrote:

done, merged, pushed
--
Reply to this email directly or view it on GitHub
https://github.com/MushroomObserver/mushroom-observer/pull/112#issuecomment-75692266
.

Sounds good to me.
On Mon, Feb 23, 2015 at 7:30 PM, Raymond Suelzer<EMAIL_ADDRESS>wrote:

Unfortunately, it will still show white spaces until you are left with one
image on the screen. There doesn't seem to be an easy fix for this since
it's already a hack on top of the carousel. I'd just assume add it to the
list of things to fix after release as it is of minor concern since it
won't cause an infinite wrap anymore.
Ray Suelzer
Mobile:<PHONE_NUMBER>
On Mon, Feb 23, 2015 at 7:28 PM, Jason Hollinger<EMAIL_ADDRESS>
wrote:

done, merged, pushed
--
Reply to this email directly or view it on GitHub
<
https://github.com/MushroomObserver/mushroom-observer/pull/112#issuecomment-75692266

.

—
Reply to this email directly or view it on GitHub
https://github.com/MushroomObserver/mushroom-observer/pull/112#issuecomment-75692414
.


Remove deprecated env SA_PASSWORD use MSSQL_SA_PASSWORD instead

The SA_PASSWORD environment variable is deprecated. Using MSSQL_SA_PASSWORD instead.
ref: https://learn.microsoft.com/en-us/sql/linux/quickstart-install-connect-docker?view=sql-server-ver16&tabs=cli&pivots=cs1-bash#:~:text=The SA_PASSWORD environment variable is deprecated. Use MSSQL_SA_PASSWORD instead.
ref: https://learn.microsoft.com/en-us/sql/linux/quickstart-install-connect-docker?view=sql-server-ver16&tabs=cli&pivots=cs1-bash

@Neaj-Morshad-101 please read the following Contributor License Agreement(CLA). If you agree with the CLA, please reply with the following information.
@microsoft-github-policy-service agree [company="{your company}"]

Options:

(default - no company specified) I have sole ownership of intellectual property rights to my Submissions and I am not making Submissions in the course of work for my employer.

@microsoft-github-policy-service agree

(when company given) I am making Submissions in the course of work for my employer (or my employer has intellectual property rights in my Submissions by contract or applicable law). I have permission from my employer to make Submissions and enter into this Agreement on behalf of my employer. By signing below, the defined term “You” includes me and my employer.

@microsoft-github-policy-service agree company="Microsoft"

Contributor License Agreement

@microsoft-github-policy-service agree


A documentation about how to set up the application.

Describe the documentation you'd like
A documentation that talks  about how to setup the application in our local environments.
E.g

The environment variables that we need to create, what are they, and where to get them.
How to install the packages

Additional context
Add any other context or screenshots about the documentation request here.

Thanks for your interest in the project! I'm definitely putting that on the planning, but as you can probably imagine it is of rather low priority at the moment. I would love to help you out in the mean time, simply join the support server and I will answer all of your questions!


[build] Make compile_commands.json use NDEBUG

Ensures that things like clangd report the correct size information for
structures, which makes optimization a lot easier.

ping!


Toast import

added toaster.tsx component to match the example in the docs when using shadcn add toast

Thanks :heart:

related


[horizon] VMWare Horizon is now Omnissa Horizon

Change VMware Horizon into Omnissa Horizon
Update releases

Thanks @reharmsen, new releases are missing EOL dates:
8:18:08 AM:  Product Validator: Invalid eol '' for omnissa-horizon.md#releases#8.2406, expecting a value of type boolean or date, got NilClass.
8:18:08 AM:  Product Validator: Invalid eol '' for omnissa-horizon.md#releases#8.2312.1, expecting a value of type boolean or date, got NilClass.
8:18:08 AM:  Product Validator: Invalid eol '' for omnissa-horizon.md#releases#8.2312, expecting a value of type boolean or date, got NilClass.

Do you have any source regarding this change ? https://www.omnissa.com/horizon-8/ does not explain much.

Fixed the build, preview is available at https://deploy-preview-5739--endoflife-date.netlify.app/horizon. The product icon must be removed too ?

I dropped the icon and the vmware tag. Going ahead and merging, we can improve further in more PRs.


Replace iproute with ip

iproute uses read to parse IPs (this results in poor errors).
ip has a more suitable decode function that at least returns a Maybe.
We want to use one ip package

@deepfire You're right. I will then need to remove ip from the various dependencies.


Key URI provided by Google detected as invalid Base32 value

Example secret provided by Google when trying to enable MFA for Google account (with the note that spaces can be ignored):
qea4 ptmn kvd5 ampv wm6d rc6m bbh4 urbo

Example respective URI:
otpauth://totp/Google%3Adaniel%40buttercms.com?secret=qea4ptmnkvd5ampvwm6drc6mbbh4urbo&issuer=Google

Result:
$ otp add uri google
Enter URI:
Repeat for confirmation:
Usage: otp add uri [OPTIONS] ALIAS
Try 'otp add uri -h' for help.

Error: invalid Base32 value; Non-base32 digit found

Is it possible that in some cases, secret is not Base32-encoded? 😕

This is Base32-encoded, however, Google ignores the official spec that instructs to use uppercase letters for Base32-encoded value. On the other hand, the spec also mentions case insensitivity of the value:

The Base 32 encoding is designed to represent arbitrary sequences of
octets in a form that needs to be case insensitive

So maybe the issue comes from the spec being ambiguous.
We could use casefold=True argument of base64.b32decode. There are some security considerations behind this argument, but the Python docs don't mention what exactly, unfortunately:

Optional casefold is a flag specifying whether a lowercase alphabet is acceptable as input. For security purposes, the default is False.


HttpRouteFilters Docs and webhook do not match.

What happened:
HttpRouteFilters Docs and webhook do not match.
The docs/api field description say:
https://github.com/kubernetes-sigs/gateway-api/blob/f2cd9bb92b4ff392416c40d6148ff7f76b30e649/apis/v1beta1/httproute_types.go#L204-L205
And it seems that the webhook does not allow multiple features from the same type (unless it is HTTPRouteFilterExtensionRef)
https://github.com/kubernetes-sigs/gateway-api/blob/f2cd9bb92b4ff392416c40d6148ff7f76b30e649/apis/v1beta1/validation/httproute.go#L137-L142
What you expected to happen:
Expected both to match.
Would vote for changing the webhook to allow and clarify in the docs that repeatable is implementation-specific.
cc: @howardjohn

Note we have gotten a few requests for multiple mirrors in Istio: https://github.com/istio/istio/issues/13330. This isn't in our API today, but could be exposed via multiple Mirror filters

/assign @LiorLieberman


support multiple statements (duckdb)

Description
support multiple statements
install httpfs;
load httpfs;

set s3_ak='ak';
set s3_sk='sk';

select count(1) as count from read_parquet("s3://bucket/example.parquet");

Checklist

[x] For UI or styling changes, I have added a screenshot or gif showing before & after
[x] I have added a changeset

Hey @watsy0007, Thanks for the PR!
Would be great if you could give a bit more context about what you're trying to do here, and how this would help you achieve it.
A bit nervous about adding this as is, as we need to think about how we'd return the results of each statement to the UI.

thanks for your relay @archiewood
our data was saved on S3 with CSV and Parquet formats.
To use DuckDB for analysis, we need to load httpfs extension and set S3 credentials.
i have 2 options to solve this:

Execute those codes in code block in markdown files
Add pre-execute codes when setting db config and execute them when connect button is pressed

In my opinoin, option 1 is simple and easy. but i think option 2 is more appropriate

I can see how httpfs is useful for duckDB, if you need to query CSV / parquet files that are stored in S3
I think the best way to achieve it, rather than allowing multiple statements (which could be a trap in other cases, for example if someone tries to run multiple SELECT statements, is to allow HTTPFS to be configured as a setting.
Perhaps a checkbox in the settings UI where you connect to DuckDB ("Use HTTPFS" or similar), which then shows fields to enter of s3_region and s3_access_key_id, and s3_secret_key_id.
Then use the duckdb connector to conditionally run the required SQL statements, if HTTPFS is selected?
Not totally sure of the details - but what do you think @watsy0007 ? Would this serve your use case?

Perhaps a checkbox in the settings UI where you connect to  DuckDB ("Use HTTPFS" or similar), which then shows fields to enter of s3_region and s3_access_key_id, and s3_secret_key_id.
Then use the duckdb connector to conditionally run the required SQL statements, if HTTPFS is selected?

I thinks this is a great solution. I very glad to see this feature in the future. And sorry for my lack of svelte experience.
Should I close this issue?

I suggest I open it as a separate issue and close this PR


Set maximum number of pods (kubelet --max-pods) for Cilium ENI mode due to restrictions by number of ENIs and IPs per ENI

What this PR does / why we need it
Towards https://github.com/giantswarm/roadmap/issues/2563
This comes after the required user data size limit avoidance in https://github.com/giantswarm/cluster-aws/pull/641, therefore stacking this PR on top.
Checklist

[x] Updated CHANGELOG.md.

Trigger E2E tests
Later, when the dependent PR was merged.

/run cluster-test-suites

/run cluster-test-suites

Only the upgrade tests failed and it seems to be a known issue, so merging anyway.


packages is not an option resources

it's confusing to see documentation about 'packages', while it's not a valid option

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

ID: ee4ec9d0-e0d5-4fb4-7c3e-b84abfa290c2
Version Independent ID: 3e2b80d9-30e5-0c48-49f0-4fcdfedf5eee
Content: Resources - Azure Pipelines
Content Source: docs/pipelines/process/resources.md
Product: devops
Technology: devops-cicd-process
GitHub Login: @juliakm
Microsoft Alias: jukullam

@gintuoklis -- Gintautas, thank you for your feedback.
@juliakm -- Julia, if this assertion is correct, I can remove all references to "packages" from that article for you.

@gintuoklis I'm reaching out to the product team to get more information on this.

Blog post released 4/28 once again mentions packages as a valid resource option.
https://devblogs.microsoft.com/devops/announcing-general-availability-of-azure-pipelines-yaml-cd/
This is actually a pretty big ask, so I'm holding my breath it was perhaps stealth rolled out.

dirty update:
resources:
packages:
- package: coolname
<...>
This actually appears to work ... except I cant seem to guess what params it wants. This wqould be really REALLY cool to know

@gintuoklis and @Justin-DynamicD This feature is being deployed now and may not be available for your organization yet.  I'll get more info on the required parameters.

hi @juliakm,
I found examples within your design documents
There you have parameter Connection
connection: string   # service connection for your package repo.
It is unclear how to use it, in case you want to download universal package hosted within the same project. Could you please make inquiries about it as well?

Hi @Justin-DynamicD
Not the best and especially in this case, but sometimes it can help.
You can find the Yaml schema under https://dev.azure.com/{OrgName}/_apis/distributedtask/yamlschema?api-version=5.1
There I found these for packageResource.
"packageResource": {
"type": "object",
"properties": {
"package": {
"description": "Alias of package artifact",
"$ref": "#/definitions/referenceName"
},
"type": {
"description": "Type of the package. Ex - NuGet, NPM etc.",
"$ref": "#/definitions/nonEmptyString"
},
"connection": {
"description": "Name of the connection. This connection will be used for all the communication related to this artifact.",
"$ref": "#/definitions/nonEmptyString"
},
"name": {
"description": "Name of the package",
"$ref": "#/definitions/nonEmptyString"
},
"version": {
"$ref": "#/definitions/nonEmptyString"
},
"tag": {
"$ref": "#/definitions/nonEmptyString"
},
"trigger": {
"description": "Trigger a new pipeline run when a new version of this package is available.",
"$ref": "#/definitions/packageResourceTrigger"
}
},
"additionalProperties": false,
"firstProperty": [
"package"
],
"required": [
"package",
"type",
"connection",
"name"
]
}

@juliakm any update on this?

@oliverstopp - I'm still working on tracking down more information. In the meantime, here's an example of a working pipeline that uses a GitHub package resource.
resources:
  packages:
    - package: contoso
      type: npm
      connection: pat-contoso
      name: yourname/contoso
      version: 7.130.88
      trigger: true

pool:
  vmImage: 'ubuntu-latest'

steps:
- getPackage: contoso

@juliakm Thanks for the update.
Do you have any other examples of using a universal package and if the feed is within the same DevOps project what sort of connection needs to be set up?

@oliverstopp - I want to know the same. I posted it here in case that helps:
https://developercommunity.visualstudio.com/idea/1154402/support-universal-packages-as-pipeline-resources.html

The article includes GitHub packages now. I apologize for not updating the issue earlier.
For the question about universal packages, I'd recommend looking at the Universal Packages task.


Fix Loggin Issue

Fix logging issue in the newest graphx implementation. Now graphalytics-core logs can be shown, while spark log is also enabled to facilitate debugging duration experiments.

Can one of the admins verify this patch?

ok to test

Build finished. 12 tests run, 0 skipped, 0 failed.


Add client span field to tracespan template

Also argument stackdriver tracing adapter to support client spankind.
Ideally all three SpanKinds in OpenCensus  (unspecified, server, client) could be supported in tracespan template as enum, but enum is not supported yet https://github.com/istio/old_mixer_repo/issues/1479. Use boolean as temporary workaround.
cc @ramonza

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: bianpengyuan
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: geeknoid
Assign the PR to them by writing /assign @geeknoid in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

mixer/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@bianpengyuan: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-bookInfoTests.sh
f51317a3528faddee5ba0bacfb46cbe25de8cc58
link
/test e2e-bookInfo

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.

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

Test name
Commit
Details
Rerun command

prow/e2e-bookInfoTests.sh
f51317a3528faddee5ba0bacfb46cbe25de8cc58
link
/test e2e-bookInfo

prow/istio-pilot-e2e.sh
f51317a3528faddee5ba0bacfb46cbe25de8cc58
link
/test istio-pilot-e2e

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.

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: bianpengyuan, douglas-reid
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

mixer/OWNERS [douglas-reid]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

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

Test name
Commit
Details
Rerun command

prow/e2e-bookInfoTests.sh
f51317a3528faddee5ba0bacfb46cbe25de8cc58
link
/test e2e-bookInfo

prow/istio-pilot-e2e.sh
f51317a3528faddee5ba0bacfb46cbe25de8cc58
link
/test istio-pilot-e2e

prow/e2e-simpleTests.sh
5ccc75576aac7b63f95ea18c32e767428c301fc8
link
/test e2e-simple

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.

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: bianpengyuan, douglas-reid
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

mixer/OWNERS [douglas-reid]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


postfix service: don't empty local_recipient_maps

Motivation for this change
From Postfix documentation:

With this setting, the Postfix SMTP server will not reject mail with "User
unknown in local recipient table". Don't do this on systems that receive mail
directly from the Internet. With today's worms and viruses, Postfix will become
a backscatter source: it accepts mail for non-existent recipients and then
tries to return that mail as "undeliverable" to the often forged sender
address.

However, I'm unsure that this is a right fix to do for everyone. Postfix can be configured in a multitude of ways: usually on my servers I set local_recipient_maps to a table with users, but perhaps for some other configurations this is not necessary.
Also this is a breaking change, but one that gives us more secure defaults.
Things done

[x] Tested using sandboxing
(nix.useSandbox on NixOS,
or option build-use-sandbox in nix.conf
on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] Linux

[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

I agree that this shouldn't be backported as this is a breaking change. Added an entry to the changelog.

Thanks to @peti and @fpletz for review!


Add SonarCloud to GitHub Actions

Addresses:

https://github.com/stolostron/backlog/issues/10735

Dependency on:

https://github.com/openshift/release/pull/26112

This PR is ready for review.


Fix linux.diag_loadavg

It refers to slack pack not installed by default, thus failing.
Should redo it with proper notification.

LGTM


VRP solution not fulfilling all added constraints

Hi,
I've been trying to implement a VRP with breaks and I am having a hard time getting the solution to meet my constraints.
I have implemented breaks by adding a dimension and some constraints between that dimension and the time dimension. The constraints are the following:

Either there is a break (time slack >= BREAK_TIME and break slack == 10, this 10 is an arbitrary number but I need > 0 to track the breaks) or there isn't one (break slack == 0)
Breaks need to happen before a certain time (max_time_to_break)

My issue is that for some values of "max_time_to_break", the system seems to violate the constraints.
I am using Python 3.6.5 and ortools 7.4.7247.
Here is my code:
from __future__ import print_function
from ortools.constraint_solver import routing_enums_pb2
from ortools.constraint_solver import pywrapcp
import pandas as pd

pd.set_option('display.max_rows', 500)
pd.set_option('display.max_columns', 500)
pd.set_option('display.width', 1000)

data = {}
data['time_matrix'] = [
  [0, 6, 9, 8, 7],
  [6, 0, 8, 3, 2],
  [9, 8, 0, 11, 10],
  [8, 3, 11, 0, 1],
  [7, 2, 10, 1, 0],
  ]
data['num_vehicles'] = 1
data['depot'] = 0
data['break_time']= 6
data['max_time_to_break'] = 9

manager = pywrapcp.RoutingIndexManager(len(data['time_matrix']), data['num_vehicles'], data['depot'])
routing = pywrapcp.RoutingModel(manager)

def time_callback(from_index, to_index):
    from_node = manager.IndexToNode(from_index)
    to_node = manager.IndexToNode(to_index)
    return data['time_matrix'][from_node][to_node]

transit_callback_index = routing.RegisterTransitCallback(time_callback)
routing.SetArcCostEvaluatorOfAllVehicles(transit_callback_index)
time = 'Time'
routing.AddDimension(
  transit_callback_index,
  1000,
  1000,
  False,
  time)

time_dimension = routing.GetDimensionOrDie(time)

solver = routing.solver()

#### Breaks
def breaks_callback(from_index, to_index):
    return 0

breaks_callback_index = routing.RegisterTransitCallback(breaks_callback)

routing.AddDimension(
  breaks_callback_index,
  1000,
  1000,
  True,
  'Breaks')

breaks_dimension = routing.GetDimensionOrDie('Breaks')

for i in range(data['num_vehicles']):
  start_index = routing.Start(i)
  solver.Add(breaks_dimension.SlackVar(start_index) == 0) # initialize breaks to 0

  end_index = routing.End(i)
  solver.Add(breaks_dimension.CumulVar(end_index) > 0) # force breaks > 0 at the end

# define breaks logic
for i in range(len(data['time_matrix'])):
    index = manager.NodeToIndex(i)
    solver.Add(
                (
                  (
                    (time_dimension.SlackVar(i)>=data['break_time']) *
                    (breaks_dimension.SlackVar(i)==10)
                  ) +
                  (breaks_dimension.SlackVar(i)==0)
                ) > 0
              ) # either (time slack >= data['break_time'] and breaks slack=10) or (breaks slack=0)
    solver.Add(((time_dimension.CumulVar(index)<data['max_time_to_break'])+(breaks_dimension.SlackVar(index)==0))>0) # time cumul < max or breaks slack=0

# adding slack and transit vars to assignment
for i in range(len(data['time_matrix'])):
    index = manager.NodeToIndex(i)
    routing.AddToAssignment(breaks_dimension.SlackVar(index))
    routing.AddToAssignment(breaks_dimension.TransitVar(index))
    routing.AddToAssignment(time_dimension.SlackVar(index))
    routing.AddToAssignment(time_dimension.TransitVar(index))

def print_all():
    def route_vehicle(vehicle_id):
        route = []
        index = routing.Start(vehicle_id)
        prev_index = -1
        route.append({'index': index})

        while not routing.IsEnd(index):
            prev_index = index
            index = assignment.Value(routing.NextVar(index))
            route.append({'index': index})

        for d in route:
            d['node'] = manager.IndexToNode(d['index'])

        time_dimension = routing.GetDimensionOrDie('Time')
        breaks_dimension = routing.GetDimensionOrDie('Breaks')
        for d in route:
            d['breaks_cumulvar'] = assignment.Value(breaks_dimension.CumulVar(d['index']))
            d['time_cumulvar'] = assignment.Value(time_dimension.CumulVar(d['index']))
            if (d['index'] < 5):
                d['time_slack'] = assignment.Value(time_dimension.SlackVar(d['index']))
                d['time_transit'] = assignment.Value(time_dimension.TransitVar(d['index']))
                d['breaks_slack'] = assignment.Min(breaks_dimension.SlackVar(d['index']))
                d['breaks_transit'] = assignment.Min(breaks_dimension.TransitVar(d['index']))
        return route

    all_routes = []
    for i in range(data['num_vehicles']):
        all_routes = all_routes + route_vehicle(i)
    all_routes_pd = pd.DataFrame.from_records(all_routes)
    all_routes_pd = all_routes_pd[['node', 'time_cumulvar', 'time_slack', 'time_transit', 'breaks_cumulvar', 'breaks_slack', 'breaks_transit']]
    print(all_routes_pd)

search_parameters = pywrapcp.DefaultRoutingSearchParameters()
search_parameters.log_search = True
search_parameters.first_solution_strategy = (routing_enums_pb2.FirstSolutionStrategy.PATH_MOST_CONSTRAINED_ARC)
assignment = routing.SolveWithParameters(search_parameters)

print_all()

For data['max_time_to_break'] = 9, everything works fine and I get the following solution:

However, for data['max_time_to_break'] = 10 (or any value higher than 9):

Which doesn't make sense because the breaks_cumulvar increases wile breaks_slack and breaks_transit are both 0. This breaks the main relationship between dimensions of:
if j == NextVar(i), CumulVar(j) = CumulVar(i) + TransitVar(i) + SlackVar(i)
How can I fix the code so that for any value of max_time_to_break, it works as in the max_time_to_break=9 example?
Thanks in advance!

I have checked the example and as oriolcosp says setting data['max_time_to_break'] = 10 generates an assignment that seems to violate the PathConstraint on Breaks dimension. Checking with assignment.Value() it reports that all the values of TransitVar, FixedTransitVar, SlackVar are 0 but CumSum is not always zero. Maybe I'm missing something very obvious but I don't find it.


Fix failing noi_wasm test in CI

Aim
Currently Test noir_wasm is failing the CI -- on master the error is:
https://github.com/noir-lang/noir/actions/runs/6436173480/job/17479101660
Expected Behavior
Tests to pass
Bug
Backend related error, though its strange for two reasons:

The backend failure message reason is blank, even though we merged a PR to add this
The WASM version should not require the backend -- it should get the information needed by the info command from typescript

To Reproduce

Installation Method
None
Nargo Version
No response
Additional Context
No response
Would you like to submit a PR for this Issue?
No
Support Needs
No response

This seems like an intermittent failure in bb, rerunning that workflow results in no backend error. The error here is the one introduced in https://github.com/noir-lang/noir/pull/2989

The backend failure message reason is blank, even though we merged a PR to add this

It's likely that bb is just returning nothing on an error. See https://github.com/noir-lang/noir/issues/2790#issuecomment-1735378959

The WASM version should not require the backend -- it should get the information needed by the info command from typescript

We use the CLI in order to check that we get the same build outputs based on the same commit.

closed  by #3040 and #3039


Get Member by Field Value?

Kyle,
Does the Emma API have a method for retrieving members by field value?  The only way that I've figured out how to do this is to get all members and then filter the list by the desired field's value.  Unfortunately, with 12.5K members, that's 25 GETS @ 500 per.  The resulting response time can be measured in minutes.
Thx.

@tjdavis1111
The only way I know of is to create a Search using the API and then once build retrieve a list of members matching the search.
Search Endpoints
Search Syntax
Note that the wrapper currently doesn't support creating or updating searches because of an issue believed to be on Emma's end. If you do some digging and find out otherwise, let me know.

Thanks for the reply.  Just found Searches.
On Fri, Mar 1, 2019 at 3:19 PM Kyle Gregory<EMAIL_ADDRESS>wrote:

Closed #41 https://github.com/kylegregory/EmmaSharp/issues/41.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/kylegregory/EmmaSharp/issues/41#event-2175148787, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AQXrNaX8NsQxHQntmCpRIMDEte4CaDx_ks5vSZlWgaJpZM4bZljF
.


Add plugin around rust-av

A start of this can be found here: https://github.com/sdroege/gst-plugin-rs/tree/rust-av
Needs more work

I'd be glad to work on this one if that's ok with you (I might not be able to start before next week though).

Oh I created this issue to make it clear that I'm already working on it :) And I'm proposing a few rust-av changes to make all this a bit nicer currently, probably going to continue working this weekend.
If you're looking for some plugin/element to write, there are so many things to choose from :) What topics would be interesting for you?

Ooops! :)
I was interested in getting my hands on the plugin-rs model, and of course in implementing something useful. Before I read this Issue, I was thinking about a plugin around one of the decoders of RustAudio. Maybe that would be useless considering the rust-av effort.
What do you think would be useful as a new plugin?

At least the Vorbis decoder from RustAudio is wrapped in rust-av now, I assume they will wrap the others sooner or later too.
One problem with wrapping rust-av is that we would either need GstVideoDecoder and friends (which don't have a very Rusty API), or those have to be reimplemented on top of GstElement directly. My proof-of-concept currently does the latter.
One other thing could be https://github.com/sdroege/gst-plugin-rs/issues/21 . Or check what other useful libraries there are on crates.io for any media-related tasks :)

Sorry for not responding, I was busy on other stuff.
I'm interested in https://github.com/sdroege/gst-plugin-rs/issues/21.

Sounds great :)

Moved to https://github.com/sdroege/gst-plugin-rust-av as it only builds with nightly

This is now tracked in https://gitlab.freedesktop.org/gstreamer/gst-plugin-rs/issues/30


2.0 [VEDIO] Pepared Lyrics Crash when changing the selected lyrics or click many time quickly

System: win10 x64 LTSC 2021
https://user-images.githubusercontent.com/16969250/221396367-0f9d0a2b-d113-4833-ba31-2fa952e2e890.mp4

Hi, if you can replicate the issue, would you mind uploading the logs from OBS?

https://obsproject.com/logs/kc2ZxmOYotuv1Sae
Nice to meet you, sir.
Sure, however, in the log, there is no reason found. But it does cause stuck dead for obs.

By the way, sir, adding a line of utf-8 to monitor.html will solve the messy code issue in multiple languages. Like this:

One more thing: Since I merged the code of Pull requests in Lryics+, it will solve the crash problem of exit obs.
Thank you so much for developing such a great script to help our church's hymn singing. May it be updated again. May God bless you!


Peer Review by Xinxiang Gao

Opening Statement Summary
This paper conducts an analysis of Toronto Island ferry ticket sales, focusing on temporal patterns and passenger flow trends using time series data. By examining sales and redemption data at 15-minute intervals, the study identifies daily and seasonal patterns in ferry usage from 2016 to 2023. The findings reveal that ferry demand peaks during weekends and summer months, with significant increases in traffic during holidays and major events. The insights gained from this analysis aim to help optimize ferry operations by adjusting schedules and staffing to better manage passenger flow, particularly during high-demand periods.
Strong Positive Points
The paper effectively uses a variety of graphs to present data.
It includes a catalog, improving navigation and organization.
There are numerous citations, demonstrating thorough research.
The scripts shows a proper documentation for its usage.
Cross-references are clearly illustrated in the text.
The version control, more specifically the commit message, is informative.
Critical Improvements Needed
Add sketches to complement the data and analysis.
Update the README file with necessary details. More specifically, Some checks section needs to be removed.
In scripts/03-test_data.R, the simulated dataset should be read instead of the cleaned one.
Suggestions for Improvement
Document LLM usage in the location indicated by the README file.
Improve the first three figures for visual clarity.
Further develop the discussion section, focusing on the causes behind trends (e.g., reasons for increased absences) and the limitations of the current data.
Remove any unrelated files from the repository.
Evaluation
R Citation: 1/1
LLM Statement: 0/1
Title: 2/2
Author, Date, and Repo: 2/2
Abstract: 3/4
Introduction: 4/4
Data: 8/10
Measurement: 4/4
Cross-References: 2/2
Prose: 3/6
Graphs/Tables/etc: 3/4
Referencing: 4/4
Commits: 2/2
Sketches: 0/2
Simulation: 4/4
Tests: 2/4
Reproducibility: 4/4
Code Style: 1/1
General Excellence: 2/3
Estimated Mark: 51/64
Reasoning:
While the graphs, content, and script are mostly satisfactory, several key elements are missing, such as the README file and the 03-test_data.R file updates. The paper shows good promise but requires these improvements to reach its full potential.

Thank you Xinxiang for your detailed and thoughtful peer review! I appreciate your feedback and will address the suggestions you've provided to improve the paper and repository. Your insights, especially regarding the README updates and data visualization, are valuable, and I will work on refining those areas. Thanks again for taking the time to review the work!


[DOC]: Added missing word in the blog

Description
This PR intends to add a missing word in the   blog at this line
Changes
This PR adds the word believe to change the documentation from
We AI software should be open-sourced to the community to We believe AI software should be open-sourced to the community
Related Issues

Checklist

[ ] Is this code covered by new or existing unit tests or integration tests?
[ ] Did you run make test successfully?
[ ] Do new classes, functions, methods and parameters all have docstrings?
[ ] Were existing docstrings updated, if necessary?
[ ] Was external documentation updated, if necessary?

Additional Notes or Comments
Since this PR addresses a fix only in the documentation, the idea was that maybe the above checklist was not necessary to mark. In case it needs to be followed through, let me know by leaving a comment

Thanks for the fix!

No problem at all :)


Add bigger location information

The information is present in event.venue.city
I'm unable to think of a good way to place this information near the header

fixed in #58


A unicode character table in appendix

I generated src/plfa/part2/UnicodeCharTable.md using the following shell script:
#!/bin/bash

dirs=( "src/plfa/part1" "src/plfa/part2" )

for dir in ${dirs[@]} ; do

    for f in `ls $dir | grep .lagda.md`; do

        echo "#" $f
        echo

        sed -n -e '/## Unicode/,$p' $dir/$f
        echo
        echo
        echo
    done
done

And also updated data/tableOfContents.yml so this file shows in the appendix section.
I did not build and test the changes locally though, as I do not have nodejs environment setup at this moment.

I'm hesitant to merge this, because if we add a unicode table to the appendix, I'll have to maintain it, and therefore the bash used to generate it.
I'd be happy to merge this if the script were rewritten in Haskell, so I can maintain it as a part of the build system, and not as an additional bash script.

I am making this merge request primarily for the TSPL exam tomorrow, it would be great if you could approve it temporarily and undo it after tomorrow 3pm (UTC+0)?
I will attempt to rewrite the script in haskell after the exam.

The suggestion to approve temporarily is reasonable, but unfortunately the submission failed some tests. (See above.) So I cannot accept it before Monday, sorry.
If you provide it with a Haskell script (and minus whatever error caused the test to fail) that would be great.
Copying from the chapters makes sense, but probably best to present them in the order they appear in the table of contents rather than in alphabetic order.

Another issue here is that unfortunately we have no tests for the Unicode sections to trst that they’re complete, so picking them from these sections—while useful—isn’t necessarily correct or complete.

I’ll close this for now, but, @AOIDUO, feel free to reopen!


Evaluating expression in the repl takes two Enter key presses

#14171

Since the repl now has suggest embedded it became a terrible experience since I always have to click Enter twice to evaluate anything: the first to accept the automatic suggestion that came up and the second to submit the expression.

Dup of https://github.com/Microsoft/vscode/issues/11944


Update Readme.md to a better version

Update Readme.md to a better version, added some few details.
Please merge it :)

I'm sorry I didn't noticed the pull request until today, there's conflicts but I implemented some of your ideas into the md. Thank you for contributing.

Thank you for merging!


Cursor disappears inside neovim

Bug description
The cursor works fine in my terminal but it disappears inside neovim.
Screenshots

Steps to reproduce

ssh to host
open neovim
try to find cursor
cannot find cursor

Could it be a configuration issue of neovim?

If you set a different background color, does the cursor appears?

Could it be a configuration issue of neovim?

If you set a different background color, does the cursor appears?

The cursor appears as a line (not a block) in INSERT mode but does not appear at all in VISUAL or NORMAL mode.
I don't think it's a neovim config issue because it works just fine in every other SSH client/terminal I've tried on my iPad.
Changing themes in WebSSH does not help.

ok so I just turned off my neovim theme and the cursor appeared. So I guess we could say it is in fact a neovim config issue!
But! Because it works in every other SSH client/terminal I've tried, I'm still kind of sort of thinking that there is some interplay between neovim and WebSSH that isn't quite right... I can't back that up with any code though 😂
thanks for the quick response @isontheline! WebSSH is the best SSH client I've tried on my iPad so far (and I've tried several...)! It's the only one that properly renders my tmux panes and also handles my various key combos correctly.

It could be an issue with the underlying rendering library : https://github.com/xtermjs/xterm.js
Have you tried to change the terminal type inside your server settings on WebSSH? (Like xterm / xterm-color)


Fix/dtfs2 6752/improve css for check your email screen

Introduction
In DTFS2-6733 we built the “Check your email screen” and used the CSS class button-as-link govuk-!-padding-0 moj-sub-navigation__item for the “Request a new sign in link” button. However moj-subnavigation__item is not appropriate for this element because it is not a sub navigation. We should improve the CSS for this element.
Resolution

Added the padding: 0 CSS reset to the button-as-link class and checked it did not mess up the (1) other instance where the button-as-link class is used.
Noticed that in the other instance where 'button-as-linkwas used, thegov-uk-linkclass was also used. Decided to include the additional styling fromgov-uk-linkthat wasn't already inbutton-as-link` in the latter class, for clarity and so that the developer doesn't have to add multiple classes to ensure that a button is styled as a GOV UK link.
Removed the govuk-!-margin-bottom-0 class from the other instance where button-as-link was used, as it wasn't doing anything (I tested this on multiple screen sizes).
Used the govuk-!-font-size-19 class to correctly set the font size for both instances - I decided not to include this CSS in the button-as-link class as we may want links of different font sizes.

Codecov Report

Merging #2201 (773c046) into main (2390d16) will decrease coverage by 2.57%.
Report is 87 commits behind head on main.
The diff coverage is 4.65%.

@@            Coverage Diff             @@
##             main    #2201      +/-   ##
==========================================
- Coverage   21.01%   18.44%   -2.57%
==========================================
  Files        1030      944      -86
  Lines       25229    23117    -2112
  Branches     4081     3652     -429
==========================================
- Hits         5303     4265    -1038
+ Misses      17370    16511     -859
+ Partials     2556     2341     -215

Flag
Coverage Δ

ui-test
65.49% <ø> (+0.68%)
:arrow_up:

unit-test
3.00% <4.65%> (+2.28%)
:arrow_up:

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

Files
Coverage Δ

dtfs-central-api/src/helpers/isNumber.js
100.00% <100.00%> (ø)

dtfs-central-api/src/helpers/index.js
0.00% <0.00%> (ø)

...c/v1/controllers/cron-jobs/cron-jobs.controller.js
0.00% <0.00%> (ø)

.../durable-functions/durable-functions.controller.js
0.00% <0.00%> (ø)

.../v1/controllers/portal/deal/get-deal.controller.js
0.00% <0.00%> (ø)

.../portal/gef-facility/update-facility.controller.js
0.00% <0.00%> (ø)

...1/controllers/tfm/deal/tfm-get-deals.controller.js
0.00% <0.00%> (ø)

...controllers/tfm/deal/tfm-update-deal.controller.js
0.00% <0.00%> (ø)

...s/portal/gef-deal/add-min-activities.controller.js
0.00% <0.00%> (ø)

...rs/tfm/amendments/tfm-get-amendments.controller.js
0.00% <0.00%> (ø)

... and 3 more

... and 457 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


[docs] Update customization/components and customization/global pages

This PR updates the customization/global and customization/components pages.

I'll take another read through the page once this any accepted changes are committed.

I've address all comments, went trough the text once again, I believe it's ready for final review now :)

A couple of thoughts base on the internal chat we had on https://documentation.divio.com/

Rename "Guide" into "How to guide"
Change "Customization > Components" -> "Customization > How to customize"
Change "Customization > Theme > Global" -> "Customization > Theme > Components"
The content on Global CSS override
 could probably be moved to "How to customize".

@mnajdova  does this work for all components or only migrated components? it doesnt seem to work with Divider for example... see https://codesandbox.io/s/sxprop-material-demo-forked-wdfhz?file=/demo.tsx

@mnajdova does this work for all components or only migrated components? it doesnt seem to work with Divider for example... see https://codesandbox.io/s/sxprop-material-demo-forked-wdfhz?file=/demo.tsx

@stunaz  it works only on the migrated components


5 ➡ main

➡ Forward port
Port ign-gazebo5 to main
Branch comparison: https://github.com/ignitionrobotics/ign-gazebo/compare/main...ign-gazebo5
Note to maintainers: Remember to Merge with commit (not squash-merge or rebase)

As a side note, I just read through #997, and it looks like we can close that issue once this PR is merged.


Is InferGetStaticPropsType required to make superjson work with nextjs?

Hi,
I'm wondering if InferGetStaticPropsType is required to make superjson work with nextjs?
The example here https://github.com/blitz-js/babel-plugin-superjson-next/tree/main/example uses that way and that works for me, but changing the page a bit bit fails.
import type { InferGetStaticPropsType } from 'next';

export async function getStaticProps() {
  return {
    props: {
      date: new Date(0),
    },
  };
};

export default function Page(props: InferGetStaticPropsType<typeof getStaticProps>) {
  return 'props.date is Date: ' + (props.date instanceof Date);
}

it prints nicely: props.date is Date: true
But when changing it a bit to:
import type { GetStaticProps } from 'next';
import React from 'react';

type Props = {
  date: Date
}

export const getStaticProps: GetStaticProps<Props> = async () => {
  return {
    props: {
      date: new Date(0),
    },
  }
}

const Date2Page = ({ date }: Props): JSX.Element => (

props.date is Date: {date instanceof Date}

)

export default Date2Page

it only prints: props.date is Date:
I changed it because I want to type the Props and use it in getStaticProps and Date2Page.

No, using InferGetStaticPropsType shouldn't impact the result whatsoever - especially considering that type information isn't available at runtime.
What you describe is unexpected 🤔 Could you maybe provide a CodeSandbox reproducing the error? That'd allow me to play around with what's happening there.

Hi @Skn0tt , I created this example https://github.com/marceloverdijk/superjson-example
I've added a with-props.tsx page which contains:
import React from 'react';
import type { GetStaticProps, InferGetStaticPropsType } from 'next';

type Props = {
  date: Date
}

export const getStaticProps: GetStaticProps<Props> = async () => {
  return {
    props: {
      date: new Date(0),
    },
  }
}

const WihPropsPage = ({ date }: Props): JSX.Element => (

props.date is Date: {date instanceof Date}

)

export default WihPropsPage

When accessing the page at http://localhost:3000/with-props I get:
props.date is Date:
instead of the expected:
props.date is Date: true

Haha, found the mistake! :D

props.date is Date: {date instanceof Date}
 is not the same as 'props.date is Date: ' + (date instanceof Date)
The first one uses JSX templating, the second one string concatenation.
JSX templates don't render booleans (that'd break the classic { someCondition && (
This only shows up sometimes
) } trick).
So this can be fixed by changing the code to this:

props.date is Date: {(date instanceof Date).toString()}

Does that help? ☺

Thx, yes that helps a lot! So it is just my lack of experience with React 🙈 .
Initially I was doing {date} and that was also giving an issue. As I know now dates are no valid render objects and I have to use {date.toString()}
Thx again!


Add Efficient/Performance core querying on ARM64

I'm curious if there is a similar method to what we do for x86/AMD64. I wonder if there is system register we can read with MRS on the current thread. Or conversely, if the approach you have here has any advantages where we could consider doing it for on x86/AMD64 too?
The documentation on EfficiencyClass sparse and from what I can tell the query information retrieves this information here:
CHAR __fastcall KeGetActualProcessorEfficiencyClass(
        _KPRCB *ProcessorControlBlock)
{
    if ( KeHeteroSystem )
    {
        return ProcessorControlBlock->PowerState.ArchitecturalEfficiencyClass;
    }
    else
    {
        return ProcessorControlBlock->PowerState.EarlyBootArchitecturalEfficiencyClass;
    }
}

The early boot looks to be propagated from the initial KPRCB. I haven't been able to locate the alternative once KeHeteroSystem is identified in the boot process.
I'm a little concerned there might be an unforeseen issue with grouping or other boot configurations which might report inaccurate information. It is probably ideal for us to ask the processor directly of the big.LITTLE state/support - as we do on x86/ARM64. Here is an example of us making emitting MSR to read system register state:
https://github.com/winsiderss/systeminformer/blob/5d97d6b3f99bd7c651b448ae414f39150cf9af2f/SystemInformer/syssccpu.c#L1313-L1316
I wonder if there is a similar MRS for reading the big.LITTLE state?

I once found a register that can give this information, but it's been more than an year and I remember not being possible to read that register from userspace code because it was EL1

I have read the CLA Document and I hereby sign the CLA

recheck


export html format with cell’s background color

in function make_html_row(ws, r, R, o)，some code should be add
if (cell.s != undefined && cell.s.fgColor != undefined && cell.s.fgColor.rgb != undefined)
sp.style = "background-color:#" + 	cell.s.fgColor.rgb;
I have tested , some time the color can't show. I don't know why?

We offer this in the Pro compendium.  Since companies have paid for the features already, it would be unfair to them if we turned around and made it available as open source.  We have a longer comment in a gist.


Material 3 Demo App is Crashing on some iOS devices

The app link: https://flutter-experimental-m3-demo.web.app/#/
When the app is running on iOS safari/chrome, scrolling the first two pages will cause crashing and show a message: "A problem repeatedly occurred". But for other platforms, it works fine.
https://user-images.githubusercontent.com/36861262/207957403-c939926e-50ef-419c-89ea-c99cf4f5feef.mp4
The source code is a PR under review: https://github.com/flutter/samples/pull/1530/files

https://photos.app.goo.gl/srx1fjQMwdTR9cb37
I can reproduce the issue on my iPhone 14 Pro Max, happens on an app I am developing too so it's not unique to this specific app

Thanks for the report @QuncCccccc I am unable to replicate the behavior after accessing the link on iOS safari in physical device (iPhone 6s, OS 15.3.1) and also using iOS simulator (iPhone 13 pro max, OS 15.2).
RPReplay-Final1671176345.MP4
Can you provide the device details on which this behavior occurs ? Also, does the crash occur consistently everytime you scroll ?

Yes, all iOS simulators work fine for me, and the app also works okay on iPhone 8(iOS 14.0.1) and iPad(iOS 14.4). But it crashes on iPhone 6(iOS 12.5.6), iPhone 12(iOS 16.1.1), iPhone 13(iOS 15.6.1), and iPhone 14(iOS 16.0.1), and the crashes occur consistently everytime. Both of the first two pages will cause a crash when start scrolling. Based on my experiments, I think the app just crashes on most of the iOS web.

I was able reproduce this locally with the iOS simulator by forcing the rendered to html:

Clone the repo: https://github.com/flutter/samples
cd samples/experimental/material_3_demo
flutter run --release -d chrome --web-renderer=html
Open the same URL from Chrome in the Safari browser in an iOS simulator
Scroll the main screen and it should crash

@yjbanov can someone from your team take a look at this? This is kinda blocking showing our demo app, as most people will probably see this as a web app and this causes it to crash immediately on iOS. Thx.

Ok, I may have spoken too soon. It doesn't reliably crash when scrolling, but I have been able to get it to crash a couple of times by just playing around with it (switching back an forth between M2/M3 and a lot of scrolling). It does appear to be intermittent in the simulator.

Turning on Safari debug I was able to see this in the log when I got it to crash:
[Warning] Total canvas memory use exceeds the maximum limit (224 MB). (main.dart.js, line 6711)
[Warning] Total canvas memory use exceeds the maximum limit (224 MB). (main.dart.js, line 6711)
[Warning] Total canvas memory use exceeds the maximum limit (224 MB). (main.dart.js, line 6711)
[Warning] Total canvas memory use exceeds the maximum limit (224 MB). (main.dart.js, line 6711)
[Warning] Total canvas memory use exceeds the maximum limit (224 MB). (main.dart.js, line 6711)
[Log] NoSuchMethodError: method not found: 'toString' on null (main.dart.js, line 24163)

And a bunch of exceptions after that.

I trie the steps to replicate as mentioned above and ran on iPhone 6s (OS 15.2.1) but was unable to replicate the issue.
https://user-images.githubusercontent.com/67046386/208828456-d9a9823a-faf0-4387-ba42-c482a75ef69d.MP4

I also am able to consistently reproduce this with my personal iPhone 13 Pro Max, it seems to crash the webkit process on scroll. I tried attaching devtools, but it was basically useless and immediately just says "webpage crashed" with no useful information in the console logs. I tried looking through my logs for a crash report for the webkit process, but I couldn't seem to find one. Hmm.

CanvasKit renderer works fine, slight jank on scrolling but no crashes.

Just tried to deploy the app again, but the crash seems still happen on my device.

@mdebbar thanks so much for tackling this issue. We will definitely look into integrating your PR that adds repaint boundaries. Is there any guidance here as to where they needed to be added? (I.e. large groups of widgets? or stuff that takes up a lot of screen real estate?)
I haven't had a chance to run the demo with the suggested changes, I will play with tomorrow.
Should we go ahead and try to cherry pick https://github.com/flutter/engine/pull/38640?
It sounds like https://github.com/flutter/engine/pull/38602 is promising, but not ready for production yet.

@mdebbar thanks so much for tackling this issue. We will definitely look into integrating your PR that adds repaint boundaries. Is there any guidance here as to where they needed to be added? (I.e. large groups of widgets? or stuff that takes up a lot of screen real estate?)

I'm not sure if there's general guidance on adding repaint boundaries. It's on a case by case basis. For example, when I open the material 3 demo in Safari (desktop), I looked at the allocated canvases (in devtools, in the Graphics tab):

When I hover over any of these canvases, it highlights this area:

So that tells me we are allocating a large canvas to render a single button in it. By adding a repaint boundary around each Card, we are restricting the size of canvas allocation to that Card's size.
After adding repaint boundaries:
Still not ideal, but the canvases are much smaller:

And each canvas only covers a single Card:

I haven't had a chance to run the demo with the suggested changes, I will play with tomorrow.

Please let me know if it makes things better.

Should we go ahead and try to cherry pick flutter/engine#38640?

Sure. Did you mean cherry-picking for beta or stable?

@mdebbar thanks so much for the info. That makes a lot of sense. Both Qun and I have tried this and it appears to fix the problem for us. Given that she wasn't seeing it using only the beta branch (which I assume doesn't have https://github.com/flutter/engine/pull/38640) perhaps we don't need it to be cherry picked. If the web team deems it important enough to push for, please go ahead and start the cherry pick process for it, but if we are running the demo fine with just the repaint boundaries added, that works for us right now. Thx.

Since the crash is fixed, I'm going to close this issue.
I captured the things that we still need to improve in this issue: https://github.com/flutter/flutter/issues/118471


Skip group mailbox items that were deleted in flight

Discovered an issue with how we were handling items deleted in flight with the lazy item reader. This needs to go in before integration PR. https://github.com/alcionai/corso/pull/4921
Here are the details.
Orig:

For such items, we were using the exchange approach to persist an empty data file (with serialized version) and not persist it in details file.
Exchange discovers the deleted items during next backup during delta query and excludes them.

Problem:

Group mailbox doesn't support delta queries. Also, there is no graph API to discover/fetch deleted items.
So if we use the exchange lazy reader approach like above, the ongoing backup will succeed. However, the next incremental backup fails during details merge with  running backup: merging details: incomplete migration of backup details.
Failure is here. It's because the deleted item reporefs are still present in the merge base. Since there is no delta query, there is no GetDeleted() to exclude the item.

Mod:

Using the approach drive lazy reader code uses to mark an item as skipped, so that kopia doesn't error out during upload.

Does this PR need a docs update or release note?

[ ] :white_check_mark: Yes, it's included
[ ] :clock1: Yes, but in a later PR
[x] :no_entry: No

Type of change

[ ] :sunflower: Feature
[x] :bug: Bugfix
[ ] :world_map: Documentation
[ ] :robot: Supportability/Tests
[ ] :computer: CI/Deployment
[ ] :broom: Tech Debt/Cleanup

Issue(s)

https://github.com/alcionai/corso/issues/4862

Test Plan

[x] :muscle: Manual
[x] :zap: Unit test
[ ] :green_heart: E2E

The changes looks good to me. I am just wondering why we did it the old way earlier 🤔. I'm guessing that we did not have the idea of skippable items when we initially wrote this.

Thanks Abin. I think the skippable item code came earlier, followed by the exchange lazy item reader. I'm planning to bring this up in our next meeting. I think skipping approach is probably better. Exchange approach pushes the responsibility on to next backup and delta query. There might be some context behind why we decided to do it this way. Will discuss.


[APPM-1232] Reject notification not transferred properly to the creator

It was observed that intermittently the reject message is not properly sent back. A different notification is generated for the creator. Please refer the attached screenshot. Here the entered message was not sent to the creator a different message was sent.Reference: https://wso2.org/jira/browse/APPM-1232

App manager component is being rewritten for IoT server, and this will be addressed there. Hence closing the issue.