fix incorrect return value in M4i driver for ACDC_offs_compensation_x

The ACDC_offs_compensation_x parameters did not return any value.
There is one issue left: there is a warning emitted when the M4i is connected and a snapshot with update=True is generated by the following code:
    def _get_compensation(self, i):
        # if HF enabled
        if(getattr(self, 'input_path_{}'.format(i))() == 1):
            return self._param32bit(
                getattr(pyspcm, 'SPC_ACDC_OFFS_COMPENSATION{}'.format(i)))
        else:
            logging.warning(
                "M4i: HF path not set, ignoring ACDC offset compensation get\n")

When connecting to the device there should be no warnings. The easiest way around this is to change the logging.warning into a logging.info. Is that ok? Or can we find another solution?
@astafan8

... The easiest way around this is to change the logging.warning into a logging.info

i don't think it is an "ok" solution. hiding the issue is not acceptable.
but what happens when HF is disabled and self._param32bit(getattr(pyspcm, 'SPC_ACDC_OFFS_COMPENSATION{}'.format(i))) is executed? does the pyspcm throw some error? i'm trying to understand the reason for the "if" statement.

generally, if existence and/or meaning of some parameters depends on whether HF is enabled or not, then the driver should've been implemented in such a way that these parameters only appear when HF is enabled. Perhaps, HF-related things should've been encapsulated in its own submodule/InstrumentChannel/whatever. But since it's not the case, and we seem to want a quick solution, i'd prefer to know first why the "if" statement is needed. And if it is indeed, needed, then i'd suggest to add some sort of "UNDEFINED" value to the list of allowed values of that parameter, such that the value of this parameter is UNDEFINED when HF is disabled.
another "work around" that i can suggest (although it's also not good) is to set "snapshot_get" of the parameter to True when HF is enabled and to False when HF is disabled. This will avoid re-getting the parameter value from the instrument upon snapshotting with update=True when HF is disabled.

are you planning to fix the "warning issue" in this same PR? If so, after pushing the fix, please update the name and the description of the PR so that it's clear what is being changed and why. The PR descriptions are crucial when looking for something in the history, and for writing changelogs upon a new release.

@astafan8 I don't think the original authors of the driver used these options, and neither do I so I don't know any reasons by the current code is the way it is.
I would say that converting the warning to info in the get is acceptable, if we keep the warning in the set.
Otherwise, I would prefer to keep the set functionality as is, but let the get return an UNDEFINED instead of generating a warning. (I think it makes sense to keep it an int, so I would pick UNDEFINED=-1 I think)

... I think it makes sense to keep it an int, so I would pick UNDEFINED=-1 I think ...

magic numbers are never a good idea ;)

I would say that converting the warning to info in the get is acceptable

ok, but i then need to ask - if there is no warning on get, and HF is disabled, the "parameter get" will return None (according to the current implementation), and this fact will be unnoticed by the user until he/she wants to use the value of that parameter for "something", and that "something" breaks (or worse, behaves unexpectedly) because it doesn't expect to work with the value of None. Or is this NOT a concern for this particular parameter? If it's not a concern, ok, let's convert the warning in "get" into "info", and add information about this into the docstring of the "compensation" parameter (so that users know that "compensation" parameter should be used only when HF is enabled).

@astafan8 To be honest, I don't even know what this parameter is. But each time a user connects to the M4i (with default values) we get a warning with the get statement, which doesn't make sense. The current behaviour of the get (e.g. always return None) is also wrong.
This PR makes sure at least the correct value is returned. I would also want to prevent the warning from happening when the driver is initialized (when doing a snapshot from the station).
It is the responsbility of the user to make sure the correct settings are used in HF mode. I am fine with adding a docstring and a logging.info to give the user proper hints.

@astafan8 I updated the PR and the description

( thanks for the updated description! )


Adding to an existing O365 installation

There is no information on this page regarding how to deploy Visio as an addition to an already installed instance of O365.  With as many issues as the community has with this, it would be nice to see some clear guidance on how to properly add/remove visio/project to/from an existing installation.

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

ID: e3fc30fd-858c-d1cd-0729-6eb72ef7975a
Version Independent ID: aa690d1d-8e25-6de1-9a83-7acd851fed7a
Content: Deployment guide for Visio
Content Source: DeployOffice/deployment-guide-for-visio.md
Service: o365-proplus-itpro
GitHub Login: @DHB-MSFT
Microsoft Alias: danbrown

this table answered some of my questions:
https://docs.microsoft.com/en-us/deployoffice/install-different-office-visio-and-project-versions-on-the-same-computer?toc=/deployoffice/office2019/toc.json
but lots of open tickets on this one.

Submitted PR to help clarify.


Update the attributes of the HTML tag

I have an application that supports two languages, and each page has a link that switches the current locale. In the application layout, the lang attribute of the html tag is being set accordingly. The content of each page extensively makes use of hyphenation, which primarily relies on the value of that attribute. Turbolinks do not seem to be updating the attributes of the html tag, and hyphenation breaks down when changing the current locale.
Regards,
Ivan

Same issue here with I18n. I think that turbolinks should automatically update lang attribute on html tag because it's something standard and relevant. Why not update it as we do with title?

Always use a language attribute on the html tag to declare the default language of the text in the page.
http://www.w3.org/International/questions/qa-html-language-declarations


Bot does not work upon invitiation to new channel or private group

Description:
After inviting a bot to a channel or private group, the bot does not respond in the channel. After restarting the bot process, the bot correctly responds in the channel/group.
Date Seen:
07 October 2015
Bot Version:
The bot I run is based on https://github.com/slackhq/python-rtmbot from 22fb111. I forked the repo here: https://github.com/mac-reid/python-rtmbot
Running on Python 2.7.6 with the following modules (in virtualenv):
backports.ssl-match-hostname (<IP_ADDRESS>)
docutils (0.12)
google-api-python-client (1.4.2)
httplib2 (0.9.2)
lockfile (0.10.2)
oauth2client (1.5.1)
pip (7.1.2)
pyasn1 (0.1.9)
pyasn1-modules (0.0.8)
python-daemon (2.0.6)
PyYAML (3.11)
requests (2.7.0)
rsa (3.2)
setuptools (18.2)
simplejson (3.8.0)
six (1.9.0)
slackclient (0.16)
uritemplate (0.6)
websocket-client (0.32.0)
wheel (0.24.0)
Severity:
Trivial
Steps to reproduce:

Make a new channel or private group
/invite @botname
type message to trigger bot

Actual Behavior:
Start the bot and connect to slack. The bot shows user presence. Create a new channel/group and invite the bot. Type a message to trigger the bot (such as @botname: help). The bot receives the message but fails to respond on the new channel.
Expected Behavior:
Start the bot and connect to slack. The bot shows user presence. Create a new channel/group and invite the bot. Type a message to trigger the bot (such as @botname: help). The bot receives the message and responds on the new channel.
Testing Steps:
When the bot is added to the new channel and receives a message, the output to send is added to the channel, but the rtmbot never actually gets to sending the message on the channel.
Workaround:
Restart the bot each time it is added to a new channel.

Confirmed. This is indeed happening. Anyone has a solution?

@jammons, this issue can be closed. The problem was in SlackClient, not rtmbot, and the above commit fixes it.

👍


feat(java): add deserial object with feature deserializeNonexistentClassNotWriteFullClassInfo feature

…ullClassInfo

What does this PR do?
we has some scene , after the class with the upstream system serialized, the downstream system can not deserialize without the class object, but current .withDeserializeNonexistentClass write the full class info. we want fury support deserialize object when none local class can deserializeNonexistentClassNotWriteFullClassInfo feature
Related issues

Does this PR introduce any user-facing change?

Benchmark

@shuyufang Seems we can refactor ClassDef#FieldInfo#qualifiedFieldName into fieldName, and only add classname when parent class has duplicate field with subclass. In this way, we can skip add a new option


InsufficientLen error

Hello. Thanks for such performant and easy-to-use library.
I'm trying to adapt it for using with large streams from Binance and getting an error: Close code: 1008, error: InsufficientLen(2). So 5-10 seconds it works fine, I see messages from websocket. But after that I see this error.
Err(e) => match e {
            WsError::ProtocolError { close_code, error } => {
              println!("Close code: {close_code:?}, error: {error:?}");
              break
            }
            _ => {
              println!("Something strange happened with the websocket");
            }
          }

I'm just doing client.receive().await without sending anything. Do you known what can be a cause?
I use this url which produce this error after a couple of seconds:
wss://fstream.binance.com:443/stream?streams=rayusdt@bookTicker/api3usdt@bookTicker/sushiusdt@bookTicker/cvcusdt@bookTicker/btsusdt@bookTicker/ftmbusd@bookTicker/hotusdt@bookTicker/trxbusd@bookTicker/zrxusdt@bookTicker/qtumusdt@bookTicker/iotausdt@bookTicker/btcbusd@bookTicker/wavesusdt@bookTicker/adausdt@bookTicker/litusdt@bookTicker/xtzusdt@bookTicker/bnbusdt@bookTicker/darusdt@bookTicker/hntusdt@bookTicker/etcusdt@bookTicker/xmrusdt@bookTicker/yfiusdt@bookTicker/fttbusd@bookTicker/ethusdt@bookTicker/aliceusdt@bookTicker/alphausdt@bookTicker/woousdt@bookTicker/sfpusdt@bookTicker/reefusdt@bookTicker/batusdt@bookTicker/dogeusdt@bookTicker/trxusdt@bookTicker/rlcusdt@bookTicker/storjusdt@bookTicker/snxusdt@bookTicker/1000xecusdt@bookTicker/dotbusd@bookTicker/audiousdt@bookTicker/nearbusd@bookTicker/xlmusdt@bookTicker/apebusd@bookTicker/iotxusdt@bookTicker/neousdt@bookTicker/unfiusdt@bookTicker/sandusdt@bookTicker/dashusdt@bookTicker/kavausdt@bookTicker/runeusdt@bookTicker/apeusdt@bookTicker/ctkusdt@bookTicker/linkusdt@bookTicker/celrusdt@bookTicker/bnxusdt@bookTicker/opusdt@bookTicker/rsrusdt@bookTicker/adabusd@bookTicker/dgbusdt@bookTicker/sklusdt@bookTicker/renusdt@bookTicker/lptusdt@bookTicker/jasmyusdt@bookTicker/tomousdt@bookTicker/mtlusdt@bookTicker/ltcusdt@bookTicker/dodobusd@bookTicker/egldusdt@bookTicker/ksmusdt@bookTicker/bnbbusd@bookTicker/ontusdt@bookTicker/vetusdt@bookTicker/imxusdt@bookTicker/trbusdt@bookTicker/manausdt@bookTicker/flowusdt@bookTicker/cotiusdt@bookTicker/chrusdt@bookTicker/bakeusdt@bookTicker/avaxbusd@bookTicker/grtusdt@bookTicker/flmusdt@bookTicker/galusdt@bookTicker/galabusd@bookTicker/maskusdt@bookTicker/eosusdt@bookTicker/ognusdt@bookTicker/ethusdt_220624@bookTicker/galbusd@bookTicker/balusdt@bookTicker/stmxusdt@bookTicker/dentusdt@bookTicker/kncusdt@bookTicker/srmusdt@bookTicker/enjusdt@bookTicker/c98usdt@bookTicker/zenusdt@bookTicker/atomusdt@bookTicker/nearusdt@bookTicker/solbusd@bookTicker/ensusdt@bookTicker/bchusdt@bookTicker/atausdt@bookTicker/iostusdt@bookTicker/hbarusdt@bookTicker/luna2busd@bookTicker/zecusdt@bookTicker/1000shibusdt@bookTicker/tlmbusd@bookTicker/antusdt@bookTicker/ethbusd@bookTicker/galausdt@bookTicker/aaveusdt@bookTicker/gtcusdt@bookTicker/algousdt@bookTicker/lrcusdt@bookTicker/avaxusdt@bookTicker/arpausdt@bookTicker/celousdt@bookTicker/roseusdt@bookTicker/maticusdt@bookTicker/1inchusdt@bookTicker/mkrusdt@bookTicker/peopleusdt@bookTicker/ancbusd@bookTicker/thetausdt@bookTicker/uniusdt@bookTicker/linausdt@bookTicker/arusdt@bookTicker/rvnusdt@bookTicker/filusdt@bookTicker/nknusdt@bookTicker/klayusdt@bookTicker/defiusdt@bookTicker/compusdt@bookTicker/btcdomusdt@bookTicker/solusdt@bookTicker/btcusdt@bookTicker/omgusdt@bookTicker/icxusdt@bookTicker/icpbusd@bookTicker/blzusdt@bookTicker/gmtusdt@bookTicker/ftmusdt@bookTicker/bandusdt@bookTicker/xrpbusd@bookTicker/dogebusd@bookTicker/xrpusdt@bookTicker/fttusdt@bookTicker/sxpusdt@bookTicker/crvusdt@bookTicker/belusdt@bookTicker/dotusdt@bookTicker/xemusdt@bookTicker/gmtbusd@bookTicker/oneusdt@bookTicker/1000luncbusd@bookTicker/zilusdt@bookTicker/axsusdt@bookTicker/dydxusdt@bookTicker/oceanusdt@bookTicker/chzusdt@bookTicker/ankrusdt@bookTicker/duskusdt@bookTicker/btcusdt_220624@bookTicker/ctsiusdt@bookTicker

Using this url with OkHttp client (Java VM) without any issues.

I can't reproduce the bug on wsl2 ubuntu 20.0, can you give me your machine's operating system information and kernel tcp setting?

Maybe it's important to say that I start >10 large streams simultaneously (using async task) and all of them ends with some errors. I started now and got Close code: 1008, error: InvalidLeadingBits(1) error. Here is a file with all urls I started with, maybe it will help to reproduce the problem:
wss.txt
Manjaro (Archlinux based), kernel 5.14.18-1
sudo sysctl -a | grep tcp
net.ipv4.tcp_abort_on_overflow = 0
net.ipv4.tcp_adv_win_scale = 1
net.ipv4.tcp_allowed_congestion_control = reno cubic
net.ipv4.tcp_app_win = 31
net.ipv4.tcp_autocorking = 1
net.ipv4.tcp_available_congestion_control = reno cubic
net.ipv4.tcp_available_ulp = espintcp mptcp
net.ipv4.tcp_base_mss = 1024
net.ipv4.tcp_challenge_ack_limit = 1000
net.ipv4.tcp_comp_sack_delay_ns = 1000000
net.ipv4.tcp_comp_sack_nr = 44
net.ipv4.tcp_comp_sack_slack_ns = 100000
net.ipv4.tcp_congestion_control = cubic
net.ipv4.tcp_dsack = 1
net.ipv4.tcp_early_demux = 1
net.ipv4.tcp_early_retrans = 3
net.ipv4.tcp_ecn = 2
net.ipv4.tcp_ecn_fallback = 1
net.ipv4.tcp_fack = 0
net.ipv4.tcp_fastopen = 1
net.ipv4.tcp_fastopen_blackhole_timeout_sec = 0
net.ipv4.tcp_fastopen_key = 00000000-00000000-00000000-00000000
net.ipv4.tcp_fin_timeout = 60
net.ipv4.tcp_frto = 2
net.ipv4.tcp_fwmark_accept = 0
net.ipv4.tcp_invalid_ratelimit = 500
net.ipv4.tcp_keepalive_intvl = 75
net.ipv4.tcp_keepalive_probes = 9
net.ipv4.tcp_keepalive_time = 7200
net.ipv4.tcp_l3mdev_accept = 0
net.ipv4.tcp_limit_output_bytes = 1048576
net.ipv4.tcp_low_latency = 0
net.ipv4.tcp_max_orphans = 65536
net.ipv4.tcp_max_reordering = 300
net.ipv4.tcp_max_syn_backlog = 1024
net.ipv4.tcp_max_tw_buckets = 65536
net.ipv4.tcp_mem = 142245       189662  284490
net.ipv4.tcp_migrate_req = 0
net.ipv4.tcp_min_rtt_wlen = 300
net.ipv4.tcp_min_snd_mss = 48
net.ipv4.tcp_min_tso_segs = 2
net.ipv4.tcp_moderate_rcvbuf = 1
net.ipv4.tcp_mtu_probe_floor = 48
net.ipv4.tcp_mtu_probing = 0
net.ipv4.tcp_no_metrics_save = 1
net.ipv4.tcp_no_ssthresh_metrics_save = 1
net.ipv4.tcp_notsent_lowat =<PHONE_NUMBER>
net.ipv4.tcp_orphan_retries = 0
net.ipv4.tcp_pacing_ca_ratio = 120
net.ipv4.tcp_pacing_ss_ratio = 200
net.ipv4.tcp_probe_interval = 600
net.ipv4.tcp_probe_threshold = 8
net.ipv4.tcp_recovery = 1
net.ipv4.tcp_reflect_tos = 0
net.ipv4.tcp_reordering = 3
net.ipv4.tcp_retrans_collapse = 1
net.ipv4.tcp_retries1 = 3
net.ipv4.tcp_retries2 = 15
net.ipv4.tcp_rfc1337 = 0
net.ipv4.tcp_rmem = 10240       87380   12582912
net.ipv4.tcp_rx_skb_cache = 0
net.ipv4.tcp_sack = 1
net.ipv4.tcp_slow_start_after_idle = 1
net.ipv4.tcp_stdurg = 0
net.ipv4.tcp_syn_retries = 6
net.ipv4.tcp_synack_retries = 5
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_thin_linear_timeouts = 0
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_tso_win_divisor = 3
net.ipv4.tcp_tw_reuse = 2
net.ipv4.tcp_tx_skb_cache = 0
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_wmem = 10240       87380   12582912
net.ipv4.tcp_workaround_signed_windows = 0
net.mptcp.add_addr_timeout = 120
net.mptcp.allow_join_initial_addr_port = 1
net.mptcp.checksum_enabled = 0
net.mptcp.enabled = 1

I made a stupid mistake while pre-parsing the frame header, it was fixed in version 0.5.4 and released. Please modify the ws-tool version in the project and test again

InvalidLeadingBits(1) still here. Behavior is not changed: all sockets receives this error after a couple of seconds. Don't you have such error?
P.S. Cargo definitely uses new version, I checked updated source.

I found why we have different results with you. I have two test functions one of which uses client.receive(), and another -
let (mut tx, mut rx) = client.split();
match rx.receive() {...}

First one after your fix works correctly while the second fails immediately. Do I use split() incorrectly?

I found the cause of the problem. When implementing WsStream tls Split, I split the underlying stream to get the read/write half, but due to tls encryption, I get data that has not been decrypted, so an error will be reported directly. But TlsStream split API has not made any progress, and using tokio::io::split may be unsound, so sorry, the split function under wss may not be fixed. see this issue

ok, will try to find a workaround then. This issue can be closed since you fixed it. Thanks, it was fast!


Add contributors and img, adjust home page

sir @kulotsystems

sir @kulotsystems pa-check

@kulotsystems sir

sir @kulotsystems


Anyone tries to train with gpt-j?

I'm planning to train gpt-j using tpu v2 resource.

I've trained GPT-J a while ago and it should work. Are you encountering any issues?

No, I could not find guidelines for training gpt-j, so I just made this issue.
I'll make another issue if some issues come up :)
Thanks!


⚠ Bofrost.de has degraded performance

In 0010ee3, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1350 ms

Resolved: Bofrost.de performance has improved in 03d6e9b after 36 minutes.


[zh] Create examples/mongodb

[zh] Create examples/mongodb

Please check whether these files are referenced anywhere in Chinese pages.

Please check whether these files are referenced anywhere in Chinese pages.
only a command:

kubectl apply -f https://k8s.io/examples/application/mongodb/mongo-deployment.yaml

The service file is not referenced?

The service file is not referenced?

Not yet

It is referenced in content/zh/docs/tasks/access-application-cluster/port-forward-access-application-cluster.md.
/lgtm
/approve


Will not exit with Quit command ("q" or "qq") from command-line "-c" args

We have some Powershell scripts that automate the older windbg.exe with a series of commands passed from the command-line using the -c switch. A made-up example might be:
-z c:\dumps\fubar.dmp -c ".load c:\foo\netext.dll;!wmodule -saveto c:\dumps\modules;q"
                                                         note the "q" quit command ^^

However, if these commands are passed to the new DbgX.Shell.exe, the quit command at the end doesn't work.
Instead, it shows this:
Exit a remote ntsd/cdb client with Ctrl-b<enter>.
Exit a remote windbg client with File.Exit (Alt-F4).
If you really want the server to quit use an extra q, such as 'qq' or 'qqd'.

0:000>

Well, I really do want it to exit, but changing q to qq or qqd doesn't work, either. Using either of those shows the following instead, and it still does not exit. (I can manually close it, of course, but that defeats the purpose since most of these are unattended scripts, or batches that run over large groups of files, etc.)
quit:

?:???> Debuggee not connected

I'm still on the October 2020 release (1.0.2001.02001) due to the difficulties of obtaining newer versions in a locked-down corporate environment (aka "breaking corporate security rules and possibly getting fired").

Updating your debugger won't help, the behavior hasn't changed.
Is there a reason you want to use a graphical debugger? I think most people use cdb for your scenario.

That make sense, we weren't aware of cdb ... for almost 20 years we've only used windbg, and I was concerned as we've assumed the newer one would eventually replace the older one. Still seems like a regression to me, but for my specific needs I can indeed use cdb. Thanks.

The change has more to do with how the new WinDbg always runs the debugger engine in a different process.
In the new or old WinDbg, if you were debugging via a remote, q would report exactly what are seeing.
The key difference between new and old is that the new WinDbg is always debugging via a (local) remote.
This has many benefits, e.g. you don't have to worry about launching the correct debugger (32 bit vs. 64 bit) and it's easy to start an unrelated session w/o exiting the debugger, but it seems there are some minor issues with this approach as well.
The bottom line though - cdb is better suited for automation which seems to be your scenario, so we probably won't make any changes here.


Deploying to different remotes/apps

How do you specify the Heroku app for figaro deployment?
My local repo has two remotes: staging and production which point to two different apps on heroku
When I run figaro heroku:set -e staging it only deploys to my default heroku app (staging).
How do I specify the production remote?

-e flag specifies the environment inside your application.yml file
you can use the -a flag to specify which heroku app to deploy to
for example:
$ figaro heroku:set -e staging -a your-app-staging

would deploy your figaro env variables (including the staging specific ones) to your heroku app your-app-staging.herokuapp.com

Thanks @thebucknerlife, that's absolutelt right.


Preflight Checklist

[X] I could not find a solution in the documentation, the existing issues or discussions
[ ] I have joined the ZITADEL chat

Environment
Self-hosted
Version
v2.55.0
Database
PostgreSQL
Database Version
No response
Describe the problem caused by this bug
As the betav2 create user api call does not work work us right now, we want to use https://zitadel.com/docs/apis/resources/mgmt/management-service-import-human-user to create users. However this also results in an error.
Right now this means we can't really use the import apis to migrate users to zitadel.
To reproduce
curl -L -X POST 'https://$CUSTOM-DOMAIN/management/v1/users/human/_import' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
  "userName": "minnie-mouse",
  "profile": {
    "firstName": "Minnie",
    "lastName": "Mouse",
    "displayName": "Minnie Mouse"
  },
  "email": {
    "email"<EMAIL_ADDRESS>    "isEmailVerified": true
  },
  "phone": {
    "phone": "+41 71 000 00 00",
    "isPhoneVerified": true
  },
  "idps": [
    {
      "configId": "idp-config-id",
      "externalUserId": "external-user-id",
      "displayName": "minnie-mouse"
    }
  ]
}'

Response
{
  code 9
  message Errors.ExternalIDP.CreationNotAllowed (COMMAND-SJI3g)
  details

      @type type.googleapis.com/zitadel.v1.ErrorDetail
      id COMMAND-SJI3g
      message Errors.ExternalIDP.CreationNotAllowed
}

Screenshots
No response
Expected behavior
I would expect the user is created.
Operating System
No response
Relevant Configuration
No response
Additional Context
No response

Is the option Create IDP Account allowed on the idp?
This needs to be enabled.

Is the option Create IDP Account allowed on the idp? This needs to be enabled.

No, it wasn't - my bad. So this means that the v2bet/human does not need this setting as this is working without allowing the account creation, however this api needs it?


-Wno-deprecated-declarations can not be in Jamfile.v2

CXX option -Wno-deprecated-declarations can not be a requirement in Jamfile.v2 because this option is not recognizable by MSVC and some other compilers (/wd4996 should be used for MSVC in this case).
I would fix it myself but I'm not familiar with Boost.Build tool.
http://www.boost.org/development/tests/develop/developer/output/oracle-intel-S2-12-4-stlport4-boost-bin-v2-libs-compute-test-test_accumulate-test-sun-12-4_stlport4-release-threading-multi.html
http://www.boost.org/development/tests/develop/developer/output/teeks99-08c-win2012R2-64on64-boost-bin-v2-libs-compute-test-test_accumulate-test-msvc-10-0-dbg-adrs-mdl-64-thrd-mlt.html

Good catch, we should fix this. If I recall there is a way to include or exclude specific compilers which we could probably use for this, I'll see what I can find.

Everything is described here: https://svn.boost.org/trac/boost/wiki/Guidelines/WarningsGuidelines
It's also possible to do this in code with:
#if defined(BOOST_MSVC)
  #pragma warning(push)
  #pragma warning(disable: 4996)
#endif
#include <cl.h> // and other standard OpenCL headers
#if defined(BOOST_MSVC)
  #pragma warning(pop)
#endif

.. and accordingly for gcc and clang.


Dashboard: apply time zone to Leaderboard query

The requests to compare-toplist do not currently include the selected time zone.
More context in Slack

The compare-toplist does not time a timezone as the dates are already provided in UTC.
For the timeseries query,  we have to aggregate into periodic buckets for displaying the chart. This is not the case for leaderboard as no bucketing is required between start and end time.
The dates change because of the time preset selected. For ex-  Last 24 hours for PST might be different than Last 24 hours IST because of a shift of 30 mins for getting a full hour. But in general the time string passed is in UTC.


Various

Coverage decreased (-6.4%) to 44.444% when pulling 88dac0839960983aa0685999f631a858dea46a2d on various into 462caba70171c6619b7977593e6b9c9822158704 on master.


Add Reverse lookup

Issue #42, reverse lookup
I have implemented this as a class that initiates from the UUID dicts. I did it this way rather than writing the index to a file for two reasons; 1: it's fast enough, 2: In the future, we might want to add the ability to rebuild the index incases where the user adds custom UUIDs.
Feedback appreciated.
I am not very familiar with taking full advantage of pytest.

Just made a few updates to fix doc test and test annotations

Do you have pre-commit installed? It catches the same errors as found by the CI here, but locally.
See https://bluetooth-numbers.readthedocs.io/en/stable/contributing.html#clone-the-repository for the installation.

Do you have pre-commit installed? It catches the same errors as found by the CI here, but locally.
See https://bluetooth-numbers.readthedocs.io/en/stable/contributing.html#clone-the-repository for the installation.

I am working on that right now.

@koenvervloesem Kinda struggling with the pre-commit. I have a lot of it cleaned up.
I don't think I have everything installed to fully run the pre-commit and my editor, pycharm, is not using ruff configuration correctly. Its not giving me the hints and warnings or fixing the import sorting like I expect.
I am kinda stuck and out of time for now.
Maybe a development requirements file would be helpful?

Thanks already for the work you did! I'll take a look at the pre-commit errors tomorrow and see what I can fix. Maybe we can also ignore some of the errors if they're too pedantic.

I added some comments, these should solve/ignore most of the errors. But have a look at the doctests too.

I added some comments, these should solve/ignore most of the errors. But have a look at the doctests too.

Ok, I have cleaned up most of this, I'll finish up later today.

Ok, just one issues with the import order (see above), and the two doctest issues I reviewed, and then this looks ready to merge.

I think it's ready.
The interrogate  pre-commit does not work for me locally.  I like the idea of what it does. Maybe using Ruff's pydocstyle would be simpler and sufficient.
https://docs.astral.sh/ruff/rules/#pydocstyle-d

If you click on Details next to the failing tests, there are still some issues. Could you take a look at them? Once these tests run successfully, we can merge this PR.

@koenvervloesem
looking at the failing doc test, not sure what I am doing from.
Failed example:
    rl.lookup("Power Feature", uuid_types=['characteristic'],logic="SUBSTR")
Expected:
    {Match(uuid=10853, description='Cycling Power Feature',
    uuid_type='characteristic')}
Got:
    {Match(uuid=10853, description='Cycling Power Feature', uuid_type='characteristic')}

Yes, and the solution is the # doctest: +NORMALIZE_WHITESPACE I was talking about in https://github.com/koenvervloesem/bluetooth-numbers/pull/43#discussion_r1423619840
So this example should look like:
            >>> rl.lookup("Power Feature", uuid_types=['characteristic'],
            ... logic="SUBSTR")  # doctest: +NORMALIZE_WHITESPACE
            {Match(uuid=10853, description='Cycling Power Feature',
            uuid_type='characteristic')}

Thanks for your patience

Perfect! Now only the code coverage check complains, but the type checking line should be ignored. You can solve this by adding the following lines at the end of .coveragerc:

    # Assume if TYPE_CHECKING is covered
    if TYPE_CHECKING:

Thanks for patiently fixing your code to follow the project's code style!


update data model picture in docs

I took a picture at a hacknight tonight, so it's on me to get that picture off my phone and into the repo.


Spelling error

In the following sentence: "For the Enterprise ring, until recently, the group policy set a reistry key under HKCU." the word "registry" is misspelled.

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

ID: 087b8ed9-0b08-88a2-825f-727915801554
Version Independent ID: afd3bb47-f8a7-d1eb-a790-ff49c0794d2f
Content: Install the sync client per machine (preview)
Content Source: OneDrive/per-machine-installation.md
Service: one-drive
GitHub Login: @kaarins
Microsoft Alias: kaarins

@officedocsbot assign @scanum

Good catch, this has been fixed!

Thanks @kcswe and @gacarini


Client Allocation Request for: LNSTV

Client Allocation Questions
Core Information

Name: LNSTV
Website / Social Media: http://ailns.com/
Region: Asia excl. Greater China
DataCap Requested: 5TiB
Addresses to be Notarized: f01219291
Notary Requested: rayshitou

@eddiekang620 Please subscribe to notifications for this Issue to be aware of updates. Notaries may request additional information on the Issue.

Duplicate application with issue 1370, will close this one.


Show animation / Hide view

Hi!
I need to show an animation when pipView starts (imageView should shrink smoothly) - can this be done with this library? When I try to make an animation, pipView immediately shows its final result, without animation.
Second question. Is it possible to override the behavior of the top right button (which is used to exit pip mode)? For example, just close pipView, as when clicking on a cross.

Hi!
It is a specification that animations using functions such as UIView.animate are not reflected in UIPiPView. This is because when rendering UIView.layer to CGContext, it does not reflect the animation in progress.
As a workaround, you can use the Timer class or other methods to reproduce the animation. For example, if you make the UIView a little smaller every 0.1 second, the animation will be reflected in the UIPiPView.
The developer has no control over the buttons when they are in PiP. The callback after the button is pressed is overridden on the UIPiPView class, so it is possible to override it further and have the process changed. Please refer to the documentation for the details of each delegate function.
Thanks.
https://github.com/uakihir0/UIPiPView/blob/main/UIPiPView/Classes/UIPiPView.swift#L195
https://developer.apple.com/documentation/avkit/avpictureinpicturecontrollerdelegate

Thanks!


alloc-fmt: Allow disabling backtrace

Currently, alloc-fmt always tries to print a backtrace, although that often fails because printing the backtrace involves allocation (we detect this failure and just abort). It'd be nice if the user could decide at compile time (or maybe even at runtime?) whether they wanted backtraces.
Two options I see for this:

Add a feature (we probably want it included in the crate's list of default features) that enables backtraces
Add the ability to parse the RUST_BACKTRACE environment variable according to how it is used in normal Rust. This one is tricky because it should ideally be done in a way that avoids allocation (allocating is not the end of the world so long as, just like with backtraces, we can detect any recursion and abort)

i'll give this a shot

Awesome, thanks! I'm happy to mentor if you need any help with any of the existing codebase, allocator weirdness, etc.

Could we print out a backtrace without allocating, using a static buffer?

Right now, we use the backtrace crate, and we're at its mercy. I've tried in print_backtrace_and_abort to use the lowest-level API that it exposes, but if that allocates, there's nothing we can do about it.
I'm afraid that making progress on this issue is likely going to require getting into the weeds with how the backtrace crate is implemented, or coming up with another solution (that doesn't involve backtrace) from whole cloth.

any guidance on how I should test changes? alloc-fmt doesn't seem to have its own tests.

Yeah testing is unfortunately pretty tricky. If you want to test to make sure that it just works properly (ie, actually prints a backtrace), you can run cargo run --bin assert <arg> (see src/bin/assert.rs for possible arguments).
However, that won't help you determine whether your method of printing backtraces allocates. For that, you'll need to actually cause a panic from inside the global allocator. Your best bet is probably to add an explicit panic to elfmalloc's malloc implementation (c_malloc in elfmalloc/src/alloc_impl.rs), and then test a simple program using elfc. I'd suggest something like:
#include<stdlib.h>
#include<stdio.h>

int main() {
	printf("%p\n", malloc(8));
}

In order to run it with elfmalloc, you'll first need to cargo build in elfc, and then use LD_PRELOAD (assuming you're on Linux) to load it as a dynamic library. So, in total:
$ gcc -o alloc alloc.c     # compile the simple C program
$ cargo build              # build elfc
$ LD_PRELOAD=./target/debug/libelfc.so ./alloc

If your code works properly, then running ./alloc should print the panic message and print a backtrace before aborting. If your code still allocates while calculating the backtrace, you'll probably see the panic message (possibly twice), but then the program will abort without printing a stack trace.

First off, sorry for the slow progress, just haven't been getting around to things.
I made printing backtraces a feature. (https://github.com/Yarn/allocators-rs/commit/ef74bc82409de7f078541ea2c2d6bb0ed2b55684)
You can run it without backtraces using
rustup run nightly cargo run --no-default-features --bin assert assert
For testing it looks like I should be able to add
RUST_BACKTRACE=1 travis-cargo --no-default-features --only nightly run -- --bin print
RUST_BACKTRACE=1 cargo run --no-default-features -- --bin print
to travis.sh and appveyor.sh
This should at least make sure it builds.
Is that what you want for testing?

For using an environment variable I found the relevant code in std which is probably a decent start.
https://github.com/rust-lang/rust/blob/master/src/libstd/sys/unix/os.rs#L383
The other option would be to check the env variable at compile time but this would have some surprising behavior. (e.g. run program, see panic, set env variable would require making a change to make it recompile afaik) I'm not sure how RUST_BACKTRACE is handled normally.

Looks good, thanks!
For environment variables, let's hold off for the time being and just get a PR that adds the feature. Even looking at the functions exposed in libc, it looks like they probably allocate under the hood (since they return strings). Figuring out how to do allocation-free environment variable lookup is probably going to be pretty tricky. You should of course feel free to take a stab at it, but it's probably better to save it for a second PR so we can get the feature stuff you've already done added.
As for testing, what you've suggested looks good.

https://github.com/ezrosent/allocators-rs/pull/130

Closed in #130.

@joshlf
btw, I looked into using environment variables. Rust's std makes it memory safe by wrapping env variable access in a global rw lock (and isn't safe . If we read env variables it wouldn't be memory safe if any other code changes env variables (including with the rust std). As far as i can tell there isn't any way around that.

Yeah, I'm not too worried about it. The fact that we print the error first before printing the backtrace at least means that if the backtrace crashes, we'll still get the error itself.

Memory unsafety has concerns beyond just crashing. If the soundness of the env variable handling really isn't an issue I'll finish that up when I get the chance.

Is there perhaps a way that we could read the variable such that it might give us garbage, but it won't cause memory unsafety? E.g., if we read the variable and find that its contents are RUST_0A9KTXACX=1, that's fine - we'll just not print a backtrace. We just don't want to read unmapped memory (a segfault) or cause UB.

In memory you have a null terminated array of pointers to null terminated c strings. If the array of pointers gets overwritten with something else it could obviously segfault, I don't see a way around this. If you read the string gets overwritten by something without a null terminator that could also segfault if you don't hit some other null (but if you are looking for "RUST_0A9KTXACX=1" exactly or such you could just limit the length and mostly mitigate that). As for other UB, none comes to mind immediately but that doesn't mean it's not there.
I think all of this requires another thread to change environment variables in the first place though. I still wouldn't be comfortable having this without it being behind a feature flag with a big warning about what could introduce memory unsafety in safe code.


Validate attestation signature before publishing it

Goal

Close #412

We need to do this because multiple attesting indices can sign same data and that data should be aggregated (thats why we use BLS). Also api should only submit attestation to opPool but both chain.receiveAttestation and opPool should verifyAggregation.

Yep, so we should definitely be taking all the validators from the attention and validating them, note line 134 takes the first index:
const attester = validatorIndexes.map(index => latestState.validators[index].pubkey)[0];
Which could probably be avoided and as Marin suggested, just do a multiple verify.
TBH theres not much logic I would change in this PR, I would seperate out the added code to a utility method, and just add in the necessary parameters to do a BLS aggregation Verify (or whatever that method is called)

@tuyennhv Could you fix that codeclimate issue. Should be a simple fix

I think we should close this and connected issue in favor of #552


Architecture update

Adding the Forseti architecture framework as discussed. Apologies for the delay, I didn't have the image available while working remotely the last couple days!

Updated with the new image and addressed comments. The image shows as under images/docs/concepts/ for me, can you take another look? Thanks!


AMIs for importer are a mix of ubuntu and AMZ images

change array of amis to all AMZ ec2 images.

resolved in #617


Describes difference between .org and .com WP

Added a section to explain the difference between WordPress.org and WordPress.com

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

Thank you for your contribution to the page! 👍
We're happy to accept these changes, and look forward to future contributions. 🎉


change download url protocol ftp -> https

For the last few months, FTP download speeds have been quite low; instead, the HTTPS protocol serves these files much faster. You can see the comparison between FTP and HTTPS in the screenshots below.
FTP

HTTPS

Thanks! :-)

Thanks for quick response !


New Spell Ideas

From the TSMP chat:

Yeet: Throw out items held in your off-hand, dealing damage based on what they are. Tier 2
Place Block: Places the block held in your off-hand. Primarily useful for spell-combi. Tier 1
Body Swap: Switches casters place with the hit target. Tier 3
Healing Wind: Aura spell, grants caster an over-time effect that effectively provides regeneration to people in the radius. Tier 3
Spark: Tier 1 alternative to zap. Instead of a directed energy blast, does the Totem of Fury/Ball Lightning attack. Allows me to use this spell + the totem as spell caster instead of having the ball lightning do custom. Tier 1

Magnet: Sucks in items around you.
High Gravity: Draws nearby entities towards the targeted entity or block
Hammertime: Summons a mob of armed hamsters that attack nearby enemies
Depth of Winter: Redo Hailstorm as an AOE over-time aura that deals frost damage, slows, weakens, randomly deposits snow

Implemented!


[BUG] Pages unable to pull remote server config.

Environment
Self-Hosted (Docker)
System
docker
Version
current
Describe the problem
Trying to add a page from a remote dashy install, unfortunately it errors out. with the dialog
Dashy has failed to load correctly due to a configuration error.

Ensure that
The configuration file can be found at the specified location
There are no CORS rules preventing client-side access
The YAML is valid, parsable and matches the schema
Error Details
Unable to load config from<EMAIL_ADDRESS>Next Steps
Check the browser console for more details ([see how](https://github.com/Lissy93/dashy/blob/master/docs/troubleshooting.md#how-to-open-browser-console))
View the [Troubleshooting Guide](https://github.com/Lissy93/dashy/blob/master/docs/troubleshooting.md) and [Docs](https://dashy.to/docs/)
If you've verified the config is present, accessible and valid, and cannot find the solution in the troubleshooting, docs or GitHub issues, then [open a ticket on GitHub](https://github.com/Lissy93/dashy/issues/new/choose)
Click 'Ignore Critical Errors' below to not show this warning again

Looking at the browser console, I get this error, however....
Access to XMLHttpRequest at<EMAIL_ADDRESS>from origin 'http://<IP_ADDRESS>:8004' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.Understand this error
CoolConsole.js:11

The remote dashy is protected by HTTP Basic handled by Nginx Proxy Manager (NPM). When I tried passing the credentials in the url<EMAIL_ADDRESS>from an unauthenticated browser it works fine no problem.
* Host dashy.DOMAIN.COM:443 was resolved.
* IPv6: (none)
* IPv4: X.X.X.X
*   Trying X.X.X.X:443...
* Connected to dashy.DOMAIN.COM (X.X.X.X) port 443
* ALPN: curl offers h2,http/1.1
* (304) (OUT), TLS handshake, Client hello (1):
*  CAfile: /etc/ssl/cert.pem
*  CApath: none
* (304) (IN), TLS handshake, Server hello (2):
* (304) (IN), TLS handshake, Unknown (8):
* (304) (IN), TLS handshake, Certificate (11):
* (304) (IN), TLS handshake, CERT verify (15):
* (304) (IN), TLS handshake, Finished (20):
* (304) (OUT), TLS handshake, Finished (20):
* SSL connection using TLSv1.3 / AEAD-CHACHA20-POLY1305-SHA256 / [blank] / UNDEF
* ALPN: server accepted h2
* Server certificate:
*  subject: CN=dashy.DOMAIN.COM
*  start date: Sep  9 16:34:20 2024 GMT
*  expire date: Dec  8 16:34:19 2024 GMT
*  subjectAltName: host "dashy.DOMAIN.COM" matched cert's "dashy.DOMAIN.COM"
*  issuer: C=US; O=Let's Encrypt; CN=E6
*  SSL certificate verify ok.
* using HTTP/2
* Server auth using Basic with user 'username'
* [HTTP/2] [1] OPENED stream for<EMAIL_ADDRESS>* [HTTP/2] [1] [:method: GET]
* [HTTP/2] [1] [:scheme: https]
* [HTTP/2] [1] [:authority: dashy.DOMAIN.COM]
* [HTTP/2] [1] [:path: /conf.yml]
* [HTTP/2] [1] [authorization: Basic BASICAUTHHASH]
* [HTTP/2] [1] [user-agent: curl/8.7.1]
* [HTTP/2] [1] [accept: */*]
> GET /conf.yml HTTP/2
> Host: dashy.DOMAIN.COM
> Authorization: Basic BASICAUTHHASH
> User-Agent: curl/8.7.1
> Accept: */*
>
* Request completely sent off
< HTTP/2 200
< server: openresty
< date: Fri, 20 Sep 2024 18:02:32 GMT
< content-type: text/yaml; charset=UTF-8
< content-length: 11886
< x-powered-by: Express
< accept-ranges: bytes
< cache-control: public, max-age=0
< last-modified: Fri, 20 Sep 2024 17:15:59 GMT
< etag: W/"2e6e-192106ef165"
< x-served-by: dashy.DOMAIN.COM
<
appConfig:
  theme: lissy
...

The above curl was ran from the local docker server running dashy.
Additional info
No response
Please tick the boxes

[X] You have explained the issue clearly, and included all relevant info
[X] You are using a supported version of Dashy
[X] You've checked that this issue hasn't already been raised
[X] You've checked the docs and troubleshooting guide
[X] You agree to the code of conduct

I did a random test using the endpoint https://snippet.host/tvcw/raw  used in the documentation and the same errors happen.
So I am thinking there is nothing wrong with the proxy settings, and this is a dashy issue.

The error message from the browser console says it did not fetch the remote resource at all as the page that was requesting the resource and the resource are from different origins. Browsers check the Access-Control-Allow-Origin header before requesting content.
While using https you need proper configuration of CORS.

@hockwill So dashy is behind Nginx Proxy Manager.  What I do not understand is if you go to the URL with curl or a web browser it absolutely loads the conf.yml file for you. But when another dashy instance tries it it does not work, only Dashy complains but no other browser, curl, or wget has an issue.
Additionally I do not understand why testing with the sample https://dashy.to/docs/pages-and-sections/ using the https://snippet.host/tvcw/raw again, dashy fails to load the page but browsers, curl and wget have no problem retrieving it.
If this was really a CORS issue, than shouldn't every browser and CLI tool be erroring out as well? It seems very poor to think that an application has to make the specific check but everyone else can access it.

I am getting different results with different browsers using the https://snippet.host/tvcw/raw.

Curl has the access-control-allow-origin: * in the response. Excellent.
Firefox does not and complains about it being missing. Dashy fails to load correctly.
Chrome has it in the response. Dashy loads correctly.

After some searching about for why this was. I had Firefox clear the site data for my test Dashy and it worked.
CORS is handled in the browser when one site tries to include resources from another.  Fetching a single item with curl does not trigger CORS.

Sorry for loonnnng time away. So if I understand you correctly this is a browser issue?  During this time I migrated services off nginx proxy manager and moved to Caddy.  (yes we even have
  Access-Control-Allow-Origin *
}```

So while previously I checked with curl and things worked I checked again and still failure. So I took the time and added the `https://snippet.host/tvcw/raw` snippet as a remote page.

I get the same error, "Unable to load config from: https://snippet.host/tvcw/raw

I tried this in multiple browsers. (Chrome, Safari, Opera)

After some more testing, it appears that the issue may be related to Dashy's handling of authenticated pages.
while passing HTTPBasic in the URL string works fine in a broswers, it seems to not work in dashy's remote pages.

I verified this by starting an incognito window with RAW working, and with the destination behind a basic auth page it fails.

Yes CORS is a browser/https thing. The https server hosting the config files it the one that needs to provide the headers.
I poked about to make my own instance load a config file from a basicauth https host.
I needed to provideAccess-Control-Allow-Origin $http_origin, Access-Control-Allow-Methods 'GET, POST, OPTIONS', Access-Control-Allow-Credentials 'true'.
If Allow-Origin is provided with '*' while trying to perform basic authentication you will get a follow up error saying * cannot be used with authentication and it needs to specify the allowed origin.

@hockwill ... So when using basicauth, the Access-Control-Allow-* methods need to be manually populated to specific hosts?
Would you happen to have a copy of a caddy config to set the headers right?
This is super odd still because  if I take the same URL string put into dashy with the basicauth added to the URL. and to to ANY browser it instantly connects and gives the conf. No needing to modify anything in the server side or client side.
It only seems to fail when dashy makes the request specifically.
If this was actually an HTTPS/browser thing as you suggest, then that failure should happen on any browser.

If you look at the headers from a chrome session using the same connection string, you can see it clearly loads without any issues. And NONE of those headers are required.
If in fact the "Browser" required the Access-Control-Access-* headers than it should have errored which it does not. It simply does as expected and is to load the content.

https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS
I do not use Caddy anywhere can cannot provide header setups for it.


ECS: Assets on web keep re-downloading (help: banging head against the wall)

Bevy version
0.13
The issue
I have a chat room, and when a message comes in, there could be emojis that need to be downloaded for display.
Here's my system that spawns the chats:

pub fn spawn_chat_bubbles(
    mut commands: Commands,
    asset_server: Res<AssetServer>,
    fonts: Res<Assets<VelloFont>>,
    query_bubbles: Query<(Entity, &ChatBubble), Without<Children>>,
) {
    for (entity, chat) in query_bubbles.iter() {
        match chat {
            ChatBubble::Chat { message, .. } => {
                let handle = asset_server
                    .load::<VelloFont>("remote://fonts/Inconsolata_UltraExpanded-SemiBold.ttf");
                info!("handle: {handle:?}");
                let Some(font) = fonts.get(&handle) else {
                    warn!("asset does not exist");
                    continue;
                };
     ...

All I'm trying to do is assert that the asset needs to be fully loaded before we can spawn it in.
The result?

I cannot explain this.
It re-downloads every update, instead of waiting for the existing handle to finish loading.
Furthermore, it appears that the handle stays to be index 0 generation 0 until it finishes downloading, then it just gives me a new generation handle every update and refuses to give me the downloaded asset!
Can anyone explain this?
I saw @mockersf had a very similar discussion a while back, although it makes no sense 3 years later: https://github.com/bevyengine/bevy/discussions/1863

I believe the issue here is you're dropping the Handle on each frame;
fn get_handle(asset_server: Res<AssetServer>, fonts: Res<Assets<VelloFont>>) {
    // Handle created and loading started
    let handle = asset_server.load::<VelloFont>("...");

    let Some(font) = fonts.get(&handle) else {
        // Highly likely the asset hasn't loaded immediately (latency, etc.)
        // Because of that, this function always returns
        warn!("asset does not exist");
        return;
        // Now that we've returned, the Handle is dropped, which causes the load to be cancelled
    };
    // ...
}

Instead, try storing the Handle in a resource (or an Entity as a Component). That way the Handle will survive long enough for the load to complete.


Unable to build kernel module for Ubuntu AWS with 5.11.x kernels (GLIBC_2.33)

Describe the bug
Some recent images require a version of GLIBC that is newer than the one shipped with our standard build image. To fix this, we may need to use different Docker images to build different kernels.
How to reproduce it
Try building this image: https://github.com/falcosecurity/test-infra/blob/master/driverkit/config/17f5df52a7d9ed6bb12d3b1768460def8439936d/ubuntu-aws_5.11.0-1008-aws_8.yaml
./driverkit docker -c config/3aa7a83bf7b9e6229a3824e3fd1f4452d1e95cb4/ubuntu-aws_5.11.0-1008-aws_8.yaml --driverversion 3aa7a83bf7b9e6229a3824e3fd1f4452d1e95cb4 --timeout 1000 -l debug

DEBU + make KERNELDIR=/tmp/kernel-download/usr/src/linux-headers-5.11.0-1008-aws
DEBU Ymake -C /tmp/kernel-download/usr/src/linux-headers-5.11.0-1008-aws M=/tmp/driver modules
DEBU Ymake[1]: Entering directory '/tmp/kernel-download/usr/src/linux-headers-5.11.0-1008-aws'
DEBU   CC [M]  /tmp/driver/main.o
DEBU �scripts/basic/fixdep: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by scripts/basic/fixdep)
DEBU make[2]: *** [scripts/Makefile.build:287: /tmp/driver/main.o] Error 1
DEBU make[2]: *** Deleting file '/tmp/driver/main.o'
DEBU 2make[1]: *** [Makefile:1848: /tmp/driver] Error 2
DEBU Xmake[1]: Leaving directory '/tmp/kernel-download/usr/src/linux-headers-5.11.0-1008-aws'
DEBU $make: *** [Makefile:7: all] Error 2
DEBU log pipe close                                error=EOF
DEBU context canceled
FATA exiting                                       error="Error: No such container:path: 1a4c2eba0899548dab4a773a7e5bb925bc0b1bebab491f5412d15cb102967bbf:/tmp/driver/module.ko"

Expected behaviour
The kernel module builds correctly.
Screenshots

Environment

Falco version:
0.30.0
System info:

Cloud provider or hardware configuration:
OS:

Kernel:

Installation method:
docker

Additional context

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.
Provide feedback via https://github.com/falcosecurity/community.
/lifecycle stale

Stale issues rot after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle rotten.
Rotten issues close after an additional 30d of inactivity.
If this issue is safe to close now please do so with /close.
Provide feedback via https://github.com/falcosecurity/community.
/lifecycle rotten

Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.
Provide feedback via https://github.com/falcosecurity/community.
/close

@poiana: Closing this issue.

In response to this:

Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.
Provide feedback via https://github.com/falcosecurity/community.
/close

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


[Cherry-pick][BugFix][Branch-2.4] Fix compatibility of rc version

What type of PR is this：

[x] BugFix
[ ] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Which issues of this PR fixes ：

Fixes https://github.com/StarRocks/starrocks/issues/13126
Problem Summary(Required) ：

In order to fix the bug(https://github.com/StarRocks/starrocks/issues/11868), we add data_size into ShardInfo proto, but this may cause some compatibility problem and Be maybe crash after upgrade to 2.4.0.
Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr will affect users' behaviors
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

@mergify backport branch-2.5


Override value of "bottom" CSS attribute

I looked through the code for this component and it appears that the bottom CSS attribute is hard coded in this component with the logic for placement passed on to each notifications. Are you opposed to a solution that would allow the barStyle property to also set bottom in a dynamic way?

Part of the problem is the dynamic position is determined using a numeric value and then the unit is concatenated with the numeric value, e.g., barPositon + 'rem'. I am not opposed to add this, but I think there would need to be two new props introduced: bottomPositionUnit and bottomPosition.

Yeah, that was what I was thinking. It would need to be a prop specific to NotificationStack. I mainly wanted to confirm you were okay with this before I did the work and submitted a PR. I will update the README documentation for NotificationStack also to reflect that barStyle and others can now be passed to children from your last update.

Awesome! I'll keep an eye out for the PR. :smile:

Another possible approach to this: make barStyle a function and the argument can be the index of the notification.

// if this is the 2nd notification in the stack, index will have a value of 2
barStyle={index => ({
  ...,
  bottom: `${index*3}rem` // do some math to get the right position
})}

I found this issue while looking for a solution and that's a good idea, at least placement of the notifications can be more flexible.

@brianespinosa, any interest in making a PR for this?


Document the fact that lets run in parallel, and let!s (apparently) do not

I've been going crazy trying to understand why these rspecs fail randomly.
There are active models each created in a let, and then interdependencies between the lets.
Firstly, I haven't seen any documentation to say that lets are executed in parallel on multiple threads (they seem to be). This fact can be very important to realise.
Secondly, its not explicitly stated that (I assume) let!s are run serially as a result of being put together into a before hook. If they are not, there needs to be a way to specify lets that are executed single threaded serially.
config.threadsafe I think is a different thing - it makes each let threadsafe individually, but still allows two lets to execute in parallel.

The problem you are experiencing might relate to rspec-core or rspec-rails, or Rails.
However, it's hard to determine without a reproduction example, can you please provide one?
What makes you think it's running in parallel or in different threads?

RSpec itself does not run parallel, it was built for MRI and the GIL, and whilst there are plans to have an inbuilt parallel runner, we haven't got there yet. So any parallel usage is from a 3rd party (and thus supported by us, or your own code). However we will try to help here.
Firstly, understand that let is a syntactic sugar for roughly: define_method(name) { @@__value__ ||= block.call } so it defines a method in your example class, it has no direct knowledge of the thread your running in, nor does it need to. Now because class variables are not thread-safe, when you turn on thread-safe mode we use a re-entrant mutex to write to this variable, this is the only difference, it prevents two threads defining a let simultaneously.
It will not stop another let running in another thread ("executed in parallel" as you have said, however there is no such thing, a normal let is run when the method is called (as it's just a method)) so if you have inter-dependant lets and you have multiple threads calling them you will see the let definitions run, but the inter-dependant call will block until the first is complete, then return the value.
Secondly, let! is a short cut for let(name) {}; before { name } which is documented as:

Just like let, except the block is invoked by an implicit before hook. This serves a dual purpose of setting up state and providing a memoized reference to that state.

As RSpec doesn't do anything in parallel, we don't specifically say "serially" because everything in RSpec is serial.

Thankyou to both of you, especially the indepth explanation @JonRowe.
While I haven't got the whole test suite (that I didn't write) passing reliably yet, I think part of the explanation for the erratic behaviour is faulty cleaning of the database because before(:all) is outside the test transaction and perhaps even the Jetbrains debugger misbehaving.
I think I've solved the cleaning issue with double transactions so that before(:all) is well behaved, like this http://renderedtext.com/blog/2012/10/10/cleaning-up-after-before-all-blocks/
Good to hear that rspec doesn't fire threads itself. I don't think the codebase is firing any either, I may have made an incorrect presumption that threading was the issue.
Lastly, the specs often create an activerecord models inside a let, and then may call dependent lets to get models to create associations. Would you regard that as reasonable practice?

specs often create an activerecord models inside a let, and then may call dependent lets to get models to create associations. Would you regard that as reasonable practice?

Absolutely.

Please feel free to reopen this or a issue in rspec-core/rspec-rails if you feel that RSpec is somehow misbehaving in your setup.

As a side note, I wouldn't recommend :truncation strategy, it's known to be slow especially on large DB schemas.
You may take a look at before_all/let_it_be instead if your intention is to create models that are later reused by several examples. Beware of the shared state modification though, those considerations not only apply to let_it_be, but also for your current use case.

For future readers, before(:context) behavior with transactions is covered in this doc.


Added 'license' property to package.json

When users install chartist currently there is a warning: npm WARN<EMAIL_ADDRESS>No license field.. This PR corrects that by adding a corresponding license field to the package.json file, which has a SPDX expression to represent the dual MIT / WTFPL licensing.
Also note that the use of the licenses property in package.json is deprecated (see https://github.com/npm/npm/issues/4473 and https://github.com/npm/npm/issues/7091), but I didn't remove it from the package.json in the spirit of not changing more than is necessary.

Awesome thanks!


Sign Up with already existing account and any password logs you in as that user

I have identified a critical vulnerability in devise 3.5.2 I'd rather not publicize.  What is the best way to get in touch with someone about this.

Thanks @rclements. Please contact<EMAIL_ADDRESS>


Add some kaiserfile defaults for easier use

This PR adds defaults to make a Kaiserfile easier to write by making all the commands optional. Also adds some documentation to the README.
Fixes #56

@thoiberg please review this

@Resonious please review this


I can not insert icon and text into button

My code:
<View style={{...viewStyle}}>
  {tags.map((tag)=>{
    return (
      <View key={tag} style={{flexDirection: 'row'}}>
        <Button iconRight rounded small>
          {tag}
          <Icon name="ios-close-circle" size={30} color={'red'}/>
        </Button>
      </View>);
    }
  )}
</View>
```

exception:
![screenshot_2016-08-03-16-35-02](https://cloud.githubusercontent.com/assets/17307937/17367338/3f5c3e10-5998-11e6-88b4-26bd3c034826.png)

Can you try the icon size and color props inside the style={{}} prop?

<View style={{...viewStyle}}>
  {tags.map((tag)=>{
    return (
      <View key={tag} style={{flexDirection: 'row'}}>
        <Button iconRight rounded small>
          {tag}
          <Icon name="ios-close-circle" style={{size:30, color:'red'}}/>
        </Button>
      </View>);
    }
  )}
</View>

the same issue, also two any components inside another component not working, for example this code from site also not working
<Container>
  <Content>
    <InputGroup>
      <Input />
    </InputGroup>
  </Content>
</Container>

What is the error?

my fault, i used
import Icon from 'react-native-vector-icons'

instead of
import { Icon } from 'native-base'


I want to use  in this  new version, What should I do?

I have a root container App  I want to match path '/ ' to render  App component and Home component,in version3 I can use  to do it,but this new version I don't know how to do

Seems to not working yet #4539 and #4582 .
Stay on react-router 3.x. I'm downgrading too.

Sorry my bad, you can still do it:
In index.js put this route:

And then in App.js put this:

Index routes and redirects do not exist in 4.0. You'll either need to keep to 3.0 or approach the problem in a different way.

@timdorr <Redirect /> is still in 4.0 and I believe the following use-case is still valid:
const Application = () => (
  <Switch>
    <Route path="/orders" component={Orders} />
    <Redirect from="/" to="/orders" />
    <Route component={NotFound} />
  </Switch>
)

This won't work as the <Redirect /> will catch anything and prevent NotFound from being rendered. It doesn't look like the from parameter is used in Redirect at all. I would also expect <Redirect /> to support exact` but I might be wrong here.

Index routes and [index] redirects do not exist. I didn't use an oxford comma on purpose there, but I can see how that's easy to read the other way around.
Switch uses from. Technically, they don't have to be Routes or Redirects. So, any component inside of a Switch can use the exact prop in this case. That should work for your use case.

@timdorr Thanks for the swift reply. It seems this could easily be solved by a clarification in the <Redirect> docs.

Another example if someone lands here looking for help. I had something like this previously:
  <Route path="tasks" component={Tasks} >
    <Route path="error" component={TaskError} />
    <Route path=":taskId" component={TaskRouter} />
    <IndexRedirect to="load-next" />
  </Route>

In RR4, I removed the IndexRedirect. Then, I moved the route's to my Tasks component's render method, and added a check for the index:
render() {
  if (this.props.match.isExact) {
    return <Redirect to="/tasks/load-next" />
  }

  return (
    <div className="Tasks">
      <Switch>
        <Route path="/tasks/load-next" component={TaskLoader} />
        <Route path="/tasks/error" component={TaskError} />
        <Route path="/tasks/:taskId" component={TaskRouter} />
      </Switch>
    </div>
  );
}

I use the following code as the replacement of <IndexRedirect /> in version 4.
<Router>
  <Route exact path="/" component={() => <Redirect to="/home" />}/>
  <Route path="/home" component={Home} />
</Router>

@liunaijia typescript gives (17,56): Lambdas are forbidden in JSX attributes due to their rendering performance impact

@Tjorriemorrie it seems typescript doesn't like component={() => <Redirect to="/home" />}/>, you probably could create a component instead. For example
const RedirectToHome = () => <Redirect to="/home" />;
<Route exact path="/" component={RedirectToHome} />


Generic fields backed by ITrinityStruct/IAccessor

This could be very useful for implementing generic algorithms on different cell types.
Take this example:
struct E
{
    [GraphEdge]
    cellid neighbor;
    [GraphEdgeWeight]
    double weight;
}

cell V
{
    [CompositeEdge]
    List<E> edges;
}

Currently ICell.GetField<T> only accepts non-generic types, so user-defined composite edge types are not possible. If we implement a generic field, we can then write ICell.EnumerateValues<IField>("CompositeEdge") without worrying about the type. Then, an algorithm can proceed and inspect [GraphEdge] and [GraphEdgeWeight] from the generic field respectedly.

@yatli I just saw this and yeah this would be a most excellent addition and suits my needs well. Right I had all of this type of generic typing and graph exploration in code I write against the GE generated code. What do we need to do to get started on this?


How to get inactive tabs to show only icons?

How can you get the inactive tabs to just show icons as such in the README?

For me, it's currently looking like this, where inactive tabs are less in width but aren't reduced to icons:

You may be able to change the following config line in order to achieve the result you're looking for. https://github.com/cascadefox/cascade/blob/8fbe98934fa58f934f7ed5253367396519b320a4/chrome/includes/cascade-config.css#L125

The tabs showing just icons on the preview are pinned tabs tho, not just inactive. They also would just show the icon whenever they are active.


macOS System Preferences break package

This issue is intended to provide information to the author/maintainer and hopefully help anyone else who may be having similar issues. It seems there are a number of issues that are macOS specific and I found at least part of the problem.
I was attempting to debug why no custom scrollbars were showing for me at all. Not in Chrome, Firefox, or Safari. It turns out it is a System Preferences issue.
Unless you have General > Show scrollbars set to Always when you load a page with react-custom-scrollbars, you will not be shown the custom scrollbars, and if you do manage to get them to render, there's a good chance that the thumb will be the full height of the scrollable area or some similar issue.

Thus far, I've been adding some breakpoints in the library code trying to find the source of the bug, but I can only make a hunch. It seems that getVerticalThumbHeight does not get called if your system preferences are set to any other option. It might not be the only method that isn't called. I believe what might be happening is that the ref to the actual scroll bar is lost because it's added and removed by the browser. This is an educated guess at this time, though.
I hope this is helpful.

Thanks for the insight @kyleshevlin been banging my head with this for sometime. Did you manage to find a workaround?

@sheixt Sorry, I don't have a solution. I was able to leverage this roadblock into changing the requirements for the task, so I didn't have an incentive to continue trying to find a fix. Truth is, I never wanted to do custom scrollbars in the first place.
I know that doesn't help you and I'm sorry for that. Best of luck.

@kyleshevlin thanks for getting back to me :) Yeah I wasn't keen on replacing the scrollbars myself.
We've opted for some device detection to revert to using webkit's styling.

I'm closing this because, honestly, I'm tired of it being in my issues tab. I'm fairly certain this will never get worked on by the library contributors and I have no reason to work on this as I'm no longer a part of the project where I discovered this issue. I'm sorry to anyone who comes across this and wish you luck.


Another Carry flag bug, possibly

Hi,
This is about a state in which mre/mos6502 will compute the carry flag differently from Visual 6502.
Here's the program:
    lda #$0e
    sed
    clc
    adc #$a4

As you can see, this program exercises the decimal mode, but uses invalid data in the accumulator and the operand. Visual6502 sets the carry flag after the adc instruction here, but mre/mos6502 doesn't. Visual6502 clears the carry here.
I appreciate that this is a subtle matter and arguably is undocumented or unspecified behavior. Earlier I said that if mre/mos6502 disagrees with Visual6502, then Visual6502 is correct. But I'm not sure that's right. It depends on which model of the 6502 we're emulating here. As I recall, this kind of subtlety varies between NMOS specimens and CMOS specimens.
What do we think? Have I found a bug?

Isn't the CMOS variant the one that "fixes all the bugs"? 😅
At least that's my impression when I read through https://www.liquisearch.com/mos_technology_6502/bugs_and_quirks
According to this, Visual6502 emulates the original NMOS variant.
Maybe we should try your program on more emulators or even more generally run a full emulator benchmark. There are a few demo roms out there which we could try.
I think the worst thing we could do is create a weird mix between the two, so let's do a compatibility check to see where we're at.
Would be super cool to have a feature flag to switch between the two variants. It could also act as living documentation for the differences between the two.

Isn't the CMOS variant the one that "fixes all the bugs"?

You are right. The CMOS chips "fix all the bugs", but they also introduce new opcodes that the earlier chips don't have. They are "bra", "phx", "phy", "plx", "ply", "stz", "trb", "tsb". There are also later variants with more instructions beyond this list. But, as far as I can see, none of this is emulated by the mos6502 crate. Therefore, we could suppose that mos6502 emulates something like what's in the Commodore 64 or Atari 2600. But with no illegal instructions.

Maybe we should [...] even more generally run a full emulator benchmark

How do you feel about fuzz testing it against perfect6502? And maybe a few others like MyLittle6502 and whatever? We will need to figure out how to call C code to do this. But only during testing of course. None of that needs to leak into a release build. But we'll discover more bugs in this crate and possibly in others as well.

Would be super cool to have a feature flag to switch between the two variants

Good idea! One thing we can do already is to disable the decimal mode for ADC and SBC instructions. That's what NES emulators need.

Agree to everything you said. Let's see if we can get the fuzzing set up.
Happy to accept a PR for disabling decimal mode.


Erroneous removal of flexbox

The following css keep on getting removed even though they are necessary.
.login{
	display: flex;
	justify-content: center;
	align-items: center;
}

mincss doesn't look at the keys. Only the selectors. If it was:
.login{
    foo:bar;
}

mincss wouldn't treat it any differently.
Are you sure it really gets deleted, and that it's in the HTML?

Can you elaborate? If the CSS framework I am using has foo:bar; and my custom CSS file has foo:bar too it would delete only one of them right? I am using the Marx CSS framework.

What I'm poorly trying to explain is that it doesn't matter what's between the { and the }. There is only one exception to that rule; if you have something like this:
.someselector {
    /* no mincss */
   xxxxxxxxxxxxxxx
   xxxxxxxxxxxxxxx
   xxxxxxxxxxxxxxx
}

then it would leave that selector untouched even though there is no <element class="someselector"> anywhere in your HTML.


How to call format command in extension?

I'm developing a custom extension for vscode, I wonder how to call vscode inner format command?
I found nothing in api, I just want this:
const editor = window.activeTextEditor;
// without this api now
editor.format();

If you want to format the active document, you can use
vscode.commands.executeCommand("editor.action.formatDocument")

If you want to format any specified document, seems there is no way to do that.

@yume-chan got it, thanks!


Add Nightfly and Poimandres Alternative themes

Discord username (optional)
m1kaeldo
Name of theme

Nightfly
Poimandres Alternative

How Has This Been Tested?
I ran python3 ./scripts/gen_theme_previews.py standard
Notes

Nightfly theme colorscheme is based on Nightfly theme for nvim here
https://github.com/bluz71/vim-nightfly-colors
Poimandres Alternative is just a small change in Green to #C3FFC3

Thanks @m1do-git Updated your Discord role!


Add 'viewport' meta to fit the mobile device

Just now noticing this.
Looks sane, will try to review this weekend.


Support for angular 1.6

How does this look ?

Done

@mtrias I'm abandoning this project now as I've moved on to Angular 4 and no longer care about or use Angular 1.x, if you are still using it I can make you a maintainer.

Oh, sad to see you go. Thanks for your work here! It saved us a bunch of lines :)
And yes, I'd be glad to be a maintainer. I'm still using AngularJS for my projects. Thanks!

@mtrias Cool thanks! After getting a taste for Angular 2/4 (and react/redux) I've decided to no longer accept angular 1.x contracts so I won't have any more need for this. Feel free to add all the semicolons you want. If only angular 1.x would let you configure the promise implementation. I really like bluebird. Since native promises landed everywhere you don't get to use bluebird so much and I miss it.


Add support for Typst

This PR adds support for Typst, a markup-based typesetting system. Typst files have the extension .typ.

please search for duplicates

Whoops, apologies


Populate HATEOAS link's types field based on the resource return type

Description:

$Subject

Describe your problem(s)
According to the current implementation, the types field in a static HATEOAS link is populated using the mediaType specified in the @http:Payload annotation.
See the following example :
import ballerina/http;

service /restbucks on new http:Listener(9090) {

    @http:ResourceConfig {
        name: "order",
        linkedTo: [
            {name: "orders", relation: "update"},
            {name: "payment", relation: "payment"}
        ]
    }
    resource function post 'order(@http:Payload json 'order) returns json {
        return {id: "001", 'order: 'order, cost: 49.30};
    }

    @http:ResourceConfig {
        name: "orders",
        linkedTo: [
            {name: "orders", relation: "update"},
            {name: "payment", relation: "payment"}
        ]
    }
    resource function put orders/[string id](@http:Payload json 'order) returns 'order {
        return 'order;
    }

    @http:ResourceConfig {
        name: "payment"
    }
    resource function put payment/[string id](@http:Payload json payment)
           returns @http:Payload{mediaType: "application/restbucks.payment+json"} http:Accepted {
        return http:ACCEPTED;
    }
}

Request :
curl http://localhost:9090/restbucks/order -d '{"name":"latte", "quantity":2}'
-H "Content-Type: application/json" -X POST

Current output :
{
   "id":"001",
   "order":{"name":"latte", "quantity":2},
   "cost":49.3,
   "_links":{
      "update":{
         "rel":"update",
         "href":"/restBucks/orders/{id}",
         "methods":["PUT"]
      },
      "payment":{
         "rel":"payment",
         "href":"/restBucks/payment/{id}",
         "types":["application/restbucks.payment+json"],
         "methods":["PUT"]
      }
   }
}

Expected output :
{
   "id":"001",
   "order":{"name":"latte", "quantity":2},
   "cost":49.3,
   "_links":{
      "update":{
         "rel":"update",
         "href":"/restBucks/orders/{id}",
         "types":["application/json"],
         "methods":["PUT"]
      },
      "payment":{
         "rel":"payment",
         "href":"/restBucks/payment/{id}",
         "types":["application/restbucks.payment+json"],
         "methods":["PUT"]
      }
   }
}

Describe your solution(s)
So in order to get the types the user need to explicitly add this annotation to the resource method which is not necessary since the return media-type can be resolved using the return type of the resource function.

Basic Return Type
Content Type

()
-

Response
-

error
-

string
text/plain

xml
application/xml

byte[]
application/octet-stream

other
application/json

When a resource returns a union of the above basic types then the types field will be populated with an array of content-types which are of the members of the union.
For example :
public type ReturnType string|xml|map<string>;

service /hateoas on new http:Listener(9091) {

    @http:ResourceConfig {
        linkedTo: [
            {name:"link1", relation: "link1"},
            {name:"link2", relation: "link2"},
            {name:"link3", relation: "link3"},
            {name:"link4", relation: "link4"},
            {name:"link5", relation: "link5"},
            {name:"link6", relation: "link6"},
            {name:"link7", relation: "link7"},
            {name:"link8", relation: "link8"},
            {name:"link9", relation: "link9"}
        ]
    }
    resource function get links() returns http:Ok {
        return {body: {message: "Links returned"}};
    }

    @http:ResourceConfig {
        name: "link1"
    }
    resource function get link1() returns string {
        return "Hello, from resource link1";
    }

    @http:ResourceConfig {
        name: "link2"
    }
    resource function get link2() returns xml {
        return xml`<message>Hello, from resource link2</message>`;
    }

    @http:ResourceConfig {
        name: "link3"
    }
    resource function get link3() returns byte[] {
        return "Hello, from resource link3".toBytes();
    }

    @http:ResourceConfig {
        name: "link4"
    }
    resource function get link4() returns @http:Payload{mediaType: "application/json"} http:Response {
        http:Response res = new;
        res.setTextPayload("Hello, from resource link4");
        return res;
    }

    @http:ResourceConfig {
        name: "link5"
    }
    resource function get link5() returns http:Ok {
        return {body: "Hello, from resource lin5"};
    }

    @http:ResourceConfig {
        name: "link6"
    }
    resource function get lin6() returns string|xml {
        return "Hello, from resource link6";
    }

    @http:ResourceConfig {
        name: "link7"
    }
    resource function get link7() returns ReturnType {
        return "Hello, from resource link7";
    }

    @http:ResourceConfig {
        name: "link8"
    }
    resource function get link8() returns http:Response|error? {
        return;
    }

    @http:ResourceConfig {
        name: "link9"
    }
    resource function get link9() returns @http:Payload{mediaType: "application/json"} string|xml {
        return xml`<message>Hello, from resource link9</message>`;
    }
}

cURL request : curl http://localhost:9091/hateoas/links
Response payload :
{
    "message": "Links returned",
    "_links": {
        "link1": {
            "href": "/hateoas/link1",
            "types": [ "text/plain" ],
            "methods": [ "GET" ]
        },
        "link2": {
            "href": "/hateoas/link2",
            "types": [ "application/xml" ],
            "methods": [ "GET" ]
        },
        "link3": {
            "href": "/hateoas/link3",
            "types": [ "application/octet-stream" ],
            "methods": [ "GET" ]
        },
        "link4": {
            "href": "/hateoas/link4",
            "types": [ "application/json" ],
            "methods": [ "GET" ]
        },
        "link5": {
            "href": "/hateoas/link5",
            "types": [ "application/json" ],
            "methods": [ "GET" ]
        },
        "link6": {
            "href": "/hateoas/lin6",
            "types": [
                "application/xml",
                "text/plain"
            ],
            "methods": [ "GET" ]
        },
        "link7": {
            "href": "/hateoas/link7",
            "types": [
                "application/xml",
                "application/json",
                "text/plain"
            ],
            "methods": [ "GET" ]
        },
        "link8": {
            "href": "/hateoas/link8",
            "methods": [ "GET" ]
        },
        "link9": {
            "href": "/hateoas/link9",
            "types": [ "application/json" ],
            "methods": [ "GET" ]
        }
    }
}

types for basic returned types :
Basic Return Type	Content Type
()	-
Response	-
error	-
string	text/plain
xml	application/xml
byte[]	application/octet-stream
other	application/json
When a resource returns a union of the above basic types then the types field will be populated with an array of content-types which are of the members of the union.
If the Payload annotation is used to overwrite the mediaType then the types field will be only populated with the configured value.
For example :
public type ReturnType string|xml|map<string>;

service /hateoas on new http:Listener(9091) {

    @http:ResourceConfig {
        linkedTo: [
            {name:"link1", relation: "link1"},
            {name:"link2", relation: "link2"},
            {name:"link3", relation: "link3"},
            {name:"link4", relation: "link4"},
            {name:"link5", relation: "link5"},
            {name:"link6", relation: "link6"},
            {name:"link7", relation: "link7"},
            {name:"link8", relation: "link8"},
            {name:"link9", relation: "link9"}
        ]
    }
    resource function get links() returns http:Ok {
        return {body: {message: "Links returned"}};
    }

    @http:ResourceConfig {
        name: "link1"
    }
    resource function get link1() returns string {
        return "Hello, from resource link1";
    }

    @http:ResourceConfig {
        name: "link2"
    }
    resource function get link2() returns xml {
        return xml`<message>Hello, from resource link2</message>`;
    }

    @http:ResourceConfig {
        name: "link3"
    }
    resource function get link3() returns byte[] {
        return "Hello, from resource link3".toBytes();
    }

    @http:ResourceConfig {
        name: "link4"
    }
    resource function get link4() returns @http:Payload{mediaType: "application/json"} http:Response {
        http:Response res = new;
        res.setTextPayload("Hello, from resource link4");
        return res;
    }

    @http:ResourceConfig {
        name: "link5"
    }
    resource function get link5() returns http:Ok {
        return {body: "Hello, from resource lin5"};
    }

    @http:ResourceConfig {
        name: "link6"
    }
    resource function get lin6() returns string|xml {
        return "Hello, from resource link6";
    }

    @http:ResourceConfig {
        name: "link7"
    }
    resource function get link7() returns ReturnType {
        return "Hello, from resource link7";
    }

    @http:ResourceConfig {
        name: "link8"
    }
    resource function get link8() returns http:Response|error? {
        return;
    }

    @http:ResourceConfig {
        name: "link9"
    }
    resource function get link9() returns @http:Payload{mediaType: "application/json"} string|xml {
        return xml`<message>Hello, from resource link9</message>`;
    }
}

cURL request : curl http://localhost:9091/hateoas/links
Response payload :
{
    "message": "Links returned",
    "_links": {
        "link1": {
            "href": "/hateoas/link1",
            "types": [ "text/plain" ],
            "methods": [ "GET" ]
        },
        "link2": {
            "href": "/hateoas/link2",
            "types": [ "application/xml" ],
            "methods": [ "GET" ]
        },
        "link3": {
            "href": "/hateoas/link3",
            "types": [ "application/octet-stream" ],
            "methods": [ "GET" ]
        },
        "link4": {
            "href": "/hateoas/link4",
            "types": [ "application/json" ],
            "methods": [ "GET" ]
        },
        "link5": {
            "href": "/hateoas/link5",
            "types": [ "application/json" ],
            "methods": [ "GET" ]
        },
        "link6": {
            "href": "/hateoas/lin6",
            "types": [
                "application/xml",
                "text/plain"
            ],
            "methods": [ "GET" ]
        },
        "link7": {
            "href": "/hateoas/link7",
            "types": [
                "application/xml",
                "application/json",
                "text/plain"
            ],
            "methods": [ "GET" ]
        },
        "link8": {
            "href": "/hateoas/link8",
            "methods": [ "GET" ]
        },
        "link9": {
            "href": "/hateoas/link9",
            "types": [ "application/json" ],
            "methods": [ "GET" ]
        }
    }
}

Some of the return types does not directly map to the correct media type. For example, Link 5, Link 8.. etc. I think its better to not to mention types field unless it is 100% accurate.
In Link5, if user had mentioned a content type, it is not reflected in the links right. In such cases we can skip the types field

Some of the return types does not directly map to the correct media type. For example, Link 5, Link 8.. etc. I think its better to not to mention types field unless it is 100% accurate. In Link5, if user had mentioned a content type, it is not reflected in the links right. In such cases we can skip the types field

+1
will fix this by handling the StatusCodeResponses separately from records. And will add the types only when the media-type is resolvable from the body type

The types field will be populated from the following ways :

Payload annotation on return type will get the highest priority. And if the user specified the return media-type(s) then those will be directly used to populate types filed. In this case, return type of the resource will not be considered.

// `types` of this link resource will be `[application/json]`
resource function get link1() returns @http:Payload{mediaType: "application/json"}  Result {
    ...
}

// `types` of this link resource will be `[application/json, application/json+id]`
resource function get link2() returns @http:Payload{mediaType: ["application/json", "application/json+id"]}  Result {
    ...
}

If the resource returns the response using the caller and respond type is specified in CallerInfo annotation that type will be used as the return type and the returned media-type(s) will be resolved base on that type (See point 3)

// `types` of this link resource will be `[text/plain]`
resource function get link(@http:CallerInfo{respondType: string} http:Caller caller) returns error? {
    ...
}

The returned media-types will be resolved from the resource return type as shown in the following table :

Return Type
Media Type

()
-

Response
-

error
-

anydata
-

string
text/plain

xml
application/xml

byte[]
application/octet-stream

other basic types
application/json

StatusCodeResponse
resolved from the body type

Union types
list of all the media-types resolved from each member types


feat: exposing delete files in task

I want to support mor based on iceberg-rust,
And based on some of the comments in this pr, I exposed sequence_number and equality_ids.
And removes the restriction on data in manifest_list.

@xxhZs Thanks for working on this, and I agree with @liurenjie1024 that this is a partial PR. I hope you don't mind closing this one in favor of https://github.com/apache/iceberg-rust/pull/652


DEQ - UIC Database Sync

Benefit

Process and functionality to enable data synchronization from app to UIC database
Deal with any bugs/issues that arise during testing of the features/tasks that are part of Acceptance Criteria.
Advance the app towards a production ready-state.

Acceptance Criteria

[x] https://github.com/uic-utah/uic-inventory/issues/284
[ ] https://github.com/uic-utah/uic-inventory/issues/260
[x] https://github.com/uic-utah/uic-inventory/issues/76
[ ] https://github.com/uic-utah/uic-inventory/issues/54
[x] https://github.com/uic-utah/uic-inventory/issues/275
[ ] Build API to communicate between app and UIC database?
[ ] Other yet-to-be determined tasks

Notes
No response
Risks
Own:

Attribute rules
UIC database version
To-be-determined sync method and needs (e.g. API to communicate b/t app and database?)

Issue Reference
refs #306

Sprint 2

https://github.com/uic-utah/uic-inventory/issues/260

blocked until further investigation and planning can be done. The goal is to get the UIC app into production without this feature.


https proxy connections miss system certificates

Connections to https proxies with custom certificates currently fail.

Verification:

Clone https://github.com/microsoft/vscode-proxy-agent/ locally.
Follow https://github.com/microsoft/vscode-proxy-agent/blob/main/.devcontainer/https-proxy-test/README.md


Added some quotes for #710

Nice–I like the first two, but not the third one (we already got too much Torvalds in there, plus I think one person can do something really well, too). Can you update to just include the first two? Thanks!

Sure, I'll.

You may check it again @nwinter.


UI for sending events

Description

As a developer using kyma to react to events I like to be able to send events directly from busola to the configured eventing backend.
Details

Whenever a user has to configure a subscription, or needs to invoke a workflow that is triggered using a subscription (s)he needs to send an event. Currently this involves

either exposing the publishing proxy using an API-Rule (can be done from within busola), or portforwarding the publishing proxy (can not be done using busola)
sending an event using curl or other tools (eg postman, cloudevents-conformance)

This might be good DX in case the developer mainly uses the console to work, but if the developer uses busola to configure and debug a workflow, this breaks the experience.
To solve this a UI that allows sending a proper cloudevent directly to EPP from busola would be useful.
Features for that UI:

allow specifying all required cloudevents attributes. Values should be suggested by checking existing subscriptions in the cluster.
allow specifying the event payload along with its datacontenttype
allow specifying additional attributes (cloudevents extensions)
send the configured event
bonus: copy a working curl command that would send that exact event
even more bonus: allow specifying an entire preconfigured event using the url, so that it can be used in documentation and tutorials
display the resulting HTTP response code plus its error message

Attachments

this is out of scope for now. We recommend building custom apps with custom UI for this.
We will introduce https://github.com/kyma-project/busola/issues/2252 so that you are able to link to your app in the context of Busola


Add new --publish option

This adds a new --publish option. It does the same as --format message:URL, but it is simpler for users to use correctly.
The URL where the user can access the published report is printed to STDOUT.

Thanks for your review @luke-hill. We just merged the branch so we integrated your review on master in 7c787ff1.


Bower install : Angular version problem

Using angular 1.4.7, when I try to install date-picker through bower, I get

bower angular-datepicker#*      cached git://github.com/g00fy-/angular-datepicker.git#2.0.0
bower angular-datepicker#*    validate 2.0.0 against git://github.com/g00fy-/angular-datepicker.git#*
bower angular#1.2.14            cached git://github.com/angular/bower-angular.git#1.2.14
bower angular#1.2.14          validate 1.2.14 against git://github.com/angular/bower-angular.git#1.2.14
bower angular#>=1.3.0           cached git://github.com/angular/bower-angular.git#1.4.7
bower angular#>=1.3.0         validate 1.4.7 against git://github.com/angular/bower-angular.git#>=1.3.0
bower angular#^1.4.7 <2         cached git://github.com/angular/bower-angular.git#1.4.7
bower angular#^1.4.7 <2       validate 1.4.7 against git://github.com/angular/bower-angular.git#^1.4.7 <2
bower angular#1.4.7             cached git://github.com/angular/bower-angular.git#1.4.7
bower angular#1.4.7           validate 1.4.7 against git://github.com/angular/bower-angular.git#1.4.7
bower angular#>=1.2.16 1.4.x    cached git://github.com/angular/bower-angular.git#1.4.7
bower angular#>=1.2.16 1.4.x  validate 1.4.7 against git://github.com/angular/bower-angular.git#>=1.2.16 1.4.x
bower angular#>=1.2.18          cached git://github.com/angular/bower-angular.git#1.4.7
bower angular#>=1.2.18        validate 1.4.7 against git://github.com/angular/bower-angular.git#>=1.2.18
bower                        ECONFLICT Unable to find suitable version for angular

In the bower.json, the dependencies are

"dependencies": {
"angular": "1.2.14",
"moment": "~2.10.6",
"moment-timezone": "~0.4.1"
},

Shouldn't it be "angular": ">=1.2.14" since it is supposed to work with angular 1.2+ ?

I think the angular version needs to be at least 1.3, as the library is using some features of angular which were added in 1.3

$validators are used here and here.

I cannot find any official documentation that explicitly states what version of angular the $validators pipeline was added, but many blog posts mention that it is new in 1.3.
The docs for 1.2 make no mention of $validators.
The docs for 1.3 have information on $validators.

$watchGroup is used in this PR in the date-range directive. Again, this is a feature of angularjs 1.3+

The docs for 1.2 makes no mention of $watchGroup.
The docs for 1.3 have information on $watchGroup.

If support for angular 1.2 is required, $validators and $watchGroup cannot be used, and must be replaced with something else.

Yes, but I use Angular 1.4.7, so there should not be compatibility issues with date-picker which requires 1.2+ no ? (the bower.json that I mentionned is the one of date-picker, sorry if I was not clear enough)

I have the same issue. Current bower.json has strict dependency on angular 1.2.14 and this does not work with 1.4.7.

same issue

also the same issue

+1

+1

+1

+1

I'm a little mad that this hasnt been fixed since it's so easy to there are probably a dozen pull requests for it.
Here's the simple fix for your environment:
add the following to your bower.json
"resolutions": {
"angular": "~1.4.7"   <-- or whatever version of angular you are using
}
this will force bower to select the version of angular you want instead of being stuck with the 1.2 version the library uses.