OCM-8416 | ci: Automate 64095

What this PR does / why we need it:
Which issue(s) this PR fixes (optional, use fixes #<issue_number>(, fixes #<issue_number>, ...) format, where issue_number might be a GitHub issue, or a Jira story (OCM-xxxx):
Fixes #OCM-8416
Change type

[ ] New feature
[ ] Bug fix
[ ] Build
[ x] CI
[ ] Documentation
[ ] Performance
[ ] Refactor
[ ] Style
[ ] Unit tests
[ ] Subsystem tests

Checklist

[ x] Subject and description added to both, commit and PR.
[ x] Relevant issues have been referenced.

CI failures are known and under investigation

/retest


clean up logs

Cleans up a few logging statements as requested by @jkrauska. Closes https://github.com/CodaProtocol/coda/issues/983

@imeckler Does this also remove the 'Total time was: Xs' output, because that's my main source of snark metrics...   in transaction-snark-profiler


Library running quite slow compared to TensorFlow

I just tested the library with model GoogleNet, which should be the same model of Tensorflow demo and it runs more than 10s for each image, which is much more than the TF demo.
Is it because the caffe model doesn't scale the image size while the TensorFlow demo scales it to a relatively smaller one (224 * 224). Or there are some other things I've missed?

@sh1r0 Really looking forwards to your response.

we get 400ms to 1500ms on various devices so there is something wrong with your build


unnamedplus fails when using Mac Xquartz as X server.

Setup:
vim/gvim (Huge, gtk2, 8.1.1777) running on CentOS linux host.
(g)vim started -N -u NONE -U NONE
(g)vim then has clipboard=unnamedplus set.
gvim displaying on Mac (10.14.6) via Xquartz
Xquartz installed on mac via macports ("port install xorg-server")
version XQuartz 1.20.5, xorg-server 1.20.5.
Xquartz has followiong pasteboard preferences set:
	Enable syncing
	Enable Update Pasteboard when CLIPBOARD changes
	Enable Update CLIPBOARD when Pasteboard changes
	Other pasteboard options disabled (Update PRIMARY,
		Update Pasteboard immediately)

Test:
copy/paste both within vim/gvim on Linux and
from vim/gvim on Linux to Mac pasteboard/apps.
Result:
Using gvim with Xquartz having "Update Pasteboard" option enabled,
copy to + register (e.g. yy with clipboard=unamedplus) is unreliable.
Subsequent paste in gvim gives error "E353: Nothing in register +".
After copy, examination of + register (:reg +) shows it unset or
with stale value.  Rarely, copy to + succeeds and then paste is
successful both within gvim and on Mac.
With gvim and Xquartz "Update pasteboard when CLIPBOARD changes"
option disabled, copy to + register is reliable.

With vim, copy to + register is reliable regardless of Xquartz
"Update Pasteboard" setting and Mac pasteboard is updated correctly.

gvim behavior seems to be specific to Xquartz.
Using an Xserver on linux, copy with unnamedplus works fine,
+ register is updated and clipboard may be pasted into another
local X app.

Summary:
This seems to be an interaction between gvim gtk2 and Xquartz.
Enabling Xquartz X11 CLIPBOARD to Mac Pasteboard handling appears
to cause + register to not get updated in gvim during gvim copy
operation.
Directly specifying + register ("+y) does not help.
Specifying another register (other than + or *) works fine.

While this gvim behavior seems to be specific to Xquartz, there seems
to be some vim gtk2 involvement.  Use of unnamedplus works fine in vim
with same Xquartz options and Xquartz reliably updates Mac pasteboard.

A couple of extra details regarding gvim failure scenario:
2yy does not show the expected status line "2 lines yanked".
The Mac pasteboard is updated, it's just the + register is not.

Ignore the "2yy  does no show.."  pilot error.

Another symptom: In gvim with Xquartz and "Update Pasteboard" enabled, doing dd (or any similar command that assigns to + register) will give the error:
E341:  Internal error: lalloc(0, )
As before, if Xquartz "Update Pasteboard" option is disabled, the error does not occur.

have you contacted the Xquartz developers?

I haven't yet contacted the XQuartz developers, but I will (as soon as I figure out how to contact them).
Vim (as opposed to gvim) seems to handles copy/paste with Xquartz just fine, so I was wonder if there was some hint to  the problem there.

Vim (as opposed to gvim) seems to handles copy/paste with Xquartz just fine, so I was wonder if there was some hint to the problem there.

While Vim uses the Xlib API directly to implement copy/paste, gVim relies on the API provided by the GUI toolkit it uses.  So, another hint might also lie in the difference, if any, between the implementation of Vim's copy/paste and that of the toolkit's.

I found my previous comment was somehow misleading.  Let me correct that.  Vim rather uses the API of libXt instead of that of Xlib.  That said, as libXt is also known as X11 Toolkit Intrinsics Library, it's a straightforward application of the Xlib API.  That's what I actually wanted to mean with the previous comment.

Hi.  I now believe this issue can be attributed to an older version of libXt.
The system where gvim was exhibiting this problem was running Centos 6.  When I setup a similar experiment on a Centos 7 system, I could not reproduce the problem.
Thanks for your patience and suggestions.
Mike

This issue may be closed.


Pydantic Roadmap 🏎

Below is a (by no means exhaustive) list of current priorities. Community feedback is more than welcome 🌟!
Pydantic

[x] Support validate strings, https://github.com/pydantic/pydantic-core/pull/883
[x] #7845 (goes with #6994)
[x] #7462
[ ] Better documentation / consensus on desired behavior for #7577
[x] #7864
[ ] #7796
[ ] #7946
[ ] #6423

Documentation

[ ] Documentation for pydantic-core types
[ ] #7576
[ ] #3884
[ ] #7323
[ ] Improve cross links / code ref links in pydantic docs
[ ] #7534

Miscellaneous

[ ] Release improvements https://github.com/pydantic/pydantic/pull/7244#discussion_r1304585752
[ ] #7656
[ ] #7188

Closing in favor of a milestone approach. Going to try that out for the next release 👍. Will return to the issue-hub strategy if we prefer that after some experimentation.


Fix/improve CI issues with 105 and 208

Temporarily remove progress bar from download_file in 105: this causes issues on macOS with this large file: Jupyter shows many iopub data rate messages.
Add --num_attempts to model downloader in 208 to make it a bit more robust and try downloading a model file up to three times if it fails (rest of changes in 208 are metadata changes)
Set progress bar to display a bit less often in notebook_utils to prevent Jupyter iopub errors (this is not enough to fix it for macOS but a more robust default on Windows and Linux). Also minor update to download_model function to only show progress bar on bin download, not xml (since that is usually very small). notebook_utils.py and notebook_utils.ipynb are now in sync.

This is not a real fix for the download issues with 208. The model source file is stored on Google Drive, and sometimes the download limit is reached.

Created issue to improve progress bar and put it back in 105 when that is done. https://github.com/openvinotoolkit/openvino_notebooks/issues/230


Update biber to 2.15

It's not documented anywhere in this package, but the biber and biblatex versions need to be compatible with each other. See "Compatibility matrix" in https://anorien.csc.warwick.ac.uk/mirrors/CTAN/biblio/biber/documentation/biber.pdf. 2.14 and 3.14 go together, and since tectonic itself has not updated it's biblatex version, we need to keep this biber version at 2.4.


Unexpected Behavior

Subject: Clarification Request Regarding InMemoryUploadedFile Handling in the Document Class
Dear [Repository Owner/Team],
I am reaching out to seek clarification regarding a potential discrepancy I have observed in the behavior of the Document class within the docx  documentation on GitHub.
In the documentation, the Document class is described as follows:
Document(docx: str | IO[bytes] | None = None):
    """Return a |Document| object loaded from `docx`, where `docx` can be either a path
    to a ``.docx`` file (a string) or a file-like object.

    If `docx` is missing or ``None``, the built-in default document "template" is
    loaded.

I have attempted to use the Document class with a file object of type <class 'django.core.files.uploadedfile.InMemoryUploadedFile'>, and it seems that the file is being read successfully. However, I want to confirm whether this behavior aligns with the intended design of the Document class or if it might indicate an undocumented feature or potential issue.
Could you kindly provide clarification on whether the Document class is expected to handle file objects of this type, or if there are any limitations mentioned in the documentation that I might have overlooked?
Your insights into this matter would greatly assist me in understanding the expected behavior and potential considerations for handling file objects within the Document class.
Thank you for your time and assistance. I look forward to hearing from you soon.
Best regards,
Azim Malekshahi

It sounds like InMemoryUploadedFile implements the IO[bytes] interface, namely having a seek() and read() method, so you're fine using those in that case.
There are no restrictions other than that. We just need to get the bytes of the document file and seek() and read() are all we need to do that.
Btw, the docx.api.Document object you mention is a function (alternate constructor you can think of it as). The actual class you get back is docx.document.Document I believe.

Hello Steve ,
Thank you so much for your prompt and insightful response! Your clarification on the InMemoryUploadedFile and its implementation of the IO[bytes] interface is incredibly helpful. I appreciate the reassurance that utilizing the seek() and read() methods is all we need to work with the bytes of the document file.
Also, your additional note about the docx.api.Document object and its actual class, docx.document.Document, is valuable information. It's great to have a clear understanding of these nuances.
Thanks again.
Best regards,
Azim Malekshahi


Add a command line option to start vscode with the integrated terminal open

Currently, I am able to start VSCode from the terminal by running code <path>, and I know if I want to reuse the same window I have open, I can also add the -r flag.
My issue is that, when I do this from the integrated terminal, it closes and I have to reopen it manually. And same thing when I access from the OS's terminal; I usually have the server running in an external terminal but have the integrated one open for tests and other checks.
Having a flag like -t, which would automatically open the terminal, would be a small improvement that would help a lot.

Currently we try to avoid workbench-related features in the CLI. If we chose to make the terminal launchable by itself then it would probably gets this so closing a duplicate of https://github.com/microsoft/vscode/issues/34442


Retrieve not composite STAC - but a stack multi date layer?

First of all I congratulate you, very useful and easy to use package.
I ask you a question, in your plans of development is there the possibility of being able to download not a composite of a month but individual images that are filtered for cloud cover.
Meaning that instead of getting a composite create a raster stack where there are individual dates (obviously for each band)

Howdy @agronomofiorentini ! Yes, this should be possible by setting composite_function = NULL:
library(rsi)
future::plan("multisession")

aoi <- sf::st_point(c(-74.912131, 44.080410)) |>
  sf::st_sfc() |>
  sf::st_set_crs(4326) |>
  sf::st_transform(3857) |>
  sf::st_buffer(1000)

images <- get_landsat_imagery(
  aoi = aoi,
  start_date = "2022-06-01",
  end_date = "2022-08-01",
  composite_function = NULL
)

images
#> [1] "island_dear_left_2022-07-27T15:44:51.989020Z.tif"
#> [2] "island_dear_left_2022-07-03T15:45:06.204955Z.tif"
#> [3] "island_dear_left_2022-06-17T15:45:03.055481Z.tif"
#> [4] "island_dear_left_2022-06-09T15:44:23.649712Z.tif"
#> [5] "island_dear_left_2022-06-01T15:44:51.569374Z.tif"

Created on 2023-11-20 with reprex v2.0.2
You need the most recent version of rsi (from three weeks ago), because this was temporarily broken, but with the most recent version this will download individual images, appending the datetime of each item to the end if it exists or a sequential ID if it doesn't. I think the documentation needs to be more clear about this feature (and I don't love the million different things composite_function controls right now) -- but this should work for this use case :smile:

sorry for the late reply.
It's working as you perfectly explained.
Can we filter by cloud cover? anyway great.

Just to update the second half of this issue: you can now pass CQL2 queries to query_function to filter based on cloud cover. Please open a new issue if this doesn't work or could be improved for your use-case :smile:
https://permian-global-research.github.io/rsi/articles/Downloading-data-from-STAC-APIs-using-rsi.html#using-cql2-to-refine-queries-to-stac-apis


Create Monorepo with front and backend

created yarn monorepo
added react app
added express project

@AvinashSingh786 is this better ?

@AvinashSingh786 im a little confused. are there any object files? are you reffering to the package folder?

@AvinashSingh786 im a little confused. are there any object files? are you reffering to the package folder?

It's typically a bad idea to commit node_modules folder and files that are generated by package managers as they won't work across all devices and sometimes tailored to your own OS or system config.

I took the node modules out of the commit tho?


Add test string filter

Feature request #68
Match filter coming to if I've got the time

Awesome @ctjhoa
Thx!


Can't find d3dx12.h from nuget download

I downloaded this project by NuGet package manager in Visual Studio 2017. (2<IP_ADDRESS>)
I tried to use DescriptorHeap so included its header(DescriptorHeap.h) but it occurs an error. (can not find d3dx12.h)
d3dx12.h is in Src folder but the Src folder does not exist in NuGet downloaded package. So can not find it. (it only has library files)

The official way you get D3DX12.H is to download it from GitHub and throw a copy into your project. There's no NuGet for it, although copies of it are included in Visual Studio templates. The official master copy for this header is here.
See also the Direct3D Game VS Template which is hosted on directx-vs-templates

I will take not that I don't strictly need to take a hard dependacy on client-code having D3DX12.H, so I'll look at cleaning up that usage in DescriptorHeap.h.


endpoint: don't hold the endpoint lock while generating policy

This PR has, basically, two parts. For more details, see the individual commit messages.

Make some endpoint accessor methods lock-free. Some are replaced with a sync.Map or sync.Atomic, others are actually immutable and don't need locking.
Calculate an endpoint's policy without holding the endpoint lock.

As preparation for further refactors of the policy engine, it would be desirable to stop holding the whole endpoint lock while we compute policy. To do this, we need to read some values, unlock, compute policy, then lock and apply. More subtly, we need to make sure that regeneration succeeds before unlocking again.
Why is this safe?
Good question.
Endpoint regeneration has a complicated locking story. There are two interesting locks here, both of which combine to protect certain fields that are modified both internally and externally.
Regeneration is serialized by the ep.buildMutex, which ensures we never regenerate and compute policy in parallel. That means we are free to read and write the internal policy fields freely, since we never have to protect against write collisions.
Other fields accessed externally may be protected behind ep.mutex. However, this is too heavy-weight. Why? Because during policy computation, the policy engine needs to read back in to the endpoint. Additionally, the ipcache needs to provide policy deltas to the existing policy without being blocked.
The solution is to determine, exactly, which fields need to be blocked by which mutex. The critical observation is that some fields need both the mutex and the buildMutex to be written to. This ensures consistency in the face of regeneration and parallel operations.
Relevant fields and their mutexes:

ep.desiredPolicy -- READ by the ipcache, WRITTEN by regeneration. Protected by ep.mutex
ep.policyRevision -- READ by everyone, WRITTEN by regeneration AND the policy engine. Protected by ep.mutex and ep.buildMutex
ep.selectorPolicy -- READ by regeneration, WRITTEN by regeneration and the identity resolution loop. Protected by ep.mutex and ep.identityRevision
ep.realizedRedirects -- READ external policy calculation, WRITTEN by regeneration. Protected by ep.mutex and ep.buildMutex

/test

The tests found a bug in this code! It was possible for the ep.policyRevision to go backwards if the repo's policy revision was bumped while regeneration was in progress. Updated to require the buildMutex to bump policy revision. This preserves existing behavior.

I've written a lot of commentary around locks, fields, and the requirements around them. As part of doing so, I found a bug in the code, so fixed that too.
The only serious change since the last review pass was discovering a case where policyRevision could go backwards; I've fixed that.

I've written a lot of commentary around locks, fields, and the requirements around them. As part of doing so, I found a bug in the code, so fixed that too.
The only serious change since the last review pass was discovering a case where policyRevision could go backwards; I've fixed that.

Is the bug fix is the same as the policyRevision going backwards fix? I'm thinking it would be good to separate bug fixes into separate commits so that we fix them and backport them without tying them with the overall change of removing the lock dependency while generating policy. However, from your msg it's not clear to me if there are separate bug fixes or if they all comes from the overall change.

Is the bug fix is the same as the policyRevision going backwards fix?

I should have been more precise; there was a bug in a previous version of this PR, which tests caught. No bugs in the existing codebase.

/test

Maybe this PR should be labeled as blocked due to feature freeze? IMO we should not rush fundamental changes around locking into a release at the last moment (1.14 in this case)?

That was my idea at first, but now it seems this fixes a critical bug in v1.13, so........

Maybe this PR should be labeled as blocked due to feature freeze? IMO we should not rush fundamental changes around locking into a release at the last moment (1.14 in this case)?

That was my idea at first, but now it seems this fixes a critical bug in v1.13, so........

In that case the bug fix should be carved out into a minimally risky separate PR.

First 3 commits look safe enough, but the final one feels too risky to push into a release this late in the release cycle. Please factor out any bug fixes to a separate PR, and let's hold on the major change until the feature freeze for 1.14 is over.

Unfortunately, the last commit is the bugfix. The others are just preparatory.

Just adding the dont-merge label to prevent premature merging, I want to make sure it doesn't just slip in accidentally if we're still planning on taking further action first :)
@squeed feel free to drop the label if you feel you've got enough input on this. I'd like to take a look at some point, but release time is incredibly busy for me to try to block out time to properly sink myself into changes with complex locking or goroutine implications 😣 .

Provisionally applying the dont-merge label here since this came in right before the freeze window. Maybe we should land this as a backport when it's received a bit wider review?

I needed to read through the policy calculation process to ensure we wouldn't miss any incremental updates while policy is being evaluated. At this point, I'm fairly sure we don't have any issues here. I wrote my findings in the PR's description.
I'm going to try and build a test harness that stubs out the datapath and exercises the incremental policy update engine, just to get some more coverage. But I'm getting pretty comfortable with this PR.

Just a heads up, there's an incomplete sentence in the PR description :)

Since incremental updates are "idempotent", it is safe to see that we

/test

@jrajahalme thanks for the careful review. I must confess, I don't have a good intuition for the dance between bpf and envoy policy. Do you think there's another issue? Is shifting around the endpoint lock going to cause a problem? My first reading is, no, we should be fine since this doesn't change the timing of how policy changes are applied.

Interesting, the upstream network policy test failed. I'm looking in to whether or not this is a flake.

Given current conversation, consensus is that we would like this in. Hence, I'm removing the wait-until-release label. Leaving bad-bot for now, just to get confirmation. But, if tests pass, I think this can go i.

/test

/test


Please Create a Ruby Gem

Man, I'd love to just include this thing in my Gemfile and go!

This should be part of it's own project. I'm closing this for now :)


Andrada Pumnea - Does hate sound the same in all languages? | PyData Berlin 2019

https://youtu.be/xFTTHCH4yiQ?list=PLrreiQzMtASRWlvA20GiuN4qukHrjWhAZ
Contents
0:00  - Introduction
1:06  - Agenda
2:53  - Transfer Learning
5:15  - Focus on low(er) resource languages
9:49  - Labeling workflow
13:55 - Training models
19:16 - Results
22:33 - Conclusion
23:45 - End of talk + Questions

Thank you, in general, avoid things like "conclusion, results, end of talk" and replace them with specific details


records being saved without validation causing issues

HyperMesh does a temporary save of related records inside of a rolled back transaction without validations so that the client state is setup on the server.  This is fine unless you have a Model that must not be saved if its invalid, then you have a problem.
Reported by @sfcgeorge
Will require either rethinking how we deal with unsaved client side changes, during validation.

1st issue we found is unique constraints: If you have a join table you may well have a compound unique constraint on it as we do below. For data integrity you also add a corresponding database unique constraint (the Rails validation isn't atomic). This new change causes the join table to be saved without validation, so you get an unfriendly database error instead of the nice Rails message.
validates :industry_id, uniqueness: { scope: :preference_id }

2nd issue is an off by one limit validation. The below used to let you save 3 then give you this error. Now, because the join table is saved before validations are run, it only lets you save 2.
validate :maximum_industries
def maximum_industries
  return unless preference.industries.count >= 3
  errors.add(:industries, "maximum 3 industries")
end

So when saving complex trees this causes all kinds of issues, so I don't think the change is tenable. I get that you want to build the tree of models on the server as it is on the client, then save. So why not do just that? build all the models and associations, then call save on the top level parent record, let Rails save all the associations and leaves as usual.


How to set syntaxt highlight without extension

Description of the problem or steps to reproduce
Don't know how to set a specific file to match a unknown filetype without extension. I would use that for config files (especially i3wm but lots of others in my OS
Specifications

Commit hash: 2.0.8 fershly compiled from source (64bits)
OS: Slackware-current
Terminal:xfce4-terminal

You can set the filetype option based on a glob match of the filename in settings.json. For example:
{
    "myconfigfile": {
        "filetype": "shell"
    }
}

Thanks alot for your quick answer ! Works perfectly :-)


[Identity] Migrate to the latest dev-tool's rollup

More information here: https://github.com/Azure/azure-sdk-for-js/pull/16514#discussion_r675727507

I already did this in https://github.com/Azure/azure-sdk-for-js/commit/187bad7be84e4d1d5558d343e3f8cd589c00f3d1

I saw some weird behavior in https://github.com/Azure/azure-sdk-for-js/pull/16514, but eventually I was able to get rid of the problem and go back to what Will had: https://github.com/Azure/azure-sdk-for-js/pull/16514/commits/bb1033ab59759555aac0e224c86905bae7f0b2fd closing this!


Any way to get variables keys from jinja2 template string?

Here is the code snippet I have initialized jinja2 template
from jinja2 import Template

templ = Template("{{foo}} to {{bar}}")

And I am willing to extract the template string variable keys from the template obj as below.
templ.keys() == ["foo", "bar"]
Is there any API to make it work? I have searched for a long while but got nothing work.

+1!

http://jinja.pocoo.org/docs/dev/api/#jinja2.meta.find_undeclared_variables

@davidism, Thank you for your reply above - it makes perfect sense for simple variables.
But what should I do with nested variables like foo.bar?
Is thee any way to get those too?
Using the method above I can get foo, but I'm not getting foo.bar.


Possible DNS redirect loop

This is theoretical, need to test
/etc/resolv.conf points to some localhost DNS proxy (dnsmasq?), say <IP_ADDRESS>.
The <IP_ADDRESS> forwards to some upstream DNS server, say cloud-dns
DNS request lifecycle:
application ---> agent (intercepted) ---> <IP_ADDRESS> (forward upstream) ---> forward upstream to cloud-dns, but since its not UID 1337 its iptables captured, redirected back to agent --> repeat

Then only intercept dns request which dst ip equals the nameserver.

Then only intercept dns request which dst ip equals the nameserver.

I confirmed this happens with systemd-resolvd on GCE ubuntu

I confirmed this happens with systemd-resolvd on GCE ubuntu

Same on AWS EC2 with Ubuntu 18.04 based on systemd-resolvd.

Same on AWS EC2 with Ubuntu 18.04 based on systemd-resolvd.

Then only intercept dns request which dst ip equals the nameserver.

Thought about it some more, I think this is our best option. I will implement it.


Type was not changed when repository was moved

update type after repo moved to application-dm-templates
otherwise templates can't be expanded

LGTM


ImportError: dynamic module does not define module export function (PyInit__ext)

i prepared the environment according to the README, but still reports this error:
Traceback (most recent call last):
  File "/tmp-data/user1/code/3d_object_detection/MonoFlex-main/tools/plain_train_net.py", line 25, in <module>
    from model.detector import KeypointDetector
  File "/tmp-data/user1/code/3d_object_detection/MonoFlex-main/model/detector.py", line 6, in <module>
    from .backbone import build_backbone
  File "/tmp-data/user1/code/3d_object_detection/MonoFlex-main/model/backbone/__init__.py", line 1, in <module>
    from .dla_dcn import build_backbone
  File "/tmp-data/user1/code/3d_object_detection/MonoFlex-main/model/backbone/dla_dcn.py", line 16, in <module>
    from model.backbone.DCNv2.dcn_v2 import DCN
  File "/tmp-data/user1/code/3d_object_detection/MonoFlex-main/model/backbone/DCNv2/dcn_v2.py", line 13, in <module>
    import _ext as _backend
ImportError: dynamic module does not define module export function (PyInit__ext)

I meet the same problem. had you solved it?

I have the same problem. Could anyone provide a solution?

Could anyone have solved this problem?

I have the same problem Could anyone provide a solution?

I solve this problem, in MonoFlex/model/backbone/DCNv2/dcn_v2.py add:
import sys
# print(sys.path)
sys.path.remove('/yourpath/model/backbone/DCNv2')
sys.path.insert(0,'/yourpath/model/backbone/DCNv2')

I solve this problem, in MonoFlex/model/backbone/DCNv2/dcn_v2.py add:
import sys
# print(sys.path)
sys.path.remove('/yourpath/model/backbone/DCNv2')
sys.path.insert(0,'/yourpath/model/backbone/DCNv2')

I works.
When I run this repo on server with GeForce 2080Ti, this code work properly.
But when I run this repo on my notebook with 2060, It seems to need add your code listed above.
Thank you.


Document usage of hfh cli instead of git

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.


Root volume is moved to Allocated state after Reinstall/Restore VM

Root volume is Allocated state after Reinstall/Restore VM, in Stopped state (VM deployed in local storage pool).
ISSUE TYPE

Bug Report

COMPONENT NAME

VM

CLOUDSTACK VERSION

4.17 RC2

OS / ENVIRONMENT

MS: CentOS 7 + Hypervisor: KVM + Storage: NFS, Local
SUMMARY

Reinstall/Restore operation of a Stopped VM (deployed in local storage pool) succeeded, but the ROOT volume is in Allocated state.
Logs =>
2022-05-11 06:05:40,366 DEBUG [o.a.c.f.j.i.AsyncJobManagerImpl] (AsyncJobMgr-Heartbeat-1:ctx-b0e7b96a) (logid:6857341c) Schedule queued job-73
2022-05-11 06:05:40,371 INFO  [o.a.c.f.j.i.AsyncJobMonitor] (Work-Job-Executor-20:ctx-b125231e job-72/job-73) (logid:8520bd75) Add job-73 into job monitoring
2022-05-11 06:05:40,375 DEBUG [o.a.c.f.j.i.AsyncJobManagerImpl] (Work-Job-Executor-20:ctx-b125231e job-72/job-73) (logid:b3a63d7c) Executing AsyncJobVO: {id:73, userId: 2, accountId: 2, instanceType: null, instanceId: null, cmd: com.cloud.vm.VmWorkRestore, cmdInfo: rO0ABXNyABpjb20uY2xvdWQudm0uVm1Xb3JrUmVzdG9yZQK3-6IUa1sTAgABTAAKdGVtcGxhdGVJZHQAEExqYXZhL2xhbmcvTG9uZzt4cgATY29tLmNsb3VkLnZtLlZtV29ya5-ZtlbwJWdrAgAESgAJYWNjb3VudElkSgAGdXNlcklkSgAEdm1JZEwAC2hhbmRsZXJOYW1ldAASTGphdmEvbGFuZy9TdHJpbmc7eHAAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAV0ABlWaXJ0dWFsTWFjaGluZU1hbmFnZXJJbXBsc3IADmphdmEubGFuZy5Mb25nO4vkkMyPI98CAAFKAAV2YWx1ZXhyABBqYXZhLmxhbmcuTnVtYmVyhqyVHQuU4IsCAAB4cAAAAAAAAAAE, cmdVersion: 0, status: IN_PROGRESS, processStatus: 0, resultCode: 0, result: null, initMsid:<PHONE_NUMBER>5986, completeMsid: null, lastUpdated: null, lastPolled: null, created: Wed May 11 06:05:38 UTC 2022, removed: null}
2022-05-11 06:05:40,375 DEBUG [c.c.v.VmWorkJobDispatcher] (Work-Job-Executor-20:ctx-b125231e job-72/job-73) (logid:b3a63d7c) Run VM work job: com.cloud.vm.VmWorkRestore for VM 5, job origin: 72
2022-05-11 06:05:40,377 DEBUG [c.c.v.VmWorkJobHandlerProxy] (Work-Job-Executor-20:ctx-b125231e job-72/job-73 ctx-2be6e84e) (logid:b3a63d7c) Execute VM work job: com.cloud.vm.VmWorkRestore{"templateId":4,"userId":2,"accountId":2,"vmId":5,"handlerName":"VirtualMachineManagerImpl"}
2022-05-11 06:05:40,378 DEBUG [c.c.v.VirtualMachineManagerImpl] (Work-Job-Executor-20:ctx-b125231e job-72/job-73 ctx-2be6e84e) (logid:b3a63d7c) Restoring vm 5 with new templateId 4
...
2022-05-11 06:05:40,444 DEBUG [o.a.c.f.j.i.AsyncJobManagerImpl] (Work-Job-Executor-20:ctx-b125231e job-72/job-73) (logid:b3a63d7c) Done executing com.cloud.vm.VmWorkRestore for job-73
2022-05-11 06:05:40,446 INFO  [o.a.c.f.j.i.AsyncJobMonitor] (Work-Job-Executor-20:ctx-b125231e job-72/job-73) (logid:b3a63d7c) Remove job-73 from job monitoring
2022-05-11 06:05:40,460 DEBUG [o.a.c.f.j.i.AsyncJobManagerImpl] (API-Job-Executor-49:ctx-2eee8785 job-72 ctx-ad490327) (logid:b3a63d7c) Complete async job-72, jobStatus: SUCCEEDED, resultCode: 0, result: org.apache.cloudstack.api.response.UserVmResponse/virtualmachine/{"id":"2f6610ac-72ec-4112-9d30-69d2065c8a3a","name":"NewTestLocalVM09","displayname":"NewTestLocalVM01","account":"admin","userid":"7dbb3d96-cf5d-11ec-b370-1e00ba000212","username":"admin","domainid":"64482588-cf5d-11ec-b370-1e00ba000212","domain":"ROOT","created":"2022-05-09T08:08:23+0000","lastupdated":"2022-05-11T05:57:02+0000","state":"Stopped","haenable":"false","zoneid":"67ecf93f-6958-4b19-bad4-4742c67dc093","zonename":"trl-288-k-M7-suresh-anaparti","templateid":"644b8abf-cf5d-11ec-b370-1e00ba000212","templatename":"CentOS 5.5(64-bit) no GUI (KVM)","templatedisplaytext":"CentOS 5.5(64-bit) no GUI (KVM)","passwordenabled":"false","serviceofferingid":"9ce30249-de75-49f1-92a6-3d6c85532530","serviceofferingname":"Local Instance","diskofferingid":"fb0c363a-0afd-4ac3-bd56-ae24dcd54313","diskofferingname":"Local","cpunumber":"1","cpuspeed":"500","memory":"512","guestosid":"6473e9a7-cf5d-11ec-b370-1e00ba000212","rootdeviceid":"1","rootdevicetype":"DATADISK","securitygroup":[],"nic":[{"id":"eb6aa947-170f-4d93-88fb-87c415274a8f","networkid":"cdb44e7d-898c-4e90-b36d-feb604a1e050","networkname":"testnw01","netmask":"<IP_ADDRESS>","gateway":"<IP_ADDRESS>","ipaddress":"<IP_ADDRESS>","traffictype":"Guest","type":"Isolated","isdefault":"true","macaddress":"02:00:24:76:00:03","secondaryip":[],"extradhcpoption":[],"deviceid":"0"}],"hypervisor":"KVM","instancename":"i-2-5-VM","details":{"memoryOvercommitRatio":"1.0","Message.ReservedCapacityFreed.Flag":"false","cpuOvercommitRatio":"2.0"},"affinitygroup":[],"displayvm":"true","isdynamicallyscalable":"false","ostypeid":"6473e9a7-cf5d-11ec-b370-1e00ba000212","osdisplayname":"CentOS 5.5 (64-bit)","pooltype":"Filesystem","receivedbytes":"0","sentbytes":"0","tags":[],"hasannotations":"false","jobid":"b3a63d7c-2536-43ad-b29f-4e229b4ba6de","jobstatus":"0"}

DB =>
MariaDB [(none)]> SELECT id, uuid, name, state, instance_id, device_id, pool_id, size, updated FROM cloud.volumes WHERE instance_id = 5 ORDER BY device_id;
+----+--------------------------------------+-------------+-----------+-------------+-----------+---------+------------+---------------------+
| id | uuid                                 | name        | state     | instance_id | device_id | pool_id | size       | updated             |
+----+--------------------------------------+-------------+-----------+-------------+-----------+---------+------------+---------------------+
| 12 | 6e567702-a2e4-4cba-bded-5968cd7c4399 | ROOT-5      | Allocated |           5 |         0 |    NULL |<PHONE_NUMBER> | 2022-05-11 06:05:40 |
|  9 | dfd9ebda-24f1-4e49-b010-5405c19086f2 | LocalDATA01 | Ready     |           5 |         1 |       2 |<PHONE_NUMBER> | 2022-05-11 05:39:06 |
+----+--------------------------------------+-------------+-----------+-------------+-----------+---------+------------+---------------------+
2 rows in set (0.00 sec)

STEPS TO REPRODUCE

Deploy a VM (with local disk offering)
Stop, and Reinstall the VM (with same template)

EXPECTED RESULTS

Reinstall VM should succeed with all volumes in Ready state. If fails, should throw relevant error.
ACTUAL RESULTS

Reinstall VM succeeds with Root volume in Allocated state.

@sureshanaparti
As I remember, the volume is Allocated state when vm is reinstalled. When vm is started, the volume will be allocated to pool and switch to Ready state

@sureshanaparti the root volume being in Allocated state when a stopped VM is reinstalled is probably the right behaviour and I have verified the same in older versions of ACS - behviour is consistent. It gets to Ready state on start of the VM. Also, a running VM when reinstalled has it's root volume correctly marked as Ready.

The Root Volume is Created and Ready after VM started and VM is booting, seems to be the expected behavior. Thanks @weizhouapache @Pearl1594. Closing this ticket.


No more tutorials? :(

Title says it all. What happened?

Yeah they are a great resource

I got bored and got interested in electronics.

Aw, man. That sucks, these tutorials were great! :)

All right, more complete answer: I was experimenting with various directions of where the tutorials might go, and that very much depends on what you want to do with OpenGL. You can see these experiments with -x suffixes. I got several things implemented (and learned a lot), like texturing, bump mapping, camera, object selection, some profiling, text-as-polygons rendering, even basic UI layout flow. But while these worked, they themselves are not a tutorial, just a random mess. To make it into tutorial, I would need to take a step back and find how to present all this knowledge into coherent steps, where each step makes sense and is understandable on its own. That simply was not done. Also, half of tutorials need to be rewritten already, because things have changed in rust world: the hacky way I have wrapped gl crate can be cleaned up, the failure library is outdated, the choice to use procedural macros is questionable.


step03.gif file in step02

step02.jl has a show function call with filename "step03.gif".

this is another example of #10 .  Closing this issue.


pull request for e2e test at 12/12/2016 01:45:03

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

optest/docs/updated_at.md
:white_check_mark:Succeeded

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


UofT-DSI | Deep Learning - labs 1-6

What changes are you trying to make? (e.g. Adding or removing code, refactoring existing code, adding reports)
Adding lab code for labs 1-6.
What did you learn from the changes you have made?
I learned how to create a mode using 'sequential', how to use embeddings and dense layers, to create CNN models, use backprobagation and pooling. Among other things!
Was there another approach you were thinking about making? If so, what approach(es) were you thinking of?
n/a
Were there any challenges? If so, what issue(s) did you face? How did you overcome it?
I relistened to the the lectures and read documentation on keras.
How were these changes tested?
I checked the output was as expected.
A reference to a related issue in your repository (if applicable)
Checklist

[ ] I can confirm that my changes are working as intended

Labs 1-6 complete


Removed 3 functions that are no longer in use

Removed _materialized_path_to_id. It was added and seemed to never be used, or if it was, it was removed and rewritten long ago
Removed _resolve_id_to_parts. This was once used in validate_path, but was commented out and removed at one point. no longer in use
Removed _get_parent_ids. was only used by the above function.
refs: https://openscience.atlassian.net/browse/SVCS-462?filter=-3
Purpose
Trim unused code from googledrive provider.
Summary of Changes
removed 3 functions that were no longer in use, see commit message above for more details
QA Notes
I did some local testing of moving files, creating folders, uploading files, copy files and folders just to make sure everything seemed okay.
Nothing bad happened and everything should be fine since the functions were not in use. Probably needs more rigorous testing however.

Coverage increased (+0.3%) to 79.692% when pulling 04aa16fce36ce29d22c79a75692c659d58cac681 on AddisonSchiller:feature/googledrive-code-trim into 1d9a756f2ff3b87298eacf3e5f86fb53963ace2f on CenterForOpenScience:develop.


Share Test explorer, both results and actions like run/debug

Product and Version: VS, and not sure if will be posible on VS Code.
Will be a good feature if we can share the "Test Explorer" to let our guests see the results and also let them to run/debug specific test by their own.

@dwitsdev Thanks for the feedback! If you coudl upvote #33 that would be awesome 👍


Setting watch = true causes forever to trigger restart on changes even if start hasn't been called yet

I have some code like this:
var server = new (forever.Monitor)('./server.js', {
    options.watch = true;
    options.watchDirectory = __dirname;
});

server.on('watch:restart', function() {
    console.log('Restarting server...');
});

// server.start();

Despite commenting out the server.start() line, the server is restarted as soon as I change a file in the watched directory. Shouldn't Forever ignore the watched directory until .start() is called?

is anybody maintaining this package? I still have the same issue 5 years later


ghcHEAD: 20200403 -> 20200505

Motivation for this change
I couldn't resist when seeing the date...
Things done

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

[x] NixOS
[x] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

@GrahamcOfBorg build haskell.compiler.ghcHEAD

Superficially tested ghc, runghc, ghci.

Works handsomely on macOS.

Looks good.  Thanks @ggreif for always keeping this up to date.


Distance calculation failure

Hi,
I tried to run AFLGo with openjpeg according to README.
I succeeded to instrument but when I run gen_distance_fast.py script, the error messages are printed repeatedly as follows.
~/aflgo$ $AFLGO/scripts/gen_distance_fast.py $SUBJECT/build/bin $TMP_DIR opj_dump
(0) Constructing CG for /home/user/aflgo/openjpeg-2.1.1/build/bin/opj_dump.0.0.preopt.bc..
(1) Computing distance for callgraph
(1) Computing distance for control-flow graphs (this might take a while)
cfg distance calculator failed while calculating distance for /home/user/aflgo/temp/BBtargets.txt.
cfg distance calculator failed while calculating distance for /home/user/aflgo/temp/BBtargets.txt.
cfg distance calculator failed while calculating distance for /home/user/aflgo/temp/BBtargets.txt.
...

~/aflgo/temp$ cat step0.log
Writing 'callgraph.dot'...

Can you tell me what's the problem?
Additionally, I also tried to fuzz gif2png. However the configuration step failed with the following error.
$ ./configure
...
checking whether make sets $(MAKE)... yes
checking for gcc... /home/user/aflgo/gif2png-2.5.8/afl-clang-fast
checking whether the C compiler works... no
configure: error: in `/home/user/aflgo/gif2png-2.5.8':
configure: error: C compiler cannot create executables
See `config.log' for more details

I followed all 1~6 step on README file, Is there something I missed?

Does it generate the distance.cfg.txt file? If not, can you try gen_distance.sh instead of gen_distance_fast.py?
//cc @Liblor

Thank you! It works!
However I met another error..
Working in CG mode..
Loading targets..
No targets available
-- Problem in Step 2 of generating !
-- You can resume by executing:
$ ./scripts/genDistance.sh /home/user/aflgo/openjpeg-2.1.1/build/bin /home/user/aflgo/temp opj_dump /home/user/aflgo/temp /home/user/aflgo/temp

When I run the command, It returns the same error.
I wrote the BBtargets.txt file manually instead of executing showlinenum.awk because I have no diff file.
Is it related to the error?? My BBtargets.txt file looks like this.
circuit@circuit:~/aflgo/temp$ cat BBtargets.txt
src/lib/openjp2/cio.c:87

I think the issue is the same. Probably, gen_distance_fast.py doesn't catch the error nicely (if this is the case I'll try to address that to get more helpful bugreports). I'll see if I can reproduce the problem

Thanks. The targeted openjpeg is version 2.1.1.
Is there any way to proceed the fuzz test right away or should I wait for the problem to be fixed?

The issue is that you probably don't compile opj_dump statically, as this isn't the default! In that case, gen_distance_fast.py / genDistance.sh can't find the targeted function in the callgraph, because they are in some shared library (that's why genDistance.sh complains that no targets are available).
Compile opj_dump as follows and it should work:
cmake -DBUILD_SHARED_LIBS=off ..
make opj_dump

(also remove the previous build directory and temp dir, to be sure to have no conflicting files)
Let me know, if you got it running.

I succeeded with the cmake option! However my distance.cfg.txt file is empty..😢
~/aflgo/temp$ cat distance.cfg.txt
~/aflgo/temp$ cat step0.log
Writing 'callgraph.dot'...

Both scripts genDistance.sh and gen_distance_fast.py show the same result.
How can i fix it? This is my step2.log step2.log

Hi,
unfortunately I can't reproduce your issue. Maybe you had an old state file in the $TMP_DIR folder?
Here are the steps I performed:
# clear tmp dir and set the target
rm -r $TMP_DIR/*
echo "cio.c:87" > $TMP_DIR/BBtargets.txt

# Set aflgo-instrumenter
export CC=$AFLGO/afl-clang-fast
export CXX=$AFLGO/afl-clang-fast++

# Set aflgo-instrumentation flags
export ADDITIONAL="-targets=$TMP_DIR/BBtargets.txt -outdir=$TMP_DIR -flto -fuse-ld=gold -Wl,-plugin-opt=save-temps"
export CFLAGS="$ADDITIONAL"
export CXXFLAGS="$ADDITIONAL"

# Build opj_dump
cd $SUBJECT
mkdir build && cd build
cmake -DBUILD_SHARED_LIBS=off ..
make opj_dump

# Clean up
cat $TMP_DIR/BBnames.txt | rev | cut -d: -f2- | rev | sort | uniq > $TMP_DIR/BBnames2.txt && mv $TMP_DIR/BBnames2.txt $TMP_DIR/BBnames.txt
cat $TMP_DIR/BBcalls.txt | sort | uniq > $TMP_DIR/BBcalls2.txt && mv $TMP_DIR/BBcalls2.txt $TMP_DIR/BBcalls.txt

# Distance computation
$AFLGO/scripts/gen_distance_fast.py $SUBJECT/build/bin $TMP_DIR opj_dump

and the distance file isn't empty:
cat $TMP_DIR/distance.cfg.txt | sort | head
cio.c:78,6
cio.c:83,4
cio.c:85,3
cio.c:86,2
cio.c:87,1
j2k.c:1369,13
j2k.c:1376,12
j2k.c:1377,11
j2k.c:1385,13
j2k.c:1392,12

Thanks for your help!! I succeeded to run the fuzzer!😊😊


Bedtools issue

Hey,
I've installed all dependencies successfully, however SCAFE can't seem to find bedtools. Below is my attempt at running the demo data alongside proof that bedtools is both in the ./resources/bin folder and in my path (note: scafe.check.dependencies also can't find bedtools, I've also tried removing bedtools from my path in case there is a clash but same error occurs).
[regmgbe@login13 SCAFE]$ scafe.workflow.sc.solo --overwrite=yes --run_bam_path=./demo/input/sc.solo/demo.cellranger.bam --run_cellbarcode_path=./demo/input/sc.solo/demo.barcodes.tsv.gz --genome=hg19.gencode_v32lift37 --run_tag=demo --run_outDir=./demo/output/sc.solo/

#===========================#
Start running bam_to_ctss
#===========================#

=========================================================================
[2021-04-22 09:57] starts running ......
=========================================================================

[2021-04-22 09:57] Checking all SCAFE executables
bedtools is not installed properly. Quitting.

#========================================#
Results of bam_to_ctss not found. Quitting.
#========================================#
Died at /home/regmgbe/Programmes/SCAFE/scripts/scafe.workflow.sc.solo line 551.
[regmgbe@login13 SCAFE]$ bedtools --version
bedtools v2.25.0
[regmgbe@login13 SCAFE]$ ls -l resources/bin/bedtools/
total 36516
-rwxrwxrwx 1 regmgbe regmx0 37387240 Apr 21 14:37 bedtools

Any help would be greatly appreciated!

scafe depends on the bedtools bin within its directory, and it will not use the system-wide bedtools bin.
It seems the resources/bin/bedtools/bedtools bin failed to execute.
you might replace the resources/bin/bedtools/bedtools with your system-wide bedtools bin
and make sure  resources/bin/bedtools/bedtools  is executable.

I'm on a HPC cluster where bedtools is loaded as a module, so the easiest thing to do was to make sure the provided bedtools was executable (chmod 777), however the issue is still there.
[regmgbe@login13 SCAFE]$ ls -l resources/bin/bedtools/
total 36516
-rwxrwxrwx 1 regmgbe regmx0 37387240 Apr 21 14:37 bedtools

Think I've found the issue, looks to be a bedtools problem, feel free to close this if you think it's user specific.
[regmgbe@login13 bedtools]$ ./bedtools
./bedtools: error while loading shared libraries: libbz2.so.1.0: cannot open shared object file: No such file or directory

Problem rectified by downloading + making bedtools from GitHub, followed by replacing the ./resources/bin/bedtools/bedtools executable with the executable from GitHub, test run completed successfully.

@GBeattie thanks for reporting. Appreciated. Would modify the script to use the system-wide executable as the second choice to avoid similar problem in future.


Vector Tiles

A natural follow on the raster tiler work might be to look at vector tiles. timvt is a vector tile setup (data in PostGIS). This uses morecantile in the background, so there should be a fair bit of overlap. One thing I do not fully understand is how this might (or might now) work with elastic search.
Why ES? Because pygeoapi has support for CQL only on ES providers. Other providers are working this I'm sure since this is part 3 (I believe) of the OGC features API. Right now, if one wanted to serve vector data for CQL searches and the same data with a vector tile provider they would need to run ES and PostGres.
This opens a whole can of worms then about styling and symbology. Here is a link to Alessandro's repo with SVG-SLD work.

@jlaura there are a lot of backends for vector data sources that do and don't support CQL (geoserver does for example). I was also looking at https://github.com/kylebarron/dem-tiler which does something similar to timvt by serving mapbox vector tiles for contours using gdal_contour and tippecanoe.
One could imagine using the postgis driver in ogr2ogr to do something similar, or be semi agnostic to the specific backend provided there was gdal driver for the backends... But I wonder if the conversation about pygeoapi is really appropriate to this repo, as the moment these tilesets work it should be possible to use whichever solution you want.
I mean I do see that these vector tile formats also assume web mercator projections by default, maybe there's something to figure out there?
regarding the SVG-SLD work, how much of that is solved by Daven Quinn's project: https://davenquinn.com/projects/geologic-patterns/

@jlaura there are a lot of backends for vector data sources that do and don't support CQL (geoserver does for example). I was also looking at https://github.com/kylebarron/dem-tiler which does something similar to timvt by serving mapbox vector tiles for contours using gdal_contour and tippecanoe.

For sure, but not also OGC Features 1.0 compliant. And I agree that these should be possible to use, but I am not sure that they will be. Not all of the solutions are then fully compliant with the OGC requirements. Sure, maybe not appropriate for this repo, but we have upstream stuff to take care of to be able to use this work across the ecosystem.
So much of the ecosystem assumes web mercator, I'm not sure how to get around that honestly.
One the SVG - SLD side, thanks for linking Daven's work. There is a little bit of overlap in the patterns. Daven has more patterns supproted than Alessandro. Alessandro has more of the line / point symbologies (they are noted as future for Daven.) So, this still looks to be a wide open problem.

Hmm not so sure about that if you were saying geoserver didn’t support it https://docs.geoserver.org/latest/en/user/community/ogc-api/features/index.html but if not no worriesThis is a fairly new spec and something to keep an eye on for sure as more clients and servers come along, the geojson/gml part is something to look into more, maybe we can ship geojsons using the native crs coordinates and not worry about the whole “geojson is 4326” thing given the use of the tilematrixset…. - Dr. Andrew AnnexOn Dec 15, 2022, at 10:30 AM, jlaura @.***> wrote:
@jlaura there are a lot of backends for vector data sources that do and don't support CQL (geoserver does for example). I was also looking at https://github.com/kylebarron/dem-tiler which does something similar to timvt by serving mapbox vector tiles for contours using gdal_contour and tippecanoe.
For sure, but not also OGC Features 1.0 compliant. And I agree that these should be possible to use, but I am not sure that they will be. Not all of the solutions are then fully compliant with the OGC requirements. Sure, maybe not appropriate for this repo, but we have upstream stuff to take care of to be able to use this work across the ecosystem.
So much of the ecosystem assumes web mercator, I'm not sure how to get around that honestly.
One the SVG - SLD side, thanks for linking Daven's work. There is a little bit of overlap in the patterns. Daven has more patterns supproted than Alessandro. Alessandro has more of the line / point symbologies (they are noted as future for Daven.) So, this still looks to be a wide open problem.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>


Fix segfault: Prevent calling sasl_server_step before sasl_server_start

Fixes: https://github.com/memcached/memcached/issues/379
If sasl_server_step is called on a sasl_conn which has not had sasl_server_start called on it, it will segfault from reading uninitialized memory.
Memcached currently calls sasl_server_start when the client sends the SASL_AUTH command and sasl_server_step when the client sends the SASL_STEP command. So if the client sends SASL_STEP before SASL_AUTH, the server segfaults.
For well-behaved clients, this case never happens; but for the java-memcached-client, when configured with an incorrect password, it happens very frequently. This is likely because the client handles auth on a background thread and the socket may be swapped out in the middle of authentication. You can see that code here: https://github.com/dustin/java-memcached-client/blob/master/src/main/java/net/spy/memcached/auth/AuthThread.java
The specific line that causes the segfault in libsasl is in sasl_server_step in server.c:
    ret = s_conn->mech->m.plug->mech_step(conn->context,
					s_conn->sparams,
					clientin,
					clientinlen,
					serverout,
					serveroutlen,
					&conn->oparams);

it segfaults when doing the s_conn->mech->m.plug part with an error like Cannot access memory at address 0x10. This is because s_conn->mech is NULL.

I'm not sure that this is the best fix since it adds another field to the conn struct, but I could not find a way to cleanly determine if the sasl_conn had had sasl_server_start called on it using the existing data structures since sasl_conn_t is private so I can't just do c->sasl_conn->mech == NULL. Using the public libsasl API, I tried calling sasl_getprop like:
const char *sasl_mech_name;
sasl_getprop(c->sasl_conn, SASL_MECHNAME, (const void **) &sasl_mech_name);

calling that from process_bin_complete_sasl_auth, sasl_mech_name ends up getting set to the value of c->sfd. Depending on where you call that from, you end up with a different piece of the conn struct, or a segfault. I'm almost wondering if libsasl should really have this guard since it seems fairly prone to exploitation.
I'm more than willing to modify this PR as necessary, but I wanted to post something to get the ball rolling.

excellent!  You can run the ./sizes util from the source directory to see if the connection structure actually gets any bigger or not. If not, or even if so, this is probably fine. I'll give it a more thorough review as soon as I can.

(also; bonus points if you add a test under t/binary-sasl.t, but I can also do that since it's perl)

(also; bonus points if you add a test under t/binary-sasl.t, but I can also do that since it's perl)

@dormando do the sasl tests on master currently pass for you? I'm getting:
t/binary-sasl.t ............. ERROR: You cannot allow the ASCII protocol while using SASL.
t/binary-sasl.t ............. 1/33 ERROR: You cannot allow the ASCII protocol while using SASL.
t/binary-sasl.t ............. 2/33 ERROR: You cannot allow the ASCII protocol while using SASL.
t/binary-sasl.t ............. 3/33
#   Failed test 'authenticated'
#   at t/binary-sasl.t line 206.
#          got: '32'
#     expected: '0'

#   Failed test at t/binary-sasl.t line 210.

#   Failed test ' = somevalue'
#   at t/binary-sasl.t line 107.
#          got: ''
#     expected: 'somevalue'
send: Cannot determine peer address at t/binary-sasl.t line 356.
# Looks like your test exited with 107 just after 19.
t/binary-sasl.t ............. Dubious, test returned 107 (wstat 27392, 0x6b00)
Failed 17/33 subtests

Interesting, yeah, they still fail for me on the next branch running on arch linux without my patch. I'll debug and see what I find. It might be picking up a system-wide sasl config and making the tests fail.

haven't tried them recently on a variety of platforms yet, just ubuntu.

The failure I was hitting was that the perl test program was not passing a realm when authenticating. I'm guessing that on ubuntu, libsasl may be automatically filling in the realm server-side, but that doesn't occur for me on centos or arch linux.
If you don't pass a realm to saslpasswd2, it defaults to the hostname, so by appending @<my hostname> to every user in the tests, I was able to get the tests to pass. To make the tests pass consistently on all platforms, I added a hardcoded realm in the test file and pass it to saslpassd2 with -u and append it to every username in the authenticate function.
I added that fix in a commit in this PR, let me know what you think

that works, thanks!

And also just added the test for the segfault. If you run the new test against master, it segfaults, but succeeds on this branch.

test looks good. there's a spurious newline in it.
also the title of "Add test to ensure memcached" etc is too long (try to keep to 70 chars).
other than that, at a read things look right. hopefully I'll have time to actually poke it today

Looks good; the auth error counter will still go up, there's a verbose output for inspecting why you get those counters, the tests look fine, etc.
Checked the connection structure byte size with a few different configure options and the extra bool doesn't change the size due to pre-existing padding. I just merged this all into next.
Thanks so much for taking care of it!

Thanks so much for taking care of it!

And thank you for all the guidance and quick responses, you were really helpful throughout the whole process!

released in 1.5.9, thanks!


Added FlowCV Login Page

close #1300
Hi @pranjay-poddar , I've successfully created a Login Page of Flow CV Website, please consider merging the pull request in the main branch and If any changes required please let me know.

Hi @pranjay-poddar, you mentioned about adding one word comments before starting major section, can you please explain with an example?

Hey Ayush,
Please refer to any article on GFG about best coding practices and comments.


Error when run npm run deploy with browserHistory

When running
npm run deploy

the build dist run correctly but running on surge.sh or simple http server using python. the browserHistory doesn't show the routes.
On the other hand when run npm start the browserHistory runs perfectly.
Some idea?
import { browserHistory, applyRouterMiddleware, Router } from 'react-router';

<Router history={browserHistory} routes={Route} render={applyRouterMiddleware(useRelay)} environment={Relay.Store} />

Thanks for the question. This seems to be not related to Relay Fullstack. You might need to consult the react-router team.  Please feel free to continue the discussion here if you had more question.


Fix timezone isn't updated on the onyx storage

Explanation of Change

When the app detects that the device's timezone is different than the saved timezone, it will update the saved timezone (on Onyx). However, Onyx detected that the timezone is unchanged. That's because before updating the Onyx data, we mutate the timezone object. This PR fixes it by removing the unnecessary object mutation.
Fixed Issues

$ https://github.com/Expensify/App/issues/52975
PROPOSAL: https://github.com/Expensify/App/issues/52975#issuecomment-2495429065
Tests

Same as QA Steps

[x] Verify that no errors appear in the JS console

Offline tests

Same as QA Steps
QA Steps

Send a message in timezone A
Change the device timezone to B
Go to settings and refresh (or reopen the app for Android & iOS)
Verify it shows the timezone B
Send a new message in a different chat
Verify the message timestamp is in timezone B

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I used JaimeGPT to get English > Spanish translation. I then posted it in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.ts or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] I added unit tests for any new feature or bug fix in this PR to help automatically prevent regressions in this user flow.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native

https://github.com/user-attachments/assets/9361ae0a-de08-4b4d-85c9-33c2b6d6b5bc

Android: mWeb Chrome

https://github.com/user-attachments/assets/b2063eda-e35c-4fe1-aea4-0a5ee455187a

iOS: Native

https://github.com/user-attachments/assets/440b410d-4aad-4151-b5b0-d09485ba84ad

iOS: mWeb Safari

https://github.com/user-attachments/assets/b3480d04-dba6-4ab6-ad24-de5f41f149a0

MacOS: Chrome / Safari

https://github.com/user-attachments/assets/cc1bb1dd-1567-4396-b0dd-dc2d274d4d08

MacOS: Desktop

https://github.com/user-attachments/assets/e4285dd8-27cc-4d67-8af6-175435c77e4a

@bernhardoj let's write a unit test for this PR

I'm not sure how we can test the onyx storage.
I already wrote this but it succeeded even on main because the onyx callback value is also affected by the object mutation.
it('should change app timezone when device timezone is changed', async () => {
    const deviceTimezone = 'America/Chicago';
    const appTimezone = 'America/Los_Angeles';
    jest.spyOn(Intl, 'DateTimeFormat').mockImplementation(
        () =>
            ({
                resolvedOptions: () => ({timeZone: deviceTimezone}),
            } as Intl.DateTimeFormat),
    );
    const accountID = 1;
    await Onyx.merge(ONYXKEYS.SESSION, {accountID});
    await Onyx.merge(ONYXKEYS.PERSONAL_DETAILS_LIST, {
        [accountID]: {
            timezone: {
                automatic: true,
                selected: appTimezone,
            },
        },
    });
    render(<AuthScreens />);
    Onyx.connect({
        key: ONYXKEYS.PERSONAL_DETAILS_LIST,
        callback: (value) => {
            expect(value?.[accountID]?.timezone?.selected).toEqual(deviceTimezone);
        },
    });
});

Even if I remove the PersonalDetails.updateAutomaticTimezone, the test will still success.
https://github.com/Expensify/App/blob/bf38806a3eac5e3fb1992bfda107184ba72f92d4/src/libs/Navigation/AppNavigator/AuthScreens.tsx#L172-L176

@getusha are you ready to approve so we can merge? Or is there anything outstanding?

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.


nixos containers do not support cgroup hierarchy version customization and use v1/hybrid by default

By default systemd-nspawn mounts "hybrid" hierarchy and systemd inside the container complains about tainted system: systemd[1]: System is tainted: cgroupsv1. Tools like podman and docker dislike that very much too.
I'm not an expert in that but from what I understand, v1 hierarchy is a potential security risk too.
There is a workaround for that though it's inconvenient and it's hard to find any documentation about that:
  systemd.services."container@name" = {
    environment = {
      SYSTEMD_NSPAWN_USE_CGNS = "0";
      SYSTEMD_NSPAWN_UNIFIED_HIERARCHY = "1";
    };
  };

I think it may be a good idea to introduce a new option container.<name>.cgroups = v1 | v2 | hybrid and set these variables accordingly.
It may also be a good idea to allow direct customization of the nspawn environment. There are at least these variables which affect it:
systemd-nspawn:

    $SYSTEMD_NSPAWN_UNIFIED_HIERARCHY=1 — if set, force systemd-nspawn into unified cgroup hierarchy mode.

    $SYSTEMD_NSPAWN_API_VFS_WRITABLE=1 — if set, make /sys/, /proc/sys/, and friends writable in the container. If set to “network”, leave only /proc/sys/net/ writable.

    $SYSTEMD_NSPAWN_CONTAINER_SERVICE=… — override the “service” name nspawn uses to register with machined. If unset defaults to “nspawn”, but with this variable may be set to any other value.

    $SYSTEMD_NSPAWN_USE_CGNS=0 — if set, do not use cgroup namespacing, even if it is available.

    $SYSTEMD_NSPAWN_LOCK=0 — if set, do not lock container images when running.

    $SYSTEMD_NSPAWN_TMPFS_TMP=0 — if set, do not overmount /tmp/ in the container with a tmpfs, but leave the directory from the image in place.

    $SYSTEMD_SUPPRESS_SYNC=1 — if set, all disk synchronization syscalls are blocked to the container payload (e.g. sync(), fsync(), syncfs(), …) and the O_SYNC/O_DSYNC flags are made unavailable to open() and friends. This is equivalent to passing --suppress-sync=yes on the systemd-nspawn command line.

Duplicate of #196413.


update supported data types in data sync

update supported data types in data sync and make it more thorough

@danikaZ : Thanks for your contribution! The author, @allenwux, has been notified to review your proposed change.

@danikaZ Thank you for improving this page. I'd like to suggest that you revise the new sentence that you added as follows:

Be cautious when you use the following data types as a primary key, because the supported precision is only to the second: time, datetime, datetime2, datetimeoffset.

Thank you!
cc @allenwux

@danikaZ : Thanks for your contribution! The author, @allenwux, has been notified to review your proposed change.

#sign-off

@douglaslMS: I'm sorry - only the author of this article, @allenwux, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.

@allenwux Xiaochen, can you please sign off on this pull request, as the owner of the page? Thanks!
cc @danikaZ


Drawing initialize disordered in mpl drawer

Information

Qiskit Terra version: 0.12.0.dev0+6b6170a
Python version: 3.6
Operating system: Ubuntu 18.04

What is the current behavior?
The box of 'initialize' is disordered. It gets outside of the circuit and overlaps with other gates.

Steps to reproduce the problem
from math import pi, sqrt
import numpy as np

vec = np.array([sqrt(1/2), 0, 0, sqrt(1/2)])

qc = QuantumCircuit(2)
qc.initialize(vec, [0,1])
qc.u3(0.12,pi/2,pi/4,0)
qc.draw(output="mpl")

What is the expected behavior?

Hi @NuoWenLei . Yeah sure. That would be very nice.

Ok, thank you. Would you mind assigning the issue to me?

I was able to locate the problem within mathplotlib.py`
if custom gate with a longer than standard name determine
            # width
            elif op.name not in ['barrier', 'snapshot', 'load', 'save',
                                 'noise', 'cswap', 'swap', 'measure'] and len(
                                     op.name) >= 4:
                box_width = math.ceil(len(op.name) / 6)
                # handle params/subtext longer than op names
                if op.type == 'op' and hasattr(op.op, 'params'):
                    param = self.param_parse(op.op.params)
                    if '$\\pi$' in param:
                        pi_count = param.count('pi')
                        len_param = len(param) - (4 * pi_count)
                    else:
                        len_param = len(param)
                    if len_param > len(op.name):
                        box_width = math.floor(len(param) / 8)
                        # If more than 4 characters min width is 2
                        if box_width <= 1:
                            box_width = 2
                        if layer_width < box_width:
                            if box_width > 2:
                                layer_width = box_width * 2
                            else:
                                layer_width = 2
                        continue

, so I changed box_width = math.floor(len(param) / 8)tobox_width = math.ceil(len(param) / 8)`
This is the result:

Only uncertainty is the other custom multiqubit quantum gates, such as unitary.

That looks good. But, if possible, check if the width of the 'initialize' box can be reduced so as to eliminate the extra spaces inside the box.

Cool

Not sure if this falls under the same issue, but the gate created by .gates_to_uncompute() also has drawing problems:

init_gate = Initialize([1,0])
inverse_init_gate = init_gate.gates_to_uncompute()
qc.append(inverse_init_gate, [2])
qc.draw('mpl')


SQL: drop GEO Point model, not used

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (9b6f07b) 96.10% compared to head (24f9ab9) 95.91%.
Report is 1 commits behind head on master.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #120      +/-   ##
==========================================
- Coverage   96.10%   95.91%   -0.19%
==========================================
  Files          19       18       -1
  Lines         154      147       -7
  Branches       20       20
==========================================
- Hits          148      141       -7
  Misses          6        6

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


About authorized keys

I have another question. Both the connection server and the reverse connection server use a public-private key pair. Can I compile the project like this:

make server

Generate a pair of public and private key pairs by myself as the key to control the rssh server, put the pub in ~/.ssh, and put the priv named authorized_keys in the bin.

Generate a pair of public-private key pairs by myself as the key for the reverse connection of the client to rssh server. The pub is named authorized_controllee_keys, and the priv is named id_ed25519. Put these two in the bin.

4.Start the server and use the link to generate the client. Can the client connect to the server in reverse? Is this the same as directly compiling everything?

Not entirely certain what you mean. What are you trying to accomplish?
The link command on the server always regenerates a new public keypair. Compiling with make gives you the option to either generate a new keypair for the client or not.

I just re-read the source code and readme, and now I understand. After I generate a public-private key pair as the key to connect to the rssh server, I name the pub authorized_keys as the credential for connecting to ssh, just like a normal ssh connection. At the same time, I can name the priv as id_ed25519 as the fingerprint source of the rssh server. It can also be used as a key to connect to the rssh server.
After using the link to generate the client, the client will contain the rssh server fingerprint and its newly generated private key, and at the same time write the public key into the authorized_controllee_keys file. When the client connects in reverse, it will verify the key pair and fingerprint at the same time, and only if all pass connect.
So if I transplant the project or recompile the server, when restarting the server, I only need to ensure that the authorized_keys, id_ed25591 and authorized_controllee_keys are the same as before, and I can continue to receive the reverse connection from the previous client, and I can use the private key id_ed25591 to log in rssh-server.
Is my understanding correct?

Almost. The id_ed25519 that the server generates is the servers private key.
You should not be using the id_ed25519 that the server generates as you access to the server.
Ideally you should put your own public key, that you've generated with ssh-keygen into the authorised_keys file on the server.
As the rssh server works exactly like a regular ssh server.

If you copy all the things you've copied youll be able to receive connections.


Add a footer menu

A footer menu can be handy to have more links to static pages, but that are not of the same importance as the links in the top menu.
Solution:

Update the footer template
Menus must come from the settings, similar to the top menu

Implemented


CI / error: Could not create bundle folder for versioned model at

Hi,
Most attempts to build the project bu Hudson ends in failure, only when Questionnaire.xcdatamodeld is called with the appropriate prarameter and in specific order build succeeds. This order is
Questionnaire.xcdatamodeld normal armv7
Questionnaire.xcdatamodeld normal armv7s
Questionnaire.xcdatamodeld normal arm64
otherwise
console log looks like that:
Running mogend
mogenerator --model "/hudson/workspace/iOS_TTQuiz_master_incremental/SeeingAssistant-Survey/Sources/Models/Questionnaire.xcdatamodeld/Questionnaire.xcdatamodel" --output-dir "/hudson/workspace/iOS_TTQuiz_master_incremental/SeeingAssistant-Survey/Sources/Models/"
0 machine files and 0 human files generated.
/Applications/Xcode.app/Contents/Developer/usr/bin/momc -XD_MOMC_TARGET_VERSION=10.6 "/hudson/workspace/iOS_TTQuiz_master_incremental/SeeingAssistant-Survey/Sources/Models/Questionnaire.xcdatamodeld" "/hudson/workspace/iOS_TTQuiz_master_incremental/build/Release-iphoneos/TT Quiz.app/Questionnaire.momd"
/hudson/workspace/iOS_TTQuiz_master_incremental/SeeingAssistant-Survey/Sources/Models/Questionnaire.xcdatamodeld:0: error: Could not create bundle folder for versioned model at '/hudson/workspace/iOS_TTQuiz_master_incremental/build/Release-iphoneos/TT Quiz.app/Questionnaire.momd'
RuleScriptExecution SeeingAssistant-Survey/Sources/Models/Questionnaire.xcdatamodeld normal armv7s
cd /hudson/workspace/iOS_TTQuiz_master_incremental
setenv ACTION build
setenv AD_HOC_CODE_SIGNING_ALLOWED NO
(...)
setenv YACC yacc
setenv arch armv7s
setenv variant normal
/bin/sh -c echo\ "Running\ mogend"
"${SRCROOT}/SeeingAssistant-Survey/Scripts/mogend.sh"
Running mogend
mogenerator --model "/hudson/workspace/iOS_TTQuiz_master_incremental/SeeingAssistant-Survey/Sources/Models/Questionnaire.xcdatamodeld/Questionnaire.xcdatamodel" --output-dir "/hudson/workspace/iOS_TTQuiz_master_incremental/SeeingAssistant-Survey/Sources/Models/"
0 machine files and 0 human files generated.
/Applications/Xcode.app/Contents/Developer/usr/bin/momc -XD_MOMC_TARGET_VERSION=10.6 "/hudson/workspace/iOS_TTQuiz_master_incremental/SeeingAssistant-Survey/Sources/Models/Questionnaire.xcdatamodeld" "/hudson/workspace/iOS_TTQuiz_master_incremental/build/Release-iphoneos/TT Quiz.app/Questionnaire.momd"
** BUILD FAILED **
The following build commands failed:
RuleScriptExecution SeeingAssistant-Survey/Sources/Models/Questionnaire.xcdatamodeld normal arm64
(1 failure)
ERROR # 65 : Compilation failed
DONE with script: CompleteBuild.sh (65)
Showing first 200 notices only
** BUILD FAILED **

We are declaring pull request and issue 0 now that 1.3 is out. If this is still an issue you'd like to see address with 1.30 and going forward, please open a new issue so we can start a fresh discussion. Thank you!


Fix for Warning: ini_set(): A session is active...

Addresses the issue: https://github.com/FriendsOfSymfony1/symfony1/issues/183
Changing session settings shouldn't be done on sfBasicSecurityUser class. Instead it should be done near (and before) the call to session_start() in sfSessionStorage

https://travis-ci.org/github/FriendsOfSymfony1/symfony1/jobs/683856543 doesn't look like a related error :thinking:
  [Composer\Downloader\TransportException]
  Peer fingerprint did not match

The command "composer install" failed and exited with 1 during .

@alquerci hello, have some time to take a look? ;)

@alquerci please, check latest version ;)

@alquerci updated all comments

@j0k3r @jeromemacias @e1himself @GromNaN Hello guys! Can anyone check/approve/merge?

Interested by this fix too.

@j0k3r @jeromemacias @e1himself @GromNaN
Guys, any chances to get this merged?
and these PRs as well: https://github.com/FriendsOfSymfony1/symfony1/pull/230, https://github.com/FriendsOfSymfony1/symfony1/pull/228
It's the only blocker to move whole project to php7.4 for me (and I guess for many other people who are willing to move to new php)

cc @thePanz :point_up:

I’ll take care of them


BUG: Gnosis Docs for Clients when choosing Gnosis Chain

Describe the bug
Whenever you open a execution/consensus client settings, you are able to open the documentation. However, when Gnosis Chain is selected as network, the Gnosis Documentation should open up. Currently it shows the Ethereum Documentation.
To Reproduce

Go into Client Settings
Click "Open" in the line where the documentation is mentioned

Expected behavior
Open Docs for Gnosis Chain Clients, however Ethereum Docs are shown.
Screenshots

Additional context
Currently supported are:
Execution Clients
-) Nethermind
Consensus Clients
-) Teku
-) Lighthouse
All of them feature the same documentation page (https://docs.gnosischain.com/node/) and don't seem to have their own documentation for Gnosis.

Done with #1032


feat: support for only inlining local files

The use case is one where you want to keep CDN hosted libraries external but only inline your own files.
<!-- Don't inline these -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-material/1.0.5/angular-material.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/angular-material/1.0.5/angular-material.css" rel="stylesheet">

<!-- But do inline this -->
<script src="./app.js"></script>

Okay, took me a while to get this PR straight in my head, but rather than noremote, I think you want something like same-origin-only - so you're using positive language too (rather than "no remote true" - which is harder to parse).
I would also lose the short version, and this might also mean you can do the logic entirely inside of the lib/get.js to check the source url vs. the url that we're about to request. Also the URL might not be a different origin just because it starts with http....
If you're happy to make those changes, I'm happy to merge in.

Hi, thanks for the quick review. I definitely prefer your suggestion for the flag name, and I've already made the change. I was worried earlier about deviating from what seemed like the established patterns in the flag naming (nocompress, noimages, etc.), but --same-origin-only is clearer, and I omitted the corresponding short flag.
I'm open to consolidating the code that enforces this flag into a single spot. However, I'm having trouble figuring out how to accomplish this in lib/get.js. The expected return value of get() appears to be a promise that resolves with a response-like object with properties for headers, body, and the like. I haven't thoroughly traced through the promise chaining, but at the moment I'm wondering whether it's too late to try to skip processing an asset once inside get(). Perhaps you can provide some helpful pointers; I'm willing to bet I'm missing something obvious. Thanks!

Gentle bump.

Sorry, I thought it was going to be consolidated. I'll try to find some time to pull this branch to do the work, I've been looking at it in detail, and I appreciate it's not setup to do it, but I think it's the right change.

I've been looking at this again, I don't think there's a way to route the change entirely through lib/get.js.
However, I'm also worried this test would fail this kind of HTML (when served over http://localhost:12345) - it would incorrectly skip the image (because the origin test doesn't actually test the origin, but just whether it's a relative path):
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>External image (or local but already resolved source URL)</title>
</head>
<body>
  <img src="http://localhost:54321/1x1.gif">
</body>
</html>

I suppose once the feature gets characterized as "only include resources from the same origin only", some room for confusion gets introduced. To qualify as the same origin, the URI for the resource really ought to match the hostname and port (and scheme, technically) — so we'd have to parse the resource URI as the URI of the "current request" and then make sure these URI components match. I'm not sure whether there's a URL parser built into Node; if not, I suppose we'd have to include an additional package.
In addition, this comparison of URI components, of course, raises a small issue in the command-line usage; there is no "current request" so you'd have to pass in a command-line argument specifying what the canonical scheme+hostname+port should be for comparison purposes.
Anyway, the above considerations were things I was deliberately ignoring, to be honest. I fully admit that I was attempting to do something expedient & lightweight and that I was focused on the command-line usage (thus my original choice of language describing resources as being local or remote — versus being from same or different origins). I appreciate that using fully-qualified URIs (ignoring scheme) is an imprecise indicator of whether an embedded resource is hosted on the same origin as the referencing resource; however, I do know that a URI without the hostname MUST be on the same origin. (It occurs to me now that therein lies one advantage of referring to the flag as noremote or else noexternal or even exclude-fully-qualified; it kind of implies that I'm culling external resources without guaranteeing that I'm only including internal ones.)
Let me know which path forward you prefer to follow, and I'll happily follow your lead. Thanks!

Any further thoughts? To reiterate, I'm hoping to avoid sliding toward complexity and only target resources with absolute URLs. Casting the feature as "same origin only" is perhaps the source of discomfort here; a flag name of --skip-absolute-urls would perhaps clear up the true intent.

I think moving to --skip-absolute-urls makes the most sense and it reflects what you're trying to do here.

Cool, thanks!

@remy ping.

I was actually merging yesterday but work got the better of me. I'm merging up now (with recent changes to master). Look out for a new release shortly.


Create task request issue template

Created an issue template for task requests. This is just an initial test (unless I did everything right on the first time lol). I can't test this out unless it's on the main branch

Here's an example from Blueprint.js:
Blueprint

Nit: "Insure" should be "Ensure". Other than that it looks good to me


When asking queries relating to knowledge files, i have to ask specifically to use knowledge for knowledge tool to be used and citations are not included.

Electron build - 4884a2ba1901
Steps to reproduce the problem:

Chat with Tildy and add knowledge file using  Add Knowledge option.
Ask any question relating to the knowledge file
There is no tool call made to knowledge and the information i get is not from  knowledge file I added.
I have to ask LLM to specifically use knowledge tool for the queries.
Also I am not seeing the citations being listed.

I do see the following context present in the stack trace view:

Expected Behavior:
For queries relating to knowledge files, knowledge tool has to be used and citations should be included in the responses from knowledge.

@sangee2004 i thought this got better and in fact swung far the other way where it would always try knowledge. Am I imagining that or did it actually get better and then regress again?

@sangee2004 when you create a bug like this, can you provide more specific steps to reproduce?
We dont konw what query you asked or what files you used. It would be a guessing game to try to repro.

@cjellick I definitely see an improvement in knowledge tool being able to use knowledge files without having to ask it to use it explicitly. The behavior I am seeing now is that it does not reliably work always.
I will provide the exact knowledge used when I see reproduce this issue.

Tested with electron build - a8d8c5c39b3d5
Knowledge file used - MyFeb12.pdf
Question asked - What can I eat in empty Stomach
Answer comes from LLM without knowledge tool call.
Asking What can I eat in empty Stomach. Use Knowledge , will result in information being fetched from knowledge tool.

I did some testing on this

I can replicate that "What can I eat in empty Stomach?" doesn't use knowledge, but "What can I eat in empty Stomach according to my docs?" does. Probably because the question is generic enough to be answered from training data.
Difference is that I definitely get source references / citations for every query I give it (if it's using knowledge)

Additional findings as I tested this with ChatGPT:

It only uses data from the file, if I ask "What can I eat in empty Stomach?" while attaching the file to the chat (i.e. click "add file", then ask the question). If I ask an unrelated question first, then ask "What can I eat in empty Stomach?", it will use training data to answer unless I ask it to refer to my docs.

I did it the direct way, and directly asked "What can I eat in empty Stomach?" when attaching the file. That worked. Then I asked "What are some Cruciferous vegetables?" (which could be answered from the doc as well). That "failed" and answered from training data.

@cjellick - I wonder if we want to push it even more in the direction of chiming in everywhere? If we're going all in on https://github.com/gptscript-ai/desktop/issues/326 - this issue will become irrelevant

@iwilltry42 I can confirm that when when knowledge tool gets used for a query , we always see the citation being returned now. Craig mentioned that this will be changing.
But wanted to confirm this finding with you.

Large changes to how knowledge is integrated: #385

Tested with latest build -  a66cd29e
I am able to work with knowledge file MyFeb12.pdf and get the information I need without having to ask specifically to use knowledge tool.


Update cortx-aws-k8s-installation.md

updates tested-by section
Signed-off-by: Justin Woo<EMAIL_ADDRESS>
View rendered doc/cortx-aws-k8s-installation.md

@r-wambui FYI

@justinzw , why do we need this section? It looks weird to me. It's like you're buying a TV and you see "tested by" section in the installation booklet?..

Hey @gregnsk , we put this in all our QSG's. It is useful for multiple reasons. I agree it is a bit unusual but it's really useful for us to have confidence that multiple people have tested in multiple environments. And when someone tries it and it doesn't work, it's a great resource for them to know who they can ask about it. And the dates give confidence that it's been tested recently.
I would like to continue including these for the indefinite future. Once we get to a place where the quality of these is good and reported failures are low, then I'd be more comfortable not including them. Cool with you?


test: reduce number of assertions

This reduces the amount of assertions about by about 500%.
Before this patch:
$ npm test | wc -c | pretty-bytes
6.38 MB

With this patch:
$ npm t | wc -c | pretty-bytes
1.4 MB

Missing "assertions" typo in commit message body but I'll fix that while merging. Just waiting on Travis.


Laisee coloring

To be fixed:

The Laisee has a white frame
The QR code is the wrong color (should be 5b1110ff)
The QR code background is the wrong color (should be dcb866ff)
Amount isn't centered
Expiration date and id isn't legible)

Best for now. Issue open if someone wants to improve on it.

https://github.com/bitkarrot/laiseebot/commit/3a70375f13464d8b05353fa9faf0420fd3a22199


[local_auth] Suggestion for changes in error handling for LocalAuthentication().authenticate()

Use case
I'd like to suggest some changes to the error handling for the biometric authentication features provided by the local_auth library.
Currently, there are some differences in how errors are handled on iOS and Android.
I'm particularly focused on one specific situation on iOS: when iOS biometric authentication is voluntarily cancelled by the user.
Proposal

For cases when iOS biometric authentication is voluntarily cancelled by the user:

Currently, when a user voluntarily cancels the iOS biometric authentication, a PlatformException with error PlatformException(NotAvailable, Authentication canceled., com.apple.LocalAuthentication, null) is returned on Flutter's end.

This PlatformException is indistinguishable from the PlatformException(NotAvailable, Authentication failure., com.apple.LocalAuthentication, null)  returned when biometric authentication fails consecutively.
This makes it difficult to properly handle each exception.
However, on Android, when a user voluntarily cancels the authentication, the return value of LocalAuthentication().authenticate()  is false.
Therefore, to make it easier to differentiate between the two exceptions, I propose that for voluntarily cancelled iOS biometric authentication, like Android, the return value of LocalAuthentication().authenticate()  should be false.
I believe that this can be achieved by adding kLAErrorUserCancel to the iOS source code.
I believe that the issue could be resolved by writing a code as follows.

In general we want to unify error handling across all platforms in our plugins, which is a large project, but this looks like a case where we could incrementally make this specific change without a breaking change, so would be good to do in the short term.


✨ Add tomb type support

And convert to type script!

 I'll work this in myself.


NIFI-8120 Added RuntimeException handling on HttpContextMap.complete()

Description of PR
NIFI-8120 Adds RuntimeException handling for both invocations of HttpContextMap.complete() in HandleHttpResponse Processor.  PR #1567 for NIFI-3517 introduced calling HttpContextMap.complete() when HandleHttpResponse failed to send Flow File contents to the HTTP output stream.  In cases where the HTTP client has disconnected, however, HttpContextMap.complete() can throw an IllegalStateException, wrapping a java.nio.channels.ClosedChannelException when attempting to close the server connection.  This change includes updated unit tests to confirm that Flow Files will be routed to failure when this situation occurs.
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
For all changes:

[X] Is there a JIRA ticket associated with this PR? Is it referenced
in the commit message?

[X] Does your PR title start with NIFI-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.

[X] Has your PR been rebased against the latest commit within the target branch (typically main)?

[X] Is your initial contribution a single, squashed commit? Additional commits in response to PR reviewer feedback should be made on this branch and pushed to allow change tracking. Do not squash or use --force when pushing to allow for clean monitoring of changes.

For code changes:

[X] Have you ensured that the full suite of tests is executed via mvn -Pcontrib-check clean install at the root nifi folder?
[X] Have you written or updated unit tests to verify your changes?
[X] Have you verified that the full build is successful on JDK 8?
[ ] Have you verified that the full build is successful on JDK 11?
[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
[ ] If applicable, have you updated the LICENSE file, including the main LICENSE file under nifi-assembly?
[ ] If applicable, have you updated the NOTICE file, including the main NOTICE file found under nifi-assembly?
[ ] If adding new Properties, have you added .displayName in addition to .name (programmatic access) for each of the new properties?

For documentation related changes:

[ ] Have you ensured that format looks appropriate for the output in which it is rendered?

Note:
Please ensure that once the PR is submitted, you check GitHub Actions CI for build issues and submit an update to your PR as soon as possible.

@turcsanyip Thanks for the review and detailed feedback.  I pushed an update incorporating your recommendations.

@turcsanyip Thanks for the review and detailed feedback.  I pushed an update incorporating your recommendations.


Section and headers not working right (but link is working)

What happened?
I'm trying to use the section annotation, but it's not working as expected. Fomr some reason the link on all the task items is correct, but the section and header are pointing to other parts of the same file (I can't yet figure out what's the pattern, in my case it's the fourth heading). Using link.subpath works, but feels like a hack. Am I using wrong code, or is section / header broken in 0.4.22?
DQL
let tasks = dv.pages('"Tasks/MyProject"').file.tasks.where(t => t.section.subpath.contains("This week"))
for (let i=0; i < tasks.length; i++) {
	dv.header(6, "---")
	dv.el("p", tasks[i])
	dv.el("p", tasks[i].section.subpath)
	dv.el("p", tasks[i].link.subpath)
}

JS
No response
Dataview Version
0.4.22
Obsidian Version
0.13.24
OS
MacOS

I'm not sure I understand - are you saying that link points to the correct block/section for each task, but section does not point to the correct section for the task? It seems to work alright for at least basic examples for me (so the feature is not completely broken).

I've tried a few different thing and after restarting it seems the metadata cache was updated and now it works as expected again!