rviz not building on RPi3 due to Ogre being static library (?)

Bug report

Operating System:

RPi3 Ubuntu Mate 16.04

Installation type:

binaries

Version or commit hash:

following https://github.com/ros2/ros2/wiki/Linux-Development-Setup (version from 01.02.2018)

DDS implementation:

following https://github.com/ros2/ros2/wiki/Linux-Development-Setup (version from 01.02.2018)

Steps to reproduce issue
I am following building manual. The only change to it is that I use:
src/ament/ament_tools/scripts/ament.py build --build-tests --symlink-install --skip-packages ros1_bridge --make-flags -j1
Expected behavior
Build whole ROS2
Actual behavior
Process breakes with rviz_rendering error:
Process package 'rviz_rendering' with context:
--------------------------------------------------------------------------------
 source_space => /home/rpi/ros2_ws/src/ros2/rviz/rviz_rendering
  build_space => /home/rpi/ros2_ws/build/rviz_rendering
install_space => /home/rpi/ros2_ws/install
   make_flags => -j1
  build_tests => True
--------------------------------------------------------------------------------
+++ Building 'rviz_rendering'
==> '. /home/rpi/ros2_ws/build/rviz_rendering/cmake__build.sh && /usr/bin/make cmake_check_build_system' in '/home/rpi/ros2_ws/build/rviz_rendering'
==> '. /home/rpi/ros2_ws/build/rviz_rendering/cmake__build.sh && /usr/bin/make -j1' in '/home/rpi/ros2_ws/build/rviz_rendering'
[  3%] Automatic moc for target rviz_rendering
[  3%] Built target rviz_rendering_automoc
[  6%] Linking CXX shared library librviz_rendering.so
/usr/bin/ld: /home/rpi/ros2_ws/install/opt/rviz_ogre_vendor/lib/libOgreMainStatic.a(OgreHardwareVertexBuffer.cpp.o): relocation R_ARM_THM_MOVW_ABS_NC against `__stack_chk_guard' can not be used when making a shared object; recompile with -fPIC
/home/rpi/ros2_ws/install/opt/rviz_ogre_vendor/lib/libOgreMainStatic.a: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
CMakeFiles/rviz_rendering.dir/build.make:583: recipe for target 'librviz_rendering.so' failed
make[2]: *** [librviz_rendering.so] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/rviz_rendering.dir/all' failed
make[1]: *** [CMakeFiles/rviz_rendering.dir/all] Error 2
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2

<== Command '. /home/rpi/ros2_ws/build/rviz_rendering/cmake__build.sh && /usr/bin/make -j1' failed in '/home/rpi/ros2_ws/build/rviz_rendering' with exit code '2'
<== Command '. /home/rpi/ros2_ws/build/rviz_rendering/cmake__build.sh && /usr/bin/make -j1' failed in '/home/rpi/ros2_ws/build/rviz_rendering' with exit code '2'

Additional information
I am currently building using:
src/ament/ament_tools/scripts/ament.py build --build-tests --symlink-install --skip-packages ros1_bridge rviz_rendering rviz_rendering_tests rviz_common rviz2 rviz_default_plugins --make-flags -j1

This is surprising since we build it on our ARM CI:
http://ci.ros2.org/job/ci_linux-aarch64/
As for the static linking, that's no longer being used in the current ros2 branch. We'll also be doing a patch release to Ardent soon which will include updates to rviz. So I'm going to close this until you can try a more up-to-date version of rviz. If it's still a problem I can reopen this.

@wjwwood: tank you for your answer. You mean this patch? Ardent patch1 #455? There's no change that helps solve my problem. Could you guide me what should I do to compile rviz? I thought that I am on current branch.

If you're following the https://github.com/ros2/ros2/wiki/Linux-Development-Setup guide then you're using the "ardent" ros2.repos file, which is about a month and a half old at this point.
That is the patch pr I'm talking about, but for rviz it's essentially the current ros2 branch.
We don't build Ogre as a static library on the current ros2 branch, so that leads me to believe you're not using the latest branches everywhere.
You can simply use this url instead and follow the above guide exactly the same to build the "latest" of everything:
wget https://raw.githubusercontent.com/ros2/ros2/master/ros2.repos

I just changed version to this in my ros2.repos:
  ros2/rviz:
    type: git
    url: https://github.com/ros2/rviz.git
    version: d3c13b014edf11c1d7a9914db5f1d1ca33cc5e48

But of course, I was using release-latest instead of master. I should have realized that, thank you for your time and great support :)

Yeah, that's not sufficient, you'll need to use the latest of everything to get a reasonable result most of the time.
Good luck :)


Job-based Service Bus Scaler scales to too many instances

Report
Say that I configure KEDA with minReplicaCount > 0.  If I send Messages to the Queue, that causes KEDA to create as many new Pods as how many Messages there are in the Queue, with no regard to the count of Jobs that are always running, i.e. those created by the minReplicaCount > 0,
Expected Behavior
Let's say that I configure KEDA to have 2 Jobs running permanently.  If I send 5 Messages to the Queue, I'd expect KEDA to create only 3 new Pods  Instead it is creating 5 new Pods, so they match the count of Messages in the Queue.  Below is the scaling behavior that the documentation at https://keda.sh/docs/2.9/concepts/scaling-jobs/ states.

Actual Behavior
Please see above.
Steps to Reproduce the Problem

Configure a KEDA Job deployment in a manner similar to the script below.

apiVersion: keda.sh/v1alpha1
kind: ScaledJob
metadata:
  name: aks-aci-boldiq-workforce-gozen-dev
  labels:
    app: aks-aci-boldiq-workforce-gozen-dev
    deploymentName: aks-aci-boldiq-workforce-gozen-dev
spec:
  jobTargetRef:
    template:
      spec:
        containers:  # this section is identical as for a "kind: Deployment"
        - image: <removed>
          imagePullPolicy: Always
          name: boldiq-workforce-gozen-dev
          resources:
            requests:
              memory: 8G
              cpu: 4
            limits:
              memory: 8G
              cpu: 4
          env:
          - name: KEDA_SERVICEBUS_CONNECTIONSTRING_GOZEN_DEV
            value: <removed>
        nodeSelector:
          kubernetes.io/os: windows
        tolerations:
        - key: virtual-kubelet.io/provider
          operator: Exists
        - key: azure.com/aci
          effect: NoSchedule
        imagePullSecrets:
          - name: docker-registry-secret
        nodeName: virtual-kubelet
  successfulJobsHistoryLimit: 0
  failedJobsHistoryLimit: 0
  pollingInterval: 1  # 1 second polling for max. responsiveness
  minReplicaCount: 2  # keeping two instances running permanently in order to improve low loads' performance
  maxReplicaCount: 10
  triggers:
  - type: azure-servicebus
#    metricType: Value // The default AverageValue with messageCount: '1' starts up a new Container for each Message in the Queue.  We want that for responsiveness.
    metadata:
      queueName: gozen-dev-requests
      connectionFromEnv: KEDA_SERVICEBUS_CONNECTIONSTRING_GOZEN_DEV
      messageCount: '1'

Deploy the script and check the count of Pods created.  Should be 2.

Send N Messages into the Queue.

Check the count of Pods created.  It will be N + 2.

Logs from KEDA operator
Please email<EMAIL_ADDRESS>for the .ZIP file.
KEDA Version
2.10.1
Kubernetes Version
1.25
Platform
Microsoft Azure
Scaler Details
Azure Service Bus
Anything else?
AKS 1.25.6
KEDA 2.10.2
The Containers run on the virtual-node-aci-linux virtual node.

Hi
I believe that the problem could be related with the short pollingInterval and the pod statuses. As KEDA is checking it every second, maybe pods aren't in a running state and KEDA thinks that there are missing jobs.
You can try increasing the pollingInterval or setting more states in pendingPodConditions

pollingInterval should have no relationship to the count of Pods that are already running.  If I have 2 Pods already running and 5 Messages in the Queue, then I need the scale-out to fire up only 3 new Pods.

Could you enable the debug logs and share them? The operator logs in debug expose the queue length and the current job count

Please instruct on how should I go about enabling the debug logs.  More than gladly to do so.
Thank you,  Eugen
Diese Nachricht wurde von meinem iPhone gesendet.
Am 5/24/23 um 2:58 AM schrieb Jorge Turrado Ferrero @.***>:

Could you enable the debug logs and share them? The operator logs in debug expose the queue length and the current job count
—
Reply to this email directly, view it on GitHubhttps://github.com/kedacore/keda/issues/4554#issuecomment-1560816073, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ADT64RVVP7TYNZR5GOGP37TXHXLULANCNFSM6AAAAAAYIKM35Q.
You are receiving this because you authored the thread.Message ID: @.***>

https://github.com/kedacore/keda/issues/4541#issuecomment-1553724189

I have the bandwidth now to address this issue.  What would you like me to do precisely, perhaps the steps below?

Set in the deployment script the minReplicaCount of 1 and maxReplicaCount parameters for the Job and then deploy the script.
Verify that the minReplicaCount Pod of 1 had started up.
Send a Message in the Queue and verify that there are 2 Pods running instead of one.
Provide the current log of the keda-operator-* Pod that resides in the keda namespace.

The behavior I'd expect to have is that if I already have a Job running and I send a Message into the Queue, there won't be a second Job starting up but have the currently running Job handling that one Message.

3. Send a Message in the Queue and verify that there are 2 Pods running instead of one.

I think that this shouldn't happen.

The behavior I'd expect to have is that if I already have a Job running and I send a Message into the Queue, there won't be a second Job starting up but have the currently running Job handling that one Message.

This is exactly the behavior I'd expect

@JorTurFer No it does not happen.  If have on Pod running - as per the minReplicaCount setting - and then I send a Message I see the second Pod starting up.
I've tried it as well with minReplicatCount set to 2 and sending 5 Messages.  The end result was that I got 7 Pods running whereas only 5 would have been sufficient to process the 5 Messages.

@zroubalik , @tomkerkhove , Is this behavior intended and I'm missing something or is this a bug? I have checked the e2e tests and it's coverting this scenario

I thought about this a bit more and it may rather be a feature than a bug.  Let's say that I configure a ScaledJob to have a minReplicaCount of 4.  By this I express my desire to always have 4 Jobs on stand-by, ready to receive Messages.  2 Messages pop up, so two of my initial 4 Jobs are busy processing them, and by doing so those two are no longer available.  In response to that, the ScaledJob starts up two new Jobs immediately, in order to ensure that 4 Jobs will be available soon.
Does this reasoning sounds right to you guys?

Does this reasoning sounds right to you guys?

I thought so, that's why I asked other teammates because that's the behavior covered by the e2e tests. Maybe it's just a documentation gap, but I'm not sure

Thank you.  Let's see what response we'll receive.  However, since there are tests that test the behavior, it may be safe to update the documentation.

Thanks very much @zroubalik!
Would it be possible to enhance the documentation of minReplicaCount at https://keda.sh/docs/2.9/concepts/scaling-jobs/ to explain the scale-out behavior dictated by the minReplicaCount parameter?  In the current state of the documentation it explains only the fact that minReplicaCount Jobs will be created by default.

Would it be possible to enhance the documentation of minReplicaCount at keda.sh/docs/2.9/concepts/scaling-jobs to explain the scale-out behavior dictated by the minReplicaCount parameter?

It'd be amazing because it's true that it could be a bit confusing. Would you open a PR in docs with the change?

I'll give it a try.  My first open source contribution...

I'll give it a try. My first open source contribution...

It's never too late to start 😄  Just fork the docs repo, create a new branch and add the information and submit the PR. You might take some info or diagrams from the PR/issue I linked. If you find that useful.
Thanks 🙏

Done: https://github.com/kedacore/keda-docs/pull/1144

You can limit the max. desired / allowed count of containers in the .yaml script.  That will limit your expenses.
My scale-out scenario has to accommodate sudden bursts in demand.  The current operation mode enables me to have N containers (more or less) ready to immediately handle a burst.

Hi @LewisJackson1
So, you would like to have minReplicaCount always (let's say 2 for example), but in case of having jobs you want that one of those 2 is who manages the job, not having extra instances ready for working, right?
In that case, you want pre-warmed instances for the first jobs, but for next jobs, is waiting acceptable for them? I mean, you already have some ready pods to process those jobs when there isn't any pending job. Probably I'm missing something important in the middle because I don't get your use case :(
If waiting is not a problem and you prefer to save as much money as possible, you can set minReplicaCount: 0 (or just not set anything) and you will have 0 pending jobs

We're looking at migrating a queue processor from ScaledObject to ScaledJob and I'm just finding this inconsistency between the two defined behaviours quite weird.

Yes, you are right and they aren't consistent, but they aren't comparable either IMHO. I mean, in ScaledObject, the workload can process multiple items, so just after finishing with a message, the workload starts with the next message without any cooldown. In ScaledJob, your job usually takes 1 single message and ends, so after finishing the current message, the pod finishes and KEDA spin up another job, which isn't instant. That's why the minimum replicas for ScaledJob is the minimum replicas ready to work (idle).
This is an interesting discussion, and maybe the best place is in a GH discussion, where other maintainers and any other community folk can give their 2 cents. Would you open a discussion about this?

You may want to give the Job scale-out method some time to settle.  Spend some time experimenting with both scale-out alternatives.  Use Linux containers (vs. Windows) for faster Pod start-up times.  Jobs will always handle very well long processings should that be a concern.  With ScaledObject scale-out you'll pay for unused capacity.  The best scenario is to have no Pods running 24 x 7 and use ScaledJob to fire up Pods whenever necessary - should this accommodate your use cases.


Clean up dist tool to use containerd client

Remove direct use of grpc in dist tool
Incorporates the feedback from @estesp in #1007

LGTM

Codecov Report

Merging #1043 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #1043   +/-   ##
=======================================
  Coverage   59.28%   59.28%
=======================================
  Files           5        5
  Lines         781      781
=======================================
  Hits          463      463
  Misses        204      204
  Partials      114      114

Continue to review full report at Codecov.

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


Release Azure Cognitive Search 11.1-preview1

Features

[ ] FieldBuilder
[ ] Spatial types

Skillsets

[ ] Add constructor overloads/initializers/builders to better identify required and optional input and output fields in addition to the model types and their parameters (inputs and outputs).
[ ] Discuss builders for common skillsets if we can identify them (e.g. automatically generate and hook up output fields of one skill as inputs to another, etc.).

We've released and everything in the milestone is closed.


docs(changelog) mention the non-root way of running kong

Copy and pasted the description from the EE changelog https://docs.konghq.com/enterprise/changelog/#core

@kikito IMHO we should still merge this as it is now. We forgot to include it in the 2.2.0 changelog.
I believe that In 2.2.2 we'll include the fix for the issue #6591 (see the PR #6421). So I'm not sure if it's needed to say in the 2.2.0 changelog there is a bug that was fixed in 2.2.2... 🤔


feat(ga): add sitemap for search console

Deploy preview ready!
Built with commit bdd7cb16623bcb816b42ede5ac684e556df53f54
https://deploy-preview-377--mcs-lite-ui.netlify.com

Deploy preview ready!
Built with commit bdd7cb16623bcb816b42ede5ac684e556df53f54
https://deploy-preview-377--mcslite.netlify.com

Deploy preview ready!
Built with commit bdd7cb16623bcb816b42ede5ac684e556df53f54
https://deploy-preview-377--mcs-lite-introduction.netlify.com


pdb file visualization

Input: *.pdb
Output: *.html
Features: zoom-in/out, translation, rotation.

This may be useful: https://github.com/ncbi/icn3d#embed-icn3d-with-iframe-or-javascript-libraries

Will use react-ngl in any web app for this, since static html is not suitable.


Can only install on windows (python)

Hi.
Right now, on pypi, wheels only exists for Windows, and no source distribution is published so it's impossible to install on an unsupported platform.
Is this by design, or what is the horizon on getting either wheels for the other platforms, or also publishing a source distribution?

If you have the library building on other platforms now, I can bump the priority of getting the Python distribution working with it, but the library can't (and shouldn't) build as part of the Python source distribution as-is and the blocker here is actually support for other platforms in the first place.  I will tackle non-Windows builds after reverb.
Also, you can clone the repository and build it that way.  Effectively you'd have to no matter what anyhow, since a source distribution on Pypi isn't going to include Synthizer itself.

I'm starting to explore what has to happen here.  To track more general Linux support see #1, but Python unfortunately has unique problems.  I think that in essence the best we can do here is to upload a source release to Pypi and require that you already have a pre-built (and compatible) Synthizer somewhere else, and under that assumption I'll do some looking to at least find out what has to happen to deal with version conflicts in what is still a fast-moving library.
As an overview of the problem, there's no even remotely stable way to call cmake from setup.py (at least as far as I know).  Manyliux1 doesn't appear to have good support for libstdc++, as in the "here are some workarounds but if you get them wrong you crash if someone else uses C++ and gets it wrong" fun (for an example, see this comment).  The list of blockers probably goes on for a while after that but the only thing I can think of as any sort of solution is the proposal in #18 which also has another set of problems around getting setuptools to play nice, though fortunately that's a more reasonable set.  Regardless I would rather avoid ad-hoc vendoring strategies unless there's going to be more impact than just Python on Linux.
Would be curious to hear what would work for your case specifically.  It's clearer what needs to happen on Windows and Mac here, being as those have more official toolchain/versioning policies.  Are you wanting to redistribute binaries?  If so, what requirements do they need to meet?

Are you wanting to redistribute binaries? If so, what requirements do they need to meet?

As for what requirements I don't really know.
I'm coming from wanting to use synthizer through the python binding, so I'm asuming as a python developer, that when I do
pip install synthizer
The python module "synthizer" and everything else needed get's downloaded from pypi and optionally builded.
One way I could see it working, is moving the python binding to another repository, something like synthizer/python and then use GitHub actions to automatically build synthizer and publish to pypi (on all platforms) whenever a condition is met.
For easy management of python packages, you might want to take a look at poetry.
But essentially, when using synthizer in a project, I'm expecting it to have the necessary runtime files bundled (dlls on windows, dylib on macand so on), so I can develop it, and when packaging it with some like PyInstaller, they (the lib files) get bundled with too, so my end users can run my application / game / whatever too.

That literally can't work on Linux irregardless of if it's Python or not, unless you've got additional constraints in mind.  I was hoping you knew more about this than me.  On Windows or Mac, you ask the official Microsoft/Apple tools to build your stuff and you get a thing that can be redistributed, but for Linux you have to pick a subset of stuff yourself and there's no one-size-fits-all answer.  In particular, whether you use synthizer or not, I doubt that pyinstaller can produce apps that just work for most people unless you're already paying attention to this stuff.  End users may end up needing to apt install or whatever.  I know that there are some solutions for this out there, I just don't know the first thing about them, so it's very hard for me to determine how to give you a useful binary.
Python doesn't vendor libraries.  When you pip install thing on Windows or Mac, you get a wheel instead of a source distribution, which contains the binaries that the developer built for you.  This is how most major Python packages are published.  Unfortunately for Linux, you have to either use manylinux1, which mandates pre-C++14 C++, or you have to use PEP 600, which doesn't even address libstdc++ at all.  For most packages on Linux which require non-Python libraries, you install them first with apt then setup.py links against them when building the C extension.  In practice, the typical way of doing what we're doing here is something to the effect of:
git clone git@github.com:synthizer/synthizer
cd synthizer
mkdir build
cd build
cmake ..
make
make install
pip install synthizer

Where for stable libraries you replace most of that with apt install synthizer or whatever.  But obviously we're a long way from having Synthizer in the package repositories.
If you want better, we need to put some sort of additional constraint on the problem beyond "is Linux", because "is Linux" covers a lot of ground here.

From doing a quick googleing, it seems you indeed can get python to build the library on install.
It would go something like the developer having to apt install the dependencies to compile synthizer, then pip install synthizer, that would then download a source distribution that would build synthizer for you and put it where the python library could find it (which would also solve the PyInstaller error).
Because in that case, when build your app (with PyInstaller) you would use CI systems that would build them for multiple set of os's (if needed)
My search turned up this, which gives multiple solutins of solving the issue at hand (on linux specifically)
https://stackoverflow.com/questions/47360113/compile-c-library-on-pip-install
https://stackoverflow.com/questions/24146840/how-do-i-package-for-distribution-a-python-module-that-uses-a-shared-library
https://stackoverflow.com/questions/45121352/how-to-include-a-shared-c-library-in-a-python-package

Skimming your links (I only read the top answer, if there's something more specific you want to propose please do so, but in general I promise that I've googled):

The first one doesn't seem to be better than asking a user to build the library themselves, if they're going to have to go as far as finding our readme or whatever in order to install a bunch of stuff.
The second one is about maintaining a second build system, essentially.  We aren't just a few files and compile flags, so that's basically #18.
The third one is "use manylinux" which I already said we fundamentally can't do without hacks.

I'll time box investigating whether or not getting something kind of hacky with CMake working can be done easily but anticipate that this can't work on Windows because Python extensions don't build from inside the MSVC shell.  If I'm going to go through the trouble of making Python build the extension from scratch, I want the solution for that to be cross platform.  I'm not willing to take on the maintenance burden of maintaining a parallel build system unless other language bindings are really interested in #18, and Nolan already said it won't help much with Rust.  We'll see what happens, but this is starting to brush up against the thing where I don't have enough bandwidth to do everything we might want me to do.

To be clear, Python will work on Linux.  We're almost there now.  It may just not be "Synthizer downloads the repository and builds it for you" working in the end.

You can now pip install synthizer on Linux against Python 3, assuming GCC or Clang 9 as the system C compiler.  The only external dependency is git.  Long story short, the Python science people have a hard to google for thing called scikit-learn which they've been using for CMake, and they've even gone so far as to produce packages that know how to install CMake into temporary virtualenvs created by Pip for building wheels.
I've tested on Ubuntu 20.10, as far as getting audio output.  Closing this out.  Feel free to raise issues as you find them, or to reopen if something is fundamentally broken, but this should be good now.


Disallow root-relative base-name in resource path configs

OpenNTF » JavascriptAggregator #595 SUCCESS
This pull request looks good
(what's this?)


suspicious Zotero entry: re Bat Fauna of Jordan

from https://www.zotero.org/groups/5435545/bat_literature_project/items/YBCCWM8R/attachment/98Q35R9E/item-details
I found that
Benda, P., Lu, R. K., Obuch, J., & Eid, E. K. (2010). BAT FAUNA OF JORDAN Research Report – October 2004 & October 2008. Acta Societatis Zoologicae Bohemicae, 74, 185–353. https://doi.org/10.5281/zenodo.13528189
has many different pdfs listed in Zotero
@ajacsherman would it be possible to pick one primary pdf instead of having four copies to choose from?

No duplicate on my end.
On Fri, Dec 6, 2024 at 12:25 PM Jorrit Poelen @.***>
wrote:

from
https://www.zotero.org/groups/5435545/bat_literature_project/items/YBCCWM8R/attachment/98Q35R9E/item-details
I found that
Benda, P., Lu, R. K., Obuch, J., & Eid, E. K. (2010). BAT FAUNA OF JORDAN
Research Report – October 2004 & October 2008. Acta Societatis Zoologicae
Bohemicae, 74, 185–353. https://doi.org/10.5281/zenodo.13528189
has many different pdfs listed in Zotero
@ajacsherman https://github.com/ajacsherman would it be possible to
pick one primary pdf instead of having four copies to choose from?
image.png (view on web)
https://github.com/user-attachments/assets/631ee4fe-ef4e-4151-b370-20df8fc2b864
Screenshot.from.2024-12-06.11-20-58.png (view on web)
https://github.com/user-attachments/assets/2f2a8807-d30d-4a99-b379-263cea666f3c
—
Reply to this email directly, view it on GitHub
https://github.com/bat-literature/bat-literature.github.io/issues/40,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AXI3CB5LIK7U5TLDOBVLCCL2EHMWZAVCNFSM6AAAAABTFCWSFOVHI2DSMVQWIX3LMV43ASLTON2WKOZSG4ZDGNJWGU3TSNA
.
You are receiving this because you were mentioned.Message ID:
@.***>

--
Aja Sherman MS
Bat Eco-Interactions Database Curator
Associate in Mammalogy, American Museum of Natural History
https://batbase.org/
914-886-8906
@.*
@.***
@.***
she/her

@ajacsherman BatLit includes everything that Zotero as included in the https://www.zotero.org/groups/5435545/bat_literature_project/library as provided by their Web API. As it appears, this includes sub-folders like "Trash" and "BLR".
Would it be an idea to take out the trash before a release? Curious to hear your thoughts.

Agreed on no duplicates confirmed using refs.tsv and https://batlit.org/refs , closing issue.
cat refs.tsv | grep Benda | grep -i Jordan
Benda | Lu | Obuch | Eid	2010	BAT FAUNA OF JORDAN Research Report – October 2004 & October 2008	Acta Societatis Zoologicae Bohemicae	journalArticle	74		185-353		https://www.zotero.org/groups/bat_literature_project/items/YBCCWM8R	https://api.zotero.org/groups/5435545/items/8JDMDMR9	hash://md5/03950e000032294f709eb3a02b45634c	hash://md5/ce1e7618f237ff56e74d51f496e811a3


Documentation: Clarify that auto-download only works for vendor AdoptOpenJDK

Reading the documentation on the java toolChains feature, my colleagues and I understood the docs in a way where auto-provisioning would also work with a custom vendor e.g. AMAZON. However after a brief look at the code it is clear that the auto-provisioning will only ever work when no vendor or AdoptOpenJDK is specified.
My suggestion is to add a clear statement to https://docs.gradle.org/current/userguide/toolchains.html#sec:vendors that specifying a known vendor that is not AdoptOpenJDK will disable auto-provisioning.
What I am not completely clear about is whether specifying a custom AdoptOpenJDK baseUri (org.gradle.jvm.toolchain.install.adoptopenjdk.baseUri) would allow the auto-provisioning of other vendors.

Sorry for the late reply.
 The relevant section is Toolchain download repositories, which suggests that available vendors depend on the configured repositories.
Feel free to open a new issue if you think that the documentation is still unclear.


Where to get annotations for street2shop?

Original annotations are available here http://www.tamaraberg.com/street2shop/
COCO-format annotation can be transformed using a script that I am going to prepare for release in a couple of days.


Publish a dev version of the app

The app should be published as a beta somewhere so people can try it and get an idea, and potentially give a feedback.
The link has to be visible to the repo visitors

Done here: https://grammarquiz.online/app/


Publish 1.0.14 tag to npm

Thanks for a great library.
Can you publish 1.0.14 tag to npm? It seems like the latest tag published is 1.0.12:

Thanks a lot.

Apologies! Now published as<EMAIL_ADDRESS>


Cave-In Feature

Cave-ins
One of the core mechanics for Mining Station 14..
This has to be ported to an upstream version, So any conflicts with the code.. if any, has to be resolved before merging :)
This also includes Supports that stop caveins too*

This is gonna be alot harder then it seems.. I just tried porting it yesterday,  Seems like some coding needs to be changed?


Fix wrong path of dhclient on CentOS+Azure

This was alredy fixed in #755 but had to be reverted. This PR should be
more intelligent about deciding which path to use.

CC @bogdando

is this related: https://github.com/kubernetes-incubator/kargo/pull/770 ?

@ant31 Nope. It's related #755 and #767

Hmm, CI shows passed but the Github checks say they pipeline failed.

@bogdando Can we merge this?


Examples for Streaming MongoDB Full Archives + SSH

Documentation updates, hopefully someone else finds this helpful.

Hello @justsml thanks for contributing.

ping @koolhead17 - is there anything pending on this ?

Awesome, thx @harshavardhana @koolhead17 !!!


Improve adding multiple disks to VMware VMs

This fixes two issues when adding multiple disks to a VMware VM:

If you need to add an additional SCSI controller to be able to add a new disk it would fail (e.g.: adding the 16th disk).  This is because the open scsi bus was always assumed to be 0
If you had non-consecutive free SCSI units it would try to add a disk to a populated location (e.g.: SCSI 0:0 and SCSI 0:2 are populated, adding two disks would try to put them at 0:1 and 0:2).  This was because getScsiCandU was only returning the first free disk position, and subsequent unit_numbers were +1 from the first one.

The fix is to return all free disk and scsi bus positions so that add_disks can iterate through known free unit_numbers and scsi buses.
This change allows you to add up to the maximum 60 disks in one reconfigure task, adding all 4 scsi adapters in the same request.  You can also add disks when e.g. every other disk position is free.
https://bugzilla.redhat.com/show_bug.cgi?id=1337310

@miq-bot add-label bug, providers/vmware


Transition not working with border-radius on most of the input

Bug Report
Problematic Behavior
Hi, I can see the css transition doesn't apply with the border-radius on most of the input.
https://openfun.github.io/cunningham/?path=/docs/components-forms-input--docs
https://openfun.github.io/cunningham/?path=/docs/components-forms-datepicker-doc--docs
Possible Solution
transition: border var(--c--theme--transitions--duration) var(--c--theme--transitions--ease-out), border-radius var(--c--theme--transitions--duration) var(--c--theme--transitions--ease-out);

good catch, I will fix it


Feat: Contributor Section Responsiveness

Describe the feature
I will make the contributor section responsive for all devices
Add ScreenShots

Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

@Ayushmaanagarwal1211 You are assigned ✔

send demo video while creating pr.

https://github.com/mdazfar2/HelpOps-Hub/assets/118350936/364d72d2-268c-49aa-89fe-e78c7c6cc524
@mdazfar2  please check the video if it is correct then i will make pr


When user logs out, the state remains in memory. Needs to be removed

https://github.com/Lambda-School-Labs/labspt2-auto-invoicer/pull/153


Updated readme

Updated Readme

merge conflicts !
Also this merge is from a separate fork into @sebassmontes 's branch (not in DPT Main branch)
Therefore @sebassmontes can accept it.


Limited Read-Committed support

Is the Thrift code generated? Looks rather error-prone otherwise...

Transaction.isIncluded seems to mean the opposite of Transaction.isExcluded but actually has a different meaning. I would give it a different name, like isCommitted.


Problem choosing primary IP for VirtualMachine when IP and interface changes

Hi, I'm getting following warnings while synchronizing a VMWare VirtualMachine which was modified to change interface and IP:
2022-04-24 22:00:17,144 - WARNING: Current interface 'vNIC 1 (Marand (VLAN 144))
(aadc.marand.si)' for IP '<IP_ADDRESS>/24' and this one 'vNIC 1 (Virtualizacija (VLAN 111))
(supportpal.integralis.si)' are both enabled. IP assignment skipped because it is unclear which one is the
correct one!

While I would like to keep the old IP in "quarantine" for 30 days (marked with tag Netbox-synced: Orphaned), I would also like the change of primary IP of the VirtualMachine to be picked up immediately. Wouldn't it be better for Primary IP selection logic to ignore orphaned IPs in situations where they cause ambiguities?

Hi, I'm sorry. I don't really understand what you mean with quarantine the IP. So the IP is not deleted?
Currently it seems the same IP iss assigned to two different VMs with active (enabled) interfaces. The script can't determine which own was desired to be the correct one.

What I mean by "quarantine" is exactly that the old IP is not deleted yet when it disappears on the VMWare side. I have this setting:
prune_delay_in_days = 30

(which is also the default). So old IP (and interface) is kept assigned to the VirtualMachine, but it is marked with tag Netbox-synced: Orphaned. Because it is left in the NetBox, it is considered "reserved" or I call that "quarantined" for another 30 days before being finally released. That's a good thing since it prevents immediate re-use and confusion on the side of clients that may still be using the old IP. Now because of 2 IPs (and interfaces) still assigned to the VirtualMachine, the old one still in Active state (it was active last time it was seen by synchronization), logic has a hard time figuring out which to assign as primary IP on the VirtualMachine. So I'm asking whether it would be possible to disambiguate such situation by ignoring "orphaned" IPs when there is ambiguity.

Hi, long time since I wrote last.
I'm finally getting around to fix some bugs again.
To understand your issue/workflow correctly:

you assign the Netbox-synced: Orphaned manually to an IP address which is meant to be released.
and the IP should be assigned to the new interface if it has the Netbox-synced: Orphane tag assigned?

It was a long time abo, but what I meant was that what I do on the following manually on the VMWare side:

remove Interface and IP address A from a virtual machine
add Interface and IP address B to the same virtual machine
What netbox-sync does to data in Netbox after those two changes in VMWare is:
interface and IP address A are marked with Netbox-synced: Orphaned
interface and IP address B are added to the virtual machine
the warning is logged and primary IP is not assigned to the virtual machine:
... "WARNING: Current interface 'vNIC 1 (Marand (VLAN 144))
(aadc.marand.si)' for IP '<IP_ADDRESS>/24' and this one 'vNIC 1 (Virtualizacija (VLAN 111))
(supportpal.integralis.si)' are both enabled. IP assignment skipped because it is unclear which one is the
correct one!"

Hi, I just pushed another commit which should fix exactly this use case. Can you check out the development branch and test it again? Thank you.

Hey @plevart: just pushed another commit to development. Would you be able to pull development branch and test if this fixes your issue?

Just give me a little time since currently I don't have a VM to play with (remove and add interfaces). I'll have to create one.

Hi, sure, would be great if you could confirm the fix and then I could close this issue. Trying to release a new version soon.

any updates?

Let me try it now...

Here we go...
I created new VM with a NIC in VLAN 144 and an IP address from that VLAN, then executed netbox-sync:
...
2023-02-14 18:10:33,911 - INFO: Query data from vCenter: 'vc1.marand.si'
2023-02-14 18:10:55,717 - INFO: Created new virtual machine object: testvm.marand.si
2023-02-14 18:10:55,718 - INFO: Created new virtual machine interface object: vNIC 1 (Marand (VLAN 144)) (testvm.marand.si)
2023-02-14 18:10:55,721 - INFO: Created new IP address object: <IP_ADDRESS>/22
2023-02-14 18:10:58,500 - INFO: Parsing objects which were marked to be reevaluated
2023-02-14 18:10:58,505 - INFO: Virtual machine 'testvm.marand.si' attribute 'tags' changed from '[]' to '['NetBox-synced', 'Source: vc1']'
2023-02-14 18:10:58,509 - INFO: Virtual machine interface 'vNIC 1 (Marand (VLAN 144)) (testvm.marand.si)' attribute 'tags' changed from '[]' to '['NetBox-synced', 'Source: vc1']'
2023-02-14 18:10:58,515 - INFO: Ip address '<IP_ADDRESS>/22' attribute 'tags' changed from '[]' to '['NetBox-synced', 'Source: vc1']'
2023-02-14 18:10:58,560 - INFO: Updating changed data in NetBox
2023-02-14 18:10:58,676 - INFO: Creating new NetBox 'IP address' object '<IP_ADDRESS>/22' with data: {'tags': [{'name': 'NetBox-synced'}, {'name': 'Source: vc1'}], 'address': '<IP_ADDRESS>/22', 'tenant': 1, 'assigned_object_type': 'virtualization.vminterface'}
2023-02-14 18:10:58,754 - INFO: NetBox successfully created IP address object '<IP_ADDRESS>/22'.
2023-02-14 18:10:58,754 - INFO: Ip address '<IP_ADDRESS>/22' attribute 'assigned_object_id' changed from 'None' to 'vNIC 1 (Marand (VLAN 144)) (testvm.marand.si)'
2023-02-14 18:10:58,761 - INFO: Creating new NetBox 'virtual machine' object 'testvm.marand.si' with data: {'tags': [{'name': 'NetBox-synced'}, {'name': 'Source: vc1'}], 'name': 'testvm.marand.si', 'cluster': 1, 'status': 'active', 'memory': 4096, 'vcpus': 2, 'disk': 20, 'platform': 13, 'tenant': 1, 'role': 1}
2023-02-14 18:10:58,882 - INFO: NetBox successfully created virtual machine object 'testvm.marand.si'.
2023-02-14 18:10:58,882 - INFO: Virtual machine 'testvm.marand.si' attribute 'primary_ip4' changed from 'None' to '<IP_ADDRESS>/22'
2023-02-14 18:10:58,888 - INFO: Creating new NetBox 'virtual machine interface' object 'vNIC 1 (Marand (VLAN 144)) (testvm.marand.si)' with data: {'tags': [{'name': 'NetBox-synced'}, {'name': 'Source: vc1'}], 'name': 'vNIC 1 (Marand (VLAN 144))', 'virtual_machine': 171, 'mac_address': '00:50:56:A9:EA:C2', 'description': 'Network adapter 1 (VirtualVmxnet3) (vlan ID: 144)', 'enabled': True, 'mtu': 1500, 'mode': 'access', 'untagged_vlan': 4}
2023-02-14 18:10:58,998 - INFO: NetBox successfully created virtual machine interface object 'vNIC 1 (Marand (VLAN 144))'.
2023-02-14 18:10:59,005 - INFO: Updating NetBox 'IP address' object '<IP_ADDRESS>/22' with data: {'assigned_object_type': 'virtualization.vminterface', 'assigned_object_id': 181}
2023-02-14 18:10:59,088 - INFO: Updating NetBox 'virtual machine' object 'testvm.marand.si' with data: {'primary_ip4': 218}
2023-02-14 18:10:59,262 - INFO: Pruning orphaned data in NetBox
2023-02-14 18:10:59,274 - INFO: Completed NetBox Sync in 29 seconds

All well. Then I powered down VM, switched the NIC to VLAN 128 and booted up the VM which initialized some other IP from VLAN 128. Then I ran netbox-sync again...
...
2023-02-14 18:16:15,362 - INFO: Query data from vCenter: 'vc1.marand.si'
2023-02-14 18:16:31,565 - INFO: Virtual machine interface 'vNIC 1 (Integralis (VLAN 128)) (testvm.marand.si)' attribute 'name' changed from 'vNIC 1 (Marand (VLAN 144))' to 'vNIC 1 (Integralis (VLAN 128))'
2023-02-14 18:16:31,565 - INFO: Virtual machine interface 'vNIC 1 (Integralis (VLAN 128)) (testvm.marand.si)' attribute 'description' changed from 'Network adapter 1 (VirtualVmxnet3) (vlan ID: 144)' to 'Network adapter 1 (VirtualVmxnet3) (vlan ID: 128)'
2023-02-14 18:16:31,567 - INFO: Created new IP address object: <IP_ADDRESS>/20
2023-02-14 18:16:31,569 - INFO: IP address is no longer assigned to vNIC 1 (Integralis (VLAN 128)) (testvm.marand.si) and therefore removed from this interface
2023-02-14 18:16:31,569 - INFO: Setting attribute 'primary_ip4' for 'testvm.marand.si' to None
2023-02-14 18:16:31,569 - INFO: Setting attribute 'assigned_object_id' for '<IP_ADDRESS>/22' to None
2023-02-14 18:16:31,569 - INFO: Setting attribute 'assigned_object_type' for '<IP_ADDRESS>/22' to None
2023-02-14 18:16:31,569 - INFO: Virtual machine interface 'vNIC 1 (Integralis (VLAN 128)) (testvm.marand.si)' attribute 'untagged_vlan' changed from '144 (Posta)' to '128 (Posta)'
2023-02-14 18:16:39,751 - INFO: Parsing objects which were marked to be reevaluated
2023-02-14 18:16:39,765 - INFO: Ip address '<IP_ADDRESS>/22' attribute 'tags' changed from '['NetBox-synced', 'Source: vc1']' to '['NetBox-synced', 'NetBox-synced: Orphaned', 'Source: vc1']'
2023-02-14 18:16:39,767 - INFO: Ip address '<IP_ADDRESS>/20' attribute 'tags' changed from '[]' to '['NetBox-synced', 'Source: vc1']'
2023-02-14 18:16:44,820 - INFO: Updating changed data in NetBox
2023-02-14 18:16:44,820 - INFO: Updating NetBox 'virtual machine' object 'testvm.marand.si' with data: {'primary_ip4': None}
2023-02-14 18:16:44,951 - INFO: Updating NetBox 'IP address' object '<IP_ADDRESS>/22' with data: {'assigned_object_id': None, 'assigned_object_type': None}
2023-02-14 18:16:45,035 - INFO: Updating NetBox 'IP address' object '<IP_ADDRESS>/22' with data: {'tags': [{'name': 'NetBox-synced: Orphaned'}, {'name': 'NetBox-synced'}, {'name': 'Source: vc1'}]}
2023-02-14 18:16:45,127 - INFO: Creating new NetBox 'IP address' object '<IP_ADDRESS>/20' with data: {'tags': [{'name': 'NetBox-synced'}, {'name': 'Source: vc1'}], 'address': '<IP_ADDRESS>/20', 'assigned_object_id': 181, 'tenant': 1, 'assigned_object_type': 'virtualization.vminterface'}
2023-02-14 18:16:45,202 - INFO: NetBox successfully created IP address object '<IP_ADDRESS>/20'.
2023-02-14 18:16:45,212 - INFO: Updating NetBox 'virtual machine interface' object 'vNIC 1 (Integralis (VLAN 128)) (testvm.marand.si)' with data: {'name': 'vNIC 1 (Integralis (VLAN 128))', 'description': 'Network adapter 1 (VirtualVmxnet3) (vlan ID: 128)', 'untagged_vlan': 3}
2023-02-14 18:16:45,358 - INFO: Pruning orphaned data in NetBox
2023-02-14 18:16:45,366 - INFO: Completed NetBox Sync in 34 seconds

All well this time too. Previous IP gets orphaned, new IP gets assigned to the VM and primary IP address of VM gets set correctly. As far as my problems are concerned, this version fixes them. Thanks for being patient with me.
Regards, Peter

Ahh, great news. Thanks for the testing effort. Will close this issue.


Definition of 'training objective' has a grammatical error

'An training' should be changed to 'a training'

The genus of the definition is the same as the term being defined. This could be fixed by changing 'training objective' to 'objective specification'.

I plan to do some work on OBI soon and can make those changes. Thanks, Chris.

Fixed and committed.


Application

There are only application examples about Korea,
but will there be meaningful results if I apply this to data from other countries?

Yes, we also expect the meaningful results from other countries as there are other datasets related to traffic accidents such as New York City and Beijing you may try. However, these datasets do not include (dangerous) driving behavior usually due to privacy issues. Therefore, if you would like to use our model for other datasets, please request relevant datasets from the respective authority in those contries. Thank you!


Anyone here?

Hi.
Thank you for this module. Really helping.
I noticed some inactivity recently and was wondering if I could be of any help. I think we could at least merge PR to fix vulnerabilities.

Is anybody home? 😱  Or somebody should fork the repo?

Someone should be. =) Will close for now.


Drag&Drop Support when recording

Hi all,
I just started using the UI5 Testrecorder and I am enjoing it a lot, thanks for the great work!
I could not find any functionality to cover Drag & Drop operations, yet.
Does your recorder already support Dragging and Dropping GUI elements and I just did miss it?
Otherwise: Are you planning to add any support for that in the future?
Thanks a lot!

Hi @mcvogt666 ,
Thanks for your compliment.
We plan to add Drag&Drop support in the future, but its a bit difficult without interupting the users interaction.
Currently we focusing on a complete refactoring of the recording and replay.
Maybe we find a solution while we are working on it.
Otherwise it may be possible by someone else to send a PullRequest to add this feature.

At least, UI5 added Drag and Drop actions via OPA5 in UI5 1.76, which could be used to execute such actions with the test recorder.


Update adding-a-menu-to-the-visual-studio-menu-bar

I deleted the difference in the explanation between  vs2017 and  vs2019,
because I could't find the difference when I try this tutorial.

@acangialosi
Could you review the proposed changes to your article?
Thanks!

@Asugakoisi : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@ktoliver : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@leslierichardson95 - Would you be able to review/resolve this pull request, or recommend someone who can? Thanks.
cc @TerryGLee

#hold-off
@Asugakoisi I'm rejecting this PR because some of the file names change between vs2017 and vs2019 (ie. 2019 uses TopLevelMenuPackage.vsct and 2017 uses TestCommandPackage.vsct).

@Asugakoisi I am closing this PR per @leslierichardson95's input; we thank you for your input and we hope to hear from you again.


Update the presentation slides

Update the presentation slides in the repo to get the last update from the copy on google drive share that we used for the presentation. Capturing it here for posterity!

Thanks River!


docs: fix docs typos

1.修复文档repo本地开发因 node 版本过低导致 vitepress 底层使用 node:xxx 模块报错。
2.修复文档暗黑模式下顶部搜索按钮背景色样式问题。
3.修复文档中标点符号等问题。

i just have resolved the conflict between this branch and main branch, please review again. @maslow

no problem

I  directly limit the judgment condition  instead of using semver to judge node version. Because semver is not installed when developer first install dependencies. It cause git action failed.


Remove unused markup from password page

Currently this checkbox does nothing. Neither does "helper text" provide any useful context at this time. We can remove them for now.

I've compiled and tested locally. My environment is as follows:
OS: Mac OS High Sierra (10.13.6)
Browser: Google Chrome 72.0.3626.109 (Official Build) (64-bit)


Feature/address reservation option

@oblique Thanks for creating this tool.
I've added a simple extension to enable IP address reservation based on MAC addresses using a simple configuration file, which generates relevant dhcp-host entries in the output dnsmasq.conf file.
The idea is to enable users to specify the IP address reservation as simply as possible, while still maintaining full features of dhcp-host format.
The configuration file can be as simple as:
00:1C:F0:A8:0A:11  <IP_ADDRESS>
00:1C:F0:A8:0A:12  <IP_ADDRESS>

but it can also include comments, empty lines, tabs, and all valid dhcp-host values, with the addition that instead of commas users can format this file as they want using spaces and tabs.

This would be very useful feature, imo.

I would simply
    cat $DNSMASQCONF >> $CONFDIR/dnsmasq.conf

before dnsmasq invocation. This is imo cleaner, easier and requires close to zero changes.
@oblique what do you think about customizing dnsmasq with config which is passed by name via an environment variable?

Just leaving this comment to thank you for this feature, this is very cool - I use it in conjunction with --mac-filter to create a local wireless network and enable communication between known hosts.


feat: login as guest

Here user has to type credentials manually . i want to implement login as guest  feature which will make user login with just one click .

please assing this issue to me

What are the updates??

We are closing this issue because it has been inactive for a long time.


Neurodiversity terms

I was reading the Accessibility style guide and I am excited to see guidance on identity-first language. However, I noticed the following issues regarding neurodiversity terminology:

Neurodiverse refers to a group, not an individual. For individuals, the terms "neurodivergent" and "neurotypical" are used. So, "neurodiverse person" should be changed to "neurodivergent person".
"Person with neurodiversity" isn't really an accepted term within the ND community, I've never seen it used.

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

ID: 47aaf3f0-fad9-7969-f4a6-687ff23e5315
Version Independent ID: 2df604ee-8963-1bc6-e68a-e7cc985b9e2d
Content: Accessibility terms - Microsoft Style Guide
Content Source: styleguide/a-z-word-list-term-collections/term-collections/accessibility-terms.md
Product: non-product-specific
GitHub Login: @pallep
Microsoft Alias: pallep

@kburk1997  Thank you for this feedback! We will review it with Accessibility and align accordingly.


changing database to scalla db and packaging to docker

i want to add scalla db instead of mongo db and package with docker

Ig we are happy with mongo for now..


Proposal: split google-cloud-cpp

Background
The google-cloud-cpp repository has become too large to manage effectively. Some of our customers are only interested in one of the libraries (say the GCS client), and they need to unnecessarily the other libraries and their dependencies. For the library developers, the builds take too long, and changes that affect (or should only affect) the Cloud Bigtable libraries are unnecessarily tested against the Google Cloud Storage libraries and vice-versa.
Overview
This is a proposal to split google-cloud-cpp into four repositories:

google-cloud-cpp-bigtable: will contain (roughly) the code in google/cloud/bigtable/** and any supporting CI and/or build scripts.
google-cloud-cpp-storage: will contain (roughly) the code in google/cloud/storage/** and any supporting CI and/or build scripts.
google-cloud-cpp-firestore: will contain the code in google/cloud/firestore/** and any supporting CI and/or build scripts.
google-cloud-cpp: will contain examples that use more than one google-cloud-cpp-* client library, such as google/cloud/examples/gcs2cbt/**.

Project Sequence (with approximate dates)

Early in 2020-Q2 we will create a new release for google-cloud-cpp.
We will stop adding features to this repository, but will continue to apply bug fixes as needed.
Soon after this release (we anticipate this will take hours), we will create the new repositories, google-cloud-cpp-{bigtable,storage,firestore} with the corresponding contents from google-cloud-cpp.
At this point we will stop fixing bugs in google-cloud-cpp, all new features and bug fixes will be implemented in google-cloud-cpp-{bigtable,storage,firestore}.
Simultaneously we will then enable the CI builds for these new repositories, we anticipate that this will take a few days.
Once the CI builds are working (and passing!) we will create new releases for google-cloud-cpp-*.
The repository release numbers will match the library release numbers.
The library minor release numbers will be increased, even if no code changes happened as the code was moved.
Once the new repositories have releases we will remove the code from google-cloud-cpp/google/cloud/{bigtable,storage,firestore}/**
At this point we will cut a new release for google-cloud-cpp, this will be the first release without any of the libraries in it. This release will increase the major number for the repository.

Expected Impact
We know this change impact existing users, but we believe users will be able to migrate to this new scheme with small amounts of effort. We anticipate that no changes to the C++ code will be needed. We expect that some changes to the build and/or packaging scripts will be needed.
Users Downloading from GitHub
We expect that a number of our customers download the source from GitHub and then incorporate the code into their build scripts. Existing releases of google-cloud-cpp will continue to work and will have exactly the same contents as before. Therefore, customers that have pinned their scripts to use a release will have no impact until such time as they decide to upgrade. Users that download master will break immediately, but we hope this is a small number, and that they are cognizant of the risks of depending on a development branch.
Changes for CMake Users depending on pre-installed libraries
No changes to their CMakeLists.txt files should be needed for these customers. Some changes to their build / installation scripts would be needed at the time they decide to upgrade.
Changes for CMake Users with Super Builds
These customers will need to change their top-level CMakeLists.txt to add new external projects.
Bazel Users
Bazel users will need to change their WORKSPACE file to introduce google-cloud-cpp-bigtable and/or google-cloud-cpp-storage as a new dependency.
Package Maintainers
Package maintainers that use google-cloud-cpp will need to create new packages for google-cloud-cpp-bigtable, google-cloud-cpp-storage, and google-cloud-cpp-firestore. Packaging tools that automatically detect "the latest version" and install from that version will immediately break when we create a new release of google-cloud-cpp.

UPDATE: We've decided to we're not going to split this repo. On the contrary, we're going to (re-)combine our already split repos back into this one, creating a single monorepo. See https://github.com/googleapis/google-cloud-cpp/issues/3612 with the details of this plan.


implement configurable nullable type, fixes #4

This PR resolves #4, it enables developers to customize the nullable postfix. Currently, the default is "null", but examples of postfixes that others might want to use are "undefined", "null | undefined", or even no postfix at all ("").
This PR also fixes arrays that have a nullable element type. It turns int | null[] into (int | null)[], and it also works with custom nullable postfixes of course. I could've used Array<...> instead, but I decided that because (...)[] is shorter, it's probably the preferred way to go.

Sorry, something went wrong. Give me a moment to redo this pull request cleanly.


unexpected block type: PGP SIGNED MESSAGE

I am trying the first example from the README, with the following msg.asc:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

hello, test
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEE4JQoCLcEK076omaW2amCbuN/p44FAmcbgqsACgkQ2amCbuN/
p478ZA//Vit/qGdQBYMmo0sXF8b5qSkKyIeOU/T5FhdplxoQe8ii+RKVgknkWQQh
[...]
Q5l3P2upzjUUEcay0Dzh84i4ThJwIlgu2TU9c96OlxtITl281z43iBT1OqCXW2Ub
oTtYszkpon+yKaiF9m5AHot96BNxhTSEvWZQdKQyCmikigA3xdf6k8Ng6X5w9VQi
=uLUn
-----END PGP SIGNATURE-----

When I run the example, I get the error:
Message("unexpected block type: PGP SIGNED MESSAGE")

from this line:
let (msg, _headers_msg) = Message::from_string(&msg_string).unwrap();

What am I doing wrong? Isn't my inline-signed message properly formed?

CleartextSignedMessage::from_string should work for this case.
(Cleartext signed messages are an odd format, they are not modeled as Message objects in rPGP.)

Thanks for the super quick answer! So I should actually generate the inline-signed message with: gpg --armor --sign > msg.asc, right?
It goes further but now fails with:
Message("verify: No matching issuer or issuer_fingerprint for Key ID: KeyId(<id>)")

at this line:
msg.verify(&public_key).unwrap();

Is that related to the comment "NOTE: This assumes that the primary serves as the signing key, which is not always the case!"? I have a subkey for signing...

Right, if you want to use Message, in rPGP, then it sounds like that gpg command produces the right output (I'm not fluent in gpg's CLI :sweat_smile: )
As you suspect: to verify, you need to use the correct component key - in your case, the correct subkey.
rPGP has a very low level API, so operations on the OpenPGP semantics layer are relatively verbose to do (e.g. finding the signing subkey, making sure it's not expired, etc ..).
I'm experimenting with a wrapper API that exposes the OpenPGP semantics layer, at https://crates.io/crates/rpgpie. But that project is still in an early phase. For example uses of rpgpie, the https://crates.io/crates/rsop CLI tool is relatively complete (but also still in a rather early development phase).

I can't speak to OpenPGP card usage on Android. I'm unsure what exactly it would take to access the device.

It's certainly possible, as evidenced by https://github.com/DDoSolitary/OkcAgent
I was looking at adding support for devices passed as file descriptors to PCSC (as Android lets applications receive USB devices like that). I didn't succeed but I came to the conclusion that maybe PCSC could just be removed from the equation and the file descriptor could be written to via openpgp-card-rpgp directly? (this would probably require some changes to the library). If my understanding is correct PCSC is especially useful for desktop systems for management of multiple connected cards and their state changes but Android doesn't use this kind of architecture.
I think this could be tested on desktop systems too by using /sys devices.
Sorry I can't help more!

That's very interesting! I am pretty sure I can find a way to pass a file descriptor to a USB device from Java/Kotlin to C++ over JNI. I assume I should eventually manage to do that with Rust (I assume it's very similar, through the FFI).
I am not very familiar with PCSC and how the communication works with the hardware key. I guess openpgp-card-rpgp doesn't just take a file descriptor as an argument, or does it? I guess I need to look into the source code of openpgp-card-rpgp, but if you have pointers there that would be appreciated! No pressure though, first I need to prove that I can correctly pass the file descriptor to C++/Rust 😊.

I think passing descriptors will be the easiest part (since it's just a number) and on Rust side you can definitely create a UnixStream from a descriptor via UnixStream::from_raw_fd. (or maybe you need File::from_raw_fd?)
The library which does the cards communication (openpgp-card) has pluggable backends. One of them does communication via PCSC but I think you should build another based on the scdc backend (which is very short). In the nutshell there's one central function called transmit which, in your case, you'd have to write to the UnixStream socket / file and read from it.
Note that this is based on my early view and may be incorrect here on there :sweat_smile: If you find any problems along the way I'm happy to suggest something (sadly I'm quite stuffed with coding work so I can't help with this directly :( ).

I'll mostly defer to @wiktor-k here, and just try to clarify the exact crates and traits he's referring to:
https://crates.io/crates/card-backend
defines the (very simple) backend traits, which is used by the https://crates.io/crates/openpgp-card layer (which, in turn, is what's underlying https://crates.io/crates/openpgp-card-rpgp).
You probably want to figure out how to talk to card on Android, and implement the card-backend trait for Android. Plugging that into openpgp-card-rpgp should hopefully be trivial, then.

I think passing descriptors will be the easiest part (since it's just a number)

It looks like it's just an int, but it's not: there is some kind of conversion to do between the Java wrapper FileDescriptor and the Unix file descriptor (apparently Android 31 added a helper for that: https://developer.android.com/ndk/reference/group/file-descriptor). I tried to just pass an int in the past and it was not enough, so I'll try the conversion.
For the rest, thanks again for all the pointers! I'll look into it in my own time and will open a new issue as soon as I have news to share with you. Let's see how far I can go!

Great. All the best, and do keep us posted!

For the rest, thanks again for all the pointers! I'll look into it in my own time and will open a new issue as soon as I have news to share with you. Let's see how far I can go!

Just a couple more details on what may be useful to check: https://wiki.termux.com/wiki/Termux-usb This asks for access to the USB device and passes it as a file descriptor (but I didn't see the source code anywhere :/ ) (just in case it's not clear it's a plugin to the termux terminal).
I wrote a small example of file based backend to OpenPGP Card but now I'm thinking maybe pcsc adds more framing to what openpgp-card is sending so this may not be super-easy... maybe it'll be useful for you as a starting point.
That's my 2 cents. Have a nice day! :) :wave:

One last thing I forgot to mention: There's already one working project that accesses card on Android: OpenKeychain (https://github.com/open-keychain/open-keychain). Even though it's unmaintained you may take a look at what they're doing in case your run into problems.


[BUG] Cron expressions can have 7 values, they aren't limited to 6.

Describe the bug
A clear and concise description of what the bug is.
If you provide more than 6 values in a cron expression, this error is raised: https://github.com/grumBit/aws_cron_expression_validator/blob/master/src/aws_cron_expression_validator/validator.py#L64
To Reproduce
Steps to reproduce the behaviour.
Place 7 expression in a cron schedule, example: 0 1-7/2,11-23/2 * * ? *
Expected behaviour
A clear and concise description of what you expected to happen.
For it to work.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.

Hi @icp277, I don't think the issue here is length - the expression is split by space, and the example you give is still 6 elements long by that metric - but rather that this combination of lists and slash expressions isn't supported.
I'm happy to take a look into this :)

Ah, I see your point and I concur. I don't know if the use case of that many slashes is going to be a common occurrence and doesn't seem worth the time for a single user. I appreciate your response.

Hi @icp277, thank you for reporting the problem and sorry for the slow reply to it. Hopefully the latest release fixes it and some other bugs I spotted.


test(testEnvironment): ensure jsdom is the default

Summary
I think there was a regression in v27.0.x releases and jsdomis no longer the default testEnvironment.
As far as I understand the code the e2e test should work but is failing
Test plan
Just the test case for now to get feedback.

Haven't you read a blog post for jest 27?
This is intentiaonal change and new test env by default is node

Haven't you read a blog post for jest 27?

Sorry I missed that one. Thank you for pointing it out.
Will close this one


iframe

Hi. Is this module working in iframes? I can't get it to work in an iframe. Looking at the code, there seems to be bunch of direct window and document references, so it probably does not work right? I will need to implement that support myself? Any guidance?
Thank you,
Cagdas

created PR for this: https://github.com/rnosov/react-reveal/pull/83


Plugin errors above version 130

Related issues https://github.com/samrum/vite-plugin-web-extension/issues/144

Hi there. Thank you for mentioning that I will update the extension then


Fatal Exception: io.flutter.plugins.firebase.crashlytics.FlutterError: PlatformException

Unfortunately, I don't have steps to reproduce, as I get the logs from Firebase Crashlytics.
It happens for 30% of users and 54% of the crashes on Google (Pixel?) devices, 50% on Android 13.
I've personally experienced crashes after finishing playing video ads, but I can't confirm if it is exactly this crash.
Crashlytics shows that the crash also happens 100% when device state is in background, which might be the case for playing videos.
This is the crashlogs:
Fatal Exception: io.flutter.plugins.firebase.crashlytics.FlutterError: PlatformException(error, Required value was null., null, java.lang.IllegalStateException: Required value was null.
	at com.appodeal.appodeal_flutter.f.a(AppodealBaseFlutterPlugin.kt:1)
	at com.appodeal.appodeal_flutter.g.g(AppodealFlutterPlugin.kt:3)
	at com.appodeal.appodeal_flutter.g.onMethodCall(AppodealFlutterPlugin.kt:50)
	at r.a.c.a.j$a.a(MethodChannel.java:2)
	at io.flutter.embedding.engine.e.e.k(DartMessenger.java:2)
	at io.flutter.embedding.engine.e.e.l(DartMessenger.java:3)
	at io.flutter.embedding.engine.e.e.m(Unknown Source:0)
	at io.flutter.embedding.engine.e.a.run(Unknown Source:12)
	at android.os.Handler.handleCallback(Handler.java:978)
	at android.os.Handler.dispatchMessage(Handler.java:104)
	at android.os.Looper.loopOnce(Looper.java:238)
	at android.os.Looper.loop(Looper.java:357)
	at android.app.ActivityThread.main(ActivityThread.java:8089)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1026)
)
       at StandardMethodCodec.decodeEnvelope(message_codecs.dart:653)
       at MethodChannel._invokeMethod(platform_channel.dart:315)

Versions that are used:
stack_appodeal_flutter: ^3.0.2
Flutter 3.7.3 • channel stable • https://github.com/flutter/flutter.git
Framework • revision<PHONE_NUMBER> (8 weeks ago) • 2023-02-08 15:46:04 -0800
Engine • revision 248290d6d5
Tools • Dart 2.19.2 • DevTools 2.20.1

Hi @dimat.
You described an unusual use case where certain methods are being called in the background, and we don't have direct access to the activity or context. To address this issue, we made some minor modifications to the last release 3.1.3-beta.2.
Thank you for your issue.


Unable to install ZeroFox Marketplace Application from marketplace

Describe the bug
On September 18th, 2024, a new Azure Solution was added to this repository named ZeroFox. It is composed of several data connectors, out of which 1 is a codeless connector while the rest are made through Azure Functions.
It was notified to customers that our app was added to Azure and that they were able to install it and use it by looking into our latest published offer  . However, any customer who tries to access the application, having set up a Resource Group and Workspace, is unable to allocate resources for installing the app. Whenever a Resource Group is selected and the user tries to select an associated workspace, it shows that none exists even though these were already created.
I need help with this issue since customers are waiting to use our application and, due to configuration issues, the application can not be delivered to customers.
To Reproduce
Steps to reproduce the behavior:

Go to https://portal.azure.com/#home
Search for "ZeroFox Connector" in the Marketplace section
Click on the Create button to set up a plan.
Select a Resource Group and try to select a workspace matching your selected Resource Group
See error

Expected behavior
The plan associated with the ZeroFox Connector marketplace offer is created properly and the application can then be used.
Screenshots

Hi @DNRRomero, Thanks for flagging this issue, we will investigate this issue and get back to you with some updates 18-04-2024. Thanks!

Hey @DNRRomero, We have followed-up with your shared repro steps from this issue description. After selecting the solution from Azure Marketspace, we have selected our Subscription / Resource group, and while selecting the Workspace we are able to see the associated Workspace over there.
Sharing the screenshot for your reference :-

Could you please check it once from your end and let us know if still you are having issue.
Note: It may take 5 to 10 sec delays if your connection is unstable.
Thanks!

Hi @v-sudkharat! I just tried again and checked on my workspace availability

As you can see, I have two workspaces set up in the resource group zf_Test, namely workspace_test and workspace_test_3
However when trying to add them to the Solution plan:

Even if I try to create a resource group inline, it won't give the option of creating a corresponding workspace

I have verified that I am not the only user with this issue, as 2 coworkers and a number of customers have run into it.

Hey @DNRRomero,
It may due to not having required roles and permission's, so could you please confirm once if you are compliant/having permission to resource group/workspace:-
https://learn.microsoft.com/en-us/azure/sentinel/roles
If still having issue, can we have a call? could you please share your mail ID and couple of Timeslot's for call with us on below mail Id -<EMAIL_ADDRESS>So we can check it into it.
Thanks!

Hey @v-sudkharat  I have looked into the roles required and did not see anything that may be the cause.
I call with you to get help on this would be great, I've just sent you an email with my appointment schedule

@DNRRomero, We have received your mail. We will schedule a meeting and send invite over mail. Thanks!

Hey @DNRRomero, Just got the issue from your provided screenshot and before schedule the call, I just want to validate the resource you have created.
By observing the workspace icon, based on your provided screenshot it looks you have created Workspaces service and not Sentinel Log Analytic Workspace in associated Resource Group. To install the sentinel solution from Marketplace, the solution required Log Analytic Workspace linked to its associated Resource Group.
Correct me if you already created Sentinel LAW and still facing the issue.
Sharing the steps to create LAW which required to install solution from marketplace: -

Got to Azure Portal HomePage and search for the Microsoft Sentinel : -

Click on Create New Workspace and Fill the required details into it : -

Select the Resource group where you want to create Microsoft Sentinel into it :-

Validate your details once and click on create : -

The deployment take few min to create Workspace into Resurce Group.

After deployment, Go to Microsoft Sentinel and click on Create :-

Enter your created Workspace name into search bar and click on add by selecting it :-

Once it gets successfully added, you will get below success message: -

Now, while you will get the Workspace while creating the solution from Marketplace :-

Please confirm the above steps and let me know your feedback. So, we can plan the call accordingly.
Thanks!

Hi @v-sudkharat! you were right, I was not setting up the proper workspace resource. However, after setting it up according to your instructions, I kept running into the same issue:
Here is a list with all resources that I have created

Here is the Microsoft Sentinel section with the corresponding workspaces, where you can see that zf-sentinel-worksapce is listed

However, when I try to set up my App, it keeps showing no available workspaces

Hi @DNRRomero, we have sent a meeting invite. Thanks!

Hi @v-sudkharat ! When can we expect to see changes in our marketplace solution?
Thank you!

Hey @DNRRomero, I have sent a mail for required few details from your end to update this solution. Could you please check it.
Thanks!

Hi @DNRRomero, As we fixed the link issue, so can we close this GitHub issue? waiting for you closer confirmation. Thanks!

sure thing! Thank you @v-sudkharat


Fix bug with navbar routes for absences dashboards

Who is this PR for?
K8 principals, asst. principals
What problem does this PR fix?
Bug in https://github.com/studentinsights/studentinsights/pull/1523 with how navbar links are rendered on different pages across roles.
What does this PR do?
Fixes the bug by explicitly passing the school to these links.
In https://github.com/studentinsights/studentinsights/compare/patch/navbar-across-roles, I also spiked on pulling out the navbar from Rails and rendering in JS so we could add it into https://github.com/studentinsights/studentinsights/pull/1522 and be able to see these easily in production across roles (right now we can't), but this is more involved that I can do this morning and we have other things to ship for tomorrow.

selfie


apigateway parentIdSelector by matchLabels isn't working

What happened?
The API GW resource is not being created using parentIdSelector matchLabels. Creating resource under '/api/v1' getting an error.
Error: cannot resolve references: mg.Spec.ForProvider.ParentID: cannot get referenced resource: RestAPI.apigateway.aws.upbound.io "test0" not found
How can we reproduce it?
apiVersion: apigateway.aws.upbound.io/v1beta1
kind: RestAPI
metadata:
  labels:
    testing.upbound.io/name: test
  name: test
spec:
  forProvider:
    name: test
    region: eu-west-1
---
apiVersion: apigateway.aws.upbound.io/v1beta1
kind: Resource
metadata:
  labels:
    testing.upbound.io/resource: test0
  name: test0
spec:
  forProvider:
    parentIdSelector:
      matchLabels:
        testing.upbound.io/name: test
    pathPart: api
    region: eu-west-1
    restApiIdSelector:
      matchLabels:
        testing.upbound.io/name: test
---
apiVersion: apigateway.aws.upbound.io/v1beta1
kind: Resource
metadata:
  labels:
    testing.upbound.io/resource: test1
  name: test1
spec:
  forProvider:
    parentIdSelector:
      matchLabels:
        testing.upbound.io/resource: test0
    pathPart: v1
    region: eu-west-1
    restApiIdSelector:
      matchLabels:
        testing.upbound.io/name: test

What environment did it happen in?
Crossplane version: crossplane/crossplane:v1.10.1
AWS provider version: xpkg.upbound.io/upbound/provider-aws:v0.22.0

Hi @vispav , I am not fully sure it is the reason but could you try removing parenthesis in the test resources? Looks like a potential mismatch
 name: "test0"

Hi @vispav , I am not fully sure it is the reason but could you try removing parenthesis in the test resources? Looks like a potential mismatch
 name: "test0"

Hi @ytsarev , thanks for the suggestion. I tried removing quotes, it is still same error.

@vispav thanks for checking. Is RestAPI is in the Ready state? Does it have the correct label?

@ytsarev yes, RestAPI is in Ready state and every resource are labeled exactly same as described in the yaml files. But the problem is with parentIdSelector, it doesn't work when trying to create resource with child path, i.e. under api/v1
NAME   READY   SYNCED   EXTERNAL-NAME   AGE   LABELS
test   True    True     0qwlbv0t71      46m   testing.upbound.io/name=test
test0   True    True     qhkt8z          3m8s   testing.upbound.io/resource=test0
test1           False                    3m14s   testing.upbound.io/resource=test1

Warning  CannotResolveResourceReferences  25s (x10 over 4m26s)  managed/apigateway.aws.upbound.io/v1beta1, kind=resource  cannot resolve references: mg.Spec.ForProvider.ParentID: no resources matched selector
In terraform such example would be:
resource "aws_api_gateway_resource" "api" {
  rest_api_id = var.rest_api_id
  parent_id   = var.parent_resource_id
  path_part   = "api"
}
resource "aws_api_gateway_resource" "v1" {
  rest_api_id = aws_api_gateway_resource.api.rest_api_id
  parent_id   = aws_api_gateway_resource.api.id
  path_part   = "v1"
}

Hi @vispav,
As I understand from the terraform documentation, you need to select the rest_api_id  and parent_id  parameters from a RestAPI resource.
rest_api_id: ID of the associated REST API
parent_id: ID of the parent API resource

You are getting error here because you are trying to select parent_id from kind: Resource resource.
I think it will work if the example is like below:
apiVersion: apigateway.aws.upbound.io/v1beta1
kind: RestAPI
metadata:
  labels:
    testing.upbound.io/name: test
  name: test
spec:
  forProvider:
    name: test
    region: eu-west-1
---
apiVersion: apigateway.aws.upbound.io/v1beta1
kind: Resource
metadata:
  labels:
    testing.upbound.io/resource: test0
  name: test0
spec:
  forProvider:
    parentIdSelector:
      matchLabels:
        testing.upbound.io/name: test
    pathPart: api
    region: eu-west-1
    restApiIdSelector:
      matchLabels:
        testing.upbound.io/name: test
---
apiVersion: apigateway.aws.upbound.io/v1beta1
kind: Resource
metadata:
  labels:
    testing.upbound.io/resource: test1
  name: test1
spec:
  forProvider:
    parentIdSelector:
      matchLabels:
        testing.upbound.io/resource: test
    pathPart: v1
    region: eu-west-1
    restApiIdSelector:
      matchLabels:
        testing.upbound.io/name: test

Hi @vispav,
Thanks for trying, it looks like the label of the parentIdSelector in the test1 resource is wrong. If you use testing.upbound.io/name:test instead of testing.upbound.io/resource:test the issue will be solved.
Can you try the example below again?
apiVersion: apigateway.aws.upbound.io/v1beta1
kind: RestAPI
metadata:
  labels:
    testing.upbound.io/name: test
  name: test
spec:
  forProvider:
    name: test
    region: eu-west-1
---
apiVersion: apigateway.aws.upbound.io/v1beta1
kind: Resource
metadata:
  labels:
    testing.upbound.io/resource: test0
  name: test0
spec:
  forProvider:
    parentIdSelector:
      matchLabels:
        testing.upbound.io/name: test
    pathPart: api
    region: eu-west-1
    restApiIdSelector:
      matchLabels:
        testing.upbound.io/name: test
---
apiVersion: apigateway.aws.upbound.io/v1beta1
kind: Resource
metadata:
  labels:
    testing.upbound.io/resource: test1
  name: test1
spec:
  forProvider:
    parentIdSelector:
      matchLabels:
        testing.upbound.io/name: test
    pathPart: v1
    region: eu-west-1
    restApiIdSelector:
      matchLabels:
        testing.upbound.io/name: test

hi @turkenf ,
Have you tested it by yourself?  :) This is the result of your example:

The desired result is to have "v1" under "api": api/v1

Hi @vispav, thank you for your try I got it now, sorry.
We currently cannot support multiple reference types: https://github.com/upbound/upjet/issues/95
But as a workaround, you can use the id of test0.Resource for parentId in test1.Resource
apiVersion: apigateway.aws.upbound.io/v1beta1
kind: RestAPI
metadata:
  labels:
    testing.upbound.io/name: test
  name: test
spec:
  forProvider:
    name: test
    region: eu-west-1
---
apiVersion: apigateway.aws.upbound.io/v1beta1
kind: Resource
metadata:
  labels:
    testing.upbound.io/resource: test0
  name: test0
spec:
  forProvider:
    parentIdSelector:
      matchLabels:
        testing.upbound.io/name: test
    pathPart: api
    region: eu-west-1
    restApiIdSelector:
      matchLabels:
        testing.upbound.io/name: test
---
apiVersion: apigateway.aws.upbound.io/v1beta1
kind: Resource
metadata:
  labels:
    testing.upbound.io/resource: test1
  name: test1
spec:
  forProvider:
    parentId: <ID of the above resource(you can use EXTERNAL-NAME)>
    pathPart: v1
    region: eu-west-1
    restApiIdSelector:
      matchLabels:
        testing.upbound.io/name: test

After creating the example above, I think we reach the desired result.
NAME                                       READY   SYNCED   EXTERNAL-NAME   AGE
resource.apigateway.aws.upbound.io/test0   True    True     4f77d1          13m
resource.apigateway.aws.upbound.io/test1   True    True     yhsl74          13m

NAME                                     READY   SYNCED   EXTERNAL-NAME   AGE
restapi.apigateway.aws.upbound.io/test   True    True     fb0e9e2hpk      13m

status:
  atProvider:
    id: yhsl74
    path: /api/v1

This is a bug; that field should reference the Resources kind, not the RestApi kind. I am having the same issue.

Same issue here, further more if instead of using parentIdSelector, you use parentID and you put the ID of the /api resource it works.
It seems it is a bug of the parentIdSelector logic, it should search for both RestAPI and Resource resources.
I could not find the source code for this, is it not open source?

Hello folks, as I described above comment, we currently cannot support multiple reference types, and there is an upstream issue: https://github.com/upbound/upjet/issues/95. You can share your experiences and requests there, thank you 🙏

Blocked by: https://github.com/crossplane/upjet/issues/95

Having the same issue here.
Defining different properties to select and RestAPI or Resource would be a valid solution?
For example:
parentIdSelector -> selects a RestAPI type (to keep compatibility)
parentResourceIdSelector -> selects a Resource type.
Thanks.

Having the exact same issue with this and i've been wrestling with getting it working for quite some time. I can't seem to specify subresources because parentIdRef or parentIdSelector always seems to go looking for the RestApi kind. :(

having the same issue here as well.
Putting the parentId of the resource will not be automated well,
Please help us


Select Multiple on Mac doesn't show scrollbar

On Yosemite (and probably Mavericks as well), the select's padding seems to be "pushing" the scrollbars off the rendered area of the select field.
You can see it on the demo here:
https://almsaeedstudio.com/themes/AdminLTE/pages/forms/general.html
Using the trackpad to scroll in the  "Select Multiple" - the scroll bars will never show up.  Additionally, when using the up/down arrow keys, the list will not scroll either.
There is a system preference on OSX to determine how scrollbars render.  The default is this:
System Preferences / General / Show scroll bars - Automatically based on mouse or trackpad
If you change this option to one of the other two options, then the scroll bars render as expected (although the arrow keys still do not work properly)
Any help or suggestions would be appreciated.

I haven't changed or added to the multiselect menu. If this issue persists, it could be caused by Bootstrap. Any further help would be best acquired from the Bootstrap issue tracker. Thanks and I am sorry I apologize for the inconvenience.

Thanks for the prompt response.
For reference this was already documented in Bootstrap here:
https://github.com/twbs/bootstrap/issues/12536
They are calling it a webkit bug and filed that here:
https://bugs.webkit.org/show_bug.cgi?id=128489
I'll close this issue.


Flow Playground on localhost is blank

Describe the bug
Launched the playground on localhost as per instructions here  https://github.com/onflow/flow-playground
http://localhost:3000 is just blank
Desktop (please complete the following information):

OS: macOS Big Sur
Browser Chrome Version 96.0.4664.110 (Official Build) (x86_64)
Docker Version: v20.10.8
npm Version : 8.3.0
node Version : 17.3.0

Here is the output of running npm run start
 1 [~/flow-playground](master)$ npm run start
  2
  3 > start
  4 > webpack-dev-server -d --config webpack.config.js --inline
  5
  6 ℹ ｢wds｣: Project is running at http://localhost:3000/
  7 ℹ ｢wds｣: webpack output is served from /
  8 ℹ ｢wds｣: Content not from webpack is served from /Users/sivers/flow-playground/dist
  9 ℹ ｢wds｣: 404s will fallback to /index.html
 10 ✖ ｢wdm｣: Hash: 10fcdcfe87dd967d14a0
 11 Version: webpack 4.46.0
 12 Time: 14253ms
 13 Built at: 01/12/2022 9:24:50 AM
 14                                Asset       Size  Chunks                         Chunk Names
 15 4168b9c11e5075e9cfe634a513b438f2.ttf   61.3 KiB          [emitted] [immutable]
 16         cadence-language-server.wasm   13.8 MiB          [emitted]
 17                     editor.worker.js   1.12 MiB          [emitted]
 18                          favicon.png  442 bytes          [emitted]
 19                        flow_logo.jpg   16.3 KiB          [emitted]
 20                 fonts/interstate.ttf   39.9 KiB          [emitted]
 21                           index.html   1.56 KiB          [emitted]
 22                              main.js   36.1 MiB    main  [emitted]              main
 23                           robots.txt   15 bytes          [emitted]
 24 Entrypoint main = main.js
 25 [1] multi (webpack)-dev-server/client?http://localhost:3000 ./src/index.tsx ./src/wasm_exec.js 52 bytes {main} [built]
 26 [./node_modules/react-dom/index.js] 1.33 KiB {main} [built]
 27 [./node_modules/react/index.js] 190 bytes {main} [built]
 28 [./node_modules/strip-ansi/index.js] 161 bytes {main} [built]
 29 [./node_modules/webpack-dev-server/client/index.js?http://localhost:3000] (webpack)-dev-server/client?http://localhost:3000 4.29 KiB {main} [built]
 30 [./node_modules/webpack-dev-server/client/overlay.js] (webpack)-dev-server/client/overlay.js 3.51 KiB {main} [built]
 31 [./node_modules/webpack-dev-server/client/socket.js] (webpack)-dev-server/client/socket.js 1.53 KiB {main} [built]
 32 [./node_modules/webpack-dev-server/client/utils/createSocketUrl.js] (webpack)-dev-server/client/utils/createSocketUrl.js 2.91 KiB {main} [built]
 33 [./node_modules/webpack-dev-server/client/utils/log.js] (webpack)-dev-server/client/utils/log.js 964 bytes {main} [built]
 34 [./node_modules/webpack-dev-server/client/utils/reloadApp.js] (webpack)-dev-server/client/utils/reloadApp.js 1.59 KiB {main} [built]
 35 [./node_modules/webpack-dev-server/client/utils/sendMessage.js] (webpack)-dev-server/client/utils/sendMessage.js 402 bytes {main} [built]
 36 [./node_modules/webpack/buildin/global.js] (webpack)/buildin/global.js 472 bytes {main} [built]
 37 [./node_modules/webpack/hot sync ^\.\/log$] (webpack)/hot sync nonrecursive ^\.\/log$ 170 bytes {main} [built]
 38 [./src/index.tsx] 197 bytes {main} [built]
 39 [./src/wasm_exec.js] 15.4 KiB {main} [built]
 40     + 1027 hidden modules
 41
 42 WARNING in EnvironmentPlugin - AVATAAR_URL environment variable is undefined.
 43
 44 You can pass an object with default values to suppress this warning.
 45 See https://webpack.js.org/plugins/environment-plugin for example.
 46
 47 WARNING in EnvironmentPlugin - DEFAULT_SEO_IMAGE environment variable is undefined.
 48
 49 You can pass an object with default values to suppress this warning.
 50 See https://webpack.js.org/plugins/environment-plugin for example.
 51
 52 WARNING in EnvironmentPlugin - GA_TRACKING_CODE environment variable is undefined.
 53
 54 You can pass an object with default values to suppress this warning.
 55 See https://webpack.js.org/plugins/environment-plugin for example.

 57 WARNING in EnvironmentPlugin - MIXPANEL_TOKEN environment variable is undefined.
 58
 59 You can pass an object with default values to suppress this warning.
 60 See https://webpack.js.org/plugins/environment-plugin for example.
 61
 62 WARNING in EnvironmentPlugin - PLAYGROUND_API environment variable is undefined.
 63
 64 You can pass an object with default values to suppress this warning.
 65 See https://webpack.js.org/plugins/environment-plugin for example.
 66
 67 ERROR in ./src/providers/Project/index.tsx 43:11
 68 Module parse failed: Identifier 'active' has already been declared (43:11)
 69 File was processed with these loaders:
 70  * ./node_modules/ts-loader/index.js
 71 You may need an additional loader to handle the result of these loaders.
 72 |     const [isSavingCode, setIsSaving] = useState(false);
 73 |     const [lastSigners, setLastSigners] = useState(null);
 74 >     const [active, setActive] = useState({
 75 |         type: EntityType.Account,
 76 |         index: 0,
 77  @ ./src/containers/Editor/index.tsx 3:0-52 7:0-47 23:14-24 40:34-44 46:34-44 53:34-44 66:38-48 72:38-48 82:38-48 88:38-48 99:38-48 105:38-48 116:28-43
 78  @ ./src/App.tsx
 79  @ ./src/index.tsx
 80  @ multi ./src/index.tsx ./src/wasm_exec.js
 81
 82 ERROR in /Users/sivers/flow-playground/src/providers/Project/index.tsx
 83 ./src/providers/Project/index.tsx
 84 [tsl] ERROR in /Users/sivers/flow-playground/src/providers/Project/index.tsx(77,3)
 85       TS2300: Duplicate identifier 'active'.
 86
 87 ERROR in /Users/sivers/flow-playground/src/providers/Project/index.tsx
 88 ./src/providers/Project/index.tsx
 89 [tsl] ERROR in /Users/sivers/flow-playground/src/providers/Project/index.tsx(108,10)
 90       TS2300: Duplicate identifier 'active'.
 91
 92 ERROR in /Users/sivers/flow-playground/src/providers/Project/index.tsx
 93 ./src/providers/Project/index.tsx
 94 [tsl] ERROR in /Users/sivers/flow-playground/src/providers/Project/index.tsx(78,3)
 95       TS2300: Duplicate identifier 'setActive'.
 96
 97 ERROR in /Users/sivers/flow-playground/src/providers/Project/index.tsx
 98 ./src/providers/Project/index.tsx
 99 [tsl] ERROR in /Users/sivers/flow-playground/src/providers/Project/index.tsx(108,18)
100       TS2300: Duplicate identifier 'setActive'.
101
102 ERROR in /Users/sivers/flow-playground/src/providers/Project/index.tsx
103 ./src/providers/Project/index.tsx
104 [tsl] ERROR in /Users/sivers/flow-playground/src/providers/Project/index.tsx(312,20)
105       TS2552: Cannot find name 'useLocation'. Did you mean 'Selection'?
106
107 ERROR in /Users/sivers/flow-playground/src/providers/Project/index.tsx
108 ./src/providers/Project/index.tsx
109 [tsl] ERROR in /Users/sivers/flow-playground/src/providers/Project/index.tsx(328,8)
110       TS2304: Cannot find name 'Redirect'.
111
112 ERROR in /Users/sivers/flow-playground/src/providers/Project/index.tsx
113 ./src/providers/Project/index.tsx
114 [tsl] ERROR in /Users/sivers/flow-playground/src/providers/Project/index.tsx(360,13)
115       TS2304: Cannot find name 'Redirect'.
116
117 ERROR in /Users/sivers/flow-playground/src/providers/Project/index.tsx
118 ./src/providers/Project/index.tsx
119 [tsl] ERROR in /Users/sivers/flow-playground/src/providers/Project/index.tsx(380,38)
120       TS2304: Cannot find name 'initialLoad'.
121
122 ERROR in /Users/sivers/flow-playground/src/providers/Project/index.tsx
123 ./src/providers/Project/index.tsx
124 [tsl] ERROR in /Users/sivers/flow-playground/src/providers/Project/index.tsx(381,9)
125       TS2304: Cannot find name 'setInitialLoad'.
126
127 ERROR in /Users/sivers/flow-playground/src/providers/Project/index.tsx
128 ./src/providers/Project/index.tsx
129 [tsl] ERROR in /Users/sivers/flow-playground/src/providers/Project/index.tsx(387,17)
130       TS2304: Cannot find name 'Redirect'.
131
132 ERROR in /Users/sivers/flow-playground/src/providers/Project/index.tsx
133 ./src/providers/Project/index.tsx
133 ./src/providers/Project/index.tsx
134 [tsl] ERROR in /Users/sivers/flow-playground/src/providers/Project/index.tsx(403,38)
135       TS2304: Cannot find name 'initialLoad'.
136
137 ERROR in /Users/sivers/flow-playground/src/providers/Project/index.tsx
138 ./src/providers/Project/index.tsx
139 [tsl] ERROR in /Users/sivers/flow-playground/src/providers/Project/index.tsx(404,9)
140       TS2304: Cannot find name 'setInitialLoad'.
141
142 ERROR in /Users/sivers/flow-playground/src/providers/Project/index.tsx
143 ./src/providers/Project/index.tsx
144 [tsl] ERROR in /Users/sivers/flow-playground/src/providers/Project/index.tsx(410,17)
145       TS2304: Cannot find name 'Redirect'.
146
147 ERROR in /Users/sivers/flow-playground/src/providers/Project/index.tsx
148 ./src/providers/Project/index.tsx
149 [tsl] ERROR in /Users/sivers/flow-playground/src/providers/Project/index.tsx(427,38)
150       TS2304: Cannot find name 'initialLoad'.
151
152 ERROR in /Users/sivers/flow-playground/src/providers/Project/index.tsx
153 ./src/providers/Project/index.tsx
154 [tsl] ERROR in /Users/sivers/flow-playground/src/providers/Project/index.tsx(428,9)
155       TS2304: Cannot find name 'setInitialLoad'.
156
157 ERROR in /Users/sivers/flow-playground/src/providers/Project/index.tsx
158 ./src/providers/Project/index.tsx
159 [tsl] ERROR in /Users/sivers/flow-playground/src/providers/Project/index.tsx(434,17)
160       TS2304: Cannot find name 'Redirect'.
161 Child HtmlWebpackCompiler:
162      1 asset
163     Entrypoint HtmlWebpackPlugin_0 = __child-HtmlWebpackPlugin_0
164     [./node_modules/html-webpack-plugin/lib/loader.js!./src/index.html] 1.8 KiB {HtmlWebpackPlugin_0} [built]
165 Child vs/editor/editor:
166                Asset      Size  Chunks             Chunk Names
167     editor.worker.js  1.12 MiB    main  [emitted]  main
168     Entrypoint main = editor.worker.js
169     [./node_modules/monaco-editor/esm/vs/base/common/arrays.js] 7.38 KiB {main} [built]
170     [./node_modules/monaco-editor/esm/vs/base/common/diff/diff.js] 49 KiB {main} [built]
171     [./node_modules/monaco-editor/esm/vs/base/common/errors.js] 2.74 KiB {main} [built]
172     [./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js] 5.7 KiB {main} [built]
173     [./node_modules/monaco-editor/esm/vs/base/common/platform.js] 5.88 KiB {main} [built]
174     [./node_modules/monaco-editor/esm/vs/base/common/stopwatch.js] 1.11 KiB {main} [built]
175     [./node_modules/monaco-editor/esm/vs/base/common/types.js] 4.28 KiB {main} [built]
176     [./node_modules/monaco-editor/esm/vs/base/common/uri.js] 21.2 KiB {main} [built]
177     [./node_modules/monaco-editor/esm/vs/base/common/worker/simpleWorker.js] 10.4 KiB {main} [built]
178     [./node_modules/monaco-editor/esm/vs/editor/common/core/position.js] 3.93 KiB {main} [built]
179     [./node_modules/monaco-editor/esm/vs/editor/common/core/range.js] 13.8 KiB {main} [built]
180     [./node_modules/monaco-editor/esm/vs/editor/common/diff/diffComputer.js] 20.5 KiB {main} [built]
181     [./node_modules/monaco-editor/esm/vs/editor/common/model/mirrorTextModel.js] 4.95 KiB {main} [built]
182     [./node_modules/monaco-editor/esm/vs/editor/common/services/editorSimpleWorker.js] 19.7 KiB {main} [built]
183     [./node_modules/monaco-editor/esm/vs/editor/editor.worker.js] 1.04 KiB {main} [built]
184         + 22 hidden modules
185 ℹ ｢wdm｣: Failed to compile.

Hi @ayy345, I am also running playground at my local machine and it is running fine, from you terminal logs that you shared above are showing so many errors e.g:
 67 ERROR in ./src/providers/Project/index.tsx 43:11
 68 Module parse failed: Identifier 'active' has already been declared (43:11)
 69 File was processed with these loaders:
 70  * ./node_modules/ts-loader/index.js
 71 You may need an additional loader to handle the result of these loaders.
 72 |     const [isSavingCode, setIsSaving] = useState(false);
 73 |     const [lastSigners, setLastSigners] = useState(null);
 74 >     const [active, setActive] = useState({
 75 |         type: EntityType.Account,
 76 |         index: 0,
 77  @ ./src/containers/Editor/index.tsx 3:0-52 7:0-47 23:14-24 40:34-44 46:34-44 53:34-44 66:38-48 72:38-48 82:38-48 88:38-48 99:38-48 105:38-48 116:28-43
 78  @ ./src/App.tsx
 79  @ ./src/index.tsx
 80  @ multi ./src/index.tsx ./src/wasm_exec.js
 81
 82 ERROR in /Users/sivers/flow-playground/src/providers/Project/index.tsx
 83 ./src/providers/Project/index.tsx
 84 [tsl] ERROR in /Users/sivers/flow-playground/src/providers/Project/index.tsx(77,3)
 85       TS2300: Duplicate identifier 'active'.

I think you have any old version of code, can you update your code with master branch and try to run your application again.

I can't reproduce either, closing


Cmake support

added CMakeLists.txt to the source file and modified an obvious "name usage error"

Great contribution, thank you!


Research Language Support

Description
Form an understanding of VS Code extensions that provide language support using TextMate grammars and semantic highlighting. Look into their options for implementation, tools for debugging, and any popular helper libraries. Document findings in the wiki.
Research
Implementations

[x] Language Extensions
[ ] Language Client & Server [LSP sample] [Multi-server sample]
[ ] Language Server Protocol

standardized interface for a language server
works in multiple dev tools (Atom, etc.)
can support multiple languages

[ ] TextMate grammars [Intro to TextMate Grammars]
[ ] Semantic Highlighting [Semantic Tokens sample ]

Debug Tools

[ ] scope inspector

Helper libraries

[ ] vscode-textmate

Other Links
These may or may not be useful in our intended implementation.

Syntax Highlighting
Defining a Color Theme
Text Decorator

Backlogging, potentially to be scrapped. Would be a great stretch goal, but not needed for MVP. Simplified Go server here

Possible features:

Add support for a rulebook-specific language:

Declarative Language Features

Syntax highlighting
Bracket matching
Bracket autoclosing
Bracket autosurrounding
Comment toggling
Auto indentation
Folding (by markers)

Programmatic Language Features

Semantic highlighting
Outline for an initial file
Auto-completion proposals using context-aware IntelliSense
Symbol definitions that provide:

Hover information
Description
Type
Sample usage

Enhance diagnostic feedback:

Suggest Code Actions on error or warning
CodeLens actionable, contextual information displayed interspersed with source code


Upgraded to react v16

Issue #30
As it is written in react upgrade guide, if your app worked in v15.6 it should work fine now. I checked it, and all tests passed, and there is no usage of any function/feature that had a breaking change introduced in v16

Coverage remained the same at 85.261% when pulling aedaea8082c3353a36952229b57fdec567a54fad on maciejmatu:master into bc0ce7402a74a2a649f804b693647aea4fe18e41 on drom:master.

@maciejmatu thank you!


Add more details about blob exchange

This can be either in the spec itself, an appendix, or a resources article.
This is one of the few feedback items I've been unable to address.

@kauffj Can you add more detail? Who do you see writing this?

This would be for @jackrobison @lyoshenka or @shyba